{"version":3,"file":"static/chunks/pages/_app-91e238bce3cc7533.js","mappings":"+EAAA,OACA,8BACA,MACA,KACA,CACA,sCACA,MACA,KACA,KACA,CACA,yBACA,MACA,KACA,CACA,yBACA,MACA,KACA,CACA,sBACA,MACA,KACA,KACA,CACA,uBACA,MACA,IACA,CACA,iCACA,MACA,KACA,CACA,iCACA,MACA,KACA,KACA,IACA,CACA,8BACA,MACA,KACA,CACA,uBACA,MACA,KACA,CACA,uBACA,MACA,KACA,CACA,wBACA,MACA,KACA,CACA,2BACA,MACA,KACA,KACA,KACA,CACA,yCACA,MACA,KACA,CACA,qBACA,KACA,KACA,CACA,8BACA,MACA,KACA,CACA,0BACA,MACA,KACA,CACA,gBACA,MACA,KACA,KACA,CACA,qBACA,MACA,KACA,CACA,sBACA,MACA,KACA,CACA,oBACA,MACA,KACA,CACA,iBACA,MACA,KACA,CACA,qCACA,MACA,KACA,IACA,CACA,kBACA,MACA,KACA,KACA,CACA,+BACA,MACA,IACA,IACA,KACA,CACA,uCACA,MACA,KACA,CACA,oBACA,KACA,KACA,CACA,yBACA,MACA,CACA,wBACA,MACA,KACA,KACA,CACA,gBACA,MACA,KACA,CACA,mCACA,MACA,KACA,EAEA,cACA,aACA,mCACA,yCAEA,OADA,0BACA,CACA,CAAG,EAGH,kBACA,iDACA,KAEA,CACA,0BACA,WACA,6BCzJA,OACA,qBACA,KACA,KACA,CACA,6BACA,MACA,KACA,CACA,yBACA,MACA,IACA,CACA,yBACA,MACA,KACA,CACA,sBACA,MACA,KACA,KACA,CACA,iCACA,MACA,KACA,CACA,iCACA,MACA,KACA,KACA,KACA,CACA,8BACA,MACA,KACA,CACA,uBACA,MACA,KACA,CACA,uBACA,MACA,KACA,CACA,wBACA,MACA,KACA,CACA,2BACA,MACA,KACA,KACA,KACA,CACA,gCACA,MACA,IACA,CACA,yCACA,MACA,KACA,CACA,kCACA,MACA,KACA,CACA,6BACA,MACA,KACA,CACA,qBACA,KACA,KACA,CACA,0BACA,MACA,KACA,CACA,yBACA,MACA,KACA,CACA,8BACA,MACA,KACA,CACA,oBACA,MACA,KACA,CACA,0BACA,MACA,KACA,CACA,sBACA,MACA,KACA,CACA,gBACA,MACA,KACA,KACA,CACA,qBACA,MACA,IACA,CACA,0BACA,MACA,EACA,CACA,yBACA,MACA,KACA,CACA,0BACA,MACA,KACA,CACA,0BACA,MACA,KACA,CACA,sBACA,MACA,KACA,CACA,2BACA,KACA,KACA,CACA,iBACA,MACA,KACA,CACA,qCACA,MACA,KACA,KACA,CACA,2BACA,MACA,CACA,6BACA,KACA,CACA,oCACA,MACA,CACA,6BACA,MACA,CACA,iBACA,MACA,KACA,CACA,kBACA,MACA,KACA,KACA,CACA,sBACA,MACA,KACA,CACA,0BACA,MACA,KACA,CACA,0BACA,MACA,KACA,CACA,mCACA,MACA,KACA,CACA,oBACA,MACA,KACA,CACA,mBACA,MACA,KACA,CACA,4BACA,MACA,KACA,CACA,wBACA,MACA,KACA,KACA,CACA,gBACA,MACA,KACA,CACA,gBACA,MACA,KACA,CACA,8BACA,MACA,KACA,CACA,uCACA,KACA,KACA,CACA,mCACA,MACA,KACA,CACA,iBACA,MACA,KACA,IACA,EAEA,cACA,aACA,mCACA,yCAEA,OADA,0BACA,CACA,CAAG,EAGH,kBACA,iDACA,KAEA,CACA,0BACA,WACA,mCC5OA,eAAe,EAAiD,WAAuK,CAAnJ,CAAoJ,YAAY,IAAI,+BAA+B,SAAS,UAAU,mBAAwB,OAAO,gBAAgB,YAAY,IAAI,+BAA+B,SAAS,eAAU,qBAA0B,iBAAqV,EAAxU,OAAO,UAAU,+DAA+D,uBAAuB,EAAE,0DAA0D,4FAA4F,eAAe,wCAAwC,SAAS,GAAG,MAAM,EAAM,YAAc,mCAAmC,CAAE,SAAQ,cAAc,qBAAqB,sBAAsB,gBAAgB,SAAS,WAAW,gBAAgB,6CAA8C,kBAAkB,EAAG,aAAa,eAAe,oBAAoB,6CAA8C,sBAAsB,EAAG,OAAO,gBAAgB,cAAc,uBAAuB,WAAW,oBAAoB,kBAAkB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CAAG,EAEH,gBACA,sBAEA,qBACA,2DAGA,UAEA,0BAKA,KAJA,2BACA,iCACA,GAGA,sBAEA,CAAK,EAEL,QACA,CAEA,kBACA,0CAKA,OAFA,KAEA,CACA,CAEA,0CChLA,MAAY,EAAQ,KAAU,EAC9B,EAAiB,EAAQ,KAAc,CADpB,CAEnB,EAAe,EAAQ,KAAc,CADb,CAGxB,wBACA,wDACA,iCACA,yBACA,oCACA,IAGA,sCACA,CACA,CAAG,IACH,gCCfA,MAAc,gBAA8B,EAC3B,EAAQ,KAAoB,EAE7C,KAGA,KALwB,KAKxB,uEACA,iBACA,yCACA,CACA,CAAC,EAED,SA6CA,kBACA,sBACA,gEAIA,IAFA,qBACA,WACA,SACA,WACA,OACA,MACA,WACA,uBACA,UACA,8DAEA,QACA,CACA,UACA,iDAEA,CACA,CAzDA,+BACA,gBACA,kEACA,CAGA,uBACA,UACA,YACA,yCACA,kBAeA,OAXA,WACA,QAEA,aACA,EACA,EACA,8EAKA,YACA,CACA,EAgCA,WACA,gBACA,YACA,0BCnFA,iDCAA,MAA2B,EAAQ,KAAuC,EAE1E,8FCFA,WACA,aACA,SACA,gBAAqB,EAAQ,KAA2B,EACxD,SAAc,CADc,CACN,KAAoB,EAC1C,SACA,CAAG,CACH,qFCPA,kBAAmC,+BCAnC,MAAW,EAAQ,KAAgB,EAInC,UAJkB,QAIlB,UAGA,cAEA,mBACA,gBACA,+CACA,CACA,CAAC,sBAED,cAEA,OADA,kBACA,YACA,eACA,CACA,CAQA,cACA,uBACA,CAQA,cACA,iBACA,CAQA,cACA,iEACA,oEACA,CASA,uBASA,cAOA,MALA,oDACA,sBAEA,wBAGA,CAQA,cACA,wBACA,CAQA,cACA,wBACA,CAQA,cACA,mCACA,CAQA,cACA,mBACA,SAGA,+BACA,sCASA,cACA,iFAUA,gBASA,YASA,YASA,gBAQA,cACA,qCACA,CAQA,cACA,sBACA,CAQA,cACA,0BACA,UACA,qDACA,eACA,gCAEA,CAQA,2BAQA,cACA,yEACA,CAiBA,aACA,YACA,gCACA,uCACA,oBACA,WAKA,wDACA,CAcA,gBAEA,YAUA,GALA,oBAEA,QAGA,KAEA,uBAAoC,IAAO,IAC3C,2BAIA,eACA,2CACA,sBAIA,CAmBA,aACA,SACA,gBACA,cACA,eACM,KACN,SAA4B,IACtB,KACN,eAEA,MAEA,CAEA,+BAAwC,IAAO,IAC/C,kBAEA,QACA,CAUA,kBAQA,OAPA,kBACA,wBACA,YAEA,MAEA,CAAG,EACH,CACA,CAQA,cAIA,OAHA,yBACA,eAEA,CACA,CAUA,oBACA,yCACA,0BACA,+BACA,CAWA,oBAIA,IAHA,EACA,EACA,EACA,KAIA,GAFA,QAEA,iBAEA,GAGA,IADA,GADA,iCACA,OACA,QACA,OACA,wBACA,UACA,SAGA,kCACA,EAAI,4CAEJ,QACA,CASA,kBACA,YACA,0BACA,aAEA,YACA,qBACA,oBACA,CAQA,cACA,kBACA,iBACA,eACA,qBAEA,IADA,eACA,QACA,UAEA,QACA,CAGA,kBAEA,mBACA,wBACA,CACA,CAAC,oEAED,gBAOA,IAJA,IAEA,EAFA,GAFA,uBAEA,QAIA,wBACA,cACA,mBACA,CACA,CAEA,gBAIA,IAFA,IADA,EACA,KAEA,sBACA,UAGA,QACA,CAEA,2BAEA,cACA,qBACA,kBACA,CACA,CAAC,iCAED,YACA,UACA,gBACA,WACA,aACA,oBACA,WACA,WACA,WACA,gBACA,gBACA,cACA,SACA,SACA,SACA,aACA,WACA,oBACA,uBACA,UACA,QACA,SACA,OACA,WACA,WACA,eACA,SACA,aACA,WACA,UACA,eACA,aACA,eACA,WACA,aACA,gBACA,YCxgBA,yFCCA,YAAkB,GAClB,aAAmB,GACnB,eAAqB,GAOrB,QALA,KACA,KACA,kDAEA,qEACA,eAAmC,IAAS,IAC5C,UACA,qBAQA,cACA,eAEA,SACA,8DAKA,oBACA,eAEA,YACA,EACA,MAEA,WACA,CAGA,cACA,WACA,OACA,OACA,iBACA,CAEA,kBACA,iBACA,CAEA,cAEA,IADA,EAcA,EAbA,OACA,OACA,OAEA,kBAEA,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,CAEA,cACA,mBACA,YACA,WACA,QAGA,kBAGA,QADA,KACA,IAAsB,IAAS,KAK/B,SAHA,oBACA,kBACA,eAGA,iBACA,CAEA,cAQA,QAPA,EACA,WACA,MACA,KACA,QAGA,UAA2C,IAAU,KACrD,2BAqBA,OAjBA,MAEA,OACA,EAFA,YAEA,GACA,WACA,MAEI,OAEJ,OACA,GAFA,uBAEA,IACA,WACA,WACA,KAIA,UACA,CAnIA,wBACA,qDCTA,MAAa,EAAQ,IAAW,EAChC,EAAc,EAAQ,KAAS,EAC/B,EACA,QAFqB,IAErB,6CACA,yCACA,KAEA,QAAc,GACd,YAAkB,GAClB,mBAAyB,IAEzB,iBA2BA,aAEA,IACA,wBACA,GAAkB,eAAmB,YAGrC,OAFA,8CACA,2BACA,YACA,CAAI,SACJ,QACA,CACA,CAkBA,cACA,OACA,mEAGA,wBAEA,OADA,qCACA,CACA,CAYA,kBAEA,uBACA,sBACA,gBACA,sEAGA,WACA,CACA,eACA,CAIA,kBACA,sBACA,cAGA,yBACA,YAGA,WACA,gBACA,kHACA,UAIA,qBACA,4BAIA,uCACA,yBACA,kCALA,gBASA,sBACA,gBACA,yEAIA,6BACA,kBACA,qBAGA,WACA,cAEA,yDACA,yCACA,cACA,oCAIA,iBACA,kHACA,SAEA,CAmBA,cACA,sBACA,0DACI,OACJ,kEAEA,CAEA,wBAEA,CADA,KACA,MACA,KAEA,WAIA,mBACA,eACA,aAEA,IACA,CAUA,cAEA,OADA,KACA,eACA,CAeA,gBAKA,GAJA,8BACA,WAGA,iBACA,wCAGA,eACA,OAEA,eASA,OAPA,OAIA,iBAGA,CACA,CAEA,cAGA,QAFA,6BACA,OACA,IAAkB,IAAY,KAC9B,cAEA,QACA,CAEA,cACA,oBACA,wBACA,4CACA,CACA,WACA,CAEA,sBASA,EARA,uBACA,yDAGA,yBACA,yDAeA,OAFA,sBARA,EADA,uBACA,kBACI,WACJ,oBAEA,sBAIA,aAEA,CACA,CAEA,cACA,kBACA,oBACA,cAEA,cAIA,gBAHA,CAKA,QAEA,kBACA,uCACA,KAEA,KAGA,yCACA,gBAEA,CAEA,cAGA,QACA,2EACA,yBAEA,UACA,CAEA,cAIA,MAHA,OACA,MAEA,CAH2B,CAG3B,SACA,CA8FA,gBACA,iBACA,gBAEA,2CACA,oBAEA,sBACA,gBACA,2FACA,UAIA,eACA,wCACA,sBAIA,IADA,GACS,CADT,OAEA,UACA,YACA,aACA,aACA,QACA,YACA,YACA,uBACA,OACA,YACA,cACA,eACA,UACA,WACA,YACA,cACA,2BAEA,KACA,wBAEA,uBACA,IACA,CAEA,CAGA,kBACA,SAcA,GALA,mBACA,MAIA,gBAIA,6BACA,gBAGA,MAKA,UACA,UAbA,SAqBA,IAFA,gBAGA,UACA,UACA,kBAEA,YACA,YACA,kBAEA,aACA,kBAEA,cACA,aACA,kBAEA,cACA,kBAEA,YACA,YACA,cACA,eACA,kBAEA,SACA,6CACA,uBACA,IACA,CAEA,CAUA,kBACA,WACA,UACA,MACA,CA2IA,sBAEA,0BAmBA,GAhBA,oBACA,IACA,KACI,aACJ,aACI,eACJ,gBAGA,EADA,OAGA,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,CAcA,oBACA,eACA,iBACA,EAGA,cACA,GACA,MAJA,IAQA,eAEA,OACA,QAEA,YAAkB,IAAY,KAC9B,mCACA,aACA,SACA,CACA,QACA,CAEA,oBACA,+BACA,CAEA,oBACA,oBACA,CAEA,oBACA,oBACA,CAEA,oBACA,+BACA,CA8EA,yBACA,oBACA,mBAEA,6BAEA,CAEA,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,4BACA,8BACA,0BACA,MAGA,KACA,QACA,SACA,SACA,SACA,0CACA,yCACA,kBACA,KAGA,CAGA,UAGA,QACA,KACM,UAEN,SACA,0BACA,gBAGA,UACA,IACA,CAEA,WACA,CA3+BA,YAAkB,GAgBlB,0BAEA,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,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,sBAGA,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,oBAGA,GAFA,yBAEA,sCACA,2DAGA,cAGA,IADA,GACS,CADT,OAEA,UACA,UACA,oBAEA,YACA,YACA,oBAEA,aACA,aACA,aACA,oBAEA,cAEA,oBAEA,YACA,YACA,cACA,eACA,oBAEA,SACA,6CACA,uBACA,IACA,CAEA,EAEA,8BACA,OACA,cACA,kDACA,CACA,EAyFA,WAEA,cACA,eACA,QACA,2CAMA,IAFA,SACA,IACA,KACA,6BACA,OACA,iBAGA,QACA,CAEA,kBACA,SACA,uBAEA,YAAsB,IAAS,IAC/B,iCAEA,QACA,CAEA,kBACA,SACA,uBAEA,YAAsB,IAAS,IAC/B,6BAEA,QACA,CAEA,kBACA,eAEA,iBACA,sBAGA,QADA,KACA,IAAsB,IAAS,IAC/B,WAEA,QACA,CAEA,kBAIA,QAHA,eACA,KAEA,IAAkB,aAAsB,KACxC,wCAEA,QACA,CAiCA,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,CAvbA,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,kBACA,oBACA,eAEA,KAEA,CACA,EAAI,sBACJ,OACI,qBACJ,cAIA,qCACA,uCAGA,QACA,YASA,GANA,OACA,+BAEA,SAGA,mBACA,QAAoB,IAAS,IAC7B,cAEI,CACJ,oBACA,EACA,YACA,WACA,SACA,gCACA,qCAEA,QAAgB,MAAiB,IACjC,iBAIA,aAMA,0BAEA,cAMA,GAFA,IAFA,mBAEA,sBAEA,kBAEA,oBACA,OAEA,QACA,CAEA,gBACA,SAMA,QALA,EACA,WACA,OACA,KAEA,IAAkB,IAAY,KAI9B,IAHA,mBAGA,gBAEA,OAEA,YAIU,QAJV,CAEA,+BACA,QACA,CAOA,CAPU,CAOV,EAEA,QACA,CAGA,YACA,+BACA,IACA,QACA,CAGA,6BACA,EAAM,OAEN,+BAMA,GAHA,OAGA,OACA,kBACA,SACA,EAAM,eACN,kBACA,OACA,SACA,SAEA,EAAM,gBACN,kBACA,OACA,UACA,YACA,SAEA,EAAM,kBACN,kBACA,OACA,UACA,aACA,YACA,SAEA,EAAM,IACN,iCAEA,CAEA,QACA,CAEA,cAEA,QADA,KACA,IAAkB,WAAgB,IAElC,4BAEA,QACA,CAEA,gBAGA,QAFA,IACA,KACA,IAAkB,aAClB,WADkC,IAIlC,GADA,oBACA,EAEA,OADA,OAEA,UAGA,QACA,CAEA,cACA,0BACA,CAEA,oBACA,YACA,EADkB,IAClB,gCAD8B,IAE9B,YAEA,QACA,CAKA,gBACA,uBACA,wDACA,2BACA,CACA,cAEA,WACA,CAIA,iBAGA,QAFA,qBACA,aACA,IAAkB,KAAQ,IAE1B,QADA,OACA,IAAoB,KAAQ,IAC5B,iBAGA,QACA,CAAC,iCCtxDD,MAAmB,EAAQ,GAAe,EAE1C,EAAe,EAAQ,KAAI,EAE3B,CAJ0B,CAI1B,QAFsB,yBAItB,wBACA,qBACA,4CACA,KAEA,CACA,gCCZA,MAAW,EAAQ,KAAe,EAClC,EAAmB,EAAQ,GAAe,EAC1C,CAFkB,CAEM,EAAQ,KAAqB,EAErD,CAH0B,CAGT,EAAQ,IAAgB,EACzC,WADwB,uBAExB,iCACA,uCAEA,EAAsB,EAAQ,KAAoB,EAClD,UAD6B,QAG7B,sBACA,wBACA,sCAEA,uBACA,SACA,EACA,qCACA,GAEA,EAEA,iBACA,uBACA,EAEA,EACA,qBAA4C,QAAkB,EAE7D,eAAoB,yCCjCrB,aACA,iBAMA,EASA,EAOA,EApBA,gBACA,8BACA,CAGA,IACA,KACA,CAAE,SAGF,cACA,CAGA,IACA,KACA,CAAE,SACF,cACA,CAGA,IACA,SACA,CAAE,SACF,cACA,CAuBA,sBACA,qBACA,UACA,cACA,yBACA,cAIA,SACA,KAEA,OAA+B,IAAN,EASzB,IAT+B,KAS/B,OAEA,YACA,YAEA,UAKA,mBAJA,SAQA,UACA,aACM,UACN,aACM,UACN,sBACA,mBACA,WACA,CAAS,aACT,WACA,CAAS,CACT,CAAO,OACD,kBACN,UACM,mBACN,4BACA,4CACM,iBACN,6BACM,MAAsB,EAAM,YASlC,OANA,EAFU,EAAM,YAEA,EAAM,sBAGtB,IAAoB,EAAM,UAE1B,UACA,EACM,WACN,mBAEA,WAEA,gBADA,6BAIA,mBACA,KAIA,MACA,IAjDA,EACA,EAwEA,EAxBA,eAEA,SACA,YAEA,UACA,SACA,CAgBA,aAdA,QACA,wBACA,eACA,WACA,UACA,CAAO,EAEP,QACA,sBACA,eACA,QACA,CAAO,EAGP,EAEA,GACA,yCAGA,gBAGA,mBAGA,gCAEA,QADA,kCACA,IAAsB,WAAoB,KAG1C,WACA,uCACA,wBAGA,iBACA,cACA,2BACA,aACA,CAAW,EAEX,CAGA,KAEA,QADA,gCACA,IAAsB,WAA6B,KACnD,WACA,uCACA,kBAGA,iBACA,2BACA,aACA,CAAS,EACT,CAGA,QACA,CAEA,OAxIA,YACA,OAEA,YACA,QAoIA,MACA,CAoBA,cACA,wCACA,CAGA,cACA,gDACA,CAGA,cACA,iDACA,CAGA,cACA,kDACA,CAGA,cACA,SAIA,OAHA,mBACA,uBACA,sBACA,CACA,CAGA,OAxCA,6BACA,YACA,YAEA,mBAEA,OADA,cACA,KACA,EAOA,eAKA,aAKA,cAKA,eASA,qBAEA,CACA,CAAC,EAE6B,YAC9B,2CC/PA,cAAc,aAAa,+CAA+C,wDAAuD,WAAW,2CAA0C,wCAAyC,SAAgB,aAAgB,qBAAqB,mBAAmB,kDAAkD,SAAS,+BAAe,IAAI,aCQrX,MAgBA,gBAEA,SACA,IASA,cAEA,OADA,UACA,CACA,CAQA,aACA,cAGA,OAOA,qBACA,qBACA,CAAG,CAQH,uBACA,yCACA,CACA,CACA,CAgUA,MA9SA,WAEA,IAEA,UACA,oBACA,mBACA,cAEA,uBAEA,+BAEA,uBAEA,eACA,kBACA,QAAqC,KACrC,oCACA,0CACA,wEACA,2BACA,+BAEA,qEADA,WACA,MACA,mCACA,+CACA,uCACA,gDAMA,iCACA,iBACA,2FAA0I,EAC1I,iBACA,mBACA,8BAA8C,IAE9C,sBACA,iBACA,sBAA6F,GAAG,UAChG,mBAAuF,SACvF,4BACA,4BACA,gCACA,iCACA,4BACA,6BACA,2BACA,2BACA,mCACA,mCACA,sDACA,sDACA,oDAAwF,4BACxF,4DAEA,4GACA,0DACA,uDACA,qDACA,qDACA,0CACA,6BAAqD,gDACrD,6BAAoD,kDAA4F,IAAI,gBAWpJ,kBACA,QAYA,MAXA,oBAEA,KADA,oBAGA,eAEA,GADA,qBACA,gBAEA,yBAGA,GACA,CASA,cACA,iBACA,OACA,wBACA,KACA,QACA,wBACA,KACA,QACA,cACA,KACA,QACA,SAIA,kBACA,CAmBA,iBACA,MACA,2BACA,kCAA8D,UAAc,CAC5E,mCAAgE,UAAc,CAC9E,YAQA,UALA,EADA,SACA,gBAEA,MAGA,CACA,CAWA,sBACA,kBAEA,EAGA,WACA,WAGA,KACA,CASA,mBACA,cACA,CAWA,uBACA,kBACA,CAWA,uBACA,kBACA,CAEA,OAUA,wBAEA,GAF2C,CAE3C,aACA,aACA,aAqEA,OAlEA,aACA,WACA,WAIA,wBAMA,qBAEA,KACA,kBACA,mBACA,kBAEA,sBAEA,KACA,kBACA,oBACA,oBAIA,IAEA,kBACA,mBACA,iBAEA,kBACA,oBACA,mBAEA,oBACA,0BACA,sBAEA,cAEA,cACA,cACA,cACA,cAEA,cACA,cAGA,gCACA,gCAEA,aACA,aAGA,eACA,aACA,iBAKA,CACA,CACA,EAQkC,UAajC,WAAiB,iBAClB,MAYA,MAXA,mBACA,KAEA,KACA,qBACA,wBAEA,qBACA,0BAGA,gBACA,EACE,4BAIF,uCC5aA,eAAe,EAAoD,WAAmI,CAA/G,CAAgH,aAAkB,aAAa,wJAAwJ,EAAE,UAA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JyB,gBCjDzB,cAC8D,aAG9D,CAAC,cAAuB,aAExB,IACA,UACA,iBACA,WACA,iBACA,2BACA,CAAI,OACJ,CACA,SACA,OACA,SACA,CAAI,OACJ,CADc,MAEd,EACA,YACA,CAAI,qCACJ,GACA,eACA,QACA,GAEA,GACA,eACA,QACA,GAEA,GACA,mBACA,mBACA,GAEA,GACA,iBACA,kBACA,GAEA,iCACA,yBACA,0BACA,kCACA,+BACA,4BACA,8BACA,8BACA,2BACA,qCACA,2BACA,eAQA,cACA,mBACA,kDAA6F,IAAa,IAC1G,oBAEA,eACA,CACA,CAQA,cACA,kBACA,0CAA6E,IAAe,IAC5F,kBAEA,aACA,CACA,CAUA,gBACA,+DACA,GAIA,UAEA,eACA,WACA,WACA,uBACA,WACA,QAEA,MACA,SAEA,IAEA,CACA,OACA,CACA,QACA,CAQA,cACA,YAAwB,WAAsB,IAC9C,QAEA,YAGA,QACA,CAQA,cACA,cACA,oBACA,SAEA,iBACA,UACU,8CACV,UAEA,QAIA,QACA,CASA,gBACA,gBACA,aACA,MACA,SACA,gBAEA,8BACA,iBAEA,CACA,MACA,CAIA,OAHA,WACA,WACA,CAEA,CAEA,+2BAGA,gaACA,yWAMA,gRACA,6QAIA,gLACA,eAEA,2mCACA,woEACA,+lBACA,qEAGA,OAAgC,EAAE,iBAAiB,EAAE,KACrD,CAD2D,CAC3D,2BACA,QAA+B,QAAQ,KACvC,kCACA,CADwD,CACxD,oBACA,CAD4C,CAC5C,+FAEA,6BACA,mEAEA,eAGA,qBACA,eACA,gBACA,WACA,cACA,YACA,YACA,iBACA,oBACA,kBACA,eACA,eAbA,6BAcA,CAAG,EAGH,OACA,UAEA,OAMA,yBACA,UACA,UAIA,EACA,aACA,4CACA,EAUA,gBACA,yDACA,YAMA,WACA,0BACA,sBACA,sBAEA,+BACA,IACA,yBACA,cACA,EAEA,mBACA,CAEA,CAAO,CACP,CAAM,SAKN,OADA,gEACA,IACA,CACA,EACA,aACA,IAuDA,EAvDA,6DACA,UAaA,GAPA,kBAMA,aACA,kDAIA,OADA,iBACA,EAEA,IACA,WACA,CAAM,EACN,IACA,kBACA,CACA,mBACA,sBACA,OACA,UACA,aACA,iDACA,kBACA,YACA,eACA,CAAM,EACN,cACA,mBACA,gBACA,sBACA,qBACA,qBAQA,yBACA,iCACA,qCACA,2BAEA,CAEA,UACA,CACA,kBACA,sBACA,0BACA,wBACA,CAAM,EACN,CACA,cACA,CAAM,EACN,KAKA,+FACA,IACA,iBACA,YACA,eACA,aACA,aACA,qBACA,mBACA,kBACA,CAAM,EACN,CACA,kBACA,CAAM,EAQN,QACA,OAA4C,6BAG5C,QACA,OAA4C,wBAQ5C,uBACA,cACA,YACA,gBACA,cACA,UACA,CAAO,CACP,oBACA,YACA,gBACA,cACA,UACA,CAAO,CACP,gCACA,YACA,gBACA,cACA,QACA,CACA,CAAK,GAGL,QAGA,QAGA,MAGA,MAGA,MAIA,MAKA,MAKA,MAGA,MAGA,MAIA,MAMA,MAIA,MAIA,MAKA,MAeA,MACA,mBAGA,MAIA,MAGA,MAGA,QACA,OAA+C,8NAG/C,QACA,OAA6C,mDAG7C,QACA,OAAmD,qHACnD,wCACA,gCACA,kCAEA,MACA,MAGA,QACA,OAAkD,eAGlD,QACA,yCACA,eACA,QAGA,QAKA,2BACA,eACA,iDACA,EAQA,cACA,gEACA,gBAyIA,GApIA,uBACA,OAIA,OAMA,6BALA,IAEA,6DAGA,IAGA,2BAA4E,uBAC5E,2BAA4E,uBAC5E,iCAAwF,4BACxF,oCAEA,oBAEA,IAEA,GACA,oCAEA,oBAEA,IAEA,GACA,8BAAkF,0BAClF,0BAA0E,sBAC1E,0BAA0E,sBAC1E,yCACA,0BACA,0BACA,iCACA,IADsE,IACtE,GAAyE,uBAAzE,CACA,4BACA,KAD4D,GAC5D,GAAiD,WAAjD,CACA,wBACA,KADoD,UACpD,KACA,KAD4C,mBAC5C,KACA,KAD8D,mBAC9D,KACA,KAD8D,UAC9D,KACA,KAD4C,GAC5C,GAAiD,WAAjD,CACA,8BACA,KADgE,GAChE,eACA,kBACA,IADwC,CACxC,sBACA,mBACA,iCACA,uEACA,yDAEA,6EACA,qEAEA,uGACA,6FAEA,IACA,QAEA,IACA,QAIA,KACA,OAAkC,IAClC,MACA,eACA,QACA,SAEA,cACA,QACA,QACA,SAEA,qBACA,QACA,QACA,SAEA,iBACA,QACA,QACA,UAKA,aACA,SACA,WAEA,qBAEA,aACA,SACA,WAEA,qBAEA,qBACA,6BAEA,oBACA,SACA,WAEA,4BAIA,IACA,iBAIA,IACA,6BAIA,WACA,gBACA,iBAEA,wBACA,wDACA,uFAEA,6DACA,4FAOA,GAHA,2BAGA,cACA,EAAQ,IAER,YACA,WAIA,+BACA,sBAMA,GACA,KAEA,KACA,EACA,OAAsD,gCACtD,OAA+C,qBAM/C,OAAoD,wCAKpD,OAAoC,mBACpC,OAAuC,cAQvC,eACA,YAIA,cACA,IACA,gBACA,kBACA,GAEA,mBACA,qBACA,uBAGA,oBAIA,oBACA,UAMA,oBACA,yCAKA,QAEA,oBAIA,oBACA,WAKA,oBACA,kBAKA,QAEA,oBAIA,gCAGA,gCAMA,wBAIA,mDASA,EAOA,eACA,aACA,SACA,CAAO,EACP,IAEA,oBACA,CAAQ,SACR,IACA,CACA,EAQA,iBACA,IACA,aACA,gCACA,MACA,CAAS,CACT,CAAQ,SACR,aACA,eACA,MACA,CAAS,CACT,CAIA,GAHA,qBAGA,kBACA,UACA,IACA,KACA,CAAY,eAEZ,IACA,oBACA,CAAY,WAGZ,EAQA,eAEA,WACA,OACA,MACA,4BACQ,CAER,yBACA,SACA,CACA,uCAEA,wFAEA,0BAKA,WACA,IACA,+BACA,CAAU,UAIV,2BACA,wCACA,IACA,mCACA,CAAU,SAEV,CACA,CACA,sCAMA,CALA,MACA,0DAIA,SACA,+BAEA,sBACA,EAQA,eACA,oCAEA,kGACA,EAQA,eACA,qUACA,EAQA,eACA,0CACA,EAUA,mBACA,OAGA,YACA,gBACA,CAAO,CACP,EAYA,eACA,WAMA,GAHA,oCAGA,MAEA,OADA,MACA,GAIA,qBASA,GANA,4BACA,UACA,cACA,CAAO,EAGP,mGAMA,uCAMA,gDAVA,OADA,MACA,GAgBA,kBAEA,mBACA,yDAGA,yDAFA,SAQA,eACA,0BACA,sBACA,SACA,eACA,cAAyC,KAAQ,KACjD,gBACA,0CACA,uBACA,CACA,CACA,CAEA,OADA,MACA,EACA,QAGA,wBAMA,+FALA,MACA,KAUA,0BAEA,gBACA,iBACA,YACA,CAAS,EACT,oBACA,aACA,qBACA,CAAW,EACX,kBAKA,mCACA,GACA,EAWA,mBAEA,iDACA,SAOA,6BAAsF,qBAA6D,iBACnJ,KAIA,wQAGA,iKACA,GADuT,GACvT,EACA,MAEQ,YAAwC,0BAAoF,0FAAoK,+BAAiH,QACzZ,SAEA,QACA,EAUA,eACA,mCACA,EAYA,eAEA,sCACA,IACA,aACA,CAAQ,EAGR,MACA,OAEA,OACA,YACA,aACA,YACA,oBACA,EACA,WAGA,WAEA,IACA,OACA,eACA,QACA,CAAU,CALV,IAMA,QACA,qBAWA,GARA,aACA,cACA,cACA,uBACA,SAD6C,kBAC7C,KACA,cAGA,kBAKA,QAGA,aAPA,SAYA,qBACA,QACA,QACA,CAGA,IACA,iBACA,YACA,CAAW,EAIX,qBACA,cAgBA,GATA,6BAEA,QAGA,QAIA,0CACA,QACA,QACA,CAGA,iEACA,WACA,QAD8B,CAC9B,uBACA,kBAEA,kBACA,KAEA,wBAEA,sBAGA,EAKA,IACA,EACA,wBAGA,oBAEA,MACA,MAEA,YAEA,CAAU,WACV,CAGA,oCACA,EAOA,iBACA,WACA,QAIA,IADA,qCACA,gBAEA,oCAGA,QAKA,wBACA,aAIA,OAIA,mCACA,EA0PA,OAhPA,uBACA,gEACA,OACA,OACA,OACA,OAUA,GANA,SAEA,kBAIA,4BACA,iCAEA,oBADA,iBAEA,0CACA,MAEA,sCAKA,kBACA,SAeA,GAXA,IACA,MAIA,aAGA,oBACA,QAEA,GAEA,gBACA,qBACA,iBACA,kEAEA,OACQ,kBAIR,GADA,wBACA,gCACA,0CAEA,IACU,oBACV,IAGA,qBAEQ,CAER,kBAEA,oBACA,+BAOA,IAHA,UAIA,uBAEA,CAGA,OACA,iBAIA,iBAGA,qBAEA,QAKA,wBACA,cAIA,OAIA,MACA,SAIA,OACA,MAEA,IADA,2BACA,cAEA,iCAGA,IAYA,MAVA,oCAQA,oBAEA,CACA,CACA,iCAaA,OAVA,+HACA,sDAIA,IACA,iBACA,YACA,CAAS,EAET,uBACA,EAQA,uBACA,gEACA,MACA,KACA,EAOA,yBACA,QACA,KACA,EAYA,mCAOA,OALA,IACA,KAAuB,EAIvB,GAFA,MACA,MACA,EACA,EASA,wBACA,uBAGA,gBACA,WACA,EAUA,yBACA,SACA,eAEA,EAQA,0BACA,OACA,UAEA,EAMA,4BACA,KACA,EACA,CACA,CAGA,OAFA,GAIA,CAAC,aC3gDD,cACA,gBACA,CAUA,cACA,yBACA,oBAEA,QACA,CAzBA,YAoCA,eACA,2CAIA,OAHA,oCACA,4CACA,QACA,IACA,EAYA,+BACA,WAGA,aACA,WACA,uBACA,CAIA,OATA,oCAOA,OACA,aACA,MAaA,gBACA,2BACA,+BACA,8CAIA,GAHA,oCAGA,oBAEA,OADA,mBACA,KAIA,IAUA,EAVA,qBACA,kBAGA,uBAEA,OADA,0BACA,KAKA,YAAkB,WAAsB,IAExC,IADA,UACA,aACA,cACA,KACA,CAEA,aAWA,6BACA,oCACA,iCACA,qBAEA,MACA,aACA,uBAA4C,IAAS,IACrD,kBAEA,CAEA,aAWA,kCAEA,OADA,oCACA,wBAWA,qCACA,gEC7JA,MAHmB,EAAQ,GAAe,EAG1C,YAH0B,cAG1B,QACA,KACA,IACA,IAAoB,MAAS,QAAU,CACvC,CAAG,SAEH,IACA,CAGA,oCCZA,4CCAA,wCCAA,6CCAA,gDCAA,6CCAA,2CCAA,4CCoBA,IAOA,EAPA,wCACA,gCACA,QACA,gBACA,2CACA,EAgBA,cACA,sCACA,CAdA,EADA,gCACA,UACE,6BACF,YACA,qCACA,uCACA,EAEA,YACA,oCACA,EAOA,gCACA,WACA,EAEA,aACA,iBACA,CACA,YACA,cAAmB,GAGnB,iBAEA,2BACA,2BACA,iCAIA,SAEA,cACA,wBACA,4FAEA,CAoCA,qBACA,yBACA,sBACA,gBAmDA,oBAyBA,GApBA,KAGA,SADA,eAEA,gCACA,mBAIA,yBACA,uBACA,yBAIA,aAEA,QAGA,WAEA,SACA,sBAeA,GAbA,qBAEA,OACA,cAEM,EACN,aAEA,UAKA,CADA,QACA,0BACA,YAGA,IA9CA,EACA,EACA,EA4CA,uDACA,uBADA,oEAIA,sCACA,YACA,SACA,iBACA,IACA,CAGA,QACA,CAaA,aACA,qBAGA,CAFA,kDACA,cACA,qBACA,gCACA,0CAEA,CAEA,kBACA,OAAgB,mDAChB,YAGA,OAFA,aACA,WACA,CACA,CAyHA,kBACA,gBAEA,cACA,SAEA,kBACA,WACA,GAEA,qBACA,sBAEA,EACA,kBACA,CAmBA,cACA,mBAEA,eACA,WAEA,wBACA,SACM,cACN,gBAIA,QACA,CAMA,gBAEA,QADA,WACA,IAAkB,IAAO,IACzB,UACA,QACA,CAEA,gBACA,KAAS,aAAyB,IAClC,YACA,OACA,CAEA,cAEA,QADA,kBACA,IAAkB,WAAgB,IAClC,yBAEA,QACA,CAEA,gBACA,iCACA,cACA,sBACA,IACA,CAEA,aACA,qCACA,4BAEA,2BACA,CAEA,SAA8D,QAAY,EAC1E,aACA,OAA8D,QAAY,CAE1E,CAAG,CACH,CAEA,kBACA,yBACA,gBAEA,CAEA,oBACA,2BACA,OACA,YAEA,eAEI,yCAGJ,mCAGA,QACA,2BAEA,IACA,CAAK,OAEL,+FAEA,CAraA,+CACA,cACA,eACA,QACA,CAAG,CACH,gBACA,iCACA,0HAEA,GACA,CACA,CAAC,EAED,kBAEA,wBACA,sDACA,iCACA,qBAGA,6CACA,EAIA,wCACA,iCACA,wGAGA,OADA,qBACA,MASA,uCACA,cACA,EAEA,6BAEA,QADA,KACA,IAAkB,mBAAsB,yBADxC,IAEA,cAEA,eACA,cACA,2BACA,MACA,SAGA,MAIA,GAFA,YACA,SACA,mBAGA,QAGA,EAHgB,EANhB,EASA,qDAEA,OADA,YACA,CACA,CAEA,GAHe,CAGf,OAEA,cACA,SAEA,wBACA,iBAIA,QAFA,WACA,SACA,IAAoB,IAAS,IAC7B,eAGA,QACA,EAgEA,sCACA,qBACA,EAEA,uCAEA,4BACA,cACA,qBACA,EAoBA,+BAGA,OAFA,KACA,uBACA,MAGA,gCACA,cAGA,OAFA,KACA,oCACA,MAIA,2BACA,cACA,cAKA,GAHA,KAGA,SADA,kBAKA,SADA,SAFA,YAMA,yBACA,uBACA,kCAEA,YACA,kBACA,kDAEQ,yBAGR,IAFA,KAEA,aAAkC,KAAQ,IAC1C,gCACA,gBACA,IACA,KACA,CAGA,OACA,YAEA,MACA,UAEA,OAGA,cACA,YAEA,2BACA,kCACA,CAEA,aAGA,2CAEA,+BACA,YACA,UAGA,YADA,iBAEA,YAGA,6BAUA,OATA,qBACA,iCACA,qBACU,gBACV,uBACA,iCAEA,aAEA,KAIA,wBACA,IACA,EADA,iBAEA,QAAoB,WAAiB,IAErC,mBADA,UAEA,2BAKA,OAHA,0CACA,iCACA,oBACA,KAKA,qBAFA,SAGA,8BACQ,cAER,iBAAuC,KAAQ,IAC/C,4BAIA,aAoBA,kCACA,mBACA,EAEA,qCACA,mBACA,EAEA,oCACA,mCACA,mBAEA,WAEA,EAEA,4BAiBA,kCACA,6ECtaA,MAAiB,EAAQ,KAAa,EAEtC,UAFwB,QAExB,UACA,kCAEA,kBACA,uBAAwC,IAAS,IACjD,cACA,QACA,YAEA,mBAIA,EAEA,kBACA,uBAAyC,IAAS,IAElD,QACA,mBAEA,yBAGA,EAEA,kBACA,eACA,cACA,QACA,YAEA,mBAIA,EAEA,sBAKA,EAJA,SACA,8CAIA,sBACA,MAGA,6BACA,SACM,mBACN,SAEA,QAEA,CAEA,qCCzDA,wDACA,4BACA,WACA,sBAEA,gBAGA,QAFA,KAEA,IAAoB,WAAc,KAClC,UAEA,YAAoB,WAAc,KAClC,mBAGA,QACA,EAEA,gBAEA,QADA,KACA,WAAqC,WAAoB,UACzD,UAEA,QACA,EAEA,gBAEA,QADA,KACA,IAAoB,WAAgB,KACpC,QACA,cACA,OAGA,QACA,CAEA,uBACA,IAMA,EANA,OACA,wCACA,qBAyBA,QAvBA,iBAGA,aACA,sBACA,cACA,KACA,uBAEA,cACA,EAEA,KAEA,eACA,EACA,eAGA,EAEA,yBACA,KACA,IAAoB,IAAiB,IACrC,WAKA,GAFA,qDAAiF,sCAAsC,MAEvH,aACA,kBACA,yBACA,kBACA,gBACA,CAEA,QACA,gCCjFA,MAAqB,EAAQ,KAAkB,EAE/C,UAF4B,SAE5B,8CCAA,IAFA,EAEA,EAAa,EAAQ,KAAW,EAChC,EAAiB,EAAQ,KAAgB,CADrB,CAEpB,EAAkB,EAAQ,KAAiB,CADnB,CAExB,EAAsB,EAAQ,KAAe,CADpB,CAEzB,EAAmB,EAAQ,IAAkB,EAC7C,EAAiB,EAAQ,IAAgB,EACzC,CAF0B,CAEV,EAAQ,KAAe,EAEvC,UAFuB,CAKvB,cACA,IACA,wBAAkC,2BAA8C,IAChF,CAAG,UACH,EAEA,kCACA,KACA,IACA,IAAU,IACV,CAAG,SACH,MACA,CAGA,CAJgB,GAIhB,aACA,WACA,EACA,IACA,WACA,IAGA,OADA,iBACA,CADqB,CAEjB,SACJ,IAEA,iCACK,SACL,QACA,CACA,CACA,CAAE,GACF,EAEA,EAAiB,EAAQ,KAAa,IACtC,EAAe,EAAQ,IADC,CACU,IAElC,QAFsB,CAEtB,gBACA,GACA,YAAmB,oBAAsB,IACzC,EAGA,KAEA,oDAEA,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,kBACA,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,iDACA,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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AAa,iBAAiB,YAAkB,aAAa,iBAC3N,oBAA0B,aAAa,0QAA6Q,QAAc,iCCXhU,kBAA4D,gBCF9D,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,aCpFA,iCAEA,wBACA,IACA,WACA,uCACA,aACA,QACA,cACA,YACA,eACA,CACA,CAAO,EAEP,EAGA,wBACA,MACA,WACA,kBACA,yBACA,kBACA,yBACA,CACA,gCCvBA,MAAqB,EAAQ,KAAuB,IAGpD,EAFgB,EAAQ,IADI,CACiB,EAE7C,UAFuB,mBAIvB,oBACA,0DAGA,2BACA,EAEA,oBACA,QAGA,UACA,oBACA,2BACA,aACA,yBACA,iCACA,EAEA,aACA,mBACA,CAAC,GAED,sBAEA,iBAF2D,uBC5B3D,IAEA,EACA,EAHA,8BACA,0DAGA,kEACA,IACA,0BAAyC,WACzC,eACA,OACA,CACA,CAAG,EACH,KAEA,aAA6B,SAAW,QACxC,CAAG,SACH,OACA,QAEA,MAEA,OAGA,oBACA,cACA,IACA,gBACA,gBACA,CAAG,SACH,QACA,CACA,EAEA,GAJgB,QAIhB,GACA,IACA,QAA6B,SAE7B,OADA,UACA,EACA,CAAG,SACH,QACA,CACA,EACA,4BACA,oBACA,sBACA,+BACA,+BACA,CAD6C,CAC7C,mCACA,4BACA,CAD2C,CAC3C,gDAEA,CAF2E,CAE3E,WAEA,CAF0B,CAE1B,WAA0C,UAC1C,8BAEA,mBACA,kCACA,eAGA,6CACA,IACA,gBACA,OACA,OACA,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EA,cACA,iBACA,CAEA,cACA,MACA,oBACA,qDAEA,CAEA,cACA,OACA,mBACA,mDAEA,CAEA,gBACA,IACA,EADA,KAEA,WACA,QAAoB,IAAY,IAChC,kBAEA,QACA,CAEA,gBACA,eACA,QACA,YAYA,OARA,iBACA,wBAGA,gBACA,sBAGA,CACA,CAEA,oBACA,2BACA,CAEA,aAEA,OACA,SACA,gBACA,eACA,YACA,gBACA,aACA,gBACA,kBACA,iBACA,mBACA,OACA,mBACA,SACA,cACA,WACA,kBACA,CACA,CAEA,cAIA,OAHA,aACA,YAEA,KACA,CAqBA,cACA,WACA,KACA,qCAyBA,CAxBA,IACA,OACA,wCACA,cACA,CAAa,EACb,EACA,cACA,UACA,eACA,iBACA,mBACA,oBACA,cACA,kBACA,oBACA,6BACA,WACA,GACA,GACA,qBACA,2BACA,qBAGA,2CAGA,GAFA,aAIA,WACA,CAEA,cACA,aAOA,OANA,QACA,UAEA,wBAGA,CACA,CA9DA,GADA,qBACA,qBAEA,YACA,IAEA,EAFA,eACA,eAGA,QAAwB,IAAS,IACjC,iCACA,SAIA,QACA,EAoDA,IAgkJA,IAhkJA,wBACA,KAEA,gBACA,MACA,EACA,EACA,WAiCA,GA/BA,uBACA,wCAEA,SACA,YAEA,SACA,YAEA,SACA,YAEA,cACA,sBAEA,WACA,gBAEA,aACA,oBAEA,cACA,sBAEA,UACA,aAEA,cACA,sBAGA,IACA,QAAwB,IAAyB,IAGjD,EADA,IADA,OACA,GAEA,SAKA,QACA,CAGA,cACA,UACA,gDACA,gBACA,wBAIA,SACA,KACA,qBACA,KAEA,CAEA,cACA,OACA,kDAIA,cAEA,oCACA,6BACA,cAEA,uCAEA,CAEA,gBACA,SAEA,oBAIA,GAHA,4BACA,6BAEA,GACA,IACA,EACA,EACA,EAHA,KAIA,mBACA,QAA4B,IAAY,KAExC,GADA,KACA,+BAEA,SADA,gBACA,aACA,mBACA,iCAGA,eACA,EADgD,IAEhD,eAEA,SACA,CACA,EACA,EACA,gBACA,uCACA,KACA,eAEA,IACA,CACA,8BACA,CAAS,GACT,CAEA,SAEA,gBACA,4BACA,0BAEA,OACA,KACA,QAEA,CAKA,cACA,MACA,qDACA,uDAEA,CAEA,cACA,QACA,WACA,SAEA,EADA,QAEA,UAEA,cAIA,gBAIA,2CACA,iEACA,IACA,IAAoB,IAAI,SAExB,CAEA,gBACA,IACA,EADA,MAA2B,IAE3B,WACA,SACA,kBACA,QACA,aACA,cACkB,WAClB,UAEA,aAIA,WAEA,QACA,SACA,SAGA,UAAqC,QAGrC,QACA,CAEA,cACA,SACA,WAEA,CAlEA,iCACA,0BAsEA,GADA,YACA,YAEA,YACA,MACA,KACA,WACA,QACA,UAGA,QACA,EAGA,OACA,wBACA,2BACA,wBACA,4BACA,+BACA,YACA,EAEA,kBACA,iDACA,yBACA,CAEA,kBACA,qBAGA,MACA,CAFA,KAEA,cACA,uBAJA,aAIA,qBACA,CAEA,CAEA,MACA,4FAAwG,IAAI,wBAAwB,IAAI,uDAAuD,IAAI,kBACnM,uCAAqE,IAAI,IACzE,IAA4B,CAC5B,KAMA,oBACA,OACA,qBACA,cACA,gBACA,GAEA,GACA,SAEA,GACA,oBACA,2CACA,GAEA,GACA,iBACA,iCACA,wBACA,EAEA,EAEA,CAEA,qBACA,oBACA,yBAEA,mBACA,CAEA,cACA,IACA,EACA,EAFA,aAIA,mBAA2C,IAAY,IACvD,QACA,aAEA,aAIA,mBACA,IACA,EADA,KAEA,QAAwB,IAAY,IACpC,WACA,eACA,KAEA,QACA,CACA,CAGA,uBACA,aAKA,EADA,sBACA,CACA,WAEA,SAPA,4BAQA,CAEA,gBACA,QAEA,cACA,6BACA,CAGA,IADA,cACA,iBACA,YACA,EACA,GAEA,cACA,KAGA,QACA,CAEA,OACA,gBACA,YACA,eACA,kBACA,0BACA,gCACA,EAEA,cACA,8BACA,+CAEA,MACA,GAGA,0BACA,SACA,sBAEA,YACA,UACA,UACA,WAEA,WAEA,CACA,CAAa,EACb,SAEA,wBACA,CAEA,qBAEA,aACA,yBAGA,WACA,MAA4C,IAAI,EAEhD,cACA,oCACA,CAEA,OACA,eACA,cACA,kBACA,gBACA,aACA,gBACA,YACA,cACA,UACA,aACA,WACA,cACA,YACA,eACA,WACA,aACA,EAEA,oBACA,4BACA,YACA,WACA,kBACA,CAEA,gBACA,8CACA,mCACA,CAEA,QACA,SACA,aACA,YACA,QACA,WACA,UACA,YACA,mBACA,kBACA,eACA,yBACA,wBACA,gBACA,uBACA,sBACA,SACA,aACA,YACA,iBACA,2BACA,0BACA,WACA,iBACA,gBACA,UACA,eACA,cACA,YACA,mBACA,kBACA,WACA,iBACA,gBACA,cACA,qBACA,oBACA,iBACA,2BACA,0BACA,SACA,aACA,YACA,YACA,mBACA,kBACA,SACA,aACA,WACA,EAEA,eACA,yBACA,2BACA,MACA,CAEA,eACA,IACA,EACA,EAFA,IAAgC,CAIhC,WACA,QACA,WAEA,YAKA,QACA,CAEA,QACA,OACA,OACA,WACA,cACA,YACA,QACA,eACA,UACA,QACA,UACA,UACA,WACA,cACA,OACA,UACA,MACA,EAEA,eACA,IACA,EADA,KAEA,WACA,QACA,QAA6B,sBAAkC,EAM/D,OAHA,qBACA,6BACS,EACT,CACA,CAEA,IAvtBA,GA6HA,GAkRA,GA8VA,GAtBA,QACA,UACA,OAAqB,EAAE,EACvB,OAAqB,EAAE,EACvB,YAA0B,EAAE,EAC5B,WACA,eACA,mBACA,OAAwB,IAAI,EAC5B,OAAwB,IAAI,EAC5B,YAA6B,IAAI,EACjC,SACA,cACA,wBACA,6BACA,kBAAwC,IAAI,IAG5C,GACA,OAAmB,MAAM,wEAAwE,MAAM,mBAAmB,MAAM,qBAAqB,MAAM,EAAE,IAAI,GACjK,eACA,mBAKA,mBACA,WACA,EACA,cACA,eACA,CACA,CAEA,wBACA,QAIA,2BAHA,iBAIA,CAGA,eACA,UACA,EACA,iBACA,QACA,sCACA,oBACA,iBACA,GAGA,CAEA,eACA,sCAA8C,WAC9C,CAEA,sBACA,IAEA,gBAEA,aAEA,CAEA,eACA,SACA,IAMA,OAJA,oBACA,UAGA,CACA,CAtDA,MAwDA,UAEA,iBACA,MAEA,EADA,IAWA,IATA,oBACA,QAEA,MACA,iBACA,UACA,GAEA,WACA,IAAoB,IAAc,IAClC,UAEA,CAEA,iBACA,uBACA,cACA,aACA,CAAS,CACT,CAEA,mBACA,kBACA,iBAEA,CAEA,eACA,iCACA,CAEA,SACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KAuCA,eACA,oBACA,CArCA,qBACA,kBACA,2BACA,CAAK,EAEL,0BACA,sBACA,CAAK,EAEL,yBACA,0BACA,8BAIA,WACA,eACA,iBACA,kBACA,mBAEA,0BACA,wBACA,MACA,yCACA,CAAK,EACL,sBACA,4BACA,CAAK,EACL,qBACA,oBACA,CAAK,EAUL,gCACA,gCACA,EAIA,yBAEA,cACA,sBACA,CAEA,iBACA,0BACA,SACA,aACA,uBACA,MAEA,UAEA,CACA,CAEA,iBACA,gBACA,WAGA,WACA,WAEA,UACA,mBACA,mDACA,eACA,yCACA,eACA,yCACA,aACA,qCACA,YACA,mCACA,WACA,iCACA,aACA,qCACA,gBACA,2CACA,SACA,UACA,CACA,CAF4B,SAI5B,UACA,cAEA,8BAOA,OAHA,OACA,WAEA,GACA,mBACA,cACA,wBACA,qBACA,eACA,iDACA,eACA,iDACA,aACA,6CACA,YACA,2CAKA,gBACA,KACA,EADuB,OAEvB,MACA,CAEA,CAHwB,CAGxB,EACA,YAEA,OADA,cACA,kBACA,EACA,wBACA,qBACA,CAIA,sBAEA,OADA,QACA,EACA,UAEA,KAGA,iBACA,uBAEA,IACA,EADA,KADA,SAGA,WACA,QAAwB,IAAoB,IAC5C,6BAEA,EAAU,IAEV,UADA,QACA,EACA,kBAGA,YAGA,iBACA,eACA,CAmBA,iBACA,sBACA,WAEA,eAEA,OADA,YACA,MACA,MACA,GACA,GACA,QACA,CAzBA,GADA,wBACA,wBAEA,YAEA,MACA,QAAwB,cAAiB,IACzC,eACA,SAGA,SACA,EAkBA,+BACA,qBACA,CAAK,EAEL,wBACA,4CACA,CAAK,EAEL,yBACA,uCACA,CAAK,EAIL,cACA,eACA,uBACA,4BACA,CAAK,EACL,wBACA,uBACA,CAAK,EAEL,4BACA,aACA,CAAK,EAEL,oCACA,0CAEA,SACA,QAEA,mBAEA,CAAK,EAIL,OACA,8FACA,KAEA,GACA,6DACA,mCACA,MACA,MAEA,wBACA,EAKA,gBACA,wBACA,aACA,oCACA,SACA,aACA,YAVA,gBACA,aACA,wBAWA,wBACA,EAKA,qBACA,6BACA,kBACA,iCACA,YARA,qBACA,kBACA,4BAOA,CAEA,mBACA,MACA,EACA,EACA,wBACA,sBAKA,QAHA,qBACA,yBACA,0BACwB,KAAQ,IAChC,aACA,2CACA,EACA,IACA,oBACA,sEAIA,EACA,UAEA,KADA,sCACA,OAGA,KADA,qCACA,OAGA,UAEA,KADA,sCAEA,EAGA,KADA,qCACA,OAGA,KADA,qCAEA,EAGA,KADA,sCACA,MAGA,CAEA,mBACA,UAEA,0BACA,2BAYA,IATA,oBACA,qBACA,yBACA,2BAMA,IAAoB,KAAQ,IAmB5B,GAjBA,aACA,+BACA,gCACA,0CACA,KAEA,iCACA,+CACA,MAGA,0BACA,EACA,kDACA,oDAIA,GACA,YACA,kCAIA,GACA,WACA,mCAGc,iCAPd,QAWA,CAIA,iBACA,gBAEA,SAGA,uBACA,mBACA,aAIA,MAFA,iCAGA,SAKA,QACA,WAMA,OAJA,oCACA,SACA,sBACA,mBACA,CACA,CAEA,sBACA,SACA,WACA,wBACA,MAEA,gBAEA,CAEA,cACA,mCACA,CAEA,sBACA,uBAIA,CAHA,wBACA,cAEA,GACA,6BAEA,wBAGA,6BACA,4BAEA,gCACA,6BACA,uBAEA,CAEA,sBACA,uBAIA,CAHA,wBACA,cAEA,GACA,wBAEA,mBAGA,wBACA,uBAEA,2BACA,wBACA,kBAEA,CAEA,cACA,gBACA,wBACA,CAEA,IAGA,EACA,EACA,EACA,EANA,KACA,KACA,KAKA,QAAoB,KAAQ,IAE5B,aACA,6BACA,wBACA,UACA,UACA,UACA,UAIA,UACA,UACA,UAEA,mDACA,yCACA,+BACA,qBACA,KAEA,oCACA,qBACA,IAEA,CAEA,2BAGA,MAYA,OAVA,YAGA,SADA,gCACA,gBACA,iBAGA,0BAGA,CACA,CAEA,eACA,QAcA,OAZA,aACA,wCAEA,WAEA,SADA,qCACA,mBACA,qBAGA,2CAGA,CACA,CAGA,mBACA,IACA,QAIA,OAFA,gCAEA,GACA,CAGA,uBACA,IAGA,EACA,EAFA,YAFA,UACA,UAgBA,OAXA,KAEA,KADA,OACA,EACU,SACV,MACA,YAEA,IACA,KAGA,CACA,OACA,WACA,CACA,CAEA,mBACA,IAEA,EACA,EAHA,mBACA,sCAeA,OAXA,IAEA,OADA,aACA,KACU,oBACV,qBACA,eAEA,WACA,KAGA,CACA,OACA,MACA,CACA,CAEA,mBACA,gBACA,cACA,mBACA,CAyBA,eACA,+CACA,CAvBA,4BACA,+BAIA,cACA,eACA,cACA,eAEA,GACA,oBACA,kBACA,sBACA,GAWA,QACA,MACA,KACA,EAEA,cACA,sBAGA,cACA,sBAKA,eACA,mCACA,sCACA,CAEA,eACA,wBACA,sCACA,CAoDA,uBACA,mBACA,EAGA,SAKA,gBADA,uBAEA,EAGA,KARA,cASA,CAEA,uBACA,mBACA,wBAEA,eACA,CAGA,iBACA,wCACA,CA3EA,oBAEA,uBACA,4CACA,CAAK,EAEL,wBACA,8CACA,CAAK,EAEL,yBACA,yCACA,CAAK,EAEL,qBACA,wBAIA,WACA,WACA,WACA,sBACA,4BACA,CAAK,EACL,uBACA,8BACA,CAAK,EACL,wBACA,yBACA,CAAK,EAEL,yCACA,4CAEA,SACA,MAEA,qBAEA,CAAK,EAEL,mCACA,UACA,CAAK,EAiCL,OACA,sEACA,4CACA,qCACA,MACA,MACA,MAEA,iBACA,wBACA,eACA,eACA,2CACA,SACA,aACA,CACA,aACA,qBACA,EACA,WACA,CACA,CAEA,eACA,aACA,uCACA,EACA,6BACA,mBACA,CAEA,eACA,aACA,qCACA,EACA,2BACA,kBAGA,mBACA,MACA,EACA,EACA,wBACA,wBAKA,QAJA,uBACA,4BACA,0BAEwB,IAAO,IAC/B,oBACA,2CACA,EACA,IACA,oBACA,+CACA,EACA,IACA,oBACA,sEAIA,EACA,WAEA,KADA,mCACA,OACc,UAEd,KADA,wCACA,OAGA,KADA,sCACA,OAGA,WAEA,KADA,oCAKA,KADA,wCAFA,EAOA,KADA,sCACA,OACc,UAEd,KADA,yCAKA,KADA,mCAFA,EAOA,KADA,sCACA,OAGA,KADA,uCAKA,KADA,mCAFA,EAOA,KADA,wCACA,MAGA,CAEA,mBACA,UAEA,4BACA,2BAUA,IAPA,sBACA,uBACA,0BACA,4BACA,4BAGA,IAAoB,IAAO,KA6B3B,GA1BA,oBACA,iCACA,kCACA,gDACA,KAEA,mCACA,qDACA,KAEA,iCACA,mDACA,MAGA,yBACA,EACA,IACA,oBACA,KACA,yBACA,KACA,uBACA,sDAIA,GACA,YACA,oCAIA,GACA,WACA,oCAJA,SAOc,GACd,GACA,UACA,kCAEA,SACc,sCACd,QAEA,CACA,CAIA,eACA,mBACA,wBAGA,4BACA,SACA,0BACA,mBAEA,CAEA,CAEA,eACA,mBACA,wBAEA,mDACA,kCACA,CAEA,eACA,mBACA,wBAOA,WAIA,qBAHA,8BACA,mCAIA,CAEA,sBACA,yBAIA,CAHA,0BACA,cAEA,GACA,0BAEA,qBAGA,0BACA,yBAEA,6BACA,0BACA,oBAEA,CAEA,sBACA,yBAIA,CAHA,0BACA,cAEA,GACA,+BAEA,0BAGA,+BACA,8BAEA,kCACA,+BACA,yBAEA,CAEA,sBACA,yBAIA,CAHA,0BACA,cAEA,GACA,6BAEA,wBAGA,6BACA,4BAEA,gCACA,6BACA,uBAEA,CAEA,cACA,gBACA,yBAGA,IAIA,EACA,EACA,EACA,EACA,EARA,KACA,KACA,KACA,KAMA,QAAoB,IAAO,IAE3B,oBACA,6BACA,+BACA,0BACA,UACA,UACA,UACA,UACA,UACA,UAIA,UACA,UACA,UACA,UAEA,qDACA,6CACA,2CAEA,iCACA,qBACA,KAEA,sCACA,qBACA,KAEA,oCACA,qBACA,IAEA,CAIA,cACA,0BACA,CAEA,cACA,uBACA,CAgCA,iBACA,mBACA,kCACA,aACA,eACA,EAEA,CAAS,CACT,CAOA,iBACA,wBA2DA,eAGA,0CACA,CA7GA,yBACA,qBACA,qBAEA,uBACA,2CACA,CAAK,EAEL,yBACA,MACA,GACA,eACA,oBACA,mBAEA,CAAK,EAEL,uBACA,yCACA,CAAK,EAEL,yBACA,MACA,GACA,aACA,oBACA,mBAEA,CAAK,EAYL,WACA,WAQA,WACA,WACA,cACA,cACA,cACA,eACA,eACA,eAEA,aACA,eACA,aACA,eAEA,kBACA,8BACA,WACA,iBACA,CAAK,EACL,6BACA,0BACA,aACA,CAAK,EACL,8BACA,YACA,eACA,CAAK,EACL,yBACA,gBACA,yBACA,sBACA,eACA,CAAK,EACL,2BACA,iBACA,YACA,yBACA,wBACA,sBACA,eACA,CAAK,EACL,yBACA,gBACA,yBACA,qBACA,CAAK,EACL,2BACA,iBACA,YACA,yBACA,wBACA,qBACA,CAAK,EAUL,uBAKA,kBAEA,0BACA,KACA,YAEA,WAEA,CAEA,IAxgCA,GA+hCA,GAvBA,IACA,WACA,iBACA,cACA,UACA,yBACA,eAEA,UACA,eAEA,QAEA,YACA,eACA,iBAEA,gBACA,EAGA,KAAoB,CACpB,KAA2B,CAG3B,iBACA,MACA,8BACA,QAAoB,IAAU,KAC9B,eACA,SAGA,QACA,CAEA,eACA,2CACA,CAKA,eAOA,IANA,IACA,EACA,EACA,EACA,EAJA,IAMA,aAKA,IAHA,GADA,uBACA,OAEA,GADA,cACA,kBACA,MAEA,GADA,6BAEA,SAEA,GACA,GACA,aACA,aAGA,KAEA,IACA,CACA,GACA,CACA,SACA,CAEA,eAGA,mCACA,CAEA,eACA,WAGA,GACA,gBAEA,GACA,WACA,MAEA,IACA,WAEgB,8FAAkC,GAClD,EACA,CAAc,SAGd,UACA,CAEA,CAHsC,MAGtC,MAMA,iBACA,MAqBA,OApBA,KAEA,EADA,KACA,MAEA,SAKA,KAEA,2CAEA,aACA,uDAMA,SAGA,iBACA,YAiDA,OADA,aACA,KAhDA,MACA,KAEA,GADA,SACA,YACA,EACA,uBACA,2OAKA,qBACc,yBACd,4BACA,iCACkB,CAElB,SADA,uBAWA,OAPA,oBACA,wBAEA,yBACA,OACA,QACA,CAAyB,EACzB,KATA,WAWA,EAeA,OAbA,oBAEA,OACA,0BACA,mBACA,CAAiB,EAMjB,MAEA,MAQA,iBACA,YACA,MACA,EACA,IAEA,uCAEA,+BAIA,MADA,WAEA,cAEA,SACA,SAIA,WAGA,CADA,YACA,mBACA,SAIA,KACA,EAAU,IAEV,cACA,0BACA,yBACA,UACA,OAEkB,aAClB,cAIA,aAIA,eACA,MAMA,GAJA,+BACA,oBAGA,GACA,UAGA,UAGA,GADA,QAEA,SAEA,MAGA,YACA,CAEA,cACA,aACA,CAEA,eACA,MACA,OAuCA,OArCA,wBACA,EACA,kBACA,GACA,+BACA,GACA,SACA,UACA,YACA,YACA,WACA,WACA,GACA,kBACA,GACA,kBACA,GACA,mBACA,GACA,GAGA,yBACA,cAEA,OAEA,6BACA,OAEA,+BACA,OAGA,iBAGA,CACA,CAIA,OACA,gBAA4B,EAAE,IAAI,EAAE,yHACpC,GACA,gBAA4B,EAAE,IAAI,EAAE,qHACpC,2BACA,IACA,wBAAqC,EAAE,aACvC,kBAA+B,EAAE,aACjC,oBAAiC,EAAE,YACnC,kBAA+B,EAAE,YACjC,gBAA6B,EAAE,IAAI,EAAE,GACrC,eAA4B,EAAE,WAC9B,sBAAmC,GAAG,GACtC,gBAA6B,EAAE,GAC/B,kBAA+B,EAAE,IAAI,EAAE,GACvC,iBAA8B,EAAE,IAAI,EAAE,MACtC,eAA4B,EAAE,GAC9B,cAA2B,EAAE,MAC7B,YAAyB,EAAE,MAC3B,CAEA,IACA,wCACA,uCACA,8BACA,sBACA,oCACA,mCACA,0BACA,oBACA,cACA,CACA,wBAEA,GACA,4CAAwD,IAAI,0DAA0D,IAAI,qEAAqE,EAAE,KACjM,IACA,KACA,MACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,QACA,EAGA,eACA,MACA,EAGA,EACA,EACA,EACA,EALA,OACA,yBAKA,YACA,YAEA,MAEA,QADA,YACA,IAAyC,IAAO,IAChD,wBACA,WACA,gBACA,KACA,CAEA,YACA,cACA,MACA,CACA,SACA,YAA6C,IAAO,IACpD,wBAEA,uBACA,KACA,CAEA,YACA,cACA,MACA,CACA,CACA,gBACA,cACA,MACA,CACA,SACA,iBACA,UACkB,CAClB,cACA,MACA,EAEA,uBACA,KACA,EAAU,IACV,aAEA,CAEA,YACA,EACA,EACA,EACA,EACA,EACA,GAEA,OACA,MACA,cACA,eACA,eACA,eACA,CAMA,OAJA,GACA,uBAGA,CACA,CAEA,eACA,4BACA,MACA,MACU,OACV,OAEA,CACA,CAEA,eAEA,SACA,kCACA,wBACA,qBACA,oBACA,CAEA,yBACA,IAEA,gBACA,SACA,KACA,KACA,MACA,WAEA,wBACA,cACA,GAIA,CAEA,mBACA,KACA,aACU,KAEV,SAEA,qBACA,QAEA,MADA,UACA,IAEA,CAGA,eACA,IACA,EADA,oBAEA,MASA,GARA,KACA,KACA,KACA,KACA,KACA,KACA,MAEA,cACA,MAGA,QACA,2BAEA,yBACA,gDAEA,eACA,EAAU,IACV,aAEA,CAGA,eACA,oBACA,aACA,qBACA,MACA,CAEA,MACA,kBACA,kBAKA,MACA,kBACA,kBAKA,UACA,cAGA,8BAEA,CAYA,0BACA,QACA,EAEA,QACA,EAEA,CACA,CAEA,eAEA,+BACA,UACA,CACA,mBACA,gBACA,eACA,CAEA,2CAOA,eACA,MACA,EAEA,EACA,EACA,EAHA,KAKA,UAgCA,IA5BA,QAGA,sCACA,MAIA,qBACA,qBAGA,qBACA,mBAEA,6BAGA,uBACA,yBACA,yBAQA,IAAoB,mBAA+B,IACnD,kBAIA,KAAe,IAAO,IACtB,aACA,gCAKA,eACA,cACA,cACA,eAEA,cACA,YAGA,6BACA,KACA,GAEA,YACA,iBACA,cAIA,cACA,gDAGA,YACA,cAKA,MACA,iBACA,YAEA,0BAEA,CAEA,eACA,qBAGA,QADA,QACA,0BACA,IACA,IAMA,KACA,KACA,SACA,mBAEA,YAEA,EADA,aACA,SACA,SAGA,sBACA,sBAEA,eAEA,2BAGA,iBAEA,UAGA,EADA,OACA,SACA,OAEc,WAEd,QACA,gBACA,QAIA,KAGA,iBACA,uBACU,QACV,0BAEA,gBACA,gBACA,yBAEA,CASA,eAEA,sBACA,MACA,MACA,CACA,sBACA,MACA,MACA,CACA,QACA,cAGA,IACA,EACA,EACA,EACA,EACA,EAGA,EACA,EATA,UAMA,WACA,IAOA,QADA,GAFA,EACA,gCACA,OACoB,IAAc,IAClC,OACA,sBACA,UAGA,CADA,4BACA,UACA,yBAEA,UACA,uBAEA,aAGA,MACA,EACA,cAEA,0BAEA,WACc,eACd,yBAKA,oBACA,IACA,YACA,yBAKA,cACA,mBACA,YAEA,sBAGA,mCACA,0BAEA,YACA,UACA,SACA,aAKA,OADA,cAEA,iDAGA,MACA,KACA,CAEA,mBACA,aAEA,QAEA,EAEA,qBACA,qBACU,eAEV,eACA,MACA,QAEA,WACA,OAKA,EAEA,CAGA,eACA,MACA,EACA,EACA,EACA,EACA,EACA,KACA,cAEA,UACA,sBACA,mBACA,MACA,CAEA,QAAoB,IAAgB,IACpC,IACA,KACA,MAAsC,IACtC,iBACA,sBAEA,aACA,MAEA,MACA,OAIA,sBAGA,+BAEA,aAEA,EAaA,MACA,IACA,KAbA,UACA,KACA,KAEA,IACA,IACA,GACA,QAWA,SACA,CAEA,eACA,UAIA,eACA,8BACA,OACA,0DACA,YACA,wBACA,GAGA,MACA,CAEA,eACA,uBAOA,OANA,aAEA,aACA,mBAGA,CACA,CAEA,eACA,WACA,aAIA,CAFA,8BAEA,8BACA,GAAmC,aAAiB,GAGpD,oBACA,+BAGA,MACA,cACU,KACV,OACU,KACV,MACU,EACV,MAEA,MAGA,MACA,YAGA,EACA,CAEA,eACA,WACA,KACA,uBACU,KACV,2BACU,mBACV,MACU,MACV,8BACA,qBACA,CAAa,EACb,OACU,KACV,MACU,KAEV,iBAEA,4BAEA,CAEA,uBACA,SA2BA,MAzBA,mBACA,IACA,UAGA,mBACA,IACA,UAIA,aACA,qBAEA,WAIA,sBACA,qBACA,OACA,OACA,OACA,YAEA,KACA,CAEA,qBACA,qBACA,CAxeA,4BACA,gSAGA,YACA,yCACA,GAsLA,wBAGA,wBA2SA,SACA,qGACA,WACA,sCACA,4BACA,cAEA,GAEA,GAEA,KACA,qGACA,WACA,sCACA,4BACA,cAEA,GAEA,GAQA,iBACA,QAIA,GAHA,uBACA,SAEA,UACA,YAGA,QADA,OACoB,WAAoB,IACxC,+BACA,SAGA,QACA,CAGA,cACA,iCAEA,uBACA,CAEA,cACA,iCAEA,sBACA,CAEA,kBACA,oCACA,EAEA,IACA,OACA,UACA,QACA,OACA,MACA,OACA,SACA,SACA,cACA,CAEA,eACA,MAEA,EADA,KAEA,YACA,WACA,GACA,QACA,CACA,qBACA,4BAGA,SAIA,QAAoB,IAAc,IAClC,aACA,KACA,SAEA,KAFkC,MAElC,0BACA,MAEA,CAGA,QACA,CAEA,cACA,qBAGA,cACA,cACA,CAEA,eACA,YACA,YACA,eACA,aACA,uBACA,WACA,YACA,cACA,cACA,kBAEA,qBAGA,mBACA,GACA,MACA,MACA,OAGA,kBAIA,yBAEA,cAEA,kBAEA,cACA,CAEA,eACA,sBACA,CAEA,sBACA,IACA,oBAEA,aAEA,CAGA,mBACA,IAGA,EAHA,8BACA,8BACA,IAEA,QAAoB,IAAS,IAE7B,iBACA,0BAEA,IAGA,UACA,CAIA,iBACA,mBACA,uBACA,MAKA,OAJA,MACA,KACA,OAGA,EACA,cACA,EACA,WAEA,CAAS,CACT,CAEA,YACA,YAIA,WACA,YACA,8BACA,aACA,eACA,CAAK,EAOL,yBAEA,iBACA,IAEA,EACA,EAHA,0BAKA,SACA,KAOA,IAFA,QADA,KADA,mBACA,yBACA,eAEA,iBACA,CAGA,iBACA,eACA,UACA,YACA,EACA,YACA,YACA,6BAEA,+BACA,qBACA,GAEA,aAEA,CAEA,eAGA,2CACA,CAoBA,mBACA,IACA,EADA,kBAEA,mBACA,wBAEA,WAiCA,8BAhCA,sBAEA,WADA,aAEA,iBAEc,oBACd,QAwBA,MAtBA,iBACA,aAEA,eACA,eACA,SACA,gBAEA,QACA,2BACA,GACA,KACA,YACA,EACA,IAEkB,yBAClB,0BACA,wBACA,8BAGA,IAIA,CAEA,wBACA,SACA,oBACA,OAGA,oBAEA,MAEA,iBAEA,CAEA,eACA,0BACA,CAEA,eASA,OARA,cACA,oBACA,eAEA,GACA,6BAGA,KAGA,cACA,mBACA,qCACU,6BACV,oBACA,SACA,kBAEA,oBAEA,CACA,YAGA,qBACA,mBAGA,wBAEA,2BACA,CAEA,cACA,OACA,oDACA,kDAEA,CAEA,cACA,0BACA,0BAGA,IACA,EADA,IAAkB,CAclB,OAXA,UAGA,CAFA,SAEA,IACA,4BACA,mBACA,wCAEA,sBAGA,mBAGA,cACA,qCAGA,cACA,oCAGA,cACA,sDApJA,4BAwJA,+DAIA,GACA,sKAEA,iBACA,IAGA,EACA,EACA,EALA,IAEA,OAkEA,OA7DA,MACA,GACA,mBACA,UACA,aAEU,kBACV,KACA,EACA,QAEA,mBAEU,gBACV,kBACA,GACA,IACA,cACA,cACA,cACA,cACA,sBACA,GACU,gBACV,kBACA,GACA,aACA,aACA,aACA,aACA,aACA,aACA,YACA,GACU,QAEV,KAEA,oBACA,yBAEA,KACA,WACA,UAGA,OACA,kBACA,cAGA,YAEA,uBACA,sBAGA,wBACA,wBAGA,CACA,CAKA,iBAIA,wCAEA,sBACA,CAEA,iBACA,SAUA,OARA,SACA,2CACA,wCACA,WAGA,+CAEA,CACA,CAEA,iBACA,aACA,0BAIA,UACA,cACA,WAEA,YACA,6BACA,oBAGA,GAZA,CAAqB,wBAarB,CAGA,iBACA,qBACA,MAmBA,OAjBA,sBACA,EACA,EACA,YACA,EACA,uDACA,EAHA,kGAOA,IACA,IACA,KAIA,QADA,QACA,GACA,IACA,CACA,CAEA,qBACA,sBACA,cACA,gBAEA,cAKA,aAEA,GACA,wBAEA,GACA,8BAEA,GACA,iCAEA,GACA,uBAEA,CA9FA,mBACA,cA+FA,mBACA,qBAEA,eACA,6CACA,CAGA,eACA,OACA,MACA,MACA,OACA,MACA,OACA,OAEA,MADA,CAGA,CAEA,eACA,IA4BA,EACA,EA7BA,cACA,KACA,GACA,QACA,OACA,IACA,SACA,QACA,IACA,OACA,MACA,IACA,QACA,OACA,IACA,QACA,OACA,IACA,UACA,SACA,IACA,UACA,SACA,IACA,eACA,cACA,KACA,CAGA,WAEA,QAAoB,IAAiB,KACrC,OACA,YAGA,WACA,CAEA,eACA,WACA,KAOA,OANA,GACA,GACA,yBACA,kBACA,CAAiB,UAEjB,IACA,CAEA,eACA,IAUA,EACA,EAXA,cACA,KACA,GACA,UACA,UACA,UACA,WACA,WACA,WACA,CAIA,QAAoB,WAAuB,KAC3C,OACA,YAGA,WACA,CAEA,iBACA,0BACA,YACA,WACA,KACA,WACA,IACA,UACA,IACA,UACA,IACA,UACA,IACA,WACA,UACA,CAEA,iBAEA,sBACA,aAGc,kBACd,eACA,UACc,mBACd,eACA,WAPA,SACA,WAWA,cACA,4BACA,uCACA,EACA,GACA,SACA,kBACA,MAEA,mBACA,4CAEA,CAEA,cACA,kBACA,CAEA,iBACA,yBACA,kCAIA,gBADA,yBAEA,2BAEA,8CAEA,CAEA,iBACA,yBACA,kCAIA,gBADA,yBAEA,2BAEA,4CAEA,CAEA,qBACA,mBACA,qBACA,8CAKA,QAFA,UAEA,IACA,kBACA,sBACA,YACA,mBACA,mBAEA,CAEA,iBACA,IACA,EADA,qBAEA,kCAIA,gBADA,yBAEA,8BAEA,cAEA,sCACA,oCAGA,CAEA,iBACA,0CACA,CAEA,iBACA,2CACA,CAEA,mBACA,UAEA,oBAMA,CAFA,eAEA,UALA,WAaA,OAJA,uCAEA,SAGA,WACA,gBACA,KACA,aACA,aACA,KACA,eACA,eACA,KACA,cACA,eACA,KACA,EADuB,GACvB,SACA,eACA,KACA,EADuB,GACvB,OACA,gBACA,KACA,EADuB,GACvB,MACA,mBACA,KACA,EADuB,GACvB,OACA,oBACA,KACA,EADuB,OAEvB,QACA,CAEA,gBACA,CAEA,iBACA,qBAGA,eAGA,IAGA,EACA,EAJA,+CAEA,4BAeA,OARA,EAHA,MAGA,SAFA,+BAEA,EAIA,QAFA,+BAEA,GAIA,SACA,CAKA,cACA,2EACA,CAEA,eACA,mBACA,YAEA,aACA,mCACA,0BACA,EACA,EACA,EACA,iCACA,gCAGA,8BAEA,EACA,4BAEA,8CACA,cACA,sBAGA,EACA,EACA,8DAEA,CAQA,cACA,mBACA,0CAEA,IAEA,EACA,EACA,EACA,EALA,WACA,KAcA,OATA,iBACA,uDACA,OAEA,cACA,oDACA,0BACA,WAEA,oBACA,CAEA,eACA,GACA,gBACA,mBACA,iBAEA,gBACA,sCACA,CAEA,wBACA,IACA,YACA,qCAEA,IAAoC,eAAsB,EAC1D,sBACA,aAEA,+BAEA,CAEA,eACA,wBACA,CAEA,wBACA,IACA,YACA,qCAEA,IAAoC,eAAsB,EAC1D,sBACA,aAEA,+BAEA,CAEA,eACA,sBACA,CAKA,eACA,aAEA,WACA,oBAGA,MADA,WAEA,iBAEA,KAEA,CA5HA,uCACA,4CA6HA,SACA,kJACA,mBACA,WACA,kBAEA,cAEA,GAGA,cACA,oBAGA,WACA,OACA,QACA,eAGA,iBACA,eACA,CAEA,0BAEA,YAEA,uBAEA,yBAEA,CAEA,0BAEA,YAEA,uBAEA,eAEA,CAEA,eACA,QAEA,YADA,WACA,mCACA,YAKA,OAFA,oBAEA,GACA,WACA,qBACA,KACA,eACA,IACA,YACA,4BACA,GAEA,KACA,aACA,gCACA,KACA,YACA,IACA,YACA,aACA,4BAEA,KACA,eACA,IACA,YACA,aACA,mCAEA,KACA,WACA,WACA,0CACA,KACA,YACA,oBACA,MACA,sCACA,IAEA,KACA,cACA,oBACA,YACA,KACA,cACA,oBACA,WAEA,CAIA,OAFA,mBACA,wBACA,KAGA,eACA,QAEA,YADA,WACA,mCACA,YAKA,OAFA,oBAEA,GACA,WACA,yBACA,KACA,eACA,EACA,EACA,YACA,8BACA,GACA,EACA,KACA,aACA,oCACA,KACA,YACA,EACA,EACA,YACA,aACA,8BACA,EACA,KACA,eACA,EACA,EACA,YACA,aACA,qCACA,EACA,KACA,WACA,WACA,8CACA,KACA,YACA,oBACA,GACA,GACA,GACA,sCACA,IAEA,EACA,KACA,cACA,oBACA,iBACA,KACA,cACA,oBACA,gBAEA,CAIA,OAFA,mBACA,wBACA,KAGA,cACA,8CACA,CAEA,cACA,qCACA,CAEA,cACA,+BACA,CAEA,cACA,WACA,OACA,SACA,UACA,SACA,SACA,WACA,WACA,gBACA,CAGA,cACA,WACA,OACA,eACA,iBACA,cACA,gBACA,oBACA,oBACA,6BACA,CACA,CAEA,cAEA,6CACA,CAEA,cACA,cACA,CAEA,cACA,WAAwB,SACxB,CAEA,cACA,wBAGA,cACA,OACA,cACA,eACA,oBACA,kBACA,oBAEA,CAmDA,iBACA,MACA,EACA,EACA,6BACA,mBAAqC,IAAO,IAS5C,OAPA,UADA,oBAGA,+BACA,wBAIA,mBACA,gBACA,oBACA,KACA,cAEA,yCACA,sBAEA,CAEA,QACA,CAEA,mBACA,MACA,EAEA,EACA,EACA,EAHA,cAMA,QAFA,kBAEA,WAAqC,IAAO,IAK5C,GAJA,0BACA,0BACA,4BAEA,EACA,UACA,QACA,SACA,UACA,SACA,YAEA,KAEA,YACA,SACA,YAEA,KAEA,aACA,SACA,WAGA,MACc,yBACd,YAKA,iBACA,mCACA,WACA,kBAEA,gCAEA,CAEA,cACA,MACA,EACA,EACA,2BACA,mBAAqC,IAAO,IAI5C,GAFA,wCAEA,8BAGA,6BAFA,iBAOA,QACA,CAEA,cACA,MACA,EACA,EACA,2BACA,mBAAqC,IAAO,IAI5C,GAFA,wCAEA,8BAGA,6BAFA,mBAOA,QACA,CAEA,cACA,MACA,EACA,EACA,2BACA,mBAAqC,IAAO,IAI5C,GAFA,wCAEA,8BAGA,6BAFA,iBAOA,QACA,CAEA,cACA,MACA,EACA,EACA,EACA,2BACA,mBAAqC,IAAO,IAM5C,GALA,8BAGA,wCAGA,8BACA,6BAEA,MACA,qCACA,YAKA,kBACA,CAEA,eAIA,OAHA,0BACA,cAEA,sCAGA,eAIA,OAHA,0BACA,cAEA,sCAGA,eAIA,OAHA,4BACA,cAEA,wCAGA,iBACA,yBACA,CAEA,iBACA,yBACA,CAEA,iBACA,2BACA,CAEA,iBACA,iCACA,CAEA,cACA,IAIA,EACA,EACA,EACA,EACA,EARA,KACA,KACA,KACA,KAMA,cAEA,mBAAqC,IAAO,IAC5C,gBACA,gBACA,kBAEA,UACA,UACA,UACA,UACA,UACA,SAGA,kDACA,qDACA,qDACA,6BACA,qBACA,IAEA,CAYA,iBACA,qBACA,CAiCA,eACA,eACA,KACA,EACA,YACA,2CACA,4BACA,4BAEA,CAEA,eACA,eACA,KACA,EACA,eACA,kBACA,EACA,EAEA,CAEA,cACA,0BACA,CAEA,cACA,iCACA,CAEA,cACA,8BACA,kCACA,CAEA,cACA,8BACA,sCACA,CAEA,uBACA,aACA,QACA,mBAGA,EADA,eAEA,MAEA,wBAEA,CAEA,uBACA,oBACA,2BAKA,OAHA,8BACA,4BACA,0BACA,KAgBA,eACA,eACA,8BACA,kCACA,CA1ZA,qBACA,sBACA,uBACA,wBACA,2BAEA,8BACA,4BACA,6BACA,8BAEA,WACA,YACA,aACA,cACA,eAEA,GACA,gCACA,kBACA,yCACA,EACA,WAEA,iBAEA,GAGA,WACA,YACA,aACA,cACA,YAEA,+BACA,4BACA,KACA,iCACA,4CAGA,8BACA,yCAEA,oBAEA,CAAK,EAgPL,0BACA,0BACA,CAAK,EAEL,0BACA,6BACA,CAAK,EAML,sBACA,uBACA,yBACA,0BAMA,WACA,WACA,eACA,eACA,iBACA,iBACA,kBACA,kBAEA,GACA,gCACA,kBACA,sBACA,GAGA,iCACA,2BACA,CAAK,EAqEL,wBAIA,WACA,qBACA,iBACA,CAAK,EAYL,4BAIA,cACA,eACA,sBAEA,SACA,2CACA,iCACK,EAEL,kBACA,sBACA,wBACA,CAAK,EAIL,qBAkBA,eACA,MACA,WACA,kEACA,EACA,kCACA,CApBA,uCAIA,aACA,cACA,kCACA,kBACA,CAAK,EAgBL,2BAIA,cACA,eACA,kBAIA,wBAIA,2BAIA,cACA,eACA,kBAIA,wBAuCA,IAnCA,qBACA,gCACA,CAAK,EAEL,0BACA,+BACA,CAAK,EAEL,+BACA,4BACA,4BACA,CAAK,EACL,6BACA,6BACA,CAAK,EACL,8BACA,6BACA,CAAK,EACL,+BACA,6BACA,CAAK,EACL,gCACA,6BACA,CAAK,EACL,iCACA,6BACA,CAAK,EAIL,cACA,eACA,gBAGA,SAAyB,YAAmB,OAC5C,SAGA,iBACA,sBACA,CAEA,UAAsB,YAAmB,OACzC,SAYA,cACA,2BACA,CAEA,cACA,kDACA,CAfA,wBAIA,sBACA,uBAYA,mBAwGA,eACA,gBACA,CAEA,cACA,2CACA,CAEA,eACA,QACA,CAhHA,UACA,eACA,YACA,WACA,YACA,aACA,WACA,cACA,SACA,YACA,UACA,gBACA,cACA,eACA,gBACA,aACA,oBACA,qBACA,cACA,WACA,aACA,iBACA,UACA,UACA,mBACA,UACA,cACA,eACA,cACA,eACA,aACA,kBACA,cACA,8CACA,yDACA,iCACA,GAEA,aACA,eACA,WACA,cACA,mBACA,cACA,gBACA,cACA,cACA,WACA,iBACA,eACA,kBACA,0BACA,YACA,kBACA,oBACA,0BACA,kBACA,sBACA,qBACA,4BACA,WACA,kBACA,cACA,iBACA,gBACA,oBACA,wBACA,wBACA,iCACA,gBACA,UACA,YACA,gBACA,2BACA,YACA,cACA,kBACA,YACA,YACA,eACA,eACA,WACA,kDACA,IAEA,YACA,mDACA,IAEA,WACA,iDACA,IAEA,UACA,2GACA,IAEA,kBACA,0GACA,IAeA,mBAuCA,qBACA,WACA,eACA,gBACA,CAEA,mBAQA,GAPA,OACA,IACA,UAGA,QAEA,QACA,yBAGA,MACA,KACA,QAAoB,KAAQ,IAC5B,uBAEA,QACA,CAUA,qBACA,sBASA,EADA,IAEA,MATA,OACA,IACA,UAGA,QAcA,IAEA,EAFA,OACA,kBAEA,KAEA,WACA,6BAGA,QAAoB,IAAO,IAC3B,2BAEA,QACA,CAEA,iBACA,uBACA,CAEA,iBACA,4BACA,CAEA,mBACA,2BACA,CAEA,mBACA,gCACA,CAEA,mBACA,8BACA,CA7HA,cACA,oBACA,iBACA,aACA,eACA,iBACA,kBACA,gBACA,SACA,WACA,gBACA,sBACA,oBACA,oBACA,sBAEA,aACA,kBACA,kBACA,kBACA,uBACA,WACA,qBACA,qBAEA,eACA,kBACA,oBACA,oBAEA,oBACA,yBACA,uBAEA,WACA,eA4FA,SACA,MACA,CACA,mBACA,eACA,SACA,mBACA,YACA,SACA,CAAa,CACb,CACA,mBACA,WACA,SACA,qBACA,YACA,SACA,CAAa,CACb,CACA,2BAAoC,IAAI,eACxC,oBACA,WACA,EACA,iBACA,KACA,MACA,KACA,MACA,KACA,MACA,KACA,KACA,UACA,CAAS,CACJ,EAIL,SACA,wDACA,IAEA,aACA,gEACA,IAGA,gBAEA,cACA,iBAaA,OAXA,0CACA,0BACA,8BAEA,kCACA,wBACA,wBACA,oBACA,sBACA,oBAEA,KAGA,qBACA,cAMA,OAJA,mCACA,mBACA,uBAEA,WACA,CAGA,iBACA,qBACA,CAGA,iBACA,sBACA,CAEA,sBACA,IACA,cAEA,YAEA,CAEA,cACA,IAIA,EACA,EACA,EACA,EACA,EARA,qBACA,aACA,eACA,aAgDA,OArCA,kBACA,mBAGA,qBACA,IACA,KAKA,qBAEA,YACA,eAEA,WACA,eAEA,WACA,aAEA,YAIA,GADA,YAEA,aAGA,WACA,MAEA,SACA,WACA,UAEA,KAGA,eAGA,oBACA,CAEA,eAEA,oBACA,CAEA,eACA,mBACA,WAEA,MACA,EACA,qBAIA,aAFA,WAEA,0BAGA,OAFA,qBACA,qBACA,GACA,YACA,QACA,eACA,UACA,YACA,WACA,MAIA,OADA,0CACA,GACA,WACA,mBACA,WACA,gBACA,YACA,kBACA,cACA,mBACA,cACA,oBAEA,mBACA,4BACA,SACA,8BACA,CAEA,CAEA,eACA,kBACA,iBACA,CACA,CAEA,gBACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,MAEA,cACA,eACA,CAEA,eAEA,OADA,QACA,gCACA,CAEA,eACA,kBACA,uCACA,CACA,CAEA,0BACA,iBACA,iBACA,eACA,cACA,gBACA,eAEA,cACA,wBACA,CAEA,kBACA,IACA,MACA,KACA,KACA,KACA,KACA,OACA,IACA,EAGA,uBACA,mCACA,CAEA,qBACA,kBACA,gBACA,gBACA,gBACA,gBACA,gBACA,gBACA,gBACA,EACA,kBACA,iBACA,aACA,iBACA,aACA,iBACA,aACA,gBAgBA,OAdA,WACA,GACA,GACA,aACA,iBAEA,MACA,aACA,iBACA,sBAEA,MACA,UACA,OACA,gBACA,CAGA,sBACA,WACA,GAEA,uBACA,KACA,GAGA,CAGA,wBACA,iBAGA,WACA,OAEA,QACA,SACA,YAEA,IACA,CAEA,iBACA,mBACA,uCAGA,IAEA,EACA,EAHA,KACA,KAyBA,MArBA,qBACA,IACA,MAEA,qBACA,MAEA,qBACA,kBAAiC,OACjC,uBACA,cAKA,eADA,qBAGA,GACA,0BAGA,eACA,CAEA,gBAEA,eACA,qBACA,CAEA,cAQA,mBACA,uCAGA,IAGA,EACA,EACA,EACA,EAEA,EACA,EACA,EACA,EAXA,6BACA,iBACA,mBAKA,0BAMA,GAOA,WACA,WACA,MACA,MAGA,WACA,MAGA,yCAEA,aACA,kCACA,gCACA,wCAGA,EACA,IACA,eACA,eACA,eACA,iBACA,eACA,eACA,gBA9BA,KAgCA,CAEA,oBAwGA,OAtGA,cACA,UACA,UACA,eACA,SACA,qBACA,gBACA,gBACA,cACA,aACA,cACA,eACA,iBACA,cACA,cACA,cACA,YACA,UACA,mBACA,cACA,cACA,YACA,WACA,YACA,aACA,YACA,eACA,kBACA,eACA,aACA,aACA,iBAEA,iBACA,sFACA,IAEA,WAIA,kBACA,qBAIA,WACA,WACA,uBACA,gCACA,CAAK,EACL,uBACA,oBACA,CAAK,EAIL,mBAEA,MAEA,QACA,SACA,SACA,SACA,QACA,UACA,YACA,WACA,YACA,YACA,cACA,aACA,cACA,eACA,gBACA,gBACA,iBACA,iBACA,kBACA,kBACA,aACA,mBACA,oBACA,0BACA,2BACA,oBACA,eAGA,aACA,kCACA,6CACA,4CACA,kBACA,aACA,wBACA,uBACA,kBACA,eACA,EAEA,CAEA,CAAC,mBCtjLD,4CACA,QACA,WACA,OAAe,EAAQ,KAA6B,CACpD,EACA,SAFsB,0D6GHFA,EAEhBA,wF5GeJ,IAAMC,EAAkB,CACtBC,WAAY,YAEZC,QAAS,SAAUC,CAAK,EACtB,MAAO,CAACA,GAAS,CAACA,EAAMC,YAAY,EAAkC,IAA9BD,EAAMC,YAAY,CAACC,MAAM,CAErE,EAEAC,CAAAA,EAAAA,EAAAA,KAAAA,CAAKA,CAAC,GAAuC,OAApCP,iBAAmC,CAAC,0BAAwBQ,EAAAA,0BAA0BA,CAAEP,iBCPjG,IAAMQ,EAAoC,CACxCP,WAAY,sBAEZC,QAAS,SAAUC,CAAK,EACtB,MAAO,CAACA,GAAS,CAACA,EAAMM,UAAU,CAEtC,EAEAH,CAAAA,EAAAA,EAAAA,KAAAA,CAAKA,CAAE,mDAAkDH,QAM/BA,EAAAA,EAAAA,EAAAA,EALxB,MACE,UAACO,EAAAA,SAASA,CAAAA,CACRC,UAAU,IACT,GAAGR,CAAK,CACTS,QAAQ,EACRC,MAAOC,CAAAA,EAAAA,EAAAA,EAAAA,CAAYA,OAACX,EAAAA,KAAAA,EAAAA,QAAAA,CAAAA,CAAAA,EAAOU,KAAAA,GAAPV,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,OAAAA,GAAAA,EAAcY,OAAAA,GAAdZ,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,QAAAA,EAAAA,EAAuBa,IAAAA,GAAvBb,KAAAA,IAAAA,EAAAA,KAAAA,EAAuC,QAAvCA,EAAAA,CAA6B,CAAC,SAAS,GAAvCA,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,EAAyCc,cAAc,GAGjF,EAAGT,kHChCI,IAAMU,EAAkBC,EAAAA,OAAMA,CAACC,GAAG,4HAEdC,CAAAA,EAAAA,EAAAA,EAAAA,CAAKA,CAAC,IAAQC,EAAAA,CAAaA,CAACC,KAAK,CAAC,SAAY,EAQ5DC,EAAYL,EAAAA,OAAMA,CAACC,GAAG,2QACnBE,EAAAA,CAAaA,CAACG,UAAU,CAACC,EAAE,CAErBL,CAAAA,EAAAA,EAAAA,EAAAA,CAAKA,CAAC,GACLA,CAAAA,EAAAA,EAAAA,EAAAA,CAAKA,CAAC,GACDA,CAAAA,EAAAA,EAAAA,EAAAA,CAAKA,CAAC,IAAQC,EAAAA,CAAaA,CAACC,KAAK,CAAC,SAAY,CACnDF,CAAAA,EAAAA,EAAAA,EAAAA,CAAKA,CAAC,GASVA,CAAAA,EAAAA,EAAAA,EAAAA,CAAKA,CAAC,KACvB,EAEuB,GACvB,EACS,SADM,oBAGFC,MAAAA,CADWA,EAAAA,CAAaA,CAACC,KAAK,CAAC,OAAU,CAAC,+BACZ,OAA9BD,EAAAA,CAAaA,CAACC,KAAK,CAAC,MAAS,CAAC,2LAQpC,GAGII,EAAwBR,EAAAA,OAAMA,CAACC,GAAG,8KACzBE,EAAAA,CAAaA,CAACC,KAAK,CAAC,MAAS,CAClCF,CAAAA,EAAAA,EAAAA,EAAAA,CAAKA,CAAC,IACHA,CAAAA,EAAAA,EAAAA,EAAAA,CAAKA,CAAC,IAGRA,CAAAA,EAAAA,EAAAA,EAAAA,CAAKA,CAAC,IAAcC,EAAAA,CAAaA,CAACC,KAAK,CAAC,SAAY,CAGlE,OAAC,WAAEK,CAAS,CAAE,UAAKC,EAAiBD,KACtC,EAEwBT,CAAAA,EAAAA,EAAAA,OAAAA,CAAMA,CAACW,EAAAA,CAAIA,EAAAA,UAAAA,CAAAA,kDACtBT,CAAAA,EAAAA,EAAAA,EAAAA,CAAKA,CAAC,KAGRU,EAAUZ,EAAAA,OAAMA,CAACa,CAAC,8DAChBX,CAAAA,EAAAA,EAAAA,EAAAA,CAAKA,CAAC,KAGKF,CAAAA,EAAAA,EAAAA,OAAAA,CAAMA,CAACc,EAAAA,CAAIA,EAAAA,UAAAA,CAAAA,6DACtBZ,CAAAA,EAAAA,EAAAA,EAAAA,CAAKA,CAAC,KACnB,IAEWa,EAA4Bf,EAAAA,OAAMA,CAACC,GAAG,6KAE3BE,EAAAA,CAAaA,CAACC,KAAK,CAAC,MAAS,EAQxCY,EAAqBhB,EAAAA,OAAMA,CAACC,GAAG,sGAE9BC,CAAAA,EAAAA,EAAAA,EAAAA,CAAKA,CAAC,IAElB,EAEqCF,EAAAA,OAAMA,CAACC,GAAG,sQACxBC,CAAAA,EAAAA,EAAAA,EAAAA,CAAKA,CAAC,IAAQC,EAAAA,CAAaA,CAACC,KAAK,CAAC,SAAY,CAEzDF,CAAAA,EAAAA,EAAAA,EAAAA,CAAKA,CAAC,GAOAA,CAAAA,EAAAA,EAAAA,EAAAA,CAAKA,CAAC,IAETA,CAAAA,EAAAA,EAAAA,EAAAA,CAAKA,CAAC,CAAC,KACNA,CAAAA,EAAAA,EAAAA,EAAAA,CAAKA,CAAC,CAAC,IACLA,CAAAA,EAAAA,EAAAA,EAAAA,CAAKA,CAAC,KACxB,EAEyBF,EAAAA,OAAMA,CAACC,GAAG,yUAQPE,EAAAA,CAAaA,CAACc,IAAI,CAACC,iBAAiB,CAAIf,EAAAA,CAAaA,CAACc,IAAI,CAACE,KAAK,CAClFhB,EAAAA,CAAaA,CAACc,IAAI,CAACG,MAAM,CAAIjB,EAAAA,CAAaA,CAACc,IAAI,CAACI,SAAS,CAChDnB,CAAAA,EAAAA,EAAAA,EAAAA,CAAKA,CAAC,IACVC,EAAAA,CAAaA,CAACC,KAAK,CAAC,SAAY,CAC1BD,EAAAA,CAAaA,CAACc,IAAI,CAACK,YAAY,CAGnCnB,EAAAA,CAAaA,CAACC,KAAK,CAAC,MAAS,CACvBD,EAAAA,CAAaA,CAACc,IAAI,CAACM,gBAAgB,EAQ1D,EAE6BvB,EAAAA,OAAMA,CAACC,GAAG,kUAKpBC,CAAAA,EAAAA,EAAAA,EAAAA,CAAKA,CAAC,IAEVA,CAAAA,EAAAA,EAAAA,EAAAA,CAAKA,CAAC,CAAC,KACNA,CAAAA,EAAAA,EAAAA,EAAAA,CAAKA,CAAC,CAAC,KAgBZsB,CAFX,CAE+BxB,EAAAA,OAAMA,CAACC,GAAG,qEAIzC,ECrHyB,CAAC,WAAY,YAAa,UAAW,WAAY,UAAU,CAAC,8CCzChF,IAAMwB,EAAe,GAC1B,EAAIC,GACKC,GADC,EACIC,KAAK,OAACF,EAAAA,KAAAA,EAAAA,EAAMG,MAANH,KAAiB,ICkB1BI,EAAsF,QA0B/EC,EAqBAA,KA/CgF,MAClGA,CAAI,0BACJC,CAAwB,CACzB,GACOC,EAAUF,EAAKG,SAAS,EAAIH,EAAKI,OAAO,CACxCC,EAAUL,EAAKM,WAAW,QAChC,GAAe,CAACJ,EAGZ,OAHqB,CAGrB,EAACK,EAAWA,SAAAA,CACTF,GACC,UAACG,OAAAA,CACCC,UAAWC,CAAAA,EAAAA,EAAAA,CAAAA,CAAIA,CAAC,gBAChBC,wBAAyB,CACvBC,OAAQ,YAAmB,CAACZ,EAAKM,WAAW,CAAY,CAAEO,YAAY,CAAK,GAAmBC,SAAS,MAMxGZ,GAAWG,EAGlB,OAH2B,CAG3B,EAACE,EAAWA,SAAAA,CACV,WAACxB,EAAAA,CAAIA,CAAAA,CACHgC,OAAQrB,EAAaM,EAAKgB,QAANtB,KAAmB,EAAI,SAAW,QACtDuB,SAAUjB,QAAAA,EAAAA,EAAKI,OAAO,GAAZJ,KAAAA,IAAAA,EAAAA,EAAgB,GAC1BkB,cAAc,eACdC,yBAA0BC,CAAAA,EAAAA,EAAAA,CAAAA,CAAkBA,CAACnB,EAA0BD,EAAKG,SAAS,EACrFkB,mBAAoBpB,EAAyBoB,kBAAkB,WAE/D,UAACb,OAAAA,CACCC,UAAU,eACVE,wBAAyB,CACvBC,OAAQ,YAAmB,CAACZ,EAAKM,WAAW,CAAY,CAAEO,YAAY,CAAK,GAAmBC,SAAS,IAElG,IACT,UAACN,OAAAA,UAAMR,EAAKG,SAAS,QAIlBD,GAAW,CAACG,EAGnB,OAH4B,CAG5B,EAACE,EAAWA,SAAAA,CACV,UAACxB,EAAAA,CAAIA,CAAAA,CACHgC,OAAQrB,EAAaM,EAAKgB,QAANtB,KAAmB,EAAI,SAAW,QACtDuB,SAAsB,QAAZjB,EAAAA,EAAKI,OAAAA,GAALJ,KAAAA,IAAAA,EAAAA,EAAgB,GAC1BsB,KAAMtB,EAAKG,SAAS,CACpBe,cAAc,eACdC,yBAA0BC,CAAAA,EAAAA,EAAAA,CAAAA,CAAkBA,CAACnB,EAA0BD,EAAKG,SAAS,EACrFkB,mBAAoBpB,EAAyBoB,kBAAkB,KAK9D,IAEX,EAAE,ECzD2D,QAG9B1D,EACbA,EACOA,EACFA,EACAA,EACIA,EACRA,EAGHA,EACGA,EAqDCA,EAAgDA,EAKhDA,EAIMA,EAQTA,EA6BqBA,EAIHA,EAIWA,EAEjCA,EAUiCA,EAEjCA,EAUiCA,EAEjCA,EAUiCA,EAEjCA,EAWQA,EAAgDA,EAKjDA,EAKMA,EAvKVA,EACGA,KAb2C,OAAEA,CAAK,CAAE,GAC/DsC,EAA2B,CAC/BoB,mBAAoB,CAClBE,uBAAuB,OAAE5D,EAAAA,KAAAA,EAAAA,QAAAA,CAAAA,CAAAA,EAAO0D,kBAAAA,GAAP1D,KAAAA,MAAAA,KAAAA,EAAAA,EAA2B4D,uBAAuB,CAC3EC,UAAU,OAAE7D,EAAAA,KAAAA,EAAyB,QAAzBA,CAAAA,CAAAA,EAAO0D,kBAAAA,GAAP1D,KAAAA,MAAAA,KAAAA,EAAAA,EAA2B6D,UAAU,CACjDC,iBAAiB,OAAE9D,EAAAA,KAAAA,EAAAA,QAAAA,CAAAA,CAAAA,EAAO0D,kBAAAA,GAAP1D,KAAAA,MAAAA,KAAAA,EAAAA,EAA2B8D,iBAAiB,CAC/DC,eAAe,OAAE/D,EAAAA,KAAAA,EAAyB,QAAzBA,CAAAA,CAAAA,EAAO0D,kBAAAA,GAAP1D,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,EAA2B+D,eAAe,CAC3DC,eAAe,OAAEhE,EAAAA,KAAAA,EAAyB,QAAzBA,CAAAA,CAAAA,EAAO0D,kBAAkB,GAAzB1D,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,EAA2BgE,eAAe,CAC3DC,mBAAmB,CAAEjE,QAAAA,KAAAA,EAAAA,GAAAA,KAAAA,EAAAA,EAAO0D,kBAAAA,GAAP1D,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,EAA2BiE,mBAAmB,CACnEC,WAAW,OAAElE,EAAAA,KAAAA,EAAAA,QAAAA,CAAAA,CAAAA,EAAO0D,kBAAkB,GAAzB1D,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,EAA2BkE,WAC1C,EACAC,UAAW,CACTC,SAAUpE,OAAAA,SAAAA,EAAAA,KAAAA,EAAAA,QAAAA,CAAAA,CAAAA,EAAO0D,kBAAAA,GAAP1D,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,EAA2BqE,QAAAA,GAA3BrE,KAAAA,IAAAA,EAAAA,EAAuCsE,EAAAA,EAAuBA,CAACC,aAAa,CACtFC,YAA2D,QAA9CxE,QAAAA,EAAAA,KAAAA,EAAyB,QAAzBA,CAAAA,CAAAA,EAAO0D,kBAAkB,GAAzB1D,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,EAA2BiE,mBAAAA,GAA3BjE,KAAAA,IAAAA,EAAAA,EAAkDsE,EAAAA,EAAuBA,CAACC,aAAa,CAExG,EAEME,EAAe,OAAC,CACpBC,QAAM,CACNC,YAAU,CACVC,oBAAkB,CAKnB,GAWOC,EAAUC,CARS,CAACJ,EAAiCC,EAAoBC,KAC7E,IAAMC,EAAU,EAAE,CAClB,IAAK,IAAIE,EAAI,EAAGA,EAAIC,KAAKC,GAAG,CAACN,EAAYK,KAAKE,IAAI,CAACR,SAAAA,KAAAA,EAAAA,EAAQlF,CAARkF,KAAQlF,EAASoF,IAAsBG,IAAK,EACrFI,IAAI,OAACT,EAAAA,KAAAA,EAAAA,EAAQU,KAAK,CAACL,EAAdL,EAAsC,CAACK,GAAI,EAAKH,IAE/D,OAAOC,EACT,EAEiCH,EAAQC,EAAYC,GACrD,MACE,UAACS,EAAeA,CAACvC,UAAU,EAAXuC,kCACbR,EAAQS,GAAG,CAAC,CAACC,EAAQC,IAElB,UAACjF,MAAAA,CAAgBuC,UAAU,2BACxByC,EAAOD,GAAG,CAAC,CAACG,EAA8BV,IACzC,UAACxE,MAAAA,CAAIuC,UAAU,gBACb,UAACF,EAAWA,SAAAA,CACV,UAACxB,EAAAA,CAAIA,CAAAA,CACHgC,OAAQrB,EAAa0D,EAAMpC,QAAPtB,KAAoB,EAAI,SAAW,QACvDuB,SAAUmC,EAAMhD,OAAO,CACvBkB,KAAM8B,EAAMjD,SAAS,CACrBe,cAAc,eACdC,yBAA0BC,CAAAA,EAAAA,EAAAA,CAAAA,CAAkBA,CAACnB,EAA0BmD,EAAMjD,SAAS,EACtFkB,mBAAoBpB,EAAyBoB,kBAAkB,MAR1CqB,KAFrBS,KAoBpB,EAGA,MACE,iCACGzD,QAAa/B,EAAAA,EAAD+B,GAAC/B,EAAyB,QAAzBA,CAAAA,CAAAA,EAAO0F,kBAAAA,GAAP1F,KAAAA,MAAAA,KAAAA,EAAAA,EAA2B2F,gBAAgB,GAAK3F,CAAAA,QAAAA,KAAAA,EAAAA,GAAAA,KAAAA,EAAAA,EAAO4F,gBAAAA,GAAP5F,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,EAAyBR,MAAAA,EAAS,GAC9F,UAACqG,EAAuBA,UACtB,UAACC,CADqBD,CACrBC,CAASA,CAAAA,CACRC,WAAW,UACXC,GAAG,+BACHC,OAAQjG,OAAAA,EAAAA,KAAAA,EAAAA,QAAAA,CAAAA,CAAAA,EAAO0F,kBAAAA,GAAP1F,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,EAA2BkG,gBAAAA,IAAqB,WACxDC,EADqE,OAAO,MAE1E,UAACC,EAAUA,CACTC,OADSD,CACAE,EAAAA,EAAU,CAACzD,IAAI,CACxB0D,QAAQ,OAAEvG,EAAAA,KAAAA,EAAyB,QAAzBA,CAAAA,CAAAA,EAAO0F,kBAAAA,GAAP1F,KAAAA,MAAAA,KAAAA,EAAAA,EAA2BwG,gBAAgB,CACrDC,SAAUH,EAAAA,EAAU,CAACI,KAAK,CAC1BC,YAAa,8BAIjB,UAACpG,MAAAA,CAAIuC,UAAU,gDACb,UAACvC,MAAAA,CAAIuC,UAAU,wDACZ9C,EAAAA,KAAAA,EAAAA,QAAAA,CAAAA,CAAAA,EAAO4F,gBAAAA,GAAP5F,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,EAAyBsF,GAAG,CAACsB,GAE1B,UAACrG,MAAAA,CAAIuC,UAAU,oBACb,UAACF,EAAWA,SAAAA,CACV,UAACxB,EAAAA,CAAIA,CAAAA,CACHgC,OAAQrB,EAAa6E,EAAgBvD,QAAjBtB,KAA8B,EAAI,SAAW,QACjEuB,SAAUsD,EAAgBnE,OAAO,CACjCkB,KAAMiD,EAAgBpE,SAAS,CAC/Be,cAAc,eACdC,yBAA0BC,CAAAA,EAAAA,EAAAA,CAAAA,CAAkBA,CAC1CnB,EACAsE,EAAgBpE,SAAS,EAE3BkB,mBAAoBpB,EAAyBoB,kBAAkB,MAXtCkD,EAAgBpE,SAAS,WAwBtE,WAAC6C,EAAeA,CACdvC,UAAU,EADIuC,8BAEdwB,MAAO,CACLC,aAAe/E,QAAa/B,EAAAA,EAAD+B,GAAC/B,EAAAA,QAAAA,CAAAA,CAAAA,EAAO0F,kBAAAA,GAAP1F,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,EAA2B2F,gBAAgB,EAEnE,OADA,SAAuBlF,MAAAA,CAAdD,CAAAA,EAAAA,EAAAA,EAAAA,CAAKA,CAAC,IAAK,KAAoC,OAAjCC,EAAAA,CAAaA,CAACC,KAAK,CAAC,SAAY,EAE3D0D,SAAU,WACV2C,WAAYhF,QAAa/B,EAAAA,EAAD+B,GAAC/B,EAAAA,OAAAA,EAAAA,CAAAA,EAAO0F,kBAAAA,GAAP1F,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,EAA2B2F,gBAAgB,EAAInF,CAAAA,EAAAA,EAAAA,EAAAA,CAAKA,CAAC,IAAM,CACtF,YAEA,WAACD,MAAAA,CAAIuC,UAAU,yCACb,UAAC5B,EAAOA,CAAC4B,IAAD5B,MAAW,+BAAiBlB,EAAAA,KAAAA,EAAAA,QAAAA,CAAAA,CAAAA,EAAO0F,kBAAAA,GAAP1F,KAAAA,MAAAA,KAAAA,EAAAA,EAA2BgH,eAAe,GAC9E,UAAClF,EAAiBA,CAACgB,UAAU,IAAXhB,gCACf9B,EAAAA,KAAAA,EAAAA,QAAAA,CAAAA,CAAAA,EAAOiH,eAAAA,GAAPjH,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,EAAwBsF,GAAG,CAAC4B,GAEzB,UAAC3G,MAAAA,UACC,UAAC6B,EAAWA,CAACC,KAAM6E,EAAa5E,CAApBF,wBAA8CE,KADlD4E,EAAY1E,SAAS,QAOvC,WAACjC,MAAAA,CAAIuC,UAAU,yCACb,UAAC5B,EAAOA,CAAC4B,IAAD5B,MAAW,+BAAiBlB,EAAAA,KAAAA,EAAAA,QAAAA,CAAAA,CAAAA,EAAO0F,kBAAAA,GAAP1F,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,EAA2BmH,eAAe,GAC9E,UAACrF,EAAiBA,CAACgB,UAAU,IAAXhB,gCACf9B,EAAAA,KAAAA,EAAsB,QAAtBA,CAAAA,CAAAA,EAAOoH,eAAAA,GAAPpH,KAAAA,MAAAA,KAAAA,EAAAA,EAAwBsF,GAAG,CAAC+B,GAEzB,UAAC9G,MAAAA,UACC,UAAC6B,EAAWA,CAACC,KAAMgF,EAAgB/E,CAAvBF,wBAAiDE,KADrD+E,EAAe7E,SAAS,QAO1C,WAACjC,MAAAA,CAAIuC,UAAU,yCACb,UAAC5B,EAAOA,CAAC4B,IAAD5B,MAAW,+BAAiBlB,EAAAA,KAAAA,EAAAA,QAAAA,CAAAA,CAAAA,EAAO0F,kBAAAA,GAAP1F,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,EAA2BsH,aAAa,GAC5E,UAACxF,EAAiBA,CAACgB,UAAU,IAAXhB,gCACf9B,EAAAA,KAAAA,EAAAA,QAAAA,CAAAA,CAAAA,EAAOuH,aAAAA,GAAPvH,KAAAA,MAAAA,KAAAA,EAAAA,EAAsBsF,GAAG,CAACkC,GAEvB,UAACjH,MAAAA,UACC,UAAC6B,EAAWA,CAACC,KAAMmF,EAAclF,CAArBF,wBAA+CE,KADnDkF,EAAahF,SAAS,QAOxC,WAACjC,MAAAA,CAAIuC,UAAU,yCACb,UAAC5B,EAAOA,CAAC4B,IAAD5B,MAAW,+BAAiBlB,EAAAA,KAAAA,EAAAA,QAAAA,CAAAA,CAAAA,EAAO0F,kBAAAA,GAAP1F,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,EAA2ByH,YAAY,GAC3E,UAAC3F,EAAiBA,CAACgB,UAAU,IAAXhB,gCACf9B,EAAAA,KAAAA,EAAmB,QAAnBA,CAAAA,CAAAA,EAAO0H,YAAAA,GAAP1H,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,EAAqBsF,GAAG,CAACqC,GAEtB,UAACpH,MAAAA,UACC,UAAC6B,EAAWA,CAACC,KAAMsF,EAAarF,CAApBF,wBAA8CE,KADlDqF,EAAYnF,SAAS,WASxC,CAACT,QAAa/B,EAAAA,EAAD+B,GAAC/B,EAAAA,QAAAA,CAAAA,CAAAA,EAAO0F,kBAAAA,GAAP1F,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,EAA2B2F,gBAAgB,GAAK3F,OAAAA,EAAAA,KAAAA,EAAuB,QAAvBA,CAAAA,CAAAA,EAAO4F,gBAAAA,GAAP5F,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,EAAyBR,MAAAA,EAAS,GAC/F,UAAC8B,EAAkBA,UACjB,MADiBA,EACjB,EAACwE,EAAAA,CAASA,CAAAA,CACRC,WAAW,UACXC,GAAG,gCACHC,OAAQjG,OAAAA,EAAAA,KAAAA,EAAyB,QAAzBA,CAAAA,CAAAA,EAAO0F,kBAAAA,GAAP1F,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,EAA2BkG,gBAAAA,IAAqB,WACxDS,EADqE,OAAO,GAChE,yBACZR,eACE,UAACC,EAAUA,CACTC,OADSD,CACAE,EAAAA,EAAU,CAACzD,IAAI,CACxB0D,QAAQ,OAAEvG,EAAAA,KAAAA,EAAyB,QAAzBA,CAAAA,CAAAA,EAAO0F,kBAAkB,GAAzB1F,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,EAA2BwG,gBAAgB,CACrDC,SAAUH,EAAAA,EAAU,CAACI,KAAK,YAI9B,UAACjC,EAAAA,CAAaC,MAAM,OAAE1E,EAAAA,KAAAA,EAAAA,EAAO4F,OAAP5F,SAAuB,CAAE2E,WAAY,EAAGC,mBAAoB,UAM9F,EAAE,EC5M4D,QAG/B5E,EACbA,EACOA,EACFA,EACAA,EACIA,EACRA,EAGHA,EACGA,EAMVA,EAPOA,EACGA,KAb4C,OAAEA,CAAK,CAAE,GAChEsC,EAA2B,CAC/BoB,mBAAoB,CAClBE,uBAAuB,OAAE5D,EAAAA,KAAAA,EAAAA,QAAAA,CAAAA,CAAAA,EAAO0D,kBAAAA,GAAP1D,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,EAA2B4D,uBAAuB,CAC3EC,UAAU,OAAE7D,EAAAA,KAAAA,EAAyB,QAAzBA,CAAAA,CAAAA,EAAO0D,kBAAkB,GAAzB1D,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,EAA2B6D,UAAU,CACjDC,iBAAiB,OAAE9D,EAAAA,KAAAA,EAAyB,QAAzBA,CAAAA,CAAAA,EAAO0D,kBAAAA,GAAP1D,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,EAA2B8D,iBAAiB,CAC/DC,eAAe,OAAE/D,EAAAA,KAAAA,EAAyB,OAAzBA,EAAAA,CAAAA,EAAO0D,kBAAkB,GAAzB1D,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,EAA2B+D,eAAe,CAC3DC,eAAe,CAAEhE,QAAAA,KAAAA,EAAyB,GAAzBA,KAAAA,EAAAA,EAAO0D,kBAAkB,GAAzB1D,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,EAA2BgE,eAAe,CAC3DC,mBAAmB,OAAEjE,EAAAA,KAAAA,EAAAA,QAAAA,CAAAA,CAAAA,EAAO0D,kBAAAA,GAAP1D,KAAAA,MAAAA,KAAAA,EAAAA,EAA2BiE,mBAAmB,CACnEC,WAAW,CAAElE,QAAAA,KAAAA,EAAAA,GAAAA,KAAAA,EAAAA,EAAO0D,kBAAAA,GAAP1D,KAAAA,MAAAA,KAAAA,EAAAA,EAA2BkE,WAAW,EAErDC,UAAW,CACTC,SAA6C,QAAnCpE,QAAAA,EAAAA,KAAAA,EAAAA,QAAAA,CAAAA,CAAAA,EAAO0D,kBAAAA,GAAP1D,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,EAA2BqE,QAAAA,GAA3BrE,KAAAA,IAAAA,EAAAA,EAAuCsE,EAAAA,EAAuBA,CAACC,aAAa,CACtFC,YAA2D,QAA9CxE,QAAAA,EAAAA,KAAAA,EAAAA,QAAAA,CAAAA,CAAAA,EAAO0D,kBAAAA,GAAP1D,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,EAA2BiE,mBAAmB,GAA9CjE,KAAAA,MAAAA,EAAkDsE,EAAAA,EAAuBA,CAACC,aACzF,CACF,EACA,MACE,UAAChE,MAAAA,CAAIuC,UAAU,0BACb,UAACnC,EAASA,CAACmC,MAADnC,IAAW,oDAClBX,EAAAA,KAAAA,EAAAA,QAAAA,CAAAA,CAAAA,EAAO4H,cAAAA,GAAP5H,KAAAA,MAAAA,KAAAA,EAAAA,EAAuBsF,GAAG,CAACuC,GAExB,UAACtH,MAAAA,CAAkCuC,UAAU,iDAC3C,UAACV,EAAWA,CAACC,KAAMwF,EAAevF,CAAtBF,wBAAgDE,KADpDuF,EAAcrF,SAAS,MAQ7C,EAAE,ECTyC,QAUZxC,EACbA,EACOA,EACFA,EACAA,EACIA,EACRA,EAGHA,EACGA,EAsBVA,EAMEA,EAOYA,EAkCcA,EAgBMA,EACRA,EAvFnBA,EACGA,EAnBjB,GAAM,OAAEA,CAAK,CAAE,CAAGV,EAEZ,CAACwI,EAAwBC,EAA0B,CAAGC,CAAAA,EAAAA,EAAAA,QAAAA,CAAQA,CAAU,IAExE1F,EAGF,CACFoB,mBAAoB,CAClBE,uBAAuB,OAAE5D,EAAAA,KAAAA,EAAAA,QAAAA,CAAAA,CAAAA,EAAO0D,kBAAAA,GAAP1D,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,EAA2B4D,uBAAuB,CAC3EC,UAAU,OAAE7D,EAAAA,KAAAA,EAAyB,QAAzBA,CAAAA,CAAAA,EAAO0D,kBAAAA,GAAP1D,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,EAA2B6D,UAAU,CACjDC,iBAAiB,OAAE9D,EAAAA,KAAAA,EAAAA,OAAAA,EAAAA,CAAAA,EAAO0D,kBAAAA,GAAP1D,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,EAA2B8D,iBAAiB,CAC/DC,eAAe,CAAE/D,QAAAA,KAAAA,EAAAA,GAAAA,KAAAA,EAAAA,EAAO0D,kBAAAA,GAAP1D,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,EAA2B+D,eAAe,CAC3DC,eAAe,OAAEhE,EAAAA,KAAAA,EAAAA,QAAAA,CAAAA,CAAAA,EAAO0D,kBAAAA,GAAP1D,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,EAA2BgE,eAAe,CAC3DC,mBAAmB,OAAEjE,EAAAA,KAAAA,EAAAA,QAAAA,CAAAA,CAAAA,EAAO0D,kBAAAA,GAAP1D,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,EAA2BiE,mBAAmB,CACnEC,WAAW,OAAElE,EAAAA,KAAAA,EAAyB,QAAzBA,CAAAA,CAAAA,EAAO0D,kBAAAA,GAAP1D,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,EAA2BkE,WAAW,EAErDC,UAAW,CACTC,SAA6C,QAAnCpE,EAAAA,QAAAA,KAAAA,EAAyB,GAAzBA,KAAAA,EAAAA,EAAO0D,kBAAkB,GAAzB1D,KAAAA,MAAAA,KAAAA,EAAAA,EAA2BqE,QAAAA,GAA3BrE,KAAAA,IAAAA,EAAAA,EAAuCsE,EAAAA,EAAuBA,CAACC,aAAa,CACtFC,YAA2D,QAA9CxE,QAAAA,EAAAA,KAAAA,EAAAA,QAAAA,CAAAA,CAAAA,EAAO0D,kBAAAA,GAAP1D,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,EAA2BiE,mBAAAA,GAA3BjE,KAAAA,IAAAA,EAAAA,EAAkDsE,EAAAA,EAAuBA,CAACC,aAAa,CAExG,EAiBA,MAfA0D,CAAAA,EAAAA,EAAAA,SAAAA,CAASA,CAAC,KAGR,IAAIC,EAAW,EACTC,EAAc,SACdC,EAAAA,EAAJ,SAAIA,EAAAA,MAAAA,GAAAA,KAAAA,IAAAA,EAAAA,KAAAA,EAAkB,QAAlBA,EAAAA,EAAQC,UAAU,GAAlBD,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,EAAqB,KAAQ,EAAE,OAC1BC,EADe,QACL,CAAC,KAAQ,CAAC,gBAClBH,EAAW,IAAI,CACxBA,IACAI,WAAWH,EAAa,KAE5B,EACAA,GACF,EAAG,EAAE,EAGH,UAACI,EAAAA,CAAuBA,CAACC,QAAQ,EAAC/C,MAAO,wBAAEqC,4BAAwBC,CAA0B,WAC3F,WAAC1H,EAAeA,CAACyC,UAAU,EAAXzC,oBACbL,SAAAA,KAAAA,EAAyB,EAAzBA,MAAAA,EAAAA,EAAO0F,kBAAkB,GAAzB1F,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,EAA2ByI,SAAAA,IAAc,WACxC,UAACC,EAAcA,CAAC1I,MAAOA,IAEvB,CAFe0I,EAEf,OAACC,EAAeA,CAAC3I,MAAOA,IAE1B,EAFkB2I,CAElB,QAACpI,MAAAA,CAAIuC,UAAU,0CACZ9C,OAAAA,EAAAA,KAAAA,EAAAA,QAAAA,CAAAA,CAAAA,EAAO4I,WAAAA,GAAP5I,KAAAA,MAAAA,KAAAA,EAAAA,EAAoBR,MAAAA,GAAU,GAC7B,UAACe,MAAAA,CAAIuC,UAAU,0BACb,UAACvC,MAAAA,CAAIuC,UAAU,mBAAmBkD,GAAG,sBACnC,UAACzF,MAAAA,CAAIuC,UAAU,oCACb,WAACvC,MAAAA,CAAIuC,UAAU,sDACb,UAAC5B,EAAOA,CAAC4B,IAAD5B,MAAW,oCAAsBlB,EAAAA,KAAAA,EAAAA,EAAO0F,OAAP1F,WAAyB,CAAC6I,WAAW,GAC9E,UAACtI,MAAAA,CAAIuC,UAAU,wBACZ9C,EAAAA,KAAAA,EAAAA,QAAAA,CAAAA,CAAAA,EAAO4I,WAAAA,GAAP5I,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,EAAoBsF,GAAG,CAAC,CAACwD,EAAYtD,IAElC,UAACjF,MAAAA,CAAIuC,UAAU,gBACb,UAAC1B,EAAAA,CAAIA,CAAAA,CACHmC,cAAc,gBACdwF,UAAWC,CAAW,CAACxD,EAAM,CAC7BlC,SAAUwF,EAAWrG,OAAO,CAC5Be,yBAA0BC,CAAAA,EAAAA,EAAAA,CAAAA,CAAkBA,CAC1CnB,EACAwG,EAAWtG,SAAS,EAEtBkB,mBAAoBpB,EAAyBoB,kBAAkB,UAE/D,UAACb,OAAAA,CAAKC,UAAW,QAA2B,OAAnBkG,CAAW,CAACxD,EAAM,CAAC,sBAXrBsD,EAAWtG,SAAS,cAsB/D,WAACjC,MAAAA,CACCuC,UAAWC,CAAAA,EAAAA,EAAAA,CAAAA,CAAIA,CACb,sGACA,CAAE,aAAc+E,CAAuB,aAGzC,UAACvH,MAAAA,CACCuC,UAAU,wDACVE,wBAAyB,CACvBC,OAAQ,YACY,OAACjD,EAAAA,KAAAA,EAAAA,QAAAA,CAAAA,CAAAA,EAAO0F,kBAAAA,GAAP1F,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,EAA2BiJ,oBAAoB,CAAY,CAC5E/F,YAAY,CACd,GACAC,SAAS,IAGf,UAAC9B,EAAyBA,UACxB,UAAC6H,EAAAA,CAAgBA,CAAAA,CACfC,gBAAgB,2BAChBC,kBAAmB,SAGmBpJ,QAFpC,WAACO,MAAAA,CAAIuC,UAAU,oEACb,UAACD,OAAAA,CAAKC,UAAU,iCAAkC,IAClD,UAAC3B,IAAAA,CAAE2B,UAAU,mCAAqB9C,EAAAA,KAAAA,EAAyB,QAAzBA,CAAAA,CAAAA,EAAO0F,kBAAkB,GAAzB1F,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,EAA2BqJ,aAAa,OAG9EC,UAAW,CACT1F,uBAAuB,OAAE5D,EAAAA,KAAAA,EAAAA,QAAAA,CAAAA,CAAAA,EAAO0D,kBAAkB,GAAzB1D,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,EAA2B4D,uBAAuB,CAC3E,eAAe,OAAE5D,EAAAA,KAAAA,EAAAA,QAAAA,CAAAA,CAAAA,EAAO0F,kBAAAA,GAAP1F,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,EAA2BqJ,aAAa,CACzD3D,kBAAkB,OAAE1F,EAAAA,KAAAA,EAAAA,EAAO0F,OAAP1F,WAAyB,CAC7C0D,kBAAkB,OAAEpB,EAAAA,KAAAA,EAAAA,EAA0BoB,kBAAkB,CAChE6F,OAAO,OAAEvJ,EAAAA,KAAAA,EAAAA,EAAOuJ,OAAPvJ,SAKjB,UAACO,MAAAA,CAAIuC,UAAU,eACb,UAACvC,MAAAA,CAAIuC,UAAU,uCAAuC0G,aAAW,6BAM7E,EAGaC,EAAS,QAgBfnK,EAPiEA,EARtE,IAAMoK,EAAe,CACnBtK,WAAY,SACZC,QAAS,KAAM,EACfsK,aAAe,0DACf3D,GAAI,EACN,EAEM4D,EACJ,UAAC9I,EAAqBA,CAACgC,UAAU,QAAXhC,gBAAmCC,UAA2B,QAAhBzB,QAAAA,EAAAA,KAAAA,EAAAA,EAAOyB,OAAPzB,EAAgB,GAAhBA,KAAAA,IAAAA,GAAAA,WAClE,QADsF,EACrFuK,EAAAA,CAAY,GAAGvK,CAAK,KAIzB,MACE,UAACiB,MAAAA,CAAIyF,GAAG,mBAAmB8D,sBAAoB,yBAAyBC,cAAY,gCACjFzK,CAAAA,QAAAA,EAAAA,EAAM0K,MAAAA,GAAN1K,KAAAA,MAAAA,KAAAA,EAAAA,EAAc2K,QAAQ,CAAC,uBACtBL,EAEA,UAACM,EAAAA,iBAAiBA,CAAAA,CAAE,GAAG5K,CAAK,CAAE6K,OAAQT,WACnCE,KAKX,EAAE,wBCzJF,IAAMQ,EAAqBC,IAAQ,IAAM,SAAPA,CAAO,qBAAwC,CAACC,IAAI,CAACC,GAAOA,EAAIH,kBAAkB,6CACzFC,IAAQ,IAAM,SAAPA,CAAO,qBAAwC,CAACC,IAAI,CAACC,GAAOA,EAAIC,kBAAkB,6CAC9EH,IAAQ,IAC5C,SAD2CA,CAC3C,qBAAmD,CAACC,IAAI,CAACC,GAAOA,EAAIE,6BAA6B,6CAErEJ,IAAQ,IACpC,SADmCA,EACnC,sDAA2C,CAACC,IAAI,CAACC,GAAOA,EAAIG,qBAAqB,6CAE7DL,IAAQ,IAAM,SAAPA,CAAO,qBAAmC,CAACC,IAAI,CAACC,GAAOA,EAAII,aAAa,6CAC1EN,IAAQ,IAAM,SAAPA,CAAO,qBAAwC,CAACC,IAAI,CAACC,GAAOA,EAAIK,kBAAkB,6CACpH,IAAMC,EAAcR,IAAQ,IAAM,SAAPA,CAAO,qBAAiC,CAACC,IAAI,CAACC,GAAOA,EAAIM,WAAW,6CAC1ER,IAAQ,IAAM,SAAPA,CAAO,qBAAkC,CAACC,IAAI,CAACC,GAAOA,EAAIO,YAAY,6CACjFT,IAAQ,IAAM,SAAPA,CAAO,oBAA8B,CAACC,IAAI,CAACC,GAAOA,EAAIQ,QAAQ,4CACpEV,IAAQ,IAAM,SAAPA,CAAO,qBAA+B,CAACC,IAAI,CAACC,GAAOA,EAAIS,SAAS,6CACzDX,IAAQ,IACtC,SADqCA,CACrC,qBAA6C,CAACC,IAAI,CAACC,GAAOA,EAAIU,uBAAuB,6CAEvF,IAAMC,EAA6Bb,IAAQ,IACzC,SADwCA,EACxC,qDAAyC,CAACC,IAAI,CAACC,GAAOA,EAAIW,0BAA0B,6CAEhFC,GAA+Bd,IAAQ,IAC3C,SAD0CA,EAC1C,qDAAgC,CAACC,IAAI,CAACC,GAAOA,EAAIY,4BAA4B,6CAEzEC,GAAoBf,IAAQ,IAAM,SAAPA,EAAO,qDAAgC,CAACC,IAAI,CAACC,GAAOA,EAAIa,iBAAiB,ilICzC1G,IAAMC,GAAkB,UAEXC,GAAoBhL,EAAAA,OAAMA,CAACC,GAAG,mDACvCgL,CAAAA,EAAAA,GAAAA,CAAAA,CAAGA,CAAAA,KAcU9K,EAAAA,CAAaA,CAACG,UAAU,CAAC4K,EAAE,CACXhL,CAAAA,EAAAA,EAAAA,EAAAA,CAAKA,CAAC,GAAMC,EAAAA,CAAaA,CAACC,KAAK,CAAC+K,SAAS,CAOhDhL,EAAAA,CAAaA,CAACC,KAAK,CAACgL,MAAM,CAG/BjL,EAAAA,CAAaA,CAACG,UAAU,CAAC+K,EAAE,CAG3BlL,EAAAA,CAAaA,CAACG,UAAU,CAAC+K,EAAE,CAKrBnL,CAAAA,EAAAA,EAAAA,EAAAA,CAAKA,CAAC,IAONC,EAAAA,CAAaA,CAACc,IAAI,CAAC,iBAAoB,CAKjCf,CAAAA,EAAAA,EAAAA,EAAAA,CAAKA,CAAC,GAAMC,EAAAA,CAAaA,CAACC,KAAK,CAAC+K,SAAS,CAEvDhL,EAAAA,CAAaA,CAACG,UAAU,CAACC,EAAE,CAMpBL,CAAAA,EAAAA,EAAAA,EAAAA,CAAKA,CAAC,IACPA,CAAAA,EAAAA,EAAAA,EAAAA,CAAKA,CAAC,IACVC,EAAAA,CAAaA,CAACG,UAAU,CAACC,EAAE,CACpBL,CAAAA,EAAAA,EAAAA,EAAAA,CAAKA,CAAC,IACPA,CAAAA,EAAAA,EAAAA,EAAAA,CAAKA,CAAC,KAEZC,EAAAA,CAAaA,CAACG,UAAU,CAAC+K,EAAE,CACpBnL,CAAAA,EAAAA,EAAAA,EAAAA,CAAKA,CAAC,IACPA,CAAAA,EAAAA,EAAAA,EAAAA,CAAKA,CAAC,KAeEA,CAAAA,EAAAA,EAAAA,EAAAA,CAAKA,CAAC,GAAMC,EAAAA,CAAaA,CAACC,KAAK,CAAC+K,SAAS,CACxCjL,CAAAA,EAAAA,EAAAA,EAAAA,CAAKA,CAAC,GAAMC,EAAAA,CAAaA,CAACC,KAAK,CAAC+K,SAAS,CACtDhL,EAAAA,CAAaA,CAACG,UAAU,CAACC,EAAE,CAGzBJ,EAAAA,CAAaA,CAACG,UAAU,CAAC+K,EAAE,CAqC9BnL,CAAAA,EAAAA,EAAAA,EAAAA,CAAKA,CAAC,GAAYC,EAAAA,CAAaA,CAACC,KAAK,CAAC+K,SAAS,CACvCjL,CAAAA,EAAAA,EAAAA,EAAAA,CAAKA,CAAC,GAAU6K,GAA4B7K,CAAAA,EAAAA,EAAAA,EAAAA,CAAKA,CAAC,CAAC,GAAU6K,GAC1E5K,EAAAA,CAAaA,CAACG,UAAU,CAAC4K,EAAE,CAM3BhL,CAAAA,EAAAA,EAAAA,EAAAA,CAAKA,CAAC,IAECC,EAAAA,CAAaA,CAACC,KAAK,CAACgL,MAAM,CAE/BjL,EAAAA,CAAaA,CAACG,UAAU,CAACC,EAAE,CACtBL,CAAAA,EAAAA,EAAAA,EAAAA,CAAKA,CAAC,CAAC,IAeVC,EAAAA,CAAaA,CAACC,KAAK,CAACkL,SAAS,CACpBpL,CAAAA,EAAAA,EAAAA,EAAAA,CAAKA,CAAC,GAIfC,EAAAA,CAAaA,CAACG,UAAU,CAAC4K,EAAE,CAEvB/K,EAAAA,CAAaA,CAACC,KAAK,CAACmL,MAAM,CACpBpL,EAAAA,CAAaA,CAACc,IAAI,CAAC,gBAAmB,CAE3Bf,CAAAA,EAAAA,EAAAA,EAAAA,CAAKA,CAAC,GAAMsL,GAAAA,CAAkBA,CAACC,kBAAkB,CAMpEtL,EAAAA,CAAaA,CAACC,KAAK,CAACmL,MAAM,CACpBpL,EAAAA,CAAaA,CAACc,IAAI,CAAC,gBAAmB,CAE3Bf,CAAAA,EAAAA,EAAAA,EAAAA,CAAKA,CAAC,GAAMsL,GAAAA,CAAkBA,CAACC,kBAAkB,GAUvF,4BCpL2D3D,OAAO4D,QAAQ,CAErE,CAFuE,GAEjEC,GAAyB,IACpC,IAAIC,EAAS,GACPC,EAAMC,EAAYC,KAAK,CAAC,KAC1BtH,EAAI,EACR,GAAIoH,EAAI3M,MAAM,CAAG,EAAG,CAClB,KAAOuF,EAAIoH,EAAI3M,MAAM,CAAG,EAAG,CACf,IAANuF,GAAWA,EAAIoH,EAAI3M,MAAM,CAAG,EAAG2M,CAAG,CAACpH,EAAE,EAAI,IACxCoH,CAAG,CAACpH,EAAE,EAAI,IACfA,IAEFmH,EAASC,EAAIG,IAAI,CAAC,GACpB,KAAO,CACL,IAAMC,EAAIJ,EAAIK,QAAQ,GACtBN,EAAS,GAAoBK,MAAAA,CAAjBA,EAAEnH,KAAK,CAAC,EAAG,GAAG,KAAoBmH,MAAAA,CAAjBA,EAAEnH,KAAK,CAAC,EAAG,GAAG,KAAoBmH,MAAAA,CAAjBA,EAAEnH,KAAK,CAAC,EAAG,GAAG,KAAwB,OAArBmH,EAAEnH,KAAK,CAAC,EAAGmH,EAAE/M,MAAM,EACpF,CACA,OAAO0M,CACT,EAAE,GAE4B,CAACO,EAAgBC,EAAgBC,IAOtDC,IANmBC,KAAKC,YAAY,CAACJ,EAAQ,CAClD7F,MAAO,WACP8F,SAAUA,EACVI,gBAAiB,MACnB,GAEqBC,MAAM,CAACP,GAAQQ,OAAO,CAACN,EAAU,IAAIO,IAAI,mBCvBzD,IAAMC,GAA0DC,QA4G/CA,EAQXC,EAAAA,EAMqBA,EAAAA,EAaaA,EAAAA,EAAAA,EAgBAA,EAAAA,EAA8CA,EAAAA,EAU1EA,EAAAA,EAAAA,EAAAA,EAAAA,EAMUA,EAAAA,EAAAA,EAAAA,EAEWA,EAAAA,EAAAA,EAAAA,EAAAA,EA7DhBD,EAoEFA,EA/KpB,GAAM,sBAAEE,CAAoB,CAAE,CAAGC,CAAAA,EAAAA,EAAAA,UAAAA,CAAUA,CAACC,GAAAA,CAAiBA,EACvD,MAAEH,EAAO,IAAI,CAAE,CAAGD,EAElBK,EAAW,UACf,GAAI,CACF,IAAMC,EAAW,MAAMC,MAAM,iDAAkD,CAC7EC,OAAQ,MACRC,QAAS,CACP,eAAgB,YAClB,CACF,GACA,GAAwB,MAApBH,EAASI,MAAM,CAAU,CAC3B,IAAMT,EAAO,MAAMK,EAASK,IAAI,GAC1BC,EAASC,WAAKZ,EAAAA,KAAAA,EAAAA,EAAMW,MAANX,EACda,EAASlC,SAASmC,aAAa,CAAC,SACtCD,GAAOE,GAAG,CAAG,gDAAuD,OAAPJ,GAC7DE,EAAOlI,EAAE,CAAG,eACZkI,EAAOG,KAAK,EAAG,EAGfrC,SAASsC,IAAI,CAACC,WAAW,CAACL,GAC1BA,EAAOM,gBAAgB,CAAC,OAAQ,SAAUC,CAAC,MAErCrG,EAAgBA,EAApB,GADAqG,EAAEC,cAAc,GACZtG,CAAAA,QAAAA,EAAAA,MAAAA,GAAAA,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,EAAQuG,IAAAA,GAAI,SAAIvG,EAAAA,MAAAA,GAAAA,KAAAA,MAAAA,KAAAA,EAAAA,EAAQuG,IAAI,CAACC,GAAAA,EAAK,CACpC,IAAMC,EAAQ,IAAIC,YAAY,sBAAuB,CAAEC,OAAQ,CAAEC,QAAQ,CAAK,CAAE,GAEhFhD,SAASiD,aAAa,CAACJ,EACzB,CACF,GACAK,QAAQC,GAAG,CAAC,eAAgB9B,EAC9B,CACF,CAAE,MAAO+B,EAAO,CACdF,QAAQC,GAAG,CAACC,EACd,CACF,EAEMC,EAAc,SAELjH,EADb,IAAMkH,EAAStD,SAASuD,aAAa,CAAC,+BAChCZ,EAAOvG,QAAAA,EAAAA,MAAAA,GAAAA,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,EAAQuG,IAAI,CACzB,GAAIW,EAAQ,CACV,IAAIE,EAAS,CAACF,EAAOG,IAAI,CAAC,CAE1B,GAAID,CAAM,CAAC,EAAE,CAACE,MAAM,CAAC,YAAc,EAAG,CACpC,IAAMC,EAASH,CAAM,CAAC,EAAE,CAACI,SAAS,CAACJ,CAAM,CAAC,EAAE,CAACE,MAAM,CAAC,YAEpDF,EAASA,CADTA,EAASG,EAASA,EAAOtD,KAAK,CAAC,KAAO,KACnBmD,EAAOhQ,MAAM,CAAG,EAAIgQ,CAAM,CAAC,EAAE,CAACnD,KAAK,CAAC,KAAO,EAChE,CAEA,IAAMwD,EAAML,GAAUA,EAAOhQ,MAAM,CAAG,EAAIgQ,CAAM,CAAC,EAAE,CAAG,KAChDM,EAAON,GAAUA,EAAOhQ,MAAM,CAAG,EAAIgQ,CAAM,CAAC,EAAE,CAAG,KAEvD,GAAIK,GAAOC,EAAM,CACf,IAAMC,EAAS,IAAIpB,EAAKqB,KAAK,CAACF,EAAMD,GAE9BI,EAAoB,IACxB,GAAoB,IAAhB5C,EAAKS,MAAM,CAAQ,CACrB,IAAI2B,EAAOH,EAAOG,IAAI,CAACpD,KAAK,CAAC,IAAI,CAAC,EAAE,CACpCoD,EAAO,GAAkBpC,MAAAA,CAAfoC,EAAK,YAAgCpC,MAAAA,CAAtBA,EAAK6C,MAAM,CAAC,EAAE,CAACL,GAAG,CAAC,KAAsB,OAAnBxC,EAAK6C,MAAM,CAAC,EAAE,CAACC,GAAG,EACjEb,EAAOG,IAAI,CAAGA,EACdH,EAAOc,SAAS,CAACC,MAAM,CAAC,cAC1B,CACF,EAEMC,EAAY,IAAI3B,EAAK4B,SAAS,CAC9BL,EAAS,EAAE,CACjBA,EAAO/K,IAAI,CAAC4K,GACZO,EAAUE,SAAS,CAACN,EAAQ,EAAG,EAAGD,EACpC,CACF,CACF,EAoBA,MAlBAhI,CAAAA,EAAAA,EAAAA,SAAAA,CAASA,CAAC,KACR+D,SAASwC,gBAAgB,CAAC,sBAAuB,eAC3CpG,EAAgBA,EAAhBA,CAAAA,QAAAA,EAAAA,MAAAA,GAAAA,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,EAAQuG,IAAAA,GAAI,SAAIvG,EAAAA,OAAOuG,IAAAA,GAAPvG,KAAAA,MAAAA,KAAAA,EAAAA,EAAawG,GAAAA,GAAK,IAGtC5C,SAASyE,mBAAmB,CAAC,sBAAuBpB,EACtD,GAEA,IAAMhL,EACJ+D,OAAOsI,SAAS,EAAItI,OAAOsI,SAAS,CAAC,0BAA6B,CAC7DtI,OAAOsI,SAAS,CAAC,0BAA6B,CAC/C,GACN,GAAIrM,GAAYsM,GAAAA,EAAgBA,CAAC1G,QAAQ,CAAC5F,GAAW,KACnD2H,CAAuB,SAAvBA,EAAAA,SAASuD,aAAa,CAAC,UAAvBvD,KAAAA,IAAAA,GAAAA,EAAgCoE,SAAS,CAACQ,GAAG,CAAC,gBAC9CnD,GACF,CACF,EAAG,EAAE,EAGH,iCACE,WAAClN,MAAAA,CAAIuC,UAAU,mHACb,UAAC+N,IAAAA,CACCpB,IAAI,OAAErC,EAAAA,KAAAA,EAAAA,EAAW0D,QAAQ,CACzB1N,EADMgK,KAEJE,OAAAA,EAAAA,KAAAA,EAAAA,EAAsByD,OAAAA,UAAWzD,EAAAA,GAAjCA,EAAiCA,EAAAA,EAAsB0D,GAAG,EACtD,QACA5D,OAAAA,EAF6BE,KAE7BF,EAAAA,EAAW6D,WAAX7D,UAAW6D,IAA0B,OACrC,SACA,QAENC,IAAI,sBAEJ,UAACC,GAAAA,CAAKA,CAAAA,CACJC,eAAe,OAAEhE,EAAAA,KAAAA,EAAAA,EAAWiE,WAAXjE,EAAwB,CACzCkE,OAAO,OAAElE,EAAAA,KAAAA,EAAAA,EAAWmE,WAAXnE,CACT/C,SAAS,EACTmH,WAAYpE,QAAAA,QAAAA,EAAAA,KAAAA,EAAuB,QAAvBA,EAAAA,EAAWqE,CAAXrE,WAAWqE,GAAXrE,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,EAAyBoE,UAAAA,GAAzBpE,KAAAA,MAAAA,EAAuC,EAAE,CACrDsE,MAAOtE,SAAAA,KAAAA,EAAAA,EAAWmE,IAAXnE,OAAWmE,GAAe,aACjCI,QAAQ,QACRhL,YAAY,wCAGhB,UAACpG,MAAAA,CAAIuC,UAAU,yCACb,UAAC3B,IAAAA,CAAE2B,UAAU,sFACVuK,QAAAA,KAAAA,EAAAA,EAAAA,MAAAA,EAAAA,EAAMuE,QAAAA,GAANvE,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,QAAAA,EAAAA,EAAgBwE,gBAAAA,GAAhBxE,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,EAAkCyE,IAAI,QAI7C,WAACvR,MAAAA,CAAIuC,UAAU,gIACb,UAACvC,MAAAA,CAAIuC,UAAU,2EACZ,QAACsK,EAAAA,KAAAA,EAAAA,EAAW2E,OAAAA,IAAX3E,MAAsBC,EAAAA,KAAAA,EAAc,QAAdA,EAAAA,EAAMuE,QAAAA,GAANvE,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,OAAAA,GAAAA,EAAgBwE,gBAAAA,GAAhBxE,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,EAAkCyE,IAAAA,GACxD,iCACE,UAACjP,OAAAA,CAAKC,UAAU,6EAChB,WAAC+N,IAAAA,CACC/N,UAAU,+JACVkP,SAAU,EACV5O,OACEkK,OAAAA,EAAAA,KAAAA,EAAAA,EAAsByD,OAAO,UAAIzD,EAAAA,GAAjCA,EAAiCA,EAAAA,EAAsB0D,GAAG,EACtD,QACA5D,OAAAA,EAAAA,KAAAA,EAAAA,EAAW6E,WAAX7E,IAA0B,IAAK,OAC/B,SACA,QAENqC,KAAM,UAAGyC,GAAAA,CAAMA,CAAC,iBAA4E,OAA7D7E,QAAAA,KAAAA,EAAAA,EAAAA,KAAAA,GAAAA,EAAMuE,QAAAA,GAANvE,KAAAA,MAAAA,KAAAA,EAAAA,QAAAA,EAAAA,EAAgBwE,gBAAAA,GAAhBxE,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,QAAAA,EAAAA,EAAkCyE,IAAAA,GAAlCzE,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,EAAwC8E,UAAU,CAAC,IAAK,MACvFjB,IAAI,uBAEJ,UAACrO,OAAAA,CAAKC,UAAU,2DAA6CsK,EAAAA,KAAAA,EAAAA,EAAWgF,WAAXhF,GAC7D,UAACvK,OAAAA,CAAKC,UAAU,0DAA4CsK,EAAAA,KAAAA,EAAAA,EAAWiF,WAAXjF,MAA4B,MAE1F,WAACyD,IAAAA,CACC/N,UAAU,wKACVkP,SAAU,EACV5O,OACEkK,OAAAA,EAAAA,KAAAA,EAAAA,EAAsByD,OAAO,UAAIzD,EAAAA,GAAjCA,EAAiCA,EAAAA,EAAsB0D,GAAAA,EACnD,QACA5D,OAAAA,EAF6BE,KAE7BF,EAAAA,EAAW6E,WAAX7E,IAAW6E,IAAoB,OAC/B,SACA,QAENxC,KAAM,UAAG6C,GAAAA,EAAWA,CAAC,yBAAUjF,EAAAA,KAAAA,EAAAA,QAAAA,EAAAA,EAAMuE,QAAAA,GAANvE,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,QAAAA,EAAAA,EAAgBwE,gBAAAA,GAAhBxE,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,EAAkCkF,QAAQ,CAAC,KAA+C,aAA5ClF,EAAAA,KAAAA,EAAAA,QAAAA,EAAAA,EAAMuE,QAAAA,GAANvE,KAAAA,IAAAA,EAAAA,KAAAA,EAAgC,QAAhCA,EAAAA,EAAgBwE,gBAAAA,GAAhBxE,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,EAAkCmF,SAAS,EACxHtB,IAAI,uBAEJ,UAACrO,OAAAA,CAAKC,UAAU,2DAA6CsK,EAAAA,KAAAA,EAAAA,EAAWgF,WAAXhF,GAC7D,UAACvK,OAAAA,CAAKC,UAAU,0DAA4CsK,EAAAA,KAAAA,EAAAA,EAAWiF,WAAXjF,MAA4B,WAKhG,UAAC7M,MAAAA,CAAIuC,UAAU,wFACZuK,UAAQA,EAAAA,KAAAA,EAAAA,QAAAA,EAAAA,EAAMuE,QAAAA,GAANvE,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,QAAAA,EAAAA,EAAgBoF,kBAAAA,GAAhBpF,KAAAA,MAAAA,KAAAA,EAAkD,QAAlDA,EAAAA,EAAoCqF,cAAAA,GAApCrF,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,QAAAA,EAAAA,CAAoD,CAAC,KAArDA,KAAAA,IAAAA,EAAAA,KAAAA,EAAoE,QAApEA,EAAAA,EAAyDjB,WAAAA,GAAzDiB,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,EAAsEsF,OAAO,GACpF,iCACE,UAAC9P,OAAAA,CAAKC,UAAU,qHAChB,UAAC+N,IAAAA,CACC/N,UAAU,uHACVkP,SAAU,EACVvC,KAAM,OAAoF,OAA7EpC,QAAAA,KAAAA,EAAc,EAAdA,KAAAA,GAAAA,EAAMuE,QAAAA,GAANvE,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,QAAAA,EAAAA,EAAgBoF,kBAAAA,GAAhBpF,KAAAA,MAAAA,KAAAA,EAAAA,QAAAA,EAAAA,EAAoCqF,cAAAA,GAApCrF,KAAAA,IAAAA,EAAAA,KAAAA,EAAmE,QAAnEA,EAAAA,CAAoD,CAAC,EAAE,CAACjB,WAAAA,GAAxDiB,KAAAA,MAAAA,KAAAA,EAAAA,EAAqEsF,OAAO,WAExF1G,SAAuBoB,EAAAA,KAAAA,EAAc,IAAfpB,IAACoB,EAAAA,EAAMuE,QAAQ,GAAdvE,KAAAA,IAAAA,EAAAA,KAAAA,EAAkC,QAAlCA,EAAAA,EAAgBoF,kBAAAA,GAAhBpF,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,QAAAA,EAAAA,EAAoCqF,cAAAA,GAApCrF,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,QAAAA,EAAAA,CAAoD,CAAC,KAArDA,KAAAA,IAAAA,EAAAA,KAAAA,EAAoE,OAApEA,GAAAA,EAAyDjB,WAAAA,GAAzDiB,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,EAAsEsF,OAAO,SAK7G,UAACpS,MAAAA,CAAIuC,UAAU,2EACb,UAAC1B,EAAAA,CAAIA,CAAAA,CACHkC,SAA+B,QAArB8J,QAAAA,EAAAA,KAAAA,EAAAA,EAAWwF,UAAU,CAArBxF,EAAAA,KAAAA,IAAAA,EAAAA,EAAyB,GACnC7J,cAAc,gNACdH,OACEkK,SAAAA,KAAAA,EAAAA,EAAsByD,OAAAA,QAAtBzD,EAAiCA,EAAAA,KAAAA,EAAAA,EAAsB0D,GAAAA,EACnD,QACA5D,OAAAA,EAF6BE,KAE7BF,EAAAA,EAAWyF,WAAXzF,WAAiC,IAAK,OACtC,SACA,QAEN8D,IAAI,4BAEH9D,EAAAA,KAAAA,EAAAA,EAAW0F,WAAX1F,UAMb,EAAE,g+GCnMF,IAAM2F,GAAU,UAEHC,GAAoB1S,EAAAA,OAAMA,CAACC,GAAG,mDACvCgL,CAAAA,EAAAA,GAAAA,CAAAA,CAAGA,CAAAA,KAKM/K,CAAAA,EAAAA,EAAAA,EAAAA,CAAKA,CAAC,CAAC,IACLA,CAAAA,EAAAA,EAAAA,EAAAA,CAAKA,CAAC,IACLA,CAAAA,EAAAA,EAAAA,EAAAA,CAAKA,CAAC,GAEPC,EAAAA,CAAaA,CAACG,UAAU,CAACC,EAAE,CAQvBL,CAAAA,EAAAA,EAAAA,EAAAA,CAAKA,CAAC,IAIEA,CAAAA,EAAAA,EAAAA,EAAAA,CAAKA,CAAC,GAEHA,CAAAA,EAAAA,EAAAA,EAAAA,CAAKA,CAAC,KAIRA,CAAAA,EAAAA,EAAAA,EAAAA,CAAKA,CAAC,GACPA,CAAAA,EAAAA,EAAAA,EAAAA,CAAKA,CAAC,GACZC,EAAAA,CAAaA,CAACG,UAAU,CAAC+K,EAAE,CAClBnL,CAAAA,EAAAA,EAAAA,EAAAA,CAAKA,CAAC,GAETA,CAAAA,EAAAA,EAAAA,EAAAA,CAAKA,CAAC,IAENA,CAAAA,EAAAA,EAAAA,EAAAA,CAAKA,CAAC,IAGRC,EAAAA,CAAaA,CAACC,KAAK,CAACuS,SAAS,CAE/BxS,EAAAA,CAAaA,CAACG,UAAU,CAAC+K,EAAE,CACrBnL,CAAAA,EAAAA,EAAAA,EAAAA,CAAKA,CAAC,IAKVA,CAAAA,EAAAA,EAAAA,EAAAA,CAAKA,CAAC,IACJA,CAAAA,EAAAA,EAAAA,EAAAA,CAAKA,CAAC,IAGZC,EAAAA,CAAaA,CAACG,UAAU,CAAC+K,EAAE,CACrBnL,CAAAA,EAAAA,EAAAA,EAAAA,CAAKA,CAAC,IACJA,CAAAA,EAAAA,EAAAA,EAAAA,CAAKA,CAAC,IAIVA,CAAAA,EAAAA,EAAAA,EAAAA,CAAKA,CAAC,IACJA,CAAAA,EAAAA,EAAAA,EAAAA,CAAKA,CAAC,IAGZC,EAAAA,CAAaA,CAACC,KAAK,CAACmL,MAAM,CAC1BpL,EAAAA,CAAaA,CAACG,UAAU,CAAC+K,EAAE,CACrBnL,CAAAA,EAAAA,EAAAA,EAAAA,CAAKA,CAAC,IACJA,CAAAA,EAAAA,EAAAA,EAAAA,CAAKA,CAAC,IAOhBA,CAAAA,EAAAA,EAAAA,EAAAA,CAAKA,CAAC,IACDA,CAAAA,EAAAA,EAAAA,EAAAA,CAAKA,CAAC,CAAC,GAQXA,CAAAA,EAAAA,EAAAA,EAAAA,CAAKA,CAAC,IACHA,CAAAA,EAAAA,EAAAA,EAAAA,CAAKA,CAAC,IAIdA,CAAAA,EAAAA,EAAAA,EAAAA,CAAKA,CAAC,CAAC,IACIA,CAAAA,EAAAA,EAAAA,EAAAA,CAAKA,CAAC,KAEfC,EAAAA,CAAaA,CAACG,UAAU,CAAC+K,EAAE,CAO7BnL,CAAAA,EAAAA,EAAAA,EAAAA,CAAKA,CAAC,CAAC,IACLC,EAAAA,CAAaA,CAACG,UAAU,CAAC+K,EAAE,CAOzBnL,CAAAA,EAAAA,EAAAA,EAAAA,CAAKA,CAAC,GAAMA,CAAAA,EAAAA,EAAAA,EAAAA,CAAKA,CAAC,IACdA,CAAAA,EAAAA,EAAAA,EAAAA,CAAKA,CAAC,GAAYuS,GAShBvS,CAAAA,EAAAA,EAAAA,EAAAA,CAAKA,CAAC,GAAYuS,GAUxBtS,EAAAA,CAAaA,CAACG,UAAU,CAAC+K,EAAE,CASzBnL,CAAAA,EAAAA,EAAAA,EAAAA,CAAKA,CAAC,GAEHA,CAAAA,EAAAA,EAAAA,EAAAA,CAAKA,CAAC,KAGjBA,CAAAA,EAAAA,EAAAA,EAAAA,CAAKA,CAAC,CAAC,IACCA,CAAAA,EAAAA,EAAAA,EAAAA,CAAKA,CAAC,IAKZC,EAAAA,CAAaA,CAACG,UAAU,CAAC+K,EAAE,CAOvBnL,CAAAA,EAAAA,EAAAA,EAAAA,CAAKA,CAAC,IACJA,CAAAA,EAAAA,EAAAA,EAAAA,CAAKA,CAAC,IACJA,CAAAA,EAAAA,EAAAA,EAAAA,CAAKA,CAAC,GAKVA,CAAAA,EAAAA,EAAAA,EAAAA,CAAKA,CAAC,IACJA,CAAAA,EAAAA,EAAAA,EAAAA,CAAKA,CAAC,IAGZC,EAAAA,CAAaA,CAACC,KAAK,CAACmL,MAAM,GAIvC,gBC9JF,IAAMqH,GAAiC,CACrCC,gBAAiB,KACjBC,uBAAwB,GACxBC,sBAAsB,EACtBC,WAAW,EACXC,mBAAoB,KAAO,CAC7B,EAEMC,GAAmDC,IAChD,CACL,GAAGP,EAAY,CACfK,mBAAoB,CAAClG,EAAMsE,EAASvC,EAAOsE,KACrCtE,GACFF,IADS,IACDC,GAAG,CAACuE,GACZD,EAAI,CAAEN,gBAAiB,KAAMC,uBAAwBzB,EAAS0B,sBAAsB,EAAMC,WAAW,CAAK,IACjGjG,GAAQsG,OAAOC,IAAI,CAACvG,GAAM7N,MAAM,EAAE,EACvC,CACF2T,gBAAiB,CAAE,GAAG9F,CAAI,EAC1B+F,uBAAwBzB,EACxB0B,qBAAsB,GACtBC,WAAW,CACb,EAEJ,EACF,EAGWO,GAAsBC,CAAAA,EAAAA,GAAAA,CAAAA,CAAcA,CAACN,GAAkB,CAClEO,oBAAoB,CACtB,GAAG,GC9BY,IAAIC,KAaNC,GAAqB,CAChCrC,SAAU,CACRsC,QAAS,CACPC,OAAQ,CACN,CACEC,SAAUC,GACVC,YAAa,GACbC,YAAa,CACX9O,MAAO,GACP+O,KAAM,IACNC,WAAY,aACd,EACAC,WACE,yHACFC,KAAM,yHACNF,WAAY,qBACd,EACD,CACDG,OAAQ,CACN,CACEC,KAAM,IAAIb,KAAKK,GAAOS,OAAO,CAACT,GAAOU,OAAO,GAAK,IACjDR,YAAa,CACXS,QAAS,CACPvP,MAAO,GACP+O,KAAM,IACNC,WAAY,aACd,EACAA,WAAY,8BACd,EACAC,WACE,6GACFC,KAAM,6GACNM,IAAK,CACHX,YAAa,GACbG,WAAY,kCACd,EACAA,WAAY,2BACd,EACA,CACEI,KAAM,IAAIb,KAAKK,GAAOS,OAAO,CAACT,GAAOU,OAAO,GAAK,IACjDR,YAAa,CACXS,QAAS,CACPvP,MAAO,GACP+O,KAAM,IACNC,WAAY,aACd,EACAA,WAAY,8BACd,EACAC,WACE,6GACFC,KAAM,6GACNM,IAAK,CACHX,YAAa,GACbG,WAAY,kCACd,EACAA,WAAY,2BACd,EACA,CACEI,KAAM,IAAIb,KAAKK,GAAOS,OAAO,CAACT,GAAOU,OAAO,GAAK,IACjDR,YAAa,CACXS,QAAS,CACPvP,MAAO,GACP+O,KAAM,IACNC,WAAY,aACd,EACAA,WAAY,8BACd,EACAC,WACE,6GACFC,KAAM,6GACNM,IAAK,CACHX,YAAa,GACbG,WAAY,kCACd,EACAA,WAAY,2BACd,EACA,CACEI,KAAM,IAAIb,KAAKK,GAAOS,OAAO,CAACT,GAAOU,OAAO,GAAK,IACjDR,YAAa,CACXS,QAAS,CACPvP,MAAO,GACP+O,KAAM,IACNC,WAAY,aACd,EACAA,WAAY,8BACd,EACAC,WACE,6GACFC,KAAM,6GACNM,IAAK,CACHX,YAAa,EACbG,WAAY,kCACd,EACAA,WAAY,2BACd,EACA,CACEI,KAAM,IAAIb,KAAKK,GAAOS,OAAO,CAACT,GAAOU,OAAO,GAAK,IACjDR,YAAa,CACXS,QAAS,CACPvP,MAAO,GACP+O,KAAM,IACNC,WAAY,aACd,EACAA,WAAY,8BACd,EACAC,WACE,6GACFC,KAAM,6GACNM,IAAK,CACHX,YAAa,GACbG,WAAY,kCACd,EACAA,WAAY,2BACd,EACA,CACEI,KAAM,IAAIb,KAAKK,GAAOS,OAAO,CAACT,GAAOU,OAAO,GAAK,IACjDR,YAAa,CACXS,QAAS,CACPvP,MAAO,GACP+O,KAAM,IACNC,WAAY,aACd,EACAA,WAAY,8BACd,EACAC,WACE,6GACFC,KAAM,6GACNM,IAAK,CACHX,YAAa,EACbG,WAAY,kCACd,EACAA,WAAY,2BACd,EACA,CACEI,KAAM,IAAIb,KAAKK,GAAOS,OAAO,CAACT,GAAOU,OAAO,GAAK,IACjDR,YAAa,CACXS,QAAS,CACPvP,MAAO,GACP+O,KAAM,IACNC,WAAY,aACd,EACAA,WAAY,8BACd,EACAC,WACE,6GACFC,KAAM,6GACNM,IAAK,CACHX,YAAa,EACbG,WAAY,kCACd,EACAA,WAAY,2BACd,EACA,CACEI,KAAM,IAAIb,KAAKK,GAAOS,OAAO,CAACT,GAAOU,OAAO,GAAK,IACjDR,YAAa,CACXS,QAAS,CACPvP,MAAO,GACP+O,KAAM,IACNC,WAAY,aACd,EACAA,WAAY,8BACd,EACAC,WACE,6GACFC,KAAM,6GACNM,IAAK,CACHX,YAAa,EACbG,WAAY,kCACd,EACAA,WAAY,2BACd,EACA,CACEI,KAAM,IAAIb,KAAKK,GAAOS,OAAO,CAACT,GAAOU,OAAO,GAAK,IACjDR,YAAa,CACXS,QAAS,CACPvP,MAAO,GACP+O,KAAM,IACNC,WAAY,aACd,EACAA,WAAY,8BACd,EACAC,WACE,6GACFC,KAAM,6GACNM,IAAK,CACHX,YAAa,EACbG,WAAY,kCACd,EACAA,WAAY,2BACd,EACA,CACEI,KAAM,IAAIb,KAAKK,GAAOS,OAAO,CAACT,GAAOU,OAAO,GAAK,KACjDR,YAAa,CACXS,QAAS,CACPvP,MAAO,GACP+O,KAAM,IACNC,WAAY,aACd,EACAA,WAAY,8BACd,EACAC,WACE,8GACFC,KAAM,8GACNM,IAAK,CACHX,YAAa,GACbG,WAAY,kCACd,EACAA,WAAY,2BACd,EACD,CACDA,WAAY,iBACd,EACAA,WAAY,OACd,CACF,EAAE,GCvO+E,QA2G1DpH,EAAAA,EAAAA,KA3G2D,iBAChF6H,CAAe,YACfC,CAAU,CACVC,kBAAgB,cAChBC,CAAY,cACZC,CAAY,CACb,GACO,CAAEhI,sBAAoB,CAAE,CAAGC,CAAAA,EAAAA,EAAAA,UAAAA,CAAUA,CAACC,GAAAA,CAAiBA,EACvD,KAAEwD,GAAM,CAAK,SAAED,GAAU,CAAK,CAAE,CAAGzD,GAAwB,CAAC,EAE5D6F,EAAkBU,GAAoB,GAA6B0B,EAAMpC,WAApCU,IAAmD,EACxFxG,EAAOmI,CAAAA,EAAAA,EAAAA,OAAAA,CAAOA,CAAC,IACZF,EAAe,CAAE,GAAGrB,EAAkB,EAAKd,EAAkB,CAAE,GAAGA,CAAgB,EAAI,KAC5F,CAACA,EAAiBmC,EAAa,EAC5B,CAACG,EAAUC,EAAY,CAAG1N,CAAAA,EAAAA,EAAAA,QAAAA,CAAQA,CAAsB,EAAE,EA0ChE,MAxCAC,CAAAA,EAAAA,EAAAA,SAAAA,CAASA,CAAC,SACyB0L,EAA6BtG,EAAAA,EAG/BA,EAAAA,EAK7BA,EAAAA,EAAAA,EAAAA,EARF,GAAIA,GAAQsG,OAAOC,IAAI,CAACvG,IAAAA,CAAqBA,QAAZsG,EAAAA,OAAOC,IAAI,CAACvG,EAAAA,GAAZsG,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,EAAmBnU,MAAAA,UAAU6N,EAAAA,KAAAA,EAAc,QAAdA,EAAAA,EAAMuE,QAAQ,GAAdvE,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,QAAAA,EAAAA,EAAgB6G,OAAAA,GAAhB7G,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,EAAyBuH,MAAM,EAAE,CAC7F,IAAMa,EAAgC,EAAE,CAKlCE,EAAW3Q,KAAKE,IAAI,CAAC,CAJP,IAAI8O,OAAO4B,GAIWC,IAJJ,GAClB,IAAI7B,WAAK3G,EAAAA,KAAAA,EAAAA,QAAAA,EAAAA,EAAMuE,QAAAA,GAANvE,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,QAAAA,EAAAA,EAAgB6G,OAAAA,GAAhB7G,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,EAAyBuH,MAAM,CAAC,EAAE,CAACC,IAAI,EAAEe,OAAO,EAGnCC,CAAU,CAAM,OAAO,MAEjExI,CAFwE,EAE1D,QAAdA,EAAAA,EAAMuE,EAANvE,MAAc,GAAdA,KAAAA,IAAAA,GAAuB,QAAvBA,EAAAA,EAAgB6G,OAAAA,GAAhB7G,KAAAA,OAA+B,QAA/BA,EAAAA,EAAyBuH,MAAAA,GAAzBvH,KAAAA,IAAAA,GAAAA,QAAAA,EAAAA,EAAiCyI,OAAAA,GAAjCzI,KAAAA,IAAAA,GAAAA,EAAAA,IAAAA,CAAAA,EACE,CACEhL,EAOAmD,KAGA,GAAIA,GAASmQ,GAAYnQ,EAAQmQ,EAAW,EAAG,KAG9BtT,EAEOA,EAAAA,EACZA,EAAAA,EALVoT,EAAStQ,IAAI,CAAC,CACZ0P,KAAM,IAAIb,WAAK3R,EAAAA,KAAAA,EAAAA,EAAMwS,IAAI,EAAVxS,WACJ,OAAEA,EAAAA,KAAAA,EAAS,QAATA,EAAAA,EAAM4S,GAAAA,GAAN5S,KAAAA,MAAAA,KAAAA,EAAAA,EAAWiS,WAAW,CACnCC,YAAa,CACX9O,MAAOT,KAAK+Q,KAAK,OAAC1T,EAAAA,KAAAA,EAAAA,QAAAA,EAAAA,EAAMkS,WAAAA,GAANlS,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,OAAAA,GAAAA,EAAmB2S,OAAAA,GAAnB3S,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,EAA4BoD,KAAK,EACnD+O,IAAI,OAAEnS,EAAAA,KAAAA,EAAAA,QAAAA,EAAAA,EAAMkS,WAAAA,GAANlS,KAAAA,MAAAA,KAAAA,EAAAA,QAAAA,EAAAA,EAAmB2S,OAAAA,GAAnB3S,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,EAA4BmS,IAAI,EAExCE,UAAU,OAAErS,EAAAA,KAAAA,EAAAA,EAAMqS,MAANrS,IAAgB,CAC5BsS,IAAI,OAAEtS,EAAAA,KAAAA,EAAAA,EAAMsS,IAAI,EAAVtS,CAGZ,GAGFqT,EAAY,IAAID,EAAS,CAC3B,CACF,EAAG,CAACpI,EAAK,EAEF,EAAkC7N,MAAM,CAAG,EAChD,UAACe,MAAAA,CAAIuC,UAAU,kBACb,UAACvC,MAAAA,CAAIuC,UAAU,qBACb,WAACvC,MAAAA,CAAIuC,UAAU,2EACb,UAACvC,MAAAA,CAAIuC,UAAU,qDACb,UAACD,OAAAA,CAAKC,UAAU,YAAYiH,cAAY,gCACrCmL,MAGL,UAAC3U,MAAAA,CAAIuC,UAAU,kBACX2S,QAAAA,KAAAA,EAAD,EAAmCnQ,GAAG,CAArCmQ,CAAuCvB,EAAS1O,SA+Bc0O,EACfA,EA/B/C,MACE,UAACrD,IAAAA,CACCpB,KAAM,GAAgB,OAAbyE,EAAQS,IAAI,CAAC,6BACtBvR,OAAQ2N,GAAWC,EAAM,QAAU,SACnClO,UAAU,4CACVoO,IAAI,aAEJnH,cAAa,qBAA2B,OAANvE,YAElC,WAACjF,MAAAA,CAAIuC,UAAU,yDACb,UAACvC,MAAAA,CAAIuC,UAAU,oCACb,UAACD,OAAAA,CAAKC,UAAU,kCAAkCiH,cAAa,gBAAsB,OAANvE,YAC5E2P,CAAU,CAAC,IAAInB,KAAKE,EAAQW,IAAI,EAAEmB,MAAM,GAAK,EAAI,IAAIhC,KAAKE,EAAQW,IAAI,EAAEmB,MAAM,GAAK,EAAI,EAAE,KAG9F,UAACzV,MAAAA,CAAIuC,UAAU,qBACAmT,OAAZA,GAAAA,EAAYA,EAAAA,KAAAA,IAAZA,GAAAA,EAAYA,CAAAA,KAAAA,EAAZA,GAAAA,EAAYA,CAAE3Q,GAAG,CAAC,CAAC4Q,EAAMnR,IACxB,CAAImP,QAAAA,KAAAA,EAAAA,EAASI,GAATJ,QAASI,IAAgB4B,EAAKC,OAAO,CAErC,UAACtT,OAAAA,CACCC,UAAWoT,EAAKE,SAAS,CACzBrM,cAAa,gBAA8BhF,MAAAA,CAAdS,EAAM,UAAU,OAAFT,IACtC,gBAA8BA,MAAAA,CAAdS,EAAM,UAAU,OAAFT,IAIlC,UAAClC,OAAAA,CAAAA,MAGZ,WAACtC,MAAAA,WACC,UAACsC,OAAAA,CAAKC,UAAU,8CAAsCoR,QAAAA,KAAAA,EAAAA,KAAAA,EAAAA,GAAAA,EAASK,WAAW,GAApBL,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,EAAsBzO,KAAK,GACjF,WAAC5C,OAAAA,CAAKC,UAAU,+BAAqB,aAAEoR,EAAAA,KAAAA,EAAAA,QAAAA,EAAAA,CAAAA,CAASK,WAAAA,GAATL,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,EAAsBM,IAAI,WAzBhE,gBAAsB,OAANhP,GA8B3B,KAEF,UAACjF,MAAAA,CAAIuC,UAAU,sEACb,WAAC+N,IAAAA,CACCpB,KAAM,GAA4C,aAAzCpC,EAAAA,KAAAA,EAAc,QAAdA,EAAAA,EAAMuE,QAAAA,GAANvE,KAAAA,MAAAA,KAAAA,EAAuB,QAAvBA,EAAAA,EAAgB6G,OAAO,GAAvB7G,KAAAA,MAAAA,KAAAA,EAAkC,QAAlCA,EAAAA,EAAyBuH,MAAM,CAAC,KAAhCvH,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,EAAoCsH,IAAI,CAAC,6BAClDvR,OAAQ2N,GAAWC,EAAM,QAAU,SACnCE,IAAI,aACJpO,UAAU,sCAEV,UAACD,OAAAA,UACC,UAACwT,MAAAA,CAAIjI,IAAKgH,EAAkBkB,IAAKjB,EAAcvS,UAAU,wCAE3D,UAACD,OAAAA,CAAKC,UAAU,kDAMxB,IACN,EAAE,GC1H2D,QAOpDuK,EAAAA,EAGQA,EAAAA,EAAAA,EAgBSA,EAAAA,EAAAA,EAAAA,EAEgBA,EAAAA,EAAAA,EAAAA,EAMvBA,EAAAA,EAAAA,KAlC2C,kBAAE+H,CAAgB,cAAEC,CAAY,cAAEC,CAAY,CAAE,GACtG,sBAAEhI,CAAoB,CAAE,CAAGC,CAAAA,EAAAA,EAAAA,UAAAA,CAAUA,CAACC,GAAAA,CAAiBA,EACvD,KAAEwD,GAAM,CAAK,SAAED,GAAU,CAAK,CAAE,CAAGzD,GAAwB,CAAC,EAE5D6F,EAAkBU,GAAoB,GAA6B0B,EAAMpC,WAApCU,IAAmD,EACxFxG,EAAOiI,EAAe,CAAE,GAAGrB,EAAkB,EAAKd,EAAkB,CAAE,GAAGA,CAAe,EAAK,KAEnG,MAAO9F,OAAAA,EAAAA,KAAAA,EAAc,QAAdA,EAAAA,EAAMuE,QAAQ,GAAdvE,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,QAAAA,EAAAA,EAAgB6G,OAAAA,GAAhB7G,KAAAA,MAAAA,KAAAA,EAAAA,EAAyB8G,MAAM,CAAC3U,MAAAA,EAAS,EAC9C,WAACe,MAAAA,CAAIuC,UAAU,+DACb,UAAC+N,IAAAA,CACCpB,KAAM,GAA4C,aAAzCpC,EAAAA,KAAAA,EAAc,QAAdA,EAAAA,EAAMuE,QAAAA,GAANvE,KAAAA,MAAAA,KAAAA,EAAAA,QAAAA,EAAAA,EAAgB6G,OAAAA,GAAhB7G,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,QAAAA,EAAAA,EAAyB8G,MAAM,CAAC,KAAhC9G,KAAAA,MAAAA,KAAAA,EAAAA,EAAoCsH,IAAI,CAAC,6BAClDvR,OAAQ2N,GAAWC,EAAM,QAAU,SACnClO,UAAU,mCACVoO,IAAI,sBAEJ,WAAC3Q,MAAAA,CAAIuC,UAAU,yDACb,UAACvC,MAAAA,CAAIuC,UAAU,qBACAmT,OAAZA,GAAAA,EAAYA,EAAAA,KAAAA,IAAZA,GAAAA,EAAYA,CAAAA,KAAAA,EAAZA,GAAAA,EAAYA,CAAE3Q,GAAG,CAChB4Q,QACE7I,EAAAA,EAAAA,QAAAA,OAAAA,EAAAA,KAAAA,EAAc,QAAdA,EAAAA,EAAMuE,QAAAA,GAANvE,KAAAA,MAAAA,KAAAA,EAAAA,OAAAA,GAAAA,EAAgB6G,OAAAA,GAAhB7G,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,QAAAA,EAAAA,EAAyB8G,MAAM,CAAC,KAAhC9G,KAAAA,MAAAA,KAAAA,EAAAA,EAAoCiH,WAAAA,IAAgB4B,EAAKC,OAAO,EAC9D,UAACtT,OAAAA,CAAKC,UAAWoT,EAAKE,SAAS,OAIvC,WAAC7V,MAAAA,WACC,UAACsC,OAAAA,CAAKC,UAAU,qCACbkC,KAAK+Q,KAAK,CAAC1I,QAAAA,KAAAA,EAAAA,EAAAA,MAAAA,EAAAA,EAAMuE,QAAAA,GAANvE,KAAAA,IAAAA,EAAAA,KAAAA,EAAuB,QAAvBA,EAAAA,EAAgB6G,OAAO,GAAvB7G,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,QAAAA,EAAAA,EAAyB8G,MAAM,CAAC,KAAhC9G,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,QAAAA,EAAAA,EAAoCkH,WAAAA,GAApClH,KAAAA,MAAAA,KAAAA,EAAAA,EAAiD5H,KAAK,IAEpE,WAAC5C,OAAAA,CAAKC,UAAU,sBAAY,aAAEuK,EAAAA,KAAAA,EAAAA,QAAAA,EAAAA,EAAMuE,QAAAA,GAANvE,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,QAAAA,EAAAA,EAAgB6G,OAAAA,GAAhB7G,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,QAAAA,EAAAA,EAAyB8G,MAAM,CAAC,KAAhC9G,KAAAA,MAAAA,KAAAA,EAAAA,QAAAA,EAAAA,EAAoCkH,WAAAA,GAApClH,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,EAAiDmH,IAAI,YAIzF,UAACjU,MAAAA,CAAIuC,UAAU,6DACb,WAAC+N,IAAAA,CACCpB,KAAM,GAA4C,aAAzCpC,EAAAA,KAAAA,EAAc,QAAdA,EAAAA,EAAMuE,QAAQ,GAAdvE,KAAAA,MAAAA,KAAAA,EAAAA,QAAAA,EAAAA,EAAgB6G,OAAAA,GAAhB7G,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,QAAAA,EAAAA,EAAyB8G,MAAM,CAAC,KAAhC9G,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,EAAoCsH,IAAI,CAAC,6BAClDvR,OAAQ2N,GAAWC,EAAM,QAAU,SACnCE,IAAI,aACJpO,UAAU,4BACViH,cAAY,qCAEZ,UAAClH,OAAAA,UACC,UAACwT,MAAAA,CACCjI,IAAKgH,EACLkB,IAAKjB,EACLtL,cAAY,oBACZjH,UAAU,yDAGd,UAACD,OAAAA,CAAKC,UAAU,8CAIpB,IACN,EAAE,gBC5DK,IAAMyT,GAAgBC,EAAQ,KAAyC,EACjEC,GAAkBD,EAAQ,KAAsC,EAAE,GAC5CA,EAAQ,KADLA,EAC2C,GACtDA,EAAQ,KAAuC,EAAE,GAC1CA,EAAQ,KAA8C,EAAE,GAClDA,EAAQ,KADPA,EACoD,GCEpC,ODFVA,CCU7BlJ,KARwC,CAAEgI,gBAAe,CAAK,CAAEoB,SAAO,CAAE,GACnFC,GAA6CvO,OAAO4D,CAAzC,CAAE,MAA+C,CAC5D,sBAAEsB,CAAoB,WAAEsJ,CAAS,WAAEC,CAAS,MAAEC,CAAI,CAAE,CAAGvJ,CAAAA,EAAAA,EAAAA,UAAAA,CAAUA,CAACC,GAAAA,CAAiBA,EACnF+F,EAAqBM,GAAqB0B,GAA4BA,EAAMhC,WAApCM,OAAsD,EAEhG,MAAExG,CAAI,SAAEsE,CAAO,OAAEvC,CAAK,CAAE,CAAG2H,CAAAA,EAAAA,GAAAA,EAAAA,CAAQA,CAACC,GAAa,CACnDC,OADiDD,KACpCL,EAAW,eAAiB,cACzCO,UAAW,CACTC,WAAY7J,QAAAA,EAAAA,QAAAA,KAAAA,EAAAA,EAAsB8J,MAAAA,GAAtB9J,KAAAA,EAAAA,IAAAA,EAAgC,EAC9C,EACA+J,QAAS,CACPxJ,QAAS,CAEP,wBAAmBiJ,EAAAA,EAAQ,QAC3B,KADmBA,gBACHF,EAAAA,EAAa,iBAC7B,CADgBA,aACa,KAAdC,EAAmBA,EAAY,GAAc,OAAX7C,KAAKsD,GAAG,IACzD,uBAAkBV,EAAAA,EAAa,gBACjC,CACF,CAFsBA,CAGtBW,KAAMjC,CACR,GAiBA,OAfIA,IACF3D,GAAU,EACVtE,EAAO4G,GAFS,OAGRuD,GAGVvP,CAAAA,EAAAA,EAJ2BgM,SAI3BhM,CAASA,CAAC,KACJ,CAAC0J,GACCtE,GAAQsG,GADA,IACOC,IAAI,CAACvG,KACtBkG,EAD6B,CACR,GAAGlG,CAAI,EAAIsE,EAASvC,EAAO,CAAC,GACjDsH,EAAQ,CAAE,GAAGrJ,CAAI,GAGvB,EAAG,CAACA,EAAMsE,EAASvC,EAAOmE,EAAoBmD,EAAQ,EAE/C,IACT,EAAE,sBCtCMe,EAAoB,CAAE,CAAGvY,iBAAW,CAE/BwY,GAAoCtK,IAC/C,GAAM,mBAAEuK,CAAiB,cAAErC,CAAY,CAAE,CAAGlI,EACtC,CAAC+F,EAAiBI,EAAmB,CAAGvL,CAAAA,EAAAA,EAAAA,QAAAA,CAAQA,CAAC,MAEvD,MACE,WAACgL,GAAiBA,CAACjJ,aAADiJ,CAAa,cAAclJ,sBAAoB,+BAC7DqJ,EAAiG,KAA/E,UAACyE,GAAeA,CAACtC,WAADsC,EAAetC,EAAcoB,QAASnD,IACnD,sBAAtBoE,EAA4C,UAACE,GAAiBA,CAAE,GAAGzK,CAAS,GAAO,KAC7D,CADwCyK,qBAC9DF,EAA4C,UAACG,GAA2BA,CAAE,GAAG1K,CAAS,GAAO,OAGpG,EAAE,GAE+B,CAC/BhO,GAN6E0Y,QAMjE,cACZzY,QAAU0Y,IAAsC,EAChDpO,aAAc,GAAwB,OAArB8N,GAAqB,kCACxC,EAAuC,GAEJ,GACjC,UAACvN,EAAAA,iBAAiBA,CAAAA,CAACC,OAAQ6N,GAAoB,GAAG1Y,CAAK,UACrD,UAACoY,GAAAA,CAAa,GAAGpY,CAAK,KCxBb2Y,GAA0D,OAAC,CACtE3C,cAAY,SACZpV,CAAO,cACPX,CAAY,gBACZ2Y,CAAc,UACdC,CAAQ,UACRC,CAAQ,CACT,GAEOC,EAAuB,IAC3B,UAAC9X,MAAAA,CAAIwJ,cAAY,qCACf,UAACuO,EAAAA,cAAcA,CAAAA,CACbC,eAAiB,SACjBC,iBAAkB,CAChBpY,eAAiB,QACnB,EAGA+X,SAAUA,EACVC,SAAU,GAAY,OAATA,EAAS,gBACtBjO,OAAQ,CACN9K,QAAS,IAAM,GACfsK,aAAc,wCAChB,MAMA8O,EAA8B,CAACC,EAAkBC,KACrD,IAAMC,EAAyB,EAAE,CAEjC,SAAID,EAAAA,KAAAA,EAAAA,EAAUE,UAAVF,IAAwB,CAACD,GAAW,CAEtC,IAAMI,EAAYC,CADG,CAACL,EAAS,CACR,SAAS,CAChC,IAAK,IAAMM,KAAWF,EAEpB,QAF+B,CAE3BA,EAAAA,KAAAA,EAAAA,EAAWD,WAAXC,GAAyB,CAACE,GAAU,CACtC,IAAM3W,EAAOyW,CAAS,CAACE,EAAQ,CAC/B,GAAI3W,CAAI,CAAC,QAAQ,GAAK4W,GAAAA,EAAgCA,CAACjC,WAAW,CAChE4B,CADkE,CACvDzT,IAAI,CAAC,UAACuS,GAAWA,CAAE,GAAGrV,CAAI,GAATqV,MAE5B,IAAK,IAAM3S,WAAK1C,EAAAA,KAAAA,EAAAA,CAAM,CAAC,MAAPA,GAAgB,CAAE,KAChBA,EACEA,EAAAA,EACEA,EAAAA,EAAAA,EACEA,EAAAA,EAAAA,EAAAA,EACFA,EAAAA,EAAAA,EAAAA,EAAAA,EAJpB,IAAK,IAAM6W,WAAK7W,EAAAA,KAAAA,EAAgB,QAAhBA,EAAAA,CAAM,CAAC,SAAS,GAAhBA,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,CAAkB,CAAC0C,EAAE,CACnC,IAAK,IAAMoU,WAAK9W,EAAAA,KAAAA,EAAgB,QAAhBA,EAAAA,CAAM,CAAC,SAAS,GAAhBA,KAAAA,IAAAA,EAAAA,KAAAA,EAAqB,QAArBA,EAAAA,CAAkB,CAAC0C,EAAAA,GAAnB1C,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,CAAuB,CAAC6W,EAAE,CAAE,IACrC,IAAME,WAAK/W,EAAAA,KAAAA,EAAgB,QAAhBA,EAAAA,CAAM,CAAC,SAAS,GAAhBA,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,QAAAA,EAAAA,CAAkB,CAAC0C,EAAAA,GAAnB1C,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,QAAAA,EAAAA,CAAuB,CAAC6W,EAAE,GAA1B7W,KAAAA,MAAAA,KAAAA,EAAAA,CAA4B,CAAC8W,EAAE,CAAE,IAC1C,IAAME,WAAKhX,EAAAA,KAAAA,EAAAA,QAAAA,EAAAA,CAAM,CAAC,YAAPA,KAAAA,IAAAA,EAAAA,KAAAA,EAAqB,OAArBA,GAAAA,CAAkB,CAAC0C,EAAAA,GAAnB1C,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,QAAAA,EAAAA,CAAuB,CAAC6W,EAAAA,GAAxB7W,KAAAA,IAAAA,EAAAA,KAAAA,EAA+B,QAA/BA,EAAAA,CAA4B,CAAC8W,EAAAA,GAA7B9W,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,CAAiC,CAAC+W,EAAE,CAAE,CACpD,IAAME,QAAMjX,EAAAA,KAAAA,EAAgB,QAAhBA,EAAAA,CAAM,CAAC,YAAPA,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,QAAAA,EAAAA,CAAkB,CAAC0C,EAAAA,GAAnB1C,KAAAA,IAAAA,EAAAA,KAAAA,EAA0B,QAA1BA,EAAAA,CAAuB,CAAC6W,EAAE,GAA1B7W,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,OAAAA,GAAAA,CAA4B,CAAC8W,EAAE,GAA/B9W,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,QAAAA,EAAAA,CAAiC,CAAC+W,EAAAA,GAAlC/W,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,CAAsC,CAACgX,EAAE,EAC9C,CAAC,QAAQ,GAAKJ,GAAAA,EAAgCA,CAACjC,WAAW,EAC/D4B,EAAWzT,IAAI,CAAC,UAACuS,GAAWA,CAAE,GAAG4B,CAAG,GAExC,CAIR,CAEJ,CAEF,MAAO,UAAC/Y,MAAAA,CAAIwJ,cAAY,6CAAqC6O,GAC/D,CACA,OAAO,IACT,EAQA,OAAOW,EALL,UAAChZ,MAAAA,UAAKiZ,MAAMC,IAAI,CAAC,CAAEja,OAAQ,CAAE,EAAGka,GAAKrB,OAErC,UAAC9X,MAAAA,UAAKhB,GAAgB,CAAC2Y,GAAkBO,QAA4BlZ,EAAAA,KAAAA,EAAAA,CAAc,CAAC,EAAE,CAAEW,IAI5F,EAAE,GC3DiC,CACjCyZ,CDsDuEpa,WCtD1D,CACXqa,QAFc1G,QAEE,EAChB2G,WAAY,GACZC,iBAAiB,EACjBC,gBAAgB,EAChBC,wBAAwB,CAC1B,EACAC,eAAgB,GAChBC,cAAc,EACd5G,WAAW,EACX6G,WAAY,KAAO,CACrB,EAEMC,GAA2C3G,IACxC,CACL,GAAGP,EAAY,CACfiH,WAAY,CAAC9M,EAAMsE,EAASvC,EAAOsE,KAC7BtE,GACFF,IADS,IACDC,GAAG,CAACuE,GACZD,EAAI,CACFkG,YAAa,KACbM,eAAgBtI,EAChBuI,cAAc,EACd5G,WAAW,CACb,IACSjG,GAAQsG,OAAOC,IAAI,CAACvG,GAAM7N,MAAM,EAAE,EACvC+V,GAAU,EACZoE,GADY,SACC,CAAE,GAAG1X,KAAKC,KAAK,CAACD,KAAKoY,SAAS,CAAC9E,IAAQoE,WAAW,CAAE,GAAGtM,CAAI,EACxE4M,eAAgBtI,EAChBuI,cAAc,EACd5G,WAAW,EACb,EAEJ,CACF,GAGWgH,GAAkBxG,CAAAA,EAAAA,GAAAA,CAAAA,CAAcA,CAACsG,GAAc,CAC1DrG,oBAAoB,CACtB,GAAG,GC/CkE3G,IACnE,GAAM,sBAAEmN,CAAoB,0BAAEC,CAAwB,gBAAEtC,CAAc,CAAEuC,aAAW,CAAE,CAAGrN,EAClF,CAACsN,EAAYC,EAAc,CAAG3S,CAAAA,EAAAA,EAAAA,QAAAA,CAAQA,CAAgB,EAAE,EAExD,CAAC4S,EAAkBC,EAAoB,CAAG7S,CAAAA,EAAAA,EAAAA,QAAAA,CAAQA,EAAU,GAC5D2R,EAAcW,GAAiB/E,GAAwBA,EAAMoE,OAAhCW,IAA2C,EACxEQ,EAGD,EAAE,CAED,CAAExN,sBAAoB,CAAE,CAAGC,CAAAA,EAAAA,EAAAA,UAAAA,CAAUA,CAACC,GAAAA,CAAiBA,EACvD,CAAEuN,WAAS,CAAE,OAAGzN,EAAAA,EAAwB,CAAC,EAEzC0N,EAAkB,IACtBP,EAAY5L,EACd,EAiDA,MA/CA5G,CAAAA,EAAAA,EAAAA,GANsBqF,MAMtBrF,CAASA,CAAC,KACJ8S,GAAaE,GAAAA,EAAwBA,CAAChR,QAAQ,CAAC8Q,IACjDF,GAAoB,EAExB,EAAG,CAACE,EAAU,EAEd9S,CAAAA,EAAAA,EAAAA,SAAAA,CAASA,CAAC,KACgB+D,SAASkP,gBAAgB,CAAC,mCAE5BpF,OAAO,CAAC,IAC5BgF,EAAqB3V,IAAI,CAAC,CACxBgW,cAAenP,SAASuD,aAAa,CAAC,QAA4B,OAApBoF,EAAKyG,IAAI,CAACzL,MAAM,CAAC,GAAG,OAClE0L,YAAa1G,CACf,GACAA,EAAKnG,gBAAgB,CAAC,QAASwM,EAAiBrG,EAClD,EACF,EAAG,CAAC+F,EAAW,EAEfzS,CAAAA,EAAAA,EAAAA,SAAAA,CAASA,CAAC,KACR,IAAIqT,EAAuB,EAAE,CAC7Bf,UACEA,GAAAA,EAAsBzE,OAAO,CAAC,CAACyF,EAAY/V,KACrCwG,SAASwP,GADfjB,WAC6B,CAACgB,EAAWE,WAAW,GAAG,CAE7Cb,CAAAA,GAAoBW,EAAWE,WAAW,GAAKC,GAAAA,EAAAA,GAAyB,CAG1EH,EAAWE,WAAW,GAAKE,GAAAA,EAAoBA,EAC9CJ,EAAWE,WAAW,GAAKE,GAAAA,EAAoBA,EAAI3P,SAASuD,aAAa,CAAC,6BAE3E+L,EAAQ,IACHA,EACH,UAACM,KAAAA,CAA8C9Y,UAAU,+BACvD,UAAC1B,EAAAA,CAAIA,CAAAA,CACHkC,SAAU,IAA2B,OAAvBiY,EAAWE,WAAW,EACpClY,cAAc,sFAEbgY,EAAAA,KAAAA,EAAAA,EAAYM,KAAK,IALb,GAA6BrW,MAAAA,CAA1B+V,EAAWE,WAAW,CAAC,KAAS,OAANjW,IAQvC,CAGT,IACFmV,EAAcW,EAChB,EAAG,OAAC3B,EAAAA,KAAAA,EAAAA,EAAaI,aAAbJ,CAA2B,CAAEiB,EAAkBL,EAAqB,EAGtE,WAACha,MAAAA,CACCuC,UAAU,gFACVgZ,IAAKtB,EACLzQ,cAAY,2CAEZ,UAACxJ,MAAAA,CAAIuC,UAAU,oEACb,UAACiZ,KAAAA,CACCjZ,UAAW,qFAEV,OADC4X,EAAWlb,MAAM,EAAI,EAAI,yBAA2B,aAGrDkb,MAGL,UAACna,MAAAA,CACCuC,UAAU,2CACVkZ,UAAQ,oBACRhW,GAAG,oBACHiW,cAAY,6BAEZ,UAAChE,GAAsBA,CAAE,GAAG7K,CAAS,CAAE8K,aAAhBD,EAAgCC,QAI/D,EAAE,GCiDgC,CAChCtG,SAAU,CACRC,iBAAkB,CAChBC,KAAM,4BACNS,SAAU,UACVC,UAAW,CAAC,SACd,EACAC,mBAAoB,CAClBC,eAAgB,CACd,CACEtG,YAAa,CACXuG,QAAS,iBACX,CACF,EACD,CAEL,CACF,EAAE,GChKuDvF,QASvCE,EARhB,GAAM,CAAEA,sBAAoB,CAAEwJ,MAAI,WAAEF,CAAS,WAAEC,CAAS,CAAE,CAAGtJ,CAAAA,EAAAA,EAAAA,UAAAA,CAAUA,CAACC,GAAAA,CAAiBA,EAEnF,cAAE8H,CAAY,0BAAE4G,CAAwB,CAAE,CAAG9O,EAC7CuJ,EAA6CvO,QAAO4D,CAAzC,CAAE,MAA4B,CAE3C,MAAEqB,CAAI,SAAEsE,CAAO,CAAE,CAAGoF,CAAAA,EAAAA,GAAAA,EAAAA,CAAQA,CAACR,GAAe,CAC9CU,SAD4CV,GAC/BI,EAAW,eAAiB,cACzCO,UAAW,CACTC,WAAY7J,QAAAA,QAAAA,EAAAA,KAAAA,EAAAA,EAAsB8J,MAAAA,GAAtB9J,KAAAA,IAAAA,EAAAA,EAAAA,GACZ6O,OAAQ,OACV,EACA9E,QAAS,CACPxJ,QAAS,CAEP,wBAAmBiJ,EAAAA,EAAQ,QAC3B,KADmBA,gBACHF,EAAAA,EAAa,iBAC7B,CADgBA,aACa,KAAdC,EAAmBA,EAAY,GAAc,OAAX7C,KAAKsD,GAAG,IACzD,uBAAkBV,EAAAA,EAAa,gBACjC,CACF,CAFsBA,CAGtBW,KAAMjC,CACR,GAaA,OAXIA,IACF3D,GAAU,EACVtE,EAAO+O,GAFS,CAKlBnU,CAAAA,EAAAA,EAAAA,SAH2BmU,CAGlBnU,CAAC,KACJ,CAAC0J,GAAWtE,GACd6O,EAAyB,CADL,GACU7O,CAAI,EAEtC,EAAG,CAACsE,EAAStE,EAAM6O,EAAyB,EAErC,IACT,EAAE,CC/BMzE,oBAAoB,IAAE,CAAGvY,iBAAW,CAE/Bmd,GAAoCjP,QA+NjBA,EA9N9B,IAAIkP,EAAY,EACZC,EAAgB,EAChBC,EAAkB,EAChB1B,EAGD,EAAE,CACD,CAAC/I,EAAS0K,EAAW,CAAGzU,CAAAA,EAAAA,EAAAA,QAAAA,CAAQA,CAAU,IAC1C,CAACkQ,EAAgBwE,EAAkB,CAAG1U,CAAAA,EAAAA,EAAAA,QAAAA,CAAQA,EAAU,GACxD2U,EAA0BC,CAAAA,EAAAA,EAAAA,MAAAA,CAAMA,CAAiB,MACjDC,EAAsBD,CAAAA,EAAAA,EAAAA,MAAAA,CAAMA,CAAiB,MAC7C,CAACE,EAAiBC,EAAmB,CAAG/U,CAAAA,EAAAA,EAAAA,QAAAA,CAAQA,CAAC,MAEjD,sBAAEsF,CAAoB,CAAE,CAAGC,CAAAA,EAAAA,EAAAA,UAAAA,CAAUA,CAACC,GAAAA,CAAiBA,EAE7DvF,CAAAA,EAAAA,EAAAA,SAAAA,CAASA,CAAC,SACR+D,EAUkBA,EAAAA,EAFJ2Q,EAAAA,EAEI3Q,EAUGgR,CApBE,SAAvBhR,EAAAA,SAASuD,aAAa,CAAC,iBAAvBvD,KAAAA,IAAAA,GAAAA,EAAuCoE,SAAS,CAACQ,GAAG,CAAC,aACjDxD,SAAAA,KAAAA,EAAAA,EAAW2E,IAAX3E,GAAkB,EAAE,CACtB6P,QAAa7P,EAAAA,KAAAA,EAAAA,EAAW8P,WAAX9P,MAA4B,CAAEqP,UAEzCrP,EAAAA,KAAAA,EAAAA,EAAW+P,WAAX/P,KAAW+P,EAAkB,CAC/BF,QAAa7P,EAAAA,KAAAA,EAAAA,EAAWgQ,WAAXhQ,eAAqC,CAAEsP,GAElDC,IACFL,EAAYK,OAAAA,GAAAA,QAAAA,CADe,IACfA,EAAAA,QAAAA,EAAAA,EAAyBU,OAAAA,EAAzBV,CAAAA,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,EAAkCW,YAAY,GAA9CX,KAAAA,IAAAA,EAAAA,GAAkD,EAEhEH,EAAwE,QAAtDxQ,EAAAA,QAAAA,EAAAA,QAAAA,GAAAA,KAAAA,IAAAA,EAAAA,KAAAA,EAAwB,QAAxBA,EAAAA,EAAUuD,aAAa,CAAC,mBAAxBvD,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,EAA0CsR,YAAY,GAAtDtR,KAAAA,IAAAA,EAAAA,EAA0D,EAC5E5D,OAAOoG,gBAAgB,CAAC,SAAU+O,EAAY,CAAEC,SAAS,CAAK,GAG9D,IAAMC,EAAY,CAChB,CAAE9I,KAAM,UAAWvR,OAAQ,sCAAuC,EAClE,CAAEuR,KAAM,kBAAmBvR,OAAQ,6CAA8C,EAClF,CACK4Z,EAAahR,SAASuD,aAAa,CAAC,mCAEpCmO,EAA0D,QAA3CV,EAAAA,UAAcA,EAAAA,KAAAA,EAAAA,EAAY9B,YAAZ8B,IAA4B,CAAC,kCAA3CA,KAAAA,IAAAA,EAAAA,EAA8E,EAAE,CAE/FW,EAAqB,WACzBD,GAAAA,EAAa5H,OAAO,CAAC,SAAU8H,CAAG,CAAlCF,CACEE,EAAIxN,SAAS,CAACC,MAAM,CAAC,SACvB,EACF,EAEAoN,EAAU3H,OAAO,CAACzT,IAChB,IAAMwb,EAAW7R,SAASkP,gBAAgB,CAAC,WAAqB,OAAV7Y,EAAKsS,IAAI,CAAC,MAAI,CAAC,EAAE,CACvE,GAAIkJ,EAAU,CACZA,EAASC,YAAY,CAAC,OAAQ,UAC9BD,EAASC,YAAY,CAAC,OAAQ,KAC9B,IAAMC,EAAgB/R,SAASkP,gBAAgB,CAAC7Y,EAAKe,MAAM,CAAC,CAAC,EAAE,CAC/Dya,EAASrP,gBAAgB,CAAC,QAASC,IACjCA,EAAEC,cAAc,GAChBpG,WAAW,KACTqV,IACAI,EAAc3N,SAAS,CAACQ,GAAG,CAAC,gBAC5BoM,GAAAA,EAAYgB,cAAc,EAC5B,EADEhB,IAEJ,EACF,CACF,EACF,EAAG,EAAE,EAEL,IAAMC,EAAe,CACnBgB,EACAC,YAMI5Q,EAAAA,KAAAA,EAAAA,EAAsB6Q,KAAAA,EAAO,QAC3BF,EAAAA,KADF3Q,EACE2Q,EAAmBhU,QAAQ,CAAC+G,GAAAA,EAAGA,GAAG,EAAlCiN,CACW,UAGbA,EAAAA,KAAAA,EAAAA,EAAmBhU,QAAQ,CAACqD,QAAAA,EAA5B2Q,GAA4B3Q,EAAAA,EAAsBiI,MAAK,GAAG,GAC/C,EAEjB,EAEMgI,EAAa,SASfV,EAGEA,EAMAA,EAUFA,EAEAA,EA7BF,IAAMuB,QAAYzB,EAAAA,KAAAA,EAAAA,EAAyBU,OAAO,CAC5CgB,EAAiBrS,SAASuD,MADdoN,OAC2B,CAAC,iBACxC2B,EAAgBtS,SAASuS,eAAe,CAACC,SAAS,EAAIxS,SAASyS,IAAI,CAACD,SAAS,CACnF,GAAI,CAACJ,EACH,OAGEhW,EAJY,KAILsW,WAAW,EAAIpC,GACG,QADQ,EACnCO,EAAoBQ,OAAAA,GAApBR,KAAAA,OAAAA,EAA6BzM,SAAS,CAACQ,GAAG,CAAC,UACvC0N,EAAgB/B,SAClB8B,GAAAA,EAAWjO,CADsB,QACb,CAACQ,GAAG,CAAC,GAAzByN,aACAxB,GAAAA,OAAAA,GAAAA,EAAqBQ,OAAAA,GAArBR,KAAAA,EAAAA,EAAAA,GAAAA,EAA8BzM,SAAS,CAACC,MAAM,CAAC,cAC3CgO,IACFA,EAAUxX,KADG,CACG8X,GAAG,CAAG,WAGxBN,GAAAA,EAAWjO,SAAS,CAACQ,GAAG,CAAC,GAAzByN,aACAxB,GAAAA,QAAAA,EAAAA,EAAqBQ,OAAAA,GAArBR,KAAAA,EAAAA,KAAAA,EAA8BzM,SAAS,CAACQ,GAAG,CAAC,cACxCyN,IACEC,EAAgB,GAClBD,CADsB,CADX,KAEI,CAACM,GAAG,CAAG,IAAkB,OAAdL,EAAc,MAExCD,EAAUxX,KAAK,CAAC8X,GAAG,CAAG,IAAoB,OAAhBnC,EAAgB,gBAKhDK,GAA4B,QAA5BA,EAAAA,EAAqBQ,OAAAA,GAArBR,KAAAA,EAAAA,KAAAA,EAA8BzM,SAAS,CAACC,MAAM,CAAC,gBAC/CgO,GAAAA,EAAWjO,SAAS,CAACC,MAAM,CAAC,gBAC5BwM,GAA4B,QAA5BA,EAAAA,EAAqBQ,OAAAA,GAArBR,KAAAA,EAAAA,KAAAA,EAA8BzM,SAAS,CAACC,MAAM,CAAC,cAC3CgO,IACFA,EAAUxX,KAAK,CAAC8X,GAAG,EAAG,GAG1BpC,EAAgB+B,EAChB,IAAMM,EAAcR,EAAU9B,SAAS,CAEnClU,OAAOsW,WAAW,EAAIE,GACnBR,EAAUhO,QADsB,CACb,CAACyO,QAAQ,CAAC,WAAW,EACjCzO,SAAS,CAACQ,GAAG,CAAC,UAE1BkK,EAAqBhF,OAAO,CAAC,IAC3B,GAAI,CAACgJ,GAAc,CAACA,EAAW3D,aAAa,CAC1C,CAD4C,MAG9C,IAAM4D,EAAcD,EAAW3D,aAAa,CAAC6D,qBAAqB,GAClE,GAAIC,SAASF,EAAYJ,GAAG,EAAI,IAAM,GAAKM,SAASF,EAAYG,MAAM,EAAI,KAAO,EAAG,CAElF,GADAJ,EAAWzD,WAAW,CAACjL,SAAS,CAACQ,GAAG,CAAC,UACjCkO,EAAWzD,WAAW,CAAC2D,qBAAqB,GAAGG,KAAK,CAAG/W,OAAOgX,UAAU,CAAE,KAC5EpT,EAAAA,CAAAA,SAAAA,EAAAA,QAAAA,GAAAA,KAAAA,IAAAA,GACkB,QADlBA,EAAAA,EACIuD,aAAa,CAAC,+BADlBvD,KAAAA,IAAAA,GAAAA,EAEIqT,QAAQ,CAACP,EAAWzD,WAAW,CAAC2D,qBAAqB,GAAGM,IAAI,CAAE,EACpE,CACAR,EAAWzD,WAAW,CAAC2C,cAAc,EACvC,MACEc,CADK,CACMzD,WAAW,CAACjL,SAAS,CAACC,MAAM,CAAC,SAE5C,IAEI+N,EAAUhO,SAAS,CAACyO,QAAQ,CAAC,WAAW,EAChCzO,SAAS,CAACC,MAAM,CAAC,SAGjC,EAEMoK,EAAc,QACG5L,EA+BG7C,EAAAA,EAAAA,EAUEA,EAAAA,EAAAA,EAMFA,EAAAA,EAAAA,EA/CxB,GAAI6C,OAAAA,EAAAA,KAAAA,EAAAA,EAAOzL,MAAAA,CAAPyL,EAAiBA,OAAAA,EAAAA,KAAAA,EAAAA,QAAAA,CAAAA,CAAAA,EAAOzL,MAAAA,GAAPyL,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,EAAeuM,IAAAA,IAAS,GAAI,CAC/CvM,EAAMH,cAAc,GACpB,IAAM6Q,EAAsB1Q,EAAMzL,MAAM,CAACgY,IAAI,CAACzL,MAAM,CAAC,GAC/C6P,EAAkBxT,SAASuD,aAAa,CAAC,QAA4B,OAApBgQ,EAAoB,OACrEE,EAAW,EAMXC,EAAcF,OAAAA,EAAAA,KAAAA,EAAAA,EAAiBlD,SAAAA,EAAYmD,EAC3CE,EAA6BhD,EAAwBU,OAAO,CAC5DuC,EAAyB/C,EAAoBQ,OAAO,CAEtDjV,OAAOyX,OAAO,CAAGH,EAEjBC,GACAA,CAAAA,OAH8B,CAG9BA,KAAAA,EAAAA,EAA4BX,qBAAqB,CAAjDW,EAAoDhB,GAAAA,GAAO,GAC3DiB,GACAxX,OAAOgX,UAAU,EAAI,IAErBhX,CADA,MACOiX,QAAQ,CACb,EACAK,SAAcE,EAAAA,KAAAA,EAAAA,EAAwBtC,YAAAA,SAAeqC,EAAAA,CAAvCC,IAAuCD,EAAAA,EAA4BrC,YAAAA,GAGnFqC,GACAA,EAA2BX,QAJ4BW,aAIP,GAAGhB,GAAG,EAAI,GAC1DiB,GACAxX,OAAOgX,UAAU,CAAG,KAEpB5C,EAAkBxQ,QAAAA,EAAAA,QAAAA,EAAAA,QAAAA,GAAAA,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,QAAAA,EAAAA,EAAUuD,aAAa,CAAC,mBAAxBvD,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,EAA0CsR,YAAY,GAAtDtR,KAAAA,IAAAA,EAAAA,EAA0D,EAC5E5D,OAAOiX,QAAQ,CACb,EACAK,EACEE,SAAAA,KAAAA,EAAAA,EAAwBtC,YAAAA,KAAxBsC,IACAD,EAAAA,KAAAA,EAAAA,EAA4BrC,YAAAA,EAC5Bd,IAGAoD,IACFpD,EAAkBxQ,IALhB2T,IAKgB3T,EAAAA,QADQ,EACRA,QAAAA,GAAAA,KAAAA,MAAAA,KAAAA,EAAwB,QAAxBA,EAAAA,EAAUuD,aAAa,CAAC,mBAAxBvD,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,EAA0CsR,YAAAA,GAA1CtR,KAAAA,IAAAA,EAAAA,EAA0D,EAC5E5D,OAAOiX,QAAQ,CAAC,EAAGK,SAAcE,EAAAA,KAAAA,EAAAA,EAAwBtC,YAAAA,EAAed,IAIxEoD,IACFpD,EALmCoD,OAKjB5T,GAAAA,QAAAA,EAAAA,QAAAA,GAAAA,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,QAAAA,EAAAA,EAAUuD,aAAa,CAAC,mBAAxBvD,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,EAA0CsR,YAAAA,GAA1CtR,KAAAA,IAAAA,EAAAA,EAA0D,EAC5E5D,OAAOiX,QAAQ,CAAC,EAAGK,SAAcE,EAAAA,KAAAA,EAAAA,EAAwBtC,YAAAA,EAAed,GAG9E,CACF,EAEMN,EAA2B,EANQ0D,EAOvC7C,EAAmB,CAAE,GAAG1P,CAAI,EAC9B,EAEA,MACE,UAAC/B,GAAiBA,CAACxB,aAADwB,SAAqB,8BACrC,UAAC/K,MAAAA,CAAIuC,UAAU,eAAekD,GAAG,gBAC/B,UAACzF,MAAAA,CAAIuC,UAAU,iDACb,WAACvC,MAAAA,CAAIuC,UAAU,0CACXga,EAKE,KAJF,UAACgD,GAAeA,CACdxK,WADcwK,CACF,OAAE1S,EAAAA,KAAAA,EAAAA,EAAWkI,WAAXlI,CAAuB,CACrC8O,yBAA0BA,IAG9B,UAAC3b,MAAAA,CACCuC,UAAU,6HACVgZ,IAAKa,WAEL,UAACxP,GAAsBA,CAAE,GAAGC,CAAS,CAAE2E,QAASA,EAAS1E,GAAlCF,EAAwC2P,MAEhE,CAAC5E,UAAkB9K,EAAAA,KAAAA,EAAAA,QAAAA,EAAAA,EAAWmN,CAAXnN,mBAAWmN,GAAXnN,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,EAAiC5N,MAAAA,EACnD,UAACugB,GAAqBA,CACnB,GAAG3S,CAAS,CACboN,YAFoBuF,aAEMlD,EAC1B3E,eAAgBA,EAChBuC,YAAaA,IAEb,aAMhB,EAAE,GAE+B,CAC/Brb,WAAY,cACZC,QAAS,IAAuC,EAChDsK,aAAc,GAAwB,OAArB8N,GAAqB,6BAADA,KACvC,EAAuC,GAEJ,GACjC,UAACvN,EAAAA,iBAAiBA,CAAAA,CAACC,OAAQ6V,GAAoB,GAAG1gB,CAAK,UACrD,UAAC+c,GAAAA,CAAa,GAAG/c,CAAK,KAExB,6sBClQK,IAAM2gB,GAAmB3f,EAAAA,OAAMA,CAACC,GAAG,kDACtCgL,CAAAA,EAAAA,GAAAA,CAAAA,CAAGA,CAAAA,KAIQ/K,CAAAA,EAAAA,EAAAA,EAAAA,CAAKA,CAAC,KAOEA,CAAAA,EAAAA,EAAAA,EAAAA,CAAKA,CAAC,IAAasL,GAAAA,CAAkBA,CAACoU,WAAW,CACjD1f,CAAAA,EAAAA,EAAAA,EAAAA,CAAKA,CAAC,IAKbA,CAAAA,EAAAA,EAAAA,EAAAA,CAAKA,CAAC,KAEPC,EAAAA,CAAaA,CAACG,UAAU,CAACC,EAAE,CACxBL,CAAAA,EAAAA,EAAAA,EAAAA,CAAKA,CAAC,KAGTC,EAAAA,CAAaA,CAACG,UAAU,CAAC+K,EAAE,CACxBnL,CAAAA,EAAAA,EAAAA,EAAAA,CAAKA,CAAC,KAOTC,EAAAA,CAAaA,CAACG,UAAU,CAAC+K,EAAE,CACxBnL,CAAAA,EAAAA,EAAAA,EAAAA,CAAKA,CAAC,OAKtB,4BC9BF,IAAM0S,GAA0B,CAC9BiN,SAAU,KACVC,IAFgBlN,aAEC,EACjBmN,eAAe,EACf/M,WAAW,EACXgN,YAAa,KAAO,CACtB,EAEMC,GAAqC9M,IAClC,CACL,GAAGP,EAAY,CACfoN,YAAa,CAACjT,EAAMsE,EAASvC,EAAOsE,KAC9BtE,GACFF,IADS,IACDC,GAAG,CAACuE,GACZD,EAAI,CAAE0M,SAAU,KAAMC,gBAAiBzO,EAAS0O,eAAe,EAAM/M,WAAW,CAAK,IAC5EjG,GAAQsG,OAAOC,IAAI,CAACvG,GAAM7N,MAAM,EAAE,EACvC,CACF2gB,SAAU,CAAE,GAAG9S,CAAI,EACnB+S,gBAAiBzO,EACjB0O,eAAe,EACf/M,WAAW,CACb,EAEJ,EACF,EAGWkN,GAAW1M,CAAAA,EAAAA,GAAAA,CAAAA,CAAcA,CAACyM,GAAW,CAChDxM,EADmByM,kBACC,CACtB,GAAG,gBC1CI,YAAKC,CAAAA,kFAAAA,OAMX,GAOM,SAAKC,CAAAA,+GAAAA,OAUX,GAOM,SAAKC,CAAAA,6DAAAA,OAIX,qkDC7BM,IAAMC,GAAkBtgB,EAAAA,OAAMA,CAACC,GAAG,mDACrCgL,CAAAA,EAAAA,GAAAA,CAAAA,CAAGA,CAAAA,KASgB/K,CAAAA,EAAAA,EAAAA,EAAAA,CAAKA,CAAC,IAWdC,EAAAA,CAAaA,CAACG,SApBtB2K,CAoBgC,CAAC1K,EAAE,CAI3BJ,EAAAA,CAAaA,CAACG,UAAU,CAAC+K,EAAE,CAOVnL,CAAAA,EAAAA,EAAAA,EAAAA,CAAKA,CAAC,IACLA,CAAAA,EAAAA,EAAAA,EAAAA,CAAKA,CAAC,IAGrBA,CAAAA,EAAAA,EAAAA,EAAAA,CAAKA,CAAC,IACKA,CAAAA,EAAAA,EAAAA,EAAAA,CAAKA,CAAC,IAetBA,CAAAA,EAAAA,EAAAA,EAAAA,CAAKA,CAAC,IACJA,CAAAA,EAAAA,EAAAA,EAAAA,CAAKA,CAAC,IAKDA,CAAAA,EAAAA,EAAAA,EAAAA,CAAKA,CAAC,QAIPA,CAAAA,EAAAA,EAAAA,EAAAA,CAAKA,CAAC,GAIRsL,GAAAA,CAAkBA,CAAC+U,gBAAgB,GAQlD,GCxE2CvhB,IAC3C,GAAM,CAACwhB,EAAWC,EAAa,CAAG/Y,CAAAA,EAAAA,EAAAA,QAAAA,CAAQA,OAAC1I,EAAAA,KAAAA,EAAAA,EAAOwhB,OAAPxhB,EAAgB,EACrD,CAAC0hB,EAAaC,EAAe,CAAGjZ,CAAAA,EAAAA,EAAAA,QAAAA,CAAQA,EAAC,GAEzCkZ,EAAWtE,CAAAA,EAAAA,EAAAA,MAAAA,CAAMA,CAAiB,MAElCuE,EAAsB,KAC1BJ,GAAa,SACbzhB,GAAAA,EAAO8hB,aAAP9hB,EAAsB,EACxB,EAEM+hB,EAAsB,QAIvB/hB,EAAAA,EACD4hB,EAOC5hB,EAAAA,EACD4hB,EAOC5hB,EAAAA,EACD4hB,EAnBA5hB,SAAAA,KAAAA,EAAAA,EAAOgiB,eAAAA,SAAoB9J,GAC3BlY,OAAAA,EAAAA,KAAAA,EAAAA,EAAOiiB,OAAPjiB,IAAOiiB,SAAgB/J,GACvB,CAAClY,SAAAA,KAAAA,EAAAA,EAAAA,KAAAA,GAAAA,EAAOiiB,WAAAA,GAAPjiB,KAAAA,MAAAA,KAAAA,EAAAA,QAAAA,EAAAA,EAAoB+d,OAAAA,GAApB/d,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,EAA6Buf,QAAQ,OAAChQ,EAAAA,KAAAA,EAAAA,EAAOzL,OAAM,UACpD8d,EAAAA,KAAAA,EAAiB,QAAjBA,EAAAA,EAAAA,OAAU7D,GAAV6D,KAAAA,MAAAA,KAAAA,EAAAA,EAAmBrC,QAAQ,OAAChQ,EAAAA,KAAAA,EAAAA,EAAOzL,OAAPyL,IAC5B,MACAvP,GAAAA,EAAOgiB,aAAPhiB,EAAsB,EAAC,WAGvBA,EAAAA,KAAAA,EAAAA,EAAOkiB,OAAPliB,iBAAOkiB,SAA6BhK,GACpClY,OAAAA,EAAAA,KAAAA,EAAAA,EAAOmiB,OAAPniB,SAAOmiB,SAAqBjK,GAC5B,QAAClY,EAAAA,KAAAA,EAAAA,OAAAA,EAAAA,CAAAA,EAAOmiB,gBAAAA,GAAPniB,KAAAA,MAAAA,KAAAA,EAAgC,QAAhCA,EAAAA,EAAyB+d,OAAAA,GAAzB/d,KAAAA,MAAAA,KAAAA,EAAAA,EAAkCuf,QAAQ,OAAChQ,EAAAA,KAAAA,EAAAA,EAAOzL,OAAPyL,UAC5CqS,EAAAA,KAAAA,EAAiB,QAAjBA,EAAAA,EAAU7D,OAAO,GAAjB6D,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,EAAmBrC,QAAQ,OAAChQ,EAAAA,KAAAA,EAAAA,EAAOzL,OAAM,IACzC,MACA9D,GAAAA,EAAOkiB,aAAPliB,WAA+B,EAAC,WAGhCA,EAAAA,KAAAA,EAAAA,EAAOoiB,OAAPpiB,kBAAOoiB,SAA8BlK,GACrClY,OAAAA,EAAAA,KAAAA,EAAAA,EAAOqiB,OAAPriB,UAAOqiB,SAAsBnK,GAC7B,QAAClY,EAAAA,KAAAA,EAAAA,OAAAA,EAAAA,CAAAA,EAAOqiB,iBAAAA,GAAPriB,KAAAA,MAAAA,KAAAA,EAAiC,QAAjCA,EAAAA,EAA0B+d,OAAO,GAAjC/d,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,EAAmCuf,QAAQ,OAAChQ,EAAAA,KAAAA,EAAAA,EAAOzL,OAAPyL,UAC7CqS,EAAAA,KAAAA,EAAAA,QAAAA,EAAAA,EAAU7D,OAAAA,GAAV6D,KAAAA,MAAAA,KAAAA,EAAAA,EAAmBrC,QAAQ,OAAChQ,EAAAA,KAAAA,EAAAA,EAAOzL,OAAM,IACzC,KACA9D,GAAAA,EAAOoiB,aAAPpiB,YAAgC,EAAC,EAErC,EAEMsiB,EAAmB,IAEvB,GADA/S,EAAMgT,eAAe,GACjBviB,SAAAA,KAAAA,EAAAA,EAAAA,SAAOwhB,UAAaI,EAAAA,KAAAA,EAAAA,EAAU7D,OAAAA,EAAS,CAAnB6D,IACjBA,SAAAA,EAAAA,KAAAA,EAAAA,QAAAA,EAAAA,EAAU7D,OAAAA,GAAV6D,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,EAAmBrC,QAAQ,OAAChQ,EAAAA,KAAAA,EAAAA,EAAOzL,OAAPyL,GAC/BsS,CADuD,EAG3D,MACEJ,CADK,CACQ,GAEjB,EAEMe,EAAgB,SACnBZ,EAAAA,EACAA,EAAAA,QADAA,GAAiB,QAAjBA,EAAAA,EAAU7D,MAAV6D,CAAiB,GAAjBA,KAAAA,IAAAA,GAAiC,QAAjCA,EAAAA,EAAmB3R,aAAa,CAAC,2BAAjC2R,KAAAA,OAAD,EAA4EpD,YAAY,CAAC,YAAa,cACrGoD,GAAAA,QAAAA,EAAAA,EAAU7D,MAAV6D,CAAiB,GAAjBA,KAAAA,IAAAA,GAAiC,QAAjCA,EAAAA,EAAmB3R,aAAa,CAAC,2BAAjC2R,KAAAA,IAAAA,GAAD,EAA4Ea,KAAK,EACnF,EAEMC,EAAiC,QAGnCd,EAAAA,EAFFrS,EAAMH,cAAc,GACpB,IAAMuT,EACJf,QAAAA,QAAAA,EAAAA,KAAAA,EAAiB,QAAjBA,EAAAA,EAAAA,OAAU7D,GAAV6D,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,EAAmBhG,gBAAgB,CAAC,8EAApCgG,KAAAA,MAAAA,EACA,EAAE,CACEgB,EAAgBD,CAAS,CAACA,EAAUziB,MAAM,CAAG,EAAE,OACrD0iB,GAAAA,EAAepE,YAAY,CAAC,QAA5BoE,IAAyC,cACxCA,GAAD,EAAgCH,KAAK,EACvC,EAEMI,EAAmB,QACnBtT,EAJHqT,SAIGrT,EAAAA,KAAAA,EAAW,QAAXA,CAAAA,CAAAA,EAAOuT,IAAAA,GAAPvT,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,EAAa1M,WAAW,MAAO,OAAO,CACpC6e,EACFC,GAAe,QADA,EAGX3hB,EAAAA,KAAAA,EAAAA,EAAOwhB,OAAPxhB,EAAOwhB,UAAaI,EAAAA,KAAAA,EAAAA,EAAU7D,OAAAA,GAAS,QACpC6D,EAAAA,KAAAA,EAAiB,QAAjBA,EAAAA,EAAU7D,OAAO,GAAjB6D,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,EAAmBrC,QAAQ,CAAChQ,QAAAA,KAAAA,EAAAA,EAAOzL,CAAPyL,MAAa,GAC5CiT,CADuD,GAMjE,EAEMO,EAAiB,QACjBxT,EAEI,EAAC7C,EAAAA,SAFL6C,EAAAA,KAAAA,EAAAA,QAAAA,CAAAA,CAAAA,EAAOuT,IAAAA,GAAPvT,KAAAA,MAAAA,KAAAA,EAAAA,EAAa1M,WAAW,MAAO,OAAO,OACpC0M,EAAAA,KAAAA,EAAAA,EAAOyT,OAAPzT,CAAOyT,EAAU,CACnB,SAAKtW,EAAAA,QAAAA,GAAAA,KAAAA,MAAAA,KAAAA,EAAAA,QAAAA,EAAAA,EAAUuW,aAAAA,GAAVvW,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,QAAD,IAA0CoE,SAAAA,GAA1C,oBAAqDyO,QAAQ,CAAC,0BAAyB,CACzFmD,EAA+BnT,GAC/BoS,GAAe,GAIvB,EAoFA,MAlFAhZ,CAAAA,EAAAA,EAAAA,SAAAA,CAASA,CAAC,KACRK,WAAW,KACT0D,SAASwC,gBAAgB,CAAC,QAASoT,GACnC5V,SAASwC,gBAAgB,CAAC,QAAS2T,GACnCnW,SAASwC,gBAAgB,CAAC,UAAW6T,EACvC,EAAG,GAEI,KACLrW,SAASyE,mBAAmB,CAAC,QAASmR,GACtC5V,SAASyE,mBAAmB,CAAC,QAAS0R,GACtCnW,SAASyE,mBAAmB,CAAC,UAAW4R,EAC1C,GACC,EAAE,EAELpa,CAAAA,EAAAA,EAAAA,SAAAA,CAASA,CAAC,MAEN,OAAC3I,EAAAA,KAAAA,EAAAA,EAAOgiB,OAAPhiB,QAAOgiB,SAAoB9J,GAAalY,OAAAA,EAAAA,KAAAA,EAAAA,EAAOiiB,OAAPjiB,IAAOiiB,SAAgB/J,GAC/DlY,OAAAA,EAAAA,KAAAA,EAAAA,EAAOkiB,OAAPliB,iBAAOkiB,SAA6BhK,GAAalY,OAAAA,EAAAA,KAAAA,EAAAA,EAAOmiB,OAAPniB,SAAuB,SAAKkY,GAC7ElY,OAAAA,EAAAA,KAAAA,EAAAA,EAAOoiB,OAAPpiB,kBAAOoiB,SAA8BlK,GAAalY,OAAAA,EAAAA,KAAAA,EAAAA,EAAOqiB,OAAPriB,UAAOqiB,SAAsBnK,CAAAA,GAChF,SACShJ,gBAAgB,CAAC,QAAS6S,GAG9B,MAEH,OAAC/hB,EAAAA,KAAAA,EAAAA,EAAOgiB,OAAPhiB,QAAOgiB,SAAoB9J,GAAalY,OAAAA,EAAAA,KAAAA,EAAAA,EAAOiiB,OAAPjiB,IAAkB,SAAKkY,GAC/DlY,OAAAA,EAAAA,KAAAA,EAAAA,EAAOkiB,OAAPliB,iBAAOkiB,SAA6BhK,GAAalY,OAAAA,EAAAA,KAAAA,EAAAA,EAAOmiB,OAAPniB,SAAOmiB,SAAqBjK,GAC7ElY,OAAAA,EAAAA,KAAAA,EAAAA,EAAOoiB,OAAPpiB,kBAAOoiB,SAA8BlK,GAAalY,OAAAA,EAAAA,KAAAA,EAAAA,EAAOqiB,OAAPriB,UAAOqiB,SAAsBnK,CAAAA,GAChF,SACS/G,mBAAmB,CAAC,QAAS4Q,EAE1C,GACC,EAAE,EAELpZ,CAAAA,EAAAA,EAAAA,SAAAA,CAASA,CAAC,SACJiZ,EAECA,EAAAA,EAECA,EAFF,EAIEA,EANN,SAAIA,EAAAA,KAAAA,EAAAA,QAAAA,EAAAA,EAAAA,OAAU7D,GAAV6D,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,EAAmB3R,aAAa,CAAC,wCAAwD,CAG3F,IAAMiT,EAAqBC,CAD6E,OAAtG,SAACvB,EAAAA,KAAAA,EAAAA,QAAAA,EAAAA,EAAU7D,OAAAA,GAAV6D,KAAAA,MAAAA,KAAAA,EAAiC,QAAjCA,EAAAA,EAAmB3R,aAAa,CAAC,0CAAjC2R,KAAAA,IAAAA,EAAAA,KAAAA,EAAD,EAA2FwB,WAAW,GAAtG,cAA0G,EACpEC,GAAAA,EAAsBA,QAC1DzB,EAAAA,KAAAA,EAAAA,QAAAA,EAAAA,EAAAA,OAAU7D,GAAV6D,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,EAAmB3R,aAAa,CAAC,+CAA8C,QAE/E2R,EAAAA,KAAAA,EAAAA,QAAAA,EAAAA,EAAU7D,OAAAA,GAAV6D,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,EAAmB3R,aAAa,CAAC,8CACjC1I,KAAK,CAAC+b,QAAQ,CAAG,GAAsB,OAAnBJ,EAAmB,MAE7C,CACF,GAEAva,CAAAA,EAAAA,EAAAA,SAAAA,CAASA,CAAC,SACiB+D,EAAzB,IAAM6W,EAAAA,QAAmB7W,EAAAA,QAAAA,GAAAA,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,EAAUuD,aAAa,CAAC,mBAC7CsT,WACEvjB,EAAAA,KADgB,EAChBA,EAAOwjB,OAAPxjB,IAAkB,EAAE,EACL8Q,SAAS,CAAC3K,KAAK,CAAG,0EAC1BnG,EAAAA,KAAAA,EAAAA,EAAOyjB,OAAPzjB,GAAOyjB,EAAY,EACX3S,SAAS,CAAC3K,KAAK,CAAG,0EAC1BnG,EAAAA,KAAAA,EAAAA,EAAO0jB,OAAP1jB,KAAO0jB,EAAc,EACb5S,SAAS,CAAC3K,KAAK,CAAG,mDAEnCod,EAAiBzS,SAAS,CAAC3K,KAAK,CAAG,mEAGzC,EAAG,EAAE,EAELwC,CAAAA,EAAAA,EAAAA,SAAAA,CAASA,CAAC,YACJ3I,EAAAA,KAAAA,EAAAA,EAAOwhB,OAAPxhB,EAAOwhB,EAAW,SAEXrC,IAAI,CAAC5X,KAAK,CAACoc,QAAQ,CAAG,SAG/BjX,SAASyS,IAAI,CAAC5X,KAAK,CAACoc,QAAQ,CAAG,MAEnC,EAAG,OAAC3jB,EAAAA,KAAAA,EAAAA,EAAOwhB,OAAPxhB,EAAgB,CAAC,EAErB2I,CAAAA,EAAAA,EAAAA,SAAAA,CAASA,CAAC,IACD,KACL+D,SAASyS,IAAI,CAAC5X,KAAK,CAACoc,QAAQ,CAAG,MACjC,EACC,EAAE,EAELhb,CAAAA,EAAAA,EAAAA,SAAAA,CAASA,CAAC,KACR6Z,GACF,EAAG,CAACZ,EAAS,EAGX,UAACN,GAAeA,CAAC9W,WAAD8W,WAAqB,4BACnC,UAACrgB,MAAAA,CAAIuC,UAAU,0BACb,UAACogB,GAAAA,CAAKA,CAAAA,CACJC,QAAQ,SACRC,WAAW,SACXC,KAAK,SACLvgB,UAAW,uCAAsF,OAA/CxD,OAAAA,EAAAA,KAAAA,EAAAA,EAAOgkB,OAAPhkB,GAAOgkB,EAAa,UAAY,eAAe,cACjGC,mBAAoB,gCAGlBjkB,MAAAA,CAFAA,OAAAA,EAAAA,KAAAA,EAAAA,EAAOwjB,OAAPxjB,IAAOwjB,EAAc,UAAY,kBAClC,uCAEA,OADCxjB,OAAAA,EAAAA,KAAAA,EAAAA,EAAOwjB,OAAPxjB,IAAOwjB,EAAc,+BAAsD,OAAvBxjB,EAAMkkB,gBAAgB,EAAK,IAEjFC,KAAM3C,EACN4C,YAAY,EACZC,eAAgB7C,EAChB8C,gBAAgB,WAEhB,WAACrjB,MAAAA,CAAIub,IAAKoF,YACR,UAACgC,GAAAA,CAAKA,CAACW,MAAM,EACX/gB,UAAW,GAGTxD,MAAAA,CAFAA,CAAAA,QAAAA,KAAAA,EAAAA,EAAOwjB,CAAPxjB,UAAOwjB,EAAc,MAAQ,YAC9B,oEAEA,OADCxjB,SAAAA,KAAAA,EAAAA,EAAOwjB,WAAAA,EAAc,2BAA6B,qBAEpDgB,SAAS,OAAExkB,EAAAA,KAAAA,EAAAA,EAAOykB,OAAPzkB,GAAiB,CAC5B0kB,uBAAwB7C,EACxB8C,oBAAoB,+DACpBC,iBAAiB,OAAExD,GAAIA,CAAAA,IAAAA,EAAJA,GAAM7d,CAAF6d,GAAJA,CACnByD,GADuBzD,gBACH,GAEnB,OADCphB,OAAAA,EAAAA,KAAAA,EAAAA,EAAOwjB,OAAPxjB,IAAOwjB,EAAc,GAAK,sEAG9B,UAACI,GAAAA,CAAKA,CAACkB,IAAI,EACTthB,UAAW,GAEV,OADCxD,OAAAA,EAAAA,KAAAA,EAAAA,EAAOwjB,OAAPxjB,IAAOwjB,UAAexjB,EAAAA,KAAAA,EAAAA,EAAOyjB,OAAPzjB,GAAOyjB,UAAczjB,EAAAA,KAAAA,EAAAA,EAAO0jB,OAAP1jB,KAAO0jB,EAAe,MAAQ,sBAC1E,mCAEA1jB,EAAAA,KAAAA,EAAAA,EAAO+kB,OAAP/kB,KAAmB,WAQlC,EAAE,eC7NK,IAAMglB,GAAY,SAACxS,CAAAA,CAAcrM,CAAAA,MAAe8e,EAAAA,UAAAA,MAAAA,CAAAA,GAAAA,KAAAA,IAAAA,SAAAA,CAAAA,EAAAA,CAAAA,SAAAA,CAAAA,EAAAA,CAAU,KAC/D,GAAIzS,GAAQrM,GAAS8e,EAAS,CAC5BC,GAAAA,CAAOA,CAAC/Q,GAAG,CAAC3B,EAAMrM,EAAO8e,GACzB,MACF,CAEIzS,GAAQrM,GACV+e,GAAAA,CAAOA,CAAC/Q,GAAG,CAAC3B,EAAMrM,EAEtB,EAAE,GAEwB,GACxB,EACS+e,GAAAA,CADC,CACOC,GAAG,CAAC3S,GAGd0S,GAAAA,CAAOA,CAACC,GAAG,ECnBb,OAAMC,GAmBb,CAnBaA,GAEJC,QAAAA,CAAgB,CACrBC,MAAO,QACPC,OAAQ,QACV,EALWH,GAOJI,KAAAA,CAAa,CAClBC,KAAM,OACNC,UAAW,YACXJ,MAAO,QACPC,OAAQ,SACRI,OAAQ,QACV,EAbWP,GAeJQ,IAAAA,CAAY,CACjBC,MAAO,QACPC,MAAO,OACT,EAGK,IAAMC,GAA6B,CACxC3T,MAAO,GACP4T,YAAa,GACb9gB,YAAa,GACb+gB,gBAAgB,EAChBC,kBAAmB,GACnBC,aAAc,CACZC,iBAAkB,GAClBC,kBAAmB,GACnBC,yBAA0B,EAC5B,EACAC,cAAe,CACbC,gBAAiB,GACjBC,eAAgB,GAChBC,uBAAwB,EAC1B,EACAC,mBAAoB,GACpBC,WAAY,GACZC,uBAAuB,EACvBC,gBAAgB,EAChBC,WAAY,CACVC,SAAS,EACTC,gBAAgB,EAChBC,qBAAqB,EACrBC,wBAAwB,EACxBC,cAAc,EACdC,iBAAiB,CACnB,EACAC,iBAAiB,EACjBC,YAAa,CACXP,SAAS,EACTQ,gBAAgB,CAClB,EACAC,oBAAoB,EACpBC,eAAgB,CACdV,SAAS,EACTW,iBAAiB,CACnB,EACAC,mBAAmB,EACnBC,kBAAkB,EAClBC,mBAAmB,EACnBC,mBAAoB,GACpBC,mBAAmB,EACnBC,0BAA0B,EAC1BC,0BAA2B,GAC3BC,kBAAkB,EAClBC,kBAAkB,CACpB,EAAE,GAEmC,CAAC,QAAS,SAAU,QAAQ,CAAC,GAC5B,CAAC,aAAc,UAAU,CAAC,GAE7B,CACjCC,aAAa,EACbC,qBAAsB,EACxB,EAEaC,GAAiB,QAAQ,GAEe,CAAC,QAAQ,CAAC,GAEf,CAC9CC,MAAO,0BACPC,OAAQ,+BACV,EAEaC,GAAmC,CAC9CC,QAAS,QACTC,QAAS,OACX,EAAE,GCtE+B,CAACzJ,EAAW0J,KAC3C,IAAMC,EAAOpc,SAASmC,aAAa,CAAC,QAC9Bka,EAAapmB,KAAKC,KAAK,CAACuc,GACxB6J,EAAqD,CAAC,IAAjCH,EAAaI,OAAO,CAAC,OAAgB,WAAwB,OAAbJ,GAAiBA,EAM5F,IAAK,IAAMvW,KALXwW,EAAKtK,YAAY,CAAC,SAAU,QAC5BsK,EAAKtK,YAAY,CAAC,SAAUwK,GAC5BF,EAAKtK,YAAY,CAAC,QAAS,iBAC3B0K,IAAAA,QAAkB,CAACJ,EAAM,CAAEK,qBAAqB,CAAK,GAE9BJ,EACrB,GAA6B,MADI,CAC7BA,CAAU,CAACzW,EAAS,CAAW,CACjC,IAAM8W,EAAQ1c,SAASmC,aAAa,CAAC,SACrCua,EAAMC,IAAI,CAAG,OACbD,EAAM1iB,EAAE,CAAG4L,EACX8W,EAAM5W,IAAI,CAAGF,EACb8W,EAAMjjB,KAAK,CAAG4iB,CAAU,CAACzW,EAAS,CAClCwW,EAAK7Z,WAAW,CAACma,EACnB,CAIF1c,SAAS4c,oBAAoB,CAAC,OAAO,CAAC,EAAE,CAACra,WAAW,CAAC6Z,GACrDA,EAAKS,EADuD,IACjD,EACb,EAAE,GAK+B,CAC/BC,EACAC,GAT6E,EAW7E,GAAIA,UAAyBA,EAAAA,KAAAA,EAAAA,EAAwB,eAAiB,EAElE,EAFgD,CAE5C,GAFqBA,EAIbA,EACEA,EACMA,EACPA,EAwCFC,EAGeD,EA/CxB,GAFyB,CAEnBC,EAAcD,QAAAA,KAAAA,EAAAA,EAAwB,WAAc,CACpDE,EAAgC,GADlBF,EAAuB,GACjCA,QAAAA,EAAAA,KAAAA,EAAAA,EAAwB,IAAxBA,KAAAA,IAAAA,EAAAA,EAAgC,EAAT,CAC7BjE,EAAwC,CADlCiE,OACEA,QAAAA,EAAAA,KAAAA,EAAAA,EAAwB,QAAxBA,KAAAA,IAAAA,EAAAA,EAAoC,EAApCA,CACNG,EAAgD,QAApCH,QAAAA,EAAAA,KAAAA,EAAAA,EAAwB,YAAxBA,KAAAA,EAAuB,EAAvBA,EAAAA,EAAwC,GACpDI,EAAkC,QAA7BJ,QAAAA,EAAAA,KAAAA,EAAAA,EAAwB,EAAK,GAA7BA,KAAAA,MAAAA,EAAiC,CAAV,EAC5BK,EAAW1E,GAAUC,MAADD,EAAS,CAACwE,EAAU,CAAGA,EAAYxE,GAAUI,KAAK,CAANJ,IAAW,CAE3E2E,EACJH,IAAcxE,GAAUI,KAAK,CAACF,KAAK,GACJ,CAA9BoE,MAAAA,CAAW,CAACC,QAAAA,EAAK,IAALA,IAAa,EAA2C,OAA9BD,CAAW,OAACC,EAAAA,EAAK,QAAQ,CAAQ,CACpEvE,GAAUQ,IAAI,CAACE,CAANV,IAAW,CACpBA,GAAUQ,IAAI,CAACC,CAANT,IAAW,CAEpB4E,EAAKD,QAAAA,EAAM,GAGR,EAHEA,QAGTC,CACCN,GAA+B,OAA/BA,CAAW,OAACC,EAAAA,EAAK,SAAS,CAAdA,CACmB,OAA9BD,CAAW,OAACC,EAAAA,EAAK,QAAQ,EACO,QAArB,OAACA,EAAAA,EAAK,UAAU,EACQ,OAAnCD,CAAW,OAACC,EAAAA,EAAK,UAALA,GAAkB,CAAQ,GACxC,EACQvE,GAAUI,KAAK,CAANJ,IAAOK,SAItBoE,EAAAA,KAAAA,EAAAA,EAAII,IAAJJ,OAAe,MAAO,QAAiB,UAAPG,GAAwB,SAAS,CAAfL,IACpDnE,EAAQJ,GAAUI,KAAK,CAANJ,IAAW,EAG9B,IAAMpL,EAAM,CACVkQ,OAAQT,OAAAA,EAAAA,KAAAA,EAAAA,EAAwB,QAAYA,QAAAA,GAAb,EAAaA,EAAAA,EAAwB,MAAS,CAAGvR,UAChF2R,EADmE,EAEnEF,EACAQ,OAAQ,YACRC,MAAO5E,GAAgBsE,EACvBC,GADevE,EAEf6E,SAAUZ,OAAAA,EAAAA,KAAAA,EAAAA,EAAwB,gBAAcA,EAAAA,CAAf,IAAvBA,EAAsCA,EAAwB,QAAW,MAAGvR,EACtFoS,GADuE,IAC/Db,CAAAA,QAAAA,KAAAA,EAAAA,EAAwB,cAAYA,EAAAA,CAApCA,EAAuB,EAAaA,EAAAA,EAAwB,MAAS,CAAGvR,OAChFqS,GACEd,EAFiE,IAAvBA,CAE1CA,EAAAA,KAAAA,EAAAA,EAAwB,KAASA,OAAAA,EAAAA,KAAV,EAAUA,EAAjCA,EAA8D,IAAK,SAC/DA,EAAAA,EADoD,GACpDA,CAD6BA,CAC7BA,EAAwB,EAAK,MAC7BvR,EACNsS,GAAG,MAF0B,CAExBf,EAAAA,CAFCA,IAEDA,EAAAA,EAAwB,GAAM,CACnCgB,MAA2B,QAApBf,CADqB,CACrBA,CAAW,CAACC,CADdF,OACcE,EAAK,IAALA,EAAZD,KAAAA,IAAAA,EAAAA,OAAwBxR,CACjC,EACMiH,EAAOxc,KAAKoY,SAAS,CAACf,GAC5B0Q,GAAkBvL,EAAMsK,QAAAA,EAAAA,QAAAA,KAAAA,EAAAA,EAAwB,eAAxBA,EAAAA,EAAuB,CAAvBA,IAAAA,EAAAA,EAA2C,GACrE,CAAE,MAAO3Z,EAAO,CACdF,QAAQC,GAAG,CAAC,qCAAsCC,EACpD,CAGN,EAEa6a,GAAuBC,QAChB9hB,EAGGA,EACnBA,EAAAA,EACAA,EAAAA,EAAAA,EACAA,EAAAA,EAAAA,EAAAA,EANgBA,EAGGA,EAHrB,IAAMsI,EAA6B,QAAjBtI,EAAAA,QAAAA,EAAAA,MAAAA,GAAAA,KAAAA,MAAAA,KAAAA,EAAAA,EAAQsI,SAAS,GAAjBtI,KAAAA,IAAAA,EAAAA,EAAqB,CACrC,GAAG+hB,EAAmB,EAElBC,EAG8C,QAH/BhiB,EAAAA,CAAAA,QAAAA,EAAAA,MAAAA,GAAAA,KAAAA,MAAAA,KAAAA,EAAAA,EAAQgiB,WAAAA,GAAW,CACtChiB,QAAAA,EAAAA,MAAAA,GAAAA,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,QAAAA,EAAAA,EAAQgiB,WAAAA,GAARhiB,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,EAAqBiiB,SAAAA,GAAS,SAC9BjiB,EAAAA,MAAAA,GAAAA,KAAAA,IAAAA,EAAAA,KAAAA,EAAmB,QAAnBA,EAAAA,EAAQgiB,WAAAA,GAARhiB,KAAAA,MAAAA,KAAAA,EAA8B,QAA9BA,EAAAA,EAAqBiiB,SAAS,GAA9BjiB,KAAAA,MAAAA,KAAAA,EAAAA,EAAgCiF,IAAAA,GAAI,QACpCjF,GAAAA,MAAAA,GAAAA,KAAAA,IAAAA,EAAAA,KAAAA,EAAmB,QAAnBA,EAAAA,EAAQgiB,WAAW,GAAnBhiB,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,OAAAA,GAAAA,EAAqBiiB,SAAAA,GAArBjiB,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,QAAAA,EAAAA,EAAgCiF,IAAAA,GAAhCjF,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,EAAsCkiB,YAAAA,CAAY,GAH/BliB,KAAAA,MAAAA,EAGoC,CACvD,GAAG+hB,EAAmB,QAExB,EAAIzZ,KAAa0Z,IACR,MAAC1Z,GADoB,EACpBA,EAAY,OAAD,IAAe,EAAIA,EAA9BA,KAA8BA,EAAAA,KAAAA,EAAAA,EAAY,OAAD,IAAXA,SAAY,IAA4BwZ,GAC3EE,MAAAA,KAAAA,EAAc,SAAD,EAAe,EAAIA,IAAhCA,GAAgCA,EAAAA,KAAAA,EAAAA,EAAc,SAAD,IAAbA,OAAc,IAA4BF,CAAAA,CAKjF,EAAE,CAJM,EAM0C,KAL1C,IAMNrb,CAAAA,CACA0b,CAAAA,MAII1b,EAgBOA,MAnBX2b,EAAAA,UAAAA,MAAAA,CAAAA,GAAAA,KAAAA,IAAAA,SAAAA,CAAAA,EAAAA,CAAAA,SAAAA,CAAAA,EAAAA,CAAyB,EAAE,CAC3BnoB,EAAAA,UAAAA,MAAAA,CAAAA,EAAAA,SAAAA,CAAAA,EAAAA,CAAAA,KAAAA,CAEIwM,QAAAA,EAAAA,KAAAA,EAAAA,QAAAA,CAAAA,CAAAA,EAAOuT,IAAAA,GAAPvT,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,EAAa1M,WAAW,MAAO,aAAa,MAC9C0M,GAAAA,EAAOgT,aAAPhT,EAAsB,GACtBvG,WAAW,KACT,IAAMmiB,QAAeF,EAAAA,KAAAA,EAAAA,EAAiBlN,OAAO,CAC7C,GAAIoN,EAAc,CAChB,GAFmBF,CAEbG,QAAQD,EAAAA,KAAAA,EAAD,EAA+BE,QAAQ,CAC9CC,EAASJ,GADDC,KACCD,KAAAA,EAAAA,EAAWK,KAAXL,IAAoB,CAACM,GAAKA,EAAErlB,KAAK,GAAKpD,EAAKoD,KAAK,EAC3DslB,EAAyB,IAM5BA,QAJCA,EADEH,EAASF,OAAAA,EAAAA,KAAAA,EAAAA,EAAMlrB,MAANkrB,EAAe,EACjBA,CADoB,CACfE,EAAS,EAAE,CAEhBF,CAAI,CAAC,EAAE,GAElB,EAAyB3I,KAAK,EAChC,CACF,EAAG,KACMlT,OAAAA,EAAAA,KAAAA,EAAAA,QAAAA,CAAAA,CAAAA,EAAOuT,IAAAA,GAAPvT,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,EAAa1M,WAAW,MAAO,WAAW,MACnD0M,GAAAA,EAAOgT,aAAPhT,EAAsB,GACtBvG,WAAW,KACT,IAAMmiB,QAAeF,EAAAA,KAAAA,EAAAA,EAAiBlN,OAAO,CAC7C,GAAIoN,EAAc,CAChB,GAFmBF,CAEbG,QAAQD,EAAAA,KAAAA,EAAD,EAA+BE,QAAQ,CAC9CC,KADQH,GACCD,EAAAA,KAAAA,EAAAA,EAAWK,SAAS,CAACC,CAArBN,EAA0BM,EAAErlB,KAAK,GAAKpD,EAAKoD,KAAK,EAC3DslB,EAAyB,KAC7B,GAAIH,EAAS,GAAK,EAChBG,CADmB,CACVL,CAAI,CAACE,EAAS,EAAE,KACpB,KACIF,EAATK,EAASL,QAAAA,EAAAA,CAAI,CAACA,OAAAA,EAAAA,KAAAA,EAAAA,EAAMlrB,MAAAA,EAAS,KAApBkrB,KAAAA,IAAAA,EAAAA,EAA0BA,CAAI,CAAC,EAAE,OAE3CK,GAAD,EAAyBhJ,KAAK,EAChC,CACF,EAAG,IAFEgJ,OAILlc,GAAAA,EAAOgT,aAAPhT,EAAsB,EAE1B,EAAE,GAEqB,CACrBmc,EACAC,EACAC,SAeKF,EAAAA,EACAA,EAAAA,EAGDA,EAAAA,EAP6BA,EAG5BA,EACAA,EAGDA,EAjBJ,IAAMG,EAAqB,CACzBC,YAAY,EACZC,UAAW,MACXC,WAAW,OAAEtD,GAAgCA,KAAAA,EAAhCA,GAAkCC,OAAO,CACtDsD,WAD6CvD,IAE7CwD,MAF6CxD,GAAhCA,GAEAkD,CACf,EAcA,OAZAC,EAAmBC,UAAU,EAAG,EAChCD,EAAmBE,CAN4BrD,QAMnB,CAAGgD,QAAAA,KAAAA,EAAAA,EAAmBS,aAAnBT,GAAmC,CAClEG,EAAmBG,WAAW,CAAGN,QAAAA,EAAAA,QAAAA,KAAAA,EAAAA,EAAmBU,QAAAA,GAAnBV,EAAAA,GAAAA,IAAAA,EAAAA,QAA+BhD,GAAgCA,KAAAA,EAAhCA,GAAkCC,OAAO,CAEzGkD,EAAmBI,SAF6EvD,CAEnE,CAAGiD,EACqB,MAH2CjD,EAG3FgD,CAH2DhD,CAGf,QAA5CgD,QAAAA,EAAAA,KAAAA,EAAAA,MAH2FhD,EAG3FgD,EAAAA,EAAmBW,SAAnBX,CAAmBW,GAAnBX,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,EAA+BY,aAAAA,GAA/BZ,KAAAA,MAAAA,GAAgD,GAAhDA,KAAAA,IAAAA,EAAAA,KAAAA,EAAD,EAAqDxe,QAAQ,GACtB,QAAtCwe,EAAkC,QAAlCA,EAAAA,QAAAA,KAAAA,EAAAA,QAAAA,EAAAA,EAAmBW,GAAnBX,OAAmBW,GAAnBX,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,EAA+Ba,GAAAA,GAA/Bb,KAAAA,IAAAA,EAAAA,GAAsC,GAAtCA,KAAAA,IAAAA,EAAAA,KAAAA,EAAD,EAA2Cxe,QAAQ,GAEvD2e,EAAmBK,WAAW,CAAGP,EAC7BD,QAAAA,QAAAA,EAAAA,KAAAA,EAA6B,OAA7BA,GAAAA,EAAmBW,SAAnBX,CAAmBW,GAAnBX,KAAAA,IAAAA,EAAAA,KAAAA,EAAiD,QAAjDA,EAAAA,EAA+Bc,kBAAAA,GAA/Bd,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,EAAmD5I,IAAAA,GAAnD4I,KAAAA,MAAAA,EAA2D,GAC3DE,EAEG,CACL,GAAGC,CAAkB,CAEzB,EAEMY,GAAqB,CACzBC,EACAd,EACAe,SAaID,EAMAA,EA0DAA,EA3EJ,IAAIE,EAAgC,CAClCC,WAAY,GACZZ,WAAY,GACZH,YAAY,EACZgB,YAAY,EACZC,UAAW,EACXhB,UAAW,CACb,EAEA,GAAIW,OAAAA,EAAAA,KAAAA,EAAAA,EAA0BxsB,MAAM,EAAG,EAAG,CACxC,IAAM8sB,EACJN,QAAAA,CAFAA,OAEAA,EAAAA,KAAAA,EAAAA,EAA0BO,KAAK,CAC7B,SACEvB,EAAAA,KAAAA,EAAAA,EAFJgB,mBAEIhB,cAAmD,GAFvDgB,KAAAA,IAAAA,GAAAA,EAKIQ,EAGoD,OAFxDR,SAAAA,EAAAA,KAAAA,EAAAA,EAA0BO,GAHrB,EAG0B,CAC7B,GACE,QAACvB,EAAAA,KAAAA,EAAAA,EAAmBC,mBAAnBD,aAAmBC,EAAgC,GAFxDe,KAAAA,IAAAA,GAAAA,EAKF,GAAIM,GAAyD,MAAM,CAApBL,QAC7CD,GAAAA,EAA0BlW,OAAO,CAAC,IAChC,GAAIkV,CAAAA,QAAAA,KAAAA,EAAAA,CADNgB,CACyBN,QAAQ,IAAK1D,CAAhCgD,EAAiE/C,OAAO,CAAE,CAC5E,IAAMwE,EAAcC,GAAe1B,GAAmB,EAAME,GAC5DgB,EAAc,CAFoDlE,GAG7DkE,CAAW,CACd,GAAGO,CAAW,CAElB,MAAO,GAAIzB,OAAAA,EAAAA,KAAAA,EAAAA,EAAmBU,QAAAA,IAAa1D,GAAiCE,IAAjE8C,GAAwE,CAAE,KAGzDA,EAInBA,EAAAA,EACAA,EAAAA,EAGDA,EAAAA,EAJCA,EAPkEhD,EAWnEgD,EAGsBA,EAAAA,EACAA,EAAAA,EADAA,EACAA,EAd5BkB,EAAYE,UAAU,EAAG,EACzBF,EAAYG,SAAS,OAAGrB,EAAAA,KAAAA,EAAAA,EAAmBS,gBAAgB,CAC3DS,EADwBlB,WACD,CAA8B,QAA3BA,QAAAA,EAAAA,KAAAA,EAAAA,EAAmBU,QAAQ,GAA3BV,KAAAA,GAAAA,CAAAA,EAAAA,EAA+BhD,GAAiCE,OAAO,CAE/E,MAAM,CAApB+D,GACFC,EAAYC,SAH2EnE,CAGjE,CAAGgD,OAAAA,EAAAA,KAAAA,EAAAA,EAAmBC,mBAAnBD,aAAmBC,EACS,QAAhDD,EAA4C,QAA5CA,QAAAA,EAAAA,KAAAA,EAA6B,QAA7BA,EAAAA,EAAmBW,SAAnBX,CAAmBW,GAAnBX,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,EAA+BY,aAAAA,GAA/BZ,KAAAA,IAAAA,EAAAA,GAAgD,GAAhDA,KAAAA,MAAAA,KAAAA,EAAD,EAAqDxe,QAAQ,GACtB,QAAtCwe,EAAkC,QAAlCA,QAAAA,EAAAA,KAAAA,EAAAA,QAAAA,EAAAA,EAAmBW,SAAnBX,CAAmBW,GAAnBX,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,EAA+Ba,GAAAA,GAA/Bb,KAAAA,IAAAA,EAAAA,GAAsC,GAAtCA,KAAAA,IAAAA,EAAAA,KAAAA,EAAD,EAA2Cxe,QAAQ,GAEvD0f,EAAYS,WAAW,CAAG3B,CAAAA,QAAAA,KAAAA,EAAAA,EAAmBC,aAAnBD,mBAAmBC,EACc,QAAvDD,QAAAA,EAAAA,KAAAA,EAAAA,QAAAA,EAAAA,EAAmBW,SAAnBX,CAAmBW,GAAnBX,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,QAAAA,EAAAA,EAA+Bc,kBAAAA,GAA/Bd,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,EAAmD5I,IAAI,GAAvD4I,KAAAA,MAAAA,EAA2D,GAC3DE,IAEJgB,EAAYC,UAAU,SAAInB,EAAAA,QAAAA,QAAAA,EAAAA,KAAAA,EAAAA,QAAAA,EAAAA,EAAmBW,SAAnBX,CAAmBW,GAAnBX,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,EAA+BY,aAAAA,GAA/BZ,KAAAA,MAAAA,EAAgD,IAAhDA,KAAAA,IAAAA,EAAAA,KAAAA,EAAD,EAAqDxe,QAAQ,GACtF0f,EAAYS,WAAW,CAA0D,QAAvD3B,QAAAA,EAAAA,KAAAA,EAA6B,QAA7BA,EAAAA,EAAmBW,SAAnBX,CAAmBW,GAAnBX,KAAAA,IAAAA,EAAAA,KAAAA,EAAiD,OAAjDA,GAAAA,EAA+Bc,kBAAAA,GAA/Bd,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,EAAmD5I,IAAAA,GAAnD4I,KAAAA,IAAAA,EAAAA,EAA2D,GAEzF,CACF,QACK,IAAIwB,EAkBT,OADAtd,QAAQE,GAjBqB,EAiBhB,CAAC,gFACP,CACLwd,gBAAiB,KACjBC,UAAU,CACZ,QApBAb,GAAAA,EAA0BlW,OAAO,CAAC,IAChC,GAAIkV,OAAAA,EAAAA,KAAAA,EAAAA,CADNgB,CACyBN,QAAAA,IAAa1D,GAAiCC,IAAjE+C,GAAwE,CAAE,CAC5E,IAAMyB,EAAcC,GAAe1B,GAAmB,EAAOE,GAC7DgB,EAAc,CAFoDlE,GAG7DkE,CAAW,CACd,GAAGO,CACL,CACF,MAAO,GAAIzB,CAAAA,QAAAA,KAAAA,EAAAA,EAAmBU,QAAAA,IAAa1D,CAAhCgD,EAAiE9C,OAAO,CAAE,KAIzD8C,EAAAA,EADAA,EACAA,EAH1BkB,EAAYE,MAD6DpE,IACnD,EAAG,EACzBkE,EAAYG,SAAS,OAAGrB,EAAAA,KAAAA,EAAAA,EAAmBS,gBAAgB,CAC3DS,EADwBlB,WACD,CAA8B,QAA3BA,QAAAA,EAAAA,KAAAA,EAAAA,EAAmBU,QAAAA,GAAnBV,KAAAA,GAAAA,GAAAA,EAA+BhD,GAAiCE,OAAO,CACjGgE,EAAYC,UAAU,CAA0C,QADyBnE,EAC7B,QAAlCgD,QAAAA,EAAAA,KAAAA,EAA6B,QAA7BA,EAAAA,EAAmBW,SAAnBX,CAAmBW,GAAnBX,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,EAA+Ba,GAAAA,GAA/Bb,KAAAA,IAAAA,EAAAA,GAAsC,GAAtCA,KAAAA,IAAAA,EAAAA,KAAAA,EAAD,EAA2Cxe,QAAQ,GAC5E0f,EAAYS,WAAW,CAAGzB,CAC5B,CACF,GAQJ,KAAO,CACL,IAAMuB,EAAcC,SAClBV,EAAAA,KAAAA,EAAAA,CAA0B,CAAC,EAAE,OAC7BA,EAAAA,KAAAA,EAA6B,QAD7BA,EACAA,CAA0B,CAAC,KAA3BA,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,EAA+Bf,gCAAgC,CAC/DC,GAEFgB,EAAc,CACZ,GAAGA,CAAW,CACd,GAAGO,CAAW,CAElB,OAEA,OACE,GAAuBP,EAAYV,WAAW,GAAKU,EAAYS,WAAW,EAC3D,OAAdV,GAAsBa,WAAWZ,QAAAA,KAAAA,EAAAA,EAAaC,OAAbD,GAAuB,EAAIY,iBAAWZ,EAAAA,KAAAA,EAAAA,EAAaX,UAAU,GAE/Frc,QAAQE,KAAK,CAAC,gEACP,CACLwd,gBAAiB,KACjBC,UAAU,CACZ,GAGK,CACLD,gBAAiB,CAAE,GAAGV,CAAW,EACjCW,UAAU,CACZ,CACF,EAEME,GAAqB,IACzB,IAAIC,EAAkB,GACtB,GAAIhB,UAA4BA,EAAAA,KAAAA,EAAAA,EAA0BxsB,MAAAA,GAAQ,GAC5DwsB,OAAAA,EAAAA,KAD0BA,EAC1BA,EAA0BxsB,MAAAA,IAAW,EAAG,KACtCwsB,EACEA,EAAAA,EAEOA,EAAAA,CAJXA,QACEA,EAAAA,KAAAA,EAAAA,QAAAA,EAAAA,CAA0B,CAAC,KAA3BA,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,EAA+BN,QAAAA,IAAa,QAC1CM,CADmD,QACnDA,KAAAA,EAA6B,QAA7BA,EAAAA,CAA0B,CAAC,KAA3BA,IAAAA,CAAAA,IAAAA,EAAAA,KAAAA,EAAyC,QAAzCA,EAAAA,EAA+BL,UAAU,GAAzCK,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,EAA2CiB,OAAO,IAAK,IACzDD,CAD8D,CAC5C,YACThB,EAAAA,KAAAA,EAA6B,QAA7BA,EAAAA,CAA0B,CAAC,EAAE,GAA7BA,KAAAA,MAAAA,KAAAA,EAAAA,QAAAA,EAAAA,EAA+BL,UAAAA,GAA/BK,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,EAA2CiB,OAAAA,IAAY,KAAK,GACnD,MAGpB/d,QAAQE,KAAK,CAAC,6CAElB,OAAO,KACL4c,GAAAA,EAA0BlW,OAAO,CAACkV,QACeA,EAEOA,CAFlDA,QAAAA,EAAAA,GADNgB,EACMhB,EAAAA,EAAmBU,QAAAA,IAAa,OAAhCV,EAA2CA,OAAAA,EAAAA,KAAAA,EAA6B,QAA7BA,EAAAA,EAAmBW,SAAnBX,CAAmBW,GAAnBX,KAAAA,MAAAA,KAAAA,EAAAA,EAA+BiC,OAAAA,IAAY,IACxFD,CAD6F,CAC3E,YACThC,EAAAA,KAAAA,EAAAA,EAAmBU,QAAAA,IAAa,OAAhCV,EAA2CA,OAAAA,EAAAA,KAAAA,EAAAA,QAAAA,EAAAA,EAAmBW,SAAnBX,CAAmBW,GAAnBX,KAAAA,MAAAA,KAAAA,EAAAA,EAA+BiC,OAAAA,IAAY,KAAK,CACpGD,EAAkB,KAEtB,GAIJ,OAAOA,CACT,EAEaE,GAA4B,CAACC,EAAyBlE,EAAWiC,SAE1EiC,EAAAA,EAAAA,EAwBMpB,EAkBAA,EA3CR,IAAMC,EAC4D,QAAhEmB,QAAAA,EAAAA,KAAAA,EAA4B,QAA5BA,EAAAA,EAAoBvb,QAAAA,EAApBub,CAAAA,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,QAAAA,EAAAA,EAA8BC,QAAAA,GAA9BD,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,EAAwCE,wBAAAA,GAAxCF,KAAAA,IAAAA,EAAAA,EAAoE,EAAE,CAEpEjB,EAAgC,CAClCC,WAAY,GACZZ,WAAY,GACZc,UAAW,EACXhB,UAAW,CACb,EAEIiC,GAA+B,EAEnC,GAAI,CACF,IAAI,KAACtB,EAAAA,KAAAA,EAAAA,EAA0BxsB,MAAM,EAE9B,CAFgC,EAE5BypB,OAAAA,EAAAA,KAAAA,CAFN+C,CAEM/C,EAAGM,GAAHN,QAAc,MAAO,UAAYA,OAAAA,EAAAA,KAAAA,EAAAA,EAAGM,GAAHN,QAAc,MAAO,aAAc,CAC7E,IAAMsE,QAAiCvB,EAAAA,KAAAA,EAAAA,EAA0B7P,MAAM,CACrE,GACE6O,OAAAA,EAAAA,KAAAA,EAAAA,EAAmBrC,IAAAA,WAAS6E,GAAgCA,CAA5DxC,IAA4DwC,EAAhCA,GAAkCzF,MAAAA,UAAUiD,EAAAA,CAAZwC,IAAYxC,EAAAA,EAAmBW,EAA/B6B,GAAhCA,KAA+D7B,GAGzFM,EAAYc,GAAmBQ,CAHuCvC,EAK5E,GAAIuC,UAAkCA,EAAAA,CAL0BC,IAK1BD,EAAAA,EAAgC/tB,MAAAA,EAAQ,CAC5E,GAAM,iBAAEotB,CAAe,EADaW,QACXV,GAAW,CAAK,CAAE,CAC2BZ,QAApEF,EAAAA,GAAmBwB,EAAgCrC,EAAiBe,EAAAA,GAApEF,KAAAA,MAAAA,EAAkF,CAAC,EAEhFc,EAGHS,GAAsB,EAFtBpB,EAAc,CAAE,GAAIU,CAAqC,CAI7D,CACF,KAAO,CACL,IAAMa,QAAgEzB,EAAAA,KAAAA,EAAAA,EAA0B7P,MAAM,CACpG,GACE6O,OAAAA,EAAAA,KAAAA,EAAAA,EAAmBrC,IAAAA,KAAS6E,SAAgCA,CAA5DxC,IAA4DwC,EAAhCA,GAAkC1F,KAAAA,QAAF0F,EAAWxC,EAAAA,KAAAA,EAAAA,EAA3CwC,GAAgCA,OAA8B7B,GAGxFM,EAAYc,GAAmBU,CAHsCzC,EAK3E,GAAIyC,GAAiCA,KAL2BD,IAK3BC,KAAAA,EAAAA,EAA+BjuB,MAAAA,EAAQ,CAC1E,GAAM,CAAEotB,WAD2Ba,MACZ,UAAEZ,GAAW,CAAK,CAAE,CAC0BZ,QAAnEF,EAAAA,GAAmB0B,EAA+BvC,EAAiBe,EAAAA,GAAnEF,KAAAA,IAAAA,EAAAA,EAAiF,CAAC,EAE/Ec,EAGHS,EAAsB,GAFtBpB,EAAc,CAAE,GAAIU,CAAe,CAIvC,CACF,OArCEU,GAAsB,EAsCxB,GAAIA,EACF,MAAO,CACLpB,YAFqB,KAGrBW,UAAU,CACZ,EAEA,MAAO,CACLX,YAAa,CAAE,GAAGA,CAAW,CAC/B,CAEJ,CAAE,MAAO9c,EAAO,CACd,MAAO,CACL8c,YAAa,KACbW,UAAU,CACZ,CACF,CACF,EAAE,GAEyC,CACzCa,EACAC,KAEA,GAAIA,EAAa,KAURC,EATP,IAAIA,QAAwDD,EAAAA,KAAAA,EAAAA,EAAaE,IAAI,CAC3E,GAA8CxnB,EAAQynB,GADIH,GACID,GAQhE,OAAOE,QAAAA,EAAAA,OANPA,EAAuBA,OAAAA,EAAAA,KAAAA,EAAAA,EAAsBnoB,KAAK,CAM3CmoB,CALHA,QACCD,EAAAA,KAFkBC,EAElBD,EAAaE,IAAI,CACfxnB,GAA8D,KADhEsnB,CAC+CtnB,EAAQynB,GAAG,CAAM,EAG9DF,KAAAA,EAAAA,EAAsBnoB,KAAAA,GAAtBmoB,KAAAA,MAAAA,EAA+B,EACxC,CACA,MAAO,EACT,EAEM1D,GAA8B,CAClC6D,EACAC,EACAC,EACAP,SAEIQ,EAGJ,IAAMC,QAAwBJ,EAAAA,KAAAA,EAAAA,EAAsB5R,MAAM,CAAC,QACzD9V,OAD4B0nB,QAC5B1nB,EAAAA,KAAAA,EAAAA,QAAAA,EAAAA,CAAAA,CAAS+nB,cAAAA,GAAT/nB,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,EAAyB4D,QAAQ,CAAC+jB,KAI9BK,QAAqBF,EAAAA,KAAAA,EAAAA,EAAuBhS,MAAM,CAAC,QACvD9V,QADyB8nB,OACzB9nB,EAAAA,KAAAA,EAAoB,QAApBA,EAAAA,CAAAA,CAASioB,WAAW,GAApBjoB,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,EAAsB4D,QAAQ,CAACgkB,KAOjC,GAAII,UAAsBA,EAAAA,KAAAA,EAAAA,EAAoB7uB,MAAAA,EAAQ,KAGlD6uB,EAFFH,EAA4BK,GADJF,QAGtBA,EAAAA,KAAAA,EAAuB,OAAvBA,GAAAA,CAAoB,CAAC,EAAE,GAAvBA,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,EAAyBV,WAAW,CAExC,KAAO,CACL,IAAMS,QAAsDD,EAAAA,KAAAA,EAAAA,EAAuBN,IAAI,CACrF,QAAmDxnB,QAAD,CAACA,CADO8nB,QACP9nB,KAAAA,EAAAA,IAAAA,IAAAA,EAAAA,EAASioB,WAAAA,GAATjoB,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,EAAsB7G,MAAAA,IAE3E0uB,EAA4BK,GAAmCb,QAAkBU,EAAAA,KAAAA,EAAAA,EAAgBT,WAAW,CAC9G,CAEA,GAHmFS,IAG5EF,CACT,EAEaM,GAAgC,CAC3CC,EACAC,EACAC,EACAjB,EACAkB,EACAhB,SAK0Bc,EACHA,EAAAA,EAAAA,EAJvB,IAAMX,EAAoDU,GAEtD,CAAEI,QAAS,EAAE,CAAEC,WAAY,EAAE,EAC3Bd,GAFFS,KAEsBC,EAAAA,KAAAA,EAAkC,QAAlCA,EAAAA,EAAkB7c,QAAlB6c,QAAkB7c,GAAlB6c,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,EAAoCN,cAAc,CACtEH,QAAiBS,EAAAA,KAAAA,EAAAA,OAAAA,GAAAA,EAAkBjc,QAAlBic,UAAkBjc,GAAlBic,KAAAA,IAAAA,EAAAA,KAAAA,EAA6C,QAA7CA,EAAAA,EAAsCK,OAAAA,GAAtCL,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,QAAAA,EAAAA,EAA+CM,OAAAA,GAA/CN,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,EAAwDtM,IAAI,CAenF,OANe8L,GANbS,QAAoBZ,EAAAA,KAAAA,EAAAA,EAAsBc,MAOxCX,CAP+C,OAAGH,EAAAA,KAAAA,CAAhCA,CAAgCA,EAAsBe,UAAU,CACpFd,EACAC,EACAP,KAKEiB,EACAC,EACAhB,CAAAA,CAGN,EAAE,4BC/dK,IAAMqB,GAAwD,QA6RpCC,EAqCAA,EAqCnBA,EAAAA,EACEA,EAAAA,EAMFA,EAAAA,EACAA,EAAAA,EAnWoBC,EA+BJnG,EA1C5B,GAAM,sBAAE1b,CAAoB,CAAE,CAAGC,CAAAA,EAAAA,EAAAA,UAAAA,CAAUA,CAACC,GAAAA,CAAiBA,EACvD,YAAE6Y,CAAU,gBAAE+I,CAAc,CAAErG,uBAAqB,qBAAEoG,CAAmB,CAAE,CAAG7vB,EAC7E+vB,QAAQ/vB,EAAAA,KAAAA,EAAAA,EAAO+vB,KAAK,CACpB,CAACC,EAAYC,EAAc,CAAGvnB,CAAAA,EAAAA,EAAAA,QAAAA,CAAQA,CAAS,IAC/C,CAACwnB,EAAYC,EAAc,CAAGznB,CAAAA,EAAAA,EAAAA,QAAAA,CAAQA,CAAS,IAC/C,CAAC0nB,EAAgBC,EAAkB,CAAG3nB,CAAAA,EAAAA,EAAAA,QAAAA,CAAQA,EAAC,GAC/C4nB,EAAWhT,CAAAA,EAAAA,EAAAA,MAAAA,CAAMA,CAAC,MAClB,CAACiT,EAAwBC,EAA0B,CAAG9nB,CAAAA,EAAAA,EAAAA,QAAAA,CAAQA,EAAU,GACxE,CAAC+nB,EAA0BC,EAA4B,CAAGhoB,CAAAA,EAAAA,EAAAA,QAAAA,CAAQA,EAAU,GAE5E,uBAAEioB,GAAwB,CAAK,aAAEC,EAAc,EAAE,CAAE,CAAG5iB,EACtDwb,EAA0BqG,QAAAA,QAAAA,EAAAA,KAAAA,EAAAA,EAAqBhJ,qBAAAA,GAArBgJ,KAAAA,IAAAA,GAAAA,EAC1BgB,EAA2BC,CAAAA,EAAAA,GAAAA,CAAAA,CAAkBA,CAAC,aAE9C,CAF4D,OAGhE5G,EAAS,EAAE,OAJiE,OAK5ErB,EAAe,EAAE,WAJuF,IAKxGkI,EAAgB,EAAE,CAClBlH,KAAK,EAAE,GACPF,EAAI,EAAE,QACNQ,EAAS,EAAE,QACXG,EAAS,EAAE,IACXC,CAAE,KACFC,CAAG,aACHd,EAAc,EAAE,WAChBE,EAAY,EAAE,OACdQ,EAAQ,EAAE,UACVC,EAAW,EAAE,gBACb2G,GAAiB,CAAK,6BACtBpG,CAA2B,CAC5B,CAAGnB,GAAyB,CAAC,EAExBnX,QAAWoX,EAAAA,KAAAA,EAAAA,EAAc,KAAQ,CACjCuH,EACJ9G,CAF4B,IAAbT,YAEiB,UAANC,GAAmC,KAAlBoH,CAAyBze,GAAa,OAAbA,GAAkC,OAAbA,CAAa,CAAG,CAIrG,CAAC4e,EAHD,CAGkB,CAAGxoB,CAAAA,EAAAA,EAAAA,QAAAA,CAAQA,CACjC,CAACioB,GAAyBK,CAAAA,CAAa,SAAMG,GAAqBA,KAAAA,EAArBA,GAAuBxmB,QAAQ,CAAC,CAACgf,GAAK,GAAC,CAAGM,CAArBkH,GAArBA,OAAqD,MAG9F,CAACC,GAAS,CAAG1oB,CAAAA,EAAAA,EAAAA,QAAAA,CAAQA,CAACghB,QAAAA,EAAAA,CAAW,OAACC,EAAAA,EAAK,GAAG,GAApBD,IAAYC,CAAZD,IAAAA,EAAAA,OAAwBxR,GAE9C,CAACmZ,GAAiBC,GAAmB,CAAG5oB,CAAAA,EAAAA,EAAAA,QAAAA,CAAQA,CAA6B,WAAW,GAExF,CAACknB,GAF8F,GAEhE,CAAGlnB,CAAAA,EAAAA,EAAAA,QAAAA,CAAQA,CAAC,CAC/C6oB,WAAY,GACZC,SAAU,EACZ,GAEM,CAACC,GAAYC,GAAc,CAAGhpB,CAAAA,EAAAA,EAAAA,QAAAA,CAAQA,CAAC,CAC3CipB,iBAAiB,EACjBC,eAAe,EACfC,qBAAqB,EACrBC,mBAAmB,CACrB,GAEMC,GAA2B,KAE/B,IAAMC,EAAiBC,GAAW,OAADA,SACjC,GAAID,EAAgB,CAClB,IAAME,EAAcppB,OAAO6F,IAAI,CAACqjB,GAK1BG,EAAkBC,IAJQC,YAAY,SACFC,MAAM,CAC9C,IAAIC,WAAW,IAAIL,EAAY,CAAClsB,GAAG,CAACwsB,GAAQA,EAAKC,UAAU,CAAC,MAExB1lB,KAAK,CAAC,KAEb,IAA3BolB,EAAgBjyB,MAAM,EAAUupB,OAAAA,EAAAA,KAAAA,EAAAA,EAAwB,UAAc0I,CAAe,CAAC,EAAE,EAAE,GAC5E,CACdX,GAFgC/H,MAEtB0I,CAAe,CAAC,EAAE,CAC5BZ,WAAYY,CAAe,CAAC,EAAE,EAGpC,CACF,EAEMO,GAAkB,KACtB,IAAMC,QAAgB/C,GAAAA,KAAAA,EAAAA,GAAc4B,QAAQ,CACtCoB,GADgBhD,KACEA,GAAAA,KAAAA,EAAAA,GAAc2B,UAAU,CAE1CsB,CAFkBjD,CAEPqB,EAAYF,EAAgBlI,EACvCiK,EAAS7B,EAAY,UAAY9G,EAEvC,GAAIwI,GAAiBC,GAAoB/J,IAAgBkI,CAAAA,CAAY,CACnE,EADuE,CACnE,KAgBOrH,CAjB4Bb,CAErC,IAAMkK,EAAY,eAEZC,EADsB,IAAIC,cACQC,MAAM,CAAC,GAAaP,MAAAA,CAAVzI,EAAO,KAAoB0I,MAAAA,CAAjBD,EAAc,KAAmB,OAAhBC,IACvEO,EAAcrqB,OAAOsqB,IAAI,CAACC,OAAOC,YAAY,CAACC,KAAK,CAAC,KAAMrZ,MAAMC,IAAI,CAAC6Y,KAC3EhO,GAAU+N,EAAWI,GACrB,CADSnO,GACHhL,EAAM,CACVkQ,OAAQA,QAAkBhS,CAATgS,CACjBL,GAAI,OAACgG,EAAAA,KAAAA,EAAAA,EAAqBzH,gBAAAA,KAArByH,EAA6C3X,EAAL2R,EAC7CF,EAAG,OAACkG,EAAAA,KAAAA,EAAAA,EAAqBzH,gBAAAA,KAArByH,EAA4C3X,EAAJyR,EAC5CQ,OAAQ2I,QAAkB5a,CAAT4a,CACjBxI,OAAQA,QAAkBpS,CAAToS,CACjBC,GAAIA,GAAa,KAAPA,EAAYA,OAAKrS,EAC3BsS,IAAKA,EACLgJ,YAAaZ,EAAgBhlB,IAAI,GACjC6lB,UAAWd,EAAc/kB,IAAI,GAC7B6c,MAAOf,QAAAA,EAAAA,CAAW,CAACC,QAAAA,EAAK,IAALA,EAAZD,KAAAA,IAAAA,EAAAA,OAAwBxR,CACjC,EACMiH,EAAOxc,KAAKoY,SAAS,CAACf,GAC5B0Q,GAAkBvL,EAAM0T,EAC1B,CAAE,MAAO/iB,EAAO,CADG4a,CAKvB,EAEMgJ,GAAwB,KAE5B,GADAhD,GAA4B,GACxB7H,EACF,GAAI,KAmBOa,EAlBT,EAFc,EAERI,EAAWF,IAAcxE,GAAUI,KAAK,CAACF,KAAK,CAAGF,GAAUI,KAAK,CAANJ,KAAY,CAAGA,GAAUI,KAAK,CAANJ,IAAW,CAC7FI,EAAQ4E,GAAgBN,EACxBE,EACJJ,CAFoBQ,GAENhF,GAAUI,KAAK,CAANJ,KAAY,GACJ,CAA9BsE,MAAAA,CAAW,OAACC,EAAAA,EAAK,QAAQ,EAAaD,QAAW,OAACC,EAAAA,EAAK,QAAQ,CAAQ,CAArBA,GACrC/D,IAAI,CAACE,CAANV,IAAW,CACpBA,GAAUQ,IAAI,CAACC,CAANT,IAAW,CACpBpL,EAAM,CACVkQ,OAAQA,QAAkBhS,CAATgS,CACjBL,GAAIA,EACJF,EAAGA,EACHQ,OAAQ,YACRG,OAAQA,QAAkBpS,CAAToS,CACjBC,GAAIA,GAAa,KAAPA,EAAYA,EAAKrS,OAC3BsS,IAAKA,EACLJ,MAAO5E,EACPuE,GAAIC,EACJK,SAAUA,QAAsBnS,EAChCuS,CADqBJ,KACM,QAApBX,EAAAA,CAAW,OAACC,EAAAA,EAAK,GAAG,GAApBD,IAAYC,CAAZD,MAAAA,OAAwBxR,CACjC,EACMiH,EAAOxc,KAAKoY,SAAS,CAACf,GAC5B0Q,GAAkBvL,EAAM0J,EAC1B,CAAE,MAAO/Y,EAAO,CADG4a,CAKvB,EAEMiJ,GAAsB,KAC1B,IAAIC,EAAoC,GAsBxC,MAAOA,CAlBHA,EAFAjD,EACEC,SAAAA,KAAAA,EAAAA,EAAa3G,GADQ,GACrB2G,KAAwB,MAAO,MAAQQ,OAAAA,GAAAA,KAAAA,EAAAA,GAAUnH,QAAVmH,GAAqB,MAAO,KACrDrB,CAD2D,OAC3DA,KAAAA,EAAAA,EAAO8D,CAAP9D,yBAAiC,OAEjCA,EAAAA,KAAAA,EAAAA,EAAO+D,OAAP/D,iBAA+B,CAExCK,GAAkBY,EAEzBJ,OAAAA,EAAAA,KAFyC,EAEzCA,EAAa3G,WAAW,EAAxB2G,IAA+B,MAC/BQ,OAAAA,GAAAA,KAAAA,EAAAA,GAAUnH,QAAVmH,GAAqB,MAAO,MAC5BR,OAAAA,EAAAA,KAAAA,EAAAA,EAAa3G,WAAW,EAAxB2G,IAA+B,MAC/BQ,OAAAA,GAAAA,KAAAA,EAAAA,GAAUnH,QAAVmH,GAAqB,MAAO,MAC5B,KACgBrB,EAAAA,KAAAA,EAAAA,EAAO8D,OAAP9D,mBAAiC,OAEjCA,EAAAA,KAAAA,EAAAA,EAAO+D,OAAP/D,iBAA+B,OAGjCA,EAAAA,KAAAA,EAAAA,EAAOgE,OAAPhE,SAAuB,GAEjB,EAC1B,EAEMiE,GAAwB,KAC5B,IAAIC,EAAsC,GAwB1C,OAAOA,OAhBLA,EANAtD,IACCC,OAAAA,EAAAA,KAAAA,CAqBIqD,CArBJrD,EAAa3G,GAAb2G,QAAwB,EAAxBA,IAA+B,MAC9BQ,OAAAA,GAAAA,KAAAA,EAAAA,GAAUnH,QAAVmH,GAAqB,MAAO,MAC5BR,SAAAA,KAAAA,EAAAA,EAAa3G,MAAb2G,KAAwB,MAAO,MAC/BQ,OAAAA,GAAAA,KAAAA,EAAAA,GAAUnH,QAAVmH,GAAqB,MAAO,KAAG,CAEfrB,EADlB,MACkBA,KAAAA,EAAAA,EAAOmE,CAAPnE,uBAA+B,CAEjDK,GACAY,IACCJ,OAAAA,EAAAA,KAAAA,EAAAA,EAAa3G,WAAW,EAAxB2G,IAA+B,MAC9BQ,OAAAA,GAAAA,KAAAA,EAAAA,GAAUnH,QAAVmH,GAAqB,MAAO,MAC5BR,OAAAA,EAAAA,KAAAA,EAAAA,EAAa3G,WAAW,EAAxB2G,IAA+B,MAC/BQ,OAAAA,GAAAA,KAAAA,EAAAA,GAAUnH,QAAVmH,GAAqB,MAAO,MAC5BR,OAAAA,EAAAA,KAAAA,EAAAA,EAAa3G,WAAW,MAAO,MAC/BmH,OAAAA,GAAAA,KAAAA,EAAAA,GAAUnH,QAAVmH,GAAqB,MAAO,KAAG,CAEfrB,EADlB,MACkBA,KAAAA,EAAAA,EAAOmE,CAAPnE,uBAA+B,OAE/BA,EAAAA,KAAAA,EAAAA,EAAO1I,OAAP0I,QAAsB,EAGnCkE,EAAmB,EAC5B,EAwCA,MAtCAtrB,CAAAA,EAAAA,EAAAA,SAAAA,CAASA,CAAC,KACR,IAAMwrB,EAAyB,CAACC,EAAmBC,KACjD,IAAMC,EAAe,IAAIC,gBAAgBzrB,OAAO/D,QAAQ,CAACqL,MAAM,EAE/D,OADAkkB,EAAangB,GAAG,CAACigB,EAAWC,GACrB,IAA4B,OAAxBC,EAAapnB,QAAQ,GAClC,EAGA+iB,EADekE,EAAuB,KAAM,KAC9BK,MAEdrE,EADegE,EAAuB,KAAM,KAC9BM,MAGdpE,EADiB1F,GAAoBC,GAEvC,EAAG,CAACA,EAA4B,EAEhCjiB,CAAAA,EAAAA,EAAAA,CAJsCgiB,QAItChiB,CAASA,CAAC,KACe,UAAU,CAA7BmnB,IACFwB,IAAmB,GACnBI,GAAc,CACZ,GAAGD,EAAU,CACbE,iBAAiB,EACjBC,eAAe,EACfE,mBAAmB,EACnBD,qBAAqB,CACvB,IAEFE,IACF,EAAG,EAAE,EAELppB,CAAAA,EAAAA,EAAAA,SAAAA,CAASA,CAAC,KACR,IAAM+rB,EAAU1rB,WAAW,SACqCsnB,EAA9DO,GAA4BP,UAAYA,EAAAA,KAAAA,EAAAA,EAAUvS,OAAAA,GAAYuS,UAAiB,QAAjBA,EAAAA,CAAAA,CAAUvS,OAAAA,GAAVuS,KAAAA,IAAAA,GAAD,EAAyC7N,KAAK,GAC7G,EAAG,IAEH,MAAO,IAAMkS,aAAaD,EAC5B,EAAG,CAAC7D,EAAyB,EAG3B,iCAEG9J,OAAAA,EAAAA,KAAAA,EAAAA,EAAYC,OAAAA,GACX,EADDD,CACC,QAAC9lB,MAAAA,CAAIuC,UAAU,8CAEZujB,SAAAA,KAAAA,EAAAA,EAAYK,KAAZL,OAAYK,GAAgBiK,IAC3B,UAACpwB,MAAAA,CAAIuC,UAAU,uBACb,UAACD,OAAAA,CACCC,UAAWC,CAAAA,EAAAA,EAAAA,CAAAA,CAAIA,CACb,iDAA+F,OAA9CsjB,OAAAA,EAAAA,KAAAA,EAAAA,EAAYM,YAAZN,GAA2B,EAAG,WAAa,oBAG7FgJ,EAAAA,KAAAA,EAAAA,EAAO3I,OAAP2I,KAAmB,KAKzBK,GAAkBY,GACjB,iCACGjB,OAAAA,EAAAA,KAAAA,EAAAA,EAAO6E,OAAP7E,gBAAO6E,GAA2B,UAACC,KAAAA,CAAGrxB,UAAU,8BAAgBusB,EAAAA,KAAAA,EAAAA,EAAO6E,OAAP7E,gBAA8B,GAC9FA,OAAAA,EAAAA,KAAAA,EAAAA,EAAO+E,OAAP/E,gBAAO+E,GAA2B,UAACjzB,IAAAA,CAAE2B,UAAU,gCAAkBusB,EAAAA,KAAAA,EAAAA,EAAO+E,OAAP/E,gBAA8B,MAInGY,EACC,UAACptB,OAAAA,CAAKC,UAAU,mCAAqBusB,EAAAA,KAAAA,EAAAA,EAAOgF,OAAPhF,uBAAqC,GACxEK,GAAkBY,EAAiB,KACrC,UAACztB,OAAAA,CAAKC,UAAU,mCAAqBusB,EAAAA,KAAAA,EAAAA,EAAOiF,OAAPjF,QAAsB,GAG5D,CAAEK,CAAAA,GAAkBY,CAAAA,CAAa,EAAM,UAACztB,OAAAA,CAAKC,UAAU,gCAAkBusB,EAAAA,KAAAA,EAAAA,EAAOkF,OAAPlF,MAAoB,GAC9F,UAAC9uB,MAAAA,CAAIuC,UAAU,kCACb,UAAC0xB,GAAAA,CAAcA,CAAAA,CACb7L,KAAK,OACL9M,KAAK,CAAEwT,QAAAA,KAAAA,EAAAA,EAAOoF,CAAPpF,cAAsB,CAC7BqF,eAAe,OAAErF,EAAAA,KAAAA,EAAAA,EAAOsF,OAAPtF,cAA4B,CAC7CuF,qBAAqB,oBACrBC,wBAAyB,iCAExB,OADC9D,UAAAA,KAAAA,EAAAA,GAAYE,GAAZF,YAAYE,GAAmBN,GAAkB,WAAa,IAEhEmE,UAAU,EACVC,cAAe,IAAO,EACpBjZ,IAAK8T,EACP,EACAnnB,UAAU,YACVusB,eAAe,EACfC,cAAe,GACfC,iBAAAA,GAAmBhG,OAAAA,GAAAA,KAAAA,EAAAA,QAAAA,EAAAA,GAAc2B,EAAd3B,QAAc2B,GAAd3B,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,EAA0B1vB,MAAAA,GAAS,EACtD21B,EAD0D,QAAQ,QAChD,EAClBC,OAAQ,SACFlG,CAAAA,QAAAA,GAAAA,KAAAA,EAAAA,QAAAA,EAAAA,GAAc2B,EAAd3B,QAAc2B,GAAd3B,KAAAA,MAAAA,KAAAA,EAAAA,EAA0B1vB,MAAAA,IAAW,UAAKuxB,GAAAA,KAAAA,EAAAA,GAAYI,UAAZJ,SAAYI,EACxDH,CAD6E,EAC/D,CAAE,GAAGD,EAAU,CAAEE,iBAAiB,CAAK,GAErDD,GAAc,CAAE,GAAGD,EAAU,CAAEE,iBAAiB,CAAM,EAE1D,EACAoE,cAAe5vB,IAGb,GAFA6vB,GAAgB,CAAE,GAAGpG,EAAY,CAAE2B,WAAYprB,CAAM,GACrDurB,GAAc,CAAE,GAAGD,EAAU,CAAEE,iBAAiB,CAAM,GAClDxrB,OAAAA,EAAAA,KAAAA,EAAAA,EAAOjG,MAAAA,CAAPiG,CAAgB,EAAG,KAEjBypB,EADJ8B,GAAc,CAAE,GAAGD,EAAU,CAAEI,qBAAqB,CAAK,UACrDjC,GAAAA,KAAAA,EAAsB,OAAtBA,GAAAA,GAAc4B,EAAd5B,MAAc4B,GAAd5B,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,EAAwB1vB,MAAAA,EAAS,GAAG,IACnB,EAEvB,CACF,EACA+1B,QAAS,KACPzF,GAA0B,GAC1BE,GAA4B,GAC5BgB,GAAc,CAAE,GAAGD,EAAU,CAAEE,iBAAiB,CAAM,EACxD,EACAuE,iBAAkBzE,OAAAA,GAAAA,KAAAA,EAAAA,GAAYE,UAAZF,KAAYE,GAAmBN,GACjD8E,UAAU,OAAEvG,GAAAA,KAAAA,EAAAA,GAAc2B,UAAU,EAAxB3B,GAGhB,UAAC3uB,MAAAA,CAAIuC,UAAU,kCACb,UAAC0xB,GAAAA,CAAcA,CAAAA,CACb7L,KAAK,OACL9M,KAAK,OAAEwT,EAAAA,KAAAA,EAAAA,EAAOqG,OAAPrG,MAAoB,CAC3BqF,eAAe,OAAErF,EAAAA,KAAAA,EAAAA,EAAOsG,OAAPtG,YAA0B,CAC3CuF,qBAAqB,oBACrBC,wBAAyB,iCAExB,OADC9D,OAAAA,GAAAA,KAAAA,EAAAA,GAAYG,UAAZH,GAAYG,GAAiBP,GAAkB,WAAa,IAE9DuE,iBAAAA,EAAmBhG,QAAAA,GAAAA,KAAAA,EAAAA,QAAAA,EAAAA,GAAc4B,EAAd5B,MAAc4B,GAAd5B,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,EAAwB1vB,MAAAA,GAAS,EACpDs1B,EADwD,QAAQ,EAEhErsB,UAAU,YACVusB,eAAe,EACfC,eAAe,EACfE,kBAAkB,EAClBC,OAAQ,SACFlG,CAAAA,CAAAA,UAAAA,KAAAA,EAAAA,QAAAA,EAAAA,GAAc4B,QAAAA,GAAd5B,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,EAAwB1vB,MAAAA,IAAW,UAAKuxB,GAAAA,KAAAA,EAAAA,GAAYK,UAAZL,OAAYK,EACtDJ,CADyE,EAC3D,CAAE,GAAGD,EAAU,CAAEG,eAAe,CAAK,GAEnDF,GAAc,CAAE,GAAGD,EAAU,CAAEG,eAAe,CAAM,EAExD,EACAqE,QAAS,KACPzF,GAA0B,GAC1BE,GAA4B,GAC5BgB,GAAc,CAAE,GAAGD,EAAU,CAAEG,eAAe,CAAM,EACtD,EACAmE,cAAe5vB,IAGb,GAFA6vB,GAAgB,CAAE,GAAGpG,EAAY,CAAE4B,SAAUrrB,CAAM,GACnDurB,GAAc,CAAE,GAAGD,EAAU,CAAEG,eAAe,CAAM,GAChDzrB,OAAAA,EAAAA,KAAAA,EAAAA,EAAOjG,MAAAA,CAAPiG,CAAgB,EAAG,KAEjBypB,EADJ8B,GAAc,CAAE,GAAGD,EAAU,CAAEK,mBAAmB,CAAK,UACnDlC,GAAAA,KAAAA,EAAAA,QAAAA,EAAAA,GAAc2B,EAAd3B,QAAc2B,GAAd3B,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,EAA0B1vB,MAAAA,EAAS,GAAG,IACrB,EAEvB,CACF,EACAg2B,iBAAkBzE,UAAAA,KAAAA,EAAAA,GAAYG,GAAZH,UAAYG,GAAiBP,GAC/C8E,UAAU,OAAEvG,GAAAA,KAAAA,EAAAA,GAAc4B,QAAQ,IAAtB5B,CAGhB,UAAC0G,GAAAA,CAAMA,CAAAA,CACLC,OAAQ,GACRlN,KAAMhI,GAAoBiV,MAAM,CAChC9yB,SADyB6d,CACd5d,CAAAA,EAAAA,EAAAA,CAAAA,CAAIA,CACZ,uCACDmsB,OAAAA,GAAAA,KAAAA,EAAsB,QAAtBA,EAAAA,GAAc4B,EAAd5B,MAAc4B,GAAd5B,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,QAAAA,EAAAA,EAAwBhiB,IAAI,KAA5BgiB,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,EAAgC1vB,MAAAA,IAAW,GACzC0vB,OAAAA,GAAAA,KAAAA,EAAAA,QAAAA,EAAAA,GAAc2B,EAAd3B,QAAc2B,GAAd3B,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,OAAAA,GAAAA,EAA0BhiB,IAAI,KAA9BgiB,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,EAAkC1vB,MAAAA,IAAW,GAC7CqwB,EACE,WACA,IAENiG,WACE5G,OAAAA,GAAAA,KAAAA,EAAAA,OAAAA,GAAAA,GAAc4B,EAAd5B,MAAc4B,GAAd5B,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,QAAAA,EAAAA,EAAwBhiB,IAAI,KAA5BgiB,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,EAAgC1vB,MAAAA,IAAW,GAC3C0vB,OAAAA,GAAAA,KAAAA,EAAAA,QAAAA,EAAAA,GAAc2B,EAAd3B,QAAwB,GAAxBA,KAAAA,MAAAA,KAAAA,EAAAA,QAAAA,EAAAA,EAA0BhiB,IAAI,KAA9BgiB,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,EAAkC1vB,MAAAA,IAAW,GAC7CqwB,EAEFlF,SACEkF,EACE,UAACtvB,MAAAA,CAAIuC,UAAU,cAAciH,cAAY,qBAEzCkpB,KAGJ8C,SACE,CAAC5M,IACA+G,EAAAA,KAAAA,EAAAA,KAAAA,EAAAA,EAAa3G,WAAW,EAAxB2G,IAA+B,MAAQQ,UAAAA,KAAAA,EAAAA,GAAUnH,CAAVmH,UAAqB,MAAO,KAAG,GACtEF,EAAAA,EAAqBd,GAAkBY,CAAAA,CAAc,CAClD,KACER,GAA0B,GAC1BkG,GACE,CAAC9F,OAAAA,EAAAA,IADc8F,CACd9F,EAAAA,EAAa3G,WAAW,EAAxB2G,IAA+B,MAAQQ,OAAAA,GAAAA,KAAAA,EAAAA,GAAUnH,QAAVmH,GAAqB,MAAO,KAAG,KACpEF,MAAqBd,KAAkBY,CAAAA,CAAc,EAEpDxH,EADA,EAIR,EACA,KACEgH,GAA0B,GAC1BkC,IACF,OAKZ,WAACzxB,MAAAA,CAAIuC,UAAU,+BAEZujB,OAAAA,EAAAA,KAAAA,EAAAA,EAAYE,YAAZF,EAAYE,GACX,WAAC1jB,OAAAA,CAAKC,UAAU,gFACd,UAACD,OAAAA,CAAKC,UAAU,sCAChB,UAACD,OAAAA,CAAKC,UAAU,qCAAuBusB,EAAAA,KAAAA,EAAAA,EAAO9I,OAAP8I,OAAqB,GAC5D,UAACxsB,OAAAA,CAAKC,UAAU,yCAInBujB,OAAAA,EAAAA,KAAAA,EAAAA,EAAYM,YAAZN,GAAYM,GAAmB,CAAE+I,CAAAA,GAAkBY,GAAkBnH,CAAAA,CAAC,EACrE,UAACyM,GAAAA,CAAMA,CAAAA,CACLC,QAAQ,EACRlN,KAAMhI,GAAoBiV,MAAM,CAChC9yB,SADyB6d,CACd,iCAA4E,OAA3CoP,EAA2B,WAAa,GAAG,aACvF+F,WAAY/F,EACZpF,SACEoF,EACE,UAACxvB,MAAAA,CAAIuC,UAAU,cAAciH,cAAY,qBAEzCupB,KAGJyC,SAAU/C,KAIb3M,OAAAA,EAAAA,KAAAA,EAAAA,EAAYG,YAAZH,OAAYG,GACX,UAACjmB,MAAAA,CAAIuC,UAAU,kDACb,UAAC+N,IAAAA,CAAEpB,KAAM6f,EAAYxsB,UAAU,iDAC5BusB,EAAAA,KAAAA,EAAAA,EAAO7I,OAAP6I,YAA0B,KAMhChJ,SAAAA,KAAAA,EAAAA,EAAYI,KAAZJ,iBAAYI,GACX,UAAClmB,MAAAA,CAAIuC,UAAU,kDACb,UAAC+N,IAAAA,CACCpB,KAAM+f,EACN1sB,UAAWC,CAAAA,EAAAA,EAAAA,CAAAA,CAAIA,CACb,mCAA2F,OAAxDosB,OAAAA,EAAAA,KAAAA,EAAAA,EAAqBvI,eAAAA,EAAkB,IAAvCuI,QAAqD,oBAGzFE,EAAAA,KAAAA,EAAAA,EAAO5I,OAAP4I,eAA6B,UAO5C,EAAE,GCrcqE,IACrE,GAAM,QAAEyE,CAAM,aAAEjN,CAAW,uBAAEkC,CAAqB,iBAAEkN,CAAe,CAAE,CAAG32B,EAClE,CAAC42B,EAAeC,EAAiB,CAAGnuB,CAAAA,EAAAA,EAAAA,QAAAA,CAAQA,CAAS,IAErD,CAACouB,EAAmBC,EAAqB,CAAGruB,CAAAA,EAAAA,EAAAA,QAAAA,CAAQA,CAAS,IAE7D,CAACsuB,EAAkBC,EAAoB,CAAGvuB,CAAAA,EAAAA,EAAAA,QAAAA,CAAQA,CAA8B,cAAc,GAE9F,CAACwuB,EAAaC,CAFuF,CAExE,CAAGzuB,CAAAA,EAAAA,EAAAA,QAAAA,CAAQA,CAAC,CAC7C0uB,iBAAiB,EACjBC,WAAW,CACb,GACM,CAACC,EAAiBC,EAAmB,CAAG7uB,CAAAA,EAAAA,EAAAA,QAAAA,CAAQA,EAAU,GAC1D,CAAC8uB,EAAcC,EAAgB,CAAG/uB,CAAAA,EAAAA,EAAAA,QAAAA,CAAQA,EAAU,GACpDmoB,EAA2BC,CAAAA,EAAAA,GAAAA,CAAAA,CAAkBA,CAAC,aAE9CR,CAF4D,CAEjDhT,CAAAA,EAAAA,EAAAA,MAAAA,CAAMA,CAAC,MAElB,CACJ4M,SAAS,EAAE,QAL6F,MAMxGrB,EAAe,EAAE,IACjBgB,EAAK,EAAE,GACPF,EAAI,EAAE,QACNW,EAAS,EAAE,IACXC,CAAE,KACFC,CAAG,aACHd,EAAc,EAAE,OAChBU,EAAQ,EAAE,CACVC,WAAW,EAAE,IACbN,EAAK,EAAE,CACR,CAAGN,GAAyB,CAAC,EAExBiO,EAAuB,KAE3B,GADAH,GAAmB,GACf1O,GAAgBiO,EAClB,GAAI,KAaOpN,EAZT,IAAM1P,EAAM,CACVkQ,OAAQA,QAAkBhS,CAATgS,CACjBL,GAAIA,EACJF,EAAGA,EACHQ,OAAQ,YACRG,OAAQA,QAAkBpS,CAAToS,CACjBC,GAAIA,GAAa,KAAPA,EAAYA,OAAKrS,EAC3BsS,IAAKA,EACLJ,MAAOA,GAAgBhF,GAAUI,EAAlB4E,GAAuB,CAANhF,MAAa,CAC7C2E,GAAIA,EAAKA,EAAGE,WAAW,GAAK7E,GAAUQ,IAAI,CAACC,CAANT,IAAW,CAChDiF,SAAUA,GAAsBnS,OAChCyf,CADqBtN,WACRyM,EAAkBlpB,IAAI,GACnC6c,MAAOf,QAAAA,EAAAA,CAAW,CAACC,EAAAA,GAAZD,KAAAA,MAAAA,OAAkBxR,CAC3B,EACMiH,EAAOxc,KAAKoY,SAAS,CAACf,GAC5B0Q,GAAkBvL,EAAM0J,EAC1B,CAAE,MAAO/Y,EAAO,CADG4a,CAKvB,EAyBA,MAvBA/hB,CAAAA,EAAAA,EAAAA,SAAAA,CAASA,CAAC,KAQRkuB,EADgB1C,CANe,CAACC,EAAmBC,KACjD,IAAMC,EAMSsD,IANUrD,gBAAgBzrB,OAAO/D,QAAQ,CAACqL,MAAM,EAE/D,OADAkkB,EAAangB,GAAG,CAACigB,EAAWC,GACrB,IAA4B,OAAxBC,EAAapnB,QAAQ,IAClC,EAEuC,KAAM,SAE/C,EAAG,EAAE,EAELvE,CAAAA,EAAAA,EAAAA,SAAAA,CAASA,CAAC,KACR,IAAM+rB,EAAU1rB,WAAW,SACqCsnB,EAA9DO,GAA4BP,UAAYA,EAAAA,KAAAA,EAAAA,EAAUvS,OAAAA,GAAVuS,OAAsBA,GAAAA,QAAAA,EAAAA,EAAUvS,MAAVuS,CAAUvS,GAAVuS,KAAAA,IAAAA,GAAD,EAAyC7N,KAAK,GAC7G,EAAG,IAEH,MAAO,IAAMkS,aAAaD,EAC5B,EAAG,CAAC7D,EAAyB,EAE7BloB,CAAAA,EAAAA,EAAAA,SAAAA,CAASA,CAAC,KACR8uB,EAAgB5N,OAAAA,EAAAA,KAAAA,EAAAA,EAAII,IAAJJ,OAAe,MAAO,QACxC,EAAG,CAACA,EAAG,EAGL,iCAEE,WAAC5oB,MAAAA,CAAIuC,UAAU,8CAEZ+jB,OAAAA,EAAAA,KAAAA,EAAAA,EAAaC,aAAbD,CAAaC,GAAkBwP,GAC9B,UAAC/1B,MAAAA,CAAIuC,UAAU,uBACb,UAACD,OAAAA,CAAKC,UAAU,+DAAiDgxB,EAAAA,KAAAA,EAAAA,EAAQhN,QAARgN,MAAsB,KAG3F,UAACjxB,OAAAA,CAAKC,UAAU,mCAAqBgxB,EAAAA,KAAAA,EAAAA,EAAQqD,QAARrD,OAAuB,GAC5D,UAACjxB,OAAAA,CAAKC,UAAU,gCAAkBgxB,EAAAA,KAAAA,EAAAA,EAAQS,QAART,KAAqB,GACvD,UAACvzB,MAAAA,CAAIuC,UAAU,kCACb,UAAC0xB,GAAAA,CAAcA,CAAAA,CACb7L,KAAK,OACL9M,KAAK,OAAEiY,EAAAA,KAAAA,EAAAA,EAAQsD,QAARtD,OAAuB,CAC9Bc,qBAAqB,oBACrBC,wBAAyB,iCAExB,OADC2B,OAAAA,EAAAA,KAAAA,EAAAA,EAAaE,aAAbF,EAAaE,GAAmBJ,EAAmB,WAAa,IAElExB,UAAU,EACVC,cAAe,IAAO,EACpBjZ,IAAK8T,EACP,EACAnnB,UAAU,YACVusB,cAAe,GACfC,eAAe,EACfE,kBAAkB,EAClBkC,OAAO,oBACPjC,OAAQ,KACFgB,OAAAA,EAAAA,KAAAA,EAAAA,EAAmB52B,MAAAA,IAAW,IAAMg3B,CAAAA,IAApCJ,EAAoCI,EAAAA,KAAAA,EAAAA,EAAaG,SAAAA,GAAaL,CAA1BE,CAAyC,CAC/EC,EADmF,CAClE,GAAGD,CAAW,CAAEE,iBAAiB,CAAK,GAEvDD,EAAe,CAAE,GAAGD,CAAW,CAAEE,iBAAiB,CAAM,EAE5D,EACArB,cAAe5vB,IACb4wB,EAAqB5wB,GACrBgxB,EAAe,CAAE,GAAGD,CAAW,CAAEE,iBAAiB,CAAM,UACpDjxB,EAAAA,KAAAA,EAAAA,EAAOjG,MAAM,CAAbiG,CAAgB,GAAG,CACrBgxB,EAAe,CAAE,GAAGD,CAAW,CAAEG,WAAW,CAAK,GAC7CL,GACFC,GAAoB,GAG1B,EACAhB,OAL0B,CAKjB,KACPsB,GAAmB,GACnBJ,EAAe,CAAE,GAAGD,CAAW,CAAEE,iBAAiB,CAAM,EAC1D,EACAlB,gBAAgB,CAAEgB,QAAAA,KAAAA,EAAAA,EAAaE,OAAbF,QAA4B,CAC9Cf,WAAYW,MAGhB,UAACR,GAAAA,CAAMA,CAAAA,CACLC,QAAQ,EACRlN,IAAI,OAAEhI,GAAmBA,KAAAA,EAAnBA,GAAqBiV,MAAFjV,CACzBmV,SADyBnV,EACbyV,CADNzV,QACMyV,KAAAA,EAAAA,EAAmB52B,EADNmhB,IACMnhB,IAAW,GAAKo3B,EAC/C9zB,UAAWC,CAAAA,EAAAA,EAAAA,CAAAA,CAAIA,CACZ,uCACDqzB,OAAAA,EAAAA,KAAAA,EAAAA,EAAmB52B,MAAAA,IAAW,GAAKo3B,EAAkB,IAArDR,OAAkE,IAEpEzL,SACEiM,EACE,UAACr2B,MAAAA,CAAIuC,UAAU,cAAciH,cAAY,2BAEzC+pB,EAAAA,KAAAA,EAAAA,EAAQwD,QAARxD,WAA2B,CAG/BuD,OAAO,aACPtB,SAAUiB,OAGb,EAeG,KAdF,WAACz2B,MAAAA,CAAIuC,UAAU,+BAEb,WAACD,OAAAA,CAAKC,UAAU,gFACd,UAACD,OAAAA,CAAKC,UAAU,sCAChB,UAACD,OAAAA,CAAKC,UAAU,qCAAuBgxB,EAAAA,KAAAA,EAAAA,EAAQyD,QAARzD,QAAwB,GAC/D,UAACjxB,OAAAA,CAAKC,UAAU,yCAGlB,UAACvC,MAAAA,CAAIuC,UAAU,kDACb,UAAC+N,IAAAA,CAAE/N,UAAU,mCAAmC2M,KAAMymB,iBACnDpC,EAAAA,KAAAA,EAAAA,EAAQ0D,QAAR1D,GAAmB,UAOlC,EAAE,GCjLa,CAAC,iCAAqC,62EAAywF,YAAc,uCAAyC,EAAE,uCAAyC,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,EAAE,+BAA+B,EAAE,MAAM,EAAE,yBAAyB,EAAE,MAAM,EAAE,MAAM,EAAE,gEAAkE,EAAE,QAAQ,IAAI,aAAa,EAAE,+BAA+B,EAAE,MAAM,IAAI,iCAAiC,EAAE,MAAM,EAAE,iDAAiD,EAAE,WAAW,EAAE,gCAAgC,EAAE,MAAM,EAAE,MAAM,EAAE,yDAA2D,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,8EAAgF,EAAE,0BAA0B,EAAE,gEAAkE,EAAE,2BAA2B,EAAE,4DAA8D,EAAE,MAAM,IAAI,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,IAAI,uCAAuC,EAAE,MAAM,EAAE,uCAAuC,EAAE,MAAM,EAAE,MAAM,EAAE,8CAA8C,EAAE,MAAM,EAAE,qCAAqC,EAAE,MAAM,EAAE,MAAM,EAAE,4EAA8E,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,uCAAuC,EAAE,MAAM,EAAE,uCAAuC,EAAE,MAAM,EAAE,oCAAoC,EAAE,MAAM,EAAE,0DAA4D,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,8DAAgE,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,EAAE,MAAM,EAAE,y9BAAy9B,EAAE,MAAM,EAAE,MAAM,EAAE,oCAAoC,EAAE,MAAM,EAAE,MAAM,EAAE,qCAAqC,EAAE,MAAM,EAAE,MAAM,EAAE,4CAA4C,EAAE,MAAM,EAAE,MAAM,EAAE,siCAAsiC,EAAE,MAAM,EAAE,MAAM,EAAE,sDAAsD,EAAE,MAAM,EAAE,MAAM,EAAE,uCAAuC,EAAE,MAAM,EAAE,MAAM,EAAE,+pBAAiqB,EAAE,0BAA0B,EAAE,2CAA6C,KAAK,MAAM,KAAK,0BAA0B,IAAI,MAAM,IAAI,WAAW,EAAE,MAAM,IAAI,MAAM,IAAI,OAAO,KAAK,MAAM,KAAK,MAAM,KAAK,2BAA2B,KAAK,yCAAyC,KAAK,2CAA2C,EAAE,MAAM,EAAE,iCAAiC,EAAE,MAAM,IAAI,oCAAoC,EAAE,MAAM,KAAK,iFAAiF,EAAE,MAAM,IAAI,4CAA4C,EAAE,MAAM,EAAE,MAAM,IAAI,kCAAkC,EAAE,MAAM,EAAE,MAAM,IAAI,+GAAiH,EAAE,aAAa,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,IAAI,4BAA4B,EAAE,MAAM,IAAI,gCAAgC,EAAE,MAAM,EAAE,MAAM,IAAI,mCAAmC,EAAE,MAAM,EAAE,MAAM,EAAE,0CAA0C,EAAE,MAAM,EAAE,yCAAyC,EAAE,MAAM,EAAE,MAAM,EAAE,4ZAA4Z,EAAE,eAAe,EAAE,wFAAwF,EAAE,0CAA0C,EAAE,kEAAkE,EAAE,oBAAoB,EAAE,OAAO,EAAE,yBAAyB,EAAE,uBAAuB,IAAI,uDAAuD,EAAE,oBAAoB,EAAE,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,iEAAmE,EAAE,cAAc,EAAE,MAAM,EAAE,+FAAiG,IAAI,OAAO,IAAI,qBAAqB,IAAI,MAAM,KAAK,6BAA6B,IAAI,yEAA2E,EAAE,0BAA0B,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,sCAAsC,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,qGAAqG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,8DAAgE,EAAE,yBAAyB,EAAE,gBAAgB,EAAE,MAAM,EAAE,MAAM,EAAE,6CAA6C,EAAE,MAAM,EAAE,MAAM,EAAE,4CAA4C,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,6EAA+E,EAAE,0BAA0B,EAAE,kDAAoD,EAAE,YAAY,IAAI,WAAW,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,uBAAuB,EAAE,MAAM,IAAI,4CAA4C,EAAE,MAAM,IAAI,kNAAkN,EAAE,MAAM,IAAI,+CAA+C,IAAI,kDAAoD,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,EAAE,MAAM,EAAE,+CAA+C,EAAE,MAAM,EAAE,MAAM,EAAE,+CAA+C,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,0CAA0C,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,+DAAiE,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,yDAA2D,EAAE,UAAU,IAAI,SAAS,IAAI,MAAM,EAAE,iCAAiC,EAAE,MAAM,EAAE,qCAAqC,EAAE,MAAM,EAAE,kDAAkD,EAAE,MAAM,IAAI,kCAAkC,EAAE,MAAM,EAAE,MAAM,IAAI,oEAAoE,EAAE,MAAM,EAAE,MAAM,EAAE,0CAA0C,EAAE,MAAM,EAAE,MAAM,EAAE,0CAA0C,EAAE,MAAM,EAAE,MAAM,IAAI,2CAA2C,EAAE,MAAM,EAAE,MAAM,EAAE,4DAA8D,EAAE,cAAc,EAAE,MAAM,EAAE,wEAA0E,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,2DAA6D,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,wDAA0D,EAAE,mBAAmB,EAAE,0DAA0D,EAAE,6FAA6F,EAAE,gBAAgB,EAAE,uDAAuD,EAAE,8CAAgD,EAAE,0BAA0B,EAAE,kDAAoD,EAAE,cAAc,EAAE,MAAM,EAAE,2DAA6D,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,mCAAmC,EAAE,yBAAyB,EAAE,MAAM,EAAE,MAAM,EAAE,0EAA4E,EAAE,+HAAiI,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS,EAAE,sBAAsB,EAAE,MAAM,EAAE,8DAA8D,EAAE,MAAM,IAAI,MAAM,EAAE,8CAA8C,EAAE,MAAM,EAAE,MAAM,EAAE,4FAA4F,EAAE,MAAM,EAAE,MAAM,EAAE,uGAAuG,MAAM,oDAAsD,EAAE,0BAA0B,EAAE,+CAAiD,EAAE,UAAU,EAAE,qBAAqB,EAAE,MAAM,EAAE,wCAAwC,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,4EAA8E,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,EAAE,0BAA0B,EAAE,MAAM,EAAE,sCAAsC,EAAE,MAAM,EAAE,MAAM,EAAE,+BAA+B,EAAE,MAAM,EAAE,MAAM,EAAE,4BAA4B,EAAE,MAAM,EAAE,MAAM,EAAE,iEAAmE,EAAE,gBAAgB,IAAI,UAAU,EAAE,6BAA6B,EAAE,YAAY,IAAI,YAAY,EAAE,MAAM,EAAE,0BAA0B,EAAE,MAAM,EAAE,kCAAkC,EAAE,MAAM,EAAE,MAAM,IAAI,qCAAqC,EAAE,MAAM,EAAE,MAAM,EAAE,4KAA4K,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,6DAA6D,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,2CAA2C,EAAE,MAAM,IAAI,MAAM,EAAE,mGAAqG,EAAE,iBAAiB,EAAE,MAAM,EAAE,kCAAkC,EAAE,MAAM,EAAE,MAAM,EAAE,4DAA8D,EAAE,MAAM,EAAE,qOAAqO,EAAE,sDAAsD,EAAE,sBAAsB,EAAE,2KAA2K,EAAE,uBAAuB,EAAE,iDAAiD,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,wFAA0F,EAAE,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,IAAI,oCAAoC,EAAE,wJAAwJ,EAAE,0CAA0C,EAAE,kEAAkE,EAAE,oBAAoB,EAAE,OAAO,EAAE,yBAAyB,EAAE,wDAAwD,EAAE,oBAAoB,EAAE,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,mEAAqE,EAAE,WAAW,EAAE,qBAAqB,EAAE,MAAM,EAAE,MAAM,EAAE,mCAAmC,EAAE,MAAM,EAAE,mCAAmC,EAAE,MAAM,EAAE,MAAM,EAAE,kCAAkC,EAAE,MAAM,EAAE,MAAM,EAAE,kCAAkC,EAAE,MAAM,EAAE,MAAM,EAAE,qCAAqC,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,+DAAiE,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,qDAAuD,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,EAAE,4BAA4B,EAAE,MAAM,EAAE,MAAM,EAAE,8CAAgD,GAAG,UAAU,EAAE,iBAAiB,EAAE,MAAM,EAAE,MAAM,EAAE,0CAA0C,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,6CAA6C,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,+DAAiE,EAAE,eAAe,EAAE,MAAM,EAAE,WAAW,EAAE,+BAA+B,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,qDAAuD,EAAE,cAAc,EAAE,MAAM,EAAE,sGAAwG,EAAE,MAAM,KAAK,UAAU,EAAE,oBAAoB,EAAE,MAAM,EAAE,yCAAyC,EAAE,MAAM,EAAE,MAAM,EAAE,kCAAkC,EAAE,MAAM,EAAE,8CAA8C,EAAE,MAAM,EAAE,iCAAiC,EAAE,MAAM,EAAE,MAAM,EAAE,kFAAkF,EAAE,MAAM,EAAE,MAAM,IAAI,+BAA+B,EAAE,MAAM,EAAE,MAAM,EAAE,4BAA4B,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,mDAAqD,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,qCAAqC,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,4GAA8G,EAAE,MAAM,GAAG,UAAU,EAAE,aAAa,EAAE,WAAW,IAAI,6BAA6B,IAAI,2BAA2B,EAAE,MAAM,IAAI,iyDAAiyD,EAAE,MAAM,IAAI,kuCAAkuC,EAAE,MAAM,EAAE,MAAM,EAAE,oCAAoC,EAAE,MAAM,EAAE,MAAM,EAAE,mJAAmJ,EAAE,MAAM,EAAE,MAAM,EAAE,gOAAgO,EAAE,MAAM,IAAI,yBAAyB,EAAE,MAAM,EAAE,MAAM,EAAE,qCAAqC,EAAE,MAAM,EAAE,MAAM,EAAE,0CAA0C,EAAE,MAAM,EAAE,MAAM,EAAE,iCAAiC,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,gIAAkI,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,EAAE,mCAAmC,EAAE,MAAM,EAAE,wCAAwC,EAAE,MAAM,EAAE,0GAA4G,EAAE,cAAc,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,EAAE,oCAAoC,EAAE,MAAM,EAAE,MAAM,EAAE,yGAA2G,EAAE,WAAW,EAAE,SAAS,EAAE,qBAAqB,EAAE,MAAM,IAAI,gDAAgD,IAAI,sCAAsC,EAAE,kCAAkC,EAAE,MAAM,EAAE,qEAAuE,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,2EAA6E,EAAE,gBAAgB,EAAE,MAAM,EAAE,mCAAmC,EAAE,MAAM,EAAE,2HAA6H,EAAE,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,IAAI,oCAAoC,EAAE,0KAA0K,EAAE,0CAA0C,EAAE,kEAAkE,EAAE,oBAAoB,EAAE,OAAO,EAAE,yBAAyB,EAAE,wDAAwD,EAAE,oBAAoB,EAAE,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,8DAAgE,EAAE,cAAc,EAAE,MAAM,EAAE,+DAAiE,EAAE,MAAM,KAAK,uBAAuB,EAAE,MAAM,EAAE,MAAM,EAAE,yCAAyC,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,gCAAgC,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,+BAA+B,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,mDAAqD,KAAK,0DAA0D,IAAI,mCAAmC,IAAI,0BAA0B,KAAK,sCAAsC,IAAI,0CAA0C,EAAE,MAAM,KAAK,4CAA4C,EAAE,MAAM,KAAK,gPAAgP,EAAE,MAAM,KAAK,6jBAA6jB,EAAE,MAAM,EAAE,iCAAiC,EAAE,MAAM,KAAK,+BAA+B,EAAE,MAAM,KAAK,iCAAiC,EAAE,WAAW,KAAK,4CAA4C,EAAE,MAAM,IAAI,mCAAmC,EAAE,MAAM,KAAK,+BAA+B,EAAE,MAAM,EAAE,gDAAgD,EAAE,MAAM,EAAE,MAAM,EAAE,kCAAkC,EAAE,MAAM,EAAE,oCAAoC,EAAE,MAAM,EAAE,sCAAsC,EAAE,MAAM,EAAE,yDAAyD,EAAE,MAAM,EAAE,gCAAgC,EAAE,MAAM,EAAE,MAAM,IAAI,8CAA8C,EAAE,MAAM,EAAE,MAAM,EAAE,wCAAwC,EAAE,MAAM,EAAE,MAAM,EAAE,iEAAmE,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,qDAAuD,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,uEAAyE,EAAE,0BAA0B,EAAE,4DAA8D,EAAE,+EAAiF,EAAE,gBAAgB,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,yCAAyC,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,qCAAqC,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,6DAA+D,KAAK,mBAAmB,EAAE,2BAA2B,EAAE,MAAM,EAAE,qDAAqD,EAAE,MAAM,EAAE,MAAM,EAAE,kCAAkC,EAAE,MAAM,EAAE,MAAM,IAAI,gDAAkD,EAAE,WAAW,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,EAAE,uJAAuJ,EAAE,MAAM,IAAI,sEAAsE,EAAE,MAAM,EAAE,MAAM,EAAE,4BAA4B,EAAE,MAAM,EAAE,MAAM,EAAE,+CAAiD,IAAI,WAAW,EAAE,UAAU,EAAE,wBAAwB,IAAI,kCAAkC,EAAE,MAAM,IAAI,0DAA0D,EAAE,MAAM,EAAE,MAAM,EAAE,qCAAqC,EAAE,MAAM,EAAE,uDAAyD,EAAE,wDAA0D,EAAE,mBAAmB,EAAE,MAAM,EAAE,6DAA+D,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,iCAAiC,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,mEAAqE,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,qHAAuH,EAAE,MAAM,MAAM,6BAA6B,EAAE,UAAU,IAAI,+BAA+B,EAAE,mCAAmC,EAAE,MAAM,IAAI,uDAAuD,EAAE,MAAM,IAAI,kDAAkD,EAAE,MAAM,KAAK,oCAAoC,IAAI,mIAAqI,EAAE,wBAAwB,EAAE,iBAAiB,EAAE,MAAM,EAAE,kCAAkC,EAAE,MAAM,EAAE,MAAM,EAAE,mEAAqE,EAAE,6CAA+C,EAAE,cAAc,EAAE,MAAM,EAAE,iDAAmD,EAAE,cAAc,EAAE,uEAAyE,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,2CAA2C,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,+EAAiF,EAAE,UAAU,EAAE,qBAAqB,EAAE,MAAM,EAAE,MAAM,EAAE,yCAAyC,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,+BAA+B,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,kDAAkD,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,qCAAuC,EAAE,SAAS,EAAE,MAAM,EAAE,mBAAmB,EAAE,MAAM,EAAE,mEAAmE,EAAE,MAAM,EAAE,MAAM,EAAE,4DAA4D,EAAE,MAAM,EAAE,iCAAiC,EAAE,MAAM,IAAI,4IAA4I,EAAE,MAAM,IAAI,oDAAoD,EAAE,MAAM,EAAE,MAAM,EAAE,qFAAqF,EAAE,MAAM,EAAE,+BAA+B,EAAE,MAAM,EAAE,MAAM,EAAE,o4BAAo4B,EAAE,KAAK,EAAE,0lBAA0lB,EAAE,iDAAiD,EAAE,gLAAgL,EAAE,oBAAoB,EAAE,QAAQ,EAAE,4DAA4D,EAAE,4BAA4B,EAAE,8BAA8B,EAAE,2BAA2B,EAAE,oEAAoE,EAAE,gBAAgB,EAAE,0DAA4D,EAAE,0BAA0B,EAAE,+DAAiE,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,mCAAmC,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,sCAAsC,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,kCAAkC,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,kEAAoE,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,8CAA8C,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,yEAA2E,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,iCAAiC,EAAE,oCAAoC,EAAE,yCAAyC,EAAE,oBAAoB,EAAE,QAAQ,EAAE,2DAA2D,EAAE,4BAA4B,EAAE,8BAA8B,EAAE,2BAA2B,EAAE,oEAAoE,EAAE,gBAAgB,EAAE,sCAAwC,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,EAAE,+BAA+B,EAAE,MAAM,EAAE,MAAM,EAAE,uEAAyE,EAAE,cAAc,EAAE,MAAM,EAAE,4DAA8D,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,uDAAyD,EAAE,cAAc,EAAE,MAAM,EAAE,+CAAiD,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,+BAA+B,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,oDAAsD,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,yCAAyC,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,8HAA8H,EAAE,6FAA6F,EAAE,gBAAgB,EAAE,uDAAuD,EAAE,4BAA8B,EAAE,sBAAsB,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,gCAAgC,EAAE,MAAM,EAAE,iDAAmD,EAAE,MAAM,KAAK,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,EAAE,MAAM,EAAE,+BAA+B,EAAE,MAAM,EAAE,kFAAkF,EAAE,MAAM,EAAE,MAAM,EAAE,iCAAiC,EAAE,MAAM,IAAI,MAAM,EAAE,6CAA+C,EAAE,SAAS,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,EAAE,6BAA6B,EAAE,MAAM,EAAE,MAAM,EAAE,gEAAkE,EAAE,0BAA0B,EAAE,+CAAiD,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,EAAE,0BAA0B,EAAE,MAAM,EAAE,MAAM,EAAE,uDAAyD,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,EAAE,0EAA4E,IAAI,MAAM,IAAI,eAAe,EAAE,KAAK,EAAE,yBAAyB,EAAE,MAAM,IAAI,kCAAkC,EAAE,MAAM,EAAE,sDAAsD,EAAE,MAAM,EAAE,MAAM,EAAE,4BAA4B,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,kEAAoE,GAAG,YAAY,EAAE,iBAAiB,EAAE,MAAM,EAAE,oEAAsE,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,IAAI,oBAAoB,EAAE,MAAM,EAAE,MAAM,IAAI,sCAAsC,EAAE,MAAM,EAAE,MAAM,IAAI,uCAAuC,EAAE,MAAM,EAAE,kCAAkC,EAAE,MAAM,EAAE,MAAM,IAAI,yCAAyC,EAAE,MAAM,EAAE,MAAM,IAAI,kCAAkC,EAAE,MAAM,EAAE,MAAM,IAAI,uCAAuC,EAAE,MAAM,EAAE,MAAM,EAAE,sEAAwE,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,uDAAyD,EAAE,UAAU,EAAE,qBAAqB,EAAE,MAAM,EAAE,sCAAsC,EAAE,MAAM,EAAE,MAAM,EAAE,yFAAyF,EAAE,MAAM,EAAE,MAAM,IAAI,sEAAwE,KAAK,gBAAgB,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,KAAK,UAAU,EAAE,+CAA+C,EAAE,MAAM,EAAE,6BAA6B,EAAE,MAAM,IAAI,4CAA4C,EAAE,MAAM,IAAI,iCAAiC,EAAE,MAAM,IAAI,sCAAsC,EAAE,MAAM,IAAI,MAAM,EAAE,0CAA0C,EAAE,MAAM,IAAI,+BAA+B,EAAE,MAAM,EAAE,MAAM,EAAE,oCAAoC,EAAE,WAAW,EAAE,MAAM,EAAE,sCAAsC,EAAE,MAAM,EAAE,MAAM,IAAI,oEAAsE,IAAI,MAAM,IAAI,MAAM,EAAE,MAAM,IAAI,qBAAqB,EAAE,MAAM,EAAE,8DAA8D,EAAE,MAAM,EAAE,0CAA0C,IAAI,MAAM,EAAE,oCAAoC,EAAE,MAAM,EAAE,MAAM,IAAI,uDAAuD,EAAE,MAAM,EAAE,MAAM,EAAE,mCAAmC,EAAE,MAAM,EAAE,MAAM,EAAE,qCAAqC,EAAE,MAAM,EAAE,MAAM,EAAE,qCAAqC,EAAE,MAAM,EAAE,MAAM,EAAE,4BAA4B,EAAE,MAAM,EAAE,MAAM,EAAE,oCAAoC,EAAE,WAAW,EAAE,MAAM,EAAE,oEAAsE,EAAE,OAAO,IAAI,WAAW,EAAE,YAAY,EAAE,2BAA2B,EAAE,MAAM,EAAE,2BAA2B,EAAE,MAAM,EAAE,MAAM,EAAE,mCAAmC,EAAE,MAAM,EAAE,wCAAwC,EAAE,MAAM,EAAE,MAAM,EAAE,qCAAqC,EAAE,MAAM,EAAE,MAAM,EAAE,6BAA6B,EAAE,MAAM,EAAE,gCAAgC,EAAE,MAAM,EAAE,MAAM,EAAE,oCAAoC,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,EAAE,sDAAwD,EAAE,qBAAqB,EAAE,2BAA2B,EAAE,kFAAoF,EAAE,MAAM,KAAK,4BAA4B,EAAE,6IAA6I,EAAE,MAAM,IAAI,sCAAsC,EAAE,MAAM,EAAE,MAAM,EAAE,kCAAkC,EAAE,MAAM,EAAE,MAAM,EAAE,2NAA2N,EAAE,MAAM,EAAE,MAAM,EAAE,i9CAAi9C,EAAE,MAAM,EAAE,MAAM,EAAE,20BAA20B,EAAE,MAAM,EAAE,qCAAqC,EAAE,MAAM,IAAI,MAAM,EAAE,2DAA2D,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,wDAA0D,EAAE,cAAc,EAAE,MAAM,EAAE,qDAAuD,EAAE,UAAU,IAAI,wBAAwB,EAAE,MAAM,EAAE,kCAAkC,EAAE,MAAM,EAAE,MAAM,IAAI,sCAAsC,EAAE,MAAM,EAAE,MAAM,EAAE,yDAA2D,EAAE,sBAAsB,IAAI,uBAAuB,IAAI,6BAA6B,EAAE,MAAM,IAAI,sGAAsG,EAAE,MAAM,EAAE,MAAM,IAAI,kCAAkC,EAAE,MAAM,EAAE,MAAM,EAAE,+FAAiG,EAAE,gBAAgB,EAAE,MAAM,EAAE,6BAA6B,EAAE,MAAM,EAAE,MAAM,EAAE,8DAAgE,KAAK,MAAM,KAAK,cAAc,KAAK,MAAM,IAAI,kBAAkB,EAAE,MAAM,EAAE,OAAO,IAAI,+BAA+B,EAAE,MAAM,IAAI,6BAA6B,EAAE,MAAM,IAAI,qHAAqH,EAAE,MAAM,IAAI,sDAAsD,EAAE,MAAM,EAAE,2BAA2B,EAAE,MAAM,IAAI,MAAM,EAAE,kCAAkC,EAAE,MAAM,EAAE,MAAM,IAAI,iDAAiD,EAAE,MAAM,IAAI,MAAM,EAAE,8CAA8C,EAAE,MAAM,EAAE,MAAM,EAAE,gCAAgC,EAAE,MAAM,EAAE,MAAM,EAAE,4BAA4B,EAAE,MAAM,EAAE,MAAM,IAAI,mDAAmD,IAAI,qZAAqZ,IAAI,+BAA+B,IAAI,cAAc,EAAE,sBAAsB,EAAE,OAAO,EAAE,sBAAsB,EAAE,+FAA+F,EAAE,iCAAiC,EAAE,sBAAsB,KAAK,uBAAuB,EAAE,uBAAuB,EAAE,UAAU,EAAE,kCAAoC,EAAE,qBAAqB,EAAE,6BAA6B,EAAE,sCAAsC,EAAE,sDAAsD,EAAE,+BAA+B,EAAE,wGAAwG,EAAE,eAAe,EAAE,yCAAyC,EAAE,gEAAgE,EAAE,KAAK,EAAE,sBAAsB,EAAE,oEAAoE,EAAE,WAAW,EAAE,8CAAgD,EAAE,gFAAkF,EAAE,qBAAqB,EAAE,MAAM,EAAE,4CAA4C,EAAE,MAAM,IAAI,kCAAkC,EAAE,MAAM,EAAE,qCAAqC,EAAE,MAAM,EAAE,4DAA8D,KAAK,YAAY,EAAE,uBAAuB,EAAE,wCAAwC,EAAE,MAAM,EAAE,MAAM,EAAE,8CAA8C,EAAE,WAAW,EAAE,odAAod,EAAE,MAAM,EAAE,MAAM,EAAE,wCAAwC,EAAE,MAAM,EAAE,gGAAgG,EAAE,MAAM,EAAE,MAAM,EAAE,ovDAAovD,EAAE,MAAM,EAAE,MAAM,EAAE,iEAAiE,EAAE,MAAM,EAAE,MAAM,EAAE,oCAAoC,EAAE,MAAM,EAAE,MAAM,EAAE,sDAAsD,EAAE,oEAAsE,EAAE,cAAc,IAAI,UAAU,IAAI,qBAAqB,EAAE,MAAM,IAAI,oCAAoC,EAAE,MAAM,EAAE,kCAAkC,EAAE,MAAM,EAAE,MAAM,IAAI,yDAA2D,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,EAAE,iDAAiD,EAAE,MAAM,EAAE,MAAM,EAAE,4CAA4C,EAAE,MAAM,EAAE,WAAW,IAAI,+DAAiE,EAAE,UAAU,IAAI,mBAAmB,EAAE,MAAM,EAAE,MAAM,IAAI,sCAAsC,EAAE,MAAM,EAAE,MAAM,EAAE,kEAAoE,EAAE,qBAAqB,EAAE,yCAA2C,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,iEAAmE,EAAE,0BAA0B,EAAE,gDAAkD,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,EAAE,MAAM,EAAE,uCAAuC,EAAE,MAAM,EAAE,sCAAsC,EAAE,MAAM,EAAE,MAAM,EAAE,4GAA8G,KAAK,cAAc,EAAE,KAAK,EAAE,WAAW,EAAE,oBAAoB,EAAE,UAAU,IAAI,cAAc,EAAE,mCAAmC,EAAE,MAAM,IAAI,0DAA0D,EAAE,MAAM,EAAE,8BAA8B,IAAI,MAAM,EAAE,kCAAkC,EAAE,MAAM,EAAE,MAAM,EAAE,wCAAwC,EAAE,MAAM,IAAI,MAAM,EAAE,8CAA8C,EAAE,MAAM,EAAE,MAAM,EAAE,qCAAqC,EAAE,MAAM,EAAE,MAAM,EAAE,qFAAuF,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,MAAM,IAAI,qDAAqD,EAAE,MAAM,EAAE,iEAAmE,EAAE,0BAA0B,EAAE,oDAAsD,EAAE,KAAK,EAAE,SAAS,EAAE,iEAAmE,EAAE,MAAM,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,MAAM,EAAE,MAAM,EAAE,kDAAkD,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,8CAA8C,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,iEAAmE,EAAE,WAAW,EAAE,qBAAqB,EAAE,MAAM,EAAE,8EAA8E,EAAE,MAAM,EAAE,MAAM,EAAE,yEAA2E,EAAE,0BAA0B,EAAE,+CAAiD,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,MAAM,EAAE,MAAM,EAAE,wEAAwE,EAAE,MAAM,EAAE,MAAM,EAAE,4BAA4B,EAAE,MAAM,EAAE,MAAM,EAAE,6BAA6B,EAAE,MAAM,EAAE,MAAM,EAAE,gEAAkE,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,kCAAkC,EAAE,MAAM,EAAE,MAAM,EAAE,gFAAkF,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,MAAM,EAAE,2CAA2C,EAAE,MAAM,EAAE,MAAM,EAAE,kCAAkC,EAAE,MAAM,EAAE,MAAM,EAAE,8EAAgF,EAAE,cAAc,EAAE,MAAM,EAAE,mEAAqE,EAAE,mBAAmB,EAAE,MAAM,EAAE,6CAA6C,EAAE,MAAM,EAAE,MAAM,EAAE,yCAAyC,EAAE,MAAM,EAAE,sDAAsD,EAAE,MAAM,EAAE,6EAA+E,IAAI,MAAM,EAAE,OAAO,IAAI,8BAA8B,IAAI,8BAA8B,EAAE,MAAM,EAAE,wFAAwF,EAAE,MAAM,EAAE,MAAM,EAAE,2FAA2F,EAAE,MAAM,EAAE,MAAM,EAAE,oCAAoC,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,IAAI,gDAAgD,EAAE,MAAM,EAAE,MAAM,EAAE,yCAAyC,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,gCAAgC,EAAE,MAAM,EAAE,MAAM,EAAE,4BAA4B,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,IAAI,mDAAmD,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,IAAI,mKAAqK,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,0DAA4D,EAAE,cAAc,EAAE,MAAM,EAAE,2DAA6D,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,yCAAyC,EAAE,MAAM,EAAE,mEAAmE,EAAE,MAAM,EAAE,+BAA+B,EAAE,MAAM,EAAE,yKAAyK,EAAE,yEAAyE,EAAE,gBAAgB,EAAE,WAAW,EAAE,kDAAkD,EAAE,wCAA0C,EAAE,gBAAgB,EAAE,MAAM,EAAE,MAAM,EAAE,kCAAkC,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,wCAAwC,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,+EAAiF,EAAE,cAAc,EAAE,MAAM,EAAE,kCAAkC,EAAE,MAAM,EAAE,MAAM,EAAE,qCAAqC,EAAE,MAAM,EAAE,MAAM,EAAE,0EAA4E,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,EAAE,MAAM,IAAI,4DAA8D,EAAE,mBAAmB,EAAE,6EAA6E,EAAE,6FAA6F,EAAE,gBAAgB,EAAE,uDAAuD,EAAE,6BAA+B,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,oDAAoD,EAAE,sCAAwC,EAAE,oBAAoB,EAAE,cAAc,EAAE,MAAM,EAAE,uDAAyD,EAAE,mBAAmB,EAAE,MAAM,EAAE,6DAA6D,EAAE,MAAM,EAAE,MAAM,EAAE,sCAAsC,EAAE,WAAW,EAAE,MAAM,EAAE,iEAAmE,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,mDAAqD,IAAI,OAAO,EAAE,wBAAwB,IAAI,eAAe,IAAI,4BAA4B,EAAE,MAAM,EAAE,qCAAqC,EAAE,MAAM,EAAE,MAAM,EAAE,uHAAuH,EAAE,MAAM,IAAI,mEAAmE,EAAE,MAAM,EAAE,MAAM,IAAI,mDAAmD,EAAE,MAAM,IAAI,iEAAiE,EAAE,MAAM,EAAE,kCAAkC,EAAE,MAAM,EAAE,MAAM,EAAE,uCAAuC,EAAE,MAAM,EAAE,MAAM,EAAE,2CAA2C,EAAE,MAAM,EAAE,0DAA4D,IAAI,UAAU,EAAE,mBAAmB,EAAE,MAAM,EAAE,MAAM,EAAE,sCAAsC,EAAE,MAAM,EAAE,6BAA6B,EAAE,MAAM,IAAI,wCAAwC,EAAE,MAAM,IAAI,4GAA4G,EAAE,MAAM,IAAI,yDAA2D,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,EAAE,yBAAyB,EAAE,MAAM,EAAE,+CAAiD,EAAE,eAAe,EAAE,0BAA0B,EAAE,8CAAgD,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,yCAAyC,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,2EAA6E,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,wEAA0E,EAAE,yBAAyB,EAAE,+CAAiD,EAAE,yBAAyB,EAAE,cAAc,EAAE,MAAM,EAAE,iFAAmF,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,EAAE,qCAAqC,EAAE,MAAM,EAAE,4BAA4B,EAAE,MAAM,EAAE,uFAAyF,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,EAAE,+BAA+B,EAAE,MAAM,EAAE,MAAM,EAAE,oFAAsF,EAAE,MAAM,EAAE,qBAAqB,EAAE,MAAM,EAAE,uCAAuC,EAAE,MAAM,EAAE,MAAM,EAAE,kCAAkC,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,qEAAuE,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,EAAE,sCAAsC,EAAE,MAAM,EAAE,MAAM,EAAE,kEAAoE,IAAI,mBAAmB,EAAE,wBAAwB,EAAE,MAAM,EAAE,uCAAuC,EAAE,MAAM,EAAE,MAAM,IAAI,qHAAqH,EAAE,MAAM,EAAE,uCAAuC,EAAE,MAAM,EAAE,MAAM,EAAE,2CAA2C,EAAE,MAAM,EAAE,MAAM,EAAE,mCAAmC,EAAE,MAAM,EAAE,MAAM,EAAE,+DAAiE,EAAE,gBAAgB,EAAE,MAAM,EAAE,MAAM,IAAI,oCAAoC,EAAE,MAAM,EAAE,MAAM,EAAE,+CAAiD,IAAI,gBAAgB,EAAE,MAAM,EAAE,MAAM,EAAE,mCAAmC,EAAE,MAAM,EAAE,MAAM,IAAI,kCAAkC,EAAE,MAAM,EAAE,MAAM,EAAE,mCAAmC,EAAE,MAAM,EAAE,MAAM,EAAE,2EAA6E,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,0DAA4D,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,6BAA6B,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,qEAAuE,EAAE,cAAc,EAAE,MAAM,EAAE,mCAAmC,EAAE,uCAAuC,EAAE,kCAAoC,EAAE,SAAS,KAAK,gBAAgB,EAAE,6BAA6B,EAAE,MAAM,EAAE,MAAM,IAAI,kCAAkC,EAAE,MAAM,EAAE,MAAM,IAAI,sCAAsC,EAAE,MAAM,EAAE,MAAM,EAAE,wCAAwC,EAAE,MAAM,EAAE,MAAM,EAAE,kCAAkC,EAAE,MAAM,EAAE,MAAM,IAAI,qCAAqC,EAAE,MAAM,EAAE,MAAM,IAAI,sEAAwE,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,EAAE,oFAAsF,EAAE,MAAM,IAAI,MAAM,KAAK,MAAM,IAAI,4BAA4B,EAAE,MAAM,IAAI,mCAAmC,EAAE,MAAM,EAAE,qCAAqC,EAAE,+BAA+B,EAAE,MAAM,EAAE,MAAM,EAAE,wEAAwE,EAAE,MAAM,EAAE,MAAM,EAAE,2CAA2C,EAAE,MAAM,EAAE,MAAM,EAAE,8DAAgE,EAAE,KAAK,EAAE,gBAAgB,EAAE,MAAM,EAAE,MAAM,EAAE,4BAA4B,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,yFAA2F,EAAE,UAAU,EAAE,yBAAyB,EAAE,oCAAoC,EAAE,MAAM,EAAE,+DAA+D,EAAE,MAAM,EAAE,sEAAwE,EAAE,cAAc,EAAE,MAAM,EAAE,6DAA+D,EAAE,gBAAgB,EAAE,MAAM,EAAE,qDAAuD,EAAE,OAAO,EAAE,OAAO,IAAI,aAAa,IAAI,0BAA0B,EAAE,MAAM,IAAI,yBAAyB,EAAE,MAAM,IAAI,qCAAqC,EAAE,MAAM,EAAE,MAAM,IAAI,2EAA2E,EAAE,MAAM,EAAE,0DAA0D,EAAE,MAAM,EAAE,MAAM,IAAI,iDAAiD,EAAE,MAAM,IAAI,MAAM,EAAE,yCAAyC,EAAE,MAAM,EAAE,MAAM,IAAI,wGAA0G,EAAE,SAAS,EAAE,QAAQ,IAAI,kBAAkB,EAAE,MAAM,IAAI,4BAA4B,EAAE,MAAM,EAAE,yBAAyB,EAAE,MAAM,EAAE,sDAAwD,EAAE,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,sBAAsB,EAAE,MAAM,EAAE,gCAAgC,EAAE,MAAM,EAAE,4BAA4B,EAAE,MAAM,EAAE,MAAM,EAAE,8EAAgF,EAAE,gBAAgB,EAAE,MAAM,EAAE,uCAAuC,EAAE,iCAAiC,EAAE,MAAM,EAAE,qCAAqC,EAAE,MAAM,EAAE,MAAM,EAAE,2EAA6E,EAAE,OAAO,EAAE,QAAQ,IAAI,kBAAkB,EAAE,MAAM,EAAE,MAAM,EAAE,6BAA6B,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,sCAAsC,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,kEAAoE,EAAE,KAAK,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,MAAM,EAAE,oCAAoC,EAAE,MAAM,EAAE,2EAA6E,EAAE,MAAM,EAAE,eAAe,IAAI,mCAAmC,EAAE,iCAAiC,EAAE,MAAM,IAAI,wNAAwN,EAAE,MAAM,EAAE,0FAA0F,EAAE,MAAM,EAAE,oCAAoC,EAAE,MAAM,EAAE,MAAM,EAAE,+CAA+C,EAAE,MAAM,EAAE,MAAM,EAAE,qCAAqC,EAAE,MAAM,EAAE,MAAM,EAAE,4BAA4B,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,EAAE,oDAAsD,EAAE,WAAW,MAAM,gBAAgB,KAAK,yCAAyC,EAAE,cAAc,EAAE,2BAA2B,EAAE,WAAW,EAAE,SAAS,EAAE,yBAAyB,EAAE,MAAM,EAAE,MAAM,IAAI,sCAAsC,EAAE,MAAM,EAAE,yBAAyB,EAAE,MAAM,IAAI,qVAAqV,EAAE,MAAM,IAAI,0FAA0F,EAAE,MAAM,EAAE,kCAAkC,EAAE,MAAM,EAAE,+BAA+B,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,uFAAuF,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,2EAA6E,EAAE,UAAU,EAAE,OAAO,EAAE,WAAW,EAAE,uBAAuB,EAAE,uBAAuB,EAAE,MAAM,EAAE,gCAAgC,EAAE,MAAM,EAAE,MAAM,EAAE,2LAA2L,EAAE,MAAM,EAAE,MAAM,IAAI,6BAA6B,EAAE,MAAM,EAAE,MAAM,EAAE,yEAAyE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,yDAAyD,EAAE,MAAM,EAAE,MAAM,IAAI,+CAAiD,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,EAAE,MAAM,EAAE,qCAAqC,EAAE,MAAM,EAAE,MAAM,EAAE,4BAA4B,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,0EAA4E,EAAE,2DAA6D,EAAE,eAAe,EAAE,wBAAwB,EAAE,MAAM,EAAE,uCAAuC,EAAE,MAAM,EAAE,MAAM,EAAE,kCAAkC,EAAE,MAAM,EAAE,MAAM,EAAE,mDAAqD,EAAE,qBAAqB,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,gCAAgC,EAAE,MAAM,EAAE,MAAM,EAAE,gFAAkF,EAAE,cAAc,EAAE,MAAM,EAAE,8CAAgD,IAAI,MAAM,KAAK,2BAA2B,IAAI,0BAA0B,EAAE,MAAM,IAAI,oCAAoC,EAAE,MAAM,EAAE,qEAAqE,EAAE,MAAM,IAAI,sFAAsF,EAAE,MAAM,EAAE,MAAM,IAAI,uFAAuF,EAAE,MAAM,EAAE,MAAM,EAAE,6BAA6B,EAAE,MAAM,EAAE,gDAAgD,EAAE,MAAM,EAAE,MAAM,EAAE,sCAAsC,EAAE,MAAM,EAAE,MAAM,EAAE,kDAAoD,EAAE,cAAc,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,EAAE,+BAA+B,EAAE,MAAM,EAAE,2DAA6D,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,uFAAuF,EAAE,+FAA+F,EAAE,WAAW,EAAE,mBAAmB,EAAE,4DAA4D,EAAE,kCAAkC,EAAE,yCAA2C,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,EAAE,iDAAiD,EAAE,MAAM,EAAE,oCAAoC,EAAE,MAAM,EAAE,MAAM,EAAE,sCAAsC,EAAE,MAAM,EAAE,MAAM,EAAE,yFAA2F,IAAI,MAAM,IAAI,OAAO,IAAI,OAAO,IAAI,oBAAoB,IAAI,wBAAwB,KAAK,6BAA6B,EAAE,MAAM,IAAI,kDAAkD,EAAE,MAAM,KAAK,uDAAyD,GAAG,YAAY,EAAE,kBAAkB,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,wLAAwL,EAAE,WAAW,EAAE,MAAM,EAAE,oUAAoU,EAAE,MAAM,EAAE,MAAM,EAAE,uCAAuC,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,iEAAiE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,sHAAwH,EAAE,gBAAgB,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,+BAA+B,EAAE,MAAM,EAAE,MAAM,EAAE,4BAA4B,EAAE,MAAM,EAAE,MAAM,EAAE,2DAA6D,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,EAAE,yBAAyB,EAAE,MAAM,EAAE,MAAM,EAAE,kCAAkC,EAAE,MAAM,EAAE,MAAM,EAAE,kCAAkC,EAAE,MAAM,EAAE,MAAM,IAAI,mCAAmC,EAAE,MAAM,EAAE,MAAM,EAAE,uDAAyD,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,EAAE,+FAAiG,EAAE,mBAAmB,EAAE,MAAM,EAAE,4EAA8E,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,uEAAyE,EAAE,UAAU,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,EAAE,0BAA0B,EAAE,MAAM,IAAI,MAAM,EAAE,gDAAgD,EAAE,MAAM,EAAE,uDAAuD,EAAE,MAAM,EAAE,MAAM,EAAE,yFAAyF,IAAI,MAAM,EAAE,MAAM,EAAE,qDAAqD,EAAE,MAAM,IAAI,MAAM,EAAE,kKAAkK,EAAE,MAAM,IAAI,MAAM,EAAE,2DAA2D,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,EAAE,qGAAqG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,6DAA6D,EAAE,MAAM,EAAE,MAAM,EAAE,qDAAqD,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,iIAAiI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,qDAAqD,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,gHAAkH,EAAE,WAAW,EAAE,oBAAoB,EAAE,MAAM,EAAE,+CAA+C,EAAE,MAAM,EAAE,MAAM,EAAE,4BAA4B,EAAE,MAAM,EAAE,MAAM,EAAE,4BAA4B,EAAE,MAAM,EAAE,MAAM,EAAE,yDAA2D,EAAE,wEAA0E,EAAE,MAAM,IAAI,OAAO,IAAI,oBAAoB,EAAE,MAAM,IAAI,qCAAqC,EAAE,MAAM,EAAE,kCAAkC,EAAE,MAAM,EAAE,MAAM,EAAE,2DAA2D,EAAE,MAAM,EAAE,MAAM,EAAE,gFAAkF,EAAE,oBAAoB,EAAE,qDAAuD,EAAE,WAAW,EAAE,UAAU,EAAE,uBAAuB,EAAE,MAAM,IAAI,mCAAmC,EAAE,MAAM,EAAE,MAAM,IAAI,mEAAmE,EAAE,MAAM,EAAE,MAAM,EAAE,qCAAqC,EAAE,MAAM,EAAE,MAAM,EAAE,sCAAsC,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,6EAA+E,EAAE,cAAc,EAAE,MAAM,EAAE,2EAA6E,EAAE,iBAAiB,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,mCAAmC,EAAE,MAAM,EAAE,iCAAiC,EAAE,iDAAmD,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,+BAA+B,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,yDAA2D,EAAE,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,oBAAoB,EAAE,MAAM,EAAE,8BAA8B,EAAE,+BAA+B,EAAE,0DAA0D,EAAE,sCAAsC,EAAE,MAAM,EAAE,MAAM,EAAE,yCAAyC,EAAE,MAAM,IAAI,uFAAyF,EAAE,gBAAgB,EAAE,MAAM,EAAE,MAAM,EAAE,6BAA6B,EAAE,MAAM,EAAE,6BAA6B,EAAE,MAAM,EAAE,gDAAkD,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,mEAAqE,EAAE,cAAc,EAAE,MAAM,EAAE,gDAAkD,EAAE,kBAAkB,EAAE,OAAO,EAAE,qBAAqB,EAAE,MAAM,EAAE,4BAA4B,EAAE,MAAM,EAAE,6BAA6B,EAAE,MAAM,EAAE,MAAM,EAAE,iDAAmD,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,iDAAmD,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,EAAE,MAAM,IAAI,wCAAwC,EAAE,MAAM,EAAE,MAAM,EAAE,2DAA6D,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,MAAM,EAAE,8BAA8B,EAAE,MAAM,EAAE,yCAA2C,EAAE,gEAAkE,EAAE,4BAA4B,EAAE,gEAAkE,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,2EAA6E,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,gFAAkF,EAAE,MAAM,IAAI,2BAA2B,EAAE,MAAM,EAAE,kCAAkC,EAAE,MAAM,EAAE,MAAM,IAAI,uCAAuC,EAAE,MAAM,EAAE,MAAM,EAAE,wDAA0D,EAAE,cAAc,EAAE,WAAW,EAAE,qCAAqC,EAAE,MAAM,EAAE,MAAM,EAAE,2CAA2C,EAAE,WAAW,EAAE,4CAA4C,EAAE,MAAM,EAAE,MAAM,EAAE,6EAA+E,IAAI,kCAAoC,EAAE,wBAAwB,EAAE,gBAAgB,EAAE,MAAM,EAAE,kCAAkC,EAAE,MAAM,EAAE,wDAA0D,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,yCAAyC,EAAE,WAAW,EAAE,MAAM,EAAE,4CAA4C,EAAE,MAAM,EAAE,iFAAmF,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,iFAAmF,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,EAAE,uDAAuD,EAAE,MAAM,EAAE,yBAAyB,EAAE,MAAM,EAAE,4CAA8C,EAAE,MAAM,MAAM,yBAAyB,EAAE,uBAAuB,EAAE,MAAM,EAAE,MAAM,EAAE,kDAAkD,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,+FAA+F,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,wDAAwD,EAAE,MAAM,EAAE,MAAM,IAAI,yEAA2E,EAAE,6BAA6B,EAAE,2DAA6D,EAAE,kBAAkB,EAAE,MAAM,EAAE,yBAAyB,EAAE,MAAM,EAAE,0BAA0B,EAAE,MAAM,EAAE,6DAA+D,EAAE,MAAM,KAAK,UAAU,EAAE,MAAM,EAAE,wBAAwB,EAAE,WAAW,EAAE,oCAAoC,EAAE,MAAM,EAAE,MAAM,IAAI,4CAA4C,IAAI,MAAM,EAAE,qHAAqH,EAAE,MAAM,EAAE,MAAM,EAAE,qCAAqC,EAAE,MAAM,EAAE,MAAM,IAAI,+FAAiG,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,qCAAqC,EAAE,MAAM,EAAE,MAAM,EAAE,qCAAqC,EAAE,MAAM,EAAE,yBAAyB,EAAE,MAAM,EAAE,MAAM,EAAE,4DAA8D,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,EAAE,MAAM,EAAE,8KAA8K,EAAE,MAAM,EAAE,uNAAuN,EAAE,MAAM,EAAE,MAAM,EAAE,gDAAgD,EAAE,MAAM,EAAE,MAAM,IAAI,kFAAoF,EAAE,uBAAuB,EAAE,cAAc,EAAE,MAAM,EAAE,wCAAwC,EAAE,MAAM,EAAE,qDAAqD,EAAE,MAAM,EAAE,yDAA2D,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,EAAE,+BAA+B,EAAE,MAAM,EAAE,MAAM,EAAE,mIAAmI,EAAE,sDAAsD,EAAE,omBAAomB,EAAE,4CAA4C,EAAE,iBAAiB,EAAE,sKAAsK,EAAE,uBAAuB,EAAE,yCAAyC,EAAE,qBAAqB,EAAE,2CAA6C,IAAI,WAAW,EAAE,mBAAmB,EAAE,gCAAgC,EAAE,MAAM,IAAI,yBAAyB,EAAE,MAAM,EAAE,qCAAqC,EAAE,MAAM,EAAE,MAAM,EAAE,kCAAkC,EAAE,MAAM,EAAE,6BAA6B,EAAE,MAAM,EAAE,MAAM,IAAI,4BAA4B,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,IAAI,kGAAoG,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,oDAAsD,KAAK,WAAW,KAAK,OAAO,EAAE,MAAM,EAAE,OAAO,IAAI,kBAAkB,IAAI,mFAAqF,EAAE,0BAA0B,EAAE,gDAAkD,EAAE,sBAAsB,EAAE,eAAe,EAAE,MAAM,EAAE,8EAAgF,EAAE,4BAA4B,EAAE,8CAAgD,EAAE,eAAe,EAAE,0BAA0B,EAAE,8CAAgD,EAAE,YAAY,EAAE,SAAS,EAAE,WAAW,EAAE,qBAAqB,EAAE,MAAM,EAAE,kCAAkC,EAAE,MAAM,IAAI,6BAA6B,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,uCAAuC,EAAE,MAAM,EAAE,MAAM,EAAE,0CAA0C,EAAE,MAAM,EAAE,MAAM,EAAE,wCAAwC,EAAE,MAAM,EAAE,MAAM,EAAE,6DAA+D,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,EAAE,sDAAwD,EAAE,MAAM,EAAE,OAAO,EAAE,kBAAkB,EAAE,MAAM,EAAE,MAAM,EAAE,gCAAgC,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,uDAAyD,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,qBAAqB,EAAE,iCAAiC,EAAE,MAAM,IAAI,4BAA4B,EAAE,MAAM,EAAE,yCAA2C,IAAI,MAAM,KAAK,uBAAuB,EAAE,yBAAyB,EAAE,MAAM,EAAE,kCAAkC,EAAE,MAAM,EAAE,MAAM,EAAE,sCAAsC,EAAE,MAAM,EAAE,MAAM,EAAE,qCAAqC,EAAE,MAAM,KAAK,4DAA8D,EAAE,UAAU,EAAE,uBAAuB,EAAE,MAAM,IAAI,yDAAyD,EAAE,MAAM,EAAE,MAAM,EAAE,gEAAkE,EAAE,eAAe,EAAE,iEAAiE,EAAE,iEAAiE,EAAE,WAAW,EAAE,6CAA6C,EAAE,8BAAgC,EAAE,MAAM,IAAI,yBAAyB,EAAE,MAAM,IAAI,oCAAoC,EAAE,MAAM,EAAE,MAAM,IAAI,uCAAuC,EAAE,MAAM,EAAE,MAAM,EAAE,oCAAoC,EAAE,MAAM,EAAE,MAAM,EAAE,sCAAsC,EAAE,MAAM,EAAE,MAAM,EAAE,wDAA0D,EAAE,sBAAsB,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,qCAAqC,EAAE,MAAM,EAAE,iEAAmE,IAAI,cAAc,IAAI,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,aAAa,EAAE,WAAW,EAAE,yBAAyB,EAAE,MAAM,IAAI,yHAAyH,EAAE,MAAM,IAAI,qCAAqC,EAAE,MAAM,EAAE,gCAAgC,EAAE,MAAM,EAAE,uJAAuJ,EAAE,MAAM,EAAE,MAAM,EAAE,kCAAkC,EAAE,MAAM,EAAE,MAAM,IAAI,6HAA6H,EAAE,MAAM,EAAE,+BAA+B,EAAE,MAAM,IAAI,uKAAuK,EAAE,MAAM,EAAE,MAAM,IAAI,gDAAgD,EAAE,MAAM,IAAI,kDAAkD,gBAAkB,iCAAmC,EAAE,cAAc,EAAE,MAAM,EAAE,2DAA2D,EAAE,4BAA8B,EAAE,cAAc,EAAE,MAAM,EAAE,iEAAiE,EAAE,wBAA0B,GAAG,WAAW,EAAE,iBAAiB,EAAE,MAAM,EAAE,MAAM,EAAE,iEAAiE,EAAE,WAAW,EAAE,yBAA2B,GAAG,eAAe,EAAE,MAAM,EAAE,MAAM,EAAE,2DAA2D,GAAG,wBAA0B,EAAE,aAAa,EAAE,sBAAsB,EAAE,MAAM,EAAE,wCAAwC,EAAE,MAAM,IAAI,4CAA4C,EAAE,aAAa,EAAE,2BAA6B,EAAE,OAAO,IAAI,WAAW,EAAE,qBAAqB,EAAE,OAAO,EAAE,6BAA6B,EAAE,MAAM,EAAE,8BAA8B,EAAE,MAAM,EAAE,0BAA0B,EAAE,MAAM,EAAE,MAAM,EAAE,kCAAkC,EAAE,MAAM,EAAE,MAAM,EAAE,gCAAgC,EAAE,MAAM,IAAI,MAAM,EAAE,6BAA6B,EAAE,MAAM,EAAE,MAAM,EAAE,qDAAqD,EAAE,MAAM,EAAE,MAAM,EAAE,6BAA6B,EAAE,MAAM,IAAI,MAAM,EAAE,mDAAmD,EAAE,eAAe,EAAE,kBAAkB,EAAE,QAAQ,EAAE,KAAK,EAAE,oCAAoC,EAAE,4FAA4F,EAAE,MAAM,KAAK,sBAAsB,EAAE,wDAAwD,EAAE,sCAAwC,KAAK,yBAAyB,EAAE,MAAM,EAAE,MAAM,IAAI,4DAA4D,EAAE,MAAM,EAAE,MAAM,EAAE,8BAA8B,EAAE,MAAM,EAAE,MAAM,EAAE,6BAA6B,EAAE,MAAM,EAAE,MAAM,EAAE,iCAAiC,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,2GAA2G,EAAE,YAAY,EAAE,YAAY,IAAI,6CAA6C,IAAI,uBAAyB,GAAG,eAAe,EAAE,MAAM,EAAE,MAAM,EAAE,+CAA+C,GAAG,6BAA+B,EAAE,mBAAmB,EAAE,MAAM,EAAE,0DAA0D,EAAE,OCC/xkF,iBACf,oCAEA,OADA,OAAW,IACX,aADmB,EAEnB,CCRA,SAA0B,aACX,eACf,kCACA,CCHA,iBAA2C,qBAAgC,iCAAoC,sCAAoD,2BAA6D,wDAAiE,oBAAsC,SAEvU,eAAiC,YAAgB,mBAAsB,KAAO,yCAAuD,yCAA6D,aAA4C,oIAAoK,gEAAmF,EAAK,SAE1e,mBAAoM,EAAxJ,YAAkB,2BAAkC,kDAAoE,EAAY,GAAP,CAAO,GAAoB,EAEpM,iBAAkC,qCAElC,cAA8B,6JAE9B,iBAAkD,MAAgB,qCAAgE,oDAAqH,CAA7D,sDAA6D,0CAAsD,uFAE7S,iBAAuC,oCAAuD,uBAAuC,IAAS,IAAO,UAAoB,SAEzK,iBAAyC,IAAgL,IAAhL,+EAA0G,YAAwB,SAAe,KAAe,KAA4B,IAAM,CAAlB,GAAkB,YAAwB,yBAA4C,gBAAqB,kBAAlC,MAAkC,CAAuC,SAAc,KAAW,KAAY,OAAU,IAAM,+BAAmD,OAAU,cAAsB,UAEnf,eAAgC,6BAOjB,eACf,IAOA,EACA,EACA,EARA,KADA,GASgB,GAThB,wBACA,GACA,OACA,OACA,OACA,OAOA,sBACA,SACI,wDAIJ,CAJsE,EAItE,uBAgBA,GAAW,GAAQ,GACnB,EADmB,CAEnB,IACA,KAEA,SAEI,wDAtBJ,GACA,IACA,MAEA,SACA,KAGA,GACA,OACA,gBACA,CAAO,KAaP,OACA,OACA,UACA,UACA,CACA,CCvEO,SAGA,CAH4B,EAG5B,GAEA,CAF6B,EAE7B,EAGA,CAHiC,EAGjC,eAEP,aACA,QACA,QACO,EALiE,CAKjE,eACP,kBAEA,UAKO,WAP4C,CAO5C,IAL6B,CAK7B,uDACA,QCvBP,MDuBmC,GCvBnC,MAAmD,EAA3B,IAA2B,4EAAsG,iBAAqB,YAAmB,oGAA8H,KAE/T,iBAA4C,YAAgB,WAAkB,KAAO,WAA2B,8BAAwD,kBAAgC,6BAAuD,kCAE/P,mBAAwQ,EAA1M,0BAAsE,WAA8D,qCAAkD,YAAiB,EAAG,EAExQ,iBAAkD,qBAA0C,qDAE5F,iBAA2C,kCAA+D,sEAA6E,0CAAyE,aAAe,qCAAuD,EAAG,qCAA+C,YAAiB,EAAG,WAE5Y,eAAiC,WAA6D,kBAAyC,YAA8C,EAA+L,OAA3G,EAApF,EAAoF,2BAAnD,kBAA8G,KAA9G,EAAqH,wBAAyC,YAEpX,iBAAkD,+CAA0E,SAAe,cAA4B,4EAAmF,aAE1P,eAAwC,cAAuB,kFAAyF,SAExJ,eAAmC,4CAAmrB,OAAnnB,eAAsD,6BAA+D,wBAAmC,sEAA6E,eAAqC,4BAAiD,WAA8B,aAAqB,4CAA0N,OAAhJ,uCAAqD,aAAe,mDAAyE,EAAG,UAA2C,GAEttB,mBAAuX,EAA5U,IAA4U,CAAzS,GAAnC,KAAmC,kBAAyC,GAAP,MAAO,OAAwD,aAAgB,kBAAyE,SAAlD,gBAAoF,IAApF,OAA2I,OAAvD,qBAAuD,IAAsB,sBAEvX,cAAuC,oDAAwE,uBAAxE,SAAkH,KAA1C,UAA0C,sBAA8C,IAAsF,OAAhF,wEAA4E,GAAI,GAAe,SAAY,UAExT,eAAiC,+DAEjC,iBAA2I,OAA1G,wCAA6F,OAAjB,cAAiB,IAAa,KAE3I,eAAiL,OAAnJ,2DAAgG,+CAAmD,GAOjL,mBACA,QAEA,YAEA,cACA,MASA,OAPA,WAKA,yBAHA,kBAGA,GAHqC,QAGrC,EACA,0BACA,CACA,CAEA,YACA,CAAC,YC5Cc,SAAS,GAAC,KACzB,eACA,eAIA,QAHA,kBACA,kBAEA,IAAkB,IAAO,KACzB,mBACA,eACA,gBACA,iBACA,gCACA,gCACA,QAEA,WACA,2BAGA,8BACA,CC5BA,SAAS,GAAO,GAAmC,EAA3B,KAAkC,EAA1C,CAAiD,wEAAwF,iBAAqB,YAAmB,qGAA8H,CAAS,CAAP,CAAO,CAExU,SAAS,GAAe,CAFgT,CAEhT,GAA0B,eAA1B,GAA0B,GAA0C,qDAE5F,SAAS,GAAiB,KAAkB,YAAgB,KAAlC,KAAkC,CAAkB,KAAO,WAA2B,8BAAwD,kBAAgC,6BAAuD,kCAE/P,SAAS,GAAY,OAAmP,EAA1M,QAAgB,GAAiB,eAAqC,GAAiB,GAAiB,CAAvE,CAAuE,EAAlC,CAA8D,iBAA5B,IAA4B,gBAAkD,YAAiB,EAAG,EAQxQ,eAEA,CAFkB,EAElB,SACA,YACA,WAKA,cACA,cACI,GAAe,QAEnB,MACA,MAHmB,OAGnB,GACA,eACA,CAgPA,OA9OE,GAAY,IACd,aADc,MAEd,iBACA,+DACA,eACA,CAAO,CACP,CACA,CAAG,EACH,yBACA,kBACA,kCAEA,CAAG,EACH,oBACA,iBACA,gCAIA,SAJiD,EAIjD,sDACA,CACA,CAAG,EACH,iBACA,kBACA,0CACA,CACA,CAAG,EACH,qBACA,kBACA,yCACA,SAGA,wBACA,4BACA,QACA,KACQ,CAER,oCAEA,iCACA,QAEA,CACA,CACA,CAAG,EACH,iCACA,yBACA,uBACA,yBAEA,qCAEA,CAEA,CAAG,EACH,cACA,kBACA,kCACA,CACA,CAAG,EACH,0BACA,oBAOA,GALA,gBACA,IACA,QAGA,cACA,uBACA,0CAGA,2DACA,EAAQ,UACR,2BACA,+CAGA,iEACA,EAAQ,IACR,0BAGA,YAEA,CAAG,EACH,oCACA,kBACA,oCAEA,MAUA,iCACA,OAGA,QACA,CACA,CACA,CAAG,EACH,mCACA,kBACA,4CAEA,KACA,YAGA,CAAG,EACH,+BACA,kBACA,2CAEA,KACA,kCAGA,yBACA,8BAEA,KACA,QAEA,EAAQ,IAMR,oCAEA,iCACA,sCAGA,CAEA,CAFM,CAEH,CACH,yBACA,iBACA,uCACA,CAEA,CAFM,CAEH,CACH,gBACA,iBACA,qCACA,CAEA,CAFM,CAEH,CACH,uBACA,iBACA,4CACA,CAEA,CAFM,CAEH,CACH,4BACA,iBACA,iDACA,CAEA,CAFM,CAEH,CACH,sBACA,iBACA,2CACA,CAEA,CAFM,CAEH,CACH,cACA,iBACA,mCACA,CAEA,CAFM,CAEH,CACH,+BACA,iBACA,oDACA,CAEA,CAFM,CAEH,CACH,kCACA,iBACA,uDACA,CAEA,CAAG,EACH,oBACA,iBACA,yCACA,CAEA,CAAG,EACH,eACA,iBACA,oCACA,CAEA,CAFM,CAEH,CACH,WACA,kBACA,iCACA,CAEA,CAFM,CAEH,CACH,UACA,iBACA,+BACA,CACA,CAAG,EACH,0BACA,wBACA,sDACA,oCAGA,CAFM,CAEH,CACH,wCACA,kBACA,kCACA,CACA,CAAG,EACH,+BACA,iBACA,mCAEA,CAAG,GAEH,CACA,CAAC,GAID,cACA,gBACI,GAAe,QAEnB,YAFmB,aAEnB,GACA,gBACA,wBACA,CAuJA,OArJE,GAAY,IACd,aADc,KAEd,iBACA,wBAQA,CAPM,CAOH,CACH,yCACA,iBACA,6EACA,CAEA,CAAG,EACH,gBACA,iBACA,sBACA,wBAGA,CAFM,CAEH,CACH,uBACA,iBACA,sBACA,yBAEA,CAAG,EACH,4BACA,wBACA,kCACA,iBAGA,CAFM,CAEH,CACH,sBACA,iBACA,YACA,kCAEA,CAAG,EACH,kBACA,kBACA,gCAKA,CAJM,CAIH,CACH,cACA,iBACA,WAGA,OADA,kGACA,gBACA,kBACA,CAAO,CACP,CACA,CAAG,EACH,qBACA,iBACA,4CAEA,CAAG,EACH,uCACA,kBACA,gCAKA,CAJM,CAIH,CACH,mCACA,iBACA,6IACA,CACA,CAAG,EACH,gCACA,iBACA,4CAEA,CAAG,EACH,+BACA,iBAGA,8DACA,CACA,CAAG,EACH,kCACA,iBACA,4CAEA,CAAG,EACH,iDACA,iBACA,6CAMA,CALM,CAKH,CACH,6DACA,iBACA,iKACA,CACA,CAAG,EACH,oBACA,iBACA,4CACA,CACA,CAAG,EACH,YACA,iBACA,8CAEA,CAAG,EACH,eACA,uBAIA,0CAMA,cACA,CACA,CAAG,EACH,WACA,kBACA,uCACA,sCAEA,CACA,CAAG,EACH,UACA,wBACA,oBACA,qBACA,CACA,CAAG,GAEH,CACA,CAAC,GAED,cACA,gBACI,GAAe,QAEnB,YAFmB,CAEnB,EACA,eACA,CAuDA,OArDE,GAAY,IACd,aADc,CAEd,iBACA,sBACA,CACA,CAAG,EACH,aACA,iBACA,uBAEA,CAAG,EACH,4BACA,iBACA,2BAEA,CAAG,EACH,mCACA,iBACA,oEACA,CACA,CAAG,EACH,6DACA,iBACA,+FACA,CACA,CAAG,EACH,8DACA,iBAMA,gGACA,CAEA,CAFM,CAEH,CACH,yBACA,iBACA,6CACA,6CAKA,CACA,CAAG,EACH,0BACA,iBACA,qCACA,CACA,CAAG,GAEH,CACA,CAAC,GAQD,iBAEA,cACA,gBACI,GAAe,QAEnB,YACA,eACA,CAgBA,OAdE,GAAY,IACd,aADc,CAEd,wBACA,2BACA,aAEA,CAAG,EACH,sBACA,iBACA,qBACA,oDACA,CACA,CAAG,GAEH,CACA,CAAC,GAED,iBACA,UACA,iBACA,gBAEA,SACA,WAEA,iBACA,gBAEA,eACA,gBAEA,kBACA,gBAEA,YACA,gBAEA,MACA,gBAEA,QACA,gBAEA,OACA,gBAEA,cACA,YAEA,CAEO,eACP,MACA,yFAKA,IAAO,GAAQ,QAAuB,aACtC,yKAAiL,GAAQ,0BAAoC,+BAA0C,yBAEvQ,CAKA,CALE,GAKF,eACA,OAAS,GAAO,EAChB,EAgCO,QAjCS,CAiCT,QAGP,IAFA,aAEA,cACA,wCAGA,2CACA,CACO,iBAGP,oCACA,CAEA,eACA,eAEA,qBACA,cACA,cACA,cACA,eAEA,EAEsB,KAAP,GAAO,MACtB,WACsB,KAAP,GAAO,MACtB,KADsB,EACtB,IAEA,WANA,UASA,CCxoBA,CDwoBE,GCxoBF,KAA4B,MAO5B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Q,MAaR,GAZA,mCAEA,CAF4C,GAE5C,kCACA,qDAKA,0CACA,wCAGA,YAEA,4DACA,mCAEA,CAFgD,GAThD,EAWA,iCAEA,GACA,uCAEA,CAGA,yEACA,CAEA,2BACA,CACA,CAAG,EACH,YACA,iBACA,WAuCA,OArCA,eAAuB,GAAc,CACrC,UADqC,MACrC,YAMA,WACA,CAAS,CACT,kCACA,oCAEA,oDAEA,wCACA,CACA,CAAO,EACP,mBAA2B,GAAkB,CAC7C,cAD6C,EAC7C,CACA,uBACO,EACP,gBAAwB,GAAe,CACvC,WADuC,IACvC,oBACA,2CACA,uBACA,iBACA,6CACA,gCAEA,mDACA,CACA,CAAO,EACP,kBACA,4BACA,oCACO,EACP,wBACA,KAQA,CAAG,EACH,sBACA,iBACA,+BACA,CAQA,CAAG,EACH,qBACA,iBASA,0BACA,8BAIA,CAFM,CAEH,CACH,4BACA,iBACA,4BACA,CAQA,CAAG,EACH,iBACA,iBAGA,GAFA,kBAGA,CAHsC,MAGtC,kBAEA,CAOA,CAAG,EACH,kBACA,iBACA,yBAGA,IAAU,IAGV,UAKA,QACA,CACA,CAAG,EACH,eAXyC,mBAYzC,iBAiBA,6DACA,0BAEA,CAEA,CAFM,CAEH,CACH,oBACA,kBACA,WAEA,2BACA,kBACA,2EACA,WACA,CAAW,GACX,EAEA,gCAUA,EARA,EAIA,EAIA,2BAHA,EAJA,4DAQA,CAEA,QACA,CACA,CAAG,EACH,8CACA,iBACA,iBACA,8BACA,iDACA,mBACA,IACA,OAMA,OAJA,GACA,QAGA,CACA,CACA,CAAG,EACH,4BACA,iBACA,uDACA,0GACA,CACA,CAAG,EACH,8BACA,iBACA,mCAEA,KACA,2BAAyC,GAEzC,CACA,CAAG,EACH,UAJ0D,0BAK1D,iBACA,6BACA,iDACA,oBACA,CAIA,CAJM,CAIH,CACH,0BACA,iBACA,sBAA4B,GAAuB,uEACnD,oDACA,mCACA,uBACO,EACP,CAoBA,CAAG,EACH,qBACA,iBACA,iBACA,WACA,gBACA,YACA,8BAEA,CAF8E,EAE9E,GAIA,iCACA,EACA,QAEA,MAGA,QAEA,UAD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ACd,EACA6jD,UAAW,UACX7jD,WAAY,YACd,EACAA,WAAY,gBACd,EACA,CACEwwC,KAAM,CACJzgD,YACE,0MACFsN,KAAM,kBACNy+C,YAAY,EACZiB,eAAgB,8EAChBxhB,MAAO,CACLipB,gBAAiB,CACf3U,MAAO,CACL,CACEW,KAAM,CACJ/U,UAAW,CACTC,kBAAmB,sEACnBI,OAAQ,iEACR97B,WAAY,gBACd,EACA+7B,qBAAsB,SACtB0oB,mBAAmB,EACnBC,cAAc,EACd1kD,WAAY,cACd,EACAA,WAAY,4BACd,EACA,CACEwwC,KAAM,CACJ/U,UAAW,CACTC,kBACE,iFACFI,OAAQ,2EACR97B,WAAY,gBACd,EACA+7B,qBAAsB,kBACtB0oB,mBAAmB,EACnBC,cAAc,EACd1kD,WAAY,cACd,EACAA,WAAY,4BACd,EACA,CACEwwC,KAAM,CACJ/U,UAAW,CACTC,kBACE,iFACFI,OAAQ,2EACR97B,WAAY,gBACd,EACA+7B,qBAAsB,wCACtB0oB,kBAAmB,GACnBC,cAAc,EACd1kD,WAAY,cACd,EACAA,WAAY,4BACd,EACA,CACEwwC,KAAM,CACJ/U,UAAW,CACTC,kBACE,4EACFI,OAAQ,uEACR97B,WAAY,gBACd,EACA+7B,qBAAsB,0CACtB0oB,mBAAmB,EACnBC,cAAc,EACd1kD,WAAY,cACd,EACAA,WAAY,4BACd,EACA,CACEwwC,KAAM,CACJ/U,UAAW,CACTC,kBACE,iFACFI,OAAQ,2EACR97B,WAAY,gBACd,EACA+7B,qBAAsB,yBACtB0oB,mBAAmB,EACnBC,cAAc,EACd1kD,WAAY,cACd,EACAA,WAAY,4BACd,EACA,CACEwwC,KAAM,CACJ/U,UAAW,CACTC,kBAAmB,wEACnBI,OAAQ,kEACR97B,WAAY,gBACd,EACA+7B,qBAAsB,sBACtB0oB,mBAAmB,EACnBC,cAAc,EACd1kD,WAAY,cACd,EACAA,WAAY,4BACd,EACD,CACDA,WAAY,wBACd,EACAA,WAAY,cACd,EACA6jD,UAAW,UACX7jD,WAAY,YACd,EACAA,WAAY,gBACd,EACA,CACEwwC,KAAM,CACJzgD,YAAa,wEACbsN,KAAM,iCACNy+C,YAAY,EACZiB,eAAgB,KAChBxhB,MAAO,CACLipB,gBAAiB,CACf3U,MAAO,CACL,CACEW,KAAM,CACJ/U,UAAW,CACTC,kBAAmB,2EACnBI,OAAQ,qEACR97B,WAAY,gBACd,EACA+7B,qBAAsB,iCACtB0oB,mBAAmB,EACnBC,cAAc,EACd1kD,WAAY,cACd,EACAA,WAAY,4BACd,EACD,CACDA,WAAY,wBACd,EACAA,WAAY,cACd,EACA6jD,UAAW,UACX7jD,WAAY,YACd,EACAA,WAAY,gBACd,EACA,CACEwwC,KAAM,CACJzgD,YACE,oLACFsN,KAAM,iCACNy+C,YAAY,EACZiB,eAAgB,8EAChBxhB,MAAO,CACLipB,gBAAiB,CACf3U,MAAO,CACL,CACEW,KAAM,CACJ/U,UAAW,CACTC,kBAAmB,2EACnBI,OAAQ,qEACR97B,WAAY,gBACd,EACA+7B,qBAAsB,+BACtB0oB,mBAAmB,EACnBC,cAAc,EACd1kD,WAAY,cACd,EACAA,WAAY,4BACd,EACA,CACEwwC,KAAM,CACJ/U,UAAW,CACTC,kBAAmB,2EACnBI,OAAQ,qEACR97B,WAAY,gBACd,EACA+7B,qBAAsB,8BACtB0oB,mBAAmB,EACnBC,cAAc,EACd1kD,WAAY,cACd,EACAA,WAAY,4BACd,EACA,CACEwwC,KAAM,CACJ/U,UAAW,CACTC,kBACE,4EACFI,OAAQ,uEACR97B,WAAY,gBACd,EACA+7B,qBAAsB,+CACtB0oB,mBAAmB,EACnBC,cAAc,EACd1kD,WAAY,cACd,EACAA,WAAY,4BACd,EACA,CACEwwC,KAAM,CACJ/U,UAAW,CACTC,kBAAmB,yEACnBI,OAAQ,oEACR97B,WAAY,gBACd,EACA+7B,qBAAsB,qDACtB0oB,mBAAmB,EACnBC,cAAc,EACd1kD,WAAY,cACd,EACAA,WAAY,4BACd,EACA,CACEwwC,KAAM,CACJ/U,UAAW,CACTC,kBAAmB,gEACnBI,OAAQ,2DACR97B,WAAY,gBACd,EACA+7B,qBAAsB,qCACtB0oB,mBAAmB,EACnBC,cAAc,EACd1kD,WAAY,cACd,EACAA,WAAY,4BACd,EACD,CACDA,WAAY,wBACd,EACAA,WAAY,cACd,EACA6jD,UAAW,UACX7jD,WAAY,YACd,EACAA,WAAY,gBACd,EACA,CACEwwC,KAAM,CACJzgD,YACE,6PACFsN,KAAM,yBACNy+C,YAAY,EACZiB,eAAgB,KAChBxhB,MAAO,CACLipB,gBAAiB,CACf3U,MAAO,CACL,CACEW,KAAM,CACJ/U,UAAW,CACTC,kBACE,iFACFI,OAAQ,2EACR97B,WAAY,gBACd,EACA+7B,qBAAsB,wCACtB0oB,mBAAmB,EACnBC,cAAc,EACd1kD,WAAY,cACd,EACAA,WAAY,4BACd,EACD,CACDA,WAAY,wBACd,EACAA,WAAY,cACd,EACA6jD,UAAW,UACX7jD,WAAY,YACd,EACAA,WAAY,gBACd,EACA,CACEwwC,KAAM,CACJzgD,YAAa,wFACbsN,KAAM,yBACNy+C,YAAY,EACZiB,eAAgB,KAChBxhB,MAAO,CACLipB,gBAAiB,KACjBxkD,WAAY,cACd,EACA6jD,UAAW,UACX7jD,WAAY,YACd,EACAA,WAAY,gBACd,EACA,CACEwwC,KAAM,CACJzgD,YAAa,yFACbsN,KAAM,cACNy+C,YAAY,EACZiB,eAAgB,KAChBxhB,MAAO,CACLipB,gBAAiB,KACjBxkD,WAAY,cACd,EACA6jD,UAAW,UACX7jD,WAAY,YACd,EACAA,WAAY,gBACd,EACA,CACEwwC,KAAM,CACJzgD,YACE,0MACFsN,KAAM,+BACNy+C,YAAY,EACZiB,eAAgB,KAChBxhB,MAAO,CACLipB,gBAAiB,KACjBxkD,WAAY,cACd,EACA6jD,UAAW,SACX7jD,WAAY,YACd,EACAA,WAAY,gBACd,EACA,CACEwwC,KAAM,CACJzgD,YACE,0NACFsN,KAAM,YACNy+C,YAAY,EACZiB,eAAgB,KAChBxhB,MAAO,CACLipB,gBAAiB,KACjBxkD,WAAY,cACd,EACA6jD,UAAW,SACX7jD,WAAY,YACd,EACAA,WAAY,gBACd,EACA,CACEwwC,KAAM,CACJzgD,YACE,iIACFsN,KAAM,4BACNy+C,YAAY,EACZiB,eAAgB,KAChBxhB,MAAO,CACLipB,gBAAiB,KACjBxkD,WAAY,cACd,EACA6jD,UAAW,SACX7jD,WAAY,YACd,EACAA,WAAY,gBACd,EACA,CACEwwC,KAAM,CACJzgD,YACE,iQACFsN,KAAM,qCACNy+C,WAAY,GACZiB,eAAgB,uDAChBxhB,MAAO,CACLipB,gBAAiB,CACf3U,MAAO,CACL,CACEW,KAAM,CACJ/U,UAAW,CACTC,kBAAmB,oEACnBI,OAAQ,+DACR97B,WAAY,gBACd,EACA+7B,qBAAsB,uCACtB0oB,mBAAmB,EACnBC,cAAc,EACd1kD,WAAY,cACd,EACAA,WAAY,4BACd,EACD,CACDA,WAAY,wBACd,EACAA,WAAY,cACd,EACA6jD,UAAW,QACX7jD,WAAY,YACd,EACAA,WAAY,gBACd,EACA,CACEwwC,KAAM,CACJzgD,YACE,8OACFsN,KAAM,gBACNy+C,YAAY,EACZiB,eAAgB,KAChBxhB,MAAO,CACLipB,gBAAiB,KACjBxkD,WAAY,cACd,EACA6jD,UAAW,QACX7jD,WAAY,YACd,EACAA,WAAY,gBACd,EACA,CACEwwC,KAAM,CACJzgD,YACE,wIACFsN,KAAM,QACNy+C,YAAY,EACZiB,eAAgB,KAChBxhB,MAAO,CACLipB,gBAAiB,KACjBxkD,WAAY,cACd,EACA6jD,UAAW,SACX7jD,WAAY,YACd,EACAA,WAAY,gBACd,EACA,CACEwwC,KAAM,CACJzgD,YACE,kGACFsN,KAAM,kBACNy+C,YAAY,EACZiB,eAAgB,KAChBxhB,MAAO,CACLipB,gBAAiB,KACjBxkD,WAAY,cACd,EACA6jD,UAAW,QACX7jD,WAAY,YACd,EACAA,WAAY,gBACd,EACA,CACEwwC,KAAM,CACJzgD,YACE,0HACFsN,KAAM,wCACNy+C,WAAY,GACZiB,eAAgB,KAChBxhB,MAAO,CACLipB,gBAAiB,KACjBxkD,WAAY,cACd,EACA6jD,UAAW,QACX7jD,WAAY,YACd,EACAA,WAAY,gBACd,EACA,CACEwwC,KAAM,CACJzgD,YACE,gHACFsN,KAAM,YACNy+C,YAAY,EACZiB,eAAgB,KAChBxhB,MAAO,CACLipB,gBAAiB,KACjBxkD,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1kE,mBAAoB,EACtB,GAAG,qCAP8I,yBCiNjJ,gBACA,MACA,IACA,KACA,CAAI,SACJ,MACA,CAsBA,MArBA,CACA,YACA,MACA,SACA,SACA,KAEA,uCAEA,uCACA,qBACA,UAEA,IACA,CAAK,CACL,yBACA,EACA,6CAEA,6BACA,CAEA,CACA,aACA,IACA,WACA,wBACA,SAEA,OACA,QACA,QAEA,SACA,YAEA,CACA,CAAI,SACJ,OACA,QACA,YACO,CACP,SACA,OAEA,CACA,CACA,EACA,mBACA,IAeA,EA4CA,EA3DA,GACA,4BACA,yBACA,uBACA,gBACA,UACA,eACA,KACA,KACA,CAAK,CACL,MAEA,KACA,UACA,UAEA,IACA,gBACA,CAAI,SACJ,CACA,MACA,SACA,SACA,aACA,uDAAiE,OAAa,iDAE9E,OACA,CAAO,CACP,EACA,GAGA,qBACA,WAEA,EACA,SAAyC,MAFzC,cAAuC,OAAU,EAER,kBAAiC,OAC1E,wBACA,UACA,GACA,CAAK,EACL,KACA,QAEA,QACA,EACA,YACA,oBACA,OACA,GACA,EACA,QACA,SACA,QACA,GACA,CAAK,CACL,EACA,GAGA,OACA,MACA,aACA,KACA,qBACA,oEACA,6CACA,KACA,uBAEA,CAAK,WACL,MACA,qDAWA,eAVA,aACA,iBACA,QACA,WAGA,cACA,wFAKA,CACA,CAAK,WACL,MAMA,OADA,EAJA,UACA,EACA,mBAEA,IACA,GACA,CAAK,YACL,qBACA,KACA,kBACA,CAAK,YACL,oBACA,CAAK,CACL,EA+BA,OA9BA,WACA,eACA,GACA,KACA,MAEA,cACA,kBAEA,CAAK,CACL,kBACA,6BACA,CAAK,CACL,iBACA,kBACA,kBACA,cACA,SACA,KACA,WACA,GAEA,sBACA,SACA,KACA,WACA,EAEA,EACA,IACA,IACA,EACA,mBACA,IA+CA,EA/CA,GACA,4BACA,gBACA,UACA,eACA,KACA,KACK,EACL,MAEA,KACA,UACA,UACA,YACA,MACA,SACA,SACA,aACA,uDAAiE,OAAa,iDAE9E,OACA,CAAO,CACP,EACA,GAGA,WACA,oBA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EA,OACA,UACA,WACA,YACA,YACA,YACA,YACA,cACA,eACA,eACA,cACA,aACA,cACA,cACA,YACA,UACA,QACA,SACA,YACA,CAD6B,CAC7B,qBACA,IACA,CAEA,CAIA,cACA,WACA,qFACA,WACA,CAMA,kBAEA,EACA,OAFA,mBAEA,eACA,cACA,YACA,WACA,IACA,KACA,YACA,gBACA,IACA,KACA,cACA,YACA,WACA,IACA,KACA,SACA,aACA,WACA,MACA,CACA,gBACA,iBACA,8BACA,CAmCA,qBACA,SAA6B,UAAsC,WAAsC,WACzG,aACA,CAKA,kBACA,iBACA,gBACA,qBACA,MACA,sBACA,GAEA,gBAEA,CADA,YACA,GACA,sBACA,GAEA,gBACA,aACA,GACA,MACA,UAA2B,gBAE3B,GAEA,CACA,CAUA,kBACA,mBAEA,OADA,aACA,IAEA,6BACA,mBAEA,OADA,aACA,IAEA,6BACA,gBAEA,OADA,aACA,GAGA,CACA,CAGA,cACA,mCACA,qBACA,aACA,yBACA,wCACA,6DAEA,mCACA,wBACA,CAKA,gBACA,kBACA,6CACA,kBACA,iCAEA,OADA,0BACA,sBACA,CAIA,cACA,0CACA,oBACA,CACA,CAMA,gBACA,sBACA,8BACA,MACA,+BACA,sBAKA,OAJA,gBACA,iBACA,+BACA,+BACA,aAEA,CACA,QACA,CAIA,OAHA,gBACA,iBACA,+BACA,kCACA,CAIA,cACA,mCACA,kBACA,mCACA,8CACA,CACA,QACA,CAEA,gBACA,4BACA,8BACA,kBACA,iBACA,MACA,gCAEA,+BACA,gCAEA,kCACA,CAEA,cACA,0CACA,mEACA,CACA,CAGA,cACA,gCACA,CAEA,cACA,mCACA,CA1NA,eAAqB,GA6BrB,kCAEA,EACA,EAFA,yBAGA,kBAEA,YADA,qBACA,SACA,gBACA,eACA,EAAI,IACJ,WAEA,6CACA,KACA,EAEA,kBAGA,mBAGA,iCACA,2BAEA,OADA,mEACA,uDAEA,8DACA,0CCpIA,MAAa,EAAQ,IAAQ,EAC7B,WAGA,gBACA,eACA,UAWA,kBACA,eACA,CAVA,kDACA,aAGA,OACE,QAAc,IAOhB,uCAGA,OAEA,uBACA,sBACA,iDAEA,eACA,EAEA,wBACA,sBACA,6CAEA,WAUA,OATA,WACA,mBACA,YAEA,UAGA,UAEA,CACA,EAEA,0BACA,sBACA,6CAEA,WACA,EAEA,8BACA,sBACA,6CAEA,sBACA,gCC9DA,EAA6C,CAC7C,QACA,CAAC,CACD,GAAe,QAEf,QAAwB,EAAQ,KAAmB,EAEnD,EAAgB,EAAQ,KAAU,CAFH,CAI/B,UAFuB,CAEvB,KACA,8BACA,QAEA,yBACA,WACA,6BACA,CAEA,UACA,CAAG,IACH,CAeA,MAbA,WACA,0CAAwE,IAAa,IACrF,kBAGA,mBACA,4BAGA,cADA,qDACA,yBACA,CACA,EAGA,GAAe,6ZCgkBf,MAtmBA,YACA,QAqmBe,CArmBf,aACA,uGAA0K,IAAM,EAIhL,GAHA,kBACA,8DAEA,aACA,wDACA,UACA,QACA,OACA,QACA,QACA,QACA,KAEA,SACA,cACA,CAEA,IACA,CAEA,UACA,SAKA,IAHA,EADA,aACA,cACA,IAEA,MAA0B,IAAM,EAChC,0BACA,SACA,IACA,KAEA,UACA,IACA,KAEA,SACA,4BACA,QACA,QACA,GACA,UAAwC,IAAO,IAC/C,wBACA,QACA,4CACA,MACA,OACA,CAEA,KAEA,SACA,WACA,MACA,OACA,CAEA,CAGA,GACA,CAEA,CAEA,KAEA,SACA,GAEA,SACA,GAEA,SACA,QACA,KAAyB,2BAAiC,EAG1D,CAEA,cACA,IACA,CAKA,GAHA,mBACA,oDAGA,KADA,GAKA,OAHA,yBACA,mBAGA,SACA,SACA,SACA,QACA,IACA,KAEA,SACA,GACA,CAKA,GAFA,EADA,mBACA,OACA,0GACA,cACA,SACA,gBAEA,UACA,SACA,QACA,MAA8B,MAAU,EACxC,KAEA,UAEA,GADA,wBACA,EAA8B,MAAU,EACxC,qDACA,KAEA,SACA,0BACA,EAAkB,cAIlB,wBAGA,KACA,YACA,KACA,oBACA,KAEA,UACA,QAEA,SADA,kCACA,iOACA,OACA,KAEA,SACA,oBACA,iBACA,KACA,CAEA,QACA,qDACA,CACA,UACA,KACA,mBACA,CACA,CAEA,UACA,QACA,QACA,uDACA,qCACA,IACA,IACA,KAEA,SACA,SACA,gBACA,IACA,KACA,CAEA,QAIA,OAHA,IACA,cAEA,GACA,OACA,QACA,uBACA,QACA,QACA,OACA,QACA,KACA,KAEA,SACA,eACA,CACA,KAEA,QACA,QACA,KAEA,SACA,QACA,KAEA,SACA,QACA,KAEA,SACA,4BACA,KAEA,UACA,gCACA,OACA,sCAEA,QACA,cACA,CACA,KAEA,SACA,iBACA,KAEA,SACA,2BACA,KAEA,SACA,QACA,6BACA,KAEA,SACA,eACA,KAEA,SACA,eACA,KAEA,SACA,eACA,KAEA,SACA,YACA,iBACA,KAIA,OAEA,KAGA,KAEA,SACA,uBACA,KAEA,SACA,QACA,wBACA,OACA,gCACA,SACA,KACA,KAEA,UACA,QACA,CAEA,KAEA,SACA,mFACA,CACA,CAEA,aACA,CAEA,IACA,IACA,GACA,CAIA,KAFA,aAEA,CAEA,GADA,IACA,wEAGA,GAFA,gBAA0B,MAAU,EAEpC,QAGA,OAFA,qBAEA,GACA,SACA,4BACA,KAEA,UACA,2FACA,CAEA,GACA,CACA,CAEA,YACA,CAEA,kBACA,wBACA,IACA,eACA,WAEA,UACA,OACA,OACA,QAEA,wBAA4C,IAAO,IACnD,wBAGA,KAEA,SACA,UAEA,SAAqB,IAAO,IAC5B,YAA0B,IAAO,IACjC,gCAIA,CAEA,QACA,CAEA,kBACA,sBAGA,OAFA,qCAEA,GACA,QACA,iCAEA,SACA,0CAEA,SACA,uFACA,CAEA,UACA,CAEA,oBACA,UAAkB,EAClB,cAEA,YACA,qBACA,uCAEA,OADA,8BAA2C,EAC3C,qCACA,CAEA,kCAEA,UACA,UACA,6CAEA,UACA,6CAEA,UACA,6CAEA,WACA,8BAEA,UACA,SACA,oBAEA,UACA,8BAEA,WACA,SACA,uCAEA,UACA,6CACA,qEACA,KAEA,UACA,gDACA,SACA,6FAEA,UACA,0DAEA,SACA,+DACA,CACA,6BAEA,UACA,kCAEA,WACA,8BAEA,yBADA,0FACA,gCAEA,WACA,mEAEA,UAIA,OAFA,GADA,0BACA,eAEA,iCACA,SACA,oBACA,KAEA,UACA,uBACA,KAEA,UACA,oBACA,KAEA,SACA,QACA,CAEA,6BAEA,WACA,mCAEA,UAIA,OAHA,kBAGA,EAFA,mFAEA,mCACA,SACA,4BAEA,UACA,8BAAiD,IACjD,KAEA,UACA,SACA,uDAAkF,8BAAqC,gCAAyC,GAChK,CAEA,WAAqB,CAErB,UACA,gDACA,SACA,6EAEA,UACA,qDAEA,SACA,qFACA,CACA,KAEA,UACA,SACA,oDAEA,UACA,SACA,2OACA,KAEA,UACA,wJAAiM,oCACjM,CAEA,QACA,CAEA,gBACA,4BAAwC,GACxC,4BAEA,OADA,8BACA,gCACA,CAEA,gBACA,2DACA,eAAuB,gDACvB,CAEA,gCACA,kBAA8B,IAAO,IACrC,2CACA,YACA,OACA,OACA,UACA,KAEA,SACA,GACA,CAGA,iBACA,CAEA,cACA,UACA,YACA,UACA,aACA,KAEA,SACA,iCAAgD,kDAA8D,IAAO,IACrH,aACU,OACV,CAEA,QACA,CAEA,cAGA,OADA,SADA,cACA,kDACA,CACA,CAEA,gBACA,QAKA,GAJA,iCAEA,GADA,IACA,CAEA,KACA,6BACA,sCACA,CAEA,mBAKA,OAJA,wDACA,KACA,IACA,MACA,CACA,CAEA,cACA,cACA,SACA,YACA,wBACA,WACA,sBACA,uBACA,eACA,kBACA,mBAA2B,EAAE,EAC7B,oBACA,cAAuB,GACvB,iBACA,gCACA,qCACA,wBACA,IACA,IACA,IACA,IACA,KACA,KACA,IACA,OACA,IACA,KAIA,OAHA,QACA,QACA,iBACA,CACA,ECnjBA,EAjDA,CACA,qBAgDe,GAhDf,EACA,OA+C2B,EAAC,SA/C5B,EACA,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,UACA,SACA,SACA,OACA,kBAEA,cACA,eACA,cACA,kBACA,mBACA,mBACA,gB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,WAAiB,GAKjB,UACA,iCACA,mBAWA,eAAqB,GAKrB,UACA,iCACA,8BACA,wCAWA,YAAkB,GAGlB,qEACA,cACA,yCACA,CACA,qBACA,aAIA,oBACA,qBAGA,UACA,KACA,eACA,CAGA,cACA,qCACA,CAGA,cACA,oCACA,CAGA,cACA,oCACA,CAGA,cACA,iCACA,CAGA,cACA,0CACA,CAGA,cACA,aACA,CAGA,cACA,aACA,CAGA,cACA,aACA,CAGA,cACA,gBACA,CAGA,eACA,gBACA,CAGA,eACA,OACA,MACA,MACA,MACA,MACA,KAEA,CAGA,eACA,sCACA,OACA,KAEA,CApEA,qBAA2B,GAK3B,iBAAuB,GAKvB,eAAqB,GAKrB,eAAqB,GAKrB,mBAAyB,GAKzB,6BAAmC,GAKnC,gBAAsB,GAKtB,gBAAsB,GAKtB,iBAAuB,GAKvB,gBAAsB,GAKtB,gBAAsB,IAWtB,kBAAwB,IAQxB,kBAAwB,IAExB,uEACA,2BACA,cACA,iBACA,8CACA,CACA,CAAG,CACH,CAAC,kCCxTD,oCACA,YAGA,QAFA,iBACA,KACA,IAAoB,WAAiB,IACrC,gDAEA,QACA,EAEA,aACA,QAAc,aACd,UAEA,QADA,KACA,IAAoB,mBAAsB,IAC1C,wBAEA,kBACA,CAqBA,QAnBA,IACA,YACA,WACA,kCACA,sBACA,iBACA,UACA,8BACA,+BACA,UACA,IACA,6BACA,CAAU,SACV,kBACA,CACA,QACA,QACA,CACA,CAAG,EACH,OAAwB,IAAS,SACjC,YACA,SAEA,YAGA,QACA,EAMA,WAAiB,eACjB,GAAoB,SAAP,GAAkC,IAA3B,CAAoB,EAAO,cAC/C,SAIA,QAAoB,IAAP,EACb,KADoB,EACpB,WACA,6CACA,EAGA,SAeA,OAdA,WACA,OACA,GAAU,EAAO,iBACjB,eACiB,EAAO,iBACxB,iBAEA,iBAEA,IACA,CACA,8BACA,CAGA,EAGA,SACA,OAmCA,gBAEA,OACA,QACA,SACA,EAiBA,OAfA,4CACA,6CACA,KAEA,eACI,GAEJ,eAGA,mCACA,wBACA,2BACA,yCACA,wBACA,cACA,CAmCA,gBACA,yBAEA,EACA,6BACA,2BAEA,CAEA,CAGA,gBACA,QACA,CAGA,cACA,SAMA,OAJA,wBACA,OACA,CAAG,EAEH,CACA,CAGA,kBAGA,oBACA,GACA,cAEA,uBAEA,+CACA,IAwFA,EAxFA,iBAIA,OAHA,MACA,aAEA,CACA,CAGA,aACA,KACA,SAIA,qBACA,OAQA,GANA,cACA,kCAKA,MACA,uDACA,YAIA,iBACA,SACA,4BACA,6CACA,CACA,QACA,6DAEA,QACA,yDAEA,QACA,WAEA,CAEA,mBAA4C,IAAK,SA6BjD,CA1BA,OACA,KACA,aAIA,MAEA,gBADA,wBACA,KAIA,MACA,0CAIA,MACA,2CAIA,MACA,aAGA,8BAIA,IACA,KACA,sDAEA,iCAIA,eAIA,EADA,EACA,aAEA,kBACA,qBACA,CAAK,EAGL,aAEA,UAxBA,WAyBA,CAGA,gBACA,QACA,0CACA,SACA,iDACA,oBACA,wBACA,4BACA,QACA,KACA,yBACA,KACA,0BAEA,KACA,+BACA,CAGA,cACA,8CACA,CAGA,sBAEA,QADA,KACA,eAAoC,IAAO,IAC3C,eACA,iBACA,eAEA,WASA,OANA,sBACA,kBACA,iBACA,MAEA,CAAG,EACH,CACA,CAGA,wBACA,UAsCA,GApCA,CADA,yCAA0D,aAC1D,IAEA,EADA,MACA,uCAEA,gCAGA,OACA,oCAGA,QACA,cAEA,KACA,0BAMA,CAJA,EADA,KACA,kBAEA,kBAEA,mBAEA,EADA,EACA,8BACA,YACA,CAAW,sBAEX,mCACA,aACA,CAAW,cAIX,qCAGA,MACA,uBACA,SAEA,yBACA,uCACA,gBACA,wBAEA,wBACA,oBACA,wBACA,wBAEA,CAEA,eACA,CAGA,kBACA,eACA,uBAGA,OAFA,IACA,wBACA,0CACA,CAAG,IAEH,GACA,KACA,oBACA,IACA,gBACA,IACA,KAGA,iCAQA,cACA,uBACA,CAGA,cACA,yBACA,CAGA,cACA,eACA,CAGA,cACA,cACA,CAGA,cACA,wBACA,CAGA,cACA,wBACA,CAGA,cACA,wBACA,CAGA,cACA,iBACA,CAGA,cACA,qCACA,CAIA,cACA,kCACA,CAGA,cAC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ACA,IAAyB,mBAAuB,IAChD,kBAEA,2BACA,CAAK,KACL,GAEA,wBACA,iBACA,EAA4B,QAA2B,cACvD,uBAAgD,QAAkB,WAElE,OADA,KACA,wBACA,MAKA,aACA,iBACA,GACA,CAAa,CACb,iBACA,EAAwB,QAAa,0CACrC,CAAa,CACb,oBACA,EAAwB,QAAa,uBACrC,CACA,CAAS,CACT,CAAK,CACL,mGE/IO,EAMP,yDDNA,KASO,EAJQ,EADf,oBACoB,EAKpB,gBAKA,SAGA,0BACA,GAGA,UACA,KAEA,yBAA4C,IAAS,YAgBrD,MAAiB,UAAc,EAC/B,MAAoB,sBAAwC,CACnD,qBAiDT,OA7CY,IAAkB,CAKlB,iBAAqB,YACjC,iBAAsC,sBAAwC,EAK9E,MAEA,GAAkC,OAAY,CAI9C,CAAa,UAGb,iBAAkC,sBAAwC,EAElE,WAAe,YAQvB,OALA,MAEA,GAA8B,OAAY,EAG1C,aAOA,MAEA,GAAkC,OAAY,CAE9C,CAAa,CAGb,CAAS,MACT,CACA,CAAK,CACL,cACA,8BACA,IACA,cACA,CACA,SACA,QACA,CACA,2FC/FO,cACP,MACA,UACA,aACA,UACA,KACA,iBACA,aACA,KACA,qBACA,gBAEA,CACA,QACA,CAEO,cACP,GACA,OAAoB,GAAoB,CAAC,GAAU,eAEnD,IAGA,MAHA,WACA,KACA,SAEI,QAAS,qBAKb,QAJA,KACA,KACA,KACA,KACA,oBAAgD,WAAgB,KAChE,WACA,kCACA,UACA,QACA,CACA,kCACA,oBACA,YACA,UACA,KACA,gBACA,UACA,KACA,oBACA,SAEA,CAEA,CACI,QAAS,YACb,UACA,UACA,aACI,QAAS,CACb,8BACA,GACA,EACA,SACA,SACA,UAEA,8BACA,oBACA,mBACA,iBACA,WACA,EACI,QAAS,6BACb,WACA,4BAOA,OAAoB,KALpB,EADA,6BACA,aAGA,OAEoB,CAFG,IAEH,eAEpB,OADA,WACA,CACA,CAOO,gBACP,WACA,OACA,YACI,QAAS,CACb,WACA,GACA,EACA,EACA,EAEA,EAvGA,YACA,qBACA,2BACA,kCACA,CAAC,UAAoC,EAkFrC,wBAC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8BAE3B,OADA,QACA,CACA,EACA,CACA,EAYO,gBAQP,UAAoB,GAAW,MAM/B,OALA,oBACA,MAAkB,GAAW,8BAE7B,OADA,QACA,CACA,EACA,CACA,qGCjEA,KACO,gBACP,MACA,CAKO,8BACP,EACA,OAKO,0BACP,EACA,OAKO,0BACP,EACA,OACA,aAkBA,yCAhBA,CACA,WACA,uBACA,UACA,8BACA,mCACA,8CACA,iCACA,8BACA,2CACA,mCACA,yDACA,wCACA,wCACA,2CACA,GACA,gBACA,kBACA,OACA,EACY,GAAU,OACtB,CACK,EACL,CACA,aACA,cACA,8BACA,kDACA,OACA,WACA,MAAe,QAAQ,EAAG,+NAC1B,sDACA,yDACA,EAAe,2EACf,CACA,CACA,aACA,OACA,OACA,6CACA,CAAS,CAET,CACA,aACA,4BACA,MAAW,QAAQ,CAAC,QAAQ,GAAG,iBAAiD,yEAChF,4DACA,oEACA,+CACA,CAAS,mBACT,4DACA,kCACA,uCACA,EAAW,CACX,CACA,cACA,yBACA,CACA,cACA,yBACA,CACA,cACA,cACA,CACA,cACA,4BAAkE,OAAU,QAAc,CAAI,CAC9F,CACA,cACA,SACQ,QAAa,CAAC,QAAa,EACnC,gCACA,sEACA,GAEA,cACA,MACA,SACQ,QAAa,CAAC,QAAa,EACnC,4EACA,sEACA,2EC3GA,iCAuBO,EAAiB,QAAQ,GAAG,CAAE,IAAM,4DCxBpC,oBACA,cACP,mCACA,8GCHA,EAAmE,eAA/C,QAAK,YAAe,yBAA2B,EAC5D,8BACP,6BACO,6BACA,2DACA,0BACA,oBAAuB,QAAK,YAAe,qCAAuC,EACzF,EASA,QAAK,YAAe,+CAAmD,MAOhE,2CCpBA,aAEP,QADA,KACA,IAAqB,mBAAuB,IAC5C,kBAFA,IAIA,sBAWA,OAVA,sBACA,GAEA,mCACA,gBACA,OACA,QAEA,CAAS,CACT,CAAK,EACL,CACA,iECrBA,cAGO,cACP,kBAEA,OADA,aACA,0EACA,gECNA,cACA,mBASA,OARA,sBACY,OAAe,eAC3B,kDACoB,OAAe,QACnC,WACA,CAAa,CAEb,CAAK,EACL,CACA,CACA,cACA,gDACA,IACA,gBACA,CACA,SAIA,0BACA,WACA,QACA,CAEA,QACA,CACO,cAIP,MAHA,yBACA,KAEA,CACA,2EChCO,gBACP,MAAW,OAAO,mBAClB,UAAmB,OAAO,CAAC,QAAQ,CAAC,QAAQ,GAAG,8BAC/C,CAAK,CACL,gCCNO,cACP,mCACA,gFCDO,gBACP,aAA4B,KAC5B,MAAkB,OAAY,wBAC9B,sCACA,qBACA,CAAK,IACL,yBACA,mBACA,4FCRA,wBACA,mDAEA,OADA,cACA,CACA,EAAE,EACF,cAEA,cACA,aAAkC,KAClC,qCACA,sEACA,SAIA,OAHA,gBACA,SACA,iBACA,CACA,CACA,MAXI,QAAS,MAWb,CACA,CAAC,QAEM,SAAS,EAAS,KACzB,MACA,cAEA,CACA,8CACA,mBACA,cACA,kBACA,mBAIA,OADA,yBACA,wBAEA,CACA,EACA,YACA,mBACA,eACA,iBACA,kBACA,CAAC,CAAE,GAAc,GAAS,aAAd,GAAc,IC3CnB,cACP,IACA,UACA,CACA,UACA,CCJA,MAAgB,EAAK,WAAe,kBAAoB,GACpD,EAAK,WAAe,cAAgB,GACpC,EAAK,WAAe,YAAc,GAClC,EAAK,WAAe,cAAgB,GAMxC,EAAK,WACL,OAAW,EAAK,4BAChB,CAAC,CAAC,EAAE,cCRJ,cACA,mBAEA,QADA,KACA,IAAyB,mBAAuB,IAChD,oBAEA,uBACA,QACA,WAEA,SACA,KAEA,CACA,6BACA,CACA,CACA,IAAI,EAAS,4BAEb,QADA,KACA,IAAqB,mBAAuB,IAC5C,oBAEA,GACQ,EAAiB,kBAExB,EACD,QAAgB,EAAiB,OACjC,MAAc,EAAiB,EADE,CACF,EAC/B,OAAe,EAAiB,GADD,CACC,EAChC,QAAgB,EAAiB,CADD,IACC,CACjC,CAAC,EAWD,QAZiC,CAYjC,KAEA,QADA,KACA,IAAqB,mBAAuB,IAC5C,oBAEA,WAAe,EAAc,QAC7B,IAD6B,GAE7B,CACA,8CAA0E,GAAO,EACjF,cACA,sBACA,SAEA,IACA,MAAe,OAAmB,kBAClC,CACA,SACA,0BACA,CACA,CACA,gBAEA,GADA,aAAkC,MAClC,EAEA,OAAY,CAAM,KACV,CAAM,eACd,CACA,gBAEA,GADA,aAAkC,MAClC,EAEA,+IACA,QAAiB,GAAO,CACxB,UACA,aACA,CAAK,GACL,CCtEO,kECXA,6CCAP,gBACA,oCACA,uBAAgC,IAAO,cACvC,QACA,gDCJA,gBACA,yEACA,gFCDA,gBACA,YAAkB,WAAc,KAChC,WACA,qGAAwH,OAAa,UACrI,CACA,CACA,kBACA,0EACA,WACA,CAAG,GACH,gECVA,kBACA,SAAc,OAAa,oCAC3B,QACA,cACA,gBACA,WACA,CAAG,UACH,gCCRA,cACA,4BACA,CCFA,gBACA,mFACA,YACA,MACA,EACA,EACA,EACA,KACA,KACA,KACA,IACA,+BACA,wBACA,IACA,EAAQ,SAAY,wDAAkE,MACtF,CAAM,SACN,QACA,EAAM,OACN,IACA,0DACA,EAAQ,OACR,YACA,CACA,CACA,QACA,CACA,iCC1BA,aACA,4JACA,CCEA,gBACA,OAAS,EAAc,IAAO,EAAoB,MAAU,CAArC,EAAqC,IAA0B,MAApC,CAA8C,GAChG,aAD+G,mDCJ/G,gBACA,aAAkB,OAAO,iBACzB,4BACA,eACA,6BACA,aAAoB,OAAO,YAC3B,gEACA,CACA,qCACA,CCRA,cACA,MAAU,EAAW,YACrB,gBAAqB,OAAO,UAC5B,gCCLA,cAGA,iFACA,eACA,EAAI,YACJ,mGACA,GAAG,EACH,gFCPA,gBACA,MACA,4BAAqC,OAAgB,MACrD,UAAc,8BACd,iKAA+L,OAAgB,YAC/M,CACA,gCCDA,cAaA,OATA,EADA,4DACA,YACA,eACA,EAEA,YACA,mGACA,GAGA,EACA,CAEA,gBACA,qBACA,oDAEA,CAEA,gBACA,YAAkB,WAAkB,KACpC,WACA,8BACA,kBACA,6BACA,gCACA,CACA,CAEA,kBAGA,OAFA,oBACA,UACA,CACA,CAEA,gBACA,kCACA,qEAGA,2CACA,aACA,QACA,YACA,eACA,CACA,CAAG,EACH,SACA,CAEA,cAIA,MAHA,2DACA,4CACA,GACA,EACA,CAEA,gBAMA,MALA,wCAEA,OADA,cACA,CACA,GAEA,IACA,CAEA,aACA,oDACA,uBADA,SAEA,qCAEA,IAEA,OADA,wEAAgF,GAChF,EACA,CAAI,SACJ,QACA,CACA,CAEA,cACA,cACA,kFAGA,QACA,CAEA,gBACA,iDACA,SACI,cACJ,4EAGA,WACA,CAEA,cACA,UAEA,kBACA,IACA,EADA,OAWA,OALA,EAHA,EAGA,8BAFA,qBAIA,wBAGA,SACA,CACA,CAEA,gBACA,iDAEA,OADA,WAIA,QACA,CAEA,aAkBA,OAhBA,EADA,yCACA,YAEA,gBACA,aAEA,MACA,kDAEA,MACA,mCAGA,QACA,GAGA,qBACA,mBAEA,OAUA,cAOA,UAOA,UAWA,UAOA,OAOA,YAOA,cAOA,YAUA,SAOA,kBAOA,kBAWA,YAOA,cAOA,cAOA,sBAOA,UAOA,mBAOA,wDAOA,qBAOA,YAWA,gBAcA,OAOA,eAWA,cAAiB,CAQjB,SACA,6BACA,2BACA,WACA,iBACA,gBACA,CAAK,CACL,MACA,uBACA,0BACA,CAAK,CACL,OACA,4BACA,6BACA,CAAK,CACL,OACA,iCACA,CAAK,CACL,KACA,8BACA,CACA,CACA,EAQA,cACA,yCACA,CASA,cACA,kBACA,CASA,cACA,oBACA,CAQA,cACA,wBACA,CAUA,cACA,WAEA,uCACA,CAQA,KAT8D,IAS9D,KACA,0BACA,CAQA,cACA,iBACA,CAQA,cACA,4BACA,CAYA,kBACA,SAEA,eACA,QACA,iBAEA,kCAIA,eACA,eACA,aAIA,QACA,CAUA,kBACA,4BACA,CAQA,cACA,kDAEA,OADA,UACA,MACA,CAAG,GAAI,CACP,CASA,gBACA,sBAAgC,MAkChC,OA5BA,CANuD,CAMvD,4BACA,0BAAsC,sBAEtC,uCACA,qCAAkD,2CAGlD,kCACA,gCAA6C,iCAG7C,mCACA,iCAA8C,mCAG9C,mCACA,iCAA8C,mCAG9C,iCACA,+BAA4C,gCAI5C,iCACA,+BAA0C,+BAG1C,CACA,CAEA,iBAMA,aACA,gEAEA,UAEA,cACA,yBACA,CAgEA,OAvDA,MACA,SACA,oBACA,SACA,YAAwB,WAAkB,IAC1C,gBAGA,MACA,CAGA,CAHQ,GAGR,0BACA,oBAIA,+BAEA,CAFwD,KAExD,CACA,kBACA,yBAEA,CACA,CAQA,CAAG,EACH,WACA,oBACA,SACA,YAAwB,WAAkB,IAC1C,kBAGA,MACA,CAGA,CAHQ,GAGR,0BAKA,mCACA,OAA0B,CAC1B,CAAO,CACP,CACA,CAAG,GAEH,CACA,CAAC,GAED,aAOA,cACA,gEAEA,UAEA,WACA,WACA,cACA,iBACA,gBACA,qBACA,iCAwRA,OA9QA,MACA,YACA,iBACA,gEAYA,OAVA,6BAEA,KACA,0BAEA,+CAGA,4BAEA,KASA,CAAG,EACH,aACA,iBACA,gEAQA,OANA,KACA,UAEA,+CAGA,KASA,CAAG,EACH,aACA,iBACA,gEASA,OARA,iCAEA,6BACA,uBAGA,uBAEA,KAgBA,CAAG,EACH,SACA,kBAGA,OAFA,oBAEA,KASA,CAAG,EACH,WACA,kBAKA,OAJA,6BAEA,qBAEA,KAQA,CAAG,EACH,cACA,iBAGA,OAFA,wBAEA,KASA,CAAG,EACH,WACA,iBACA,8DAQA,OANA,GACA,2BAGA,qBAEA,IACA,CAOA,CAAG,EACH,YACA,iBAGA,OAFA,sBAEA,KAQA,CAAG,EACH,cACA,iBAEA,OADA,iBACA,KAQA,CAAG,EACH,aACA,iBAEA,OADA,iBACA,KAUA,CAAG,EACH,SACA,oBAGA,OAFA,gBAEA,KASA,CAAG,EACH,aACA,kBACA,6BACA,CAOA,CAAG,EACH,eACA,eACA,gBASA,gBACA,KACA,UAEA,0CAEA,CAOA,CAAG,EACH,YACA,eACA,gBAQA,gBACA,YACA,CAOA,CAAG,EACH,WACA,eACA,yBACA,CAOA,CAAG,EACH,eACA,eACA,gBAQA,gBACA,WACA,CACA,CAAG,GAEH,CACA,CAAC,GAED,kBACA,OAMA,iBACA,UACA,CAAK,CAOL,iBACA,WAEA,aACA,0CACA,YACA,+BACA,iBACA,wBACA,8BACA,aACA,2BAGA,WACA,yBAGA,eACA,QACA,6BAGA,2BACA,UACA,CAAS,EAET,CAAK,CAOL,qBACA,gBACA,cACA,UACA,cAEA,CAFsC,CAEtC,EAGA,CAHwB,EAGxB,SAGA,6BACA,UACA,MACA,CAEA,UACA,MACA,CAIA,CAJQ,EAIR,kBACA,UACA,MACA,CAIA,CAJQ,EAIR,kBACA,UACA,MACA,CAQA,CARQ,EAGR,SACA,0BAIA,2BACA,WAEA,KACA,aAGA,eACA,MACA,CAGA,CAHQ,EAGR,2BACA,WAEA,KACA,aAGA,eACA,MACA,CAEA,sEACA,CAAK,CAOL,mBACA,iBACA,CAAK,CAOL,iBACA,4BACK,CAQL,oBACA,2EAEA,IAIA,UAKA,SACA,iDAIA,SACA,iDAGA,yBAjBA,OAkBA,CAAK,CAOL,mBACA,2EAEA,EAQA,cACA,qBAEA,qBACA,IAGA,SACA,CAWA,gBACA,sBAEA,KACA,EAGA,qBACA,QAGA,kBAGA,wBACA,EAGA,EAGA,YACA,EAGA,iBACA,CASA,cACA,qBAEA,qBACA,IAMA,CADA,eACA,IACA,CAWA,gBACA,sBAEA,KACA,EAGA,qBACA,QAGA,kBAGA,yBACA,EAGA,kBAGA,CACA,CAuDA,OArDA,YAMA,eACA,eACK,CAOL,gBACA,iBACA,UACA,wBACA,qBACA,CACA,CACA,CAAG,EACH,cAOA,eACA,iBACA,wBAAkD,MAIlD,eACA,kCAGA,GACA,CACA,CAAG,EACH,cAMA,eACA,eAEA,CAAG,EACH,CACA,CAOA,aACA,2BACA,CAcA,kBAEA,IADA,QACA,IACA,UAEA,iBACA,uBACA,OACA,eACA,aACA,EAEA,aACA,UACA,yBACA,cAiBA,OAhBA,OACA,YAEA,WACA,IACA,gBACA,QAGA,IACA,eACA,eACM,oBACN,oBAGA,CACA,EAQA,OANA,oBACA,gBACA,IACA,UACA,EAEA,CACA,CAEA,OACA,iCACA,kCAEA,kBACA,OAQA,kBACA,uBAA2C,IAAS,KACpD,iBACA,oBAEA,MACA,wCAEA,cAGA,eACA,wCAEA,aAEA,CACA,CAAK,CAQL,mBACA,uBAA2C,IAAS,KACpD,iBACA,gBACA,gBACA,CACA,CACA,EAmDA,OAlDA,aAMA,eACA,wBACA,CACA,CAAG,EACH,YAOA,eACA,6BACA,CACA,CAAG,EACH,gBAOA,eACA,yBACA,sBACA,CACA,CAAG,EAOH,2CACA,gCACA,CAAG,MAMH,0BACA,iCACA,CAAG,EACH,CACA,CAQA,cACA,oBAIA,IAHA,8BACA,KAEW,EAAG,gBACd,uBACA,UAIA,QACA,CAEA,SASA,oBACA,qCAaA,cACA,oCACA,CAEA,gCACA,kBACA,OAMA,iBACA,qBACA,sCACA,oBACA,CAAK,CAKL,yBACA,wDACA,2DACA,CAAO,CACP,CACA,EAoEA,OAnEA,YAMA,eACA,YACK,CAOL,gBACA,MACA,8BAGA,KACA,OAEA,8CAEA,CACA,CAAG,EACH,aAMA,eACA,YACK,CAOL,gBACA,KACA,OAEA,sEAEA,CACA,CAAG,EACH,eAMA,eACA,2BAEA,CAAG,EAKH,yBACA,iBACA,CAAG,EACH,CACA,CAEA,kBACA,OAMA,iBACA,2BAEA,EAqDA,OApDA,aAMA,eACA,WACA,CAAK,CAQL,gBACA,MACA,qBACA,oBAEA,OAGA,MACA,CACA,CAAG,EACH,gBAMA,eACA,cACA,4BAEA,KACA,qBAGA,KACA,CACA,CAAG,EAMH,oCACA,SACA,CAAG,EACH,CACA,CAEA,kBACA,OAMA,iBACA,SACA,CAAK,CAQL,gBACA,WAEA,0DACA,eACA,eACA,oBACO,EACP,8BACA,qBACA,iBACS,CACT,CAAO,CACP,CACA,EAwDA,OAvDA,cAMA,eACA,YACK,CAOL,gBACA,gBACA,CACA,CAAG,EACH,iBAMA,eACA,kCAEA,CAAG,EACH,aAMA,eACA,kBACA,wBAEA,sBACA,IAGA,GACA,CACA,CAAG,EAOH,uCACA,QACA,CAAG,EACH,CACA,CAEA,kBACA,OAMA,uBAIA,QAHA,kCACA,gBAEA,IAAsB,WAAmB,IACzC,kBAEA,CAAK,CAOL,wBACA,2DACA,CAAK,CAOL,kBAGA,QAFA,gBAEA,IAAsB,WAAmB,IACzC,mBAGA,8BACA,CACA,EA4DA,OA3DA,cAMA,eACA,4BAEA,CAAG,EACH,aAMA,eACA,+BACA,CACA,CAAG,EACH,mBAMA,eACA,uDAEA,CAAG,EACH,kBAMA,eACA,kEAEA,CAAG,EAQH,mDACA,gBACA,gBACA,CAAG,EAMH,0BACA,UACA,CAAG,EACH,CACA,CAEA,kBACA,OAOA,iBACA,uBACA,iBACA,mBACA,qBACA,CAAK,CAOL,qBACA,mEACA,CAAK,CAOL,uBACA,yBACA,yBAEA,IACA,gCACA,yBACA,kCACA,CAAS,EAET,CAAK,CAOL,yBACA,yBACA,SACA,UACA,iDACA,kCACA,4BACA,CAAO,CACP,CACA,EA2BA,OApBA,qCACA,iBACA,CAAG,EAOH,oCACA,SACA,CAAG,EAMH,6BACA,eACA,CAAG,EACH,CACA,CAEA,kBACA,OAIA,iBACA,cAEA,sBACA,2BAEA,CAAK,CAOL,mBACA,gEACA,gBACA,aACA,YACA,YACA,iBAEA,gBAMA,QAJA,KADA,mBACA,gBACA,yBACA,gBAEA,IAAwB,qCAAiE,KACzF,YAA0B,WAAmB,KAC7C,yBACA,+BACA,SACA,CAEA,YAA2B,WAAqB,KAChD,yBAEA,+BAEA,YACA,CACA,CAGA,QACA,CAAK,CAOL,kBAUA,QATA,aACA,SACA,YACA,WACA,yBACA,yBACA,0BACA,qCAEA,IAAsB,WAAmB,IACzC,oBAGA,YAAwB,WAAsB,IAC9C,0BAGA,YAAwB,WAAoB,IAC5C,kBAEA,CAAK,CAOL,kBAGA,QAFA,aAEA,IAAsB,WAAkB,IACxC,gCAEA,CACA,EAuCA,OAtCA,YAMA,eACA,uDAEA,CAAG,EAMH,yBACA,WACA,UACA,UACA,CAAG,EAMH,+BACA,sBACA,UAEA,CAAG,EAMH,0BACA,UACA,CAAG,EACH,CACA,CAEA,iBAIA,aACA,gEAEA,UAEA,gBACA,CA6DA,OAjDA,MACA,SACA,sBACA,8DAEA,MACA,QAGA,YAAsB,WAAmB,IACzC,uBACA,+CAEA,CAUA,CAAG,EACH,UACA,oBACA,8DAEA,MACA,QAGA,YAAsB,WAAmB,IACzC,kDAEA,CAOA,CAAG,EACH,cACA,iBACA,sBAEA,CAAG,GAEH,CACA,CAAC,GAED,kBAMA,YACA,GAIA,iBACA,WACA,CAAK,CAQL,gBACA,kCACA,gBACA,CAAO,sBACP,CAAK,CAOL,kBACA,sBACA,CACA,EAUA,OAJA,0BACA,WACA,WACA,CAAG,EACH,CACA,CAEA,oBACA,GACA,QACA,QACA,OACA,EACA,kBACA,OAMA,iBACA,+BACA,CAAK,CAQL,oBACA,0BAEA,eACA,sBAGA,CACA,CAAK,CAQL,eACA,qBACA,CAAK,CAOL,oBACA,mEACA,CAAK,CAOL,uBACA,sEACA,CACA,EAmDA,OAlDA,aAMA,eACA,WACA,CAAK,CAQL,gBACA,gBACA,OAEA,2CAEA,CACA,CAAG,EAOH,qCACA,eACA,CAAG,EAMH,yBACA,SACA,CAAG,EAOH,0CACA,YACA,CAAG,EACH,CACA,CASA,gBACA,OAOA,0BACA,sBACA,GAGA,CACA,CACA,CACA,CASA,gBACA,OAOA,mBACA,uCACA,uBACA,CACA,CACA,CASA,gBACA,OAOA,mBACA,wBACA,CACA,CACA,CAUA,iBACA,OAOA,mBACA,0BACA,0BAEA,KACA,WAGA,GACA,CAEA,QACA,CACA,CACA,CASA,iBACA,OAOA,mBACA,mBACA,gBACA,qBACA,2BAEA,aACA,YAGA,SACA,CACA,CACA,CAUA,mBAQA,mCACA,OAOA,mBACA,YAAsB,WAAyB,KAC/C,WAEA,oBACA,qBAEA,mFAEA,CAEA,QACA,CACA,CACA,CAEA,mBACA,OAOA,gBACA,wBACA,6CACA,qCAEA,WAFgE,GAEhE,yBAEA,WAFmE,GAEnE,kBACA,CAAK,CAOL,kBACA,iCACA,CAAK,CAKL,yBACA,qBACA,UACA,4BAEA,0CACA,QAIA,OACA,CAAK,CAKL,6BACA,mDAEA,0CAEA,KAGA,CACA,CACA,EA2BA,OApBA,wBACA,4CACA,yBAGA,8BACA,yBACA,iCACA,CAAK,EACL,qDACA,+CACA,CAAG,EAMH,0BACA,UACA,CAAG,EACH,CACA,CAEA,mBAOA,SACA,GAOA,oBACA,wBAEA,EAIA,mDAHA,0EAIA,CAAK,CAQL,eACA,wEACA,gDACA,CAAK,CAOL,kBACA,kCACA,CAAK,CAQL,kBACA,sBACA,GACA,CAAO,eACP,CAAK,CAOL,kBACA,KACA,UACA,CAAK,CAOL,mBACA,KACA,UACA,CACA,EAoDA,OAnDA,gBAOA,eACA,wBAEA,iCACA,iBAGA,oBAEA,CAAG,EAMH,uBACA,OACA,CAAG,EAQH,2DACA,WACA,CAAG,EAMH,sBACA,UACA,CAAG,EAMH,0BACA,UACA,CAAG,EACH,CACA,CAQA,UAEA,IACA,+BAAqC,YACrC,eACA,KACA,CACA,CAAG,EACH,+CACA,iDACA,CAAE,UAEF,UAEA,8BACA,6BACA,qDACA,oDACA,mBAMA,YACA,IACA,IACA,IACA,KACA,SACA,UACA,EAAI,EACJ,CAMA,iBACA,qBACA,CAAK,CAQL,kBACA,oBACA,eACA,sBACA,OACA,aACA,aACA,qBACA,oBACA,qBACA,CACA,CAAK,CAOL,iBACA,gBACA,iBACA,eACA,eACA,YACA,kBACA,eAGA,WAFA,cAEA,GACA,iBAFA,UAEA,GAIA,SAFA,kBADA,QACA,IAEA,WAMA,SALA,oBACA,oBACA,sCACA,oBAIA,CACA,CAAK,CAQL,gBACA,gBACA,iBACA,aACA,eACA,YACA,kBACA,oBACA,YACA,gBACA,cAEA,SACA,kDACU,UACV,kDAGA,cAGA,yCACA,uBACA,sBACA,mBACA,CACA,CAAK,CAOL,0BACA,WAEA,aACA,mBACA,kBAEA,GACA,sCACA,UACA,CAAS,IAGT,GACA,sCACA,UACA,CAAS,GAET,CAAK,CAOL,4BACA,8BACA,6BACA,CAAK,CAOL,yBACA,WAEA,qCACA,SACA,CAAO,wBACP,CAAK,CAOL,2BACA,0BACA,CAAK,CAOL,wBACA,WAEA,mCACA,QACA,CAAO,CACP,CAAK,CAOL,0BACA,wBACA,CAAK,CAOL,2BACA,sBACA,EAGA,kCACK,CAOL,sBACA,wBAEA,sBACA,gBAGA,gBACA,CAAK,CAOL,kBAGA,OAFA,KACA,sBACA,KACK,CAOL,mBAGA,OAFA,KACA,uBACA,KAEA,EAoBA,OAdA,8BACA,uDACA,CAAG,EAMH,0BACA,qBACA,oBACA,mBACA,WACA,CAAG,EACH,CACA,CAEA,mBAMA,YACA,GAMA,iBACA,WACA,CAAK,CAOL,gBACA,+CACA,CAAK,CAOL,kBACA,iCACA,CAAK,CAOL,sBACA,kBACA,CACA,EAUA,OAJA,0BAC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CAUA,OARA,MACA,YACA,iBACA,gEACA,gEAA8F,OAC9F,CACA,CAAG,GAEH,CACA,CAAC,kCCjyHD,gBAGA,OAFA,kBAEA,yCAA4D,KAAO,wBAA6B,EAChG,gDCJA,8BACO,SACP,uBACA,WACA,eACA,iBACA,iBACA,gBACA,CACA,OACA,sBACA,CACA,OACA,sBACA,kBAEA,WACA,qBAEA,WACA,sBACA,uBACA,UAAoB,WAAe,EACnC,GACA,YAEA,GACA,YAEA,oBACA,gBACA,aACA,cACA,iBACA,eAEA,CACA,QACA,CACA,SACA,6BACA,EACA,WAEA,GACA,MACA,QACA,WACA,mBAEA,aACA,sBAEA,cACA,2BACA,kBACA,QACA,CACA,QACA,0CACA,4BAEA,CACA,UACA,4BACA,MACA,iBACA,sBAEA,iBACA,sBAEA,SACA,wBAEA,SACA,wBAEA,mBACA,wBACA,GAGA,CACA,gCCpFA,+BACA,QACA,8BACA,QACA,YACA,OAAiB,YACjB,EACA,0CACA,2CACA,qBACA,WACA,OACA,WACA,YACA,CACA,EACA,OACO,SACP,uBACA,WACA,eACA,eACA,iBACA,iBACA,8BACA,8BACA,YACA,mBACA,qCACA,YAA4B,IAA2B,KACvD,qBACA,MACA,MACA,gCACA,mBACA,MACA,kBACA,6BACA,CACA,6BACA,8BAGA,6BAEA,EACA,+CACA,CACA,OACA,sBACA,CACA,OACA,sBACA,kBAEA,WACA,sBACA,uBACA,UAAoB,WAAe,EACnC,GACA,YAEA,GACA,YAEA,oBACA,gBACA,aACA,cACA,iBACA,eAEA,CACA,QACA,CACA,SACA,6BACA,EACA,WAEA,GACA,MACA,QACA,WACA,mBAEA,aACA,sBAEA,cACA,2BACA,6BACA,kBACA,YACA,QACA,CACA,QACA,sCACA,4BAEA,CACA,cACA,iBACA,sBAEA,iBACA,sBAEA,SACA,wBAEA,SACA,wBAEA,YACA,wCACA,wBACA,SAIA,4BAHA,gCAKA,GACA,kBACA,CACA,UACA,4BACA,MACA,mBACA,GAGA,CACA,wBACA,6BACA,6BACA,8BACA,8BAEA,CACA,yDC7IA,aAAQ,oBAA2B,iBACnC,8BACA,UAIO,gBACP,IACA,aACA,QACA,CACA,SACA,CACA,CAEA,MAAe,EACf,GADoB,EAAC,IACrB,OAEA,SACA,SAIA,gBAKA,OAJA,UAKA,SAEA,UACA,qBAGA,uBACA,KAEA,wBACA,UACA,SACA,WACA,OAGA,WACA,gBACA,SAEA,YAA4B,IAAc,IAC1C,mBACA,SAIA,YAA4B,IAAc,KAC1C,WACA,iBACA,QAEA,CACA,QACA,CACA,qBACA,kDACA,kBAEA,QACA,WAEA,wBACA,oBACA,YACA,uBACA,sBACA,aAA2B,EAAE,CAC7B,oBACA,oBACA,mBACA,SACA,UACA,SACA,kBACA,qBACA,QACA,eACA,UACA,MAEA,iBAEA,cAKA,kBAJA,QAOA,CACA,QACA,CACA,2BACA,0BACA,2BACA,0BACA,yBACA,0BACA,2BAGA,oBACA,mBAEA,0BACA,mBACA,oBACA,wBAIA,aACA,CACA,6BACA,iCACA,sCACA,yBACA,gBACA,iBACA,SAyBA,aACA,CACA,CAEA,QACA,CACA,cAGA,iCACA,CACA,cACA,wBAEA,SAA4B,eAAe,EAC3C,gBACA,wBACA,aACA,kBACA,CACA,gBASA,eACA,KAGA,aACA,cAGA,mBAGA,OADA,SACA,EACA,kDClMA,IAgMA,EAhMA,8BACA,gCACA,4BAkCA,mBAMA,YACA,8BAAkC,EAAM,yCAExC,CAGA,4BACA,cACA,kBAEA,oBACA,KAEA,kEACA,CACA,8CACA,cACA,0BACA,SACA,WACA,YACA,SAEA,wEACA,YAEA,mDACA,CAMA,gBACA,SACA,+BACA,WACA,CAAK,EAEL,0BAEA,CACA,cACA,WACA,mDACA,CACA,gBACA,kEACA,CAIA,kBACA,UACA,OACA,WACA,MACA,SAEA,MACA,CACA,uBACA,MACA,gBAEA,UAEA,CACA,cACA,uBACA,CACA,cACA,uBACA,CACA,cACA,wBAEA,gBACA,QACA,kBAEA,QACA,kBAEA,oBACA,qCACA,WACA,iCAqBI,CACJ,kBACA,YACA,CAAe,MAGf,cADA,iBACA,EACA,CA5BA,CACA,yCACA,aACA,yBACA,YAAoB,WAAiB,KACrC,WACA,QACA,iBACA,cACA,mBAEA,gBACA,OACA,gBACA,YAEA,wBACA,WACA,CACA,CACA,4BACA,CAQA,CARI,SASJ,iBACA,oBAEA,QACA,iCAEA,iBACA,GACA,6CANA,CAQA,CACA,aACA,IACA,CACA,cACA,yBACA,CAGA,SACA,cACA,WAIA,OAHA,GACA,OAEA,CACA,CAQA,aACA,QACA,CACA,gBACA,OACA,WACA,UACA,SAGA,kBACA,oBACA,CACA,CACA,gBACA,IACA,aACA,cACA,qBACA,mBAEA,CACA,cACA,KACA,qBACA,cACA,CACA,cACA,OACA,aAEA,CACA,cACA,eACA,CACA,cACA,WACA,yBACA,YAEA,aACA,CAGA,gBACA,sCACA,mBA2BA,OA1BA,mBAEA,iBACA,KACA,MAEA,OACA,SACA,WACA,QAEA,YACA,yCACA,WACA,EACA,WACA,oBAIA,YAEA,KACA,YACA,+CAEA,cACA,CACA,kBACA,QACA,SACA,WACA,MAKA,OAJA,EACA,EACA,uBAEA,EAEA,gBACA,SACA,gBAEA,OADA,gBACA,QAEA,kBACA,gBACA,8BACA,cACA,IACA,IACA,eACA,aACA,UACA,MAEA,EACA,EACA,yBAEA,UACA,eACA,8BACA,EACA,EACA,WACA,kBAGA,CACA,cACA,CACA,0BAGA,SAGA,YAFA,mBACA,sCAGA,GADA,UACA,KAGA,MAFA,oBAGA,EAAI,OACJ,SAEA,gBACA,iDACA,OAEA,OACA,8FACA,MACA,CACA,CACA,qBACA,oDACA,MAEA,CAGA,gBACA,uBACA,GACA,YAEA,sBAEA,aAEA,cAEA,YAAiB,CAEjB,UAEA,QAEA,YAGA,WAEA,aACA,YACA,EACA,IACA,IACA,IACA,MACA,KAEA,WAAU,WAAgB,qBAG1B,OAFA,WACA,YACA,CACA,CACA,OACA,SACA,SACA,SACA,WACA,WACA,gBAEA,kBACA,oBACA,EAEA,kBACA,KACA,mBAEA,CACA,CAAG,CACH,WACA,UAEA,WACA,sBAEA,WACA,gBACA,UAEA,OADA,uBACA,GAEA,iBACA,gBACA,SACA,kBAGA,OAFA,aACA,kBACA,GAEA,sCACA,SACA,KACA,IACA,OACA,mBACA,4BACA,6CAEA,aACA,kBACA,GACA,CAAG,CACH,uBACA,qCACA,kBACA,KACA,MAEA,sBAEA,SACA,kBAEA,IAIA,8BACA,WACA,+CACA,EAEA,CACA,YACA,uCACA,wBACA,YALA,CAOA,CAAG,CACH,iBACA,KACA,CAAG,CACH,kBACA,WAEA,iBACA,KACA,CACA,EACA,KAiBA,gBACA,WAEA,MADA,UACA,IAEA,kBACA,aACA,6BAGA,sBACA,MACA,CACA,gBACA,aACA,OACA,WACA,SACA,2CACA,KACA,SACA,MACA,CAEA,CACA,cACA,eACA,eACA,WACA,aAGA,CACA,cACA,SACA,WACA,QACA,sCACA,CAEA,CAkJA,gBACA,6EAGA,MAFA,iBACA,gBACA,CACA,CAGA,cAGA,OAFA,MACA,QACA,IACA,CACA,kBAIA,EAHA,eACA,SACA,WAEA,MACA,gBACA,eACA,gBACA,4CACA,EAAI,IACJ,UAQA,OANA,YACA,WACA,CAAG,EACH,GACA,kBAEA,CACA,CA3OA,YACA,gBAEA,OADA,6BACA,uBACA,CACA,CAAC,EACD,+BAGA,kCACA,EACA,sBAGA,qCACA,EAqsBA,UAzpBA,MACA,eACA,oBACA,8BAoBA,2BAaA,EAZA,+CACA,QACA,IACA,WACA,0BACA,0CACA,CACA,CAMA,GALA,sBACA,KACA,kCACA,KAEA,MACA,cACA,cACA,KACA,IACA,OACA,IACA,EAAU,OACV,EACA,KAEA,IACA,CAEA,OADA,OACA,MACA,CAAQ,yBAgBR,WAhBQ,CAQR,GANA,SADA,UAEA,MACA,OACA,WACA,kBACA,QACA,GACA,SACA,KACA,kDACA,MACA,CACA,QACA,CAEA,CAFQ,CAGR,oCAIA,UAHA,qBACA,kDAOA,CAJA,yBACA,IACA,GACA,CAAO,EACP,MAEA,iCACA,iCACA,2CACA,oDACA,CACA,eACA,MACA,KACA,MACA,SACA,cACA,cAGA,OAFA,kBACA,KACA,CACA,CACA,iBAC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","sources":["webpack://_N_E/../../libs/mi-common-static-components/src/organisms/ lazy ^\\.\\/.*\\/index$ namespace object","webpack://_N_E/../../libs/shared/mi-ui-library/src/molecules/ lazy ^\\.\\/.*\\/index$ namespace object","webpack://_N_E/../../node_modules/@adobe/aem-react-editable-components/dist/aem-react-editable-components.js","webpack://_N_E/../../node_modules/@adobe/aem-spa-page-model-manager/dist/aem-spa-page-model-manager.js","webpack://_N_E/../../node_modules/axios/index.js","webpack://_N_E/../../node_modules/axios/lib/adapters/xhr.js","webpack://_N_E/../../node_modules/axios/lib/axios.js","webpack://_N_E/../../node_modules/axios/lib/cancel/CancelToken.js","webpack://_N_E/../../node_modules/axios/lib/cancel/CanceledError.js","webpack://_N_E/../../node_modules/axios/lib/cancel/isCancel.js","webpack://_N_E/../../node_modules/axios/lib/core/Axios.js","webpack://_N_E/../../node_modules/axios/lib/core/AxiosError.js","webpack://_N_E/../../node_modules/axios/lib/core/InterceptorManager.js","webpack://_N_E/../../node_modules/axios/lib/core/buildFullPath.js","webpack://_N_E/../../node_modules/axios/lib/core/dispatchRequest.js","webpack://_N_E/../../node_modules/axios/lib/core/mergeConfig.js","webpack://_N_E/../../node_modules/axios/lib/core/settle.js","webpack://_N_E/../../node_modules/axios/lib/core/transformData.js","webpack://_N_E/../../node_modules/axios/lib/defaults/index.js","webpack://_N_E/../../node_modules/axios/lib/defaults/transitional.js","webpack://_N_E/../../node_modules/axios/lib/env/classes/FormData.js","webpack://_N_E/../../node_modules/axios/lib/env/data.js","webpack://_N_E/../../node_modules/axios/lib/helpers/AxiosURLSearchParams.js","webpack://_N_E/../../node_modules/axios/lib/helpers/bind.js","webpack://_N_E/../../node_modules/axios/lib/helpers/buildURL.js","webpack://_N_E/../../node_modules/axios/lib/helpers/combineURLs.js","webpack://_N_E/../../node_modules/axios/lib/helpers/cookies.js","webpack://_N_E/../../node_modules/axios/lib/helpers/formDataToJSON.js","webpack://_N_E/../../node_modules/axios/lib/helpers/isAbsoluteURL.js","webpack://_N_E/../../node_modules/axios/lib/helpers/isAxiosError.js","webpack://_N_E/../../node_modules/axios/lib/helpers/isURLSameOrigin.js","webpack://_N_E/../../node_modules/axios/lib/helpers/normalizeHeaderName.js","webpack://_N_E/../../node_modules/axios/lib/helpers/parseHeaders.js","webpack://_N_E/../../node_modules/axios/lib/helpers/parseProtocol.js","webpack://_N_E/../../node_modules/axios/lib/helpers/spread.js","webpack://_N_E/../../node_modules/axios/lib/helpers/toFormData.js","webpack://_N_E/../../node_modules/axios/lib/helpers/toURLEncodedForm.js","webpack://_N_E/../../node_modules/axios/lib/helpers/validator.js","webpack://_N_E/../../node_modules/axios/lib/platform/browser/classes/FormData.js","webpack://_N_E/../../node_modules/axios/lib/platform/browser/classes/URLSearchParams.js","webpack://_N_E/../../node_modules/axios/lib/platform/browser/index.js","webpack://_N_E/../../node_modules/axios/lib/platform/index.js","webpack://_N_E/../../node_modules/axios/lib/utils.js","webpack://_N_E/../../node_modules/axios/node_modules/form-data/lib/browser.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/callBound.js","webpack://_N_E/../../node_modules/call-bind/index.js","webpack://_N_E/../../node_modules/clone/clone.js","webpack://_N_E/../../node_modules/clsx/dist/clsx.m.js","webpack://_N_E/../../node_modules/cssjanus/src/cssjanus.js","webpack://_N_E/../../node_modules/dayjs/dayjs.min.js","webpack://_N_E/../../node_modules/dayjs/plugin/utc.js","webpack://_N_E/../../node_modules/define-data-property/index.js","webpack://_N_E/../../node_modules/dompurify/dist/purify.js","webpack://_N_E/../../node_modules/emitter-component/index.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/events/events.js","webpack://_N_E/../../node_modules/for-each/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/gopd/index.js","webpack://_N_E/../../libs/mi-offers-graphql/src/lib/PhoenixDestinationOffersSearchByArea.graphql","webpack://_N_E/../../libs/mi-offers-graphql/src/lib/PhoenixDestinationOffersSearchByGeolocation.graphql","webpack://_N_E/../../libs/mi-offers-graphql/src/lib/phoenixOfferPreview.graphql","webpack://_N_E/../../libs/mi-offers-graphql/src/lib/phoenixOffersCarousel.graphql","webpack://_N_E/../../libs/mi-offers-graphql/src/lib/phoenixOffersFallbackOffers.graphql","webpack://_N_E/../../libs/mi-ppv5-components/src/modules/graphql/libs/phoenixPpv5AccuWeather.graphql","webpack://_N_E/../../libs/mi-ppv5-components/src/modules/graphql/libs/phoenixPpv5CountryCodeDetails.graphql","webpack://_N_E/../../libs/mi-ppv5-components/src/modules/graphql/libs/phoenixPpv5HeaderDetails.graphql","webpack://_N_E/../../libs/mi-ppv5-components/src/modules/graphql/libs/phoenixPpv5HeroBanner.graphql","webpack://_N_E/../../libs/mi-ppv5-components/src/modules/graphql/libs/phoenixPpv5InternetPricing.graphql","webpack://_N_E/../../libs/mi-ppv5-components/src/modules/graphql/libs/phoenixPpv5Services.graphql","webpack://_N_E/../../node_modules/has-property-descriptors/index.js","webpack://_N_E/../../node_modules/has-proto/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/has-tostringtag/shams.js","webpack://_N_E/../../node_modules/hasown/index.js","webpack://_N_E/../../node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js","webpack://_N_E/../../node_modules/hoist-non-react-statics/node_modules/react-is/cjs/react-is.production.min.js","webpack://_N_E/../../node_modules/hoist-non-react-statics/node_modules/react-is/index.js","webpack://_N_E/../../node_modules/ieee754/index.js","webpack://_N_E/../../node_modules/inherits/inherits_browser.js","webpack://_N_E/../../node_modules/is-arguments/index.js","webpack://_N_E/../../node_modules/is-callable/index.js","webpack://_N_E/../../node_modules/is-generator-function/index.js","webpack://_N_E/../../node_modules/is-typed-array/index.js","webpack://_N_E/../../node_modules/isomorphic-dompurify/browser.js","webpack://_N_E/../../node_modules/jquery-slim/dist/jquery.slim.min.js","webpack://_N_E/../../node_modules/json-map-transform/index.js","webpack://_N_E/../../node_modules/json-map-transform/lib/jsonMapTransform.js","webpack://_N_E/../../node_modules/json-map-transform/lib/utils/objectHandler.js","webpack://_N_E/../../node_modules/lodash/_DataView.js","webpack://_N_E/../../node_modules/lodash/_Hash.js","webpack://_N_E/../../node_modules/lodash/_ListCache.js","webpack://_N_E/../../node_modules/lodash/_Map.js","webpack://_N_E/../../node_modules/lodash/_MapCache.js","webpack://_N_E/../../node_modules/lodash/_Promise.js","webpack://_N_E/../../node_modules/lodash/_Set.js","webpack://_N_E/../../node_modules/lodash/_Stack.js","webpack://_N_E/../../node_modules/lodash/_Symbol.js","webpack://_N_E/../../node_modules/lodash/_Uint8Array.js","webpack://_N_E/../../node_modules/lodash/_WeakMap.js","webpack://_N_E/../../node_modules/lodash/_apply.js","webpack://_N_E/../../node_modules/lodash/_arrayLikeKeys.js","webpack://_N_E/../../node_modules/lodash/_assignMergeValue.js","webpack://_N_E/../../node_modules/lodash/_assignValue.js","webpack://_N_E/../../node_modules/lodash/_assocIndexOf.js","webpack://_N_E/../../node_modules/lodash/_baseAssignValue.js","webpack://_N_E/../../node_modules/lodash/_baseCreate.js","webpack://_N_E/../../node_modules/lodash/_baseFor.js","webpack://_N_E/../../node_modules/lodash/_baseGetTag.js","webpack://_N_E/../../node_modules/lodash/_baseIsArguments.js","webpack://_N_E/../../node_modules/lodash/_baseIsNative.js","webpack://_N_E/../../node_modules/lodash/_baseIsTypedArray.js","webpack://_N_E/../../node_modules/lodash/_baseKeys.js","webpack://_N_E/../../node_modules/lodash/_baseKeysIn.js","webpack://_N_E/../../node_modules/lodash/_baseMerge.js","webpack://_N_E/../../node_modules/lodash/_baseMergeDeep.js","webpack://_N_E/../../node_modules/lodash/_baseRest.js","webpack://_N_E/../../node_modules/lodash/_baseSetToString.js","webpack://_N_E/../../node_modules/lodash/_baseTimes.js","webpack://_N_E/../../node_modules/lodash/_baseUnary.js","webpack://_N_E/../../node_modules/lodash/_cloneArrayBuffer.js","webpack://_N_E/../../node_modules/lodash/_cloneBuffer.js","webpack://_N_E/../../node_modules/lodash/_cloneTypedArray.js","webpack://_N_E/../../node_modules/lodash/_copyArray.js","webpack://_N_E/../../node_modules/lodash/_copyObject.js","webpack://_N_E/../../node_modules/lodash/_coreJsData.js","webpack://_N_E/../../node_modules/lodash/_createAssigner.js","webpack://_N_E/../../node_modules/lodash/_createBaseFor.js","webpack://_N_E/../../node_modules/lodash/_defineProperty.js","webpack://_N_E/../../node_modules/lodash/_freeGlobal.js","webpack://_N_E/../../node_modules/lodash/_getMapData.js","webpack://_N_E/../../node_modules/lodash/_getNative.js","webpack://_N_E/../../node_modules/lodash/_getPrototype.js","webpack://_N_E/../../node_modules/lodash/_getRawTag.js","webpack://_N_E/../../node_modules/lodash/_getTag.js","webpack://_N_E/../../node_modules/lodash/_getValue.js","webpack://_N_E/../../node_modules/lodash/_hashClear.js","webpack://_N_E/../../node_modules/lodash/_hashDelete.js","webpack://_N_E/../../node_modules/lodash/_hashGet.js","webpack://_N_E/../../node_modules/lodash/_hashHas.js","webpack://_N_E/../../node_modules/lodash/_hashSet.js","webpack://_N_E/../../node_modules/lodash/_initCloneObject.js","webpack://_N_E/../../node_modules/lodash/_isIndex.js","webpack://_N_E/../../node_modules/lodash/_isIterateeCall.js","webpack://_N_E/../../node_modules/lodash/_isKeyable.js","webpack://_N_E/../../node_modules/lodash/_isMasked.js","webpack://_N_E/../../node_modules/lodash/_isPrototype.js","webpack://_N_E/../../node_modules/lodash/_listCacheClear.js","webpack://_N_E/../../node_modules/lodash/_listCacheDelete.js","webpack://_N_E/../../node_modules/lodash/_listCacheGet.js","webpack://_N_E/../../node_modules/lodash/_listCacheHas.js","webpack://_N_E/../../node_modules/lodash/_listCacheSet.js","webpack://_N_E/../../node_modules/lodash/_mapCacheClear.js","webpack://_N_E/../../node_modules/lodash/_mapCacheDelete.js","webpack://_N_E/../../node_modules/lodash/_mapCacheGet.js","webpack://_N_E/../../node_modules/lodash/_mapCacheHas.js","webpack://_N_E/../../node_modules/lodash/_mapCacheSet.js","webpack://_N_E/../../node_modules/lodash/_nativeCreate.js","webpack://_N_E/../../node_modules/lodash/_nativeKeys.js","webpack://_N_E/../../node_modules/lodash/_nativeKeysIn.js","webpack://_N_E/../../node_modules/lodash/_nodeUtil.js","webpack://_N_E/../../node_modules/lodash/_objectToString.js","webpack://_N_E/../../node_modules/lodash/_overArg.js","webpack://_N_E/../../node_modules/lodash/_overRest.js","webpack://_N_E/../../node_modules/lodash/_root.js","webpack://_N_E/../../node_modules/lodash/_safeGet.js","webpack://_N_E/../../node_modules/lodash/_setToString.js","webpack://_N_E/../../node_modules/lodash/_shortOut.js","webpack://_N_E/../../node_modules/lodash/_stackClear.js","webpack://_N_E/../../node_modules/lodash/_stackDelete.js","webpack://_N_E/../../node_modules/lodash/_stackGet.js","webpack://_N_E/../../node_modules/lodash/_stackHas.js","webpack://_N_E/../../node_modules/lodash/_stackSet.js","webpack://_N_E/../../node_modules/lodash/_toSource.js","webpack://_N_E/../../node_modules/lodash/constant.js","webpack://_N_E/../../node_modules/lodash/eq.js","webpack://_N_E/../../node_modules/lodash/identity.js","webpack://_N_E/../../node_modules/lodash/isArguments.js","webpack://_N_E/../../node_modules/lodash/isArray.js","webpack://_N_E/../../node_modules/lodash/isArrayLike.js","webpack://_N_E/../../node_modules/lodash/isArrayLikeObject.js","webpack://_N_E/../../node_modules/lodash/isBuffer.js","webpack://_N_E/../../node_modules/lodash/isEmpty.js","webpack://_N_E/../../node_modules/lodash/isFunction.js","webpack://_N_E/../../node_modules/lodash/isLength.js","webpack://_N_E/../../node_modules/lodash/isObject.js","webpack://_N_E/../../node_modules/lodash/isObjectLike.js","webpack://_N_E/../../node_modules/lodash/isPlainObject.js","webpack://_N_E/../../node_modules/lodash/isTypedArray.js","webpack://_N_E/../../node_modules/lodash/keysIn.js","webpack://_N_E/../../node_modules/lodash/merge.js","webpack://_N_E/../../node_modules/lodash/stubFalse.js","webpack://_N_E/../../node_modules/lodash/toPlainObject.js","webpack://_N_E/../../node_modules/moment/moment.js","webpack://_N_E/?7dfe","webpack://_N_E/../../libs/aemComponents/Container/index.js","webpack://_N_E/../../libs/aemComponents/ExperienceFragment/index.js","webpack://_N_E/../../libs/mi-common-static-components/src/molecules/Footer/Footer.styles.tsx","webpack://_N_E/../../libs/mi-common-static-components/src/molecules/Footer/Footer.types.tsx","webpack://_N_E/../../libs/mi-common-static-components/src/molecules/Footer/helper.ts","webpack://_N_E/../../libs/mi-common-static-components/src/molecules/Footer/LinkFeature.tsx","webpack://_N_E/../../libs/mi-common-static-components/src/molecules/Footer/ExpandedFooter.tsx","webpack://_N_E/../../libs/mi-common-static-components/src/molecules/Footer/CollapsedFooter.tsx","webpack://_N_E/../../libs/mi-common-static-components/src/molecules/Footer/Footer.tsx","webpack://_N_E/../../libs/mi-common-static-components/src/index.ts","webpack://_N_E/../../libs/mi-ppv5-components/src/organisms/LocalHeader/LocalHeader.styles.tsx","webpack://_N_E/../../libs/mi-ppv5-components/src/modules/utils/common.tsx","webpack://_N_E/../../libs/mi-ppv5-components/src/organisms/LocalHeader/components/LocalHeaderDescription.tsx","webpack://_N_E/../../libs/mi-ppv5-components/src/organisms/AccuWeather/AccuWeather.styles.tsx","webpack://_N_E/../../libs/mi-ppv5-components/src/modules/store/accuWeatherStore.ts","webpack://_N_E/../../libs/mi-ppv5-components/src/organisms/AccuWeather/__mock__/AccuWeatherMock.tsx","webpack://_N_E/../../libs/mi-ppv5-components/src/organisms/AccuWeather/components/AccuWeatherNearByThingsToDo.tsx","webpack://_N_E/../../libs/mi-ppv5-components/src/organisms/AccuWeather/components/AccuWeatherHeader.tsx","webpack://_N_E/../../libs/mi-ppv5-components/src/modules/graphql/index.tsx","webpack://_N_E/../../libs/mi-ppv5-components/src/organisms/AccuWeather/components/AccuWeatherData.tsx","webpack://_N_E/../../libs/mi-ppv5-components/src/organisms/AccuWeather/AccuWeather.tsx","webpack://_N_E/../../libs/mi-ppv5-components/src/organisms/LocalHeader/components/LocalHeaderAccuWeather.tsx","webpack://_N_E/../../libs/mi-ppv5-components/src/modules/store/serviceStore.ts","webpack://_N_E/../../libs/mi-ppv5-components/src/organisms/LocalHeader/components/LocalHeaderNavigation.tsx","webpack://_N_E/../../libs/mi-ppv5-components/src/organisms/LocalHeader/__mock__/LocalHeaderMock.tsx","webpack://_N_E/../../libs/mi-ppv5-components/src/organisms/LocalHeader/components/LocalHeaderData.tsx","webpack://_N_E/../../libs/mi-ppv5-components/src/organisms/LocalHeader/LocalHeader.tsx","webpack://_N_E/../../libs/mi-ppv5-components/src/organisms/HeroBanner/HeroBanner.styles.tsx","webpack://_N_E/../../libs/mi-ppv5-components/src/modules/store/ppv5Store.ts","webpack://_N_E/../../libs/mi-ppv5-components/src/modules/utils/enums/enums.tsx","webpack://_N_E/../../libs/mi-ppv5-components/src/organisms/Ppv5Modal/Ppv5Modal.styles.tsx","webpack://_N_E/../../libs/mi-ppv5-components/src/organisms/Ppv5Modal/Ppv5Modal.tsx","webpack://_N_E/../../libs/mi-ppv5-components/src/organisms/InternetBar/utils/cookieUtil.tsx","webpack://_N_E/../../libs/mi-ppv5-components/src/organisms/InternetBar/utils/constant.tsx","webpack://_N_E/../../libs/mi-ppv5-components/src/organisms/InternetBar/utils/handler.tsx","webpack://_N_E/../../libs/mi-ppv5-components/src/organisms/InternetBar/components/InternetBarModal/InternetBarLoginModal.tsx","webpack://_N_E/../../libs/mi-ppv5-components/src/organisms/InternetBar/components/InternetBarModal/InternetBarAccessModal.tsx","webpack://_N_E/../../node_modules/libphonenumber-js/metadata.min.json.js","webpack://_N_E/../../node_modules/libphonenumber-js/min/exports/withMetadataArgument.js","webpack://_N_E/../../node_modules/libphonenumber-js/es6/helpers/isObject.js","webpack://_N_E/../../node_modules/libphonenumber-js/es6/normalizeArguments.js","webpack://_N_E/../../node_modules/libphonenumber-js/es6/constants.js","webpack://_N_E/../../node_modules/libphonenumber-js/es6/ParseError.js","webpack://_N_E/../../node_modules/libphonenumber-js/es6/tools/semver-compare.js","webpack://_N_E/../../node_modules/libphonenumber-js/es6/metadata.js","webpack://_N_E/../../node_modules/libphonenumber-js/es6/helpers/extension/createExtensionPattern.js","webpack://_N_E/../../node_modules/libphonenumber-js/es6/helpers/isViablePhoneNumber.js","webpack://_N_E/../../node_modules/libphonenumber-js/es6/helpers/extension/extractExtension.js","webpack://_N_E/../../node_modules/libphonenumber-js/es6/helpers/parseDigits.js","webpack://_N_E/../../node_modules/libphonenumber-js/es6/parseIncompletePhoneNumber.js","webpack://_N_E/../../node_modules/libphonenumber-js/es6/helpers/mergeArrays.js","webpack://_N_E/../../node_modules/libphonenumber-js/es6/helpers/checkNumberLength.js","webpack://_N_E/../../node_modules/libphonenumber-js/es6/isPossible.js","webpack://_N_E/../../node_modules/libphonenumber-js/es6/helpers/matchesEntirely.js","webpack://_N_E/../../node_modules/libphonenumber-js/es6/helpers/getNumberType.js","webpack://_N_E/../../node_modules/libphonenumber-js/es6/isValid.js","webpack://_N_E/../../node_modules/libphonenumber-js/es6/helpers/getPossibleCountriesForNumber.js","webpack://_N_E/../../node_modules/libphonenumber-js/es6/helpers/applyInternationalSeparatorStyle.js","webpack://_N_E/../../node_modules/libphonenumber-js/es6/helpers/formatNationalNumberUsingFormat.js","webpack://_N_E/../../node_modules/libphonenumber-js/es6/helpers/getIddPrefix.js","webpack://_N_E/../../node_modules/libphonenumber-js/es6/helpers/RFC3966.js","webpack://_N_E/../../node_modules/libphonenumber-js/es6/format.js","webpack://_N_E/../../node_modules/libphonenumber-js/es6/PhoneNumber.js","webpack://_N_E/../../node_modules/libphonenumber-js/es6/helpers/stripIddPrefix.js","webpack://_N_E/../../node_modules/libphonenumber-js/es6/helpers/extractNationalNumberFromPossiblyIncompleteNumber.js","webpack://_N_E/../../node_modules/libphonenumber-js/es6/helpers/extractNationalNumber.js","webpack://_N_E/../../node_modules/libphonenumber-js/es6/helpers/extractCountryCallingCodeFromInternationalNumberWithoutPlusSign.js","webpack://_N_E/../../node_modules/libphonenumber-js/es6/helpers/extractCountryCallingCode.js","webpack://_N_E/../../node_modules/libphonenumber-js/es6/helpers/getCountryByNationalNumber.js","webpack://_N_E/../../node_modules/libphonenumber-js/es6/helpers/getCountryByCallingCode.js","webpack://_N_E/../../node_modules/libphonenumber-js/es6/helpers/extractPhoneContext.js","webpack://_N_E/../../node_modules/libphonenumber-js/es6/helpers/extractFormattedPhoneNumberFromPossibleRfc3966NumberUri.js","webpack://_N_E/../../node_modules/libphonenumber-js/es6/parse.js","webpack://_N_E/../../node_modules/libphonenumber-js/es6/parsePhoneNumberWithError_.js","webpack://_N_E/../../node_modules/libphonenumber-js/es6/parsePhoneNumber_.js","webpack://_N_E/../../node_modules/libphonenumber-js/es6/parsePhoneNumber.js","webpack://_N_E/../../node_modules/libphonenumber-js/min/exports/parsePhoneNumber.js","webpack://_N_E/../../node_modules/libphonenumber-js/es6/AsYouTypeState.js","webpack://_N_E/../../node_modules/libphonenumber-js/es6/AsYouTypeFormatter.util.js","webpack://_N_E/../../node_modules/libphonenumber-js/es6/AsYouTypeFormatter.complete.js","webpack://_N_E/../../node_modules/libphonenumber-js/es6/AsYouTypeFormatter.PatternParser.js","webpack://_N_E/../../node_modules/libphonenumber-js/es6/AsYouTypeFormatter.PatternMatcher.js","webpack://_N_E/../../node_modules/libphonenumber-js/es6/AsYouTypeFormatter.js","webpack://_N_E/../../node_modules/libphonenumber-js/es6/AsYouTypeParser.js","webpack://_N_E/../../node_modules/libphonenumber-js/es6/AsYouType.js","webpack://_N_E/../../node_modules/libphonenumber-js/min/exports/AsYouType.js","webpack://_N_E/../../libs/mi-ppv5-components/src/organisms/InternetBar/components/InternetBarModal/InternetBarReqAccessModal.tsx","webpack://_N_E/../../libs/mi-ppv5-components/src/organisms/InternetBar/components/InternetBarModal/InternetBarModal.styles.tsx","webpack://_N_E/../../libs/mi-ppv5-components/src/organisms/InternetBar/components/InternetBarModal/InternetBarErrorModal.tsx","webpack://_N_E/../../libs/mi-ppv5-components/src/organisms/InternetBar/components/InternetBarModal/InternetBarPricingModal.tsx","webpack://_N_E/../../libs/mi-ppv5-components/src/organisms/InternetBar/components/InternetBarModal/InternetBarUpgradeModal.tsx","webpack://_N_E/../../libs/mi-ppv5-components/src/organisms/InternetBar/components/InternetBarModal/InternetBarLoyaltyWelcomeModal.tsx","webpack://_N_E/../../libs/mi-ppv5-components/src/organisms/InternetBar/components/InternetBarModal/InternetBarModal.tsx","webpack://_N_E/../../libs/mi-ppv5-components/src/organisms/InternetBar/internetBar.helper.tsx","webpack://_N_E/../../libs/mi-ppv5-components/src/organisms/InternetBar/InternetBar.styles.tsx","webpack://_N_E/../../libs/mi-ppv5-components/src/organisms/InternetBar/__mock__/InternetBar.model.tsx","webpack://_N_E/../../libs/mi-ppv5-components/src/organisms/InternetBar/InternetBar.tsx","webpack://_N_E/../../libs/mi-ppv5-components/src/organisms/HeroBanner/components/HeroBannerImage.tsx","webpack://_N_E/../../libs/mi-ppv5-components/src/organisms/HeroBanner/HeroBanner.tsx","webpack://_N_E/../../libs/mi-ppv5-components/src/organisms/ConnectContainer/ConnectContainer.styles.tsx","webpack://_N_E/../../libs/mi-ppv5-components/src/organisms/ConnectContainer/ConnectContainer.tsx","webpack://_N_E/../../libs/mi-offers-components/src/utils/styles.ts","webpack://_N_E/../../libs/mi-offers-components/src/organisms/OfferCardCarousel/OfferCardCaousel.styles.tsx","webpack://_N_E/../../libs/shared/mi-headless-utils/src/lib/dynamicContentAssemblyUtils/index.ts","webpack://_N_E/../../libs/shared/mi-headless-utils/src/lib/dynamicContentAssemblyUtils/targetSDKPayload.ts","webpack://_N_E/../../libs/mi-offers-components/src/constants/CommonConstants.ts","webpack://_N_E/../../libs/mi-offers-components/src/utils/CommonUtils.ts","webpack://_N_E/../../libs/mi-offers-components/src/constants/OffersHeroConstants.ts","webpack://_N_E/../../libs/mi-offers-components/src/lib/config.ts","webpack://_N_E/../../libs/mi-offers-components/src/utils/OfferUtils.ts","webpack://_N_E/../../libs/mi-offers-components/src/organisms/OfferCardCarousel/CardCarousel.tsx","webpack://_N_E/../../libs/mi-offers-components/src/organisms/OfferCardCarousel/OfferCardCarousel.tsx","webpack://_N_E/../../libs/mi-ppv5-components/src/organisms/LocalServices/LocalServicesMenu/LocalServicesMenu.styles.tsx","webpack://_N_E/../../libs/mi-ppv5-components/src/organisms/LocalServices/LocalServicesMenu/LocalServicesMenu.tsx","webpack://_N_E/../../libs/mi-ppv5-components/src/organisms/LocalServices/LocalServicesCards/LocalServicesCards.styles.tsx","webpack://_N_E/../../libs/mi-ppv5-components/src/organisms/LocalServices/LocalServicesCards/LocalServicesCards.tsx","webpack://_N_E/../../libs/mi-ppv5-components/src/organisms/LocalServices/__mock__/LocalServicesMock.tsx","webpack://_N_E/../../libs/mi-ppv5-components/src/organisms/LocalServices/LocalServices.tsx","webpack://_N_E/../../libs/mi-ppv5-components/src/organisms/LetsConnect/LetsConnect.styles.tsx","webpack://_N_E/../../libs/mi-ppv5-components/src/organisms/LetsConnect/LetsConnect.tsx","webpack://_N_E/../../libs/mi-ppv5-components/src/organisms/BonvoyApplicationAd/BonvoyApplicationAd.styles.tsx","webpack://_N_E/../../libs/mi-ppv5-components/src/organisms/BonvoyApplicationAd/BonvoyApplicationAd.tsx","webpack://_N_E/../../libs/mi-ppv5-components/src/organisms/JoinBanner/JoinBanner.styles.tsx","webpack://_N_E/../../libs/mi-ppv5-components/src/organisms/JoinBanner/JoinBanner.tsx","webpack://_N_E/../../libs/mi-ppv5-components/src/organisms/MMNComponent/MMNComponent.styles.tsx","webpack://_N_E/../../libs/mi-ppv5-components/src/organisms/MMNComponent/MMNComponent.tsx","webpack://_N_E/../../libs/mi-ppv5-components/src/organisms/PropertyPortalMerchandising/PropertyPortalMerchandising.styles.tsx","webpack://_N_E/../../libs/mi-ppv5-components/src/organisms/PropertyPortalMerchandising/PropertyPortalMerchandising.tsx","webpack://_N_E/../../libs/mi-ppv5-components/src/organisms/PropertyPortalExperienceFragment/PropertyPortalExperienceFragment.styles.tsx","webpack://_N_E/../../libs/mi-ppv5-components/src/organisms/PropertyPortalExperienceFragment/PropertyPortalExperienceFragment.tsx","webpack://_N_E/../../libs/mi-ppv5-components/src/organisms/PropertyPortalContainer/PropertyPortalContainer.styles.tsx","webpack://_N_E/../../libs/mi-ppv5-components/src/organisms/PropertyPortalContainer/PropertyPortalContainer.tsx","webpack://_N_E/./import-components.js","webpack://_N_E/../../libs/shared/mi-headless-utils/src/lib/CustomModelClient.ts","webpack://_N_E/../../libs/shared/mi-store-utils/src/lib/pageModelStore.ts","webpack://_N_E/./pages/_app.tsx","webpack://_N_E/../../libs/mi-common-static-components/src/molecules/Navigation/LanguageSelector/LanguageSelector.styles.tsx","webpack://_N_E/../../libs/mi-common-static-components/src/molecules/Navigation/LanguageSelector/LanguageSelector.tsx","webpack://_N_E/../../libs/mi-common-static-components/src/molecules/Navigation/LanguageSelector/LanguageSelectorContextProvider.tsx","webpack://_N_E/../../libs/mi-common-static-components/src/organisms/CardCarouselContainer/CardCarouselContainer.tsx","webpack://_N_E/../../libs/mi-common-static-components/src/organisms/StaticWrapper/styles.tsx","webpack://_N_E/../../libs/mi-common-static-components/src/organisms/StaticWrapper/index.tsx","webpack://_N_E/../../libs/mi-common-static-components/src/utils/TrackingPropertyUtils.ts","webpack://_N_E/../../libs/mi-common-static-components/src/utils/constants.ts","webpack://_N_E/../../libs/mi-offers-components/src/constants/OfferCardConstants.ts","webpack://_N_E/../../libs/mi-ppv5-components/src/modules/context/PageContext/index.tsx","webpack://_N_E/../../libs/mi-ppv5-components/src/modules/utils/constants/constants.ts","webpack://_N_E/../../libs/shared/mi-headless-utils/src/hooks/useDynamicModelUtils.ts","webpack://_N_E/../../libs/shared/mi-headless-utils/src/lib/constants.ts","webpack://_N_E/../../libs/shared/mi-headless-utils/src/lib/helpers.ts","webpack://_N_E/../../libs/shared/mi-headless-utils/src/lib/logger.js","webpack://_N_E/../../libs/shared/mi-headless-utils/src/lib/dataLayer/datalayerHelpers.ts","webpack://_N_E/../../libs/shared/mi-headless-utils/src/lib/dataLayer/datalayerUtil.ts","webpack://_N_E/../../libs/shared/mi-headless-utils/src/lib/session/session-utils.ts","webpack://_N_E/../../libs/shared/mi-headless-utils/src/lib/session/user-session-store.ts","webpack://_N_E/../../libs/shared/mi-headless-utils/src/lib/mvpOffers/mvpOffersUtils.ts","webpack://_N_E/../../libs/shared/mi-headless-utils/src/lib/session/user-session-provider.tsx","webpack://_N_E/../../libs/shared/mi-helper-utils/src/lib/logger.js","webpack://_N_E/../../libs/shared/mi-helper-utils/src/lib/utils.ts","webpack://_N_E/../../libs/shared/mi-store-utils/src/lib/clientEnvVarsStore.ts","webpack://_N_E/../../node_modules/zustand/esm/middleware.mjs","webpack://_N_E/../../node_modules/zustand/esm/middleware/immer.mjs","webpack://_N_E/../../libs/shared/mi-store-utils/src/lib/zustand/create-store.ts","webpack://_N_E/../../libs/shared/mi-ui-library/src/atoms/Button/Button.tsx","webpack://_N_E/../../libs/shared/mi-ui-library/src/atoms/Eyebrow/Eyebrow.tsx","webpack://_N_E/../../libs/shared/mi-ui-library/src/atoms/Heading/Heading.styles.tsx","webpack://_N_E/../../libs/shared/mi-ui-library/src/atoms/Heading/Heading.tsx","webpack://_N_E/../../libs/shared/mi-ui-library/src/atoms/Icon/Icon.tsx","webpack://_N_E/../../libs/shared/mi-ui-library/src/atoms/Image/Image.tsx","webpack://_N_E/../../libs/shared/mi-ui-library/src/atoms/Link/Link.tsx","webpack://_N_E/../../libs/shared/mi-ui-library/src/atoms/Text/Text.tsx","webpack://_N_E/../../libs/shared/mi-ui-library/src/constants/ApplicationConstants.ts","webpack://_N_E/../../libs/shared/mi-ui-library/src/hooks/useCheckBreakpoint.ts","webpack://_N_E/../../libs/shared/mi-ui-library/src/hooks/useDocumentDirection.ts","webpack://_N_E/../../libs/shared/mi-ui-library/src/hooks/useWindowSize.ts","webpack://_N_E/../../libs/shared/mi-ui-library/src/molecules/Accordion/Accordion.styles.tsx","webpack://_N_E/../../libs/shared/mi-ui-library/src/molecules/Accordion/Accordion.tsx","webpack://_N_E/../../libs/shared/mi-ui-library/src/molecules/BannerLayered/BannerLayered.styles.tsx","webpack://_N_E/../../libs/shared/mi-ui-library/src/molecules/BannerLayered/BannerLayered.tsx","webpack://_N_E/../../libs/shared/mi-ui-library/src/molecules/CardCarousalContainer/CardCarouselContainer.styles.tsx","webpack://_N_E/../../libs/shared/mi-ui-library/src/molecules/CardCarousalContainer/CardCarouselContainer.tsx","webpack://_N_E/../../libs/shared/mi-ui-library/src/molecules/CardHorizontalMini/CardHorizontalMini.styles.tsx","webpack://_N_E/../../libs/shared/mi-ui-library/src/molecules/CardHorizontalMini/CardHorizontalMini.tsx","webpack://_N_E/../../libs/shared/mi-ui-library/src/molecules/CardVertical/CardVertical.types.tsx","webpack://_N_E/../../libs/shared/mi-ui-library/src/molecules/InputTextField/InputTextField.styles.tsx","webpack://_N_E/../../libs/shared/mi-ui-library/src/molecules/InputTextField/InputTextField.tsx","webpack://_N_E/../../libs/shared/mi-ui-library/src/molecules/LinksCollection/LinksCollection.styles.tsx","webpack://_N_E/../../libs/shared/mi-ui-library/src/molecules/LinksCollection/LinksCollection.tsx","webpack://_N_E/../../libs/shared/mi-ui-library/src/molecules/LinksCollection/LinksCollection.types.tsx","webpack://_N_E/../../libs/shared/mi-ui-library/src/molecules/Modal/Modal.styles.tsx","webpack://_N_E/../../libs/shared/mi-ui-library/src/molecules/Modal/Modal.tsx","webpack://_N_E/../../libs/shared/mi-ui-library/src/molecules/Modal/ModalBody/index.styles.tsx","webpack://_N_E/../../libs/shared/mi-ui-library/src/molecules/Modal/ModalBody/index.tsx","webpack://_N_E/../../libs/shared/mi-ui-library/src/molecules/Modal/ModalFooter/index.styles.tsx","webpack://_N_E/../../libs/shared/mi-ui-library/src/molecules/Modal/ModalFooter/index.tsx","webpack://_N_E/../../libs/shared/mi-ui-library/src/molecules/Modal/ModalFooterGeneric/index.styles.tsx","webpack://_N_E/../../libs/shared/mi-ui-library/src/molecules/Modal/ModalFooterGeneric/index.tsx","webpack://_N_E/../../libs/shared/mi-ui-library/src/molecules/Modal/ModalHeader/index.styles.tsx","webpack://_N_E/../../libs/shared/mi-ui-library/src/molecules/Modal/ModalHeader/index.tsx","webpack://_N_E/../../libs/shared/mi-ui-library/src/molecules/RichText/RichText.styles.tsx","webpack://_N_E/../../libs/shared/mi-ui-library/src/molecules/RichText/RichText.tsx","webpack://_N_E/../../libs/shared/mi-ui-library/src/molecules/VanilaCardCarouselContainer/VanilaCardCarouselContainer.styles.tsx","webpack://_N_E/../../libs/shared/mi-ui-library/src/molecules/VanilaCardCarouselContainer/VanilaCardCarouselContainer.tsx","webpack://_N_E/../../libs/shared/mi-ui-library/src/styles/baseVariables.tsx","webpack://_N_E/../../libs/shared/mi-ui-library/src/styles/contextualVars.tsx","webpack://_N_E/../../libs/shared/mi-ui-library/src/styles/utils.tsx","webpack://_N_E/../../libs/shared/mi-ui-library/src/utils/AEMReactCompMapUtil.ts","webpack://_N_E/../../libs/shared/mi-ui-library/src/utils/CookieUtils.ts","webpack://_N_E/../../libs/shared/mi-ui-library/src/utils/TrackingPropertyUtils.ts","webpack://_N_E/../../libs/shared/mi-ui-library/src/utils/enums/enums.tsx","webpack://_N_E/../../libs/shared/mi-ui-library/src/utils/helper.ts","webpack://_N_E/../../libs/shared/mi-ui-library/src/utils/logoResize.ts","webpack://_N_E/../../../src/shared/lib/dynamic.tsx","webpack://_N_E/../../../src/shared/lib/loadable-context.shared-runtime.ts","webpack://_N_E/../../../src/shared/lib/loadable.shared-runtime.tsx","webpack://_N_E/../../node_modules/next/dist/compiled/crypto-browserify/index.js","webpack://_N_E/../../node_modules/@glidejs/glide/dist/css/glide.core.min.css","webpack://_N_E/../../node_modules/@glidejs/glide/dist/css/glide.theme.min.css","webpack://_N_E/./pages/styles.scss","webpack://_N_E/../../node_modules/@marriott/global-styles/dist/scss/base/variables/_mediaQueries.module.scss","webpack://_N_E/../../node_modules/next/dist/compiled/native-url/index.js","webpack://_N_E/../../node_modules/next/dist/compiled/path-browserify/index.js","webpack://_N_E/../../node_modules/next/dist/compiled/querystring-es3/index.js","webpack://_N_E/../../node_modules/next/dist/compiled/vm-browserify/index.js","webpack://_N_E/../../node_modules/next/dynamic.js","webpack://_N_E/../../node_modules/next/router.js","webpack://_N_E/../../node_modules/possible-typed-array-names/index.js","webpack://_N_E/../../node_modules/process/browser.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/rehackt/index.js","webpack://_N_E/../../libs/shared/mi-ui-global-styles/src/styles/base/variables/_contextualExport.scss","webpack://_N_E/../../libs/shared/mi-ui-global-styles/src/styles/base/variables/_variables.scss","webpack://_N_E/../../node_modules/set-function-length/index.js","webpack://_N_E/../../node_modules/shallowequal/index.js","webpack://_N_E/../../node_modules/stream/index.js","webpack://_N_E/../../node_modules/string_decoder/lib/string_decoder.js","webpack://_N_E/../../node_modules/string_decoder/node_modules/safe-buffer/index.js","webpack://_N_E/../../node_modules/styled-components-rtl/index.js","webpack://_N_E/../../node_modules/@emotion/stylis/dist/stylis.browser.esm.js","webpack://_N_E/../../node_modules/@emotion/unitless/dist/unitless.browser.esm.js","webpack://_N_E/../../node_modules/@emotion/memoize/dist/emotion-memoize.esm.js","webpack://_N_E/../../node_modules/@emotion/is-prop-valid/dist/emotion-is-prop-valid.esm.js","webpack://_N_E/../../node_modules/styled-components/dist/styled-components.browser.esm.js","webpack://_N_E/../../node_modules/stylis-plugin-rtl/dist/stylis-rtl.js","webpack://_N_E/../../node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.min.js","webpack://_N_E/../../node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.production.min.js","webpack://_N_E/../../node_modules/use-sync-external-store/shim/index.js","webpack://_N_E/../../node_modules/use-sync-external-store/shim/with-selector.js","webpack://_N_E/../../node_modules/util/support/isBufferBrowser.js","webpack://_N_E/../../node_modules/util/support/types.js","webpack://_N_E/../../node_modules/util/util.js","webpack://_N_E/../../node_modules/void-elements/index.js","webpack://_N_E/../../node_modules/which-typed-array/index.js","webpack://_N_E/../../node_modules/available-typed-arrays/index.js","webpack://_N_E/../../node_modules/@apollo/client/core/networkStatus.js","webpack://_N_E/../../node_modules/@apollo/client/errors/index.js","webpack://_N_E/../../node_modules/@apollo/client/react/context/ApolloContext.js","webpack://_N_E/../../node_modules/@apollo/client/react/hooks/useApolloClient.js","webpack://_N_E/../../node_modules/@apollo/client/react/hooks/internal/useIsomorphicLayoutEffect.js","webpack://_N_E/../../node_modules/@apollo/client/react/hooks/useLazyQuery.js","webpack://_N_E/../../node_modules/@apollo/client/react/hooks/useSyncExternalStore.js","webpack://_N_E/../../node_modules/@apollo/client/react/parser/index.js","webpack://_N_E/../../node_modules/@apollo/client/react/hooks/internal/wrapHook.js","webpack://_N_E/../../node_modules/@apollo/client/react/hooks/useQuery.js","webpack://_N_E/../../node_modules/@apollo/client/utilities/caching/caches.js","webpack://_N_E/../../node_modules/@apollo/client/utilities/caching/getMemoryInternals.js","webpack://_N_E/../../node_modules/@apollo/client/utilities/caching/sizes.js","webpack://_N_E/../../node_modules/@apollo/client/utilities/common/arrays.js","webpack://_N_E/../../node_modules/@apollo/client/utilities/common/canUse.js","webpack://_N_E/../../node_modules/@apollo/client/utilities/common/compact.js","webpack://_N_E/../../node_modules/@apollo/client/utilities/common/makeUniqueId.js","webpack://_N_E/../../node_modules/@apollo/client/utilities/common/maybeDeepFreeze.js","webpack://_N_E/../../node_modules/@apollo/client/utilities/common/mergeOptions.js","webpack://_N_E/../../node_modules/@apollo/client/utilities/common/objects.js","webpack://_N_E/../../node_modules/@apollo/client/utilities/common/stringifyForDisplay.js","webpack://_N_E/../../node_modules/ts-invariant/lib/invariant.js","webpack://_N_E/../../node_modules/@apollo/client/utilities/globals/maybe.js","webpack://_N_E/../../node_modules/@apollo/client/utilities/globals/global.js","webpack://_N_E/../../node_modules/@apollo/client/utilities/globals/invariantWrappers.js","webpack://_N_E/../../node_modules/@apollo/client/utilities/globals/index.js","webpack://_N_E/../../node_modules/@apollo/client/version.js","webpack://_N_E/../../node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","webpack://_N_E/../../node_modules/@babel/runtime/helpers/esm/classCallCheck.js","webpack://_N_E/../../node_modules/@babel/runtime/helpers/esm/createClass.js","webpack://_N_E/../../node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack://_N_E/../../node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","webpack://_N_E/../../node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","webpack://_N_E/../../node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","webpack://_N_E/../../node_modules/@babel/runtime/helpers/esm/slicedToArray.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/typeof.js","webpack://_N_E/../../node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","webpack://_N_E/../../node_modules/@glidejs/glide/dist/glide.esm.js","webpack://_N_E/../../node_modules/@swc/helpers/esm/_tagged_template_literal.js","webpack://_N_E/../../node_modules/@wry/caches/lib/strong.js","webpack://_N_E/../../node_modules/@wry/caches/lib/weak.js","webpack://_N_E/../../node_modules/@wry/equality/lib/index.js","webpack://_N_E/../../node_modules/immer/dist/immer.mjs","webpack://_N_E/../../node_modules/js-cookie/dist/js.cookie.mjs","webpack://_N_E/../../node_modules/html-parse-stringify/dist/html-parse-stringify.module.js","webpack://_N_E/../../node_modules/react-i18next/dist/es/utils.js","webpack://_N_E/../../node_modules/react-i18next/dist/es/unescape.js","webpack://_N_E/../../node_modules/react-i18next/dist/es/defaults.js","webpack://_N_E/../../node_modules/react-i18next/dist/es/TransWithoutContext.js","webpack://_N_E/../../node_modules/react-i18next/dist/es/i18nInstance.js","webpack://_N_E/../../node_modules/react-i18next/dist/es/initReactI18next.js","webpack://_N_E/../../node_modules/react-i18next/dist/es/context.js","webpack://_N_E/../../node_modules/react-i18next/dist/es/Trans.js","webpack://_N_E/../../node_modules/react-i18next/dist/es/useTranslation.js","webpack://_N_E/../../node_modules/react-i18next/dist/es/withTranslation.js","webpack://_N_E/../../node_modules/react-i18next/dist/es/Translation.js","webpack://_N_E/../../node_modules/react-i18next/dist/es/I18nextProvider.js","webpack://_N_E/../../node_modules/react-i18next/dist/es/useSSR.js","webpack://_N_E/../../node_modules/react-i18next/dist/es/withSSR.js","webpack://_N_E/../../node_modules/react-i18next/dist/es/index.js","webpack://_N_E/../../node_modules/tslib/tslib.es6.mjs","webpack://_N_E/../../node_modules/zustand/esm/index.mjs","webpack://_N_E/../../node_modules/zustand/esm/vanilla.mjs"],"sourcesContent":["var map = {\n\t\"./AccordionContainer/index\": [\n\t\t12696,\n\t\t2696\n\t],\n\t\"./AccordionContainerEnhanced/index\": [\n\t\t65388,\n\t\t9636,\n\t\t5388\n\t],\n\t\"./BannerFeature/index\": [\n\t\t68511,\n\t\t8511\n\t],\n\t\"./BannerLayered/index\": [\n\t\t39044,\n\t\t9044\n\t],\n\t\"./BannerText/index\": [\n\t\t75857,\n\t\t2021,\n\t\t5857\n\t],\n\t\"./BrandRibbon/index\": [\n\t\t60904,\n\t\t904\n\t],\n\t\"./CardCarouselContainer/index\": [\n\t\t71274,\n\t\t1274\n\t],\n\t\"./CardHorizontalFeature/index\": [\n\t\t10612,\n\t\t1787,\n\t\t8951,\n\t\t612\n\t],\n\t\"./CardHorizontalMini/index\": [\n\t\t38303,\n\t\t8303\n\t],\n\t\"./CardLayered/index\": [\n\t\t92158,\n\t\t2158\n\t],\n\t\"./CardSummary/index\": [\n\t\t74497,\n\t\t4497\n\t],\n\t\"./CardVertical/index\": [\n\t\t38328,\n\t\t8328\n\t],\n\t\"./CarouselGallery/index\": [\n\t\t52075,\n\t\t1787,\n\t\t5327,\n\t\t2075\n\t],\n\t\"./CobrandCardHorizontalFlexible/index\": [\n\t\t46772,\n\t\t6772\n\t],\n\t\"./DataBlock/index\": [\n\t\t1422,\n\t\t1422\n\t],\n\t\"./EditableHTLWrapper/index\": [\n\t\t21131,\n\t\t1131\n\t],\n\t\"./GeneralMessage/index\": [\n\t\t12312,\n\t\t2312\n\t],\n\t\"./Hero/index\": [\n\t\t88159,\n\t\t2732,\n\t\t8159\n\t],\n\t\"./IconBlock/index\": [\n\t\t74078,\n\t\t4078\n\t],\n\t\"./LinkBanner/index\": [\n\t\t43503,\n\t\t3503\n\t],\n\t\"./LinkList/index\": [\n\t\t62553,\n\t\t2553\n\t],\n\t\"./Media/index\": [\n\t\t95982,\n\t\t5982\n\t],\n\t\"./MiniCardCarouselContainer/index\": [\n\t\t60663,\n\t\t8761,\n\t\t663\n\t],\n\t\"./Mosaic/index\": [\n\t\t49776,\n\t\t1062,\n\t\t9776\n\t],\n\t\"./NavigationContainer/index\": [\n\t\t38953,\n\t\t378,\n\t\t209,\n\t\t8953\n\t],\n\t\"./NavigationContainer/queries/index\": [\n\t\t63679,\n\t\t3679\n\t],\n\t\"./RichText/index\": [\n\t\t2687,\n\t\t2687\n\t],\n\t\"./StaticWrapper/index\": [\n\t\t92691\n\t],\n\t\"./TabContainer/index\": [\n\t\t64095,\n\t\t3188,\n\t\t4095\n\t],\n\t\"./Text/index\": [\n\t\t62210,\n\t\t2210\n\t],\n\t\"./VariableColumnContainer/index\": [\n\t\t93621,\n\t\t3621\n\t]\n};\nfunction webpackAsyncContext(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\treturn Promise.resolve().then(() => {\n\t\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t});\n\t}\n\n\tvar ids = map[req], id = ids[0];\n\treturn Promise.all(ids.slice(1).map(__webpack_require__.e)).then(() => {\n\t\treturn __webpack_require__(id);\n\t});\n}\nwebpackAsyncContext.keys = () => (Object.keys(map));\nwebpackAsyncContext.id = 15794;\nmodule.exports = webpackAsyncContext;","var map = {\n\t\"./Accordion/index\": [\n\t\t6094,\n\t\t6094\n\t],\n\t\"./AccordionEnhanced/index\": [\n\t\t21652,\n\t\t1652\n\t],\n\t\"./BannerFeature/index\": [\n\t\t80552,\n\t\t552\n\t],\n\t\"./BannerLayered/index\": [\n\t\t38858,\n\t\t8858\n\t],\n\t\"./BannerText/index\": [\n\t\t75623,\n\t\t2021,\n\t\t5623\n\t],\n\t\"./CardCarousalContainer/index\": [\n\t\t45921,\n\t\t5921\n\t],\n\t\"./CardHorizontalFeature/index\": [\n\t\t28856,\n\t\t1787,\n\t\t8951,\n\t\t8856\n\t],\n\t\"./CardHorizontalMini/index\": [\n\t\t35263,\n\t\t5263\n\t],\n\t\"./CardLayered/index\": [\n\t\t17178,\n\t\t7178\n\t],\n\t\"./CardSummary/index\": [\n\t\t44046,\n\t\t4046\n\t],\n\t\"./CardVertical/index\": [\n\t\t74508,\n\t\t4508\n\t],\n\t\"./CarouselGallery/index\": [\n\t\t51124,\n\t\t1787,\n\t\t5327,\n\t\t1124\n\t],\n\t\"./CheckboxControlsList/index\": [\n\t\t30193,\n\t\t193\n\t],\n\t\"./CobrandCardHorizontalFlexible/index\": [\n\t\t52570,\n\t\t2570\n\t],\n\t\"./CurrentLocationFeature/index\": [\n\t\t61432,\n\t\t1432\n\t],\n\t\"./CustomSelectBlock/index\": [\n\t\t97240,\n\t\t7240\n\t],\n\t\"./DataBlock/index\": [\n\t\t4047,\n\t\t4047\n\t],\n\t\"./DropdownButton/index\": [\n\t\t17607,\n\t\t7607\n\t],\n\t\"./DropdownModal/index\": [\n\t\t88486,\n\t\t8486\n\t],\n\t\"./DropdownOptionList/index\": [\n\t\t82359,\n\t\t2359\n\t],\n\t\"./ErrorHOC/index\": [\n\t\t48453,\n\t\t8453\n\t],\n\t\"./GeneralMessage/index\": [\n\t\t14789,\n\t\t4789\n\t],\n\t\"./HeaderLogo/index\": [\n\t\t59090,\n\t\t9090\n\t],\n\t\"./Hero/index\": [\n\t\t88028,\n\t\t2732,\n\t\t8028\n\t],\n\t\"./IconBlock/index\": [\n\t\t10862,\n\t\t862\n\t],\n\t\"./IconCollection/index\": [\n\t\t40007,\n\t\t7\n\t],\n\t\"./IconTextBlock/index\": [\n\t\t76157,\n\t\t6157\n\t],\n\t\"./InlineMessages/index\": [\n\t\t83016,\n\t\t3016\n\t],\n\t\"./InputTextField/index\": [\n\t\t43775,\n\t\t3775\n\t],\n\t\"./LinkBanner/index\": [\n\t\t14878,\n\t\t4878\n\t],\n\t\"./LinksCollection/index\": [\n\t\t3337,\n\t\t3337\n\t],\n\t\"./Media/index\": [\n\t\t63420,\n\t\t3420\n\t],\n\t\"./MiniCardCarouselContainer/index\": [\n\t\t16094,\n\t\t8761,\n\t\t3713\n\t],\n\t\"./Modal/ModalBody/index\": [\n\t\t61529\n\t],\n\t\"./Modal/ModalFooter/index\": [\n\t\t8706\n\t],\n\t\"./Modal/ModalFooterGeneric/index\": [\n\t\t82271\n\t],\n\t\"./Modal/ModalHeader/index\": [\n\t\t83456\n\t],\n\t\"./Modal/index\": [\n\t\t63867,\n\t\t3867\n\t],\n\t\"./Mosaic/index\": [\n\t\t98096,\n\t\t1062,\n\t\t8096\n\t],\n\t\"./Pagination/index\": [\n\t\t58397,\n\t\t8397\n\t],\n\t\"./PillCollection/index\": [\n\t\t29348,\n\t\t9348\n\t],\n\t\"./PropertyRating/index\": [\n\t\t78183,\n\t\t8183\n\t],\n\t\"./RadiobuttonControlsList/index\": [\n\t\t23159,\n\t\t3159\n\t],\n\t\"./RichText/index\": [\n\t\t56447,\n\t\t6447\n\t],\n\t\"./Stepper/index\": [\n\t\t44463,\n\t\t4463\n\t],\n\t\"./StepperTextBlock/index\": [\n\t\t58180,\n\t\t8180\n\t],\n\t\"./TabContainer/index\": [\n\t\t29690,\n\t\t3188,\n\t\t9690\n\t],\n\t\"./Tabs/index\": [\n\t\t54216,\n\t\t4216\n\t],\n\t\"./Text/index\": [\n\t\t74093,\n\t\t4093\n\t],\n\t\"./ToggleControlsList/index\": [\n\t\t36498,\n\t\t6498\n\t],\n\t\"./VanilaCardCarouselContainer/index\": [\n\t\t4174,\n\t\t4174\n\t],\n\t\"./VariableColumnContainer/index\": [\n\t\t57523,\n\t\t7523\n\t],\n\t\"./Video/index\": [\n\t\t17197,\n\t\t1787,\n\t\t789\n\t]\n};\nfunction webpackAsyncContext(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\treturn Promise.resolve().then(() => {\n\t\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t});\n\t}\n\n\tvar ids = map[req], id = ids[0];\n\treturn Promise.all(ids.slice(1).map(__webpack_require__.e)).then(() => {\n\t\treturn __webpack_require__(id);\n\t});\n}\nwebpackAsyncContext.keys = () => (Object.keys(map));\nwebpackAsyncContext.id = 52381;\nmodule.exports = webpackAsyncContext;","!function(e,t){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define([],t):\"object\"==typeof exports?exports.aemReactEditableComponents=t():e.aemReactEditableComponents=t()}(function(){try{return\"undefined\"!=typeof self}catch(e){return!1}}()?self:this,(()=>(()=>{var e={906:function(e){(function(){try{return\"undefined\"!=typeof self}catch(e){return!1}})()&&self,e.exports=(()=>{\"use strict\";var e={d:(t,n)=>{for(var a in n)e.o(n,a)&&!e.o(t,a)&&Object.defineProperty(t,a,{enumerable:!0,get:n[a]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r:e=>{\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(e,\"__esModule\",{value:!0})}},t={};let n;e.r(t),e.d(t,{ComponentMapping:()=>a,MapTo:()=>r});class a{constructor(){return n||(n=this),n}static get instance(){return new this}map(e,t){a.map(e,t)}static map(e,t){e&&t&&(\"string\"==typeof e?[e]:e).forEach((e=>{this.mapping[e]=t}))}lazyMap(e,t){a.lazyMap(e,t)}static lazyMap(e,t){e&&t&&(\"string\"==typeof e?[e]:e).forEach((e=>{this.lazyMapping[e]=t}))}get(e){return a.get(e)}static get(e){return this.mapping[e]}getLazy(e){return a.getLazy(e)}static getLazy(e){return this.lazyMapping[e]?this.lazyMapping[e]():Promise.reject(\"resourceType \"+e+\" not found in mappings!\")}}a.mapping={},a.lazyMapping={};const r=e=>t=>a.instance.map(e,t);return t})()},967:(e,t)=>{\"use strict\";t.Nm=t.Rq=void 0;var n=/^([^\\w]*)(javascript|data|vbscript)/im,a=/&#(\\w+)(^\\w|;)?/g,r=/&(newline|tab);/gi,o=/[\\u0000-\\u001F\\u007F-\\u009F\\u2000-\\u200D\\uFEFF]/gim,s=/^.+(:|:)/gim,c=[\".\",\"/\"];t.Rq=\"about:blank\",t.Nm=function(e){if(!e)return t.Rq;var l,i=(l=e,l.replace(o,\"\").replace(a,(function(e,t){return String.fromCharCode(t)}))).replace(r,\"\").replace(o,\"\").trim();if(!i)return t.Rq;if(function(e){return c.indexOf(e[0])>-1}(i))return i;var p=i.match(s);if(!p)return i;var m=p[0];return n.test(m)?t.Rq:i}}},t={};function n(a){var r=t[a];if(void 0!==r)return r.exports;var o=t[a]={exports:{}};return e[a].call(o.exports,o,o.exports,n),o.exports}n.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return n.d(t,{a:t}),t},n.d=(e,t)=>{for(var a in t)n.o(t,a)&&!n.o(e,a)&&Object.defineProperty(e,a,{enumerable:!0,get:t[a]})},n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n.r=e=>{\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(e,\"__esModule\",{value:!0})};var a={};return(()=>{\"use strict\";n.r(a),n.d(a,{Container:()=>O,EditableComponent:()=>C,MapTo:()=>o,Page:()=>v,ResponsiveGrid:()=>R,fetchModel:()=>P,getChildComponents:()=>f});var e=n(906);const t=e.ComponentMapping.map,r=e.ComponentMapping.get;e.ComponentMapping.map=function(n,a){return t.call(e.ComponentMapping,n,a),a},e.ComponentMapping.get=r;const o=t=>n=>e.ComponentMapping.map(t,n),s=require(\"react\");var c=n.n(s),l=n(967);const i={modelToProps(e){if(!e||!Object.keys(e).length)return{cqPath:\"\"};const t=Object.getOwnPropertyNames(e),n={};return t.forEach((t=>{const a=t.startsWith(\":\")?function(e){const t=e.substring(1);return\"cq\"+t.substring(0,1).toUpperCase()+t.substring(1)}(t):t;n[a]=e[t]||\"\"})),n},getCQPath(e){const{pagePath:t=\"\",itemPath:n=\"\",cqPath:a=\"\"}=e;return t&&!a?(0,l.Nm)(n?`${t}/jcr:content/${n}`:t).replace(/\\/+/g,\"/\").replace(/\\/$/,\"\"):a}},p=require(\"@adobe/aem-spa-page-model-manager\"),m=Object.freeze({DATA_PATH_ATTR:\"data-cq-data-path\",DATA_CQ_RESOURCE_TYPE_ATTR:\"data-cq-resource-type\",ASYNC_CONTENT_LOADED_EVENT:\"cq-async-content-loaded\",_WCM_MODE_META_SELECTOR:'meta[property=\"cq:wcmmode\"]',TYPE:p.Constants.TYPE_PROP,ITEMS:p.Constants.ITEMS_PROP,ITEMS_ORDER:p.Constants.ITEMS_ORDER_PROP,PATH:p.Constants.PATH_PROP,CHILDREN:p.Constants.CHILDREN_PROP,HIERARCHY_TYPE:p.Constants.HIERARCHY_TYPE_PROP,JCR_CONTENT:p.Constants.JCR_CONTENT}),d=Object.freeze({DEFAULT:\"appliedCssClassNames\",NEW_SECTION:\"new section\",CONTAINER:\"aem-container\",DEFAULT_PLACEHOLDER:\"cq-placeholder\",PAGE:\"aem-page\",RESPONSIVE_GRID_PLACEHOLDER:\"aem-Grid-newComponent\",ALLOWED_LIST_PLACEHOLDER:\"aem-AllowedComponent--list\",ALLOWED_COMPONENT_TITLE:\"aem-AllowedComponent--title\",ALLOWED_COMPONENT_PLACEHOLDER:\"aem-AllowedComponent--component cq-placeholder placeholder\",RESPONSIVE_GRID_PLACEHOLDER_CLASS_NAMES:\"aem-Grid-newComponent\"});var u=function(e,t){var n={};for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&t.indexOf(a)<0&&(n[a]=e[a]);if(null!=e&&\"function\"==typeof Object.getOwnPropertySymbols){var r=0;for(a=Object.getOwnPropertySymbols(e);r<a.length;r++)t.indexOf(a[r])<0&&Object.prototype.propertyIsEnumerable.call(e,a[r])&&(n[a[r]]=e[a[r]])}return n};const E=e=>{var{cqItemsOrder:t,cqItems:n,cqPath:a=\"\",getItemClassNames:r,isPage:o,removeDefaultStyles:s}=e,l=u(e,[\"cqItemsOrder\",\"cqItems\",\"cqPath\",\"getItemClassNames\",\"isPage\",\"removeDefaultStyles\"]);return t&&n&&t.length?c().createElement(c().Fragment,null,f(Object.assign({cqItemsOrder:t,cqItems:n,cqPath:a,getItemClassNames:r,isPage:o,removeDefaultStyles:s},l))):c().createElement(c().Fragment,null)},f=t=>{var{cqItemsOrder:n=[],cqItems:a={},cqPath:r=\"\",getItemClassNames:o,isPage:s,removeDefaultStyles:l,isInEditor:d=p.AuthoringUtils.isInEditor()}=t;const E=u(t,[\"cqItemsOrder\",\"cqItems\",\"cqPath\",\"getItemClassNames\",\"isPage\",\"removeDefaultStyles\",\"isInEditor\"]).componentMapping||e.ComponentMapping,f=[];return n.forEach((e=>{const t=i.modelToProps(a[e]),n=o&&o(e)||\"\";if(t&&t.cqType){const a=E.get(t.cqType),o=((e,t,n=!1)=>{let a=t;return e&&(a=n?`${e}/${m.JCR_CONTENT}/${t}`:`${e}/${t}`),a})(r,e,s);a?f.push(c().createElement(a,{key:o,model:t,cqPath:o,isInEditor:d,componentMapping:E,className:n,removeDefaultStyles:l})):console.error(\"Component not mapped for resourcetype:\",t.cqType)}})),f},O=e=>{const{cqPath:t=\"\",className:n=\"\",isPage:a=!1,isInEditor:r=p.AuthoringUtils.isInEditor(),childPages:s,placeholderClassNames:l=\"\",components:i,model:u={}}=e;if(i&&Object.keys(i).length)for(const e in i)o(e)(i[e]);const f=r&&{[m.DATA_PATH_ATTR]:t}||{},O=c().createElement(E,Object.assign({},u,e));return r?c().createElement(\"div\",Object.assign({className:n||d.CONTAINER},f),O,s,!a&&r&&c().createElement(\"div\",{\"data-cq-data-path\":`${t}/*`,className:`${d.NEW_SECTION} ${l}`})):c().createElement(\"div\",{className:n},O,s)},g=Object.freeze({ASYNC_CONTENT_LOADED_EVENT:\"cq-async-content-loaded\"});var y=function(e,t,n,a){return new(n||(n=Promise))((function(r,o){function s(e){try{l(a.next(e))}catch(e){o(e)}}function c(e){try{l(a.throw(e))}catch(e){o(e)}}function l(e){var t;e.done?r(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(s,c)}l((a=a.apply(e,t||[])).next())}))};function P({cqPath:e,forceReload:t=!1,pagePath:n,itemPath:a,host:r,options:o}){return y(this,void 0,void 0,(function*(){let s,c={};if(e||n){const m=e&&(0,l.Nm)(e)||i.getCQPath({pagePath:n,itemPath:a});if(r){const e=(0,l.Nm)(`${r}/${m}`).replace(/\\/+/g,\"/\"),t=yield fetch(`${e}.model.json`,o);t.ok&&(s=yield t.json())}else s=yield p.ModelManager.getData({path:m,forceReload:t}).catch((e=>console.error(e)));s&&Object.keys(s).length&&(c=i.modelToProps(s))}return c}))}const h=e=>{var{config:t}=e,n=function(e,t){var n={};for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&t.indexOf(a)<0&&(n[a]=e[a]);if(null!=e&&\"function\"==typeof Object.getOwnPropertySymbols){var r=0;for(a=Object.getOwnPropertySymbols(e);r<a.length;r++)t.indexOf(a[r])<0&&Object.prototype.propertyIsEnumerable.call(e,a[r])&&(n[a[r]]=e[a[r]])}return n}(e,[\"config\"]);const{emptyLabel:a=\"\",isEmpty:r}=t||{},o={};return\"function\"==typeof r&&r(n)&&Object.assign(o,{className:d.DEFAULT_PLACEHOLDER,\"data-emptytext\":a}),c().createElement(\"div\",Object.assign({},o))};const C=e=>{var t;const{config:n={isEmpty:()=>!1},children:a,model:r,cqPath:o,pagePath:l,itemPath:d,isInEditor:u=p.AuthoringUtils.isInEditor(),className:E=\"\"}=e,f=function(e,t){var n={};for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&t.indexOf(a)<0&&(n[a]=e[a]);if(null!=e&&\"function\"==typeof Object.getOwnPropertySymbols){var r=0;for(a=Object.getOwnPropertySymbols(e);r<a.length;r++)t.indexOf(a[r])<0&&Object.prototype.propertyIsEnumerable.call(e,a[r])&&(n[a[r]]=e[a[r]])}return n}(e,[\"config\",\"children\",\"model\",\"cqPath\",\"pagePath\",\"itemPath\",\"isInEditor\",\"className\"]),{updateModel:O}={updateModel:(0,s.useCallback)((({path:e,forceReload:t,pagePath:n,setModel:a,isInEditor:r})=>{return o=void 0,s=void 0,l=function*(){const o=yield P({cqPath:e,forceReload:t,pagePath:n}).catch((e=>console.error(e)));o&&Object.keys(o).length&&(a(o),r&&p.PathUtils.dispatchGlobalCustomEvent(g.ASYNC_CONTENT_LOADED_EVENT,{}))},new((c=void 0)||(c=Promise))((function(e,t){function n(e){try{r(l.next(e))}catch(e){t(e)}}function a(e){try{r(l.throw(e))}catch(e){t(e)}}function r(t){var r;t.done?e(t.value):(r=t.value,r instanceof c?r:new c((function(e){e(r)}))).then(n,a)}r((l=l.apply(o,s||[])).next())}));var o,s,c,l}),[])},{forceReload:y,resourceType:C=\"\"}=n||{},b=o||i.getCQPath({cqPath:o,pagePath:l,itemPath:d}),[T,v]=c().useState((()=>r||{}));if(c().useEffect((()=>{v(null!=r?r:{})}),[b,r]),c().useEffect((()=>{var e;const t=()=>O({path:b,forceReload:y,setModel:v,isInEditor:u,pagePath:l});return!(null===(e=Object.keys(T))||void 0===e?void 0:e.length)&&t(),p.ModelManager.addListener(b,t),()=>{p.ModelManager.removeListener(b,t)}}),[b,T,O,u,l,y]),!e)return c().createElement(c().Fragment,null);const N=Object.assign({cqPath:b},T),_=u&&{[m.DATA_PATH_ATTR]:b,[m.DATA_CQ_RESOURCE_TYPE_ATTR]:C}||{},{appliedCssClassNames:I=\"\"}=T,A=`${E} ${(null===(t=f.containerProps)||void 0===t?void 0:t.className)||\"\"} ${I}`.trim(),j=((e,t)=>c().isValidElement(e)?c().cloneElement(e,t):e)(a,l?N:T);return u||!f.removeDefaultStyles&&A?c().createElement(\"div\",Object.assign({className:A},_),j,u&&c().createElement(h,Object.assign({config:n},N))):c().createElement(c().Fragment,null,j)};var b=function(e,t){var n={};for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&t.indexOf(a)<0&&(n[a]=e[a]);if(null!=e&&\"function\"==typeof Object.getOwnPropertySymbols){var r=0;for(a=Object.getOwnPropertySymbols(e);r<a.length;r++)t.indexOf(a[r])<0&&Object.prototype.propertyIsEnumerable.call(e,a[r])&&(n[a[r]]=e[a[r]])}return n};const T=t=>{var{cqChildren:n}=t,a=b(t,[\"cqChildren\"]);const r=a.componentMapping||e.ComponentMapping;if(!n)return c().createElement(c().Fragment,null);const o=[];return Object.keys(n).forEach((e=>{const t=i.modelToProps(n[e]),{cqPath:s,cqType:l}=t;if(l){const e=r.get(l);e?o.push(c().createElement(e,{model:t,key:s,cqPath:s,isInEditor:a.isInEditor})):console.error(\"Component not mapped for resourcetype:\",l)}})),c().createElement(c().Fragment,null,o)},v=e=>{var{className:t}=e,n=b(e,[\"className\"]);return c().createElement(C,Object.assign({},n),c().createElement(O,Object.assign({className:`${d.PAGE} ${t||\"\"}`,isPage:!0,childPages:c().createElement(T,Object.assign({},n))},n)))},N=Object.freeze({EMPTY_LABEL:\"No allowed components\",EMPTY_COMPONENT_TITLE:\"–\"}),_=e=>{const{placeholderClassNames:t=\"\",allowedComponents:n,title:a}=e,{components:r}=n,o=r&&r.length>0?a:N.EMPTY_LABEL;return c().createElement(\"div\",{className:`${d.ALLOWED_LIST_PLACEHOLDER} ${d.NEW_SECTION} ${t}`},c().createElement(\"div\",{\"data-text\":o,className:d.ALLOWED_COMPONENT_TITLE}),r.map((e=>c().createElement(\"div\",{\"data-cq-data-path\":e.path,key:e.path,\"data-emptytext\":e.title?e.title:N.EMPTY_COMPONENT_TITLE,className:d.ALLOWED_COMPONENT_PLACEHOLDER}))))};var I=function(e,t){var n={};for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&t.indexOf(a)<0&&(n[a]=e[a]);if(null!=e&&\"function\"==typeof Object.getOwnPropertySymbols){var r=0;for(a=Object.getOwnPropertySymbols(e);r<a.length;r++)t.indexOf(a[r])<0&&Object.prototype.propertyIsEnumerable.call(e,a[r])&&(n[a[r]]=e[a[r]])}return n};const A=\"wcm/foundation/components/responsivegrid\",j=e=>{var t,{title:n=\"Layout Container\",columnClassNames:a,isInEditor:r}=e,o=I(e,[\"title\",\"columnClassNames\",\"isInEditor\"]);let s=o.customClassName||\"\";!r&&o.removeDefaultStyles||(s=`${s} ${o.gridClassNames||\"\"} ${d.CONTAINER}`);const l=Object.assign(Object.assign({},o),{className:s,getItemClassNames:e=>a&&a[e]?a[e]:\"\",placeholderClassNames:d.RESPONSIVE_GRID_PLACEHOLDER_CLASS_NAMES,isInEditor:r});return(null===(t=o.allowedComponents)||void 0===t?void 0:t.applicable)&&r?c().createElement(_,Object.assign({},l,{title:n})):c().createElement(O,Object.assign({},l))},R=e=>{var{isInEditor:t=p.AuthoringUtils.isInEditor()}=e,n=I(e,[\"isInEditor\"]);const a={isEmpty:e=>e.cqItemsOrder&&e.cqItemsOrder.length>0||!1,resourceType:A};return c().createElement(C,Object.assign({config:a},n),c().createElement(j,Object.assign({},n,{isInEditor:t})))};o(A)(R)})(),a})()));","!function(t,e){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define([],e):\"object\"==typeof exports?exports.aemSpaPageModelManager=e():t.aemSpaPageModelManager=e()}(function(){try{return\"undefined\"!=typeof self}catch(t){return!1}}()?self:this,(function(){return(()=>{\"use strict\";var t={470:t=>{function e(t){if(\"string\"!=typeof t)throw new TypeError(\"Path must be a string. Received \"+JSON.stringify(t))}function r(t,e){for(var r,i=\"\",n=0,o=-1,s=0,a=0;a<=t.length;++a){if(a<t.length)r=t.charCodeAt(a);else{if(47===r)break;r=47}if(47===r){if(o===a-1||1===s);else if(o!==a-1&&2===s){if(i.length<2||2!==n||46!==i.charCodeAt(i.length-1)||46!==i.charCodeAt(i.length-2))if(i.length>2){var l=i.lastIndexOf(\"/\");if(l!==i.length-1){-1===l?(i=\"\",n=0):n=(i=i.slice(0,l)).length-1-i.lastIndexOf(\"/\"),o=a,s=0;continue}}else if(2===i.length||1===i.length){i=\"\",n=0,o=a,s=0;continue}e&&(i.length>0?i+=\"/..\":i=\"..\",n=2)}else i.length>0?i+=\"/\"+t.slice(o+1,a):i=t.slice(o+1,a),n=a-o-1;o=a,s=0}else 46===r&&-1!==s?++s:s=-1}return i}var i={resolve:function(){for(var t,i=\"\",n=!1,o=arguments.length-1;o>=-1&&!n;o--){var s;o>=0?s=arguments[o]:(void 0===t&&(t=process.cwd()),s=t),e(s),0!==s.length&&(i=s+\"/\"+i,n=47===s.charCodeAt(0))}return i=r(i,!n),n?i.length>0?\"/\"+i:\"/\":i.length>0?i:\".\"},normalize:function(t){if(e(t),0===t.length)return\".\";var i=47===t.charCodeAt(0),n=47===t.charCodeAt(t.length-1);return 0!==(t=r(t,!i)).length||i||(t=\".\"),t.length>0&&n&&(t+=\"/\"),i?\"/\"+t:t},isAbsolute:function(t){return e(t),t.length>0&&47===t.charCodeAt(0)},join:function(){if(0===arguments.length)return\".\";for(var t,r=0;r<arguments.length;++r){var n=arguments[r];e(n),n.length>0&&(void 0===t?t=n:t+=\"/\"+n)}return void 0===t?\".\":i.normalize(t)},relative:function(t,r){if(e(t),e(r),t===r)return\"\";if((t=i.resolve(t))===(r=i.resolve(r)))return\"\";for(var n=1;n<t.length&&47===t.charCodeAt(n);++n);for(var o=t.length,s=o-n,a=1;a<r.length&&47===r.charCodeAt(a);++a);for(var l=r.length-a,h=s<l?s:l,c=-1,d=0;d<=h;++d){if(d===h){if(l>h){if(47===r.charCodeAt(a+d))return r.slice(a+d+1);if(0===d)return r.slice(a+d)}else s>h&&(47===t.charCodeAt(n+d)?c=d:0===d&&(c=0));break}var u=t.charCodeAt(n+d);if(u!==r.charCodeAt(a+d))break;47===u&&(c=d)}var p=\"\";for(d=n+c+1;d<=o;++d)d!==o&&47!==t.charCodeAt(d)||(0===p.length?p+=\"..\":p+=\"/..\");return p.length>0?p+r.slice(a+c):(a+=c,47===r.charCodeAt(a)&&++a,r.slice(a))},_makeLong:function(t){return t},dirname:function(t){if(e(t),0===t.length)return\".\";for(var r=t.charCodeAt(0),i=47===r,n=-1,o=!0,s=t.length-1;s>=1;--s)if(47===(r=t.charCodeAt(s))){if(!o){n=s;break}}else o=!1;return-1===n?i?\"/\":\".\":i&&1===n?\"//\":t.slice(0,n)},basename:function(t,r){if(void 0!==r&&\"string\"!=typeof r)throw new TypeError('\"ext\" argument must be a string');e(t);var i,n=0,o=-1,s=!0;if(void 0!==r&&r.length>0&&r.length<=t.length){if(r.length===t.length&&r===t)return\"\";var a=r.length-1,l=-1;for(i=t.length-1;i>=0;--i){var h=t.charCodeAt(i);if(47===h){if(!s){n=i+1;break}}else-1===l&&(s=!1,l=i+1),a>=0&&(h===r.charCodeAt(a)?-1==--a&&(o=i):(a=-1,o=l))}return n===o?o=l:-1===o&&(o=t.length),t.slice(n,o)}for(i=t.length-1;i>=0;--i)if(47===t.charCodeAt(i)){if(!s){n=i+1;break}}else-1===o&&(s=!1,o=i+1);return-1===o?\"\":t.slice(n,o)},extname:function(t){e(t);for(var r=-1,i=0,n=-1,o=!0,s=0,a=t.length-1;a>=0;--a){var l=t.charCodeAt(a);if(47!==l)-1===n&&(o=!1,n=a+1),46===l?-1===r?r=a:1!==s&&(s=1):-1!==r&&(s=-1);else if(!o){i=a+1;break}}return-1===r||-1===n||0===s||1===s&&r===n-1&&r===i+1?\"\":t.slice(r,n)},format:function(t){if(null===t||\"object\"!=typeof t)throw new TypeError('The \"pathObject\" argument must be of type Object. Received type '+typeof t);return function(t,e){var r=e.dir||e.root,i=e.base||(e.name||\"\")+(e.ext||\"\");return r?r===e.root?r+i:r+\"/\"+i:i}(0,t)},parse:function(t){e(t);var r={root:\"\",dir:\"\",base:\"\",ext:\"\",name:\"\"};if(0===t.length)return r;var i,n=t.charCodeAt(0),o=47===n;o?(r.root=\"/\",i=1):i=0;for(var s=-1,a=0,l=-1,h=!0,c=t.length-1,d=0;c>=i;--c)if(47!==(n=t.charCodeAt(c)))-1===l&&(h=!1,l=c+1),46===n?-1===s?s=c:1!==d&&(d=1):-1!==s&&(d=-1);else if(!h){a=c+1;break}return-1===s||-1===l||0===d||1===d&&s===l-1&&s===a+1?-1!==l&&(r.base=r.name=0===a&&o?t.slice(1,l):t.slice(a,l)):(0===a&&o?(r.name=t.slice(1,s),r.base=t.slice(1,l)):(r.name=t.slice(a,s),r.base=t.slice(a,l)),r.ext=t.slice(s,l)),a>0?r.dir=t.slice(0,a-1):o&&(r.dir=\"/\"),r},sep:\"/\",delimiter:\":\",win32:null,posix:null};i.posix=i,t.exports=i},873:(t,e,r)=>{r.r(e),r.d(e,{AEM_MODE:()=>l,AuthoringUtils:()=>y,Constants:()=>c,ModelClient:()=>D,ModelManager:()=>w,ModelStore:()=>v,PathUtils:()=>C});class i{constructor(){}}i.PAGE_MODEL_INIT=\"cq-pagemodel-init\",i.PAGE_MODEL_LOADED=\"cq-pagemodel-loaded\",i.PAGE_MODEL_UPDATE=\"cq-pagemodel-update\",i.PAGE_MODEL_ROUTE_CHANGED=\"cq-pagemodel-route-changed\";const n=i;class o{constructor(){}}o.PAGE_MODEL_ROOT_URL=\"cq:pagemodel_root_url\",o.PAGE_MODEL_ROUTE_FILTERS=\"cq:pagemodel_route_filters\",o.PAGE_MODEL_ROUTER=\"cq:pagemodel_router\",o.WCM_MODE=\"cq:wcmmode\",o.WCM_DATA_TYPE=\"cq:datatype\";const s=o;class a{constructor(){}}var l,h;a.TYPE_PROP=\":type\",a.ITEMS_PROP=\":items\",a.ITEMS_ORDER_PROP=\":itemsOrder\",a.PATH_PROP=\":path\",a.CHILDREN_PROP=\":children\",a.HIERARCHY_TYPE_PROP=\":hierarchyType\",a.JCR_CONTENT=\"jcr:content\",function(t){t.EDIT=\"edit\",t.PREVIEW=\"preview\",t.DISABLED=\"disabled\"}(l||(l={})),function(t){t.JS=\"script\",t.STYLESHEET=\"stylesheet\"}(h||(h={}));const c=a,d=require(\"clone\");var u=r.n(d),p=r(470);const f=require(\"url\");var g=r.n(f);class _{constructor(){}}_.DEFAULT_SLING_MODEL_SELECTOR=\"model\",_.DEFAULT_MODEL_JSON_EXTENSION=`.${_.DEFAULT_SLING_MODEL_SELECTOR}.json`;const m=_,P=/(?:\\/)(?:content|apps|libs|etc|etc.clientlibs|conf|mnt\\/overlay)(?:\\/)/,E=`(.+)/${c.JCR_CONTENT}/(.+)`,M=\"http://dummy\";class C{static isBrowser(){return\"undefined\"!=typeof window}static getContextPath(t){const e=t||this.getCurrentPathname();if(!e)return\"\";const r=e.match(P),i=null===r?-1:r.index||-1;return i>0?e.slice(0,i):\"\"}static adaptPagePath(t,e){if(!t)return\"\";const r=C.internalize(t);return e&&r===C.sanitize(e)?\"\":r}static externalize(t){const e=this.getContextPath();return t.startsWith(e)?t:`${e}${t}`}static internalize(t){if(!t||\"string\"!=typeof t)return\"\";const e=this.getContextPath();return t.replace(new RegExp(`^${e}/`),\"/\")}static getMetaPropertyValue(t){let e=null;if(this.isBrowser()){const r=document.head.querySelector(`meta[property=\"${t}\"]`);e=r?r.getAttribute(\"content\"):null}return e}static convertToModelUrl(t){return t&&t.replace&&t.replace(/\\.htm(l)?$/,m.DEFAULT_MODEL_JSON_EXTENSION)}static getCurrentPageModelUrl(){const t=this.getCurrentPathname();let e=null;return t&&(e=this.convertToModelUrl(t)||null),e}static getModelUrl(t){if(t&&t.replace)return this.convertToModelUrl(t);return this.getMetaPropertyValue(s.PAGE_MODEL_ROOT_URL)||this.getCurrentPageModelUrl()}static sanitize(t){if(!t||\"string\"!=typeof t)return null;let e=g().parse(t,!1,!0).pathname;if(e){e=this.internalize(e);const t=e.indexOf(\".\");t>-1&&(e=e.substr(0,t)),e=(0,p.normalize)(e)}return e}static addExtension(t,e){if(!e||e.length<1)return t;if(e.startsWith(\".\")||(e=\".\"+e),!t||t.length<1||t.indexOf(e)>-1)return t;let r=this.normalize(t);const i=new URL(r,M);let n=this.sanitize(i.pathname);n=i.origin===M?n:i.origin+n;let o=this._extractPathWithoutResource(i.pathname);return o=this._replaceExtension(o,e),r=(n+\".\"+o+i.search).replace(/\\.\\./g,\".\"),r}static _extractPathWithoutResource(t){const e=t.split(\".\");return e.shift(),e.join(\".\")}static _replaceExtension(t,e){if(t.length<1)return e;const r=t.split(\"/\"),i=r[0].split(\".\");let n=i.pop();n=n?n.replace(/htm(l)?/,\"\"):\"\";let o=i.join(\".\")+\".\"+n+e;return r.shift(),r.length>0&&(o+=r.join(\"/\")),o}static addSelector(t,e){if(!e||e.length<1)return t;if(e.startsWith(\".\")||(e=\".\"+e),!t||t.length<1||t.indexOf(e)>-1)return t;const r=t.indexOf(\".\")||t.length;return r<0?t+e:t.slice(0,r)+e+t.slice(r,t.length)}static getCurrentPathname(){return this.isBrowser()?window.location.pathname:null}static getCurrentURL(){return this.isBrowser()?window.location.href:\"\"}static dispatchGlobalCustomEvent(t,e){this.isBrowser()&&window.dispatchEvent(new CustomEvent(t,e))}static join(t){return t?this.normalize(t.filter((t=>t)).join(\"/\")):\"\"}static normalize(t){return t?t.replace(/\\/+/g,\"/\"):\"\"}static makeAbsolute(t){return t&&\"string\"==typeof t?t.startsWith(\"/\")?t:\"/\"+t:\"\"}static makeRelative(t){return t&&\"string\"==typeof t?t.startsWith(\"/\")?t.slice(1):t:\"\"}static getParentNodePath(t){if(t&&t.length>0){const e=t.lastIndexOf(\"/\")+1;if(e<t.length)return t.substring(0,e-1)}return null}static isItem(t){return new RegExp(E).test(t)}static getNodeName(t){return(\"string\"==typeof t?t.replace(/\\/+/g,\"/\").split(/\\//).filter(Boolean):[]).pop()||null}static subpath(t,e){if(!t)return\"\";const r=C.makeRelative(t).split(\"/\"),i=C.makeRelative(e).split(\"/\");if(r.length<i.length)return t;let n;for(n=0;n<i.length&&r[n]===i[n];++n);return n===i.length?r.slice(n).join(\"/\"):t}static splitByDelimitators(t,e){let r=[t];return e.forEach((t=>{let e=[];const i=C.normalize(C.makeAbsolute(t)+\"/\");r.forEach((r=>{if(e=e.concat(r.split(i)),r.endsWith(t)){const r=e.splice(e.length-1,1)[0];r!==t&&(e=e.concat(r.split(C.makeAbsolute(t))))}e=e.filter((t=>t))})),r=e})),r}static _getJCRPath(t,e){return[t,c.JCR_CONTENT,e].join(\"/\")}static splitPageContentPaths(t){if(!t&&\"string\"!=typeof t)return;const e=t.split(`/${c.JCR_CONTENT}/`),r={pagePath:e[0]};return e.length>1&&(r.itemPath=e[1]),r}static trimStrings(t,e){return e.forEach((e=>{for(;t.startsWith(e);)t=C.makeRelative(t.slice(e.length));for(;t.endsWith(e);)(t=t.slice(0,t.length-e.length)).endsWith(\"/\")&&(t=t.slice(0,t.length-1))})),t}static _getStartStrings(t,e){let r=\"\";return e.forEach((e=>{for(;t.startsWith(e);)t=C.makeRelative(t.slice(e.length)),r=`${r}/${e}`})),C.makeRelative(r)}static toAEMPath(t,e,r){if(this.isBrowser()&&window.location.origin===e){const e=`(/editor.html)?(/content/${r=r.replace(/^\\/|\\/$/g,\"\")})?`;if(t.indexOf(e)<0)return`${e}${t}(.html)?`}return t}}function O(t){C.dispatchGlobalCustomEvent(n.PAGE_MODEL_LOADED,{detail:{model:u()(t)}})}class R{constructor(t){this._modelManager=t,this._windowListener=t=>{t&&t.detail&&t.detail.msg?this._updateModel(t.detail.msg):console.error(\"EditorService.js\",\"No message passed to cq-pagemodel-update\",t)},C.isBrowser()&&window.addEventListener(n.PAGE_MODEL_UPDATE,this._windowListener)}_updateModel(t){if(!t||!t.cmd||!t.path)return void console.error(\"PageModelManager.js\",\"Not enough data received to update the page model\");const e=t.path,r=t.cmd,i=u()(t.data);let n,o,s;const a=C.getParentNodePath(e);switch(r){case\"replace\":this._modelManager.modelStore.setData(e,i),this._modelManager._notifyListeners(e);break;case\"delete\":this._modelManager.modelStore.removeData(e),a&&this._modelManager._notifyListeners(a);break;case\"insertBefore\":s=!0;case\"insertAfter\":n=C.getNodeName(e),a&&(o=a+\"/\"+i.key,this._modelManager.modelStore.insertData(o,i.value,n,s),this._modelManager._notifyListeners(a));break;default:console.log(\"EditorClient\",\"unsupported command:\",r)}O(this._modelManager.modelStore.dataMap)}destroy(){C.isBrowser()&&window.removeEventListener(n.PAGE_MODEL_UPDATE,this._windowListener)}}class D{constructor(t){this._apiHost=t||null}get apiHost(){return this._apiHost}fetch(t){if(!t){const e=\"Fetching model rejected for path: \"+t;return Promise.reject(new Error(e))}const e=this._apiHost||\"\";return fetch(`${e}${t}`,{credentials:\"same-origin\"}).then((t=>{if(t.status>=200&&t.status<300)return t.json();throw{response:t}})).catch((t=>Promise.reject(t)))}destroy(){this._apiHost=null}}class v{constructor(t,e){this._data=null,this._rootPath=null,this._data={},t&&this.initialize(t,e||{}),this._pageContentDelimiter=[c.JCR_CONTENT]}initialize(t,e){e&&(this._data=e),this._rootPath=t}get rootPath(){return this._rootPath||\"\"}get dataMap(){return this._data}setData(t,e={}){const r=C.getNodeName(t);if(r){const i=this.getData(C.getParentNodePath(t),!1);if(i&&i[c.ITEMS_PROP]){const t=u()(e),n=i[c.ITEMS_PROP]||{};n[r]&&Object.keys(n[r]).forEach((e=>t.value[e]=t.value[e]||\"\")),n[r]=t.value,i[c.ITEMS_PROP]=n}}}getData(t,e=!0){if(!t&&\"string\"!=typeof t)return e?u()(this._data):this._data;if(t===this._rootPath||t===`${this._rootPath}/${c.JCR_CONTENT}`)return e?u()(this._data):this._data;const r=C.splitPageContentPaths(t);if(r){const t=this._getPageData(r.pagePath);if(!t||!r.itemPath)return e?u()(t):t;const i=this._findItemData(r.itemPath,t);if(i)return e?u()(i.data):i.data}}insertData(t,e,r,i=!1){if(e=u()(e),!t)return void console.warn(\"No path provided for data: \"+e);if(!C.isItem(t)&&this._data)return this._data[c.CHILDREN_PROP]||(this._data[c.CHILDREN_PROP]={}),void(this._data[c.CHILDREN_PROP][t]=e);const n=C.splitPageContentPaths(t);if(n&&n.itemPath){const t=this._getPageData(n.pagePath),o=this._findItemData(n.itemPath,t).parent||t||this._data,s=C.getNodeName(n.itemPath);if(null!=s&&o&&Object.prototype.hasOwnProperty.call(o,c.ITEMS_PROP)){const t=o[c.ITEMS_PROP];if(t){t[s]=e;const n=o[c.ITEMS_ORDER_PROP];if(null!=n&&n.length>0&&null!=r){const t=n.indexOf(r);t>-1?n.splice(i?t:t+1,0,s):n.push(s)}}}}}removeData(t){if(!t)return null;if(!C.isItem(t)&&this._data&&this._data[c.CHILDREN_PROP])return delete this._data[c.CHILDREN_PROP][t],null;const e=C.splitPageContentPaths(t);if(e&&e.itemPath){const t=this._getPageData(e.pagePath),r=this._findItemData(e.itemPath,t);if(r.data&&r&&r.parent&&Object.prototype.hasOwnProperty.call(r.parent,c.ITEMS_PROP)){const{parent:t}=r,i=t[c.ITEMS_PROP],n=C.getNodeName(e.itemPath);if(n){i&&delete i[n],delete r.data,delete r.parent;const e=t[c.ITEMS_ORDER_PROP];if(e&&e.length>0){const t=e.indexOf(n);e.splice(t,1)}return r.parentPath?r.parentPath:null}}}return console.warn(`Item for path ${t} was not found! Nothing to remove then.`),null}destroy(){this._data=null,this._rootPath=null,this._pageContentDelimiter=null}_findItemData(t,e=this._data,r=null,i=\"\"){const n={parent:r,parentPath:i};if(!e)throw new Error(\"Assertion error: No data provided. This should never happen.\");const o=e[c.ITEMS_PROP];if(!o)return n;for(const e in o){if(!Object.prototype.hasOwnProperty.call(o,e))continue;const r=o[e];if(e===t)return n.data=o[e],n.key=e,n;{let n=C.subpath(t,e);if(!this._pageContentDelimiter)throw new Error(\"_pageContentDelimiter not set. this should never happen as its set in constructor.\");{const o=C._getStartStrings(n,this._pageContentDelimiter),s=C.join([i,e,o]);if(n=C.trimStrings(n,this._pageContentDelimiter),n!==t){const t=this._findItemData(n,r,r,s);if(t)return t}}}}return n}_getPageData(t){if(!this._data)return;if(\"\"===t||t===this._data[c.PATH_PROP]||t===this.rootPath)return this._data;const e=this._data[c.CHILDREN_PROP];return e&&e[t]}}class y{constructor(t){this._apiDomain=t}getApiDomain(){return this._apiDomain}getAemLibraries(){const t=document.createDocumentFragment();if(!y.isRemoteApp()||!y.isEditMode())return t;const e=this.prependDomain(y.AUTHORING_LIBRARIES.JS),r=this.prependDomain(y.AUTHORING_LIBRARIES.CSS),i=y.AUTHORING_LIBRARIES.META;return t.append(this.generateScriptElements(e)),t.append(this.generateLinkElements(r)),t.append(this.generateMetaElements(i)),t}setOnLoadCallback(t,e){const r=t.querySelectorAll(\"script\");r.length?r[r.length-1].onload=()=>{e()}:e()}generateMetaElements(t){const e=document.createDocumentFragment();return Object.entries(t).forEach((t=>{const[r,i]=t,n=document.createElement(\"meta\");n.setAttribute(\"property\",r),n.content=i,e.appendChild(n)})),e}generateLinkElements(t){const e=document.createDocumentFragment();return t.forEach((t=>{const r=document.createElement(\"link\");r.type=\"text/css\",r.rel=\"stylesheet\",r.href=t,e.appendChild(r)})),e}generateScriptElements(t){const e=document.createDocumentFragment();return t.forEach((t=>{const r=document.createElement(\"script\");r.type=\"text/javascript\",r.src=t,r.async=!1,e.appendChild(r)})),e}static isMode(t){const e=C.getMetaPropertyValue(s.WCM_MODE)===t,r=C.isBrowser()&&y.getWCMModeFromURL()===t;return e||r}static isEditMode(){return y.isMode(l.EDIT)}static isPreviewMode(){return y.isMode(l.PREVIEW)}static isRemoteApp(){try{return!!new URL(C.getCurrentURL()).searchParams.get(s.WCM_MODE)}catch(t){}return!1}static getWCMModeFromURL(){let t;try{return t=new URL(C.getCurrentURL()),t.searchParams.get(s.WCM_MODE)||\"\"}catch(t){}return\"\"}prependDomain(t){const e=[],r=this.getApiDomain();return t.forEach((t=>{e.push(`${r||\"\"}${t}`)})),e}static isInEditor(){return y.isEditMode()||y.isPreviewMode()||y.isRemoteApp()}}y.EDITOR_CLIENTLIB_PATH=\"/etc.clientlibs/cq/gui/components/authoring/editors/clientlibs/\",y.AUTHORING_LIBRARIES={JS:[y.EDITOR_CLIENTLIB_PATH+\"internal/messaging.js\",y.EDITOR_CLIENTLIB_PATH+\"utils.js\",y.EDITOR_CLIENTLIB_PATH+\"internal/page.js\",y.EDITOR_CLIENTLIB_PATH+\"internal/pagemodel/messaging.js\"],CSS:[y.EDITOR_CLIENTLIB_PATH+\"internal/page.css\"],META:{[s.WCM_DATA_TYPE]:\"JSON\"}};const w=new class{constructor(){this._listenersMap={},this._fetchPromises={},this._modelPaths={}}get modelClient(){if(!this._modelClient)throw new Error(\"ModelClient is undefined. Call initialize first!\");return this._modelClient}get modelStore(){if(!this._modelStore)throw new Error(\"ModelStore is undefined. Call initialize first!\");return this._modelStore}get clientlibUtil(){if(!this._clientlibUtil)throw new Error(\"AuthoringUtils is undefined. Call initialize first!\");return this._clientlibUtil}initialize(t){this.initializeAsync(t);const{rootModelURL:e,rootModelPath:r}=this._modelPaths;if(!e)throw new Error(\"Provide root model url to initialize ModelManager.\");if(!r)throw new Error(\"No root modelpath resolved! This should never happen.\");return this._initPromise}initializeAsync(t){this.destroy();const e=this._toModelConfig(t),r=e&&e.model;this._initializeFields(e),this._initPromise=this._attachAEMLibraries();const{rootModelPath:i}=this._modelPaths;this._modelStore=new v(i,r),i&&this._setInitializationPromise(i),function(){if(T()&&C.isBrowser()){const t=window.history.pushState,e=window.history.replaceState;window.addEventListener(\"popstate\",(t=>{var e;const r=null==t?void 0:t.target;S((null===(e=null==r?void 0:r.location)||void 0===e?void 0:e.pathname)||null)})),window.history.pushState=(e,r,i)=>(S(i),t.apply(history,[e,r,i])),window.history.replaceState=(t,r,i)=>(S(i||null),e.apply(history,[t,r,i]))}}()}_attachAEMLibraries(){if(!C.isBrowser())return Promise.resolve();const t=this.clientlibUtil.getAemLibraries();if(!t.hasChildNodes())return Promise.resolve();let e;const r=new Promise((t=>{e=t}));return this.clientlibUtil.setOnLoadCallback(t,e),window.document.head.appendChild(t),r}_initializeFields(t){this._listenersMap={},this._fetchPromises={},this._initPromise=null,this._modelClient=t&&t.modelClient||new D,this._errorPageRoot=t&&t.errorPageRoot||void 0,this._editorClient=new R(this),this._clientlibUtil=new y(this.modelClient.apiHost),this._modelPaths=this._getPathsForModel(t)}_getPathsForModel(t){const e=null==t?void 0:t.path,r=C.getMetaPropertyValue(s.PAGE_MODEL_ROOT_URL),i=C.internalize(r),n=this._isRemoteApp()?\"\":C.getCurrentPathname(),o=n&&C.sanitize(n)||\"\",a=e||i||o;return{currentPathname:n,metaPropertyModelURL:i,rootModelURL:a,rootModelPath:C.sanitize(a)||\"\"}}_fetchPageModelFromStore(){const t=this.modelStore.getData();return O(t),t}_setInitializationPromise(t){const{rootModelURL:e}=this._modelPaths;this._initPromise=this._initPromise.then((()=>this._checkDependencies())).then((()=>{const r=this.modelStore.getData(t);return r&&Object.keys(r).length>0?(O(r),r):e?this._fetchData(e).then((e=>{try{return this.modelStore.initialize(t,e),this._fetchActivePageModel(e)||this._fetchPageModelFromStore()}catch(t){console.error(\"Error on initialization - \"+t)}})):void 0}))}_fetchActivePageModel(t){const{currentPathname:e,metaPropertyModelURL:r}=this._modelPaths,i=e&&C.sanitize(e)||\"\";if(e&&i&&!L(e)&&(o=r,(n=e)&&o&&C.sanitize(n)!==C.sanitize(o))&&!function(t,e){const r=C.sanitize(e);return!!r&&!!(t&&e&&t[c.CHILDREN_PROP]&&t[c.CHILDREN_PROP][r])}(t,e))return this._fetchData(e).then((t=>(this.modelStore.insertData(i,t),this._fetchPageModelFromStore()))).catch((t=>{console.warn(\"caught\",t)}));if(e&&L(e))return this._fetchPageModelFromStore();if(!C.isBrowser())throw new Error(\"Attempting to retrieve model data from a non-browser.\\n Please provide the initial data with the property key model\");var n,o}get rootPath(){return this.modelStore.rootPath}getData(t){let e=\"\",r=!1;return\"string\"==typeof t?e=t:t&&(e=t.path||\"\",r=!!t.forceReload),(this._initPromise||Promise.resolve()).then((()=>this._checkDependencies())).then((()=>{if(!r){const t=this.modelStore.getData(e);if(t)return Promise.resolve(t)}if(C.isItem(e)){const{pageData:t,pagePath:r}=this._getParentPage(e);if(!t)return this._fetchData(r).then((t=>(this._storeData(r,t),this.modelStore.getData(e))))}return this._fetchData(e).then((t=>this._storeData(e,t)))}))}_fetchData(t){if(Object.prototype.hasOwnProperty.call(this._fetchPromises,t))return this._fetchPromises[t];if(this.modelClient)return new Promise(((e,r)=>{const i=this.modelClient.fetch(this._toModelPath(t));this._fetchPromises[t]=i,i.then((r=>{delete this._fetchPromises[t],this._isRemoteApp()&&O(r),e(r)})).catch((i=>{if(delete this._fetchPromises[t],void 0!==this._errorPageRoot){const n=\"string\"!=typeof i&&i.response?i.response.status:\"500\",o=this._errorPageRoot+n+\".model.json\";-1===t.indexOf(c.JCR_CONTENT)&&t!==o?this._fetchData(o).then((r=>{r[c.PATH_PROP]=C.sanitize(t)||t,e(r)})).catch(r):r(i)}else r(i)}))}));throw new Error(\"ModelClient not initialized!\")}_notifyListeners(t){if(t=C.adaptPagePath.call(this,t),!this._listenersMap)throw new Error(\"ListenersMap is undefined.\");const e=this._listenersMap[t];e&&e.length&&e.forEach((r=>{try{r()}catch(r){console.error(`Error in listener ${e} at path ${t}: ${r}`)}}))}addListener(t,e){var r;if(!t||\"string\"!=typeof t||\"function\"!=typeof e)return;const i=C.adaptPagePath(t,null===(r=this.modelStore)||void 0===r?void 0:r.rootPath);this._listenersMap[i]=this._listenersMap[t]||[],this._listenersMap[i].push(e)}removeListener(t,e){var r;if(!t||\"string\"!=typeof t||\"function\"!=typeof e)return;const i=C.adaptPagePath(t,null===(r=this.modelStore)||void 0===r?void 0:r.rootPath),n=this._listenersMap[i];if(n){const t=n.indexOf(e);-1!==t&&n.splice(t,1)}}destroy(){this._modelClient&&this._modelClient.destroy&&this._modelClient.destroy(),this._modelStore&&this._modelStore.destroy&&this._modelStore.destroy(),this._editorClient&&this._editorClient.destroy&&this._editorClient.destroy()}_storeData(t,e){let r=!1;return this._modelStore&&(r=C.isItem(t)),e&&Object.keys(e).length>0&&(this.modelStore.insertData(t,e),this._notifyListeners(t)),r||this._notifyListeners(\"\"),e}_toModelPath(t){let e=C.addSelector(t,\"model\");return e=C.addExtension(e,\"json\"),e=C.externalize(e),C.makeAbsolute(e)}_toModelConfig(t){return t&&\"string\"==typeof t?{path:t}:t||{}}_checkDependencies(){return this.modelClient?this.modelStore?Promise.resolve():Promise.reject(\"No ModelManager registered.\"):Promise.reject(\"No ModelClient registered.\")}_getParentPage(t){const e=C.splitPageContentPaths(t),r=(null==e?void 0:e.pagePath)||\"\";return{pageData:this.modelStore.getData(r),pagePath:r}}_isRemoteApp(){const t=this.modelClient.apiHost||\"\";return C.isBrowser()&&t.length>0&&C.getCurrentURL()!==t}};class A{constructor(){}}function L(t){const e=function(){const t=C.getMetaPropertyValue(s.PAGE_MODEL_ROUTE_FILTERS);return t?t.split(\",\"):[]}();for(let r=0,i=e.length;r<i;r++)if(new RegExp(e[r]).test(t))return!0;return!1}function T(){if(!C.isBrowser())return!1;const t=C.getMetaPropertyValue(s.PAGE_MODEL_ROUTER);return!t||A.DISABLED!==t}function S(t){if(!T())return;const e=function(t){const e=t||C.isBrowser()&&window.location.pathname;return e?C.sanitize(e):null}(t);e&&\"/\"!==e&&!L(e)&&function(t){w.getData({path:t}).then((t=>{C.dispatchGlobalCustomEvent(n.PAGE_MODEL_ROUTE_CHANGED,{detail:{model:t}})}))}(e)}A.DISABLED=\"disabled\",A.CONTENT_PATH=\"path\"}},e={};function r(i){if(e[i])return e[i].exports;var n=e[i]={exports:{}};return t[i](n,n.exports,r),n.exports}return r.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return r.d(e,{a:e}),e},r.d=(t,e)=>{for(var i in e)r.o(e,i)&&!r.o(t,i)&&Object.defineProperty(t,i,{enumerable:!0,get:e[i]})},r.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),r.r=t=>{\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(t,\"__esModule\",{value:!0})},r(873)})()}));","module.exports = require('./lib/axios');","'use strict';\n\nvar utils = require('./../utils');\nvar settle = require('./../core/settle');\nvar cookies = require('./../helpers/cookies');\nvar buildURL = require('./../helpers/buildURL');\nvar buildFullPath = require('../core/buildFullPath');\nvar parseHeaders = require('./../helpers/parseHeaders');\nvar isURLSameOrigin = require('./../helpers/isURLSameOrigin');\nvar transitionalDefaults = require('../defaults/transitional');\nvar AxiosError = require('../core/AxiosError');\nvar CanceledError = require('../cancel/CanceledError');\nvar parseProtocol = require('../helpers/parseProtocol');\nvar platform = require('../platform');\n\nmodule.exports = function xhrAdapter(config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n var requestData = config.data;\n var requestHeaders = config.headers;\n var responseType = config.responseType;\n var withXSRFToken = config.withXSRFToken;\n var onCanceled;\n function done() {\n if (config.cancelToken) {\n config.cancelToken.unsubscribe(onCanceled);\n }\n\n if (config.signal) {\n config.signal.removeEventListener('abort', onCanceled);\n }\n }\n\n if (utils.isFormData(requestData) && utils.isStandardBrowserEnv()) {\n delete requestHeaders['Content-Type']; // Let the browser set it\n }\n\n var request = new XMLHttpRequest();\n\n // HTTP basic authentication\n if (config.auth) {\n var username = config.auth.username || '';\n var password = config.auth.password ? unescape(encodeURIComponent(config.auth.password)) : '';\n requestHeaders.Authorization = 'Basic ' + btoa(username + ':' + password);\n }\n\n var fullPath = buildFullPath(config.baseURL, config.url);\n\n request.open(config.method.toUpperCase(), buildURL(fullPath, config.params, config.paramsSerializer), true);\n\n // Set the request timeout in MS\n request.timeout = config.timeout;\n\n function onloadend() {\n if (!request) {\n return;\n }\n // Prepare the response\n var responseHeaders = 'getAllResponseHeaders' in request ? parseHeaders(request.getAllResponseHeaders()) : null;\n var responseData = !responseType || responseType === 'text' || responseType === 'json' ?\n request.responseText : request.response;\n var response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config: config,\n request: request\n };\n\n settle(function _resolve(value) {\n resolve(value);\n done();\n }, function _reject(err) {\n reject(err);\n done();\n }, response);\n\n // Clean up request\n request = null;\n }\n\n if ('onloadend' in request) {\n // Use onloadend if available\n request.onloadend = onloadend;\n } else {\n // Listen for ready state to emulate onloadend\n request.onreadystatechange = function handleLoad() {\n if (!request || request.readyState !== 4) {\n return;\n }\n\n // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n return;\n }\n // readystate handler is calling before onerror or ontimeout handlers,\n // so we should call onloadend on the next 'tick'\n setTimeout(onloadend);\n };\n }\n\n // Handle browser request cancellation (as opposed to a manual cancellation)\n request.onabort = function handleAbort() {\n if (!request) {\n return;\n }\n\n reject(new AxiosError('Request aborted', AxiosError.ECONNABORTED, config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle low level network errors\n request.onerror = function handleError() {\n // Real errors are hidden from us by the browser\n // onerror should only fire if it's a network error\n reject(new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n var timeoutErrorMessage = config.timeout ? 'timeout of ' + config.timeout + 'ms exceeded' : 'timeout exceeded';\n var transitional = config.transitional || transitionalDefaults;\n if (config.timeoutErrorMessage) {\n timeoutErrorMessage = config.timeoutErrorMessage;\n }\n reject(new AxiosError(\n timeoutErrorMessage,\n transitional.clarifyTimeoutError ? AxiosError.ETIMEDOUT : AxiosError.ECONNABORTED,\n config,\n request));\n\n // Clean up request\n request = null;\n };\n\n // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n if (utils.isStandardBrowserEnv()) {\n // Add xsrf header\n withXSRFToken && utils.isFunction(withXSRFToken) && (withXSRFToken = withXSRFToken(config));\n if (withXSRFToken || (withXSRFToken !== false && isURLSameOrigin(fullPath))) {\n // Add xsrf header\n var xsrfValue = config.xsrfHeaderName && config.xsrfCookieName && cookies.read(config.xsrfCookieName);\n if (xsrfValue) {\n requestHeaders[config.xsrfHeaderName] = xsrfValue;\n }\n }\n }\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders, function setRequestHeader(val, key) {\n if (typeof requestData === 'undefined' && key.toLowerCase() === 'content-type') {\n // Remove Content-Type if data is undefined\n delete requestHeaders[key];\n } else {\n // Otherwise add header to the request\n request.setRequestHeader(key, val);\n }\n });\n }\n\n // Add withCredentials to request if needed\n if (!utils.isUndefined(config.withCredentials)) {\n request.withCredentials = !!config.withCredentials;\n }\n\n // Add responseType to request if needed\n if (responseType && responseType !== 'json') {\n request.responseType = config.responseType;\n }\n\n // Handle progress if needed\n if (typeof config.onDownloadProgress === 'function') {\n request.addEventListener('progress', config.onDownloadProgress);\n }\n\n // Not all browsers support upload events\n if (typeof config.onUploadProgress === 'function' && request.upload) {\n request.upload.addEventListener('progress', config.onUploadProgress);\n }\n\n if (config.cancelToken || config.signal) {\n // Handle cancellation\n // eslint-disable-next-line func-names\n onCanceled = function(cancel) {\n if (!request) {\n return;\n }\n reject(!cancel || cancel.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 // false, 0 (zero number), and '' (empty string) are valid JSON values\n if (!requestData && requestData !== false && requestData !== 0 && requestData !== '') {\n requestData = null;\n }\n\n var protocol = parseProtocol(fullPath);\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);\n });\n};\n","'use strict';\n\nvar utils = require('./utils');\nvar bind = require('./helpers/bind');\nvar Axios = require('./core/Axios');\nvar mergeConfig = require('./core/mergeConfig');\nvar defaults = require('./defaults');\nvar formDataToJSON = require('./helpers/formDataToJSON');\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n * @return {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n var context = new Axios(defaultConfig);\n var instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context);\n\n // Copy context to instance\n utils.extend(instance, context);\n\n // Factory for creating new instances\n instance.create = function create(instanceConfig) {\n return createInstance(mergeConfig(defaultConfig, instanceConfig));\n };\n\n return instance;\n}\n\n// Create the default instance to be exported\nvar axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Expose Cancel & CancelToken\naxios.CanceledError = require('./cancel/CanceledError');\naxios.CancelToken = require('./cancel/CancelToken');\naxios.isCancel = require('./cancel/isCancel');\naxios.VERSION = require('./env/data').version;\naxios.toFormData = require('./helpers/toFormData');\n\n// Expose AxiosError class\naxios.AxiosError = require('../lib/core/AxiosError');\n\n// alias for CanceledError for backward compatibility\naxios.Cancel = axios.CanceledError;\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\naxios.spread = require('./helpers/spread');\n\n// Expose isAxiosError\naxios.isAxiosError = require('./helpers/isAxiosError');\n\naxios.formToJSON = function(thing) {\n return formDataToJSON(utils.isHTMLForm(thing) ? new FormData(thing) : thing);\n};\n\nmodule.exports = axios;\n\n// Allow use of default import syntax in TypeScript\nmodule.exports.default = axios;\n","'use strict';\n\nvar CanceledError = require('./CanceledError');\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @class\n * @param {Function} executor The executor function.\n */\nfunction CancelToken(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n var resolvePromise;\n\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n var token = this;\n\n // eslint-disable-next-line func-names\n this.promise.then(function(cancel) {\n if (!token._listeners) return;\n\n var i = 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 = function(onfulfilled) {\n var _resolve;\n // eslint-disable-next-line func-names\n var promise = new Promise(function(resolve) {\n token.subscribe(resolve);\n _resolve = resolve;\n }).then(onfulfilled);\n\n promise.cancel = function reject() {\n token.unsubscribe(_resolve);\n };\n\n return promise;\n };\n\n executor(function cancel(message, 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 */\nCancelToken.prototype.throwIfRequested = function throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n};\n\n/**\n * Subscribe to the cancel signal\n */\n\nCancelToken.prototype.subscribe = function subscribe(listener) {\n if (this.reason) {\n listener(this.reason);\n return;\n }\n\n if (this._listeners) {\n this._listeners.push(listener);\n } else {\n this._listeners = [listener];\n }\n};\n\n/**\n * Unsubscribe from the cancel signal\n */\n\nCancelToken.prototype.unsubscribe = function unsubscribe(listener) {\n if (!this._listeners) {\n return;\n }\n var index = this._listeners.indexOf(listener);\n if (index !== -1) {\n this._listeners.splice(index, 1);\n }\n};\n\n/**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\nCancelToken.source = function source() {\n var cancel;\n var token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token: token,\n cancel: cancel\n };\n};\n\nmodule.exports = CancelToken;\n","'use strict';\n\nvar AxiosError = require('../core/AxiosError');\nvar utils = require('../utils');\n\n/**\n * A `CanceledError` is an object that is thrown when an operation is canceled.\n *\n * @class\n * @param {string=} message The message.\n * @param {Object=} config The config.\n * @param {Object=} request The request.\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\nmodule.exports = CanceledError;\n","'use strict';\n\nmodule.exports = function isCancel(value) {\n return !!(value && value.__CANCEL__);\n};\n","'use strict';\n\nvar utils = require('./../utils');\nvar buildURL = require('../helpers/buildURL');\nvar InterceptorManager = require('./InterceptorManager');\nvar dispatchRequest = require('./dispatchRequest');\nvar mergeConfig = require('./mergeConfig');\nvar buildFullPath = require('./buildFullPath');\nvar validator = require('../helpers/validator');\n\nvar validators = validator.validators;\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n */\nfunction Axios(instanceConfig) {\n this.defaults = instanceConfig;\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n}\n\n/**\n * Dispatch a request\n *\n * @param {String|Object} configOrUrl The config specific for this request (merged with this.defaults)\n * @param {?Object} config\n */\nAxios.prototype.request = function request(configOrUrl, config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof configOrUrl === 'string') {\n config = config || {};\n config.url = configOrUrl;\n } else {\n config = configOrUrl || {};\n }\n\n config = mergeConfig(this.defaults, config);\n\n // Set config.method\n if (config.method) {\n config.method = config.method.toLowerCase();\n } else if (this.defaults.method) {\n config.method = this.defaults.method.toLowerCase();\n } else {\n config.method = 'get';\n }\n\n var transitional = config.transitional;\n\n if (transitional !== undefined) {\n validator.assertOptions(transitional, {\n silentJSONParsing: validators.transitional(validators.boolean),\n forcedJSONParsing: validators.transitional(validators.boolean),\n clarifyTimeoutError: validators.transitional(validators.boolean)\n }, false);\n }\n\n var paramsSerializer = config.paramsSerializer;\n\n if (paramsSerializer !== undefined) {\n validator.assertOptions(paramsSerializer, {\n encode: validators.function,\n serialize: validators.function\n }, true);\n }\n\n utils.isFunction(paramsSerializer) && (config.paramsSerializer = {serialize: paramsSerializer});\n\n // filter out skipped interceptors\n var requestInterceptorChain = [];\n var synchronousRequestInterceptors = true;\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) {\n return;\n }\n\n synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous;\n\n requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n var responseInterceptorChain = [];\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n var promise;\n\n if (!synchronousRequestInterceptors) {\n var chain = [dispatchRequest, undefined];\n\n Array.prototype.unshift.apply(chain, requestInterceptorChain);\n chain = chain.concat(responseInterceptorChain);\n\n promise = Promise.resolve(config);\n while (chain.length) {\n promise = promise.then(chain.shift(), chain.shift());\n }\n\n return promise;\n }\n\n\n var newConfig = config;\n while (requestInterceptorChain.length) {\n var onFulfilled = requestInterceptorChain.shift();\n var onRejected = requestInterceptorChain.shift();\n try {\n newConfig = onFulfilled(newConfig);\n } catch (error) {\n onRejected(error);\n break;\n }\n }\n\n try {\n promise = dispatchRequest(newConfig);\n } catch (error) {\n return Promise.reject(error);\n }\n\n while (responseInterceptorChain.length) {\n promise = promise.then(responseInterceptorChain.shift(), responseInterceptorChain.shift());\n }\n\n return promise;\n};\n\nAxios.prototype.getUri = function getUri(config) {\n config = mergeConfig(this.defaults, config);\n var fullPath = buildFullPath(config.baseURL, config.url);\n return buildURL(fullPath, config.params, config.paramsSerializer);\n};\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, config) {\n return this.request(mergeConfig(config || {}, {\n method: method,\n url: url,\n data: (config || {}).data\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n\n function generateHTTPMethod(isForm) {\n return function httpMethod(url, data, config) {\n return this.request(mergeConfig(config || {}, {\n method: method,\n headers: isForm ? {\n 'Content-Type': 'multipart/form-data'\n } : {},\n url: url,\n data: data\n }));\n };\n }\n\n Axios.prototype[method] = generateHTTPMethod();\n\n Axios.prototype[method + 'Form'] = generateHTTPMethod(true);\n});\n\nmodule.exports = Axios;\n","'use strict';\n\nvar utils = require('../utils');\n\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [config] The config.\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The created error.\n */\nfunction AxiosError(message, code, config, request, response) {\n Error.call(this);\n\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 response && (this.response = response);\n}\n\nutils.inherits(AxiosError, Error, {\n toJSON: function toJSON() {\n return {\n // Standard\n message: this.message,\n name: this.name,\n // Microsoft\n description: this.description,\n number: this.number,\n // Mozilla\n fileName: this.fileName,\n lineNumber: this.lineNumber,\n columnNumber: this.columnNumber,\n stack: this.stack,\n // Axios\n config: this.config,\n code: this.code,\n status: this.response && this.response.status ? this.response.status : null\n };\n }\n});\n\nvar prototype = AxiosError.prototype;\nvar descriptors = {};\n\n[\n 'ERR_BAD_OPTION_VALUE',\n 'ERR_BAD_OPTION',\n 'ECONNABORTED',\n 'ETIMEDOUT',\n 'ERR_NETWORK',\n 'ERR_FR_TOO_MANY_REDIRECTS',\n 'ERR_DEPRECATED',\n 'ERR_BAD_RESPONSE',\n 'ERR_BAD_REQUEST',\n 'ERR_CANCELED',\n 'ERR_NOT_SUPPORT',\n 'ERR_INVALID_URL'\n// eslint-disable-next-line func-names\n].forEach(function(code) {\n descriptors[code] = {value: code};\n});\n\nObject.defineProperties(AxiosError, descriptors);\nObject.defineProperty(prototype, 'isAxiosError', {value: true});\n\n// eslint-disable-next-line func-names\nAxiosError.from = function(error, code, config, request, response, customProps) {\n var axiosError = Object.create(prototype);\n\n utils.toFlatObject(error, axiosError, function filter(obj) {\n return obj !== Error.prototype;\n });\n\n AxiosError.call(axiosError, error.message, code, config, request, response);\n\n axiosError.cause = error;\n\n axiosError.name = error.name;\n\n customProps && Object.assign(axiosError, customProps);\n\n return axiosError;\n};\n\nmodule.exports = AxiosError;\n","'use strict';\n\nvar utils = require('./../utils');\n\nfunction InterceptorManager() {\n this.handlers = [];\n}\n\n/**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\nInterceptorManager.prototype.use = function use(fulfilled, rejected, options) {\n this.handlers.push({\n fulfilled: fulfilled,\n rejected: rejected,\n synchronous: options ? options.synchronous : false,\n runWhen: options ? options.runWhen : null\n });\n return this.handlers.length - 1;\n};\n\n/**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n */\nInterceptorManager.prototype.eject = function eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n};\n\n/**\n * Clear all interceptors from the stack\n */\nInterceptorManager.prototype.clear = function 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 */\nInterceptorManager.prototype.forEach = function forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n};\n\nmodule.exports = InterceptorManager;\n","'use strict';\n\nvar isAbsoluteURL = require('../helpers/isAbsoluteURL');\nvar combineURLs = require('../helpers/combineURLs');\n\n/**\n * Creates a new URL by combining the baseURL with the requestedURL,\n * only when the requestedURL is not already an absolute URL.\n * If the requestURL is absolute, this function returns the requestedURL untouched.\n *\n * @param {string} baseURL The base URL\n * @param {string} requestedURL Absolute or relative URL to combine\n * @returns {string} The combined full path\n */\nmodule.exports = function buildFullPath(baseURL, requestedURL) {\n if (baseURL && !isAbsoluteURL(requestedURL)) {\n return combineURLs(baseURL, requestedURL);\n }\n return requestedURL;\n};\n","'use strict';\n\nvar utils = require('./../utils');\nvar transformData = require('./transformData');\nvar isCancel = require('../cancel/isCancel');\nvar defaults = require('../defaults');\nvar CanceledError = require('../cancel/CanceledError');\nvar normalizeHeaderName = require('../helpers/normalizeHeaderName');\n\n/**\n * Throws a `CanceledError` if cancellation has been requested.\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n\n if (config.signal && config.signal.aborted) {\n throw new CanceledError();\n }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n * @returns {Promise} The Promise to be fulfilled\n */\nmodule.exports = function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n // Ensure headers exist\n config.headers = config.headers || {};\n\n // Transform request data\n config.data = transformData.call(\n config,\n config.data,\n config.headers,\n null,\n config.transformRequest\n );\n\n normalizeHeaderName(config.headers, 'Accept');\n normalizeHeaderName(config.headers, 'Content-Type');\n\n // Flatten headers\n config.headers = utils.merge(\n config.headers.common || {},\n config.headers[config.method] || {},\n config.headers\n );\n\n utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n function cleanHeaderConfig(method) {\n delete config.headers[method];\n }\n );\n\n var adapter = config.adapter || defaults.adapter;\n\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n response.data = transformData.call(\n config,\n response.data,\n response.headers,\n response.status,\n config.transformResponse\n );\n\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n if (reason && reason.response) {\n reason.response.data = transformData.call(\n config,\n reason.response.data,\n reason.response.headers,\n reason.response.status,\n config.transformResponse\n );\n }\n }\n\n return Promise.reject(reason);\n });\n};\n","'use strict';\n\nvar utils = require('../utils');\n\n/**\n * Config-specific merge-function which creates a new config-object\n * by merging two configuration objects together.\n *\n * @param {Object} config1\n * @param {Object} config2\n * @returns {Object} New object resulting from merging config2 to config1\n */\nmodule.exports = function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n var config = {};\n\n function getMergedValue(target, source) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge(target, source);\n } else if (utils.isEmptyObject(source)) {\n return utils.merge({}, target);\n } else if (utils.isPlainObject(source)) {\n return utils.merge({}, source);\n } else if (utils.isArray(source)) {\n return source.slice();\n }\n return source;\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDeepProperties(prop) {\n if (!utils.isUndefined(config2[prop])) {\n return getMergedValue(config1[prop], config2[prop]);\n } else if (!utils.isUndefined(config1[prop])) {\n return getMergedValue(undefined, config1[prop]);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function valueFromConfig2(prop) {\n if (!utils.isUndefined(config2[prop])) {\n return getMergedValue(undefined, config2[prop]);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function defaultToConfig2(prop) {\n if (!utils.isUndefined(config2[prop])) {\n return getMergedValue(undefined, config2[prop]);\n } else if (!utils.isUndefined(config1[prop])) {\n return getMergedValue(undefined, config1[prop]);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDirectKeys(prop) {\n if (prop in config2) {\n return getMergedValue(config1[prop], config2[prop]);\n } else if (prop in config1) {\n return getMergedValue(undefined, config1[prop]);\n }\n }\n\n var mergeMap = {\n 'url': valueFromConfig2,\n 'method': valueFromConfig2,\n 'data': valueFromConfig2,\n 'baseURL': defaultToConfig2,\n 'transformRequest': defaultToConfig2,\n 'transformResponse': defaultToConfig2,\n 'paramsSerializer': defaultToConfig2,\n 'timeout': defaultToConfig2,\n 'timeoutMessage': defaultToConfig2,\n 'withCredentials': defaultToConfig2,\n '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 };\n\n utils.forEach(Object.keys(config1).concat(Object.keys(config2)), function computeConfigValue(prop) {\n var merge = mergeMap[prop] || mergeDeepProperties;\n var configValue = merge(prop);\n (utils.isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue);\n });\n\n return config;\n};\n","'use strict';\n\nvar AxiosError = require('./AxiosError');\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n */\nmodule.exports = function settle(resolve, reject, response) {\n var validateStatus = response.config.validateStatus;\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(new AxiosError(\n 'Request failed with status code ' + response.status,\n [AxiosError.ERR_BAD_REQUEST, AxiosError.ERR_BAD_RESPONSE][Math.floor(response.status / 100) - 4],\n response.config,\n response.request,\n response\n ));\n }\n};\n","'use strict';\n\nvar utils = require('./../utils');\nvar defaults = require('../defaults');\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Object|String} data The data to be transformed\n * @param {Array} headers The headers for the request or response\n * @param {Number} status HTTP status code\n * @param {Array|Function} fns A single function or Array of functions\n * @returns {*} The resulting transformed data\n */\nmodule.exports = function transformData(data, headers, status, fns) {\n var context = this || defaults;\n /*eslint no-param-reassign:0*/\n utils.forEach(fns, function transform(fn) {\n data = fn.call(context, data, headers, status);\n });\n\n return data;\n};\n","'use strict';\n\nvar utils = require('../utils');\nvar normalizeHeaderName = require('../helpers/normalizeHeaderName');\nvar AxiosError = require('../core/AxiosError');\nvar transitionalDefaults = require('./transitional');\nvar toFormData = require('../helpers/toFormData');\nvar toURLEncodedForm = require('../helpers/toURLEncodedForm');\nvar platform = require('../platform');\nvar formDataToJSON = require('../helpers/formDataToJSON');\n\nvar DEFAULT_CONTENT_TYPE = {\n 'Content-Type': 'application/x-www-form-urlencoded'\n};\n\nfunction setContentTypeIfUnset(headers, value) {\n if (!utils.isUndefined(headers) && utils.isUndefined(headers['Content-Type'])) {\n headers['Content-Type'] = value;\n }\n}\n\nfunction getDefaultAdapter() {\n var adapter;\n if (typeof XMLHttpRequest !== 'undefined') {\n // For browsers use XHR adapter\n adapter = require('../adapters/xhr');\n } else if (typeof process !== 'undefined' && Object.prototype.toString.call(process) === '[object process]') {\n // For node use HTTP adapter\n adapter = require('../adapters/http');\n }\n return adapter;\n}\n\nfunction stringifySafely(rawValue, parser, encoder) {\n if (utils.isString(rawValue)) {\n try {\n (parser || JSON.parse)(rawValue);\n return utils.trim(rawValue);\n } catch (e) {\n if (e.name !== 'SyntaxError') {\n throw e;\n }\n }\n }\n\n return (encoder || JSON.stringify)(rawValue);\n}\n\nvar defaults = {\n\n transitional: transitionalDefaults,\n\n adapter: getDefaultAdapter(),\n\n transformRequest: [function transformRequest(data, headers) {\n normalizeHeaderName(headers, 'Accept');\n normalizeHeaderName(headers, 'Content-Type');\n\n var contentType = headers && headers['Content-Type'] || '';\n var hasJSONContentType = contentType.indexOf('application/json') > -1;\n var isObjectPayload = utils.isObject(data);\n\n if (isObjectPayload && utils.isHTMLForm(data)) {\n data = new FormData(data);\n }\n\n var 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 ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n setContentTypeIfUnset(headers, 'application/x-www-form-urlencoded;charset=utf-8');\n return data.toString();\n }\n\n var 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 var _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 setContentTypeIfUnset(headers, 'application/json');\n return stringifySafely(data);\n }\n\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n var transitional = this.transitional || defaults.transitional;\n var forcedJSONParsing = transitional && transitional.forcedJSONParsing;\n var JSONRequested = this.responseType === 'json';\n\n if (data && utils.isString(data) && ((forcedJSONParsing && !this.responseType) || JSONRequested)) {\n var silentJSONParsing = transitional && transitional.silentJSONParsing;\n var 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 }\n }\n};\n\nutils.forEach(['delete', 'get', 'head'], function forEachMethodNoData(method) {\n defaults.headers[method] = {};\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n defaults.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE);\n});\n\nmodule.exports = defaults;\n","'use strict';\n\nmodule.exports = {\n silentJSONParsing: true,\n forcedJSONParsing: true,\n clarifyTimeoutError: false\n};\n","// eslint-disable-next-line strict\nmodule.exports = require('form-data');\n","module.exports = {\n \"version\": \"0.28.1\"\n};","'use strict';\n\nvar toFormData = require('./toFormData');\n\nfunction encode(str) {\n var 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\nfunction AxiosURLSearchParams(params, options) {\n this._pairs = [];\n\n params && toFormData(params, this, options);\n}\n\nvar prototype = AxiosURLSearchParams.prototype;\n\nprototype.append = function append(name, value) {\n this._pairs.push([name, value]);\n};\n\nprototype.toString = function toString(encoder) {\n var _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\nmodule.exports = AxiosURLSearchParams;\n","'use strict';\n\nmodule.exports = function bind(fn, thisArg) {\n return function wrap() {\n return fn.apply(thisArg, arguments);\n };\n};\n","'use strict';\n\nvar utils = require('../utils');\nvar AxiosURLSearchParams = require('../helpers/AxiosURLSearchParams');\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} options\n * @returns {string} The formatted url\n */\nmodule.exports = function buildURL(url, params, options) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n\n var hashmarkIndex = url.indexOf('#');\n\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n\n var _encode = options && options.encode || encode;\n\n var serializeFn = options && options.serialize;\n\n var 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 url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n};\n","'use strict';\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n * @returns {string} The combined URL\n */\nmodule.exports = function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/+$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs support document.cookie\n (function standardBrowserEnv() {\n return {\n write: function write(name, value, expires, path, domain, secure) {\n var cookie = [];\n cookie.push(name + '=' + encodeURIComponent(value));\n\n if (utils.isNumber(expires)) {\n cookie.push('expires=' + new Date(expires).toGMTString());\n }\n\n if (utils.isString(path)) {\n cookie.push('path=' + path);\n }\n\n if (utils.isString(domain)) {\n cookie.push('domain=' + domain);\n }\n\n if (secure === true) {\n cookie.push('secure');\n }\n\n document.cookie = cookie.join('; ');\n },\n\n read: function read(name) {\n var match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove: function remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n };\n })() :\n\n // Non standard browser env (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return {\n write: function write() {},\n read: function read() { return null; },\n remove: function remove() {}\n };\n })()\n);\n","'use strict';\n\nvar utils = require('../utils');\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(function(match) {\n return match[0] === '[]' ? '' : match[1] || match[0];\n });\n}\n\nfunction arrayToObject(arr) {\n var obj = {};\n var keys = Object.keys(arr);\n var i;\n var len = keys.length;\n var key;\n for (i = 0; i < len; i++) {\n key = keys[i];\n obj[key] = arr[key];\n }\n return obj;\n}\n\nfunction formDataToJSON(formData) {\n function buildPath(path, value, target, index) {\n var name = path[index++];\n var isNumericKey = Number.isFinite(+name);\n var isLast = index >= path.length;\n name = !name && utils.isArray(target) ? target.length : name;\n\n if (isLast) {\n if (utils.hasOwnProperty(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 var 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 var obj = {};\n\n utils.forEachEntry(formData, function(name, value) {\n buildPath(parsePropPath(name), value, obj, 0);\n });\n\n return obj;\n }\n\n return null;\n}\n\nmodule.exports = formDataToJSON;\n","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nmodule.exports = function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"<scheme>://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d+\\-.]*:)?\\/\\//i.test(url);\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\n/**\n * Determines whether the payload is an error thrown by Axios\n *\n * @param {*} payload The value to test\n * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false\n */\nmodule.exports = function isAxiosError(payload) {\n return utils.isObject(payload) && (payload.isAxiosError === true);\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs have full support of the APIs needed to test\n // whether the request URL is of the same origin as current location.\n (function standardBrowserEnv() {\n var msie = /(msie|trident)/i.test(navigator.userAgent);\n var urlParsingNode = document.createElement('a');\n var originURL;\n\n /**\n * Parse a URL to discover it's components\n *\n * @param {String} url The URL to be parsed\n * @returns {Object}\n */\n function resolveURL(url) {\n var href = url;\n\n if (msie) {\n // IE needs attribute set twice to normalize properties\n urlParsingNode.setAttribute('href', href);\n href = urlParsingNode.href;\n }\n\n urlParsingNode.setAttribute('href', href);\n\n // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils\n return {\n href: urlParsingNode.href,\n protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',\n host: urlParsingNode.host,\n search: urlParsingNode.search ? urlParsingNode.search.replace(/^\\?/, '') : '',\n hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',\n hostname: urlParsingNode.hostname,\n port: urlParsingNode.port,\n pathname: (urlParsingNode.pathname.charAt(0) === '/') ?\n urlParsingNode.pathname :\n '/' + urlParsingNode.pathname\n };\n }\n\n originURL = resolveURL(window.location.href);\n\n /**\n * Determine if a URL shares the same origin as the current location\n *\n * @param {String} requestURL The URL to test\n * @returns {boolean} True if URL shares the same origin, otherwise false\n */\n return function isURLSameOrigin(requestURL) {\n var parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL;\n return (parsed.protocol === originURL.protocol &&\n parsed.host === originURL.host);\n };\n })() :\n\n // Non standard browser envs (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return function isURLSameOrigin() {\n return true;\n };\n })()\n);\n","'use strict';\n\nvar utils = require('../utils');\n\nmodule.exports = function normalizeHeaderName(headers, normalizedName) {\n utils.forEach(headers, function processHeader(value, name) {\n if (name !== normalizedName && name.toUpperCase() === normalizedName.toUpperCase()) {\n headers[normalizedName] = value;\n delete headers[name];\n }\n });\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\n// Headers whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nvar ignoreDuplicateOf = [\n 'age', 'authorization', 'content-length', 'content-type', 'etag',\n 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',\n 'last-modified', 'location', 'max-forwards', 'proxy-authorization',\n 'referer', 'retry-after', 'user-agent'\n];\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} headers Headers needing to be parsed\n * @returns {Object} Headers parsed into an object\n */\nmodule.exports = function parseHeaders(headers) {\n var parsed = {};\n var key;\n var val;\n var i;\n\n if (!headers) { return parsed; }\n\n utils.forEach(headers.split('\\n'), function parser(line) {\n i = line.indexOf(':');\n key = utils.trim(line.slice(0, i)).toLowerCase();\n val = utils.trim(line.slice(i + 1));\n\n if (key) {\n if (parsed[key] && ignoreDuplicateOf.indexOf(key) >= 0) {\n return;\n }\n if (key === 'set-cookie') {\n parsed[key] = (parsed[key] ? parsed[key] : []).concat([val]);\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n }\n });\n\n return parsed;\n};\n","'use strict';\n\nmodule.exports = function parseProtocol(url) {\n var match = /^([-+\\w]{1,25})(:?\\/\\/|:)/.exec(url);\n return match && match[1] || '';\n};\n","'use strict';\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n * @returns {Function}\n */\nmodule.exports = function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n};\n","'use strict';\n\nvar utils = require('../utils');\nvar AxiosError = require('../core/AxiosError');\nvar envFormData = require('../env/classes/FormData');\n\nfunction isVisitable(thing) {\n return utils.isPlainObject(thing) || utils.isArray(thing);\n}\n\nfunction removeBrackets(key) {\n return utils.endsWith(key, '[]') ? key.slice(0, -2) : key;\n}\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\nfunction isFlatArray(arr) {\n return utils.isArray(arr) && !arr.some(isVisitable);\n}\n\nvar predicates = utils.toFlatObject(utils, {}, null, function filter(prop) {\n return /^is[A-Z]/.test(prop);\n});\n\nfunction isSpecCompliant(thing) {\n return thing && utils.isFunction(thing.append) && thing[Symbol.toStringTag] === 'FormData' && thing[Symbol.iterator];\n}\n\n/**\n * Convert a data object to FormData\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 * @returns {Object}\n **/\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 (envFormData || 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 var metaTokens = options.metaTokens;\n // eslint-disable-next-line no-use-before-define\n var visitor = options.visitor || defaultVisitor;\n var dots = options.dots;\n var indexes = options.indexes;\n var _Blob = options.Blob || typeof Blob !== 'undefined' && Blob;\n var useBlob = _Blob && isSpecCompliant(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 *\n * @param {*} value\n * @param {String|Number} key\n * @param {Array<String|Number>} path\n * @this {FormData}\n * @returns {boolean} return true to visit the each prop of the value recursively\n */\n function defaultVisitor(value, key, path) {\n var 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) && 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 var stack = [];\n\n var exposedHelpers = Object.assign(predicates, {\n defaultVisitor: defaultVisitor,\n convertValue: convertValue,\n isVisitable: 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 var result = !utils.isUndefined(el) && 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\nmodule.exports = toFormData;\n","'use strict';\n\nvar utils = require('../utils');\nvar toFormData = require('./toFormData');\nvar platform = require('../platform/');\n\nmodule.exports = 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\nvar VERSION = require('../env/data').version;\nvar AxiosError = require('../core/AxiosError');\n\nvar validators = {};\n\n// eslint-disable-next-line func-names\n['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach(function(type, i) {\n validators[type] = function validator(thing) {\n return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type;\n };\n});\n\nvar deprecatedWarnings = {};\n\n/**\n * Transitional option validator\n * @param {function|boolean?} validator - set to false if the transitional option has been removed\n * @param {string?} version - deprecated version / removed since version\n * @param {string?} message - some message with additional info\n * @returns {function}\n */\nvalidators.transitional = function transitional(validator, version, message) {\n function formatMessage(opt, desc) {\n return '[Axios v' + VERSION + '] Transitional option \\'' + opt + '\\'' + desc + (message ? '. ' + message : '');\n }\n\n // eslint-disable-next-line func-names\n return function(value, opt, opts) {\n if (validator === false) {\n throw new AxiosError(\n formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')),\n AxiosError.ERR_DEPRECATED\n );\n }\n\n if (version && !deprecatedWarnings[opt]) {\n deprecatedWarnings[opt] = true;\n // eslint-disable-next-line no-console\n console.warn(\n formatMessage(\n opt,\n ' has been deprecated since v' + version + ' and will be removed in the near future'\n )\n );\n }\n\n return validator ? validator(value, opt, opts) : true;\n };\n};\n\n/**\n * Assert object's properties type\n * @param {object} options\n * @param {object} schema\n * @param {boolean?} allowUnknown\n */\n\nfunction assertOptions(options, schema, allowUnknown) {\n if (typeof options !== 'object') {\n throw new AxiosError('options must be an object', AxiosError.ERR_BAD_OPTION_VALUE);\n }\n var keys = Object.keys(options);\n var i = keys.length;\n while (i-- > 0) {\n var opt = keys[i];\n var validator = schema[opt];\n if (validator) {\n var value = options[opt];\n var result = value === undefined || validator(value, opt, options);\n if (result !== true) {\n throw new AxiosError('option ' + opt + ' must be ' + result, AxiosError.ERR_BAD_OPTION_VALUE);\n }\n continue;\n }\n if (allowUnknown !== true) {\n throw new AxiosError('Unknown option ' + opt, AxiosError.ERR_BAD_OPTION);\n }\n }\n}\n\nmodule.exports = {\n assertOptions: assertOptions,\n validators: validators\n};\n","'use strict';\n\nmodule.exports = FormData;\n","'use strict';\n\nvar AxiosURLSearchParams = require('../../../helpers/AxiosURLSearchParams');\n\nmodule.exports = typeof URLSearchParams !== 'undefined' ? URLSearchParams : AxiosURLSearchParams;\n","'use strict';\n\nmodule.exports = {\n isBrowser: true,\n classes: {\n URLSearchParams: require('./classes/URLSearchParams'),\n FormData: require('./classes/FormData'),\n Blob: Blob\n },\n protocols: ['http', 'https', 'file', 'blob', 'url', 'data']\n};\n","'use strict';\n\nmodule.exports = require('./node/');\n","'use strict';\n\nvar bind = require('./helpers/bind');\n\n// utils is a library of generic helper functions non-specific to axios\n\nvar toString = Object.prototype.toString;\n\n// eslint-disable-next-line func-names\nvar kindOf = (function(cache) {\n // eslint-disable-next-line func-names\n return function(thing) {\n var str = toString.call(thing);\n return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase());\n };\n})(Object.create(null));\n\nfunction kindOfTest(type) {\n type = type.toLowerCase();\n return function isKindOf(thing) {\n return kindOf(thing) === type;\n };\n}\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Array, otherwise false\n */\nfunction isArray(val) {\n return Array.isArray(val);\n}\n\n/**\n * Determine if a value is undefined\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nfunction isUndefined(val) {\n return typeof val === 'undefined';\n}\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Buffer, otherwise false\n */\nfunction isBuffer(val) {\n return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor)\n && typeof val.constructor.isBuffer === 'function' && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @function\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nvar isArrayBuffer = kindOfTest('ArrayBuffer');\n\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n var result;\n if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n result = ArrayBuffer.isView(val);\n } else {\n result = (val) && (val.buffer) && (isArrayBuffer(val.buffer));\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a String, otherwise false\n */\nfunction isString(val) {\n return typeof val === 'string';\n}\n\n/**\n * Determine if a value is a Number\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Number, otherwise false\n */\nfunction isNumber(val) {\n return typeof val === 'number';\n}\n\n/**\n * Determine if a value is an Object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Object, otherwise false\n */\nfunction isObject(val) {\n return val !== null && typeof val === 'object';\n}\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {Object} val The value to test\n * @return {boolean} True if value is a plain Object, otherwise false\n */\nfunction isPlainObject(val) {\n if (kindOf(val) !== 'object') {\n return false;\n }\n\n var prototype = Object.getPrototypeOf(val);\n return prototype === null || prototype === Object.prototype;\n}\n\n/**\n * Determine if a value is a empty Object\n *\n * @param {Object} val The value to test\n * @return {boolean} True if value is a empty Object, otherwise false\n */\nfunction isEmptyObject(val) {\n return val && Object.keys(val).length === 0 && Object.getPrototypeOf(val) === Object.prototype;\n}\n\n/**\n * Determine if a value is a Date\n *\n * @function\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Date, otherwise false\n */\nvar isDate = kindOfTest('Date');\n\n/**\n * Determine if a value is a File\n *\n * @function\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a File, otherwise false\n */\nvar isFile = kindOfTest('File');\n\n/**\n * Determine if a value is a Blob\n *\n * @function\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nvar isBlob = kindOfTest('Blob');\n\n/**\n * Determine if a value is a FileList\n *\n * @function\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a File, otherwise false\n */\nvar isFileList = kindOfTest('FileList');\n\n/**\n * Determine if a value is a Function\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nfunction isFunction(val) {\n return toString.call(val) === '[object Function]';\n}\n\n/**\n * Determine if a value is a Stream\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nfunction isStream(val) {\n return isObject(val) && isFunction(val.pipe);\n}\n\n/**\n * Determine if a value is a FormData\n *\n * @param {Object} thing The value to test\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nfunction isFormData(thing) {\n var pattern = '[object FormData]';\n return thing && (\n (typeof FormData === 'function' && thing instanceof FormData) ||\n toString.call(thing) === pattern ||\n (isFunction(thing.toString) && thing.toString() === pattern)\n );\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n * @function\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nvar isURLSearchParams = kindOfTest('URLSearchParams');\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n * @returns {String} The String freed of excess whitespace\n */\nfunction trim(str) {\n return str.trim ? str.trim() : str.replace(/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g, '');\n}\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n * nativescript\n * navigator.product -> 'NativeScript' or 'NS'\n */\nfunction isStandardBrowserEnv() {\n var product;\n if (typeof navigator !== 'undefined' && (\n (product = navigator.product) === 'ReactNative' ||\n product === 'NativeScript' ||\n product === 'NS')\n ) {\n return false;\n }\n\n return typeof window !== 'undefined' && typeof document !== 'undefined';\n}\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n */\nfunction forEach(obj, fn) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n // Force an array if not already something iterable\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (var i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Iterate over object keys\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n fn.call(null, obj[key], key, obj);\n }\n }\n }\n}\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n var result = {};\n function assignValue(val, key) {\n if (isPlainObject(result[key]) && isPlainObject(val)) {\n result[key] = merge(result[key], val);\n } else if (isPlainObject(val)) {\n result[key] = merge({}, val);\n } else if (isArray(val)) {\n result[key] = val.slice();\n } else {\n result[key] = val;\n }\n }\n\n for (var i = 0, l = arguments.length; i < l; i++) {\n forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n * @return {Object} The resulting value of object a\n */\nfunction extend(a, b, thisArg) {\n forEach(b, function assignValue(val, key) {\n if (thisArg && typeof val === 'function') {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n });\n return a;\n}\n\n/**\n * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)\n *\n * @param {string} content with BOM\n * @return {string} content value without BOM\n */\nfunction stripBOM(content) {\n if (content.charCodeAt(0) === 0xFEFF) {\n content = content.slice(1);\n }\n return content;\n}\n\n/**\n * Inherit the prototype methods from one constructor into another\n * @param {function} constructor\n * @param {function} superConstructor\n * @param {object} [props]\n * @param {object} [descriptors]\n */\n\nfunction inherits(constructor, superConstructor, props, descriptors) {\n constructor.prototype = Object.create(superConstructor.prototype, descriptors);\n constructor.prototype.constructor = constructor;\n props && Object.assign(constructor.prototype, props);\n}\n\n/**\n * Resolve object with deep prototype chain to a flat object\n * @param {Object} sourceObj source object\n * @param {Object} [destObj]\n * @param {Function|Boolean} [filter]\n * @param {Function} [propFilter]\n * @returns {Object}\n */\n\nfunction toFlatObject(sourceObj, destObj, filter, propFilter) {\n var props;\n var i;\n var prop;\n var 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 && Object.getPrototypeOf(sourceObj);\n } while (sourceObj && (!filter || filter(sourceObj, destObj)) && sourceObj !== Object.prototype);\n\n return destObj;\n}\n\n/*\n * determines whether a string ends with the characters of a specified string\n * @param {String} str\n * @param {String} searchString\n * @param {Number} [position= 0]\n * @returns {boolean}\n */\nfunction endsWith(str, searchString, position) {\n str = String(str);\n if (position === undefined || position > str.length) {\n position = str.length;\n }\n position -= searchString.length;\n var lastIndex = str.indexOf(searchString, position);\n return lastIndex !== -1 && lastIndex === position;\n}\n\n\n/**\n * Returns new array from array like object or null if failed\n * @param {*} [thing]\n * @returns {?Array}\n */\nfunction toArray(thing) {\n if (!thing) return null;\n if (isArray(thing)) return thing;\n var i = thing.length;\n if (!isNumber(i)) return null;\n var arr = new Array(i);\n while (i-- > 0) {\n arr[i] = thing[i];\n }\n return arr;\n}\n\n// eslint-disable-next-line func-names\nvar isTypedArray = (function(TypedArray) {\n // eslint-disable-next-line func-names\n return function(thing) {\n return TypedArray && thing instanceof TypedArray;\n };\n})(typeof Uint8Array !== 'undefined' && Object.getPrototypeOf(Uint8Array));\n\nfunction forEachEntry(obj, fn) {\n var generator = obj && obj[Symbol.iterator];\n\n var iterator = generator.call(obj);\n\n var result;\n\n while ((result = iterator.next()) && !result.done) {\n var pair = result.value;\n fn.call(obj, pair[0], pair[1]);\n }\n}\n\nfunction matchAll(regExp, str) {\n var matches;\n var arr = [];\n\n while ((matches = regExp.exec(str)) !== null) {\n arr.push(matches);\n }\n\n return arr;\n}\n\nvar isHTMLForm = kindOfTest('HTMLFormElement');\n\nvar hasOwnProperty = (function resolver(_hasOwnProperty) {\n return function(obj, prop) {\n return _hasOwnProperty.call(obj, prop);\n };\n})(Object.prototype.hasOwnProperty);\n\nmodule.exports = {\n isArray: isArray,\n isArrayBuffer: isArrayBuffer,\n isBuffer: isBuffer,\n isFormData: isFormData,\n isArrayBufferView: isArrayBufferView,\n isString: isString,\n isNumber: isNumber,\n isObject: isObject,\n isPlainObject: isPlainObject,\n isEmptyObject: isEmptyObject,\n isUndefined: isUndefined,\n isDate: isDate,\n isFile: isFile,\n isBlob: isBlob,\n isFunction: isFunction,\n isStream: isStream,\n isURLSearchParams: isURLSearchParams,\n isStandardBrowserEnv: isStandardBrowserEnv,\n forEach: forEach,\n merge: merge,\n extend: extend,\n trim: trim,\n stripBOM: stripBOM,\n inherits: inherits,\n toFlatObject: toFlatObject,\n kindOf: kindOf,\n kindOfTest: kindOfTest,\n endsWith: endsWith,\n toArray: toArray,\n isTypedArray: isTypedArray,\n isFileList: isFileList,\n forEachEntry: forEachEntry,\n matchAll: matchAll,\n isHTMLForm: isHTMLForm,\n hasOwnProperty: hasOwnProperty\n};\n","/* eslint-env browser */\nmodule.exports = typeof self == 'object' ? self.FormData : window.FormData;\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 <https://feross.org>\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 '<Buffer ' + str + '>'\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 GetIntrinsic = require('get-intrinsic');\n\nvar callBind = require('./');\n\nvar $indexOf = callBind(GetIntrinsic('String.prototype.indexOf'));\n\nmodule.exports = function callBoundIntrinsic(name, allowMissing) {\n\tvar intrinsic = GetIntrinsic(name, !!allowMissing);\n\tif (typeof intrinsic === 'function' && $indexOf(name, '.prototype.') > -1) {\n\t\treturn callBind(intrinsic);\n\t}\n\treturn intrinsic;\n};\n","'use strict';\n\nvar bind = require('function-bind');\nvar GetIntrinsic = require('get-intrinsic');\nvar setFunctionLength = require('set-function-length');\n\nvar $TypeError = require('es-errors/type');\nvar $apply = GetIntrinsic('%Function.prototype.apply%');\nvar $call = GetIntrinsic('%Function.prototype.call%');\nvar $reflectApply = GetIntrinsic('%Reflect.apply%', true) || bind.call($call, $apply);\n\nvar $defineProperty = require('es-define-property');\nvar $max = GetIntrinsic('%Math.max%');\n\nmodule.exports = function callBind(originalFunction) {\n\tif (typeof originalFunction !== 'function') {\n\t\tthrow new $TypeError('a function is required');\n\t}\n\tvar func = $reflectApply(bind, $call, arguments);\n\treturn setFunctionLength(\n\t\tfunc,\n\t\t1 + $max(0, originalFunction.length - (arguments.length - 1)),\n\t\ttrue\n\t);\n};\n\nvar applyBind = function applyBind() {\n\treturn $reflectApply(bind, $apply, arguments);\n};\n\nif ($defineProperty) {\n\t$defineProperty(module.exports, 'apply', { value: applyBind });\n} else {\n\tmodule.exports.apply = applyBind;\n}\n","var clone = (function() {\n'use strict';\n\nfunction _instanceof(obj, type) {\n return type != null && obj instanceof type;\n}\n\nvar nativeMap;\ntry {\n nativeMap = Map;\n} catch(_) {\n // maybe a reference error because no `Map`. Give it a dummy value that no\n // value will ever be an instanceof.\n nativeMap = function() {};\n}\n\nvar nativeSet;\ntry {\n nativeSet = Set;\n} catch(_) {\n nativeSet = function() {};\n}\n\nvar nativePromise;\ntry {\n nativePromise = Promise;\n} catch(_) {\n nativePromise = function() {};\n}\n\n/**\n * Clones (copies) an Object using deep copying.\n *\n * This function supports circular references by default, but if you are certain\n * there are no circular references in your object, you can save some CPU time\n * by calling clone(obj, false).\n *\n * Caution: if `circular` is false and `parent` contains circular references,\n * your program may enter an infinite loop and crash.\n *\n * @param `parent` - the object to be cloned\n * @param `circular` - set to true if the object to be cloned may contain\n * circular references. (optional - true by default)\n * @param `depth` - set to a number if the object is only to be cloned to\n * a particular depth. (optional - defaults to Infinity)\n * @param `prototype` - sets the prototype to be used when cloning an object.\n * (optional - defaults to parent prototype).\n * @param `includeNonEnumerable` - set to true if the non-enumerable properties\n * should be cloned as well. Non-enumerable properties on the prototype\n * chain will be ignored. (optional - false by default)\n*/\nfunction clone(parent, circular, depth, prototype, includeNonEnumerable) {\n if (typeof circular === 'object') {\n depth = circular.depth;\n prototype = circular.prototype;\n includeNonEnumerable = circular.includeNonEnumerable;\n circular = circular.circular;\n }\n // maintain two arrays for circular references, where corresponding parents\n // and children have the same index\n var allParents = [];\n var allChildren = [];\n\n var useBuffer = typeof Buffer != 'undefined';\n\n if (typeof circular == 'undefined')\n circular = true;\n\n if (typeof depth == 'undefined')\n depth = Infinity;\n\n // recurse this function so we don't reset allParents and allChildren\n function _clone(parent, depth) {\n // cloning null always returns null\n if (parent === null)\n return null;\n\n if (depth === 0)\n return parent;\n\n var child;\n var proto;\n if (typeof parent != 'object') {\n return parent;\n }\n\n if (_instanceof(parent, nativeMap)) {\n child = new nativeMap();\n } else if (_instanceof(parent, nativeSet)) {\n child = new nativeSet();\n } else if (_instanceof(parent, nativePromise)) {\n child = new nativePromise(function (resolve, reject) {\n parent.then(function(value) {\n resolve(_clone(value, depth - 1));\n }, function(err) {\n reject(_clone(err, depth - 1));\n });\n });\n } else if (clone.__isArray(parent)) {\n child = [];\n } else if (clone.__isRegExp(parent)) {\n child = new RegExp(parent.source, __getRegExpFlags(parent));\n if (parent.lastIndex) child.lastIndex = parent.lastIndex;\n } else if (clone.__isDate(parent)) {\n child = new Date(parent.getTime());\n } else if (useBuffer && Buffer.isBuffer(parent)) {\n if (Buffer.allocUnsafe) {\n // Node.js >= 4.5.0\n child = Buffer.allocUnsafe(parent.length);\n } else {\n // Older Node.js versions\n child = new Buffer(parent.length);\n }\n parent.copy(child);\n return child;\n } else if (_instanceof(parent, Error)) {\n child = Object.create(parent);\n } else {\n if (typeof prototype == 'undefined') {\n proto = Object.getPrototypeOf(parent);\n child = Object.create(proto);\n }\n else {\n child = Object.create(prototype);\n proto = prototype;\n }\n }\n\n if (circular) {\n var index = allParents.indexOf(parent);\n\n if (index != -1) {\n return allChildren[index];\n }\n allParents.push(parent);\n allChildren.push(child);\n }\n\n if (_instanceof(parent, nativeMap)) {\n parent.forEach(function(value, key) {\n var keyChild = _clone(key, depth - 1);\n var valueChild = _clone(value, depth - 1);\n child.set(keyChild, valueChild);\n });\n }\n if (_instanceof(parent, nativeSet)) {\n parent.forEach(function(value) {\n var entryChild = _clone(value, depth - 1);\n child.add(entryChild);\n });\n }\n\n for (var i in parent) {\n var attrs;\n if (proto) {\n attrs = Object.getOwnPropertyDescriptor(proto, i);\n }\n\n if (attrs && attrs.set == null) {\n continue;\n }\n child[i] = _clone(parent[i], depth - 1);\n }\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(parent);\n for (var i = 0; i < symbols.length; i++) {\n // Don't need to worry about cloning a symbol because it is a primitive,\n // like a number or string.\n var symbol = symbols[i];\n var descriptor = Object.getOwnPropertyDescriptor(parent, symbol);\n if (descriptor && !descriptor.enumerable && !includeNonEnumerable) {\n continue;\n }\n child[symbol] = _clone(parent[symbol], depth - 1);\n if (!descriptor.enumerable) {\n Object.defineProperty(child, symbol, {\n enumerable: false\n });\n }\n }\n }\n\n if (includeNonEnumerable) {\n var allPropertyNames = Object.getOwnPropertyNames(parent);\n for (var i = 0; i < allPropertyNames.length; i++) {\n var propertyName = allPropertyNames[i];\n var descriptor = Object.getOwnPropertyDescriptor(parent, propertyName);\n if (descriptor && descriptor.enumerable) {\n continue;\n }\n child[propertyName] = _clone(parent[propertyName], depth - 1);\n Object.defineProperty(child, propertyName, {\n enumerable: false\n });\n }\n }\n\n return child;\n }\n\n return _clone(parent, depth);\n}\n\n/**\n * Simple flat clone using prototype, accepts only objects, usefull for property\n * override on FLAT configuration object (no nested props).\n *\n * USE WITH CAUTION! This may not behave as you wish if you do not know how this\n * works.\n */\nclone.clonePrototype = function clonePrototype(parent) {\n if (parent === null)\n return null;\n\n var c = function () {};\n c.prototype = parent;\n return new c();\n};\n\n// private utility functions\n\nfunction __objToStr(o) {\n return Object.prototype.toString.call(o);\n}\nclone.__objToStr = __objToStr;\n\nfunction __isDate(o) {\n return typeof o === 'object' && __objToStr(o) === '[object Date]';\n}\nclone.__isDate = __isDate;\n\nfunction __isArray(o) {\n return typeof o === 'object' && __objToStr(o) === '[object Array]';\n}\nclone.__isArray = __isArray;\n\nfunction __isRegExp(o) {\n return typeof o === 'object' && __objToStr(o) === '[object RegExp]';\n}\nclone.__isRegExp = __isRegExp;\n\nfunction __getRegExpFlags(re) {\n var flags = '';\n if (re.global) flags += 'g';\n if (re.ignoreCase) flags += 'i';\n if (re.multiline) flags += 'm';\n return flags;\n}\nclone.__getRegExpFlags = __getRegExpFlags;\n\nreturn clone;\n})();\n\nif (typeof module === 'object' && module.exports) {\n module.exports = clone;\n}\n","function r(e){var t,f,n=\"\";if(\"string\"==typeof e||\"number\"==typeof e)n+=e;else if(\"object\"==typeof e)if(Array.isArray(e))for(t=0;t<e.length;t++)e[t]&&(f=r(e[t]))&&(n&&(n+=\" \"),n+=f);else for(t in e)e[t]&&(n&&(n+=\" \"),n+=t);return n}export function clsx(){for(var e,t,f=0,n=\"\";f<arguments.length;)(e=arguments[f++])&&(t=r(e))&&(n&&(n+=\" \"),n+=t);return n}export default clsx;","/*!\n * Converts CSS stylesheets between left-to-right and right-to-left.\n * https://github.com/cssjanus/cssjanus\n *\n * Copyright 2008 Google Inc.\n * Copyright 2010 Trevor Parscal\n */\n\nvar cssjanus;\n\n/**\n * Create a tokenizer object.\n *\n * This utility class is used by CSSJanus to protect strings by replacing them temporarily with\n * tokens and later transforming them back.\n *\n * @author Trevor Parscal\n * @author Roan Kattouw\n *\n * @class\n * @constructor\n * @param {RegExp} regex Regular expression whose matches to replace by a token\n * @param {string} token Placeholder text\n */\nfunction Tokenizer( regex, token ) {\n\n\tvar matches = [],\n\t\tindex = 0;\n\n\t/**\n\t * Add a match.\n\t *\n\t * @private\n\t * @param {string} match Matched string\n\t * @return {string} Token to leave in the matched string's place\n\t */\n\tfunction tokenizeCallback( match ) {\n\t\tmatches.push( match );\n\t\treturn token;\n\t}\n\n\t/**\n\t * Get a match.\n\t *\n\t * @private\n\t * @return {string} Original matched string to restore\n\t */\n\tfunction detokenizeCallback() {\n\t\treturn matches[ index++ ];\n\t}\n\n\treturn {\n\t\t/**\n\t\t * Replace matching strings with tokens.\n\t\t *\n\t\t * @param {string} str String to tokenize\n\t\t * @return {string} Tokenized string\n\t\t */\n\t\ttokenize: function ( str ) {\n\t\t\treturn str.replace( regex, tokenizeCallback );\n\t\t},\n\n\t\t/**\n\t\t * Restores tokens to their original values.\n\t\t *\n\t\t * @param {string} str String previously run through tokenize()\n\t\t * @return {string} Original string\n\t\t */\n\t\tdetokenize: function ( str ) {\n\t\t\treturn str.replace( new RegExp( '(' + token + ')', 'g' ), detokenizeCallback );\n\t\t}\n\t};\n}\n\n/**\n * Create a CSSJanus object.\n *\n * CSSJanus transforms CSS rules with horizontal relevance so that a left-to-right stylesheet can\n * become a right-to-left stylesheet automatically. Processing can be bypassed for an entire rule\n * or a single property by adding a / * @noflip * / comment above the rule or property.\n *\n * @author Trevor Parscal <trevorparscal@gmail.com>\n * @author Roan Kattouw <roankattouw@gmail.com>\n * @author Lindsey Simon <elsigh@google.com>\n * @author Roozbeh Pournader <roozbeh@gmail.com>\n * @author Bryon Engelhardt <ebryon77@gmail.com>\n *\n * @class\n * @constructor\n */\nfunction CSSJanus() {\n\n\tvar\n\t\t// Tokens\n\t\ttemporaryToken = '`TMP`',\n\t\tnoFlipSingleToken = '`NOFLIP_SINGLE`',\n\t\tnoFlipClassToken = '`NOFLIP_CLASS`',\n\t\tcommentToken = '`COMMENT`',\n\t\t// Patterns\n\t\tnonAsciiPattern = '[^\\\\u0020-\\\\u007e]',\n\t\tunicodePattern = '(?:(?:\\\\\\\\[0-9a-f]{1,6})(?:\\\\r\\\\n|\\\\s)?)',\n\t\tnumPattern = '(?:[0-9]*\\\\.[0-9]+|[0-9]+)',\n\t\tunitPattern = '(?:em|ex|px|cm|mm|in|pt|pc|deg|rad|grad|ms|s|hz|khz|%)',\n\t\tdirectionPattern = 'direction\\\\s*:\\\\s*',\n\t\turlSpecialCharsPattern = '[!#$%&*-~]',\n\t\tvalidAfterUriCharsPattern = '[\\'\"]?\\\\s*',\n\t\tnonLetterPattern = '(^|[^a-zA-Z])',\n\t\tcharsWithinSelectorPattern = '[^\\\\}]*?',\n\t\tnoFlipPattern = '\\\\/\\\\*\\\\!?\\\\s*@noflip\\\\s*\\\\*\\\\/',\n\t\tcommentPattern = '\\\\/\\\\*[^*]*\\\\*+([^\\\\/*][^*]*\\\\*+)*\\\\/',\n\t\tescapePattern = '(?:' + unicodePattern + '|\\\\\\\\[^\\\\r\\\\n\\\\f0-9a-f])',\n\t\tnmstartPattern = '(?:[_a-z]|' + nonAsciiPattern + '|' + escapePattern + ')',\n\t\tnmcharPattern = '(?:[_a-z0-9-]|' + nonAsciiPattern + '|' + escapePattern + ')',\n\t\tidentPattern = '-?' + nmstartPattern + nmcharPattern + '*',\n\t\tquantPattern = numPattern + '(?:\\\\s*' + unitPattern + '|' + identPattern + ')?',\n\t\tsignedQuantPattern = '((?:-?' + quantPattern + ')|(?:inherit|auto))',\n\t\tfourNotationQuantPropsPattern = '((?:margin|padding|border-width)\\\\s*:\\\\s*)',\n\t\tfourNotationColorPropsPattern = '((?:-color|border-style)\\\\s*:\\\\s*)',\n\t\tcolorPattern = '(#?' + nmcharPattern + '+|(?:rgba?|hsla?)\\\\([ \\\\d.,%-]+\\\\))',\n\t\t// The use of a lazy match (\"*?\") may cause a backtrack limit to be exceeded before finding\n\t\t// the intended match. This affects 'urlCharsPattern' and 'lookAheadNotOpenBracePattern'.\n\t\t// We have not yet found this problem on Node.js, but we have on PHP 7, where it was\n\t\t// mitigated by using a possessive quantifier (\"*+\"), which are not supported in JS.\n\t\t// See <https://github.com/cssjanus/php-cssjanus/issues/14> and <https://phabricator.wikimedia.org/T215746#4944830>.\n\t\turlCharsPattern = '(?:' + urlSpecialCharsPattern + '|' + nonAsciiPattern + '|' + escapePattern + ')*?',\n\t\tlookAheadNotLetterPattern = '(?![a-zA-Z])',\n\t\tlookAheadNotOpenBracePattern = '(?!(' + nmcharPattern + '|\\\\r?\\\\n|\\\\s|#|\\\\:|\\\\.|\\\\,|\\\\+|>|\\\\(|\\\\)|\\\\[|\\\\]|=|\\\\*=|~=|\\\\^=|\\'[^\\']*\\'])*?{)',\n\t\tlookAheadNotClosingParenPattern = '(?!' + urlCharsPattern + validAfterUriCharsPattern + '\\\\))',\n\t\tlookAheadForClosingParenPattern = '(?=' + urlCharsPattern + validAfterUriCharsPattern + '\\\\))',\n\t\tsuffixPattern = '(\\\\s*(?:!important\\\\s*)?[;}])',\n\t\t// Regular expressions\n\t\ttemporaryTokenRegExp = new RegExp( '`TMP`', 'g' ),\n\t\tcommentRegExp = new RegExp( commentPattern, 'gi' ),\n\t\tnoFlipSingleRegExp = new RegExp( '(' + noFlipPattern + lookAheadNotOpenBracePattern + '[^;}]+;?)', 'gi' ),\n\t\tnoFlipClassRegExp = new RegExp( '(' + noFlipPattern + charsWithinSelectorPattern + '})', 'gi' ),\n\t\tdirectionLtrRegExp = new RegExp( '(' + directionPattern + ')ltr', 'gi' ),\n\t\tdirectionRtlRegExp = new RegExp( '(' + directionPattern + ')rtl', 'gi' ),\n\t\tleftRegExp = new RegExp( nonLetterPattern + '(left)' + lookAheadNotLetterPattern + lookAheadNotClosingParenPattern + lookAheadNotOpenBracePattern, 'gi' ),\n\t\trightRegExp = new RegExp( nonLetterPattern + '(right)' + lookAheadNotLetterPattern + lookAheadNotClosingParenPattern + lookAheadNotOpenBracePattern, 'gi' ),\n\t\tleftInUrlRegExp = new RegExp( nonLetterPattern + '(left)' + lookAheadForClosingParenPattern, 'gi' ),\n\t\trightInUrlRegExp = new RegExp( nonLetterPattern + '(right)' + lookAheadForClosingParenPattern, 'gi' ),\n\t\tltrInUrlRegExp = new RegExp( nonLetterPattern + '(ltr)' + lookAheadForClosingParenPattern, 'gi' ),\n\t\trtlInUrlRegExp = new RegExp( nonLetterPattern + '(rtl)' + lookAheadForClosingParenPattern, 'gi' ),\n\t\tcursorEastRegExp = new RegExp( nonLetterPattern + '([ns]?)e-resize', 'gi' ),\n\t\tcursorWestRegExp = new RegExp( nonLetterPattern + '([ns]?)w-resize', 'gi' ),\n\t\tfourNotationQuantRegExp = new RegExp( fourNotationQuantPropsPattern + signedQuantPattern + '(\\\\s+)' + signedQuantPattern + '(\\\\s+)' + signedQuantPattern + '(\\\\s+)' + signedQuantPattern + suffixPattern, 'gi' ),\n\t\tfourNotationColorRegExp = new RegExp( fourNotationColorPropsPattern + colorPattern + '(\\\\s+)' + colorPattern + '(\\\\s+)' + colorPattern + '(\\\\s+)' + colorPattern + suffixPattern, 'gi' ),\n\t\tbgHorizontalPercentageRegExp = new RegExp( '(background(?:-position)?\\\\s*:\\\\s*(?:[^:;}\\\\s]+\\\\s+)*?)(' + quantPattern + ')', 'gi' ),\n\t\tbgHorizontalPercentageXRegExp = new RegExp( '(background-position-x\\\\s*:\\\\s*)(-?' + numPattern + '%)', 'gi' ),\n\t\t// border-radius: <length or percentage>{1,4} [optional: / <length or percentage>{1,4} ]\n\t\tborderRadiusRegExp = new RegExp( '(border-radius\\\\s*:\\\\s*)' + signedQuantPattern + '(?:(?:\\\\s+' + signedQuantPattern + ')(?:\\\\s+' + signedQuantPattern + ')?(?:\\\\s+' + signedQuantPattern + ')?)?' +\n\t\t\t'(?:(?:(?:\\\\s*\\\\/\\\\s*)' + signedQuantPattern + ')(?:\\\\s+' + signedQuantPattern + ')?(?:\\\\s+' + signedQuantPattern + ')?(?:\\\\s+' + signedQuantPattern + ')?)?' + suffixPattern, 'gi' ),\n\t\tboxShadowRegExp = new RegExp( '(box-shadow\\\\s*:\\\\s*(?:inset\\\\s*)?)' + signedQuantPattern, 'gi' ),\n\t\ttextShadow1RegExp = new RegExp( '(text-shadow\\\\s*:\\\\s*)' + signedQuantPattern + '(\\\\s*)' + colorPattern, 'gi' ),\n\t\ttextShadow2RegExp = new RegExp( '(text-shadow\\\\s*:\\\\s*)' + colorPattern + '(\\\\s*)' + signedQuantPattern, 'gi' ),\n\t\ttextShadow3RegExp = new RegExp( '(text-shadow\\\\s*:\\\\s*)' + signedQuantPattern, 'gi' ),\n\t\ttranslateXRegExp = new RegExp( '(transform\\\\s*:[^;}]*)(translateX\\\\s*\\\\(\\\\s*)' + signedQuantPattern + '(\\\\s*\\\\))', 'gi' ),\n\t\ttranslateRegExp = new RegExp( '(transform\\\\s*:[^;}]*)(translate\\\\s*\\\\(\\\\s*)' + signedQuantPattern + '((?:\\\\s*,\\\\s*' + signedQuantPattern + '){0,2}\\\\s*\\\\))', 'gi' );\n\n\t/**\n\t * Invert the horizontal value of a background position property.\n\t *\n\t * @private\n\t * @param {string} match Matched property\n\t * @param {string} pre Text before value\n\t * @param {string} value Horizontal value\n\t * @return {string} Inverted property\n\t */\n\tfunction calculateNewBackgroundPosition( match, pre, value ) {\n\t\tvar idx, len;\n\t\tif ( value.slice( -1 ) === '%' ) {\n\t\t\tidx = value.indexOf( '.' );\n\t\t\tif ( idx !== -1 ) {\n\t\t\t\t// Two off, one for the \"%\" at the end, one for the dot itself\n\t\t\t\tlen = value.length - idx - 2;\n\t\t\t\tvalue = 100 - parseFloat( value );\n\t\t\t\tvalue = value.toFixed( len ) + '%';\n\t\t\t} else {\n\t\t\t\tvalue = 100 - parseFloat( value ) + '%';\n\t\t\t}\n\t\t}\n\t\treturn pre + value;\n\t}\n\n\t/**\n\t * Invert a set of border radius values.\n\t *\n\t * @private\n\t * @param {Array} values Matched values\n\t * @return {string} Inverted values\n\t */\n\tfunction flipBorderRadiusValues( values ) {\n\t\tswitch ( values.length ) {\n\t\t\tcase 4:\n\t\t\t\tvalues = [ values[ 1 ], values[ 0 ], values[ 3 ], values[ 2 ] ];\n\t\t\t\tbreak;\n\t\t\tcase 3:\n\t\t\t\tvalues = [ values[ 1 ], values[ 0 ], values[ 1 ], values[ 2 ] ];\n\t\t\t\tbreak;\n\t\t\tcase 2:\n\t\t\t\tvalues = [ values[ 1 ], values[ 0 ] ];\n\t\t\t\tbreak;\n\t\t\tcase 1:\n\t\t\t\tvalues = [ values[ 0 ] ];\n\t\t\t\tbreak;\n\t\t}\n\n\t\treturn values.join( ' ' );\n\t}\n\n\t/**\n\t * Invert a set of border radius values.\n\t *\n\t * @private\n\t * @param {string} match Matched property\n\t * @param {string} pre Text before value\n\t * @param {string} [firstGroup1]\n\t * @param {string} [firstGroup2]\n\t * @param {string} [firstGroup3]\n\t * @param {string} [firstGroup4]\n\t * @param {string} [secondGroup1]\n\t * @param {string} [secondGroup2]\n\t * @param {string} [secondGroup3]\n\t * @param {string} [secondGroup4]\n\t * @param {string} [post] Text after value\n\t * @return {string} Inverted property\n\t */\n\tfunction calculateNewBorderRadius( match, pre ) {\n\t\tvar values,\n\t\t\targs = [].slice.call( arguments ),\n\t\t\tfirstGroup = args.slice( 2, 6 ).filter( function ( val ) { return val; } ),\n\t\t\tsecondGroup = args.slice( 6, 10 ).filter( function ( val ) { return val; } ),\n\t\t\tpost = args[ 10 ] || '';\n\n\t\tif ( secondGroup.length ) {\n\t\t\tvalues = flipBorderRadiusValues( firstGroup ) + ' / ' + flipBorderRadiusValues( secondGroup );\n\t\t} else {\n\t\t\tvalues = flipBorderRadiusValues( firstGroup );\n\t\t}\n\n\t\treturn pre + values + post;\n\t}\n\n\t/**\n\t * Flip the sign of a CSS value, possibly with a unit.\n\t *\n\t * We can't just negate the value with unary minus due to the units.\n\t *\n\t * @private\n\t * @param {string} value\n\t * @return {string}\n\t */\n\tfunction flipSign( value ) {\n\t\tif ( parseFloat( value ) === 0 ) {\n\t\t\t// Don't mangle zeroes\n\t\t\treturn value;\n\t\t}\n\n\t\tif ( value[ 0 ] === '-' ) {\n\t\t\treturn value.slice( 1 );\n\t\t}\n\n\t\treturn '-' + value;\n\t}\n\n\t/**\n\t * @private\n\t * @param {string} match\n\t * @param {string} property\n\t * @param {string} offset\n\t * @return {string}\n\t */\n\tfunction calculateNewShadow( match, property, offset ) {\n\t\treturn property + flipSign( offset );\n\t}\n\n\t/**\n\t * @private\n\t * @param {string} match\n\t * @param {string} property\n\t * @param {string} prefix\n\t * @param {string} offset\n\t * @param {string} suffix\n\t * @return {string}\n\t */\n\tfunction calculateNewTranslate( match, property, prefix, offset, suffix ) {\n\t\treturn property + prefix + flipSign( offset ) + suffix;\n\t}\n\n\t/**\n\t * @private\n\t * @param {string} match\n\t * @param {string} property\n\t * @param {string} color\n\t * @param {string} space\n\t * @param {string} offset\n\t * @return {string}\n\t */\n\tfunction calculateNewFourTextShadow( match, property, color, space, offset ) {\n\t\treturn property + color + space + flipSign( offset );\n\t}\n\n\treturn {\n\t\t/**\n\t\t * Transform a left-to-right stylesheet to right-to-left.\n\t\t *\n\t\t * @param {string} css Stylesheet to transform\n\t\t * @param {Object} options Options\n\t\t * @param {boolean} [options.transformDirInUrl=false] Transform directions in URLs (e.g. 'ltr', 'rtl')\n\t\t * @param {boolean} [options.transformEdgeInUrl=false] Transform edges in URLs (e.g. 'left', 'right')\n\t\t * @return {string} Transformed stylesheet\n\t\t */\n\t\t'transform': function ( css, options ) { // eslint-disable-line quote-props, (for closure compiler)\n\t\t\t// Tokenizers\n\t\t\tvar noFlipSingleTokenizer = new Tokenizer( noFlipSingleRegExp, noFlipSingleToken ),\n\t\t\t\tnoFlipClassTokenizer = new Tokenizer( noFlipClassRegExp, noFlipClassToken ),\n\t\t\t\tcommentTokenizer = new Tokenizer( commentRegExp, commentToken );\n\n\t\t\t// Tokenize\n\t\t\tcss = commentTokenizer.tokenize(\n\t\t\t\tnoFlipClassTokenizer.tokenize(\n\t\t\t\t\tnoFlipSingleTokenizer.tokenize(\n\t\t\t\t\t\t// We wrap tokens in ` , not ~ like the original implementation does.\n\t\t\t\t\t\t// This was done because ` is not a legal character in CSS and can only\n\t\t\t\t\t\t// occur in URLs, where we escape it to %60 before inserting our tokens.\n\t\t\t\t\t\tcss.replace( '`', '%60' )\n\t\t\t\t\t)\n\t\t\t\t)\n\t\t\t);\n\n\t\t\t// Transform URLs\n\t\t\tif ( options.transformDirInUrl ) {\n\t\t\t\t// Replace 'ltr' with 'rtl' and vice versa in background URLs\n\t\t\t\tcss = css\n\t\t\t\t\t.replace( ltrInUrlRegExp, '$1' + temporaryToken )\n\t\t\t\t\t.replace( rtlInUrlRegExp, '$1ltr' )\n\t\t\t\t\t.replace( temporaryTokenRegExp, 'rtl' );\n\t\t\t}\n\t\t\tif ( options.transformEdgeInUrl ) {\n\t\t\t\t// Replace 'left' with 'right' and vice versa in background URLs\n\t\t\t\tcss = css\n\t\t\t\t\t.replace( leftInUrlRegExp, '$1' + temporaryToken )\n\t\t\t\t\t.replace( rightInUrlRegExp, '$1left' )\n\t\t\t\t\t.replace( temporaryTokenRegExp, 'right' );\n\t\t\t}\n\n\t\t\t// Transform rules\n\t\t\tcss = css\n\t\t\t\t// Replace direction: ltr; with direction: rtl; and vice versa.\n\t\t\t\t.replace( directionLtrRegExp, '$1' + temporaryToken )\n\t\t\t\t.replace( directionRtlRegExp, '$1ltr' )\n\t\t\t\t.replace( temporaryTokenRegExp, 'rtl' )\n\t\t\t\t// Flip rules like left: , padding-right: , etc.\n\t\t\t\t.replace( leftRegExp, '$1' + temporaryToken )\n\t\t\t\t.replace( rightRegExp, '$1left' )\n\t\t\t\t.replace( temporaryTokenRegExp, 'right' )\n\t\t\t\t// Flip East and West in rules like cursor: nw-resize;\n\t\t\t\t.replace( cursorEastRegExp, '$1$2' + temporaryToken )\n\t\t\t\t.replace( cursorWestRegExp, '$1$2e-resize' )\n\t\t\t\t.replace( temporaryTokenRegExp, 'w-resize' )\n\t\t\t\t// Border radius\n\t\t\t\t.replace( borderRadiusRegExp, calculateNewBorderRadius )\n\t\t\t\t// Shadows\n\t\t\t\t.replace( boxShadowRegExp, calculateNewShadow )\n\t\t\t\t.replace( textShadow1RegExp, calculateNewFourTextShadow )\n\t\t\t\t.replace( textShadow2RegExp, calculateNewFourTextShadow )\n\t\t\t\t.replace( textShadow3RegExp, calculateNewShadow )\n\t\t\t\t// Translate\n\t\t\t\t.replace( translateXRegExp, calculateNewTranslate )\n\t\t\t\t.replace( translateRegExp, calculateNewTranslate )\n\t\t\t\t// Swap the second and fourth parts in four-part notation rules\n\t\t\t\t// like padding: 1px 2px 3px 4px;\n\t\t\t\t.replace( fourNotationQuantRegExp, '$1$2$3$8$5$6$7$4$9' )\n\t\t\t\t.replace( fourNotationColorRegExp, '$1$2$3$8$5$6$7$4$9' )\n\t\t\t\t// Flip horizontal background percentages\n\t\t\t\t.replace( bgHorizontalPercentageRegExp, calculateNewBackgroundPosition )\n\t\t\t\t.replace( bgHorizontalPercentageXRegExp, calculateNewBackgroundPosition );\n\n\t\t\t// Detokenize\n\t\t\tcss = noFlipSingleTokenizer.detokenize(\n\t\t\t\tnoFlipClassTokenizer.detokenize(\n\t\t\t\t\tcommentTokenizer.detokenize( css )\n\t\t\t\t)\n\t\t\t);\n\n\t\t\treturn css;\n\t\t}\n\t};\n}\n\n/* Initialization */\n\ncssjanus = new CSSJanus();\n\n/* Exports */\n\nif ( typeof module !== 'undefined' && module.exports ) {\n\t/**\n\t* Transform a left-to-right stylesheet to right-to-left.\n\t*\n\t* This function is a static wrapper around the transform method of an instance of CSSJanus.\n\t*\n\t* @param {string} css Stylesheet to transform\n\t* @param {Object|boolean} [options] Options object, or transformDirInUrl option (back-compat)\n\t* @param {boolean} [options.transformDirInUrl=false] Transform directions in URLs (e.g. 'ltr', 'rtl')\n\t* @param {boolean} [options.transformEdgeInUrl=false] Transform edges in URLs (e.g. 'left', 'right')\n\t* @param {boolean} [transformEdgeInUrl] Back-compat parameter\n\t* @return {string} Transformed stylesheet\n\t*/\n\texports.transform = function ( css, options, transformEdgeInUrl ) {\n\t\tvar norm;\n\t\tif ( typeof options === 'object' ) {\n\t\t\tnorm = options;\n\t\t} else {\n\t\t\tnorm = {};\n\t\t\tif ( typeof options === 'boolean' ) {\n\t\t\t\tnorm.transformDirInUrl = options;\n\t\t\t}\n\t\t\tif ( typeof transformEdgeInUrl === 'boolean' ) {\n\t\t\t\tnorm.transformEdgeInUrl = transformEdgeInUrl;\n\t\t\t}\n\t\t}\n\t\treturn cssjanus.transform( css, norm );\n\t};\n} else if ( typeof window !== 'undefined' ) {\n\t/* global window */\n\t// Allow cssjanus to be used in a browser.\n\t// eslint-disable-next-line dot-notation\n\twindow[ 'cssjanus' ] = cssjanus;\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()<n.date())return-t(n,e);var r=12*(n.year()-e.year())+(n.month()-e.month()),i=e.clone().add(r,c),s=n-i<0,u=e.clone().add(r+(s?-1:1),c);return+(-(r+(n-i)/(s?i-u:u-i))||0)},a:function(t){return t<0?Math.ceil(t)||0:Math.floor(t)},p:function(t){return{M:c,y:h,w:o,d:a,D:d,h:u,m:s,s:i,ms:r,Q:f}[t]||String(t||\"\").toLowerCase().replace(/s$/,\"\")},u:function(t){return void 0===t}},g=\"en\",D={};D[g]=M;var p=\"$isDayjsObject\",S=function(t){return t instanceof _||!(!t||!t[p])},w=function t(e,n,r){var i;if(!e)return g;if(\"string\"==typeof e){var s=e.toLowerCase();D[s]&&(i=s),n&&(D[s]=n,i=s);var u=e.split(\"-\");if(!i&&u.length>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)<this.startOf(e)},m.isBefore=function(t,e){return this.endOf(e)<O(t)},m.$g=function(t,e,n){return b.u(t)?this[e]:this.set(n,t)},m.unix=function(){return Math.floor(this.valueOf()/1e3)},m.valueOf=function(){return this.$d.getTime()},m.startOf=function(t,e){var n=this,r=!!b.u(e)||e,f=b.p(t),l=function(t,e){var i=b.w(n.$u?Date.UTC(n.$y,e,t):new Date(n.$y,e,t),n);return r?i:i.endOf(a)},$=function(t,e){return b.w(n.toDate()[t].apply(n.toDate(\"s\"),(r?[0,0,0,0]:[23,59,59,999]).slice(e)),n)},y=this.$W,M=this.$M,m=this.$D,v=\"set\"+(this.$u?\"UTC\":\"\");switch(f){case h:return r?l(1,0):l(31,11);case c:return r?l(1,M):l(0,M+1);case o:var g=this.$locale().weekStart||0,D=(y<g?y+7:y)-g;return l(r?m-D:m+(6-D),M);case a:case d:return $(v+\"Hours\",0);case u:return $(v+\"Minutes\",1);case s:return $(v+\"Seconds\",2);case i:return $(v+\"Milliseconds\",3);default:return this.clone()}},m.endOf=function(t){return this.startOf(t,!1)},m.$set=function(t,e){var n,o=b.p(t),f=\"set\"+(this.$u?\"UTC\":\"\"),l=(n={},n[a]=f+\"Date\",n[d]=f+\"Date\",n[c]=f+\"Month\",n[h]=f+\"FullYear\",n[u]=f+\"Hours\",n[s]=f+\"Minutes\",n[i]=f+\"Seconds\",n[r]=f+\"Milliseconds\",n)[o],$=o===a?this.$D+(e-this.$W):e;if(o===c||o===h){var y=this.clone().set(d,1);y.$d[l]($),y.init(),this.$d=y.set(d,Math.min(this.$D,y.daysInMonth())).$d}else l&&this.$d[l]($);return this.init(),this},m.set=function(t,e){return this.clone().$set(t,e)},m.get=function(t){return this[b.p(t)]()},m.add=function(r,f){var d,l=this;r=Number(r);var $=b.p(f),y=function(t){var e=O(l);return b.w(e.date(e.date()+Math.round(t*r)),l)};if($===c)return this.set(c,this.$M+r);if($===h)return this.set(h,this.$y+r);if($===a)return y(1);if($===o)return y(7);var M=(d={},d[s]=e,d[u]=n,d[i]=t,d)[$]||1,m=this.$d.getTime()+r*M;return b.w(m,this)},m.subtract=function(t,e){return this.add(-1*t,e)},m.format=function(t){var e=this,n=this.$locale();if(!this.isValid())return n.invalidDate||l;var r=t||\"YYYY-MM-DDTHH:mm:ssZ\",i=b.z(this),s=this.$H,u=this.$m,a=this.$M,o=n.weekdays,c=n.months,f=n.meridiem,h=function(t,n,i,s){return t&&(t[n]||t(e,r))||i[n].slice(0,s)},d=function(t){return b.s(s%12||12,t,\"0\")},$=f||function(t,e,n){var r=t<12?\"AM\":\"PM\";return n?r.toLowerCase():r};return r.replace(y,(function(t,r){return r||function(t){switch(t){case\"YY\":return String(e.$y).slice(-2);case\"YYYY\":return b.s(e.$y,4,\"0\");case\"M\":return a+1;case\"MM\":return b.s(a+1,2,\"0\");case\"MMM\":return h(n.monthsShort,a,c,3);case\"MMMM\":return h(c,a);case\"D\":return e.$D;case\"DD\":return b.s(e.$D,2,\"0\");case\"d\":return String(e.$W);case\"dd\":return h(n.weekdaysMin,e.$W,o,2);case\"ddd\":return h(n.weekdaysShort,e.$W,o,3);case\"dddd\":return o[e.$W];case\"H\":return String(s);case\"HH\":return b.s(s,2,\"0\");case\"h\":return d(1);case\"hh\":return d(2);case\"a\":return $(s,u,!0);case\"A\":return $(s,u,!1);case\"m\":return String(u);case\"mm\":return b.s(u,2,\"0\");case\"s\":return String(e.$s);case\"ss\":return b.s(e.$s,2,\"0\");case\"SSS\":return b.s(e.$ms,3,\"0\");case\"Z\":return i}return null}(t)||i.replace(\":\",\"\")}))},m.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},m.diff=function(r,d,l){var $,y=this,M=b.p(d),m=O(r),v=(m.utcOffset()-this.utcOffset())*e,g=this-m,D=function(){return b.m(y,m)};switch(M){case h:$=D()/12;break;case c:$=D();break;case f:$=D()/3;break;case o:$=(g-v)/6048e5;break;case a:$=(g-v)/864e5;break;case u:$=g/n;break;case s:$=g/e;break;case i:$=g/t;break;default:$=g}return l?$:b.a($)},m.daysInMonth=function(){return this.endOf(c).$D},m.$locale=function(){return D[this.$L]},m.locale=function(t,e){if(!t)return this.$L;var n=this.clone(),r=w(t,e,!0);return r&&(n.$L=r),n},m.clone=function(){return b.w(this.$d,this)},m.toDate=function(){return new Date(this.valueOf())},m.toJSON=function(){return this.isValid()?this.toISOString():null},m.toISOString=function(){return this.$d.toISOString()},m.toString=function(){return this.$d.toUTCString()},M}(),k=_.prototype;return O.prototype=k,[[\"$ms\",r],[\"$s\",i],[\"$m\",s],[\"$H\",u],[\"$W\",a],[\"$M\",c],[\"$y\",h],[\"$D\",d]].forEach((function(t){k[t[1]]=function(e){return this.$g(e,t[0],t[1])}})),O.extend=function(t,e){return t.$i||(t(e,_,O),t.$i=!0),O},O.locale=w,O.isDayjs=S,O.unix=function(t){return O(1e3*t)},O.en=D[g],O.Ls=D,O.p={},O}));","!function(t,i){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=i():\"function\"==typeof define&&define.amd?define(i):(t=\"undefined\"!=typeof globalThis?globalThis:t||self).dayjs_plugin_utc=i()}(this,(function(){\"use strict\";var t=\"minute\",i=/[+-]\\d\\d(?::?\\d\\d)?/g,e=/([+-]|\\d\\d)/g;return function(s,f,n){var u=f.prototype;n.utc=function(t){var i={date:t,utc:!0,args:arguments};return new f(i)},u.utc=function(i){var e=n(this.toDate(),{locale:this.$L,utc:!0});return i?e.add(this.utcOffset(),t):e},u.local=function(){return n(this.toDate(),{locale:this.$L,utc:!1})};var o=u.parse;u.parse=function(t){t.utc&&(this.$u=!0),this.$utils().u(t.$offset)||(this.$offset=t.$offset),o.call(this,t)};var r=u.init;u.init=function(){if(this.$u){var t=this.$d;this.$y=t.getUTCFullYear(),this.$M=t.getUTCMonth(),this.$D=t.getUTCDate(),this.$W=t.getUTCDay(),this.$H=t.getUTCHours(),this.$m=t.getUTCMinutes(),this.$s=t.getUTCSeconds(),this.$ms=t.getUTCMilliseconds()}else r.call(this)};var a=u.utcOffset;u.utcOffset=function(s,f){var n=this.$utils().u;if(n(s))return this.$u?0:n(this.$offset)?a.call(this):this.$offset;if(\"string\"==typeof s&&(s=function(t){void 0===t&&(t=\"\");var s=t.match(i);if(!s)return null;var f=(\"\"+s[0]).match(e)||[\"-\",0,0],n=f[0],u=60*+f[1]+ +f[2];return 0===u?0:\"+\"===n?u:-u}(s),null===s))return this;var u=Math.abs(s)<=16?60*s:s,o=this;if(f)return o.$offset=u,o.$u=0===s,o;if(0!==s){var r=this.$u?this.toDate().getTimezoneOffset():-1*this.utcOffset();(o=this.local().add(u+r,t)).$offset=u,o.$x.$localOffset=r}else o=this.utc();return o};var h=u.format;u.format=function(t){var i=t||(this.$u?\"YYYY-MM-DDTHH:mm:ss[Z]\":\"\");return h.call(this,i)},u.valueOf=function(){var t=this.$utils().u(this.$offset)?0:this.$offset+(this.$x.$localOffset||this.$d.getTimezoneOffset());return this.$d.valueOf()-6e4*t},u.isUTC=function(){return!!this.$u},u.toISOString=function(){return this.toDate().toISOString()},u.toString=function(){return this.toDate().toUTCString()};var l=u.toDate;u.toDate=function(t){return\"s\"===t&&this.$offset?n(this.format(\"YYYY-MM-DD HH:mm:ss:SSS\")).toDate():l.call(this)};var c=u.diff;u.diff=function(t,i,e){if(t&&this.$u===t.$u)return c.call(this,t,i,e);var s=this.local(),f=n(t).local();return c.call(s,f,i,e)}}}));","'use strict';\n\nvar $defineProperty = require('es-define-property');\n\nvar $SyntaxError = require('es-errors/syntax');\nvar $TypeError = require('es-errors/type');\n\nvar gopd = require('gopd');\n\n/** @type {import('.')} */\nmodule.exports = function defineDataProperty(\n\tobj,\n\tproperty,\n\tvalue\n) {\n\tif (!obj || (typeof obj !== 'object' && typeof obj !== 'function')) {\n\t\tthrow new $TypeError('`obj` must be an object or a function`');\n\t}\n\tif (typeof property !== 'string' && typeof property !== 'symbol') {\n\t\tthrow new $TypeError('`property` must be a string or a symbol`');\n\t}\n\tif (arguments.length > 3 && typeof arguments[3] !== 'boolean' && arguments[3] !== null) {\n\t\tthrow new $TypeError('`nonEnumerable`, if provided, must be a boolean or null');\n\t}\n\tif (arguments.length > 4 && typeof arguments[4] !== 'boolean' && arguments[4] !== null) {\n\t\tthrow new $TypeError('`nonWritable`, if provided, must be a boolean or null');\n\t}\n\tif (arguments.length > 5 && typeof arguments[5] !== 'boolean' && arguments[5] !== null) {\n\t\tthrow new $TypeError('`nonConfigurable`, if provided, must be a boolean or null');\n\t}\n\tif (arguments.length > 6 && typeof arguments[6] !== 'boolean') {\n\t\tthrow new $TypeError('`loose`, if provided, must be a boolean');\n\t}\n\n\tvar nonEnumerable = arguments.length > 3 ? arguments[3] : null;\n\tvar nonWritable = arguments.length > 4 ? arguments[4] : null;\n\tvar nonConfigurable = arguments.length > 5 ? arguments[5] : null;\n\tvar loose = arguments.length > 6 ? arguments[6] : false;\n\n\t/* @type {false | TypedPropertyDescriptor<unknown>} */\n\tvar desc = !!gopd && gopd(obj, property);\n\n\tif ($defineProperty) {\n\t\t$defineProperty(obj, property, {\n\t\t\tconfigurable: nonConfigurable === null && desc ? desc.configurable : !nonConfigurable,\n\t\t\tenumerable: nonEnumerable === null && desc ? desc.enumerable : !nonEnumerable,\n\t\t\tvalue: value,\n\t\t\twritable: nonWritable === null && desc ? desc.writable : !nonWritable\n\t\t});\n\t} else if (loose || (!nonEnumerable && !nonWritable && !nonConfigurable)) {\n\t\t// must fall back to [[Set]], and was not explicitly asked to make non-enumerable, non-writable, or non-configurable\n\t\tobj[property] = value; // eslint-disable-line no-param-reassign\n\t} else {\n\t\tthrow new $SyntaxError('This environment does not support defining a property as non-configurable, non-writable, or non-enumerable.');\n\t}\n};\n","/*! @license DOMPurify 3.1.7 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.1.7/LICENSE */\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n typeof define === 'function' && define.amd ? define(factory) :\n (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.DOMPurify = factory());\n})(this, (function () { 'use strict';\n\n const {\n entries,\n setPrototypeOf,\n isFrozen,\n getPrototypeOf,\n getOwnPropertyDescriptor\n } = Object;\n let {\n freeze,\n seal,\n create\n } = Object; // eslint-disable-line import/no-mutable-exports\n let {\n apply,\n construct\n } = typeof Reflect !== 'undefined' && Reflect;\n if (!freeze) {\n freeze = function freeze(x) {\n return x;\n };\n }\n if (!seal) {\n seal = function seal(x) {\n return x;\n };\n }\n if (!apply) {\n apply = function apply(fun, thisValue, args) {\n return fun.apply(thisValue, args);\n };\n }\n if (!construct) {\n construct = function construct(Func, args) {\n return new Func(...args);\n };\n }\n const arrayForEach = unapply(Array.prototype.forEach);\n const arrayPop = unapply(Array.prototype.pop);\n const arrayPush = unapply(Array.prototype.push);\n const stringToLowerCase = unapply(String.prototype.toLowerCase);\n const stringToString = unapply(String.prototype.toString);\n const stringMatch = unapply(String.prototype.match);\n const stringReplace = unapply(String.prototype.replace);\n const stringIndexOf = unapply(String.prototype.indexOf);\n const stringTrim = unapply(String.prototype.trim);\n const objectHasOwnProperty = unapply(Object.prototype.hasOwnProperty);\n const regExpTest = unapply(RegExp.prototype.test);\n const typeErrorCreate = unconstruct(TypeError);\n\n /**\n * Creates a new function that calls the given function with a specified thisArg and arguments.\n *\n * @param {Function} func - The function to be wrapped and called.\n * @returns {Function} A new function that calls the given function with a specified thisArg and arguments.\n */\n function unapply(func) {\n return function (thisArg) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n return apply(func, thisArg, args);\n };\n }\n\n /**\n * Creates a new function that constructs an instance of the given constructor function with the provided arguments.\n *\n * @param {Function} func - The constructor function to be wrapped and called.\n * @returns {Function} A new function that constructs an instance of the given constructor function with the provided arguments.\n */\n function unconstruct(func) {\n return function () {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n return construct(func, args);\n };\n }\n\n /**\n * Add properties to a lookup table\n *\n * @param {Object} set - The set to which elements will be added.\n * @param {Array} array - The array containing elements to be added to the set.\n * @param {Function} transformCaseFunc - An optional function to transform the case of each element before adding to the set.\n * @returns {Object} The modified set with added elements.\n */\n function addToSet(set, array) {\n let transformCaseFunc = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : stringToLowerCase;\n if (setPrototypeOf) {\n // Make 'in' and truthy checks like Boolean(set.constructor)\n // independent of any properties defined on Object.prototype.\n // Prevent prototype setters from intercepting set as a this value.\n setPrototypeOf(set, null);\n }\n let l = array.length;\n while (l--) {\n let element = array[l];\n if (typeof element === 'string') {\n const lcElement = transformCaseFunc(element);\n if (lcElement !== element) {\n // Config presets (e.g. tags.js, attrs.js) are immutable.\n if (!isFrozen(array)) {\n array[l] = lcElement;\n }\n element = lcElement;\n }\n }\n set[element] = true;\n }\n return set;\n }\n\n /**\n * Clean up an array to harden against CSPP\n *\n * @param {Array} array - The array to be cleaned.\n * @returns {Array} The cleaned version of the array\n */\n function cleanArray(array) {\n for (let index = 0; index < array.length; index++) {\n const isPropertyExist = objectHasOwnProperty(array, index);\n if (!isPropertyExist) {\n array[index] = null;\n }\n }\n return array;\n }\n\n /**\n * Shallow clone an object\n *\n * @param {Object} object - The object to be cloned.\n * @returns {Object} A new object that copies the original.\n */\n function clone(object) {\n const newObject = create(null);\n for (const [property, value] of entries(object)) {\n const isPropertyExist = objectHasOwnProperty(object, property);\n if (isPropertyExist) {\n if (Array.isArray(value)) {\n newObject[property] = cleanArray(value);\n } else if (value && typeof value === 'object' && value.constructor === Object) {\n newObject[property] = clone(value);\n } else {\n newObject[property] = value;\n }\n }\n }\n return newObject;\n }\n\n /**\n * This method automatically checks if the prop is function or getter and behaves accordingly.\n *\n * @param {Object} object - The object to look up the getter function in its prototype chain.\n * @param {String} prop - The property name for which to find the getter function.\n * @returns {Function} The getter function found in the prototype chain or a fallback function.\n */\n function lookupGetter(object, prop) {\n while (object !== null) {\n const desc = getOwnPropertyDescriptor(object, prop);\n if (desc) {\n if (desc.get) {\n return unapply(desc.get);\n }\n if (typeof desc.value === 'function') {\n return unapply(desc.value);\n }\n }\n object = getPrototypeOf(object);\n }\n function fallbackValue() {\n return null;\n }\n return fallbackValue;\n }\n\n const html$1 = freeze(['a', 'abbr', 'acronym', 'address', 'area', 'article', 'aside', 'audio', 'b', 'bdi', 'bdo', 'big', 'blink', 'blockquote', 'body', 'br', 'button', 'canvas', 'caption', 'center', 'cite', 'code', 'col', 'colgroup', 'content', 'data', 'datalist', 'dd', 'decorator', 'del', 'details', 'dfn', 'dialog', 'dir', 'div', 'dl', 'dt', 'element', 'em', 'fieldset', 'figcaption', 'figure', 'font', 'footer', 'form', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'head', 'header', 'hgroup', 'hr', 'html', 'i', 'img', 'input', 'ins', 'kbd', 'label', 'legend', 'li', 'main', 'map', 'mark', 'marquee', 'menu', 'menuitem', 'meter', 'nav', 'nobr', 'ol', 'optgroup', 'option', 'output', 'p', 'picture', 'pre', 'progress', 'q', 'rp', 'rt', 'ruby', 's', 'samp', 'section', 'select', 'shadow', 'small', 'source', 'spacer', 'span', 'strike', 'strong', 'style', 'sub', 'summary', 'sup', 'table', 'tbody', 'td', 'template', 'textarea', 'tfoot', 'th', 'thead', 'time', 'tr', 'track', 'tt', 'u', 'ul', 'var', 'video', 'wbr']);\n\n // SVG\n const svg$1 = freeze(['svg', 'a', 'altglyph', 'altglyphdef', 'altglyphitem', 'animatecolor', 'animatemotion', 'animatetransform', 'circle', 'clippath', 'defs', 'desc', 'ellipse', 'filter', 'font', 'g', 'glyph', 'glyphref', 'hkern', 'image', 'line', 'lineargradient', 'marker', 'mask', 'metadata', 'mpath', 'path', 'pattern', 'polygon', 'polyline', 'radialgradient', 'rect', 'stop', 'style', 'switch', 'symbol', 'text', 'textpath', 'title', 'tref', 'tspan', 'view', 'vkern']);\n const svgFilters = freeze(['feBlend', 'feColorMatrix', 'feComponentTransfer', 'feComposite', 'feConvolveMatrix', 'feDiffuseLighting', 'feDisplacementMap', 'feDistantLight', 'feDropShadow', 'feFlood', 'feFuncA', 'feFuncB', 'feFuncG', 'feFuncR', 'feGaussianBlur', 'feImage', 'feMerge', 'feMergeNode', 'feMorphology', 'feOffset', 'fePointLight', 'feSpecularLighting', 'feSpotLight', 'feTile', 'feTurbulence']);\n\n // List of SVG elements that are disallowed by default.\n // We still need to know them so that we can do namespace\n // checks properly in case one wants to add them to\n // allow-list.\n const svgDisallowed = freeze(['animate', 'color-profile', 'cursor', 'discard', 'font-face', 'font-face-format', 'font-face-name', 'font-face-src', 'font-face-uri', 'foreignobject', 'hatch', 'hatchpath', 'mesh', 'meshgradient', 'meshpatch', 'meshrow', 'missing-glyph', 'script', 'set', 'solidcolor', 'unknown', 'use']);\n const mathMl$1 = freeze(['math', 'menclose', 'merror', 'mfenced', 'mfrac', 'mglyph', 'mi', 'mlabeledtr', 'mmultiscripts', 'mn', 'mo', 'mover', 'mpadded', 'mphantom', 'mroot', 'mrow', 'ms', 'mspace', 'msqrt', 'mstyle', 'msub', 'msup', 'msubsup', 'mtable', 'mtd', 'mtext', 'mtr', 'munder', 'munderover', 'mprescripts']);\n\n // Similarly to SVG, we want to know all MathML elements,\n // even those that we disallow by default.\n const mathMlDisallowed = freeze(['maction', 'maligngroup', 'malignmark', 'mlongdiv', 'mscarries', 'mscarry', 'msgroup', 'mstack', 'msline', 'msrow', 'semantics', 'annotation', 'annotation-xml', 'mprescripts', 'none']);\n const text = freeze(['#text']);\n\n const html = freeze(['accept', 'action', 'align', 'alt', 'autocapitalize', 'autocomplete', 'autopictureinpicture', 'autoplay', 'background', 'bgcolor', 'border', 'capture', 'cellpadding', 'cellspacing', 'checked', 'cite', 'class', 'clear', 'color', 'cols', 'colspan', 'controls', 'controlslist', 'coords', 'crossorigin', 'datetime', 'decoding', 'default', 'dir', 'disabled', 'disablepictureinpicture', 'disableremoteplayback', 'download', 'draggable', 'enctype', 'enterkeyhint', 'face', 'for', 'headers', 'height', 'hidden', 'high', 'href', 'hreflang', 'id', 'inputmode', 'integrity', 'ismap', 'kind', 'label', 'lang', 'list', 'loading', 'loop', 'low', 'max', 'maxlength', 'media', 'method', 'min', 'minlength', 'multiple', 'muted', 'name', 'nonce', 'noshade', 'novalidate', 'nowrap', 'open', 'optimum', 'pattern', 'placeholder', 'playsinline', 'popover', 'popovertarget', 'popovertargetaction', 'poster', 'preload', 'pubdate', 'radiogroup', 'readonly', 'rel', 'required', 'rev', 'reversed', 'role', 'rows', 'rowspan', 'spellcheck', 'scope', 'selected', 'shape', 'size', 'sizes', 'span', 'srclang', 'start', 'src', 'srcset', 'step', 'style', 'summary', 'tabindex', 'title', 'translate', 'type', 'usemap', 'valign', 'value', 'width', 'wrap', 'xmlns', 'slot']);\n const svg = freeze(['accent-height', 'accumulate', 'additive', 'alignment-baseline', 'amplitude', 'ascent', 'attributename', 'attributetype', 'azimuth', 'basefrequency', 'baseline-shift', 'begin', 'bias', 'by', 'class', 'clip', 'clippathunits', 'clip-path', 'clip-rule', 'color', 'color-interpolation', 'color-interpolation-filters', 'color-profile', 'color-rendering', 'cx', 'cy', 'd', 'dx', 'dy', 'diffuseconstant', 'direction', 'display', 'divisor', 'dur', 'edgemode', 'elevation', 'end', 'exponent', 'fill', 'fill-opacity', 'fill-rule', 'filter', 'filterunits', 'flood-color', 'flood-opacity', 'font-family', 'font-size', 'font-size-adjust', 'font-stretch', 'font-style', 'font-variant', 'font-weight', 'fx', 'fy', 'g1', 'g2', 'glyph-name', 'glyphref', 'gradientunits', 'gradienttransform', 'height', 'href', 'id', 'image-rendering', 'in', 'in2', 'intercept', 'k', 'k1', 'k2', 'k3', 'k4', 'kerning', 'keypoints', 'keysplines', 'keytimes', 'lang', 'lengthadjust', 'letter-spacing', 'kernelmatrix', 'kernelunitlength', 'lighting-color', 'local', 'marker-end', 'marker-mid', 'marker-start', 'markerheight', 'markerunits', 'markerwidth', 'maskcontentunits', 'maskunits', 'max', 'mask', 'media', 'method', 'mode', 'min', 'name', 'numoctaves', 'offset', 'operator', 'opacity', 'order', 'orient', 'orientation', 'origin', 'overflow', 'paint-order', 'path', 'pathlength', 'patterncontentunits', 'patterntransform', 'patternunits', 'points', 'preservealpha', 'preserveaspectratio', 'primitiveunits', 'r', 'rx', 'ry', 'radius', 'refx', 'refy', 'repeatcount', 'repeatdur', 'restart', 'result', 'rotate', 'scale', 'seed', 'shape-rendering', 'slope', 'specularconstant', 'specularexponent', 'spreadmethod', 'startoffset', 'stddeviation', 'stitchtiles', 'stop-color', 'stop-opacity', 'stroke-dasharray', 'stroke-dashoffset', 'stroke-linecap', 'stroke-linejoin', 'stroke-miterlimit', 'stroke-opacity', 'stroke', 'stroke-width', 'style', 'surfacescale', 'systemlanguage', 'tabindex', 'tablevalues', 'targetx', 'targety', 'transform', 'transform-origin', 'text-anchor', 'text-decoration', 'text-rendering', 'textlength', 'type', 'u1', 'u2', 'unicode', 'values', 'viewbox', 'visibility', 'version', 'vert-adv-y', 'vert-origin-x', 'vert-origin-y', 'width', 'word-spacing', 'wrap', 'writing-mode', 'xchannelselector', 'ychannelselector', 'x', 'x1', 'x2', 'xmlns', 'y', 'y1', 'y2', 'z', 'zoomandpan']);\n const mathMl = freeze(['accent', 'accentunder', 'align', 'bevelled', 'close', 'columnsalign', 'columnlines', 'columnspan', 'denomalign', 'depth', 'dir', 'display', 'displaystyle', 'encoding', 'fence', 'frame', 'height', 'href', 'id', 'largeop', 'length', 'linethickness', 'lspace', 'lquote', 'mathbackground', 'mathcolor', 'mathsize', 'mathvariant', 'maxsize', 'minsize', 'movablelimits', 'notation', 'numalign', 'open', 'rowalign', 'rowlines', 'rowspacing', 'rowspan', 'rspace', 'rquote', 'scriptlevel', 'scriptminsize', 'scriptsizemultiplier', 'selection', 'separator', 'separators', 'stretchy', 'subscriptshift', 'supscriptshift', 'symmetric', 'voffset', 'width', 'xmlns']);\n const xml = freeze(['xlink:href', 'xml:id', 'xlink:title', 'xml:space', 'xmlns:xlink']);\n\n // eslint-disable-next-line unicorn/better-regex\n const MUSTACHE_EXPR = seal(/\\{\\{[\\w\\W]*|[\\w\\W]*\\}\\}/gm); // Specify template detection regex for SAFE_FOR_TEMPLATES mode\n const ERB_EXPR = seal(/<%[\\w\\W]*|[\\w\\W]*%>/gm);\n const TMPLIT_EXPR = seal(/\\${[\\w\\W]*}/gm);\n const DATA_ATTR = seal(/^data-[\\-\\w.\\u00B7-\\uFFFF]/); // eslint-disable-line no-useless-escape\n const ARIA_ATTR = seal(/^aria-[\\-\\w]+$/); // eslint-disable-line no-useless-escape\n const IS_ALLOWED_URI = seal(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp):|[^a-z]|[a-z+.\\-]+(?:[^a-z+.\\-:]|$))/i // eslint-disable-line no-useless-escape\n );\n const IS_SCRIPT_OR_DATA = seal(/^(?:\\w+script|data):/i);\n const ATTR_WHITESPACE = seal(/[\\u0000-\\u0020\\u00A0\\u1680\\u180E\\u2000-\\u2029\\u205F\\u3000]/g // eslint-disable-line no-control-regex\n );\n const DOCTYPE_NAME = seal(/^html$/i);\n const CUSTOM_ELEMENT = seal(/^[a-z][.\\w]*(-[.\\w]+)+$/i);\n\n var EXPRESSIONS = /*#__PURE__*/Object.freeze({\n __proto__: null,\n MUSTACHE_EXPR: MUSTACHE_EXPR,\n ERB_EXPR: ERB_EXPR,\n TMPLIT_EXPR: TMPLIT_EXPR,\n DATA_ATTR: DATA_ATTR,\n ARIA_ATTR: ARIA_ATTR,\n IS_ALLOWED_URI: IS_ALLOWED_URI,\n IS_SCRIPT_OR_DATA: IS_SCRIPT_OR_DATA,\n ATTR_WHITESPACE: ATTR_WHITESPACE,\n DOCTYPE_NAME: DOCTYPE_NAME,\n CUSTOM_ELEMENT: CUSTOM_ELEMENT\n });\n\n // https://developer.mozilla.org/en-US/docs/Web/API/Node/nodeType\n const NODE_TYPE = {\n element: 1,\n attribute: 2,\n text: 3,\n cdataSection: 4,\n entityReference: 5,\n // Deprecated\n entityNode: 6,\n // Deprecated\n progressingInstruction: 7,\n comment: 8,\n document: 9,\n documentType: 10,\n documentFragment: 11,\n notation: 12 // Deprecated\n };\n const getGlobal = function getGlobal() {\n return typeof window === 'undefined' ? null : window;\n };\n\n /**\n * Creates a no-op policy for internal use only.\n * Don't export this function outside this module!\n * @param {TrustedTypePolicyFactory} trustedTypes The policy factory.\n * @param {HTMLScriptElement} purifyHostElement The Script element used to load DOMPurify (to determine policy name suffix).\n * @return {TrustedTypePolicy} The policy created (or null, if Trusted Types\n * are not supported or creating the policy failed).\n */\n const _createTrustedTypesPolicy = function _createTrustedTypesPolicy(trustedTypes, purifyHostElement) {\n if (typeof trustedTypes !== 'object' || typeof trustedTypes.createPolicy !== 'function') {\n return null;\n }\n\n // Allow the callers to control the unique policy name\n // by adding a data-tt-policy-suffix to the script element with the DOMPurify.\n // Policy creation with duplicate names throws in Trusted Types.\n let suffix = null;\n const ATTR_NAME = 'data-tt-policy-suffix';\n if (purifyHostElement && purifyHostElement.hasAttribute(ATTR_NAME)) {\n suffix = purifyHostElement.getAttribute(ATTR_NAME);\n }\n const policyName = 'dompurify' + (suffix ? '#' + suffix : '');\n try {\n return trustedTypes.createPolicy(policyName, {\n createHTML(html) {\n return html;\n },\n createScriptURL(scriptUrl) {\n return scriptUrl;\n }\n });\n } catch (_) {\n // Policy creation failed (most likely another DOMPurify script has\n // already run). Skip creating the policy, as this will only cause errors\n // if TT are enforced.\n console.warn('TrustedTypes policy ' + policyName + ' could not be created.');\n return null;\n }\n };\n function createDOMPurify() {\n let window = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : getGlobal();\n const DOMPurify = root => createDOMPurify(root);\n\n /**\n * Version label, exposed for easier checks\n * if DOMPurify is up to date or not\n */\n DOMPurify.version = '3.1.7';\n\n /**\n * Array of elements that DOMPurify removed during sanitation.\n * Empty if nothing was removed.\n */\n DOMPurify.removed = [];\n if (!window || !window.document || window.document.nodeType !== NODE_TYPE.document) {\n // Not running in a browser, provide a factory function\n // so that you can pass your own Window\n DOMPurify.isSupported = false;\n return DOMPurify;\n }\n let {\n document\n } = window;\n const originalDocument = document;\n const currentScript = originalDocument.currentScript;\n const {\n DocumentFragment,\n HTMLTemplateElement,\n Node,\n Element,\n NodeFilter,\n NamedNodeMap = window.NamedNodeMap || window.MozNamedAttrMap,\n HTMLFormElement,\n DOMParser,\n trustedTypes\n } = window;\n const ElementPrototype = Element.prototype;\n const cloneNode = lookupGetter(ElementPrototype, 'cloneNode');\n const remove = lookupGetter(ElementPrototype, 'remove');\n const getNextSibling = lookupGetter(ElementPrototype, 'nextSibling');\n const getChildNodes = lookupGetter(ElementPrototype, 'childNodes');\n const getParentNode = lookupGetter(ElementPrototype, 'parentNode');\n\n // As per issue #47, the web-components registry is inherited by a\n // new document created via createHTMLDocument. As per the spec\n // (http://w3c.github.io/webcomponents/spec/custom/#creating-and-passing-registries)\n // a new empty registry is used when creating a template contents owner\n // document, so we use that as our parent document to ensure nothing\n // is inherited.\n if (typeof HTMLTemplateElement === 'function') {\n const template = document.createElement('template');\n if (template.content && template.content.ownerDocument) {\n document = template.content.ownerDocument;\n }\n }\n let trustedTypesPolicy;\n let emptyHTML = '';\n const {\n implementation,\n createNodeIterator,\n createDocumentFragment,\n getElementsByTagName\n } = document;\n const {\n importNode\n } = originalDocument;\n let hooks = {};\n\n /**\n * Expose whether this browser supports running the full DOMPurify.\n */\n DOMPurify.isSupported = typeof entries === 'function' && typeof getParentNode === 'function' && implementation && implementation.createHTMLDocument !== undefined;\n const {\n MUSTACHE_EXPR,\n ERB_EXPR,\n TMPLIT_EXPR,\n DATA_ATTR,\n ARIA_ATTR,\n IS_SCRIPT_OR_DATA,\n ATTR_WHITESPACE,\n CUSTOM_ELEMENT\n } = EXPRESSIONS;\n let {\n IS_ALLOWED_URI: IS_ALLOWED_URI$1\n } = EXPRESSIONS;\n\n /**\n * We consider the elements and attributes below to be safe. Ideally\n * don't add any new ones but feel free to remove unwanted ones.\n */\n\n /* allowed element names */\n let ALLOWED_TAGS = null;\n const DEFAULT_ALLOWED_TAGS = addToSet({}, [...html$1, ...svg$1, ...svgFilters, ...mathMl$1, ...text]);\n\n /* Allowed attribute names */\n let ALLOWED_ATTR = null;\n const DEFAULT_ALLOWED_ATTR = addToSet({}, [...html, ...svg, ...mathMl, ...xml]);\n\n /*\n * Configure how DOMPUrify should handle custom elements and their attributes as well as customized built-in elements.\n * @property {RegExp|Function|null} tagNameCheck one of [null, regexPattern, predicate]. Default: `null` (disallow any custom elements)\n * @property {RegExp|Function|null} attributeNameCheck one of [null, regexPattern, predicate]. Default: `null` (disallow any attributes not on the allow list)\n * @property {boolean} allowCustomizedBuiltInElements allow custom elements derived from built-ins if they pass CUSTOM_ELEMENT_HANDLING.tagNameCheck. Default: `false`.\n */\n let CUSTOM_ELEMENT_HANDLING = Object.seal(create(null, {\n tagNameCheck: {\n writable: true,\n configurable: false,\n enumerable: true,\n value: null\n },\n attributeNameCheck: {\n writable: true,\n configurable: false,\n enumerable: true,\n value: null\n },\n allowCustomizedBuiltInElements: {\n writable: true,\n configurable: false,\n enumerable: true,\n value: false\n }\n }));\n\n /* Explicitly forbidden tags (overrides ALLOWED_TAGS/ADD_TAGS) */\n let FORBID_TAGS = null;\n\n /* Explicitly forbidden attributes (overrides ALLOWED_ATTR/ADD_ATTR) */\n let FORBID_ATTR = null;\n\n /* Decide if ARIA attributes are okay */\n let ALLOW_ARIA_ATTR = true;\n\n /* Decide if custom data attributes are okay */\n let ALLOW_DATA_ATTR = true;\n\n /* Decide if unknown protocols are okay */\n let ALLOW_UNKNOWN_PROTOCOLS = false;\n\n /* Decide if self-closing tags in attributes are allowed.\n * Usually removed due to a mXSS issue in jQuery 3.0 */\n let ALLOW_SELF_CLOSE_IN_ATTR = true;\n\n /* Output should be safe for common template engines.\n * This means, DOMPurify removes data attributes, mustaches and ERB\n */\n let SAFE_FOR_TEMPLATES = false;\n\n /* Output should be safe even for XML used within HTML and alike.\n * This means, DOMPurify removes comments when containing risky content.\n */\n let SAFE_FOR_XML = true;\n\n /* Decide if document with <html>... should be returned */\n let WHOLE_DOCUMENT = false;\n\n /* Track whether config is already set on this instance of DOMPurify. */\n let SET_CONFIG = false;\n\n /* Decide if all elements (e.g. style, script) must be children of\n * document.body. By default, browsers might move them to document.head */\n let FORCE_BODY = false;\n\n /* Decide if a DOM `HTMLBodyElement` should be returned, instead of a html\n * string (or a TrustedHTML object if Trusted Types are supported).\n * If `WHOLE_DOCUMENT` is enabled a `HTMLHtmlElement` will be returned instead\n */\n let RETURN_DOM = false;\n\n /* Decide if a DOM `DocumentFragment` should be returned, instead of a html\n * string (or a TrustedHTML object if Trusted Types are supported) */\n let RETURN_DOM_FRAGMENT = false;\n\n /* Try to return a Trusted Type object instead of a string, return a string in\n * case Trusted Types are not supported */\n let RETURN_TRUSTED_TYPE = false;\n\n /* Output should be free from DOM clobbering attacks?\n * This sanitizes markups named with colliding, clobberable built-in DOM APIs.\n */\n let SANITIZE_DOM = true;\n\n /* Achieve full DOM Clobbering protection by isolating the namespace of named\n * properties and JS variables, mitigating attacks that abuse the HTML/DOM spec rules.\n *\n * HTML/DOM spec rules that enable DOM Clobbering:\n * - Named Access on Window (§7.3.3)\n * - DOM Tree Accessors (§3.1.5)\n * - Form Element Parent-Child Relations (§4.10.3)\n * - Iframe srcdoc / Nested WindowProxies (§4.8.5)\n * - HTMLCollection (§4.2.10.2)\n *\n * Namespace isolation is implemented by prefixing `id` and `name` attributes\n * with a constant string, i.e., `user-content-`\n */\n let SANITIZE_NAMED_PROPS = false;\n const SANITIZE_NAMED_PROPS_PREFIX = 'user-content-';\n\n /* Keep element content when removing element? */\n let KEEP_CONTENT = true;\n\n /* If a `Node` is passed to sanitize(), then performs sanitization in-place instead\n * of importing it into a new Document and returning a sanitized copy */\n let IN_PLACE = false;\n\n /* Allow usage of profiles like html, svg and mathMl */\n let USE_PROFILES = {};\n\n /* Tags to ignore content of when KEEP_CONTENT is true */\n let FORBID_CONTENTS = null;\n const DEFAULT_FORBID_CONTENTS = addToSet({}, ['annotation-xml', 'audio', 'colgroup', 'desc', 'foreignobject', 'head', 'iframe', 'math', 'mi', 'mn', 'mo', 'ms', 'mtext', 'noembed', 'noframes', 'noscript', 'plaintext', 'script', 'style', 'svg', 'template', 'thead', 'title', 'video', 'xmp']);\n\n /* Tags that are safe for data: URIs */\n let DATA_URI_TAGS = null;\n const DEFAULT_DATA_URI_TAGS = addToSet({}, ['audio', 'video', 'img', 'source', 'image', 'track']);\n\n /* Attributes safe for values like \"javascript:\" */\n let URI_SAFE_ATTRIBUTES = null;\n const DEFAULT_URI_SAFE_ATTRIBUTES = addToSet({}, ['alt', 'class', 'for', 'id', 'label', 'name', 'pattern', 'placeholder', 'role', 'summary', 'title', 'value', 'style', 'xmlns']);\n const MATHML_NAMESPACE = 'http://www.w3.org/1998/Math/MathML';\n const SVG_NAMESPACE = 'http://www.w3.org/2000/svg';\n const HTML_NAMESPACE = 'http://www.w3.org/1999/xhtml';\n /* Document namespace */\n let NAMESPACE = HTML_NAMESPACE;\n let IS_EMPTY_INPUT = false;\n\n /* Allowed XHTML+XML namespaces */\n let ALLOWED_NAMESPACES = null;\n const DEFAULT_ALLOWED_NAMESPACES = addToSet({}, [MATHML_NAMESPACE, SVG_NAMESPACE, HTML_NAMESPACE], stringToString);\n\n /* Parsing of strict XHTML documents */\n let PARSER_MEDIA_TYPE = null;\n const SUPPORTED_PARSER_MEDIA_TYPES = ['application/xhtml+xml', 'text/html'];\n const DEFAULT_PARSER_MEDIA_TYPE = 'text/html';\n let transformCaseFunc = null;\n\n /* Keep a reference to config to pass to hooks */\n let CONFIG = null;\n\n /* Ideally, do not touch anything below this line */\n /* ______________________________________________ */\n\n const formElement = document.createElement('form');\n const isRegexOrFunction = function isRegexOrFunction(testValue) {\n return testValue instanceof RegExp || testValue instanceof Function;\n };\n\n /**\n * _parseConfig\n *\n * @param {Object} cfg optional config literal\n */\n // eslint-disable-next-line complexity\n const _parseConfig = function _parseConfig() {\n let cfg = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n if (CONFIG && CONFIG === cfg) {\n return;\n }\n\n /* Shield configuration object from tampering */\n if (!cfg || typeof cfg !== 'object') {\n cfg = {};\n }\n\n /* Shield configuration object from prototype pollution */\n cfg = clone(cfg);\n PARSER_MEDIA_TYPE =\n // eslint-disable-next-line unicorn/prefer-includes\n SUPPORTED_PARSER_MEDIA_TYPES.indexOf(cfg.PARSER_MEDIA_TYPE) === -1 ? DEFAULT_PARSER_MEDIA_TYPE : cfg.PARSER_MEDIA_TYPE;\n\n // HTML tags and attributes are not case-sensitive, converting to lowercase. Keeping XHTML as is.\n transformCaseFunc = PARSER_MEDIA_TYPE === 'application/xhtml+xml' ? stringToString : stringToLowerCase;\n\n /* Set configuration parameters */\n ALLOWED_TAGS = objectHasOwnProperty(cfg, 'ALLOWED_TAGS') ? addToSet({}, cfg.ALLOWED_TAGS, transformCaseFunc) : DEFAULT_ALLOWED_TAGS;\n ALLOWED_ATTR = objectHasOwnProperty(cfg, 'ALLOWED_ATTR') ? addToSet({}, cfg.ALLOWED_ATTR, transformCaseFunc) : DEFAULT_ALLOWED_ATTR;\n ALLOWED_NAMESPACES = objectHasOwnProperty(cfg, 'ALLOWED_NAMESPACES') ? addToSet({}, cfg.ALLOWED_NAMESPACES, stringToString) : DEFAULT_ALLOWED_NAMESPACES;\n URI_SAFE_ATTRIBUTES = objectHasOwnProperty(cfg, 'ADD_URI_SAFE_ATTR') ? addToSet(clone(DEFAULT_URI_SAFE_ATTRIBUTES),\n // eslint-disable-line indent\n cfg.ADD_URI_SAFE_ATTR,\n // eslint-disable-line indent\n transformCaseFunc // eslint-disable-line indent\n ) // eslint-disable-line indent\n : DEFAULT_URI_SAFE_ATTRIBUTES;\n DATA_URI_TAGS = objectHasOwnProperty(cfg, 'ADD_DATA_URI_TAGS') ? addToSet(clone(DEFAULT_DATA_URI_TAGS),\n // eslint-disable-line indent\n cfg.ADD_DATA_URI_TAGS,\n // eslint-disable-line indent\n transformCaseFunc // eslint-disable-line indent\n ) // eslint-disable-line indent\n : DEFAULT_DATA_URI_TAGS;\n FORBID_CONTENTS = objectHasOwnProperty(cfg, 'FORBID_CONTENTS') ? addToSet({}, cfg.FORBID_CONTENTS, transformCaseFunc) : DEFAULT_FORBID_CONTENTS;\n FORBID_TAGS = objectHasOwnProperty(cfg, 'FORBID_TAGS') ? addToSet({}, cfg.FORBID_TAGS, transformCaseFunc) : {};\n FORBID_ATTR = objectHasOwnProperty(cfg, 'FORBID_ATTR') ? addToSet({}, cfg.FORBID_ATTR, transformCaseFunc) : {};\n USE_PROFILES = objectHasOwnProperty(cfg, 'USE_PROFILES') ? cfg.USE_PROFILES : false;\n ALLOW_ARIA_ATTR = cfg.ALLOW_ARIA_ATTR !== false; // Default true\n ALLOW_DATA_ATTR = cfg.ALLOW_DATA_ATTR !== false; // Default true\n ALLOW_UNKNOWN_PROTOCOLS = cfg.ALLOW_UNKNOWN_PROTOCOLS || false; // Default false\n ALLOW_SELF_CLOSE_IN_ATTR = cfg.ALLOW_SELF_CLOSE_IN_ATTR !== false; // Default true\n SAFE_FOR_TEMPLATES = cfg.SAFE_FOR_TEMPLATES || false; // Default false\n SAFE_FOR_XML = cfg.SAFE_FOR_XML !== false; // Default true\n WHOLE_DOCUMENT = cfg.WHOLE_DOCUMENT || false; // Default false\n RETURN_DOM = cfg.RETURN_DOM || false; // Default false\n RETURN_DOM_FRAGMENT = cfg.RETURN_DOM_FRAGMENT || false; // Default false\n RETURN_TRUSTED_TYPE = cfg.RETURN_TRUSTED_TYPE || false; // Default false\n FORCE_BODY = cfg.FORCE_BODY || false; // Default false\n SANITIZE_DOM = cfg.SANITIZE_DOM !== false; // Default true\n SANITIZE_NAMED_PROPS = cfg.SANITIZE_NAMED_PROPS || false; // Default false\n KEEP_CONTENT = cfg.KEEP_CONTENT !== false; // Default true\n IN_PLACE = cfg.IN_PLACE || false; // Default false\n IS_ALLOWED_URI$1 = cfg.ALLOWED_URI_REGEXP || IS_ALLOWED_URI;\n NAMESPACE = cfg.NAMESPACE || HTML_NAMESPACE;\n CUSTOM_ELEMENT_HANDLING = cfg.CUSTOM_ELEMENT_HANDLING || {};\n if (cfg.CUSTOM_ELEMENT_HANDLING && isRegexOrFunction(cfg.CUSTOM_ELEMENT_HANDLING.tagNameCheck)) {\n CUSTOM_ELEMENT_HANDLING.tagNameCheck = cfg.CUSTOM_ELEMENT_HANDLING.tagNameCheck;\n }\n if (cfg.CUSTOM_ELEMENT_HANDLING && isRegexOrFunction(cfg.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)) {\n CUSTOM_ELEMENT_HANDLING.attributeNameCheck = cfg.CUSTOM_ELEMENT_HANDLING.attributeNameCheck;\n }\n if (cfg.CUSTOM_ELEMENT_HANDLING && typeof cfg.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements === 'boolean') {\n CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements = cfg.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements;\n }\n if (SAFE_FOR_TEMPLATES) {\n ALLOW_DATA_ATTR = false;\n }\n if (RETURN_DOM_FRAGMENT) {\n RETURN_DOM = true;\n }\n\n /* Parse profile info */\n if (USE_PROFILES) {\n ALLOWED_TAGS = addToSet({}, text);\n ALLOWED_ATTR = [];\n if (USE_PROFILES.html === true) {\n addToSet(ALLOWED_TAGS, html$1);\n addToSet(ALLOWED_ATTR, html);\n }\n if (USE_PROFILES.svg === true) {\n addToSet(ALLOWED_TAGS, svg$1);\n addToSet(ALLOWED_ATTR, svg);\n addToSet(ALLOWED_ATTR, xml);\n }\n if (USE_PROFILES.svgFilters === true) {\n addToSet(ALLOWED_TAGS, svgFilters);\n addToSet(ALLOWED_ATTR, svg);\n addToSet(ALLOWED_ATTR, xml);\n }\n if (USE_PROFILES.mathMl === true) {\n addToSet(ALLOWED_TAGS, mathMl$1);\n addToSet(ALLOWED_ATTR, mathMl);\n addToSet(ALLOWED_ATTR, xml);\n }\n }\n\n /* Merge configuration parameters */\n if (cfg.ADD_TAGS) {\n if (ALLOWED_TAGS === DEFAULT_ALLOWED_TAGS) {\n ALLOWED_TAGS = clone(ALLOWED_TAGS);\n }\n addToSet(ALLOWED_TAGS, cfg.ADD_TAGS, transformCaseFunc);\n }\n if (cfg.ADD_ATTR) {\n if (ALLOWED_ATTR === DEFAULT_ALLOWED_ATTR) {\n ALLOWED_ATTR = clone(ALLOWED_ATTR);\n }\n addToSet(ALLOWED_ATTR, cfg.ADD_ATTR, transformCaseFunc);\n }\n if (cfg.ADD_URI_SAFE_ATTR) {\n addToSet(URI_SAFE_ATTRIBUTES, cfg.ADD_URI_SAFE_ATTR, transformCaseFunc);\n }\n if (cfg.FORBID_CONTENTS) {\n if (FORBID_CONTENTS === DEFAULT_FORBID_CONTENTS) {\n FORBID_CONTENTS = clone(FORBID_CONTENTS);\n }\n addToSet(FORBID_CONTENTS, cfg.FORBID_CONTENTS, transformCaseFunc);\n }\n\n /* Add #text in case KEEP_CONTENT is set to true */\n if (KEEP_CONTENT) {\n ALLOWED_TAGS['#text'] = true;\n }\n\n /* Add html, head and body to ALLOWED_TAGS in case WHOLE_DOCUMENT is true */\n if (WHOLE_DOCUMENT) {\n addToSet(ALLOWED_TAGS, ['html', 'head', 'body']);\n }\n\n /* Add tbody to ALLOWED_TAGS in case tables are permitted, see #286, #365 */\n if (ALLOWED_TAGS.table) {\n addToSet(ALLOWED_TAGS, ['tbody']);\n delete FORBID_TAGS.tbody;\n }\n if (cfg.TRUSTED_TYPES_POLICY) {\n if (typeof cfg.TRUSTED_TYPES_POLICY.createHTML !== 'function') {\n throw typeErrorCreate('TRUSTED_TYPES_POLICY configuration option must provide a \"createHTML\" hook.');\n }\n if (typeof cfg.TRUSTED_TYPES_POLICY.createScriptURL !== 'function') {\n throw typeErrorCreate('TRUSTED_TYPES_POLICY configuration option must provide a \"createScriptURL\" hook.');\n }\n\n // Overwrite existing TrustedTypes policy.\n trustedTypesPolicy = cfg.TRUSTED_TYPES_POLICY;\n\n // Sign local variables required by `sanitize`.\n emptyHTML = trustedTypesPolicy.createHTML('');\n } else {\n // Uninitialized policy, attempt to initialize the internal dompurify policy.\n if (trustedTypesPolicy === undefined) {\n trustedTypesPolicy = _createTrustedTypesPolicy(trustedTypes, currentScript);\n }\n\n // If creating the internal policy succeeded sign internal variables.\n if (trustedTypesPolicy !== null && typeof emptyHTML === 'string') {\n emptyHTML = trustedTypesPolicy.createHTML('');\n }\n }\n\n // Prevent further manipulation of configuration.\n // Not available in IE8, Safari 5, etc.\n if (freeze) {\n freeze(cfg);\n }\n CONFIG = cfg;\n };\n const MATHML_TEXT_INTEGRATION_POINTS = addToSet({}, ['mi', 'mo', 'mn', 'ms', 'mtext']);\n const HTML_INTEGRATION_POINTS = addToSet({}, ['annotation-xml']);\n\n // Certain elements are allowed in both SVG and HTML\n // namespace. We need to specify them explicitly\n // so that they don't get erroneously deleted from\n // HTML namespace.\n const COMMON_SVG_AND_HTML_ELEMENTS = addToSet({}, ['title', 'style', 'font', 'a', 'script']);\n\n /* Keep track of all possible SVG and MathML tags\n * so that we can perform the namespace checks\n * correctly. */\n const ALL_SVG_TAGS = addToSet({}, [...svg$1, ...svgFilters, ...svgDisallowed]);\n const ALL_MATHML_TAGS = addToSet({}, [...mathMl$1, ...mathMlDisallowed]);\n\n /**\n * @param {Element} element a DOM element whose namespace is being checked\n * @returns {boolean} Return false if the element has a\n * namespace that a spec-compliant parser would never\n * return. Return true otherwise.\n */\n const _checkValidNamespace = function _checkValidNamespace(element) {\n let parent = getParentNode(element);\n\n // In JSDOM, if we're inside shadow DOM, then parentNode\n // can be null. We just simulate parent in this case.\n if (!parent || !parent.tagName) {\n parent = {\n namespaceURI: NAMESPACE,\n tagName: 'template'\n };\n }\n const tagName = stringToLowerCase(element.tagName);\n const parentTagName = stringToLowerCase(parent.tagName);\n if (!ALLOWED_NAMESPACES[element.namespaceURI]) {\n return false;\n }\n if (element.namespaceURI === SVG_NAMESPACE) {\n // The only way to switch from HTML namespace to SVG\n // is via <svg>. If it happens via any other tag, then\n // it should be killed.\n if (parent.namespaceURI === HTML_NAMESPACE) {\n return tagName === 'svg';\n }\n\n // The only way to switch from MathML to SVG is via`\n // svg if parent is either <annotation-xml> or MathML\n // text integration points.\n if (parent.namespaceURI === MATHML_NAMESPACE) {\n return tagName === 'svg' && (parentTagName === 'annotation-xml' || MATHML_TEXT_INTEGRATION_POINTS[parentTagName]);\n }\n\n // We only allow elements that are defined in SVG\n // spec. All others are disallowed in SVG namespace.\n return Boolean(ALL_SVG_TAGS[tagName]);\n }\n if (element.namespaceURI === MATHML_NAMESPACE) {\n // The only way to switch from HTML namespace to MathML\n // is via <math>. If it happens via any other tag, then\n // it should be killed.\n if (parent.namespaceURI === HTML_NAMESPACE) {\n return tagName === 'math';\n }\n\n // The only way to switch from SVG to MathML is via\n // <math> and HTML integration points\n if (parent.namespaceURI === SVG_NAMESPACE) {\n return tagName === 'math' && HTML_INTEGRATION_POINTS[parentTagName];\n }\n\n // We only allow elements that are defined in MathML\n // spec. All others are disallowed in MathML namespace.\n return Boolean(ALL_MATHML_TAGS[tagName]);\n }\n if (element.namespaceURI === HTML_NAMESPACE) {\n // The only way to switch from SVG to HTML is via\n // HTML integration points, and from MathML to HTML\n // is via MathML text integration points\n if (parent.namespaceURI === SVG_NAMESPACE && !HTML_INTEGRATION_POINTS[parentTagName]) {\n return false;\n }\n if (parent.namespaceURI === MATHML_NAMESPACE && !MATHML_TEXT_INTEGRATION_POINTS[parentTagName]) {\n return false;\n }\n\n // We disallow tags that are specific for MathML\n // or SVG and should never appear in HTML namespace\n return !ALL_MATHML_TAGS[tagName] && (COMMON_SVG_AND_HTML_ELEMENTS[tagName] || !ALL_SVG_TAGS[tagName]);\n }\n\n // For XHTML and XML documents that support custom namespaces\n if (PARSER_MEDIA_TYPE === 'application/xhtml+xml' && ALLOWED_NAMESPACES[element.namespaceURI]) {\n return true;\n }\n\n // The code should never reach this place (this means\n // that the element somehow got namespace that is not\n // HTML, SVG, MathML or allowed via ALLOWED_NAMESPACES).\n // Return false just in case.\n return false;\n };\n\n /**\n * _forceRemove\n *\n * @param {Node} node a DOM node\n */\n const _forceRemove = function _forceRemove(node) {\n arrayPush(DOMPurify.removed, {\n element: node\n });\n try {\n // eslint-disable-next-line unicorn/prefer-dom-node-remove\n getParentNode(node).removeChild(node);\n } catch (_) {\n remove(node);\n }\n };\n\n /**\n * _removeAttribute\n *\n * @param {String} name an Attribute name\n * @param {Node} node a DOM node\n */\n const _removeAttribute = function _removeAttribute(name, node) {\n try {\n arrayPush(DOMPurify.removed, {\n attribute: node.getAttributeNode(name),\n from: node\n });\n } catch (_) {\n arrayPush(DOMPurify.removed, {\n attribute: null,\n from: node\n });\n }\n node.removeAttribute(name);\n\n // We void attribute values for unremovable \"is\"\" attributes\n if (name === 'is' && !ALLOWED_ATTR[name]) {\n if (RETURN_DOM || RETURN_DOM_FRAGMENT) {\n try {\n _forceRemove(node);\n } catch (_) {}\n } else {\n try {\n node.setAttribute(name, '');\n } catch (_) {}\n }\n }\n };\n\n /**\n * _initDocument\n *\n * @param {String} dirty a string of dirty markup\n * @return {Document} a DOM, filled with the dirty markup\n */\n const _initDocument = function _initDocument(dirty) {\n /* Create a HTML document */\n let doc = null;\n let leadingWhitespace = null;\n if (FORCE_BODY) {\n dirty = '<remove></remove>' + dirty;\n } else {\n /* If FORCE_BODY isn't used, leading whitespace needs to be preserved manually */\n const matches = stringMatch(dirty, /^[\\r\\n\\t ]+/);\n leadingWhitespace = matches && matches[0];\n }\n if (PARSER_MEDIA_TYPE === 'application/xhtml+xml' && NAMESPACE === HTML_NAMESPACE) {\n // Root of XHTML doc must contain xmlns declaration (see https://www.w3.org/TR/xhtml1/normative.html#strict)\n dirty = '<html xmlns=\"http://www.w3.org/1999/xhtml\"><head></head><body>' + dirty + '</body></html>';\n }\n const dirtyPayload = trustedTypesPolicy ? trustedTypesPolicy.createHTML(dirty) : dirty;\n /*\n * Use the DOMParser API by default, fallback later if needs be\n * DOMParser not work for svg when has multiple root element.\n */\n if (NAMESPACE === HTML_NAMESPACE) {\n try {\n doc = new DOMParser().parseFromString(dirtyPayload, PARSER_MEDIA_TYPE);\n } catch (_) {}\n }\n\n /* Use createHTMLDocument in case DOMParser is not available */\n if (!doc || !doc.documentElement) {\n doc = implementation.createDocument(NAMESPACE, 'template', null);\n try {\n doc.documentElement.innerHTML = IS_EMPTY_INPUT ? emptyHTML : dirtyPayload;\n } catch (_) {\n // Syntax error if dirtyPayload is invalid xml\n }\n }\n const body = doc.body || doc.documentElement;\n if (dirty && leadingWhitespace) {\n body.insertBefore(document.createTextNode(leadingWhitespace), body.childNodes[0] || null);\n }\n\n /* Work on whole document or just its body */\n if (NAMESPACE === HTML_NAMESPACE) {\n return getElementsByTagName.call(doc, WHOLE_DOCUMENT ? 'html' : 'body')[0];\n }\n return WHOLE_DOCUMENT ? doc.documentElement : body;\n };\n\n /**\n * Creates a NodeIterator object that you can use to traverse filtered lists of nodes or elements in a document.\n *\n * @param {Node} root The root element or node to start traversing on.\n * @return {NodeIterator} The created NodeIterator\n */\n const _createNodeIterator = function _createNodeIterator(root) {\n return createNodeIterator.call(root.ownerDocument || root, root,\n // eslint-disable-next-line no-bitwise\n NodeFilter.SHOW_ELEMENT | NodeFilter.SHOW_COMMENT | NodeFilter.SHOW_TEXT | NodeFilter.SHOW_PROCESSING_INSTRUCTION | NodeFilter.SHOW_CDATA_SECTION, null);\n };\n\n /**\n * _isClobbered\n *\n * @param {Node} elm element to check for clobbering attacks\n * @return {Boolean} true if clobbered, false if safe\n */\n const _isClobbered = function _isClobbered(elm) {\n return elm instanceof HTMLFormElement && (typeof elm.nodeName !== 'string' || typeof elm.textContent !== 'string' || typeof elm.removeChild !== 'function' || !(elm.attributes instanceof NamedNodeMap) || typeof elm.removeAttribute !== 'function' || typeof elm.setAttribute !== 'function' || typeof elm.namespaceURI !== 'string' || typeof elm.insertBefore !== 'function' || typeof elm.hasChildNodes !== 'function');\n };\n\n /**\n * Checks whether the given object is a DOM node.\n *\n * @param {Node} object object to check whether it's a DOM node\n * @return {Boolean} true is object is a DOM node\n */\n const _isNode = function _isNode(object) {\n return typeof Node === 'function' && object instanceof Node;\n };\n\n /**\n * _executeHook\n * Execute user configurable hooks\n *\n * @param {String} entryPoint Name of the hook's entry point\n * @param {Node} currentNode node to work on with the hook\n * @param {Object} data additional hook parameters\n */\n const _executeHook = function _executeHook(entryPoint, currentNode, data) {\n if (!hooks[entryPoint]) {\n return;\n }\n arrayForEach(hooks[entryPoint], hook => {\n hook.call(DOMPurify, currentNode, data, CONFIG);\n });\n };\n\n /**\n * _sanitizeElements\n *\n * @protect nodeName\n * @protect textContent\n * @protect removeChild\n *\n * @param {Node} currentNode to check for permission to exist\n * @return {Boolean} true if node was killed, false if left alive\n */\n const _sanitizeElements = function _sanitizeElements(currentNode) {\n let content = null;\n\n /* Execute a hook if present */\n _executeHook('beforeSanitizeElements', currentNode, null);\n\n /* Check if element is clobbered or can clobber */\n if (_isClobbered(currentNode)) {\n _forceRemove(currentNode);\n return true;\n }\n\n /* Now let's check the element's type and name */\n const tagName = transformCaseFunc(currentNode.nodeName);\n\n /* Execute a hook if present */\n _executeHook('uponSanitizeElement', currentNode, {\n tagName,\n allowedTags: ALLOWED_TAGS\n });\n\n /* Detect mXSS attempts abusing namespace confusion */\n if (currentNode.hasChildNodes() && !_isNode(currentNode.firstElementChild) && regExpTest(/<[/\\w]/g, currentNode.innerHTML) && regExpTest(/<[/\\w]/g, currentNode.textContent)) {\n _forceRemove(currentNode);\n return true;\n }\n\n /* Remove any occurrence of processing instructions */\n if (currentNode.nodeType === NODE_TYPE.progressingInstruction) {\n _forceRemove(currentNode);\n return true;\n }\n\n /* Remove any kind of possibly harmful comments */\n if (SAFE_FOR_XML && currentNode.nodeType === NODE_TYPE.comment && regExpTest(/<[/\\w]/g, currentNode.data)) {\n _forceRemove(currentNode);\n return true;\n }\n\n /* Remove element if anything forbids its presence */\n if (!ALLOWED_TAGS[tagName] || FORBID_TAGS[tagName]) {\n /* Check if we have a custom element to handle */\n if (!FORBID_TAGS[tagName] && _isBasicCustomElement(tagName)) {\n if (CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof RegExp && regExpTest(CUSTOM_ELEMENT_HANDLING.tagNameCheck, tagName)) {\n return false;\n }\n if (CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof Function && CUSTOM_ELEMENT_HANDLING.tagNameCheck(tagName)) {\n return false;\n }\n }\n\n /* Keep content except for bad-listed elements */\n if (KEEP_CONTENT && !FORBID_CONTENTS[tagName]) {\n const parentNode = getParentNode(currentNode) || currentNode.parentNode;\n const childNodes = getChildNodes(currentNode) || currentNode.childNodes;\n if (childNodes && parentNode) {\n const childCount = childNodes.length;\n for (let i = childCount - 1; i >= 0; --i) {\n const childClone = cloneNode(childNodes[i], true);\n childClone.__removalCount = (currentNode.__removalCount || 0) + 1;\n parentNode.insertBefore(childClone, getNextSibling(currentNode));\n }\n }\n }\n _forceRemove(currentNode);\n return true;\n }\n\n /* Check whether element has a valid namespace */\n if (currentNode instanceof Element && !_checkValidNamespace(currentNode)) {\n _forceRemove(currentNode);\n return true;\n }\n\n /* Make sure that older browsers don't get fallback-tag mXSS */\n if ((tagName === 'noscript' || tagName === 'noembed' || tagName === 'noframes') && regExpTest(/<\\/no(script|embed|frames)/i, currentNode.innerHTML)) {\n _forceRemove(currentNode);\n return true;\n }\n\n /* Sanitize element content to be template-safe */\n if (SAFE_FOR_TEMPLATES && currentNode.nodeType === NODE_TYPE.text) {\n /* Get the element's text content */\n content = currentNode.textContent;\n arrayForEach([MUSTACHE_EXPR, ERB_EXPR, TMPLIT_EXPR], expr => {\n content = stringReplace(content, expr, ' ');\n });\n if (currentNode.textContent !== content) {\n arrayPush(DOMPurify.removed, {\n element: currentNode.cloneNode()\n });\n currentNode.textContent = content;\n }\n }\n\n /* Execute a hook if present */\n _executeHook('afterSanitizeElements', currentNode, null);\n return false;\n };\n\n /**\n * _isValidAttribute\n *\n * @param {string} lcTag Lowercase tag name of containing element.\n * @param {string} lcName Lowercase attribute name.\n * @param {string} value Attribute value.\n * @return {Boolean} Returns true if `value` is valid, otherwise false.\n */\n // eslint-disable-next-line complexity\n const _isValidAttribute = function _isValidAttribute(lcTag, lcName, value) {\n /* Make sure attribute cannot clobber */\n if (SANITIZE_DOM && (lcName === 'id' || lcName === 'name') && (value in document || value in formElement)) {\n return false;\n }\n\n /* Allow valid data-* attributes: At least one character after \"-\"\n (https://html.spec.whatwg.org/multipage/dom.html#embedding-custom-non-visible-data-with-the-data-*-attributes)\n XML-compatible (https://html.spec.whatwg.org/multipage/infrastructure.html#xml-compatible and http://www.w3.org/TR/xml/#d0e804)\n We don't need to check the value; it's always URI safe. */\n if (ALLOW_DATA_ATTR && !FORBID_ATTR[lcName] && regExpTest(DATA_ATTR, lcName)) ; else if (ALLOW_ARIA_ATTR && regExpTest(ARIA_ATTR, lcName)) ; else if (!ALLOWED_ATTR[lcName] || FORBID_ATTR[lcName]) {\n if (\n // First condition does a very basic check if a) it's basically a valid custom element tagname AND\n // b) if the tagName passes whatever the user has configured for CUSTOM_ELEMENT_HANDLING.tagNameCheck\n // and c) if the attribute name passes whatever the user has configured for CUSTOM_ELEMENT_HANDLING.attributeNameCheck\n _isBasicCustomElement(lcTag) && (CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof RegExp && regExpTest(CUSTOM_ELEMENT_HANDLING.tagNameCheck, lcTag) || CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof Function && CUSTOM_ELEMENT_HANDLING.tagNameCheck(lcTag)) && (CUSTOM_ELEMENT_HANDLING.attributeNameCheck instanceof RegExp && regExpTest(CUSTOM_ELEMENT_HANDLING.attributeNameCheck, lcName) || CUSTOM_ELEMENT_HANDLING.attributeNameCheck instanceof Function && CUSTOM_ELEMENT_HANDLING.attributeNameCheck(lcName)) ||\n // Alternative, second condition checks if it's an `is`-attribute, AND\n // the value passes whatever the user has configured for CUSTOM_ELEMENT_HANDLING.tagNameCheck\n lcName === 'is' && CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements && (CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof RegExp && regExpTest(CUSTOM_ELEMENT_HANDLING.tagNameCheck, value) || CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof Function && CUSTOM_ELEMENT_HANDLING.tagNameCheck(value))) ; else {\n return false;\n }\n /* Check value is safe. First, is attr inert? If so, is safe */\n } else if (URI_SAFE_ATTRIBUTES[lcName]) ; else if (regExpTest(IS_ALLOWED_URI$1, stringReplace(value, ATTR_WHITESPACE, ''))) ; else if ((lcName === 'src' || lcName === 'xlink:href' || lcName === 'href') && lcTag !== 'script' && stringIndexOf(value, 'data:') === 0 && DATA_URI_TAGS[lcTag]) ; else if (ALLOW_UNKNOWN_PROTOCOLS && !regExpTest(IS_SCRIPT_OR_DATA, stringReplace(value, ATTR_WHITESPACE, ''))) ; else if (value) {\n return false;\n } else ;\n return true;\n };\n\n /**\n * _isBasicCustomElement\n * checks if at least one dash is included in tagName, and it's not the first char\n * for more sophisticated checking see https://github.com/sindresorhus/validate-element-name\n *\n * @param {string} tagName name of the tag of the node to sanitize\n * @returns {boolean} Returns true if the tag name meets the basic criteria for a custom element, otherwise false.\n */\n const _isBasicCustomElement = function _isBasicCustomElement(tagName) {\n return tagName !== 'annotation-xml' && stringMatch(tagName, CUSTOM_ELEMENT);\n };\n\n /**\n * _sanitizeAttributes\n *\n * @protect attributes\n * @protect nodeName\n * @protect removeAttribute\n * @protect setAttribute\n *\n * @param {Node} currentNode to sanitize\n */\n const _sanitizeAttributes = function _sanitizeAttributes(currentNode) {\n /* Execute a hook if present */\n _executeHook('beforeSanitizeAttributes', currentNode, null);\n const {\n attributes\n } = currentNode;\n\n /* Check if we have attributes; if not we might have a text node */\n if (!attributes) {\n return;\n }\n const hookEvent = {\n attrName: '',\n attrValue: '',\n keepAttr: true,\n allowedAttributes: ALLOWED_ATTR\n };\n let l = attributes.length;\n\n /* Go backwards over all attributes; safely remove bad ones */\n while (l--) {\n const attr = attributes[l];\n const {\n name,\n namespaceURI,\n value: attrValue\n } = attr;\n const lcName = transformCaseFunc(name);\n let value = name === 'value' ? attrValue : stringTrim(attrValue);\n\n /* Execute a hook if present */\n hookEvent.attrName = lcName;\n hookEvent.attrValue = value;\n hookEvent.keepAttr = true;\n hookEvent.forceKeepAttr = undefined; // Allows developers to see this is a property they can set\n _executeHook('uponSanitizeAttribute', currentNode, hookEvent);\n value = hookEvent.attrValue;\n\n /* Did the hooks approve of the attribute? */\n if (hookEvent.forceKeepAttr) {\n continue;\n }\n\n /* Remove attribute */\n _removeAttribute(name, currentNode);\n\n /* Did the hooks approve of the attribute? */\n if (!hookEvent.keepAttr) {\n continue;\n }\n\n /* Work around a security issue in jQuery 3.0 */\n if (!ALLOW_SELF_CLOSE_IN_ATTR && regExpTest(/\\/>/i, value)) {\n _removeAttribute(name, currentNode);\n continue;\n }\n\n /* Sanitize attribute content to be template-safe */\n if (SAFE_FOR_TEMPLATES) {\n arrayForEach([MUSTACHE_EXPR, ERB_EXPR, TMPLIT_EXPR], expr => {\n value = stringReplace(value, expr, ' ');\n });\n }\n\n /* Is `value` valid for this attribute? */\n const lcTag = transformCaseFunc(currentNode.nodeName);\n if (!_isValidAttribute(lcTag, lcName, value)) {\n continue;\n }\n\n /* Full DOM Clobbering protection via namespace isolation,\n * Prefix id and name attributes with `user-content-`\n */\n if (SANITIZE_NAMED_PROPS && (lcName === 'id' || lcName === 'name')) {\n // Remove the attribute with this value\n _removeAttribute(name, currentNode);\n\n // Prefix the value and later re-create the attribute with the sanitized value\n value = SANITIZE_NAMED_PROPS_PREFIX + value;\n }\n\n /* Work around a security issue with comments inside attributes */\n if (SAFE_FOR_XML && regExpTest(/((--!?|])>)|<\\/(style|title)/i, value)) {\n _removeAttribute(name, currentNode);\n continue;\n }\n\n /* Handle attributes that require Trusted Types */\n if (trustedTypesPolicy && typeof trustedTypes === 'object' && typeof trustedTypes.getAttributeType === 'function') {\n if (namespaceURI) ; else {\n switch (trustedTypes.getAttributeType(lcTag, lcName)) {\n case 'TrustedHTML':\n {\n value = trustedTypesPolicy.createHTML(value);\n break;\n }\n case 'TrustedScriptURL':\n {\n value = trustedTypesPolicy.createScriptURL(value);\n break;\n }\n }\n }\n }\n\n /* Handle invalid data-* attribute set by try-catching it */\n try {\n if (namespaceURI) {\n currentNode.setAttributeNS(namespaceURI, name, value);\n } else {\n /* Fallback to setAttribute() for browser-unrecognized namespaces e.g. \"x-schema\". */\n currentNode.setAttribute(name, value);\n }\n if (_isClobbered(currentNode)) {\n _forceRemove(currentNode);\n } else {\n arrayPop(DOMPurify.removed);\n }\n } catch (_) {}\n }\n\n /* Execute a hook if present */\n _executeHook('afterSanitizeAttributes', currentNode, null);\n };\n\n /**\n * _sanitizeShadowDOM\n *\n * @param {DocumentFragment} fragment to iterate over recursively\n */\n const _sanitizeShadowDOM = function _sanitizeShadowDOM(fragment) {\n let shadowNode = null;\n const shadowIterator = _createNodeIterator(fragment);\n\n /* Execute a hook if present */\n _executeHook('beforeSanitizeShadowDOM', fragment, null);\n while (shadowNode = shadowIterator.nextNode()) {\n /* Execute a hook if present */\n _executeHook('uponSanitizeShadowNode', shadowNode, null);\n\n /* Sanitize tags and elements */\n if (_sanitizeElements(shadowNode)) {\n continue;\n }\n\n /* Deep shadow DOM detected */\n if (shadowNode.content instanceof DocumentFragment) {\n _sanitizeShadowDOM(shadowNode.content);\n }\n\n /* Check attributes, sanitize if necessary */\n _sanitizeAttributes(shadowNode);\n }\n\n /* Execute a hook if present */\n _executeHook('afterSanitizeShadowDOM', fragment, null);\n };\n\n /**\n * Sanitize\n * Public method providing core sanitation functionality\n *\n * @param {String|Node} dirty string or DOM node\n * @param {Object} cfg object\n */\n // eslint-disable-next-line complexity\n DOMPurify.sanitize = function (dirty) {\n let cfg = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n let body = null;\n let importedNode = null;\n let currentNode = null;\n let returnNode = null;\n /* Make sure we have a string to sanitize.\n DO NOT return early, as this will return the wrong type if\n the user has requested a DOM object rather than a string */\n IS_EMPTY_INPUT = !dirty;\n if (IS_EMPTY_INPUT) {\n dirty = '<!-->';\n }\n\n /* Stringify, in case dirty is an object */\n if (typeof dirty !== 'string' && !_isNode(dirty)) {\n if (typeof dirty.toString === 'function') {\n dirty = dirty.toString();\n if (typeof dirty !== 'string') {\n throw typeErrorCreate('dirty is not a string, aborting');\n }\n } else {\n throw typeErrorCreate('toString is not a function');\n }\n }\n\n /* Return dirty HTML if DOMPurify cannot run */\n if (!DOMPurify.isSupported) {\n return dirty;\n }\n\n /* Assign config vars */\n if (!SET_CONFIG) {\n _parseConfig(cfg);\n }\n\n /* Clean up removed elements */\n DOMPurify.removed = [];\n\n /* Check if dirty is correctly typed for IN_PLACE */\n if (typeof dirty === 'string') {\n IN_PLACE = false;\n }\n if (IN_PLACE) {\n /* Do some early pre-sanitization to avoid unsafe root nodes */\n if (dirty.nodeName) {\n const tagName = transformCaseFunc(dirty.nodeName);\n if (!ALLOWED_TAGS[tagName] || FORBID_TAGS[tagName]) {\n throw typeErrorCreate('root node is forbidden and cannot be sanitized in-place');\n }\n }\n } else if (dirty instanceof Node) {\n /* If dirty is a DOM element, append to an empty document to avoid\n elements being stripped by the parser */\n body = _initDocument('<!---->');\n importedNode = body.ownerDocument.importNode(dirty, true);\n if (importedNode.nodeType === NODE_TYPE.element && importedNode.nodeName === 'BODY') {\n /* Node is already a body, use as is */\n body = importedNode;\n } else if (importedNode.nodeName === 'HTML') {\n body = importedNode;\n } else {\n // eslint-disable-next-line unicorn/prefer-dom-node-append\n body.appendChild(importedNode);\n }\n } else {\n /* Exit directly if we have nothing to do */\n if (!RETURN_DOM && !SAFE_FOR_TEMPLATES && !WHOLE_DOCUMENT &&\n // eslint-disable-next-line unicorn/prefer-includes\n dirty.indexOf('<') === -1) {\n return trustedTypesPolicy && RETURN_TRUSTED_TYPE ? trustedTypesPolicy.createHTML(dirty) : dirty;\n }\n\n /* Initialize the document to work on */\n body = _initDocument(dirty);\n\n /* Check we have a DOM node from the data */\n if (!body) {\n return RETURN_DOM ? null : RETURN_TRUSTED_TYPE ? emptyHTML : '';\n }\n }\n\n /* Remove first element node (ours) if FORCE_BODY is set */\n if (body && FORCE_BODY) {\n _forceRemove(body.firstChild);\n }\n\n /* Get node iterator */\n const nodeIterator = _createNodeIterator(IN_PLACE ? dirty : body);\n\n /* Now start iterating over the created document */\n while (currentNode = nodeIterator.nextNode()) {\n /* Sanitize tags and elements */\n if (_sanitizeElements(currentNode)) {\n continue;\n }\n\n /* Shadow DOM detected, sanitize it */\n if (currentNode.content instanceof DocumentFragment) {\n _sanitizeShadowDOM(currentNode.content);\n }\n\n /* Check attributes, sanitize if necessary */\n _sanitizeAttributes(currentNode);\n }\n\n /* If we sanitized `dirty` in-place, return it. */\n if (IN_PLACE) {\n return dirty;\n }\n\n /* Return sanitized string or DOM */\n if (RETURN_DOM) {\n if (RETURN_DOM_FRAGMENT) {\n returnNode = createDocumentFragment.call(body.ownerDocument);\n while (body.firstChild) {\n // eslint-disable-next-line unicorn/prefer-dom-node-append\n returnNode.appendChild(body.firstChild);\n }\n } else {\n returnNode = body;\n }\n if (ALLOWED_ATTR.shadowroot || ALLOWED_ATTR.shadowrootmode) {\n /*\n AdoptNode() is not used because internal state is not reset\n (e.g. the past names map of a HTMLFormElement), this is safe\n in theory but we would rather not risk another attack vector.\n The state that is cloned by importNode() is explicitly defined\n by the specs.\n */\n returnNode = importNode.call(originalDocument, returnNode, true);\n }\n return returnNode;\n }\n let serializedHTML = WHOLE_DOCUMENT ? body.outerHTML : body.innerHTML;\n\n /* Serialize doctype if allowed */\n if (WHOLE_DOCUMENT && ALLOWED_TAGS['!doctype'] && body.ownerDocument && body.ownerDocument.doctype && body.ownerDocument.doctype.name && regExpTest(DOCTYPE_NAME, body.ownerDocument.doctype.name)) {\n serializedHTML = '<!DOCTYPE ' + body.ownerDocument.doctype.name + '>\\n' + serializedHTML;\n }\n\n /* Sanitize final string template-safe */\n if (SAFE_FOR_TEMPLATES) {\n arrayForEach([MUSTACHE_EXPR, ERB_EXPR, TMPLIT_EXPR], expr => {\n serializedHTML = stringReplace(serializedHTML, expr, ' ');\n });\n }\n return trustedTypesPolicy && RETURN_TRUSTED_TYPE ? trustedTypesPolicy.createHTML(serializedHTML) : serializedHTML;\n };\n\n /**\n * Public method to set the configuration once\n * setConfig\n *\n * @param {Object} cfg configuration object\n */\n DOMPurify.setConfig = function () {\n let cfg = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n _parseConfig(cfg);\n SET_CONFIG = true;\n };\n\n /**\n * Public method to remove the configuration\n * clearConfig\n *\n */\n DOMPurify.clearConfig = function () {\n CONFIG = null;\n SET_CONFIG = false;\n };\n\n /**\n * Public method to check if an attribute value is valid.\n * Uses last set config, if any. Otherwise, uses config defaults.\n * isValidAttribute\n *\n * @param {String} tag Tag name of containing element.\n * @param {String} attr Attribute name.\n * @param {String} value Attribute value.\n * @return {Boolean} Returns true if `value` is valid. Otherwise, returns false.\n */\n DOMPurify.isValidAttribute = function (tag, attr, value) {\n /* Initialize shared config vars if necessary. */\n if (!CONFIG) {\n _parseConfig({});\n }\n const lcTag = transformCaseFunc(tag);\n const lcName = transformCaseFunc(attr);\n return _isValidAttribute(lcTag, lcName, value);\n };\n\n /**\n * AddHook\n * Public method to add DOMPurify hooks\n *\n * @param {String} entryPoint entry point for the hook to add\n * @param {Function} hookFunction function to execute\n */\n DOMPurify.addHook = function (entryPoint, hookFunction) {\n if (typeof hookFunction !== 'function') {\n return;\n }\n hooks[entryPoint] = hooks[entryPoint] || [];\n arrayPush(hooks[entryPoint], hookFunction);\n };\n\n /**\n * RemoveHook\n * Public method to remove a DOMPurify hook at a given entryPoint\n * (pops it from the stack of hooks if more are present)\n *\n * @param {String} entryPoint entry point for the hook to remove\n * @return {Function} removed(popped) hook\n */\n DOMPurify.removeHook = function (entryPoint) {\n if (hooks[entryPoint]) {\n return arrayPop(hooks[entryPoint]);\n }\n };\n\n /**\n * RemoveHooks\n * Public method to remove all DOMPurify hooks at a given entryPoint\n *\n * @param {String} entryPoint entry point for the hooks to remove\n */\n DOMPurify.removeHooks = function (entryPoint) {\n if (hooks[entryPoint]) {\n hooks[entryPoint] = [];\n }\n };\n\n /**\n * RemoveAllHooks\n * Public method to remove all DOMPurify hooks\n */\n DOMPurify.removeAllHooks = function () {\n hooks = {};\n };\n return DOMPurify;\n }\n var purify = createDOMPurify();\n\n return purify;\n\n}));\n//# sourceMappingURL=purify.js.map\n","\n/**\n * Expose `Emitter`.\n */\n\nmodule.exports = Emitter;\n\n/**\n * Initialize a new `Emitter`.\n *\n * @api public\n */\n\nfunction Emitter(obj) {\n if (obj) return mixin(obj);\n};\n\n/**\n * Mixin the emitter properties.\n *\n * @param {Object} obj\n * @return {Object}\n * @api private\n */\n\nfunction mixin(obj) {\n for (var key in Emitter.prototype) {\n obj[key] = Emitter.prototype[key];\n }\n return obj;\n}\n\n/**\n * Listen on the given `event` with `fn`.\n *\n * @param {String} event\n * @param {Function} fn\n * @return {Emitter}\n * @api public\n */\n\nEmitter.prototype.on =\nEmitter.prototype.addEventListener = function(event, fn){\n this._callbacks = this._callbacks || {};\n (this._callbacks[event] = this._callbacks[event] || [])\n .push(fn);\n return this;\n};\n\n/**\n * Adds an `event` listener that will be invoked a single\n * time then automatically removed.\n *\n * @param {String} event\n * @param {Function} fn\n * @return {Emitter}\n * @api public\n */\n\nEmitter.prototype.once = function(event, fn){\n var self = this;\n this._callbacks = this._callbacks || {};\n\n function on() {\n self.off(event, on);\n fn.apply(this, arguments);\n }\n\n on.fn = fn;\n this.on(event, on);\n return this;\n};\n\n/**\n * Remove the given callback for `event` or all\n * registered callbacks.\n *\n * @param {String} event\n * @param {Function} fn\n * @return {Emitter}\n * @api public\n */\n\nEmitter.prototype.off =\nEmitter.prototype.removeListener =\nEmitter.prototype.removeAllListeners =\nEmitter.prototype.removeEventListener = function(event, fn){\n this._callbacks = this._callbacks || {};\n\n // all\n if (0 == arguments.length) {\n this._callbacks = {};\n return this;\n }\n\n // specific event\n var callbacks = this._callbacks[event];\n if (!callbacks) return this;\n\n // remove all handlers\n if (1 == arguments.length) {\n delete this._callbacks[event];\n return this;\n }\n\n // remove specific handler\n var cb;\n for (var i = 0; i < callbacks.length; i++) {\n cb = callbacks[i];\n if (cb === fn || cb.fn === fn) {\n callbacks.splice(i, 1);\n break;\n }\n }\n return this;\n};\n\n/**\n * Emit `event` with the given args.\n *\n * @param {String} event\n * @param {Mixed} ...\n * @return {Emitter}\n */\n\nEmitter.prototype.emit = function(event){\n this._callbacks = this._callbacks || {};\n var args = [].slice.call(arguments, 1)\n , callbacks = this._callbacks[event];\n\n if (callbacks) {\n callbacks = callbacks.slice(0);\n for (var i = 0, len = callbacks.length; i < len; ++i) {\n callbacks[i].apply(this, args);\n }\n }\n\n return this;\n};\n\n/**\n * Return array of callbacks for `event`.\n *\n * @param {String} event\n * @return {Array}\n * @api public\n */\n\nEmitter.prototype.listeners = function(event){\n this._callbacks = this._callbacks || {};\n return this._callbacks[event] || [];\n};\n\n/**\n * Check if this emitter has `event` handlers.\n *\n * @param {String} event\n * @return {Boolean}\n * @api public\n */\n\nEmitter.prototype.hasListeners = function(event){\n return !! this.listeners(event).length;\n};\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\n\n/** @type {import('.')} */\nvar $defineProperty = GetIntrinsic('%Object.defineProperty%', true) || false;\nif ($defineProperty) {\n\ttry {\n\t\t$defineProperty({}, 'a', { value: 1 });\n\t} catch (e) {\n\t\t// IE 8 has a broken defineProperty\n\t\t$defineProperty = false;\n\t}\n}\n\nmodule.exports = $defineProperty;\n","'use strict';\n\n/** @type {import('./eval')} */\nmodule.exports = EvalError;\n","'use strict';\n\n/** @type {import('.')} */\nmodule.exports = Error;\n","'use strict';\n\n/** @type {import('./range')} */\nmodule.exports = RangeError;\n","'use strict';\n\n/** @type {import('./ref')} */\nmodule.exports = ReferenceError;\n","'use strict';\n\n/** @type {import('./syntax')} */\nmodule.exports = SyntaxError;\n","'use strict';\n\n/** @type {import('./type')} */\nmodule.exports = TypeError;\n","'use strict';\n\n/** @type {import('./uri')} */\nmodule.exports = URIError;\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\nvar R = typeof Reflect === 'object' ? Reflect : null\nvar ReflectApply = R && typeof R.apply === 'function'\n ? R.apply\n : function ReflectApply(target, receiver, args) {\n return Function.prototype.apply.call(target, receiver, args);\n }\n\nvar ReflectOwnKeys\nif (R && typeof R.ownKeys === 'function') {\n ReflectOwnKeys = R.ownKeys\n} else if (Object.getOwnPropertySymbols) {\n ReflectOwnKeys = function ReflectOwnKeys(target) {\n return Object.getOwnPropertyNames(target)\n .concat(Object.getOwnPropertySymbols(target));\n };\n} else {\n ReflectOwnKeys = function ReflectOwnKeys(target) {\n return Object.getOwnPropertyNames(target);\n };\n}\n\nfunction ProcessEmitWarning(warning) {\n if (console && console.warn) console.warn(warning);\n}\n\nvar NumberIsNaN = Number.isNaN || function NumberIsNaN(value) {\n return value !== value;\n}\n\nfunction EventEmitter() {\n EventEmitter.init.call(this);\n}\nmodule.exports = EventEmitter;\nmodule.exports.once = once;\n\n// Backwards-compat with node 0.10.x\nEventEmitter.EventEmitter = EventEmitter;\n\nEventEmitter.prototype._events = undefined;\nEventEmitter.prototype._eventsCount = 0;\nEventEmitter.prototype._maxListeners = undefined;\n\n// By default EventEmitters will print a warning if more than 10 listeners are\n// added to it. This is a useful default which helps finding memory leaks.\nvar defaultMaxListeners = 10;\n\nfunction checkListener(listener) {\n if (typeof listener !== 'function') {\n throw new TypeError('The \"listener\" argument must be of type Function. Received type ' + typeof listener);\n }\n}\n\nObject.defineProperty(EventEmitter, 'defaultMaxListeners', {\n enumerable: true,\n get: function() {\n return defaultMaxListeners;\n },\n set: function(arg) {\n if (typeof arg !== 'number' || arg < 0 || NumberIsNaN(arg)) {\n throw new RangeError('The value of \"defaultMaxListeners\" is out of range. It must be a non-negative number. Received ' + arg + '.');\n }\n defaultMaxListeners = arg;\n }\n});\n\nEventEmitter.init = function() {\n\n if (this._events === undefined ||\n this._events === Object.getPrototypeOf(this)._events) {\n this._events = Object.create(null);\n this._eventsCount = 0;\n }\n\n this._maxListeners = this._maxListeners || undefined;\n};\n\n// Obviously not all Emitters should be limited to 10. This function allows\n// that to be increased. Set to zero for unlimited.\nEventEmitter.prototype.setMaxListeners = function setMaxListeners(n) {\n if (typeof n !== 'number' || n < 0 || NumberIsNaN(n)) {\n throw new RangeError('The value of \"n\" is out of range. It must be a non-negative number. Received ' + n + '.');\n }\n this._maxListeners = n;\n return this;\n};\n\nfunction _getMaxListeners(that) {\n if (that._maxListeners === undefined)\n return EventEmitter.defaultMaxListeners;\n return that._maxListeners;\n}\n\nEventEmitter.prototype.getMaxListeners = function getMaxListeners() {\n return _getMaxListeners(this);\n};\n\nEventEmitter.prototype.emit = function emit(type) {\n var args = [];\n for (var i = 1; i < arguments.length; i++) args.push(arguments[i]);\n var doError = (type === 'error');\n\n var events = this._events;\n if (events !== undefined)\n doError = (doError && events.error === undefined);\n else if (!doError)\n return false;\n\n // If there is no 'error' event listener then throw.\n if (doError) {\n var er;\n if (args.length > 0)\n er = args[0];\n if (er instanceof Error) {\n // Note: The comments on the `throw` lines are intentional, they show\n // up in Node's output if this results in an unhandled exception.\n throw er; // Unhandled 'error' event\n }\n // At least give some kind of context to the user\n var err = new Error('Unhandled error.' + (er ? ' (' + er.message + ')' : ''));\n err.context = er;\n throw err; // Unhandled 'error' event\n }\n\n var handler = events[type];\n\n if (handler === undefined)\n return false;\n\n if (typeof handler === 'function') {\n ReflectApply(handler, this, args);\n } else {\n var len = handler.length;\n var listeners = arrayClone(handler, len);\n for (var i = 0; i < len; ++i)\n ReflectApply(listeners[i], this, args);\n }\n\n return true;\n};\n\nfunction _addListener(target, type, listener, prepend) {\n var m;\n var events;\n var existing;\n\n checkListener(listener);\n\n events = target._events;\n if (events === undefined) {\n events = target._events = Object.create(null);\n target._eventsCount = 0;\n } else {\n // To avoid recursion in the case that type === \"newListener\"! Before\n // adding it to the listeners, first emit \"newListener\".\n if (events.newListener !== undefined) {\n target.emit('newListener', type,\n listener.listener ? listener.listener : listener);\n\n // Re-assign `events` because a newListener handler could have caused the\n // this._events to be assigned to a new object\n events = target._events;\n }\n existing = events[type];\n }\n\n if (existing === undefined) {\n // Optimize the case of one listener. Don't need the extra array object.\n existing = events[type] = listener;\n ++target._eventsCount;\n } else {\n if (typeof existing === 'function') {\n // Adding the second element, need to change to array.\n existing = events[type] =\n prepend ? [listener, existing] : [existing, listener];\n // If we've already got an array, just append.\n } else if (prepend) {\n existing.unshift(listener);\n } else {\n existing.push(listener);\n }\n\n // Check for listener leak\n m = _getMaxListeners(target);\n if (m > 0 && existing.length > m && !existing.warned) {\n existing.warned = true;\n // No error code for this since it is a Warning\n // eslint-disable-next-line no-restricted-syntax\n var w = new Error('Possible EventEmitter memory leak detected. ' +\n existing.length + ' ' + String(type) + ' listeners ' +\n 'added. Use emitter.setMaxListeners() to ' +\n 'increase limit');\n w.name = 'MaxListenersExceededWarning';\n w.emitter = target;\n w.type = type;\n w.count = existing.length;\n ProcessEmitWarning(w);\n }\n }\n\n return target;\n}\n\nEventEmitter.prototype.addListener = function addListener(type, listener) {\n return _addListener(this, type, listener, false);\n};\n\nEventEmitter.prototype.on = EventEmitter.prototype.addListener;\n\nEventEmitter.prototype.prependListener =\n function prependListener(type, listener) {\n return _addListener(this, type, listener, true);\n };\n\nfunction onceWrapper() {\n if (!this.fired) {\n this.target.removeListener(this.type, this.wrapFn);\n this.fired = true;\n if (arguments.length === 0)\n return this.listener.call(this.target);\n return this.listener.apply(this.target, arguments);\n }\n}\n\nfunction _onceWrap(target, type, listener) {\n var state = { fired: false, wrapFn: undefined, target: target, type: type, listener: listener };\n var wrapped = onceWrapper.bind(state);\n wrapped.listener = listener;\n state.wrapFn = wrapped;\n return wrapped;\n}\n\nEventEmitter.prototype.once = function once(type, listener) {\n checkListener(listener);\n this.on(type, _onceWrap(this, type, listener));\n return this;\n};\n\nEventEmitter.prototype.prependOnceListener =\n function prependOnceListener(type, listener) {\n checkListener(listener);\n this.prependListener(type, _onceWrap(this, type, listener));\n return this;\n };\n\n// Emits a 'removeListener' event if and only if the listener was removed.\nEventEmitter.prototype.removeListener =\n function removeListener(type, listener) {\n var list, events, position, i, originalListener;\n\n checkListener(listener);\n\n events = this._events;\n if (events === undefined)\n return this;\n\n list = events[type];\n if (list === undefined)\n return this;\n\n if (list === listener || list.listener === listener) {\n if (--this._eventsCount === 0)\n this._events = Object.create(null);\n else {\n delete events[type];\n if (events.removeListener)\n this.emit('removeListener', type, list.listener || listener);\n }\n } else if (typeof list !== 'function') {\n position = -1;\n\n for (i = list.length - 1; i >= 0; i--) {\n if (list[i] === listener || list[i].listener === listener) {\n originalListener = list[i].listener;\n position = i;\n break;\n }\n }\n\n if (position < 0)\n return this;\n\n if (position === 0)\n list.shift();\n else {\n spliceOne(list, position);\n }\n\n if (list.length === 1)\n events[type] = list[0];\n\n if (events.removeListener !== undefined)\n this.emit('removeListener', type, originalListener || listener);\n }\n\n return this;\n };\n\nEventEmitter.prototype.off = EventEmitter.prototype.removeListener;\n\nEventEmitter.prototype.removeAllListeners =\n function removeAllListeners(type) {\n var listeners, events, i;\n\n events = this._events;\n if (events === undefined)\n return this;\n\n // not listening for removeListener, no need to emit\n if (events.removeListener === undefined) {\n if (arguments.length === 0) {\n this._events = Object.create(null);\n this._eventsCount = 0;\n } else if (events[type] !== undefined) {\n if (--this._eventsCount === 0)\n this._events = Object.create(null);\n else\n delete events[type];\n }\n return this;\n }\n\n // emit removeListener for all listeners on all events\n if (arguments.length === 0) {\n var keys = Object.keys(events);\n var key;\n for (i = 0; i < keys.length; ++i) {\n key = keys[i];\n if (key === 'removeListener') continue;\n this.removeAllListeners(key);\n }\n this.removeAllListeners('removeListener');\n this._events = Object.create(null);\n this._eventsCount = 0;\n return this;\n }\n\n listeners = events[type];\n\n if (typeof listeners === 'function') {\n this.removeListener(type, listeners);\n } else if (listeners !== undefined) {\n // LIFO order\n for (i = listeners.length - 1; i >= 0; i--) {\n this.removeListener(type, listeners[i]);\n }\n }\n\n return this;\n };\n\nfunction _listeners(target, type, unwrap) {\n var events = target._events;\n\n if (events === undefined)\n return [];\n\n var evlistener = events[type];\n if (evlistener === undefined)\n return [];\n\n if (typeof evlistener === 'function')\n return unwrap ? [evlistener.listener || evlistener] : [evlistener];\n\n return unwrap ?\n unwrapListeners(evlistener) : arrayClone(evlistener, evlistener.length);\n}\n\nEventEmitter.prototype.listeners = function listeners(type) {\n return _listeners(this, type, true);\n};\n\nEventEmitter.prototype.rawListeners = function rawListeners(type) {\n return _listeners(this, type, false);\n};\n\nEventEmitter.listenerCount = function(emitter, type) {\n if (typeof emitter.listenerCount === 'function') {\n return emitter.listenerCount(type);\n } else {\n return listenerCount.call(emitter, type);\n }\n};\n\nEventEmitter.prototype.listenerCount = listenerCount;\nfunction listenerCount(type) {\n var events = this._events;\n\n if (events !== undefined) {\n var evlistener = events[type];\n\n if (typeof evlistener === 'function') {\n return 1;\n } else if (evlistener !== undefined) {\n return evlistener.length;\n }\n }\n\n return 0;\n}\n\nEventEmitter.prototype.eventNames = function eventNames() {\n return this._eventsCount > 0 ? ReflectOwnKeys(this._events) : [];\n};\n\nfunction arrayClone(arr, n) {\n var copy = new Array(n);\n for (var i = 0; i < n; ++i)\n copy[i] = arr[i];\n return copy;\n}\n\nfunction spliceOne(list, index) {\n for (; index + 1 < list.length; index++)\n list[index] = list[index + 1];\n list.pop();\n}\n\nfunction unwrapListeners(arr) {\n var ret = new Array(arr.length);\n for (var i = 0; i < ret.length; ++i) {\n ret[i] = arr[i].listener || arr[i];\n }\n return ret;\n}\n\nfunction once(emitter, name) {\n return new Promise(function (resolve, reject) {\n function errorListener(err) {\n emitter.removeListener(name, resolver);\n reject(err);\n }\n\n function resolver() {\n if (typeof emitter.removeListener === 'function') {\n emitter.removeListener('error', errorListener);\n }\n resolve([].slice.call(arguments));\n };\n\n eventTargetAgnosticAddListener(emitter, name, resolver, { once: true });\n if (name !== 'error') {\n addErrorHandlerIfEventEmitter(emitter, errorListener, { once: true });\n }\n });\n}\n\nfunction addErrorHandlerIfEventEmitter(emitter, handler, flags) {\n if (typeof emitter.on === 'function') {\n eventTargetAgnosticAddListener(emitter, 'error', handler, flags);\n }\n}\n\nfunction eventTargetAgnosticAddListener(emitter, name, listener, flags) {\n if (typeof emitter.on === 'function') {\n if (flags.once) {\n emitter.once(name, listener);\n } else {\n emitter.on(name, listener);\n }\n } else if (typeof emitter.addEventListener === 'function') {\n // EventTarget does not have `error` event semantics like Node\n // EventEmitters, we do not listen for `error` events here.\n emitter.addEventListener(name, function wrapListener(arg) {\n // IE does not have builtin `{ once: true }` support so we\n // have to do it manually.\n if (flags.once) {\n emitter.removeEventListener(name, wrapListener);\n }\n listener(arg);\n });\n } else {\n throw new TypeError('The \"emitter\" argument must be of type EventEmitter. Received type ' + typeof emitter);\n }\n}\n","'use strict';\n\nvar isCallable = require('is-callable');\n\nvar toStr = Object.prototype.toString;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\n\nvar forEachArray = function forEachArray(array, iterator, receiver) {\n for (var i = 0, len = array.length; i < len; i++) {\n if (hasOwnProperty.call(array, i)) {\n if (receiver == null) {\n iterator(array[i], i, array);\n } else {\n iterator.call(receiver, array[i], i, array);\n }\n }\n }\n};\n\nvar forEachString = function forEachString(string, iterator, receiver) {\n for (var i = 0, len = string.length; i < len; i++) {\n // no such thing as a sparse string.\n if (receiver == null) {\n iterator(string.charAt(i), i, string);\n } else {\n iterator.call(receiver, string.charAt(i), i, string);\n }\n }\n};\n\nvar forEachObject = function forEachObject(object, iterator, receiver) {\n for (var k in object) {\n if (hasOwnProperty.call(object, k)) {\n if (receiver == null) {\n iterator(object[k], k, object);\n } else {\n iterator.call(receiver, object[k], k, object);\n }\n }\n }\n};\n\nvar forEach = function forEach(list, iterator, thisArg) {\n if (!isCallable(iterator)) {\n throw new TypeError('iterator must be a function');\n }\n\n var receiver;\n if (arguments.length >= 3) {\n receiver = thisArg;\n }\n\n if (toStr.call(list) === '[object Array]') {\n forEachArray(list, iterator, receiver);\n } else if (typeof list === 'string') {\n forEachString(list, iterator, receiver);\n } else {\n forEachObject(list, iterator, receiver);\n }\n};\n\nmodule.exports = forEach;\n","'use strict';\n\n/* eslint no-invalid-this: 1 */\n\nvar ERROR_MESSAGE = 'Function.prototype.bind called on incompatible ';\nvar toStr = Object.prototype.toString;\nvar max = Math.max;\nvar funcType = '[object Function]';\n\nvar concatty = function concatty(a, b) {\n var arr = [];\n\n for (var i = 0; i < a.length; i += 1) {\n arr[i] = a[i];\n }\n for (var j = 0; j < b.length; j += 1) {\n arr[j + a.length] = b[j];\n }\n\n return arr;\n};\n\nvar slicy = function slicy(arrLike, offset) {\n var arr = [];\n for (var i = offset || 0, j = 0; i < arrLike.length; i += 1, j += 1) {\n arr[j] = arrLike[i];\n }\n return arr;\n};\n\nvar joiny = function (arr, joiner) {\n var str = '';\n for (var i = 0; i < arr.length; i += 1) {\n str += arr[i];\n if (i + 1 < arr.length) {\n str += joiner;\n }\n }\n return str;\n};\n\nmodule.exports = function bind(that) {\n var target = this;\n if (typeof target !== 'function' || toStr.apply(target) !== funcType) {\n throw new TypeError(ERROR_MESSAGE + target);\n }\n var args = slicy(arguments, 1);\n\n var bound;\n var binder = function () {\n if (this instanceof bound) {\n var result = target.apply(\n this,\n concatty(args, arguments)\n );\n if (Object(result) === result) {\n return result;\n }\n return this;\n }\n return target.apply(\n that,\n concatty(args, arguments)\n );\n\n };\n\n var boundLength = max(0, target.length - args.length);\n var boundArgs = [];\n for (var i = 0; i < boundLength; i++) {\n boundArgs[i] = '$' + i;\n }\n\n bound = Function('binder', 'return function (' + joiny(boundArgs, ',') + '){ return binder.apply(this,arguments); }')(binder);\n\n if (target.prototype) {\n var Empty = function Empty() {};\n Empty.prototype = target.prototype;\n bound.prototype = new Empty();\n Empty.prototype = null;\n }\n\n return bound;\n};\n","'use strict';\n\nvar implementation = require('./implementation');\n\nmodule.exports = Function.prototype.bind || implementation;\n","'use strict';\n\nvar undefined;\n\nvar $Error = require('es-errors');\nvar $EvalError = require('es-errors/eval');\nvar $RangeError = require('es-errors/range');\nvar $ReferenceError = require('es-errors/ref');\nvar $SyntaxError = require('es-errors/syntax');\nvar $TypeError = require('es-errors/type');\nvar $URIError = require('es-errors/uri');\n\nvar $Function = Function;\n\n// eslint-disable-next-line consistent-return\nvar getEvalledConstructor = function (expressionSyntax) {\n\ttry {\n\t\treturn $Function('\"use strict\"; return (' + expressionSyntax + ').constructor;')();\n\t} catch (e) {}\n};\n\nvar $gOPD = Object.getOwnPropertyDescriptor;\nif ($gOPD) {\n\ttry {\n\t\t$gOPD({}, '');\n\t} catch (e) {\n\t\t$gOPD = null; // this is IE 8, which has a broken gOPD\n\t}\n}\n\nvar throwTypeError = function () {\n\tthrow new $TypeError();\n};\nvar ThrowTypeError = $gOPD\n\t? (function () {\n\t\ttry {\n\t\t\t// eslint-disable-next-line no-unused-expressions, no-caller, no-restricted-properties\n\t\t\targuments.callee; // IE 8 does not throw here\n\t\t\treturn throwTypeError;\n\t\t} catch (calleeThrows) {\n\t\t\ttry {\n\t\t\t\t// IE 8 throws on Object.getOwnPropertyDescriptor(arguments, '')\n\t\t\t\treturn $gOPD(arguments, 'callee').get;\n\t\t\t} catch (gOPDthrows) {\n\t\t\t\treturn throwTypeError;\n\t\t\t}\n\t\t}\n\t}())\n\t: throwTypeError;\n\nvar hasSymbols = require('has-symbols')();\nvar hasProto = require('has-proto')();\n\nvar getProto = Object.getPrototypeOf || (\n\thasProto\n\t\t? function (x) { return x.__proto__; } // eslint-disable-line no-proto\n\t\t: null\n);\n\nvar needsEval = {};\n\nvar TypedArray = typeof Uint8Array === 'undefined' || !getProto ? undefined : getProto(Uint8Array);\n\nvar INTRINSICS = {\n\t__proto__: null,\n\t'%AggregateError%': typeof AggregateError === 'undefined' ? undefined : AggregateError,\n\t'%Array%': Array,\n\t'%ArrayBuffer%': typeof ArrayBuffer === 'undefined' ? undefined : ArrayBuffer,\n\t'%ArrayIteratorPrototype%': hasSymbols && getProto ? getProto([][Symbol.iterator]()) : undefined,\n\t'%AsyncFromSyncIteratorPrototype%': undefined,\n\t'%AsyncFunction%': needsEval,\n\t'%AsyncGenerator%': needsEval,\n\t'%AsyncGeneratorFunction%': needsEval,\n\t'%AsyncIteratorPrototype%': needsEval,\n\t'%Atomics%': typeof Atomics === 'undefined' ? undefined : Atomics,\n\t'%BigInt%': typeof BigInt === 'undefined' ? undefined : BigInt,\n\t'%BigInt64Array%': typeof BigInt64Array === 'undefined' ? undefined : BigInt64Array,\n\t'%BigUint64Array%': typeof BigUint64Array === 'undefined' ? undefined : BigUint64Array,\n\t'%Boolean%': Boolean,\n\t'%DataView%': typeof DataView === 'undefined' ? undefined : DataView,\n\t'%Date%': Date,\n\t'%decodeURI%': decodeURI,\n\t'%decodeURIComponent%': decodeURIComponent,\n\t'%encodeURI%': encodeURI,\n\t'%encodeURIComponent%': encodeURIComponent,\n\t'%Error%': $Error,\n\t'%eval%': eval, // eslint-disable-line no-eval\n\t'%EvalError%': $EvalError,\n\t'%Float32Array%': typeof Float32Array === 'undefined' ? undefined : Float32Array,\n\t'%Float64Array%': typeof Float64Array === 'undefined' ? undefined : Float64Array,\n\t'%FinalizationRegistry%': typeof FinalizationRegistry === 'undefined' ? undefined : FinalizationRegistry,\n\t'%Function%': $Function,\n\t'%GeneratorFunction%': needsEval,\n\t'%Int8Array%': typeof Int8Array === 'undefined' ? undefined : Int8Array,\n\t'%Int16Array%': typeof Int16Array === 'undefined' ? undefined : Int16Array,\n\t'%Int32Array%': typeof Int32Array === 'undefined' ? undefined : Int32Array,\n\t'%isFinite%': isFinite,\n\t'%isNaN%': isNaN,\n\t'%IteratorPrototype%': hasSymbols && getProto ? getProto(getProto([][Symbol.iterator]())) : undefined,\n\t'%JSON%': typeof JSON === 'object' ? JSON : undefined,\n\t'%Map%': typeof Map === 'undefined' ? undefined : Map,\n\t'%MapIteratorPrototype%': typeof Map === 'undefined' || !hasSymbols || !getProto ? undefined : getProto(new Map()[Symbol.iterator]()),\n\t'%Math%': Math,\n\t'%Number%': Number,\n\t'%Object%': Object,\n\t'%parseFloat%': parseFloat,\n\t'%parseInt%': parseInt,\n\t'%Promise%': typeof Promise === 'undefined' ? undefined : Promise,\n\t'%Proxy%': typeof Proxy === 'undefined' ? undefined : Proxy,\n\t'%RangeError%': $RangeError,\n\t'%ReferenceError%': $ReferenceError,\n\t'%Reflect%': typeof Reflect === 'undefined' ? undefined : Reflect,\n\t'%RegExp%': RegExp,\n\t'%Set%': typeof Set === 'undefined' ? undefined : Set,\n\t'%SetIteratorPrototype%': typeof Set === 'undefined' || !hasSymbols || !getProto ? undefined : getProto(new Set()[Symbol.iterator]()),\n\t'%SharedArrayBuffer%': typeof SharedArrayBuffer === 'undefined' ? undefined : SharedArrayBuffer,\n\t'%String%': String,\n\t'%StringIteratorPrototype%': hasSymbols && getProto ? getProto(''[Symbol.iterator]()) : undefined,\n\t'%Symbol%': hasSymbols ? Symbol : undefined,\n\t'%SyntaxError%': $SyntaxError,\n\t'%ThrowTypeError%': ThrowTypeError,\n\t'%TypedArray%': TypedArray,\n\t'%TypeError%': $TypeError,\n\t'%Uint8Array%': typeof Uint8Array === 'undefined' ? undefined : Uint8Array,\n\t'%Uint8ClampedArray%': typeof Uint8ClampedArray === 'undefined' ? undefined : Uint8ClampedArray,\n\t'%Uint16Array%': typeof Uint16Array === 'undefined' ? undefined : Uint16Array,\n\t'%Uint32Array%': typeof Uint32Array === 'undefined' ? undefined : Uint32Array,\n\t'%URIError%': $URIError,\n\t'%WeakMap%': typeof WeakMap === 'undefined' ? undefined : WeakMap,\n\t'%WeakRef%': typeof WeakRef === 'undefined' ? undefined : WeakRef,\n\t'%WeakSet%': typeof WeakSet === 'undefined' ? undefined : WeakSet\n};\n\nif (getProto) {\n\ttry {\n\t\tnull.error; // eslint-disable-line no-unused-expressions\n\t} catch (e) {\n\t\t// https://github.com/tc39/proposal-shadowrealm/pull/384#issuecomment-1364264229\n\t\tvar errorProto = getProto(getProto(e));\n\t\tINTRINSICS['%Error.prototype%'] = errorProto;\n\t}\n}\n\nvar doEval = function doEval(name) {\n\tvar value;\n\tif (name === '%AsyncFunction%') {\n\t\tvalue = getEvalledConstructor('async function () {}');\n\t} else if (name === '%GeneratorFunction%') {\n\t\tvalue = getEvalledConstructor('function* () {}');\n\t} else if (name === '%AsyncGeneratorFunction%') {\n\t\tvalue = getEvalledConstructor('async function* () {}');\n\t} else if (name === '%AsyncGenerator%') {\n\t\tvar fn = doEval('%AsyncGeneratorFunction%');\n\t\tif (fn) {\n\t\t\tvalue = fn.prototype;\n\t\t}\n\t} else if (name === '%AsyncIteratorPrototype%') {\n\t\tvar gen = doEval('%AsyncGenerator%');\n\t\tif (gen && getProto) {\n\t\t\tvalue = getProto(gen.prototype);\n\t\t}\n\t}\n\n\tINTRINSICS[name] = value;\n\n\treturn value;\n};\n\nvar LEGACY_ALIASES = {\n\t__proto__: null,\n\t'%ArrayBufferPrototype%': ['ArrayBuffer', 'prototype'],\n\t'%ArrayPrototype%': ['Array', 'prototype'],\n\t'%ArrayProto_entries%': ['Array', 'prototype', 'entries'],\n\t'%ArrayProto_forEach%': ['Array', 'prototype', 'forEach'],\n\t'%ArrayProto_keys%': ['Array', 'prototype', 'keys'],\n\t'%ArrayProto_values%': ['Array', 'prototype', 'values'],\n\t'%AsyncFunctionPrototype%': ['AsyncFunction', 'prototype'],\n\t'%AsyncGenerator%': ['AsyncGeneratorFunction', 'prototype'],\n\t'%AsyncGeneratorPrototype%': ['AsyncGeneratorFunction', 'prototype', 'prototype'],\n\t'%BooleanPrototype%': ['Boolean', 'prototype'],\n\t'%DataViewPrototype%': ['DataView', 'prototype'],\n\t'%DatePrototype%': ['Date', 'prototype'],\n\t'%ErrorPrototype%': ['Error', 'prototype'],\n\t'%EvalErrorPrototype%': ['EvalError', 'prototype'],\n\t'%Float32ArrayPrototype%': ['Float32Array', 'prototype'],\n\t'%Float64ArrayPrototype%': ['Float64Array', 'prototype'],\n\t'%FunctionPrototype%': ['Function', 'prototype'],\n\t'%Generator%': ['GeneratorFunction', 'prototype'],\n\t'%GeneratorPrototype%': ['GeneratorFunction', 'prototype', 'prototype'],\n\t'%Int8ArrayPrototype%': ['Int8Array', 'prototype'],\n\t'%Int16ArrayPrototype%': ['Int16Array', 'prototype'],\n\t'%Int32ArrayPrototype%': ['Int32Array', 'prototype'],\n\t'%JSONParse%': ['JSON', 'parse'],\n\t'%JSONStringify%': ['JSON', 'stringify'],\n\t'%MapPrototype%': ['Map', 'prototype'],\n\t'%NumberPrototype%': ['Number', 'prototype'],\n\t'%ObjectPrototype%': ['Object', 'prototype'],\n\t'%ObjProto_toString%': ['Object', 'prototype', 'toString'],\n\t'%ObjProto_valueOf%': ['Object', 'prototype', 'valueOf'],\n\t'%PromisePrototype%': ['Promise', 'prototype'],\n\t'%PromiseProto_then%': ['Promise', 'prototype', 'then'],\n\t'%Promise_all%': ['Promise', 'all'],\n\t'%Promise_reject%': ['Promise', 'reject'],\n\t'%Promise_resolve%': ['Promise', 'resolve'],\n\t'%RangeErrorPrototype%': ['RangeError', 'prototype'],\n\t'%ReferenceErrorPrototype%': ['ReferenceError', 'prototype'],\n\t'%RegExpPrototype%': ['RegExp', 'prototype'],\n\t'%SetPrototype%': ['Set', 'prototype'],\n\t'%SharedArrayBufferPrototype%': ['SharedArrayBuffer', 'prototype'],\n\t'%StringPrototype%': ['String', 'prototype'],\n\t'%SymbolPrototype%': ['Symbol', 'prototype'],\n\t'%SyntaxErrorPrototype%': ['SyntaxError', 'prototype'],\n\t'%TypedArrayPrototype%': ['TypedArray', 'prototype'],\n\t'%TypeErrorPrototype%': ['TypeError', 'prototype'],\n\t'%Uint8ArrayPrototype%': ['Uint8Array', 'prototype'],\n\t'%Uint8ClampedArrayPrototype%': ['Uint8ClampedArray', 'prototype'],\n\t'%Uint16ArrayPrototype%': ['Uint16Array', 'prototype'],\n\t'%Uint32ArrayPrototype%': ['Uint32Array', 'prototype'],\n\t'%URIErrorPrototype%': ['URIError', 'prototype'],\n\t'%WeakMapPrototype%': ['WeakMap', 'prototype'],\n\t'%WeakSetPrototype%': ['WeakSet', 'prototype']\n};\n\nvar bind = require('function-bind');\nvar hasOwn = require('hasown');\nvar $concat = bind.call(Function.call, Array.prototype.concat);\nvar $spliceApply = bind.call(Function.apply, Array.prototype.splice);\nvar $replace = bind.call(Function.call, String.prototype.replace);\nvar $strSlice = bind.call(Function.call, String.prototype.slice);\nvar $exec = bind.call(Function.call, RegExp.prototype.exec);\n\n/* adapted from https://github.com/lodash/lodash/blob/4.17.15/dist/lodash.js#L6735-L6744 */\nvar rePropName = /[^%.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|%$))/g;\nvar reEscapeChar = /\\\\(\\\\)?/g; /** Used to match backslashes in property paths. */\nvar stringToPath = function stringToPath(string) {\n\tvar first = $strSlice(string, 0, 1);\n\tvar last = $strSlice(string, -1);\n\tif (first === '%' && last !== '%') {\n\t\tthrow new $SyntaxError('invalid intrinsic syntax, expected closing `%`');\n\t} else if (last === '%' && first !== '%') {\n\t\tthrow new $SyntaxError('invalid intrinsic syntax, expected opening `%`');\n\t}\n\tvar result = [];\n\t$replace(string, rePropName, function (match, number, quote, subString) {\n\t\tresult[result.length] = quote ? $replace(subString, reEscapeChar, '$1') : number || match;\n\t});\n\treturn result;\n};\n/* end adaptation */\n\nvar getBaseIntrinsic = function getBaseIntrinsic(name, allowMissing) {\n\tvar intrinsicName = name;\n\tvar alias;\n\tif (hasOwn(LEGACY_ALIASES, intrinsicName)) {\n\t\talias = LEGACY_ALIASES[intrinsicName];\n\t\tintrinsicName = '%' + alias[0] + '%';\n\t}\n\n\tif (hasOwn(INTRINSICS, intrinsicName)) {\n\t\tvar value = INTRINSICS[intrinsicName];\n\t\tif (value === needsEval) {\n\t\t\tvalue = doEval(intrinsicName);\n\t\t}\n\t\tif (typeof value === 'undefined' && !allowMissing) {\n\t\t\tthrow new $TypeError('intrinsic ' + name + ' exists, but is not available. Please file an issue!');\n\t\t}\n\n\t\treturn {\n\t\t\talias: alias,\n\t\t\tname: intrinsicName,\n\t\t\tvalue: value\n\t\t};\n\t}\n\n\tthrow new $SyntaxError('intrinsic ' + name + ' does not exist!');\n};\n\nmodule.exports = function GetIntrinsic(name, allowMissing) {\n\tif (typeof name !== 'string' || name.length === 0) {\n\t\tthrow new $TypeError('intrinsic name must be a non-empty string');\n\t}\n\tif (arguments.length > 1 && typeof allowMissing !== 'boolean') {\n\t\tthrow new $TypeError('\"allowMissing\" argument must be a boolean');\n\t}\n\n\tif ($exec(/^%?[^%]*%?$/, name) === null) {\n\t\tthrow new $SyntaxError('`%` may not be present anywhere but at the beginning and end of the intrinsic name');\n\t}\n\tvar parts = stringToPath(name);\n\tvar intrinsicBaseName = parts.length > 0 ? parts[0] : '';\n\n\tvar intrinsic = getBaseIntrinsic('%' + intrinsicBaseName + '%', allowMissing);\n\tvar intrinsicRealName = intrinsic.name;\n\tvar value = intrinsic.value;\n\tvar skipFurtherCaching = false;\n\n\tvar alias = intrinsic.alias;\n\tif (alias) {\n\t\tintrinsicBaseName = alias[0];\n\t\t$spliceApply(parts, $concat([0, 1], alias));\n\t}\n\n\tfor (var i = 1, isOwn = true; i < parts.length; i += 1) {\n\t\tvar part = parts[i];\n\t\tvar first = $strSlice(part, 0, 1);\n\t\tvar last = $strSlice(part, -1);\n\t\tif (\n\t\t\t(\n\t\t\t\t(first === '\"' || first === \"'\" || first === '`')\n\t\t\t\t|| (last === '\"' || last === \"'\" || last === '`')\n\t\t\t)\n\t\t\t&& first !== last\n\t\t) {\n\t\t\tthrow new $SyntaxError('property names with quotes must have matching quotes');\n\t\t}\n\t\tif (part === 'constructor' || !isOwn) {\n\t\t\tskipFurtherCaching = true;\n\t\t}\n\n\t\tintrinsicBaseName += '.' + part;\n\t\tintrinsicRealName = '%' + intrinsicBaseName + '%';\n\n\t\tif (hasOwn(INTRINSICS, intrinsicRealName)) {\n\t\t\tvalue = INTRINSICS[intrinsicRealName];\n\t\t} else if (value != null) {\n\t\t\tif (!(part in value)) {\n\t\t\t\tif (!allowMissing) {\n\t\t\t\t\tthrow new $TypeError('base intrinsic for ' + name + ' exists, but the property is not available.');\n\t\t\t\t}\n\t\t\t\treturn void undefined;\n\t\t\t}\n\t\t\tif ($gOPD && (i + 1) >= parts.length) {\n\t\t\t\tvar desc = $gOPD(value, part);\n\t\t\t\tisOwn = !!desc;\n\n\t\t\t\t// By convention, when a data property is converted to an accessor\n\t\t\t\t// property to emulate a data property that does not suffer from\n\t\t\t\t// the override mistake, that accessor's getter is marked with\n\t\t\t\t// an `originalValue` property. Here, when we detect this, we\n\t\t\t\t// uphold the illusion by pretending to see that original data\n\t\t\t\t// property, i.e., returning the value rather than the getter\n\t\t\t\t// itself.\n\t\t\t\tif (isOwn && 'get' in desc && !('originalValue' in desc.get)) {\n\t\t\t\t\tvalue = desc.get;\n\t\t\t\t} else {\n\t\t\t\t\tvalue = value[part];\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tisOwn = hasOwn(value, part);\n\t\t\t\tvalue = value[part];\n\t\t\t}\n\n\t\t\tif (isOwn && !skipFurtherCaching) {\n\t\t\t\tINTRINSICS[intrinsicRealName] = value;\n\t\t\t}\n\t\t}\n\t}\n\treturn value;\n};\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\n\nvar $gOPD = GetIntrinsic('%Object.getOwnPropertyDescriptor%', true);\n\nif ($gOPD) {\n\ttry {\n\t\t$gOPD([], 'length');\n\t} catch (e) {\n\t\t// IE 8 has a broken gOPD\n\t\t$gOPD = null;\n\t}\n}\n\nmodule.exports = $gOPD;\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"PhoenixDestinationOffersSearchByArea\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"OffersSearchByAreaInput\"}}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"limit\"}},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Int\"}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"sort\"}},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"OffersSearchSort\"}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"offset\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Int\"}}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"participatingPropertiesLimit2\"}},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Int\"}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"offersSearchByArea\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"limit\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"limit\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"sort\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"sort\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"total\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"edges\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"node\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"title\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"descriptionTeaser\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"memberLevel\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"url\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"numProperties\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"participatingProperties\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"offset\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"offset\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"limit\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"participatingPropertiesLimit2\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"properties\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"basicInformation\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]}]}}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"photos\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"images\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"url\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"aspectRatio\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"captions\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"length\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"caption\"},\"arguments\":[],\"directives\":[]}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"callToActionLabel\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"callToActionLink\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"cardLabel\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"media\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"primaryImage\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"caption\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"imageSrc\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"imageUrls\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"wideHorizontal\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"square\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"title\"},\"arguments\":[],\"directives\":[]}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"offerCategory\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"offerStatus\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"offerType\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"seoTitle\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"urlTitle\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"parentOfferType\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":1194}};\n doc.loc.source = {\"body\":\"query PhoenixDestinationOffersSearchByArea(\\n $input: OffersSearchByAreaInput!,\\n $limit: Int, \\n $sort: OffersSearchSort, \\n $offset: Int!,\\n $participatingPropertiesLimit2: Int) {\\n offersSearchByArea(input: $input, limit: $limit, sort: $sort) {\\n total\\n edges {\\n node {\\n id\\n title\\n descriptionTeaser\\n memberLevel\\n url\\n numProperties\\n participatingProperties(offset: $offset, limit: $participatingPropertiesLimit2) {\\n properties {\\n basicInformation {\\n name\\n }\\n }\\n }\\n photos {\\n images {\\n url\\n aspectRatio\\n }\\n captions {\\n length\\n caption\\n }\\n }\\n callToActionLabel\\n callToActionLink\\n cardLabel\\n media {\\n primaryImage {\\n caption\\n id\\n imageSrc\\n imageUrls {\\n wideHorizontal\\n square\\n }\\n title\\n }\\n }\\n offerCategory\\n offerStatus\\n offerType\\n seoTitle\\n urlTitle\\n parentOfferType\\n }\\n }\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"PhoenixDestinationOffersSearchByArea\"] = oneQuery(doc, \"PhoenixDestinationOffersSearchByArea\");\n \n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"PhoenixDestinationOffersSearchByGeolocation\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"OffersSearchByGeolocationInput\"}}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"limit\"}},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Int\"}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"sort\"}},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"OffersSearchSort\"}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"offset\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Int\"}}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"participatingPropertiesLimit2\"}},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Int\"}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"offersSearchByGeolocation\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"limit\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"limit\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"sort\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"sort\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"total\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"edges\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"node\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"title\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"descriptionTeaser\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"memberLevel\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"url\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"numProperties\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"participatingProperties\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"offset\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"offset\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"limit\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"participatingPropertiesLimit2\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"properties\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"basicInformation\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]}]}}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"callToActionLabel\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"callToActionLink\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"cardLabel\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"media\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"primaryImage\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"caption\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"imageSrc\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"imageUrls\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"wideHorizontal\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"square\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"title\"},\"arguments\":[],\"directives\":[]}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"offerCategory\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"offerStatus\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"offerType\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"seoTitle\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"urlTitle\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"parentOfferType\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"photos\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"images\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"aspectRatio\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"url\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":1154}};\n doc.loc.source = {\"body\":\"query PhoenixDestinationOffersSearchByGeolocation(\\n $input: OffersSearchByGeolocationInput!,\\n $limit: Int,\\n $sort: OffersSearchSort,\\n $offset: Int!,\\n $participatingPropertiesLimit2: Int) {\\n offersSearchByGeolocation(\\n input: $input\\n limit: $limit\\n sort: $sort\\n ) {\\n total\\n edges {\\n node {\\n id\\n title\\n descriptionTeaser\\n memberLevel\\n url\\n numProperties\\n participatingProperties(offset: $offset, limit: $participatingPropertiesLimit2) {\\n properties {\\n basicInformation {\\n name\\n }\\n }\\n }\\n callToActionLabel\\n callToActionLink\\n cardLabel\\n media {\\n primaryImage {\\n caption\\n id\\n imageSrc\\n imageUrls {\\n wideHorizontal\\n square\\n }\\n title\\n }\\n }\\n offerCategory\\n offerStatus\\n offerType\\n seoTitle\\n urlTitle\\n parentOfferType\\n photos {\\n images {\\n aspectRatio\\n url\\n }\\n }\\n }\\n }\\n }\\n}\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"PhoenixDestinationOffersSearchByGeolocation\"] = oneQuery(doc, \"PhoenixDestinationOffersSearchByGeolocation\");\n \n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"phoenixOfferPreview\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"offerPreviewId\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"offerPreview\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"offerPreviewId\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"offer\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"stayEndDate\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"title\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"description\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"seoNickname\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"descriptionTeaser\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"memberLevel\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"url\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"urlTitle\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"seoTitle\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"numProperties\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"participatingProperties\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"offset\"},\"value\":{\"kind\":\"IntValue\",\"value\":\"0\"}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"limit\"},\"value\":{\"kind\":\"IntValue\",\"value\":\"1\"}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"properties\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"basicInformation\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]}]}}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"photos\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"images\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"url\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"aspectRatio\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"captions\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"caption\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"length\"},\"arguments\":[],\"directives\":[]}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"media\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"primaryImage\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"imageSrc\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"imageUrls\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"wideHorizontal\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"square\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":780}};\n doc.loc.source = {\"body\":\"query phoenixOfferPreview($offerPreviewId: String!) {\\n offerPreview(id: $offerPreviewId) {\\n id\\n offer {\\n id\\n stayEndDate\\n title\\n description\\n seoNickname\\n descriptionTeaser\\n memberLevel\\n url\\n urlTitle\\n seoTitle\\n numProperties\\n participatingProperties(offset: 0, limit: 1) {\\n properties {\\n id\\n basicInformation {\\n name\\n }\\n }\\n }\\n photos {\\n name\\n images {\\n url\\n aspectRatio\\n }\\n captions {\\n caption\\n length\\n }\\n }\\n media {\\n primaryImage {\\n imageSrc\\n imageUrls {\\n wideHorizontal\\n square\\n }\\n }\\n }\\n }\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"phoenixOfferPreview\"] = oneQuery(doc, \"phoenixOfferPreview\");\n \n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"FragmentDefinition\",\"name\":{\"kind\":\"Name\",\"value\":\"phoenixOffersOfferSummaryFragment\"},\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Offer\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"__typename\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"description\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"seoNickname\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"descriptionTeaser\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"memberLevel\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"numProperties\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"participatingProperties\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"limit\"},\"value\":{\"kind\":\"IntValue\",\"value\":\"1\"}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"offset\"},\"value\":{\"kind\":\"IntValue\",\"value\":\"0\"}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"__typename\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"properties\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"__typename\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"basicInformation\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"__typename\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]}]}}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"photos\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"__typename\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"captions\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"__typename\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"caption\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"length\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"images\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"__typename\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"aspectRatio\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"url\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"media\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"__typename\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"primaryImage\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"imageSrc\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"imageUrls\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"wideHorizontal\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"square\"},\"arguments\":[],\"directives\":[]}]}}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"stayEndDate\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"title\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"url\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"urlTitle\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"callToActionLink\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"parentOfferType\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"offerType\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"offerCategory\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"phoenixOffersCarousel\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"optimizedOffersInput\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"OptimizedOffersInput\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"offersCarousel\"},\"name\":{\"kind\":\"Name\",\"value\":\"optimizedOffers\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"query\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"optimizedOffersInput\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"__typename\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"experienceId\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"offerCollection\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"__typename\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"catalogId\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"offer\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"FragmentSpread\",\"name\":{\"kind\":\"Name\",\"value\":\"phoenixOffersOfferSummaryFragment\"},\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"seoTitle\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":1065}};\n doc.loc.source = {\"body\":\"fragment phoenixOffersOfferSummaryFragment on Offer {\\n __typename\\n description\\n seoNickname\\n descriptionTeaser\\n id\\n memberLevel\\n numProperties\\n participatingProperties(limit: 1, offset: 0) {\\n __typename\\n properties {\\n __typename\\n id\\n basicInformation {\\n __typename\\n name\\n }\\n }\\n }\\n photos {\\n __typename\\n captions {\\n __typename\\n caption\\n length\\n }\\n images {\\n __typename\\n aspectRatio\\n url\\n }\\n name\\n }\\n media {\\n __typename\\n primaryImage {\\n imageSrc\\n imageUrls {\\n wideHorizontal\\n square\\n }\\n }\\n }\\n stayEndDate\\n title\\n url\\n urlTitle\\n callToActionLink\\n parentOfferType\\n offerType\\n offerCategory\\n}\\n\\nquery phoenixOffersCarousel($optimizedOffersInput: OptimizedOffersInput!) {\\n offersCarousel: optimizedOffers(query: $optimizedOffersInput) {\\n __typename\\n experienceId\\n offerCollection {\\n __typename\\n catalogId\\n offer {\\n ...phoenixOffersOfferSummaryFragment\\n seoTitle\\n }\\n }\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"phoenixOffersOfferSummaryFragment\"] = oneQuery(doc, \"phoenixOffersOfferSummaryFragment\");\n \n module.exports[\"phoenixOffersCarousel\"] = oneQuery(doc, \"phoenixOffersCarousel\");\n \n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"FragmentDefinition\",\"name\":{\"kind\":\"Name\",\"value\":\"phoenixOffersOfferSummaryFragment\"},\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Offer\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"__typename\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"description\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"seoNickname\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"descriptionTeaser\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"memberLevel\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"numProperties\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"participatingProperties\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"limit\"},\"value\":{\"kind\":\"IntValue\",\"value\":\"1\"}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"offset\"},\"value\":{\"kind\":\"IntValue\",\"value\":\"0\"}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"__typename\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"properties\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"__typename\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"basicInformation\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"__typename\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]}]}}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"photos\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"__typename\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"captions\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"__typename\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"caption\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"length\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"images\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"__typename\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"aspectRatio\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"url\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"media\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"__typename\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"primaryImage\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"imageSrc\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"imageUrls\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"wideHorizontal\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"square\"},\"arguments\":[],\"directives\":[]}]}}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"stayEndDate\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"title\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"url\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"urlTitle\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"callToActionLink\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"parentOfferType\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"offerType\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"offerCategory\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"phoenixOffersFallbackOffers\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"offersSearchInput\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"offersSearchInput\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"fallbackOffers\"},\"name\":{\"kind\":\"Name\",\"value\":\"offersSearch\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"offersSearchInput\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"offerCollection\"},\"name\":{\"kind\":\"Name\",\"value\":\"edges\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"offer\"},\"name\":{\"kind\":\"Name\",\"value\":\"node\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"FragmentSpread\",\"name\":{\"kind\":\"Name\",\"value\":\"phoenixOffersOfferSummaryFragment\"},\"directives\":[]}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":990}};\n doc.loc.source = {\"body\":\"fragment phoenixOffersOfferSummaryFragment on Offer {\\n __typename\\n description\\n seoNickname\\n descriptionTeaser\\n id\\n memberLevel\\n numProperties\\n participatingProperties(limit: 1, offset: 0) {\\n __typename\\n properties {\\n __typename\\n id\\n basicInformation {\\n __typename\\n name\\n }\\n }\\n }\\n photos {\\n __typename\\n captions {\\n __typename\\n caption\\n length\\n }\\n images {\\n __typename\\n aspectRatio\\n url\\n }\\n name\\n }\\n media {\\n __typename\\n primaryImage {\\n imageSrc\\n imageUrls {\\n wideHorizontal\\n square\\n }\\n }\\n }\\n stayEndDate\\n title\\n url\\n urlTitle\\n callToActionLink\\n parentOfferType\\n offerType\\n offerCategory\\n}\\n\\nquery phoenixOffersFallbackOffers($offersSearchInput: offersSearchInput!) {\\n fallbackOffers: offersSearch(input: $offersSearchInput) {\\n offerCollection: edges {\\n offer: node {\\n ...phoenixOffersOfferSummaryFragment\\n }\\n }\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"phoenixOffersOfferSummaryFragment\"] = oneQuery(doc, \"phoenixOffersOfferSummaryFragment\");\n \n module.exports[\"phoenixOffersFallbackOffers\"] = oneQuery(doc, \"phoenixOffersFallbackOffers\");\n \n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"phoenixPpv5AccuWeather\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"propertyId\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"property\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"propertyId\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"InlineFragment\",\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Hotel\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"weather\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"hourly\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"dateTime\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"weatherIcon\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"temperature\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"value\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"unit\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"mobileLink\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"link\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"tenDay\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"date\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"temperature\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"maximum\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"value\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"unit\"},\"arguments\":[],\"directives\":[]}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"mobileLink\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"link\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"day\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"weatherIcon\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":550}};\n doc.loc.source = {\"body\":\"query phoenixPpv5AccuWeather($propertyId: ID!) {\\n property(id: $propertyId) {\\n ... on Hotel {\\n weather {\\n hourly {\\n dateTime\\n weatherIcon\\n temperature {\\n value\\n unit\\n }\\n mobileLink\\n link\\n }\\n tenDay {\\n date\\n temperature {\\n maximum {\\n value\\n unit\\n }\\n }\\n mobileLink\\n link\\n day {\\n weatherIcon\\n }\\n }\\n }\\n }\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"phoenixPpv5AccuWeather\"] = oneQuery(doc, \"phoenixPpv5AccuWeather\");\n \n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"phoenixPpv5CountryCodeDetails\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"propertyId\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"property\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"propertyId\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"contactInformation\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"address\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"country\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"code\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":190}};\n doc.loc.source = {\"body\":\"query phoenixPpv5CountryCodeDetails($propertyId: ID!) {\\n property(id: $propertyId) {\\n contactInformation {\\n address {\\n country {\\n code\\n }\\n }\\n }\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"phoenixPpv5CountryCodeDetails\"] = oneQuery(doc, \"phoenixPpv5CountryCodeDetails\");\n \n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"phoenixPpv5HeaderDetails\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"propertyId\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"filter\"}},\"type\":{\"kind\":\"ListType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ContactNumberType\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"property\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"propertyId\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"basicInformation\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"latitude\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"longitude\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"contactInformation\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"contactNumbers\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"filter\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"filter\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"phoneNumber\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"display\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":317}};\n doc.loc.source = {\"body\":\"query phoenixPpv5HeaderDetails($propertyId: ID!, $filter: [ContactNumberType]) {\\n property(id: $propertyId) {\\n basicInformation {\\n name\\n latitude\\n longitude\\n }\\n contactInformation {\\n contactNumbers(filter: $filter) {\\n phoneNumber {\\n display\\n }\\n }\\n }\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"phoenixPpv5HeaderDetails\"] = oneQuery(doc, \"phoenixPpv5HeaderDetails\");\n \n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"phoenixPpv5HeroBanner\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"propertyId\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"property\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"propertyId\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"media\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"internetPortalPrimaryImage\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"title\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"imageUrls\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"wideHorizontal\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"classicHorizontal\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"square\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"imageSrc\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"alternateDescription\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":316}};\n doc.loc.source = {\"body\":\"query phoenixPpv5HeroBanner($propertyId: ID!) {\\n property(id: $propertyId) {\\n media {\\n internetPortalPrimaryImage {\\n id\\n title\\n imageUrls {\\n wideHorizontal\\n classicHorizontal\\n square\\n }\\n imageSrc\\n alternateDescription\\n }\\n }\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"phoenixPpv5HeroBanner\"] = oneQuery(doc, \"phoenixPpv5HeroBanner\");\n \n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"phoenixPpv5InternetPricing\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"propertyId\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"version\"}},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"PropertyDataSourceVersion\"}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"connectionPricingFilter\"}},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ConnectionPricingDetailsFilter\"}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"property\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"propertyId\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"version\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"version\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"InlineFragment\",\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Hotel\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"basicInformation\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"InlineFragment\",\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"HotelBasicInformation\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"globalDivision\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"currency\"},\"arguments\":[],\"directives\":[]}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"contactInformation\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"address\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"country\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"code\"},\"arguments\":[],\"directives\":[]}]}}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"internet\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"connectionPricingDetails\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"connectionPricingFilter\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"connectionPricingFilter\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"externalRecordId\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"hasOtherThanHotelQuotingCurrency\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"tierType\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"type\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"feeDetails\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"fee\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"feeInterval\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"feeType\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"settlementFee\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"settlementCurrency\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"description\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"code\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":911}};\n doc.loc.source = {\"body\":\"query phoenixPpv5InternetPricing(\\n $propertyId: ID!\\n $version: PropertyDataSourceVersion\\n $connectionPricingFilter: ConnectionPricingDetailsFilter\\n) {\\n property(id: $propertyId, version: $version) {\\n ... on Hotel {\\n basicInformation {\\n ... on HotelBasicInformation {\\n globalDivision\\n currency\\n }\\n }\\n contactInformation {\\n address {\\n country {\\n code\\n }\\n }\\n }\\n\\n internet {\\n connectionPricingDetails(connectionPricingFilter: $connectionPricingFilter) {\\n externalRecordId\\n hasOtherThanHotelQuotingCurrency\\n tierType\\n type\\n feeDetails {\\n fee\\n feeInterval\\n feeType\\n settlementFee\\n settlementCurrency {\\n description\\n code\\n }\\n }\\n }\\n }\\n }\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"phoenixPpv5InternetPricing\"] = oneQuery(doc, \"phoenixPpv5InternetPricing\");\n \n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"phoenixPpv5Services\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"propertyId\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"property\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"propertyId\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"InlineFragment\",\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Hotel\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"restaurants\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"edges\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"node\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"description\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"onProperty\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"reservationURL\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"media\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"imageConnection\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"edges\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"node\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"imageUrls\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"classicHorizontal\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"square\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"alternateDescription\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isPrimaryServices\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"defaultImage\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"productId\"},\"arguments\":[],\"directives\":[]}]}}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"spa\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"edges\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"node\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"description\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"bookNowURL\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"onProperty\"},\"arguments\":[],\"directives\":[]}]}}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"basicInformation\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"InlineFragment\",\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"HotelBasicInformation\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isOrderFoodAndBeverageByMobileSupported\"},\"arguments\":[],\"directives\":[]}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"media\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"photoGallery\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"spa\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"edges\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"node\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"title\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"caption\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"marketingCaption\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"alternateDescription\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isPrimaryArchitectural\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isSecondaryArchitectural\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isPrimaryServices\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isSecondaryServices\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"is360Photo\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isPrimary\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"imageUrls\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"classicHorizontal\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"imageSrc\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"defaultImage\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":1626}};\n doc.loc.source = {\"body\":\"query phoenixPpv5Services($propertyId: ID!) {\\n property(id: $propertyId) {\\n ... on Hotel {\\n restaurants {\\n edges {\\n node {\\n description\\n name\\n onProperty\\n reservationURL\\n media {\\n imageConnection {\\n edges {\\n node {\\n imageUrls {\\n classicHorizontal\\n square\\n }\\n alternateDescription\\n isPrimaryServices\\n defaultImage\\n }\\n }\\n }\\n }\\n productId\\n }\\n }\\n }\\n\\n spa {\\n edges {\\n node {\\n name\\n description\\n bookNowURL\\n id\\n onProperty\\n }\\n }\\n }\\n basicInformation {\\n ... on HotelBasicInformation {\\n isOrderFoodAndBeverageByMobileSupported\\n }\\n }\\n media {\\n photoGallery {\\n spa {\\n edges {\\n node {\\n title\\n caption\\n marketingCaption\\n alternateDescription\\n isPrimaryArchitectural\\n isSecondaryArchitectural\\n isPrimaryServices\\n isSecondaryServices\\n is360Photo\\n isPrimary\\n imageUrls {\\n classicHorizontal\\n }\\n imageSrc\\n defaultImage\\n }\\n }\\n }\\n }\\n }\\n }\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"phoenixPpv5Services\"] = oneQuery(doc, \"phoenixPpv5Services\");\n \n","'use strict';\n\nvar $defineProperty = require('es-define-property');\n\nvar hasPropertyDescriptors = function hasPropertyDescriptors() {\n\treturn !!$defineProperty;\n};\n\nhasPropertyDescriptors.hasArrayLengthDefineBug = function hasArrayLengthDefineBug() {\n\t// node v0.6 has a bug where array lengths can be Set but not Defined\n\tif (!$defineProperty) {\n\t\treturn null;\n\t}\n\ttry {\n\t\treturn $defineProperty([], 'length', { value: 1 }).length !== 1;\n\t} catch (e) {\n\t\t// In Firefox 4-22, defining length on an array throws an exception.\n\t\treturn true;\n\t}\n};\n\nmodule.exports = hasPropertyDescriptors;\n","'use strict';\n\nvar test = {\n\t__proto__: null,\n\tfoo: {}\n};\n\nvar $Object = Object;\n\n/** @type {import('.')} */\nmodule.exports = function hasProto() {\n\t// @ts-expect-error: TS errors on an inherited property for some reason\n\treturn { __proto__: test }.foo === test.foo\n\t\t&& !(test instanceof $Object);\n};\n","'use strict';\n\nvar origSymbol = typeof Symbol !== 'undefined' && Symbol;\nvar hasSymbolSham = require('./shams');\n\nmodule.exports = function hasNativeSymbols() {\n\tif (typeof origSymbol !== 'function') { return false; }\n\tif (typeof Symbol !== 'function') { return false; }\n\tif (typeof origSymbol('foo') !== 'symbol') { return false; }\n\tif (typeof Symbol('bar') !== 'symbol') { return false; }\n\n\treturn hasSymbolSham();\n};\n","'use strict';\n\n/* eslint complexity: [2, 18], max-statements: [2, 33] */\nmodule.exports = function hasSymbols() {\n\tif (typeof Symbol !== 'function' || typeof Object.getOwnPropertySymbols !== 'function') { return false; }\n\tif (typeof Symbol.iterator === 'symbol') { return true; }\n\n\tvar obj = {};\n\tvar sym = Symbol('test');\n\tvar symObj = Object(sym);\n\tif (typeof sym === 'string') { return false; }\n\n\tif (Object.prototype.toString.call(sym) !== '[object Symbol]') { return false; }\n\tif (Object.prototype.toString.call(symObj) !== '[object Symbol]') { return false; }\n\n\t// temp disabled per https://github.com/ljharb/object.assign/issues/17\n\t// if (sym instanceof Symbol) { return false; }\n\t// temp disabled per https://github.com/WebReflection/get-own-property-symbols/issues/4\n\t// if (!(symObj instanceof Symbol)) { return false; }\n\n\t// if (typeof Symbol.prototype.toString !== 'function') { return false; }\n\t// if (String(sym) !== Symbol.prototype.toString.call(sym)) { return false; }\n\n\tvar symVal = 42;\n\tobj[sym] = symVal;\n\tfor (sym in obj) { return false; } // eslint-disable-line no-restricted-syntax, no-unreachable-loop\n\tif (typeof Object.keys === 'function' && Object.keys(obj).length !== 0) { return false; }\n\n\tif (typeof Object.getOwnPropertyNames === 'function' && Object.getOwnPropertyNames(obj).length !== 0) { return false; }\n\n\tvar syms = Object.getOwnPropertySymbols(obj);\n\tif (syms.length !== 1 || syms[0] !== sym) { return false; }\n\n\tif (!Object.prototype.propertyIsEnumerable.call(obj, sym)) { return false; }\n\n\tif (typeof Object.getOwnPropertyDescriptor === 'function') {\n\t\tvar descriptor = Object.getOwnPropertyDescriptor(obj, sym);\n\t\tif (descriptor.value !== symVal || descriptor.enumerable !== true) { return false; }\n\t}\n\n\treturn true;\n};\n","'use strict';\n\nvar hasSymbols = require('has-symbols/shams');\n\n/** @type {import('.')} */\nmodule.exports = function hasToStringTagShams() {\n\treturn hasSymbols() && !!Symbol.toStringTag;\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\nvar reactIs = require('react-is');\n\n/**\n * Copyright 2015, Yahoo! Inc.\n * Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms.\n */\nvar REACT_STATICS = {\n childContextTypes: true,\n contextType: true,\n contextTypes: true,\n defaultProps: true,\n displayName: true,\n getDefaultProps: true,\n getDerivedStateFromError: true,\n getDerivedStateFromProps: true,\n mixins: true,\n propTypes: true,\n type: true\n};\nvar KNOWN_STATICS = {\n name: true,\n length: true,\n prototype: true,\n caller: true,\n callee: true,\n arguments: true,\n arity: true\n};\nvar FORWARD_REF_STATICS = {\n '$$typeof': true,\n render: true,\n defaultProps: true,\n displayName: true,\n propTypes: true\n};\nvar MEMO_STATICS = {\n '$$typeof': true,\n compare: true,\n defaultProps: true,\n displayName: true,\n propTypes: true,\n type: true\n};\nvar TYPE_STATICS = {};\nTYPE_STATICS[reactIs.ForwardRef] = FORWARD_REF_STATICS;\nTYPE_STATICS[reactIs.Memo] = MEMO_STATICS;\n\nfunction getStatics(component) {\n // React v16.11 and below\n if (reactIs.isMemo(component)) {\n return MEMO_STATICS;\n } // React v16.12 and above\n\n\n return TYPE_STATICS[component['$$typeof']] || REACT_STATICS;\n}\n\nvar defineProperty = Object.defineProperty;\nvar getOwnPropertyNames = Object.getOwnPropertyNames;\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar getPrototypeOf = Object.getPrototypeOf;\nvar objectPrototype = Object.prototype;\nfunction hoistNonReactStatics(targetComponent, sourceComponent, blacklist) {\n if (typeof sourceComponent !== 'string') {\n // don't hoist over string (html) components\n if (objectPrototype) {\n var inheritedComponent = getPrototypeOf(sourceComponent);\n\n if (inheritedComponent && inheritedComponent !== objectPrototype) {\n hoistNonReactStatics(targetComponent, inheritedComponent, blacklist);\n }\n }\n\n var keys = getOwnPropertyNames(sourceComponent);\n\n if (getOwnPropertySymbols) {\n keys = keys.concat(getOwnPropertySymbols(sourceComponent));\n }\n\n var targetStatics = getStatics(targetComponent);\n var sourceStatics = getStatics(sourceComponent);\n\n for (var i = 0; i < keys.length; ++i) {\n var key = keys[i];\n\n if (!KNOWN_STATICS[key] && !(blacklist && blacklist[key]) && !(sourceStatics && sourceStatics[key]) && !(targetStatics && targetStatics[key])) {\n var descriptor = getOwnPropertyDescriptor(sourceComponent, key);\n\n try {\n // Avoid failures from read-only properties\n defineProperty(targetComponent, key, descriptor);\n } catch (e) {}\n }\n }\n }\n\n return targetComponent;\n}\n\nmodule.exports = hoistNonReactStatics;\n","/** @license React v16.13.1\n * react-is.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';var b=\"function\"===typeof Symbol&&Symbol.for,c=b?Symbol.for(\"react.element\"):60103,d=b?Symbol.for(\"react.portal\"):60106,e=b?Symbol.for(\"react.fragment\"):60107,f=b?Symbol.for(\"react.strict_mode\"):60108,g=b?Symbol.for(\"react.profiler\"):60114,h=b?Symbol.for(\"react.provider\"):60109,k=b?Symbol.for(\"react.context\"):60110,l=b?Symbol.for(\"react.async_mode\"):60111,m=b?Symbol.for(\"react.concurrent_mode\"):60111,n=b?Symbol.for(\"react.forward_ref\"):60112,p=b?Symbol.for(\"react.suspense\"):60113,q=b?\nSymbol.for(\"react.suspense_list\"):60120,r=b?Symbol.for(\"react.memo\"):60115,t=b?Symbol.for(\"react.lazy\"):60116,v=b?Symbol.for(\"react.block\"):60121,w=b?Symbol.for(\"react.fundamental\"):60117,x=b?Symbol.for(\"react.responder\"):60118,y=b?Symbol.for(\"react.scope\"):60119;\nfunction z(a){if(\"object\"===typeof a&&null!==a){var u=a.$$typeof;switch(u){case c:switch(a=a.type,a){case l:case m:case e:case g:case f:case p:return a;default:switch(a=a&&a.$$typeof,a){case k:case n:case t:case r:case h:return a;default:return u}}case d:return u}}}function A(a){return z(a)===m}exports.AsyncMode=l;exports.ConcurrentMode=m;exports.ContextConsumer=k;exports.ContextProvider=h;exports.Element=c;exports.ForwardRef=n;exports.Fragment=e;exports.Lazy=t;exports.Memo=r;exports.Portal=d;\nexports.Profiler=g;exports.StrictMode=f;exports.Suspense=p;exports.isAsyncMode=function(a){return A(a)||z(a)===l};exports.isConcurrentMode=A;exports.isContextConsumer=function(a){return z(a)===k};exports.isContextProvider=function(a){return z(a)===h};exports.isElement=function(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===c};exports.isForwardRef=function(a){return z(a)===n};exports.isFragment=function(a){return z(a)===e};exports.isLazy=function(a){return z(a)===t};\nexports.isMemo=function(a){return z(a)===r};exports.isPortal=function(a){return z(a)===d};exports.isProfiler=function(a){return z(a)===g};exports.isStrictMode=function(a){return z(a)===f};exports.isSuspense=function(a){return z(a)===p};\nexports.isValidElementType=function(a){return\"string\"===typeof a||\"function\"===typeof a||a===e||a===m||a===g||a===f||a===p||a===q||\"object\"===typeof a&&null!==a&&(a.$$typeof===t||a.$$typeof===r||a.$$typeof===h||a.$$typeof===k||a.$$typeof===n||a.$$typeof===w||a.$$typeof===x||a.$$typeof===y||a.$$typeof===v)};exports.typeOf=z;\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}\n","/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> */\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","if (typeof Object.create === 'function') {\n // implementation from standard node.js 'util' module\n module.exports = function inherits(ctor, superCtor) {\n if (superCtor) {\n ctor.super_ = superCtor\n ctor.prototype = Object.create(superCtor.prototype, {\n constructor: {\n value: ctor,\n enumerable: false,\n writable: true,\n configurable: true\n }\n })\n }\n };\n} else {\n // old school shim for old browsers\n module.exports = function inherits(ctor, superCtor) {\n if (superCtor) {\n ctor.super_ = superCtor\n var TempCtor = function () {}\n TempCtor.prototype = superCtor.prototype\n ctor.prototype = new TempCtor()\n ctor.prototype.constructor = ctor\n }\n }\n}\n","'use strict';\n\nvar hasToStringTag = require('has-tostringtag/shams')();\nvar callBound = require('call-bind/callBound');\n\nvar $toString = callBound('Object.prototype.toString');\n\nvar isStandardArguments = function isArguments(value) {\n\tif (hasToStringTag && value && typeof value === 'object' && Symbol.toStringTag in value) {\n\t\treturn false;\n\t}\n\treturn $toString(value) === '[object Arguments]';\n};\n\nvar isLegacyArguments = function isArguments(value) {\n\tif (isStandardArguments(value)) {\n\t\treturn true;\n\t}\n\treturn value !== null &&\n\t\ttypeof value === 'object' &&\n\t\ttypeof value.length === 'number' &&\n\t\tvalue.length >= 0 &&\n\t\t$toString(value) !== '[object Array]' &&\n\t\t$toString(value.callee) === '[object Function]';\n};\n\nvar supportsStandardArguments = (function () {\n\treturn isStandardArguments(arguments);\n}());\n\nisStandardArguments.isLegacyArguments = isLegacyArguments; // for tests\n\nmodule.exports = supportsStandardArguments ? isStandardArguments : isLegacyArguments;\n","'use strict';\n\nvar fnToStr = Function.prototype.toString;\nvar reflectApply = typeof Reflect === 'object' && Reflect !== null && Reflect.apply;\nvar badArrayLike;\nvar isCallableMarker;\nif (typeof reflectApply === 'function' && typeof Object.defineProperty === 'function') {\n\ttry {\n\t\tbadArrayLike = Object.defineProperty({}, 'length', {\n\t\t\tget: function () {\n\t\t\t\tthrow isCallableMarker;\n\t\t\t}\n\t\t});\n\t\tisCallableMarker = {};\n\t\t// eslint-disable-next-line no-throw-literal\n\t\treflectApply(function () { throw 42; }, null, badArrayLike);\n\t} catch (_) {\n\t\tif (_ !== isCallableMarker) {\n\t\t\treflectApply = null;\n\t\t}\n\t}\n} else {\n\treflectApply = null;\n}\n\nvar constructorRegex = /^\\s*class\\b/;\nvar isES6ClassFn = function isES6ClassFunction(value) {\n\ttry {\n\t\tvar fnStr = fnToStr.call(value);\n\t\treturn constructorRegex.test(fnStr);\n\t} catch (e) {\n\t\treturn false; // not a function\n\t}\n};\n\nvar tryFunctionObject = function tryFunctionToStr(value) {\n\ttry {\n\t\tif (isES6ClassFn(value)) { return false; }\n\t\tfnToStr.call(value);\n\t\treturn true;\n\t} catch (e) {\n\t\treturn false;\n\t}\n};\nvar toStr = Object.prototype.toString;\nvar objectClass = '[object Object]';\nvar fnClass = '[object Function]';\nvar genClass = '[object GeneratorFunction]';\nvar ddaClass = '[object HTMLAllCollection]'; // IE 11\nvar ddaClass2 = '[object HTML document.all class]';\nvar ddaClass3 = '[object HTMLCollection]'; // IE 9-10\nvar hasToStringTag = typeof Symbol === 'function' && !!Symbol.toStringTag; // better: use `has-tostringtag`\n\nvar isIE68 = !(0 in [,]); // eslint-disable-line no-sparse-arrays, comma-spacing\n\nvar isDDA = function isDocumentDotAll() { return false; };\nif (typeof document === 'object') {\n\t// Firefox 3 canonicalizes DDA to undefined when it's not accessed directly\n\tvar all = document.all;\n\tif (toStr.call(all) === toStr.call(document.all)) {\n\t\tisDDA = function isDocumentDotAll(value) {\n\t\t\t/* globals document: false */\n\t\t\t// in IE 6-8, typeof document.all is \"object\" and it's truthy\n\t\t\tif ((isIE68 || !value) && (typeof value === 'undefined' || typeof value === 'object')) {\n\t\t\t\ttry {\n\t\t\t\t\tvar str = toStr.call(value);\n\t\t\t\t\treturn (\n\t\t\t\t\t\tstr === ddaClass\n\t\t\t\t\t\t|| str === ddaClass2\n\t\t\t\t\t\t|| str === ddaClass3 // opera 12.16\n\t\t\t\t\t\t|| str === objectClass // IE 6-8\n\t\t\t\t\t) && value('') == null; // eslint-disable-line eqeqeq\n\t\t\t\t} catch (e) { /**/ }\n\t\t\t}\n\t\t\treturn false;\n\t\t};\n\t}\n}\n\nmodule.exports = reflectApply\n\t? function isCallable(value) {\n\t\tif (isDDA(value)) { return true; }\n\t\tif (!value) { return false; }\n\t\tif (typeof value !== 'function' && typeof value !== 'object') { return false; }\n\t\ttry {\n\t\t\treflectApply(value, null, badArrayLike);\n\t\t} catch (e) {\n\t\t\tif (e !== isCallableMarker) { return false; }\n\t\t}\n\t\treturn !isES6ClassFn(value) && tryFunctionObject(value);\n\t}\n\t: function isCallable(value) {\n\t\tif (isDDA(value)) { return true; }\n\t\tif (!value) { return false; }\n\t\tif (typeof value !== 'function' && typeof value !== 'object') { return false; }\n\t\tif (hasToStringTag) { return tryFunctionObject(value); }\n\t\tif (isES6ClassFn(value)) { return false; }\n\t\tvar strClass = toStr.call(value);\n\t\tif (strClass !== fnClass && strClass !== genClass && !(/^\\[object HTML/).test(strClass)) { return false; }\n\t\treturn tryFunctionObject(value);\n\t};\n","'use strict';\n\nvar toStr = Object.prototype.toString;\nvar fnToStr = Function.prototype.toString;\nvar isFnRegex = /^\\s*(?:function)?\\*/;\nvar hasToStringTag = require('has-tostringtag/shams')();\nvar getProto = Object.getPrototypeOf;\nvar getGeneratorFunc = function () { // eslint-disable-line consistent-return\n\tif (!hasToStringTag) {\n\t\treturn false;\n\t}\n\ttry {\n\t\treturn Function('return function*() {}')();\n\t} catch (e) {\n\t}\n};\nvar GeneratorFunction;\n\nmodule.exports = function isGeneratorFunction(fn) {\n\tif (typeof fn !== 'function') {\n\t\treturn false;\n\t}\n\tif (isFnRegex.test(fnToStr.call(fn))) {\n\t\treturn true;\n\t}\n\tif (!hasToStringTag) {\n\t\tvar str = toStr.call(fn);\n\t\treturn str === '[object GeneratorFunction]';\n\t}\n\tif (!getProto) {\n\t\treturn false;\n\t}\n\tif (typeof GeneratorFunction === 'undefined') {\n\t\tvar generatorFunc = getGeneratorFunc();\n\t\tGeneratorFunction = generatorFunc ? getProto(generatorFunc) : false;\n\t}\n\treturn getProto(fn) === GeneratorFunction;\n};\n","'use strict';\n\nvar whichTypedArray = require('which-typed-array');\n\n/** @type {import('.')} */\nmodule.exports = function isTypedArray(value) {\n\treturn !!whichTypedArray(value);\n};\n","module.exports = window.DOMPurify || (window.DOMPurify = require('dompurify').default || require('dompurify'));\n","/*! jQuery v3.0.0 -ajax,-ajax/jsonp,-ajax/load,-ajax/parseXML,-ajax/script,-ajax/var/location,-ajax/var/nonce,-ajax/var/rquery,-ajax/xhr,-manipulation/_evalUrl,-event/ajax,-effects,-effects/Tween,-effects/animatedSelector,-deprecated | (c) jQuery Foundation | jquery.org/license */\n!function(a,b){\"use strict\";\"object\"==typeof module&&\"object\"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error(\"jQuery requires a window with a document\");return b(a)}:b(a)}(\"undefined\"!=typeof window?window:this,function(a,b){\"use strict\";var c=[],d=a.document,e=Object.getPrototypeOf,f=c.slice,g=c.concat,h=c.push,i=c.indexOf,j={},k=j.toString,l=j.hasOwnProperty,m=l.toString,n=m.call(Object),o={};function p(a,b){b=b||d;var c=b.createElement(\"script\");c.text=a,b.head.appendChild(c).parentNode.removeChild(c)}var q=\"3.0.0 -ajax,-ajax/jsonp,-ajax/load,-ajax/parseXML,-ajax/script,-ajax/var/location,-ajax/var/nonce,-ajax/var/rquery,-ajax/xhr,-manipulation/_evalUrl,-event/ajax,-effects,-effects/Tween,-effects/animatedSelector,-deprecated\",r=function(a,b){return new r.fn.init(a,b)},s=/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g,t=/^-ms-/,u=/-([a-z])/g,v=function(a,b){return b.toUpperCase()};r.fn=r.prototype={jquery:q,constructor:r,length:0,toArray:function(){return f.call(this)},get:function(a){return null!=a?0>a?this[a+this.length]:this[a]:f.call(this)},pushStack:function(a){var b=r.merge(this.constructor(),a);return b.prevObject=this,b},each:function(a){return r.each(this,a)},map:function(a){return this.pushStack(r.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(f.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(0>a?b:0);return this.pushStack(c>=0&&b>c?[this[c]]:[])},end:function(){return this.prevObject||this.constructor()},push:h,sort:c.sort,splice:c.splice},r.extend=r.fn.extend=function(){var a,b,c,d,e,f,g=arguments[0]||{},h=1,i=arguments.length,j=!1;for(\"boolean\"==typeof g&&(j=g,g=arguments[h]||{},h++),\"object\"==typeof g||r.isFunction(g)||(g={}),h===i&&(g=this,h--);i>h;h++)if(null!=(a=arguments[h]))for(b in a)c=g[b],d=a[b],g!==d&&(j&&d&&(r.isPlainObject(d)||(e=r.isArray(d)))?(e?(e=!1,f=c&&r.isArray(c)?c:[]):f=c&&r.isPlainObject(c)?c:{},g[b]=r.extend(j,f,d)):void 0!==d&&(g[b]=d));return g},r.extend({expando:\"jQuery\"+(q+Math.random()).replace(/\\D/g,\"\"),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return\"function\"===r.type(a)},isArray:Array.isArray,isWindow:function(a){return null!=a&&a===a.window},isNumeric:function(a){var b=r.type(a);return(\"number\"===b||\"string\"===b)&&!isNaN(a-parseFloat(a))},isPlainObject:function(a){var b,c;return a&&\"[object Object]\"===k.call(a)?(b=e(a))?(c=l.call(b,\"constructor\")&&b.constructor,\"function\"==typeof c&&m.call(c)===n):!0:!1},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},type:function(a){return null==a?a+\"\":\"object\"==typeof a||\"function\"==typeof a?j[k.call(a)]||\"object\":typeof a},globalEval:function(a){p(a)},camelCase:function(a){return a.replace(t,\"ms-\").replace(u,v)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,b){var c,d=0;if(w(a)){for(c=a.length;c>d;d++)if(b.call(a[d],d,a[d])===!1)break}else for(d in a)if(b.call(a[d],d,a[d])===!1)break;return a},trim:function(a){return null==a?\"\":(a+\"\").replace(s,\"\")},makeArray:function(a,b){var c=b||[];return null!=a&&(w(Object(a))?r.merge(c,\"string\"==typeof a?[a]:a):h.call(c,a)),c},inArray:function(a,b,c){return null==b?-1:i.call(b,a,c)},merge:function(a,b){for(var c=+b.length,d=0,e=a.length;c>d;d++)a[e++]=b[d];return a.length=e,a},grep:function(a,b,c){for(var d,e=[],f=0,g=a.length,h=!c;g>f;f++)d=!b(a[f],f),d!==h&&e.push(a[f]);return e},map:function(a,b,c){var d,e,f=0,h=[];if(w(a))for(d=a.length;d>f;f++)e=b(a[f],f,c),null!=e&&h.push(e);else for(f in a)e=b(a[f],f,c),null!=e&&h.push(e);return g.apply([],h)},guid:1,proxy:function(a,b){var c,d,e;return\"string\"==typeof b&&(c=a[b],b=a,a=c),r.isFunction(a)?(d=f.call(arguments,2),e=function(){return a.apply(b||this,d.concat(f.call(arguments)))},e.guid=a.guid=a.guid||r.guid++,e):void 0},now:Date.now,support:o}),\"function\"==typeof Symbol&&(r.fn[Symbol.iterator]=c[Symbol.iterator]),r.each(\"Boolean Number String Function Array Date RegExp Object Error Symbol\".split(\" \"),function(a,b){j[\"[object \"+b+\"]\"]=b.toLowerCase()});function w(a){var b=!!a&&\"length\"in a&&a.length,c=r.type(a);return\"function\"===c||r.isWindow(a)?!1:\"array\"===c||0===b||\"number\"==typeof b&&b>0&&b-1 in a}var x=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u=\"sizzle\"+1*new Date,v=a.document,w=0,x=0,y=ha(),z=ha(),A=ha(),B=function(a,b){return a===b&&(l=!0),0},C={}.hasOwnProperty,D=[],E=D.pop,F=D.push,G=D.push,H=D.slice,I=function(a,b){for(var c=0,d=a.length;d>c;c++)if(a[c]===b)return c;return-1},J=\"checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped\",K=\"[\\\\x20\\\\t\\\\r\\\\n\\\\f]\",L=\"(?:\\\\\\\\.|[\\\\w-]|[^\\x00-\\\\xa0])+\",M=\"\\\\[\"+K+\"*(\"+L+\")(?:\"+K+\"*([*^$|!~]?=)\"+K+\"*(?:'((?:\\\\\\\\.|[^\\\\\\\\'])*)'|\\\"((?:\\\\\\\\.|[^\\\\\\\\\\\"])*)\\\"|(\"+L+\"))|)\"+K+\"*\\\\]\",N=\":(\"+L+\")(?:\\\\((('((?:\\\\\\\\.|[^\\\\\\\\'])*)'|\\\"((?:\\\\\\\\.|[^\\\\\\\\\\\"])*)\\\")|((?:\\\\\\\\.|[^\\\\\\\\()[\\\\]]|\"+M+\")*)|.*)\\\\)|)\",O=new RegExp(K+\"+\",\"g\"),P=new RegExp(\"^\"+K+\"+|((?:^|[^\\\\\\\\])(?:\\\\\\\\.)*)\"+K+\"+$\",\"g\"),Q=new RegExp(\"^\"+K+\"*,\"+K+\"*\"),R=new RegExp(\"^\"+K+\"*([>+~]|\"+K+\")\"+K+\"*\"),S=new RegExp(\"=\"+K+\"*([^\\\\]'\\\"]*?)\"+K+\"*\\\\]\",\"g\"),T=new RegExp(N),U=new RegExp(\"^\"+L+\"$\"),V={ID:new RegExp(\"^#(\"+L+\")\"),CLASS:new RegExp(\"^\\\\.(\"+L+\")\"),TAG:new RegExp(\"^(\"+L+\"|[*])\"),ATTR:new RegExp(\"^\"+M),PSEUDO:new RegExp(\"^\"+N),CHILD:new RegExp(\"^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\\\(\"+K+\"*(even|odd|(([+-]|)(\\\\d*)n|)\"+K+\"*(?:([+-]|)\"+K+\"*(\\\\d+)|))\"+K+\"*\\\\)|)\",\"i\"),bool:new RegExp(\"^(?:\"+J+\")$\",\"i\"),needsContext:new RegExp(\"^\"+K+\"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\\\(\"+K+\"*((?:-\\\\d)?\\\\d*)\"+K+\"*\\\\)|)(?=[^-]|$)\",\"i\")},W=/^(?:input|select|textarea|button)$/i,X=/^h\\d$/i,Y=/^[^{]+\\{\\s*\\[native \\w/,Z=/^(?:#([\\w-]+)|(\\w+)|\\.([\\w-]+))$/,$=/[+~]/,_=new RegExp(\"\\\\\\\\([\\\\da-f]{1,6}\"+K+\"?|(\"+K+\")|.)\",\"ig\"),aa=function(a,b,c){var d=\"0x\"+b-65536;return d!==d||c?b:0>d?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)},ba=/([\\0-\\x1f\\x7f]|^-?\\d)|^-$|[^\\x80-\\uFFFF\\w-]/g,ca=function(a,b){return b?\"\\x00\"===a?\"\\ufffd\":a.slice(0,-1)+\"\\\\\"+a.charCodeAt(a.length-1).toString(16)+\" \":\"\\\\\"+a},da=function(){m()},ea=ta(function(a){return a.disabled===!0},{dir:\"parentNode\",next:\"legend\"});try{G.apply(D=H.call(v.childNodes),v.childNodes),D[v.childNodes.length].nodeType}catch(fa){G={apply:D.length?function(a,b){F.apply(a,H.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function ga(a,b,d,e){var f,h,j,k,l,o,r,s=b&&b.ownerDocument,w=b?b.nodeType:9;if(d=d||[],\"string\"!=typeof a||!a||1!==w&&9!==w&&11!==w)return d;if(!e&&((b?b.ownerDocument||b:v)!==n&&m(b),b=b||n,p)){if(11!==w&&(l=Z.exec(a)))if(f=l[1]){if(9===w){if(!(j=b.getElementById(f)))return d;if(j.id===f)return d.push(j),d}else if(s&&(j=s.getElementById(f))&&t(b,j)&&j.id===f)return d.push(j),d}else{if(l[2])return G.apply(d,b.getElementsByTagName(a)),d;if((f=l[3])&&c.getElementsByClassName&&b.getElementsByClassName)return G.apply(d,b.getElementsByClassName(f)),d}if(c.qsa&&!A[a+\" \"]&&(!q||!q.test(a))){if(1!==w)s=b,r=a;else if(\"object\"!==b.nodeName.toLowerCase()){(k=b.getAttribute(\"id\"))?k=k.replace(ba,ca):b.setAttribute(\"id\",k=u),o=g(a),h=o.length;while(h--)o[h]=\"#\"+k+\" \"+sa(o[h]);r=o.join(\",\"),s=$.test(a)&&qa(b.parentNode)||b}if(r)try{return G.apply(d,s.querySelectorAll(r)),d}catch(x){}finally{k===u&&b.removeAttribute(\"id\")}}}return i(a.replace(P,\"$1\"),b,d,e)}function ha(){var a=[];function b(c,e){return a.push(c+\" \")>d.cacheLength&&delete b[a.shift()],b[c+\" \"]=e}return b}function ia(a){return a[u]=!0,a}function ja(a){var b=n.createElement(\"fieldset\");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function ka(a,b){var c=a.split(\"|\"),e=c.length;while(e--)d.attrHandle[c[e]]=b}function la(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&a.sourceIndex-b.sourceIndex;if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function ma(a){return function(b){var c=b.nodeName.toLowerCase();return\"input\"===c&&b.type===a}}function na(a){return function(b){var c=b.nodeName.toLowerCase();return(\"input\"===c||\"button\"===c)&&b.type===a}}function oa(a){return function(b){return\"label\"in b&&b.disabled===a||\"form\"in b&&b.disabled===a||\"form\"in b&&b.disabled===!1&&(b.isDisabled===a||b.isDisabled!==!a&&(\"label\"in b||!ea(b))!==a)}}function pa(a){return ia(function(b){return b=+b,ia(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function qa(a){return a&&\"undefined\"!=typeof a.getElementsByTagName&&a}c=ga.support={},f=ga.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?\"HTML\"!==b.nodeName:!1},m=ga.setDocument=function(a){var b,e,g=a?a.ownerDocument||a:v;return g!==n&&9===g.nodeType&&g.documentElement?(n=g,o=n.documentElement,p=!f(n),v!==n&&(e=n.defaultView)&&e.top!==e&&(e.addEventListener?e.addEventListener(\"unload\",da,!1):e.attachEvent&&e.attachEvent(\"onunload\",da)),c.attributes=ja(function(a){return a.className=\"i\",!a.getAttribute(\"className\")}),c.getElementsByTagName=ja(function(a){return a.appendChild(n.createComment(\"\")),!a.getElementsByTagName(\"*\").length}),c.getElementsByClassName=Y.test(n.getElementsByClassName),c.getById=ja(function(a){return o.appendChild(a).id=u,!n.getElementsByName||!n.getElementsByName(u).length}),c.getById?(d.find.ID=function(a,b){if(\"undefined\"!=typeof b.getElementById&&p){var c=b.getElementById(a);return c?[c]:[]}},d.filter.ID=function(a){var b=a.replace(_,aa);return function(a){return a.getAttribute(\"id\")===b}}):(delete d.find.ID,d.filter.ID=function(a){var b=a.replace(_,aa);return function(a){var c=\"undefined\"!=typeof a.getAttributeNode&&a.getAttributeNode(\"id\");return c&&c.value===b}}),d.find.TAG=c.getElementsByTagName?function(a,b){return\"undefined\"!=typeof b.getElementsByTagName?b.getElementsByTagName(a):c.qsa?b.querySelectorAll(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if(\"*\"===a){while(c=f[e++])1===c.nodeType&&d.push(c);return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){return\"undefined\"!=typeof b.getElementsByClassName&&p?b.getElementsByClassName(a):void 0},r=[],q=[],(c.qsa=Y.test(n.querySelectorAll))&&(ja(function(a){o.appendChild(a).innerHTML=\"<a id='\"+u+\"'></a><select id='\"+u+\"-\\r\\\\' msallowcapture=''><option selected=''></option></select>\",a.querySelectorAll(\"[msallowcapture^='']\").length&&q.push(\"[*^$]=\"+K+\"*(?:''|\\\"\\\")\"),a.querySelectorAll(\"[selected]\").length||q.push(\"\\\\[\"+K+\"*(?:value|\"+J+\")\"),a.querySelectorAll(\"[id~=\"+u+\"-]\").length||q.push(\"~=\"),a.querySelectorAll(\":checked\").length||q.push(\":checked\"),a.querySelectorAll(\"a#\"+u+\"+*\").length||q.push(\".#.+[+~]\")}),ja(function(a){a.innerHTML=\"<a href='' disabled='disabled'></a><select disabled='disabled'><option/></select>\";var b=n.createElement(\"input\");b.setAttribute(\"type\",\"hidden\"),a.appendChild(b).setAttribute(\"name\",\"D\"),a.querySelectorAll(\"[name=d]\").length&&q.push(\"name\"+K+\"*[*^$|!~]?=\"),2!==a.querySelectorAll(\":enabled\").length&&q.push(\":enabled\",\":disabled\"),o.appendChild(a).disabled=!0,2!==a.querySelectorAll(\":disabled\").length&&q.push(\":enabled\",\":disabled\"),a.querySelectorAll(\"*,:x\"),q.push(\",.*:\")})),(c.matchesSelector=Y.test(s=o.matches||o.webkitMatchesSelector||o.mozMatchesSelector||o.oMatchesSelector||o.msMatchesSelector))&&ja(function(a){c.disconnectedMatch=s.call(a,\"*\"),s.call(a,\"[s!='']:x\"),r.push(\"!=\",N)}),q=q.length&&new RegExp(q.join(\"|\")),r=r.length&&new RegExp(r.join(\"|\")),b=Y.test(o.compareDocumentPosition),t=b||Y.test(o.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)while(b=b.parentNode)if(b===a)return!0;return!1},B=b?function(a,b){if(a===b)return l=!0,0;var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===n||a.ownerDocument===v&&t(v,a)?-1:b===n||b.ownerDocument===v&&t(v,b)?1:k?I(k,a)-I(k,b):0:4&d?-1:1)}:function(a,b){if(a===b)return l=!0,0;var c,d=0,e=a.parentNode,f=b.parentNode,g=[a],h=[b];if(!e||!f)return a===n?-1:b===n?1:e?-1:f?1:k?I(k,a)-I(k,b):0;if(e===f)return la(a,b);c=a;while(c=c.parentNode)g.unshift(c);c=b;while(c=c.parentNode)h.unshift(c);while(g[d]===h[d])d++;return d?la(g[d],h[d]):g[d]===v?-1:h[d]===v?1:0},n):n},ga.matches=function(a,b){return ga(a,null,null,b)},ga.matchesSelector=function(a,b){if((a.ownerDocument||a)!==n&&m(a),b=b.replace(S,\"='$1']\"),c.matchesSelector&&p&&!A[b+\" \"]&&(!r||!r.test(b))&&(!q||!q.test(b)))try{var d=s.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return ga(b,n,null,[a]).length>0},ga.contains=function(a,b){return(a.ownerDocument||a)!==n&&m(a),t(a,b)},ga.attr=function(a,b){(a.ownerDocument||a)!==n&&m(a);var e=d.attrHandle[b.toLowerCase()],f=e&&C.call(d.attrHandle,b.toLowerCase())?e(a,b,!p):void 0;return void 0!==f?f:c.attributes||!p?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},ga.escape=function(a){return(a+\"\").replace(ba,ca)},ga.error=function(a){throw new Error(\"Syntax error, unrecognized expression: \"+a)},ga.uniqueSort=function(a){var b,d=[],e=0,f=0;if(l=!c.detectDuplicates,k=!c.sortStable&&a.slice(0),a.sort(B),l){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return k=null,a},e=ga.getText=function(a){var b,c=\"\",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if(\"string\"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=e(a)}else if(3===f||4===f)return a.nodeValue}else while(b=a[d++])c+=e(b);return c},d=ga.selectors={cacheLength:50,createPseudo:ia,match:V,attrHandle:{},find:{},relative:{\">\":{dir:\"parentNode\",first:!0},\" \":{dir:\"parentNode\"},\"+\":{dir:\"previousSibling\",first:!0},\"~\":{dir:\"previousSibling\"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(_,aa),a[3]=(a[3]||a[4]||a[5]||\"\").replace(_,aa),\"~=\"===a[2]&&(a[3]=\" \"+a[3]+\" \"),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),\"nth\"===a[1].slice(0,3)?(a[3]||ga.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*(\"even\"===a[3]||\"odd\"===a[3])),a[5]=+(a[7]+a[8]||\"odd\"===a[3])):a[3]&&ga.error(a[0]),a},PSEUDO:function(a){var b,c=!a[6]&&a[2];return V.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||\"\":c&&T.test(c)&&(b=g(c,!0))&&(b=c.indexOf(\")\",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(_,aa).toLowerCase();return\"*\"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=y[a+\" \"];return b||(b=new RegExp(\"(^|\"+K+\")\"+a+\"(\"+K+\"|$)\"))&&y(a,function(a){return b.test(\"string\"==typeof a.className&&a.className||\"undefined\"!=typeof a.getAttribute&&a.getAttribute(\"class\")||\"\")})},ATTR:function(a,b,c){return function(d){var e=ga.attr(d,a);return null==e?\"!=\"===b:b?(e+=\"\",\"=\"===b?e===c:\"!=\"===b?e!==c:\"^=\"===b?c&&0===e.indexOf(c):\"*=\"===b?c&&e.indexOf(c)>-1:\"$=\"===b?c&&e.slice(-c.length)===c:\"~=\"===b?(\" \"+e.replace(O,\" \")+\" \").indexOf(c)>-1:\"|=\"===b?e===c||e.slice(0,c.length+1)===c+\"-\":!1):!0}},CHILD:function(a,b,c,d,e){var f=\"nth\"!==a.slice(0,3),g=\"last\"!==a.slice(-4),h=\"of-type\"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?\"nextSibling\":\"previousSibling\",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),s=!i&&!h,t=!1;if(q){if(f){while(p){m=b;while(m=m[p])if(h?m.nodeName.toLowerCase()===r:1===m.nodeType)return!1;o=p=\"only\"===a&&!o&&\"nextSibling\"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){m=q,l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),j=k[a]||[],n=j[0]===w&&j[1],t=n&&j[2],m=n&&q.childNodes[n];while(m=++n&&m&&m[p]||(t=n=0)||o.pop())if(1===m.nodeType&&++t&&m===b){k[a]=[w,n,t];break}}else if(s&&(m=b,l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),j=k[a]||[],n=j[0]===w&&j[1],t=n),t===!1)while(m=++n&&m&&m[p]||(t=n=0)||o.pop())if((h?m.nodeName.toLowerCase()===r:1===m.nodeType)&&++t&&(s&&(l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),k[a]=[w,t]),m===b))break;return t-=e,t===d||t%d===0&&t/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||ga.error(\"unsupported pseudo: \"+a);return e[u]?e(b):e.length>1?(c=[a,a,\"\",b],d.setFilters.hasOwnProperty(a.toLowerCase())?ia(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=I(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:ia(function(a){var b=[],c=[],d=h(a.replace(P,\"$1\"));return d[u]?ia(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return b[0]=a,d(b,null,f,c),b[0]=null,!c.pop()}}),has:ia(function(a){return function(b){return ga(a,b).length>0}}),contains:ia(function(a){return a=a.replace(_,aa),function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:ia(function(a){return U.test(a||\"\")||ga.error(\"unsupported lang: \"+a),a=a.replace(_,aa).toLowerCase(),function(b){var c;do if(c=p?b.lang:b.getAttribute(\"xml:lang\")||b.getAttribute(\"lang\"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+\"-\");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===o},focus:function(a){return a===n.activeElement&&(!n.hasFocus||n.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:oa(!1),disabled:oa(!0),checked:function(a){var b=a.nodeName.toLowerCase();return\"input\"===b&&!!a.checked||\"option\"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!d.pseudos.empty(a)},header:function(a){return X.test(a.nodeName)},input:function(a){return W.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return\"input\"===b&&\"button\"===a.type||\"button\"===b},text:function(a){var b;return\"input\"===a.nodeName.toLowerCase()&&\"text\"===a.type&&(null==(b=a.getAttribute(\"type\"))||\"text\"===b.toLowerCase())},first:pa(function(){return[0]}),last:pa(function(a,b){return[b-1]}),eq:pa(function(a,b,c){return[0>c?c+b:c]}),even:pa(function(a,b){for(var c=0;b>c;c+=2)a.push(c);return a}),odd:pa(function(a,b){for(var c=1;b>c;c+=2)a.push(c);return a}),lt:pa(function(a,b,c){for(var d=0>c?c+b:c;--d>=0;)a.push(d);return a}),gt:pa(function(a,b,c){for(var d=0>c?c+b:c;++d<b;)a.push(d);return a})}},d.pseudos.nth=d.pseudos.eq;for(b in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})d.pseudos[b]=ma(b);for(b in{submit:!0,reset:!0})d.pseudos[b]=na(b);function ra(){}ra.prototype=d.filters=d.pseudos,d.setFilters=new ra,g=ga.tokenize=function(a,b){var c,e,f,g,h,i,j,k=z[a+\" \"];if(k)return b?0:k.slice(0);h=a,i=[],j=d.preFilter;while(h){c&&!(e=Q.exec(h))||(e&&(h=h.slice(e[0].length)||h),i.push(f=[])),c=!1,(e=R.exec(h))&&(c=e.shift(),f.push({value:c,type:e[0].replace(P,\" \")}),h=h.slice(c.length));for(g in d.filter)!(e=V[g].exec(h))||j[g]&&!(e=j[g](e))||(c=e.shift(),f.push({value:c,type:g,matches:e}),h=h.slice(c.length));if(!c)break}return b?h.length:h?ga.error(a):z(a,i).slice(0)};function sa(a){for(var b=0,c=a.length,d=\"\";c>b;b++)d+=a[b].value;return d}function ta(a,b,c){var d=b.dir,e=b.next,f=e||d,g=c&&\"parentNode\"===f,h=x++;return b.first?function(b,c,e){while(b=b[d])if(1===b.nodeType||g)return a(b,c,e)}:function(b,c,i){var j,k,l,m=[w,h];if(i){while(b=b[d])if((1===b.nodeType||g)&&a(b,c,i))return!0}else while(b=b[d])if(1===b.nodeType||g)if(l=b[u]||(b[u]={}),k=l[b.uniqueID]||(l[b.uniqueID]={}),e&&e===b.nodeName.toLowerCase())b=b[d]||b;else{if((j=k[f])&&j[0]===w&&j[1]===h)return m[2]=j[2];if(k[f]=m,m[2]=a(b,c,i))return!0}}}function ua(a){return a.length>1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function va(a,b,c){for(var d=0,e=b.length;e>d;d++)ga(a,b[d],c);return c}function wa(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;i>h;h++)(f=a[h])&&(c&&!c(f,d,e)||(g.push(f),j&&b.push(h)));return g}function xa(a,b,c,d,e,f){return d&&!d[u]&&(d=xa(d)),e&&!e[u]&&(e=xa(e,f)),ia(function(f,g,h,i){var j,k,l,m=[],n=[],o=g.length,p=f||va(b||\"*\",h.nodeType?[h]:h,[]),q=!a||!f&&b?p:wa(p,m,a,h,i),r=c?e||(f?a:o||d)?[]:g:q;if(c&&c(q,r,h,i),d){j=wa(r,n),d(j,[],h,i),k=j.length;while(k--)(l=j[k])&&(r[n[k]]=!(q[n[k]]=l))}if(f){if(e||a){if(e){j=[],k=r.length;while(k--)(l=r[k])&&j.push(q[k]=l);e(null,r=[],j,i)}k=r.length;while(k--)(l=r[k])&&(j=e?I(f,l):m[k])>-1&&(f[j]=!(g[j]=l))}}else r=wa(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):G.apply(g,r)})}function ya(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],h=g||d.relative[\" \"],i=g?1:0,k=ta(function(a){return a===b},h,!0),l=ta(function(a){return I(b,a)>-1},h,!0),m=[function(a,c,d){var e=!g&&(d||c!==j)||((b=c).nodeType?k(a,c,d):l(a,c,d));return b=null,e}];f>i;i++)if(c=d.relative[a[i].type])m=[ta(ua(m),c)];else{if(c=d.filter[a[i].type].apply(null,a[i].matches),c[u]){for(e=++i;f>e;e++)if(d.relative[a[e].type])break;return xa(i>1&&ua(m),i>1&&sa(a.slice(0,i-1).concat({value:\" \"===a[i-2].type?\"*\":\"\"})).replace(P,\"$1\"),c,e>i&&ya(a.slice(i,e)),f>e&&ya(a=a.slice(e)),f>e&&sa(a))}m.push(c)}return ua(m)}function za(a,b){var c=b.length>0,e=a.length>0,f=function(f,g,h,i,k){var l,o,q,r=0,s=\"0\",t=f&&[],u=[],v=j,x=f||e&&d.find.TAG(\"*\",k),y=w+=null==v?1:Math.random()||.1,z=x.length;for(k&&(j=g===n||g||k);s!==z&&null!=(l=x[s]);s++){if(e&&l){o=0,g||l.ownerDocument===n||(m(l),h=!p);while(q=a[o++])if(q(l,g||n,h)){i.push(l);break}k&&(w=y)}c&&((l=!q&&l)&&r--,f&&t.push(l))}if(r+=s,c&&s!==r){o=0;while(q=b[o++])q(t,u,g,h);if(f){if(r>0)while(s--)t[s]||u[s]||(u[s]=E.call(i));u=wa(u)}G.apply(i,u),k&&!f&&u.length>0&&r+b.length>1&&ga.uniqueSort(i)}return k&&(w=y,j=v),t};return c?ia(f):f}return h=ga.compile=function(a,b){var c,d=[],e=[],f=A[a+\" \"];if(!f){b||(b=g(a)),c=b.length;while(c--)f=ya(b[c]),f[u]?d.push(f):e.push(f);f=A(a,za(e,d)),f.selector=a}return f},i=ga.select=function(a,b,e,f){var i,j,k,l,m,n=\"function\"==typeof a&&a,o=!f&&g(a=n.selector||a);if(e=e||[],1===o.length){if(j=o[0]=o[0].slice(0),j.length>2&&\"ID\"===(k=j[0]).type&&c.getById&&9===b.nodeType&&p&&d.relative[j[1].type]){if(b=(d.find.ID(k.matches[0].replace(_,aa),b)||[])[0],!b)return e;n&&(b=b.parentNode),a=a.slice(j.shift().value.length)}i=V.needsContext.test(a)?0:j.length;while(i--){if(k=j[i],d.relative[l=k.type])break;if((m=d.find[l])&&(f=m(k.matches[0].replace(_,aa),$.test(j[0].type)&&qa(b.parentNode)||b))){if(j.splice(i,1),a=f.length&&sa(j),!a)return G.apply(e,f),e;break}}}return(n||h(a,o))(f,b,!p,e,!b||$.test(a)&&qa(b.parentNode)||b),e},c.sortStable=u.split(\"\").sort(B).join(\"\")===u,c.detectDuplicates=!!l,m(),c.sortDetached=ja(function(a){return 1&a.compareDocumentPosition(n.createElement(\"fieldset\"))}),ja(function(a){return a.innerHTML=\"<a href='#'></a>\",\"#\"===a.firstChild.getAttribute(\"href\")})||ka(\"type|href|height|width\",function(a,b,c){return c?void 0:a.getAttribute(b,\"type\"===b.toLowerCase()?1:2)}),c.attributes&&ja(function(a){return a.innerHTML=\"<input/>\",a.firstChild.setAttribute(\"value\",\"\"),\"\"===a.firstChild.getAttribute(\"value\")})||ka(\"value\",function(a,b,c){return c||\"input\"!==a.nodeName.toLowerCase()?void 0:a.defaultValue}),ja(function(a){return null==a.getAttribute(\"disabled\")})||ka(J,function(a,b,c){var d;return c?void 0:a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),ga}(a);r.find=x,r.expr=x.selectors,r.expr[\":\"]=r.expr.pseudos,r.uniqueSort=r.unique=x.uniqueSort,r.text=x.getText,r.isXMLDoc=x.isXML,r.contains=x.contains,r.escapeSelector=x.escape;var y=function(a,b,c){var d=[],e=void 0!==c;while((a=a[b])&&9!==a.nodeType)if(1===a.nodeType){if(e&&r(a).is(c))break;d.push(a)}return d},z=function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c},A=r.expr.match.needsContext,B=/^<([a-z][^\\/\\0>:\\x20\\t\\r\\n\\f]*)[\\x20\\t\\r\\n\\f]*\\/?>(?:<\\/\\1>|)$/i,C=/^.[^:#\\[\\.,]*$/;function D(a,b,c){if(r.isFunction(b))return r.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return r.grep(a,function(a){return a===b!==c});if(\"string\"==typeof b){if(C.test(b))return r.filter(b,a,c);b=r.filter(b,a)}return r.grep(a,function(a){return i.call(b,a)>-1!==c&&1===a.nodeType})}r.filter=function(a,b,c){var d=b[0];return c&&(a=\":not(\"+a+\")\"),1===b.length&&1===d.nodeType?r.find.matchesSelector(d,a)?[d]:[]:r.find.matches(a,r.grep(b,function(a){return 1===a.nodeType}))},r.fn.extend({find:function(a){var b,c,d=this.length,e=this;if(\"string\"!=typeof a)return this.pushStack(r(a).filter(function(){for(b=0;d>b;b++)if(r.contains(e[b],this))return!0}));for(c=this.pushStack([]),b=0;d>b;b++)r.find(a,e[b],c);return d>1?r.uniqueSort(c):c},filter:function(a){return this.pushStack(D(this,a||[],!1))},not:function(a){return this.pushStack(D(this,a||[],!0))},is:function(a){return!!D(this,\"string\"==typeof a&&A.test(a)?r(a):a||[],!1).length}});var E,F=/^(?:\\s*(<[\\w\\W]+>)[^>]*|#([\\w-]+))$/,G=r.fn.init=function(a,b,c){var e,f;if(!a)return this;if(c=c||E,\"string\"==typeof a){if(e=\"<\"===a[0]&&\">\"===a[a.length-1]&&a.length>=3?[null,a,null]:F.exec(a),!e||!e[1]&&b)return!b||b.jquery?(b||c).find(a):this.constructor(b).find(a);if(e[1]){if(b=b instanceof r?b[0]:b,r.merge(this,r.parseHTML(e[1],b&&b.nodeType?b.ownerDocument||b:d,!0)),B.test(e[1])&&r.isPlainObject(b))for(e in b)r.isFunction(this[e])?this[e](b[e]):this.attr(e,b[e]);return this}return f=d.getElementById(e[2]),f&&(this[0]=f,this.length=1),this}return a.nodeType?(this[0]=a,this.length=1,this):r.isFunction(a)?void 0!==c.ready?c.ready(a):a(r):r.makeArray(a,this)};G.prototype=r.fn,E=r(d);var H=/^(?:parents|prev(?:Until|All))/,I={children:!0,contents:!0,next:!0,prev:!0};r.fn.extend({has:function(a){var b=r(a,this),c=b.length;return this.filter(function(){for(var a=0;c>a;a++)if(r.contains(this,b[a]))return!0})},closest:function(a,b){var c,d=0,e=this.length,f=[],g=\"string\"!=typeof a&&r(a);if(!A.test(a))for(;e>d;d++)for(c=this[d];c&&c!==b;c=c.parentNode)if(c.nodeType<11&&(g?g.index(c)>-1:1===c.nodeType&&r.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?r.uniqueSort(f):f)},index:function(a){return a?\"string\"==typeof a?i.call(r(a),this[0]):i.call(this,a.jquery?a[0]:a):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(r.uniqueSort(r.merge(this.get(),r(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function J(a,b){while((a=a[b])&&1!==a.nodeType);return a}r.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return y(a,\"parentNode\")},parentsUntil:function(a,b,c){return y(a,\"parentNode\",c)},next:function(a){return J(a,\"nextSibling\")},prev:function(a){return J(a,\"previousSibling\")},nextAll:function(a){return y(a,\"nextSibling\")},prevAll:function(a){return y(a,\"previousSibling\")},nextUntil:function(a,b,c){return y(a,\"nextSibling\",c)},prevUntil:function(a,b,c){return y(a,\"previousSibling\",c)},siblings:function(a){return z((a.parentNode||{}).firstChild,a)},children:function(a){return z(a.firstChild)},contents:function(a){return a.contentDocument||r.merge([],a.childNodes)}},function(a,b){r.fn[a]=function(c,d){var e=r.map(this,b,c);return\"Until\"!==a.slice(-5)&&(d=c),d&&\"string\"==typeof d&&(e=r.filter(d,e)),this.length>1&&(I[a]||r.uniqueSort(e),H.test(a)&&e.reverse()),this.pushStack(e)}});var K=/\\S+/g;function L(a){var b={};return r.each(a.match(K)||[],function(a,c){b[c]=!0}),b}r.Callbacks=function(a){a=\"string\"==typeof a?L(a):r.extend({},a);var b,c,d,e,f=[],g=[],h=-1,i=function(){for(e=a.once,d=b=!0;g.length;h=-1){c=g.shift();while(++h<f.length)f[h].apply(c[0],c[1])===!1&&a.stopOnFalse&&(h=f.length,c=!1)}a.memory||(c=!1),b=!1,e&&(f=c?[]:\"\")},j={add:function(){return f&&(c&&!b&&(h=f.length-1,g.push(c)),function d(b){r.each(b,function(b,c){r.isFunction(c)?a.unique&&j.has(c)||f.push(c):c&&c.length&&\"string\"!==r.type(c)&&d(c)})}(arguments),c&&!b&&i()),this},remove:function(){return r.each(arguments,function(a,b){var c;while((c=r.inArray(b,f,c))>-1)f.splice(c,1),h>=c&&h--}),this},has:function(a){return a?r.inArray(a,f)>-1:f.length>0},empty:function(){return f&&(f=[]),this},disable:function(){return e=g=[],f=c=\"\",this},disabled:function(){return!f},lock:function(){return e=g=[],c||b||(f=c=\"\"),this},locked:function(){return!!e},fireWith:function(a,c){return e||(c=c||[],c=[a,c.slice?c.slice():c],g.push(c),b||i()),this},fire:function(){return j.fireWith(this,arguments),this},fired:function(){return!!d}};return j};function M(a){return a}function N(a){throw a}function O(a,b,c){var d;try{a&&r.isFunction(d=a.promise)?d.call(a).done(b).fail(c):a&&r.isFunction(d=a.then)?d.call(a,b,c):b.call(void 0,a)}catch(a){c.call(void 0,a)}}r.extend({Deferred:function(b){var c=[[\"notify\",\"progress\",r.Callbacks(\"memory\"),r.Callbacks(\"memory\"),2],[\"resolve\",\"done\",r.Callbacks(\"once memory\"),r.Callbacks(\"once memory\"),0,\"resolved\"],[\"reject\",\"fail\",r.Callbacks(\"once memory\"),r.Callbacks(\"once memory\"),1,\"rejected\"]],d=\"pending\",e={state:function(){return d},always:function(){return f.done(arguments).fail(arguments),this},\"catch\":function(a){return e.then(null,a)},pipe:function(){var a=arguments;return r.Deferred(function(b){r.each(c,function(c,d){var e=r.isFunction(a[d[4]])&&a[d[4]];f[d[1]](function(){var a=e&&e.apply(this,arguments);a&&r.isFunction(a.promise)?a.promise().progress(b.notify).done(b.resolve).fail(b.reject):b[d[0]+\"With\"](this,e?[a]:arguments)})}),a=null}).promise()},then:function(b,d,e){var f=0;function g(b,c,d,e){return function(){var h=this,i=arguments,j=function(){var a,j;if(!(f>b)){if(a=d.apply(h,i),a===c.promise())throw new TypeError(\"Thenable self-resolution\");j=a&&(\"object\"==typeof a||\"function\"==typeof a)&&a.then,r.isFunction(j)?e?j.call(a,g(f,c,M,e),g(f,c,N,e)):(f++,j.call(a,g(f,c,M,e),g(f,c,N,e),g(f,c,M,c.notifyWith))):(d!==M&&(h=void 0,i=[a]),(e||c.resolveWith)(h,i))}},k=e?j:function(){try{j()}catch(a){r.Deferred.exceptionHook&&r.Deferred.exceptionHook(a,k.stackTrace),b+1>=f&&(d!==N&&(h=void 0,i=[a]),c.rejectWith(h,i))}};b?k():(r.Deferred.getStackHook&&(k.stackTrace=r.Deferred.getStackHook()),a.setTimeout(k))}}return r.Deferred(function(a){c[0][3].add(g(0,a,r.isFunction(e)?e:M,a.notifyWith)),c[1][3].add(g(0,a,r.isFunction(b)?b:M)),c[2][3].add(g(0,a,r.isFunction(d)?d:N))}).promise()},promise:function(a){return null!=a?r.extend(a,e):e}},f={};return r.each(c,function(a,b){var g=b[2],h=b[5];e[b[1]]=g.add,h&&g.add(function(){d=h},c[3-a][2].disable,c[0][2].lock),g.add(b[3].fire),f[b[0]]=function(){return f[b[0]+\"With\"](this===f?void 0:this,arguments),this},f[b[0]+\"With\"]=g.fireWith}),e.promise(f),b&&b.call(f,f),f},when:function(a){var b=arguments.length,c=b,d=Array(c),e=f.call(arguments),g=r.Deferred(),h=function(a){return function(c){d[a]=this,e[a]=arguments.length>1?f.call(arguments):c,--b||g.resolveWith(d,e)}};if(1>=b&&(O(a,g.done(h(c)).resolve,g.reject),\"pending\"===g.state()||r.isFunction(e[c]&&e[c].then)))return g.then();while(c--)O(e[c],h(c),g.reject);return g.promise()}});var P=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;r.Deferred.exceptionHook=function(b,c){a.console&&a.console.warn&&b&&P.test(b.name)&&a.console.warn(\"jQuery.Deferred exception: \"+b.message,b.stack,c)};var Q=r.Deferred();r.fn.ready=function(a){return Q.then(a),this},r.extend({isReady:!1,readyWait:1,holdReady:function(a){a?r.readyWait++:r.ready(!0)},ready:function(a){(a===!0?--r.readyWait:r.isReady)||(r.isReady=!0,a!==!0&&--r.readyWait>0||Q.resolveWith(d,[r]))}}),r.ready.then=Q.then;function R(){d.removeEventListener(\"DOMContentLoaded\",R),a.removeEventListener(\"load\",R),r.ready()}\"complete\"===d.readyState||\"loading\"!==d.readyState&&!d.documentElement.doScroll?a.setTimeout(r.ready):(d.addEventListener(\"DOMContentLoaded\",R),a.addEventListener(\"load\",R));var S=function(a,b,c,d,e,f,g){\nvar h=0,i=a.length,j=null==c;if(\"object\"===r.type(c)){e=!0;for(h in c)S(a,b,h,c[h],!0,f,g)}else if(void 0!==d&&(e=!0,r.isFunction(d)||(g=!0),j&&(g?(b.call(a,d),b=null):(j=b,b=function(a,b,c){return j.call(r(a),c)})),b))for(;i>h;h++)b(a[h],c,g?d:d.call(a[h],h,b(a[h],c)));return e?a:j?b.call(a):i?b(a[0],c):f},T=function(a){return 1===a.nodeType||9===a.nodeType||!+a.nodeType};function U(){this.expando=r.expando+U.uid++}U.uid=1,U.prototype={cache:function(a){var b=a[this.expando];return b||(b={},T(a)&&(a.nodeType?a[this.expando]=b:Object.defineProperty(a,this.expando,{value:b,configurable:!0}))),b},set:function(a,b,c){var d,e=this.cache(a);if(\"string\"==typeof b)e[r.camelCase(b)]=c;else for(d in b)e[r.camelCase(d)]=b[d];return e},get:function(a,b){return void 0===b?this.cache(a):a[this.expando]&&a[this.expando][r.camelCase(b)]},access:function(a,b,c){return void 0===b||b&&\"string\"==typeof b&&void 0===c?this.get(a,b):(this.set(a,b,c),void 0!==c?c:b)},remove:function(a,b){var c,d=a[this.expando];if(void 0!==d){if(void 0!==b){r.isArray(b)?b=b.map(r.camelCase):(b=r.camelCase(b),b=b in d?[b]:b.match(K)||[]),c=b.length;while(c--)delete d[b[c]]}(void 0===b||r.isEmptyObject(d))&&(a.nodeType?a[this.expando]=void 0:delete a[this.expando])}},hasData:function(a){var b=a[this.expando];return void 0!==b&&!r.isEmptyObject(b)}};var V=new U,W=new U,X=/^(?:\\{[\\w\\W]*\\}|\\[[\\w\\W]*\\])$/,Y=/[A-Z]/g;function Z(a,b,c){var d;if(void 0===c&&1===a.nodeType)if(d=\"data-\"+b.replace(Y,\"-$&\").toLowerCase(),c=a.getAttribute(d),\"string\"==typeof c){try{c=\"true\"===c?!0:\"false\"===c?!1:\"null\"===c?null:+c+\"\"===c?+c:X.test(c)?JSON.parse(c):c}catch(e){}W.set(a,b,c)}else c=void 0;return c}r.extend({hasData:function(a){return W.hasData(a)||V.hasData(a)},data:function(a,b,c){return W.access(a,b,c)},removeData:function(a,b){W.remove(a,b)},_data:function(a,b,c){return V.access(a,b,c)},_removeData:function(a,b){V.remove(a,b)}}),r.fn.extend({data:function(a,b){var c,d,e,f=this[0],g=f&&f.attributes;if(void 0===a){if(this.length&&(e=W.get(f),1===f.nodeType&&!V.get(f,\"hasDataAttrs\"))){c=g.length;while(c--)g[c]&&(d=g[c].name,0===d.indexOf(\"data-\")&&(d=r.camelCase(d.slice(5)),Z(f,d,e[d])));V.set(f,\"hasDataAttrs\",!0)}return e}return\"object\"==typeof a?this.each(function(){W.set(this,a)}):S(this,function(b){var c;if(f&&void 0===b){if(c=W.get(f,a),void 0!==c)return c;if(c=Z(f,a),void 0!==c)return c}else this.each(function(){W.set(this,a,b)})},null,b,arguments.length>1,null,!0)},removeData:function(a){return this.each(function(){W.remove(this,a)})}}),r.extend({queue:function(a,b,c){var d;return a?(b=(b||\"fx\")+\"queue\",d=V.get(a,b),c&&(!d||r.isArray(c)?d=V.access(a,b,r.makeArray(c)):d.push(c)),d||[]):void 0},dequeue:function(a,b){b=b||\"fx\";var c=r.queue(a,b),d=c.length,e=c.shift(),f=r._queueHooks(a,b),g=function(){r.dequeue(a,b)};\"inprogress\"===e&&(e=c.shift(),d--),e&&(\"fx\"===b&&c.unshift(\"inprogress\"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+\"queueHooks\";return V.get(a,c)||V.access(a,c,{empty:r.Callbacks(\"once memory\").add(function(){V.remove(a,[b+\"queue\",c])})})}}),r.fn.extend({queue:function(a,b){var c=2;return\"string\"!=typeof a&&(b=a,a=\"fx\",c--),arguments.length<c?r.queue(this[0],a):void 0===b?this:this.each(function(){var c=r.queue(this,a,b);r._queueHooks(this,a),\"fx\"===a&&\"inprogress\"!==c[0]&&r.dequeue(this,a)})},dequeue:function(a){return this.each(function(){r.dequeue(this,a)})},clearQueue:function(a){return this.queue(a||\"fx\",[])},promise:function(a,b){var c,d=1,e=r.Deferred(),f=this,g=this.length,h=function(){--d||e.resolveWith(f,[f])};\"string\"!=typeof a&&(b=a,a=void 0),a=a||\"fx\";while(g--)c=V.get(f[g],a+\"queueHooks\"),c&&c.empty&&(d++,c.empty.add(h));return h(),e.promise(b)}});var $=/[+-]?(?:\\d*\\.|)\\d+(?:[eE][+-]?\\d+|)/.source,_=new RegExp(\"^(?:([+-])=|)(\"+$+\")([a-z%]*)$\",\"i\"),aa=[\"Top\",\"Right\",\"Bottom\",\"Left\"],ba=function(a,b){return a=b||a,\"none\"===a.style.display||\"\"===a.style.display&&r.contains(a.ownerDocument,a)&&\"none\"===r.css(a,\"display\")},ca=function(a,b,c,d){var e,f,g={};for(f in b)g[f]=a.style[f],a.style[f]=b[f];e=c.apply(a,d||[]);for(f in b)a.style[f]=g[f];return e};function da(a,b,c,d){var e,f=1,g=20,h=d?function(){return d.cur()}:function(){return r.css(a,b,\"\")},i=h(),j=c&&c[3]||(r.cssNumber[b]?\"\":\"px\"),k=(r.cssNumber[b]||\"px\"!==j&&+i)&&_.exec(r.css(a,b));if(k&&k[3]!==j){j=j||k[3],c=c||[],k=+i||1;do f=f||\".5\",k/=f,r.style(a,b,k+j);while(f!==(f=h()/i)&&1!==f&&--g)}return c&&(k=+k||+i||0,e=c[1]?k+(c[1]+1)*c[2]:+c[2],d&&(d.unit=j,d.start=k,d.end=e)),e}var ea={};function fa(a){var b,c=a.ownerDocument,d=a.nodeName,e=ea[d];return e?e:(b=c.body.appendChild(c.createElement(d)),e=r.css(b,\"display\"),b.parentNode.removeChild(b),\"none\"===e&&(e=\"block\"),ea[d]=e,e)}function ga(a,b){for(var c,d,e=[],f=0,g=a.length;g>f;f++)d=a[f],d.style&&(c=d.style.display,b?(\"none\"===c&&(e[f]=V.get(d,\"display\")||null,e[f]||(d.style.display=\"\")),\"\"===d.style.display&&ba(d)&&(e[f]=fa(d))):\"none\"!==c&&(e[f]=\"none\",V.set(d,\"display\",c)));for(f=0;g>f;f++)null!=e[f]&&(a[f].style.display=e[f]);return a}r.fn.extend({show:function(){return ga(this,!0)},hide:function(){return ga(this)},toggle:function(a){return\"boolean\"==typeof a?a?this.show():this.hide():this.each(function(){ba(this)?r(this).show():r(this).hide()})}});var ha=/^(?:checkbox|radio)$/i,ia=/<([a-z][^\\/\\0>\\x20\\t\\r\\n\\f]+)/i,ja=/^$|\\/(?:java|ecma)script/i,ka={option:[1,\"<select multiple='multiple'>\",\"</select>\"],thead:[1,\"<table>\",\"</table>\"],col:[2,\"<table><colgroup>\",\"</colgroup></table>\"],tr:[2,\"<table><tbody>\",\"</tbody></table>\"],td:[3,\"<table><tbody><tr>\",\"</tr></tbody></table>\"],_default:[0,\"\",\"\"]};ka.optgroup=ka.option,ka.tbody=ka.tfoot=ka.colgroup=ka.caption=ka.thead,ka.th=ka.td;function la(a,b){var c=\"undefined\"!=typeof a.getElementsByTagName?a.getElementsByTagName(b||\"*\"):\"undefined\"!=typeof a.querySelectorAll?a.querySelectorAll(b||\"*\"):[];return void 0===b||b&&r.nodeName(a,b)?r.merge([a],c):c}function ma(a,b){for(var c=0,d=a.length;d>c;c++)V.set(a[c],\"globalEval\",!b||V.get(b[c],\"globalEval\"))}var na=/<|&#?\\w+;/;function oa(a,b,c,d,e){for(var f,g,h,i,j,k,l=b.createDocumentFragment(),m=[],n=0,o=a.length;o>n;n++)if(f=a[n],f||0===f)if(\"object\"===r.type(f))r.merge(m,f.nodeType?[f]:f);else if(na.test(f)){g=g||l.appendChild(b.createElement(\"div\")),h=(ia.exec(f)||[\"\",\"\"])[1].toLowerCase(),i=ka[h]||ka._default,g.innerHTML=i[1]+r.htmlPrefilter(f)+i[2],k=i[0];while(k--)g=g.lastChild;r.merge(m,g.childNodes),g=l.firstChild,g.textContent=\"\"}else m.push(b.createTextNode(f));l.textContent=\"\",n=0;while(f=m[n++])if(d&&r.inArray(f,d)>-1)e&&e.push(f);else if(j=r.contains(f.ownerDocument,f),g=la(l.appendChild(f),\"script\"),j&&ma(g),c){k=0;while(f=g[k++])ja.test(f.type||\"\")&&c.push(f)}return l}!function(){var a=d.createDocumentFragment(),b=a.appendChild(d.createElement(\"div\")),c=d.createElement(\"input\");c.setAttribute(\"type\",\"radio\"),c.setAttribute(\"checked\",\"checked\"),c.setAttribute(\"name\",\"t\"),b.appendChild(c),o.checkClone=b.cloneNode(!0).cloneNode(!0).lastChild.checked,b.innerHTML=\"<textarea>x</textarea>\",o.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue}();var pa=d.documentElement,qa=/^key/,ra=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,sa=/^([^.]*)(?:\\.(.+)|)/;function ta(){return!0}function ua(){return!1}function va(){try{return d.activeElement}catch(a){}}function wa(a,b,c,d,e,f){var g,h;if(\"object\"==typeof b){\"string\"!=typeof c&&(d=d||c,c=void 0);for(h in b)wa(a,h,c,d,b[h],f);return a}if(null==d&&null==e?(e=c,d=c=void 0):null==e&&(\"string\"==typeof c?(e=d,d=void 0):(e=d,d=c,c=void 0)),e===!1)e=ua;else if(!e)return a;return 1===f&&(g=e,e=function(a){return r().off(a),g.apply(this,arguments)},e.guid=g.guid||(g.guid=r.guid++)),a.each(function(){r.event.add(this,b,e,d,c)})}r.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,n,o,p,q=V.get(a);if(q){c.handler&&(f=c,c=f.handler,e=f.selector),e&&r.find.matchesSelector(pa,e),c.guid||(c.guid=r.guid++),(i=q.events)||(i=q.events={}),(g=q.handle)||(g=q.handle=function(b){return\"undefined\"!=typeof r&&r.event.triggered!==b.type?r.event.dispatch.apply(a,arguments):void 0}),b=(b||\"\").match(K)||[\"\"],j=b.length;while(j--)h=sa.exec(b[j])||[],n=p=h[1],o=(h[2]||\"\").split(\".\").sort(),n&&(l=r.event.special[n]||{},n=(e?l.delegateType:l.bindType)||n,l=r.event.special[n]||{},k=r.extend({type:n,origType:p,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&r.expr.match.needsContext.test(e),namespace:o.join(\".\")},f),(m=i[n])||(m=i[n]=[],m.delegateCount=0,l.setup&&l.setup.call(a,d,o,g)!==!1||a.addEventListener&&a.addEventListener(n,g)),l.add&&(l.add.call(a,k),k.handler.guid||(k.handler.guid=c.guid)),e?m.splice(m.delegateCount++,0,k):m.push(k),r.event.global[n]=!0)}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,n,o,p,q=V.hasData(a)&&V.get(a);if(q&&(i=q.events)){b=(b||\"\").match(K)||[\"\"],j=b.length;while(j--)if(h=sa.exec(b[j])||[],n=p=h[1],o=(h[2]||\"\").split(\".\").sort(),n){l=r.event.special[n]||{},n=(d?l.delegateType:l.bindType)||n,m=i[n]||[],h=h[2]&&new RegExp(\"(^|\\\\.)\"+o.join(\"\\\\.(?:.*\\\\.|)\")+\"(\\\\.|$)\"),g=f=m.length;while(f--)k=m[f],!e&&p!==k.origType||c&&c.guid!==k.guid||h&&!h.test(k.namespace)||d&&d!==k.selector&&(\"**\"!==d||!k.selector)||(m.splice(f,1),k.selector&&m.delegateCount--,l.remove&&l.remove.call(a,k));g&&!m.length&&(l.teardown&&l.teardown.call(a,o,q.handle)!==!1||r.removeEvent(a,n,q.handle),delete i[n])}else for(n in i)r.event.remove(a,n+b[j],c,d,!0);r.isEmptyObject(i)&&V.remove(a,\"handle events\")}},dispatch:function(a){var b=r.event.fix(a),c,d,e,f,g,h,i=new Array(arguments.length),j=(V.get(this,\"events\")||{})[b.type]||[],k=r.event.special[b.type]||{};for(i[0]=b,c=1;c<arguments.length;c++)i[c]=arguments[c];if(b.delegateTarget=this,!k.preDispatch||k.preDispatch.call(this,b)!==!1){h=r.event.handlers.call(this,b,j),c=0;while((f=h[c++])&&!b.isPropagationStopped()){b.currentTarget=f.elem,d=0;while((g=f.handlers[d++])&&!b.isImmediatePropagationStopped())b.rnamespace&&!b.rnamespace.test(g.namespace)||(b.handleObj=g,b.data=g.data,e=((r.event.special[g.origType]||{}).handle||g.handler).apply(f.elem,i),void 0!==e&&(b.result=e)===!1&&(b.preventDefault(),b.stopPropagation()))}return k.postDispatch&&k.postDispatch.call(this,b),b.result}},handlers:function(a,b){var c,d,e,f,g=[],h=b.delegateCount,i=a.target;if(h&&i.nodeType&&(\"click\"!==a.type||isNaN(a.button)||a.button<1))for(;i!==this;i=i.parentNode||this)if(1===i.nodeType&&(i.disabled!==!0||\"click\"!==a.type)){for(d=[],c=0;h>c;c++)f=b[c],e=f.selector+\" \",void 0===d[e]&&(d[e]=f.needsContext?r(e,this).index(i)>-1:r.find(e,this,null,[i]).length),d[e]&&d.push(f);d.length&&g.push({elem:i,handlers:d})}return h<b.length&&g.push({elem:this,handlers:b.slice(h)}),g},addProp:function(a,b){Object.defineProperty(r.Event.prototype,a,{enumerable:!0,configurable:!0,get:r.isFunction(b)?function(){return this.originalEvent?b(this.originalEvent):void 0}:function(){return this.originalEvent?this.originalEvent[a]:void 0},set:function(b){Object.defineProperty(this,a,{enumerable:!0,configurable:!0,writable:!0,value:b})}})},fix:function(a){return a[r.expando]?a:new r.Event(a)},special:{load:{noBubble:!0},focus:{trigger:function(){return this!==va()&&this.focus?(this.focus(),!1):void 0},delegateType:\"focusin\"},blur:{trigger:function(){return this===va()&&this.blur?(this.blur(),!1):void 0},delegateType:\"focusout\"},click:{trigger:function(){return\"checkbox\"===this.type&&this.click&&r.nodeName(this,\"input\")?(this.click(),!1):void 0},_default:function(a){return r.nodeName(a.target,\"a\")}},beforeunload:{postDispatch:function(a){void 0!==a.result&&a.originalEvent&&(a.originalEvent.returnValue=a.result)}}}},r.removeEvent=function(a,b,c){a.removeEventListener&&a.removeEventListener(b,c)},r.Event=function(a,b){return this instanceof r.Event?(a&&a.type?(this.originalEvent=a,this.type=a.type,this.isDefaultPrevented=a.defaultPrevented||void 0===a.defaultPrevented&&a.returnValue===!1?ta:ua,this.target=a.target&&3===a.target.nodeType?a.target.parentNode:a.target,this.currentTarget=a.currentTarget,this.relatedTarget=a.relatedTarget):this.type=a,b&&r.extend(this,b),this.timeStamp=a&&a.timeStamp||r.now(),void(this[r.expando]=!0)):new r.Event(a,b)},r.Event.prototype={constructor:r.Event,isDefaultPrevented:ua,isPropagationStopped:ua,isImmediatePropagationStopped:ua,isSimulated:!1,preventDefault:function(){var a=this.originalEvent;this.isDefaultPrevented=ta,a&&!this.isSimulated&&a.preventDefault()},stopPropagation:function(){var a=this.originalEvent;this.isPropagationStopped=ta,a&&!this.isSimulated&&a.stopPropagation()},stopImmediatePropagation:function(){var a=this.originalEvent;this.isImmediatePropagationStopped=ta,a&&!this.isSimulated&&a.stopImmediatePropagation(),this.stopPropagation()}},r.each({altKey:!0,bubbles:!0,cancelable:!0,changedTouches:!0,ctrlKey:!0,detail:!0,eventPhase:!0,metaKey:!0,pageX:!0,pageY:!0,shiftKey:!0,view:!0,\"char\":!0,charCode:!0,key:!0,keyCode:!0,button:!0,buttons:!0,clientX:!0,clientY:!0,offsetX:!0,offsetY:!0,pointerId:!0,pointerType:!0,screenX:!0,screenY:!0,targetTouches:!0,toElement:!0,touches:!0,which:function(a){var b=a.button;return null==a.which&&qa.test(a.type)?null!=a.charCode?a.charCode:a.keyCode:!a.which&&void 0!==b&&ra.test(a.type)?1&b?1:2&b?3:4&b?2:0:a.which}},r.event.addProp),r.each({mouseenter:\"mouseover\",mouseleave:\"mouseout\",pointerenter:\"pointerover\",pointerleave:\"pointerout\"},function(a,b){r.event.special[a]={delegateType:b,bindType:b,handle:function(a){var c,d=this,e=a.relatedTarget,f=a.handleObj;return e&&(e===d||r.contains(d,e))||(a.type=f.origType,c=f.handler.apply(this,arguments),a.type=b),c}}}),r.fn.extend({on:function(a,b,c,d){return wa(this,a,b,c,d)},one:function(a,b,c,d){return wa(this,a,b,c,d,1)},off:function(a,b,c){var d,e;if(a&&a.preventDefault&&a.handleObj)return d=a.handleObj,r(a.delegateTarget).off(d.namespace?d.origType+\".\"+d.namespace:d.origType,d.selector,d.handler),this;if(\"object\"==typeof a){for(e in a)this.off(e,b,a[e]);return this}return b!==!1&&\"function\"!=typeof b||(c=b,b=void 0),c===!1&&(c=ua),this.each(function(){r.event.remove(this,a,c,b)})}});var xa=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([a-z][^\\/\\0>\\x20\\t\\r\\n\\f]*)[^>]*)\\/>/gi,ya=/<script|<style|<link/i,za=/checked\\s*(?:[^=]|=\\s*.checked.)/i,Aa=/^true\\/(.*)/,Ba=/^\\s*<!(?:\\[CDATA\\[|--)|(?:\\]\\]|--)>\\s*$/g;function Ca(a,b){return r.nodeName(a,\"table\")&&r.nodeName(11!==b.nodeType?b:b.firstChild,\"tr\")?a.getElementsByTagName(\"tbody\")[0]||a:a}function Da(a){return a.type=(null!==a.getAttribute(\"type\"))+\"/\"+a.type,a}function Ea(a){var b=Aa.exec(a.type);return b?a.type=b[1]:a.removeAttribute(\"type\"),a}function Fa(a,b){var c,d,e,f,g,h,i,j;if(1===b.nodeType){if(V.hasData(a)&&(f=V.access(a),g=V.set(b,f),j=f.events)){delete g.handle,g.events={};for(e in j)for(c=0,d=j[e].length;d>c;c++)r.event.add(b,e,j[e][c])}W.hasData(a)&&(h=W.access(a),i=r.extend({},h),W.set(b,i))}}function Ga(a,b){var c=b.nodeName.toLowerCase();\"input\"===c&&ha.test(a.type)?b.checked=a.checked:\"input\"!==c&&\"textarea\"!==c||(b.defaultValue=a.defaultValue)}function Ha(a,b,c,d){b=g.apply([],b);var e,f,h,i,j,k,l=0,m=a.length,n=m-1,q=b[0],s=r.isFunction(q);if(s||m>1&&\"string\"==typeof q&&!o.checkClone&&za.test(q))return a.each(function(e){var f=a.eq(e);s&&(b[0]=q.call(this,e,f.html())),Ha(f,b,c,d)});if(m&&(e=oa(b,a[0].ownerDocument,!1,a,d),f=e.firstChild,1===e.childNodes.length&&(e=f),f||d)){for(h=r.map(la(e,\"script\"),Da),i=h.length;m>l;l++)j=e,l!==n&&(j=r.clone(j,!0,!0),i&&r.merge(h,la(j,\"script\"))),c.call(a[l],j,l);if(i)for(k=h[h.length-1].ownerDocument,r.map(h,Ea),l=0;i>l;l++)j=h[l],ja.test(j.type||\"\")&&!V.access(j,\"globalEval\")&&r.contains(k,j)&&(j.src?r._evalUrl&&r._evalUrl(j.src):p(j.textContent.replace(Ba,\"\"),k))}return a}function Ia(a,b,c){for(var d,e=b?r.filter(b,a):a,f=0;null!=(d=e[f]);f++)c||1!==d.nodeType||r.cleanData(la(d)),d.parentNode&&(c&&r.contains(d.ownerDocument,d)&&ma(la(d,\"script\")),d.parentNode.removeChild(d));return a}r.extend({htmlPrefilter:function(a){return a.replace(xa,\"<$1></$2>\")},clone:function(a,b,c){var d,e,f,g,h=a.cloneNode(!0),i=r.contains(a.ownerDocument,a);if(!(o.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||r.isXMLDoc(a)))for(g=la(h),f=la(a),d=0,e=f.length;e>d;d++)Ga(f[d],g[d]);if(b)if(c)for(f=f||la(a),g=g||la(h),d=0,e=f.length;e>d;d++)Fa(f[d],g[d]);else Fa(a,h);return g=la(h,\"script\"),g.length>0&&ma(g,!i&&la(a,\"script\")),h},cleanData:function(a){for(var b,c,d,e=r.event.special,f=0;void 0!==(c=a[f]);f++)if(T(c)){if(b=c[V.expando]){if(b.events)for(d in b.events)e[d]?r.event.remove(c,d):r.removeEvent(c,d,b.handle);c[V.expando]=void 0}c[W.expando]&&(c[W.expando]=void 0)}}}),r.fn.extend({detach:function(a){return Ia(this,a,!0)},remove:function(a){return Ia(this,a)},text:function(a){return S(this,function(a){return void 0===a?r.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=a)})},null,a,arguments.length)},append:function(){return Ha(this,arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=Ca(this,a);b.appendChild(a)}})},prepend:function(){return Ha(this,arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=Ca(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return Ha(this,arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return Ha(this,arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},empty:function(){for(var a,b=0;null!=(a=this[b]);b++)1===a.nodeType&&(r.cleanData(la(a,!1)),a.textContent=\"\");return this},clone:function(a,b){return a=null==a?!1:a,b=null==b?a:b,this.map(function(){return r.clone(this,a,b)})},html:function(a){return S(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a&&1===b.nodeType)return b.innerHTML;if(\"string\"==typeof a&&!ya.test(a)&&!ka[(ia.exec(a)||[\"\",\"\"])[1].toLowerCase()]){a=r.htmlPrefilter(a);try{for(;d>c;c++)b=this[c]||{},1===b.nodeType&&(r.cleanData(la(b,!1)),b.innerHTML=a);b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=[];return Ha(this,arguments,function(b){var c=this.parentNode;r.inArray(this,a)<0&&(r.cleanData(la(this)),c&&c.replaceChild(b,this))},a)}}),r.each({appendTo:\"append\",prependTo:\"prepend\",insertBefore:\"before\",insertAfter:\"after\",replaceAll:\"replaceWith\"},function(a,b){r.fn[a]=function(a){for(var c,d=[],e=r(a),f=e.length-1,g=0;f>=g;g++)c=g===f?this:this.clone(!0),r(e[g])[b](c),h.apply(d,c.get());return this.pushStack(d)}});var Ja=/^margin/,Ka=new RegExp(\"^(\"+$+\")(?!px)[a-z%]+$\",\"i\"),La=function(b){var c=b.ownerDocument.defaultView;return c&&c.opener||(c=a),c.getComputedStyle(b)};!function(){function b(){if(i){i.style.cssText=\"box-sizing:border-box;position:relative;display:block;margin:auto;border:1px;padding:1px;top:1%;width:50%\",i.innerHTML=\"\",pa.appendChild(h);var b=a.getComputedStyle(i);c=\"1%\"!==b.top,g=\"2px\"===b.marginLeft,e=\"4px\"===b.width,i.style.marginRight=\"50%\",f=\"4px\"===b.marginRight,pa.removeChild(h),i=null}}var c,e,f,g,h=d.createElement(\"div\"),i=d.createElement(\"div\");i.style&&(i.style.backgroundClip=\"content-box\",i.cloneNode(!0).style.backgroundClip=\"\",o.clearCloneStyle=\"content-box\"===i.style.backgroundClip,h.style.cssText=\"border:0;width:8px;height:0;top:0;left:-9999px;padding:0;margin-top:1px;position:absolute\",h.appendChild(i),r.extend(o,{pixelPosition:function(){return b(),c},boxSizingReliable:function(){return b(),e},pixelMarginRight:function(){return b(),f},reliableMarginLeft:function(){return b(),g}}))}();function Ma(a,b,c){var d,e,f,g,h=a.style;return c=c||La(a),c&&(g=c.getPropertyValue(b)||c[b],\"\"!==g||r.contains(a.ownerDocument,a)||(g=r.style(a,b)),!o.pixelMarginRight()&&Ka.test(g)&&Ja.test(b)&&(d=h.width,e=h.minWidth,f=h.maxWidth,h.minWidth=h.maxWidth=h.width=g,g=c.width,h.width=d,h.minWidth=e,h.maxWidth=f)),void 0!==g?g+\"\":g}function Na(a,b){return{get:function(){return a()?void delete this.get:(this.get=b).apply(this,arguments)}}}var Oa=/^(none|table(?!-c[ea]).+)/,Pa={position:\"absolute\",visibility:\"hidden\",display:\"block\"},Qa={letterSpacing:\"0\",fontWeight:\"400\"},Ra=[\"Webkit\",\"Moz\",\"ms\"],Sa=d.createElement(\"div\").style;function Ta(a){if(a in Sa)return a;var b=a[0].toUpperCase()+a.slice(1),c=Ra.length;while(c--)if(a=Ra[c]+b,a in Sa)return a}function Ua(a,b,c){var d=_.exec(b);return d?Math.max(0,d[2]-(c||0))+(d[3]||\"px\"):b}function Va(a,b,c,d,e){for(var f=c===(d?\"border\":\"content\")?4:\"width\"===b?1:0,g=0;4>f;f+=2)\"margin\"===c&&(g+=r.css(a,c+aa[f],!0,e)),d?(\"content\"===c&&(g-=r.css(a,\"padding\"+aa[f],!0,e)),\"margin\"!==c&&(g-=r.css(a,\"border\"+aa[f]+\"Width\",!0,e))):(g+=r.css(a,\"padding\"+aa[f],!0,e),\"padding\"!==c&&(g+=r.css(a,\"border\"+aa[f]+\"Width\",!0,e)));return g}function Wa(a,b,c){var d,e=!0,f=La(a),g=\"border-box\"===r.css(a,\"boxSizing\",!1,f);if(a.getClientRects().length&&(d=a.getBoundingClientRect()[b]),0>=d||null==d){if(d=Ma(a,b,f),(0>d||null==d)&&(d=a.style[b]),Ka.test(d))return d;e=g&&(o.boxSizingReliable()||d===a.style[b]),d=parseFloat(d)||0}return d+Va(a,b,c||(g?\"border\":\"content\"),e,f)+\"px\"}r.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=Ma(a,\"opacity\");return\"\"===c?\"1\":c}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{\"float\":\"cssFloat\"},style:function(a,b,c,d){if(a&&3!==a.nodeType&&8!==a.nodeType&&a.style){var e,f,g,h=r.camelCase(b),i=a.style;return b=r.cssProps[h]||(r.cssProps[h]=Ta(h)||h),g=r.cssHooks[b]||r.cssHooks[h],void 0===c?g&&\"get\"in g&&void 0!==(e=g.get(a,!1,d))?e:i[b]:(f=typeof c,\"string\"===f&&(e=_.exec(c))&&e[1]&&(c=da(a,b,e),f=\"number\"),null!=c&&c===c&&(\"number\"===f&&(c+=e&&e[3]||(r.cssNumber[h]?\"\":\"px\")),o.clearCloneStyle||\"\"!==c||0!==b.indexOf(\"background\")||(i[b]=\"inherit\"),g&&\"set\"in g&&void 0===(c=g.set(a,c,d))||(i[b]=c)),void 0)}},css:function(a,b,c,d){var e,f,g,h=r.camelCase(b);return b=r.cssProps[h]||(r.cssProps[h]=Ta(h)||h),g=r.cssHooks[b]||r.cssHooks[h],g&&\"get\"in g&&(e=g.get(a,!0,c)),void 0===e&&(e=Ma(a,b,d)),\"normal\"===e&&b in Qa&&(e=Qa[b]),\"\"===c||c?(f=parseFloat(e),c===!0||isFinite(f)?f||0:e):e}}),r.each([\"height\",\"width\"],function(a,b){r.cssHooks[b]={get:function(a,c,d){return c?!Oa.test(r.css(a,\"display\"))||a.getClientRects().length&&a.getBoundingClientRect().width?Wa(a,b,d):ca(a,Pa,function(){return Wa(a,b,d)}):void 0},set:function(a,c,d){var e,f=d&&La(a),g=d&&Va(a,b,d,\"border-box\"===r.css(a,\"boxSizing\",!1,f),f);return g&&(e=_.exec(c))&&\"px\"!==(e[3]||\"px\")&&(a.style[b]=c,c=r.css(a,b)),Ua(a,c,g)}}}),r.cssHooks.marginLeft=Na(o.reliableMarginLeft,function(a,b){return b?(parseFloat(Ma(a,\"marginLeft\"))||a.getBoundingClientRect().left-ca(a,{marginLeft:0},function(){return a.getBoundingClientRect().left}))+\"px\":void 0}),r.each({margin:\"\",padding:\"\",border:\"Width\"},function(a,b){r.cssHooks[a+b]={expand:function(c){for(var d=0,e={},f=\"string\"==typeof c?c.split(\" \"):[c];4>d;d++)e[a+aa[d]+b]=f[d]||f[d-2]||f[0];return e}},Ja.test(a)||(r.cssHooks[a+b].set=Ua)}),r.fn.extend({css:function(a,b){return S(this,function(a,b,c){var d,e,f={},g=0;if(r.isArray(b)){for(d=La(a),e=b.length;e>g;g++)f[b[g]]=r.css(a,b[g],!1,d);return f}return void 0!==c?r.style(a,b,c):r.css(a,b)},a,b,arguments.length>1)}}),r.fn.delay=function(b,c){return b=r.fx?r.fx.speeds[b]||b:b,c=c||\"fx\",this.queue(c,function(c,d){var e=a.setTimeout(c,b);d.stop=function(){a.clearTimeout(e)}})},function(){var a=d.createElement(\"input\"),b=d.createElement(\"select\"),c=b.appendChild(d.createElement(\"option\"));a.type=\"checkbox\",o.checkOn=\"\"!==a.value,o.optSelected=c.selected,a=d.createElement(\"input\"),a.value=\"t\",a.type=\"radio\",o.radioValue=\"t\"===a.value}();var Xa,Ya=r.expr.attrHandle;r.fn.extend({attr:function(a,b){return S(this,r.attr,a,b,arguments.length>1)},removeAttr:function(a){return this.each(function(){r.removeAttr(this,a)})}}),r.extend({attr:function(a,b,c){var d,e,f=a.nodeType;if(3!==f&&8!==f&&2!==f)return\"undefined\"==typeof a.getAttribute?r.prop(a,b,c):(1===f&&r.isXMLDoc(a)||(e=r.attrHooks[b.toLowerCase()]||(r.expr.match.bool.test(b)?Xa:void 0)),void 0!==c?null===c?void r.removeAttr(a,b):e&&\"set\"in e&&void 0!==(d=e.set(a,c,b))?d:(a.setAttribute(b,c+\"\"),c):e&&\"get\"in e&&null!==(d=e.get(a,b))?d:(d=r.find.attr(a,b),null==d?void 0:d))},attrHooks:{type:{set:function(a,b){if(!o.radioValue&&\"radio\"===b&&r.nodeName(a,\"input\")){var c=a.value;return a.setAttribute(\"type\",b),c&&(a.value=c),b}}}},removeAttr:function(a,b){var c,d=0,e=b&&b.match(K);if(e&&1===a.nodeType)while(c=e[d++])a.removeAttribute(c)}}),Xa={set:function(a,b,c){return b===!1?r.removeAttr(a,c):a.setAttribute(c,c),c}},r.each(r.expr.match.bool.source.match(/\\w+/g),function(a,b){var c=Ya[b]||r.find.attr;Ya[b]=function(a,b,d){var e,f,g=b.toLowerCase();return d||(f=Ya[g],Ya[g]=e,e=null!=c(a,b,d)?g:null,Ya[g]=f),e}});var Za=/^(?:input|select|textarea|button)$/i,$a=/^(?:a|area)$/i;r.fn.extend({prop:function(a,b){return S(this,r.prop,a,b,arguments.length>1)},removeProp:function(a){return this.each(function(){delete this[r.propFix[a]||a]})}}),r.extend({prop:function(a,b,c){var d,e,f=a.nodeType;if(3!==f&&8!==f&&2!==f)return 1===f&&r.isXMLDoc(a)||(b=r.propFix[b]||b,e=r.propHooks[b]),void 0!==c?e&&\"set\"in e&&void 0!==(d=e.set(a,c,b))?d:a[b]=c:e&&\"get\"in e&&null!==(d=e.get(a,b))?d:a[b]},propHooks:{tabIndex:{get:function(a){var b=r.find.attr(a,\"tabindex\");return b?parseInt(b,10):Za.test(a.nodeName)||$a.test(a.nodeName)&&a.href?0:-1}}},propFix:{\"for\":\"htmlFor\",\"class\":\"className\"}}),o.optSelected||(r.propHooks.selected={get:function(a){var b=a.parentNode;return b&&b.parentNode&&b.parentNode.selectedIndex,null},set:function(a){var b=a.parentNode;b&&(b.selectedIndex,b.parentNode&&b.parentNode.selectedIndex)}}),r.each([\"tabIndex\",\"readOnly\",\"maxLength\",\"cellSpacing\",\"cellPadding\",\"rowSpan\",\"colSpan\",\"useMap\",\"frameBorder\",\"contentEditable\"],function(){r.propFix[this.toLowerCase()]=this});var _a=/[\\t\\r\\n\\f]/g;function ab(a){return a.getAttribute&&a.getAttribute(\"class\")||\"\"}r.fn.extend({addClass:function(a){var b,c,d,e,f,g,h,i=0;if(r.isFunction(a))return this.each(function(b){r(this).addClass(a.call(this,b,ab(this)))});if(\"string\"==typeof a&&a){b=a.match(K)||[];while(c=this[i++])if(e=ab(c),d=1===c.nodeType&&(\" \"+e+\" \").replace(_a,\" \")){g=0;while(f=b[g++])d.indexOf(\" \"+f+\" \")<0&&(d+=f+\" \");h=r.trim(d),e!==h&&c.setAttribute(\"class\",h)}}return this},removeClass:function(a){var b,c,d,e,f,g,h,i=0;if(r.isFunction(a))return this.each(function(b){r(this).removeClass(a.call(this,b,ab(this)))});if(!arguments.length)return this.attr(\"class\",\"\");if(\"string\"==typeof a&&a){b=a.match(K)||[];while(c=this[i++])if(e=ab(c),d=1===c.nodeType&&(\" \"+e+\" \").replace(_a,\" \")){g=0;while(f=b[g++])while(d.indexOf(\" \"+f+\" \")>-1)d=d.replace(\" \"+f+\" \",\" \");h=r.trim(d),e!==h&&c.setAttribute(\"class\",h)}}return this},toggleClass:function(a,b){var c=typeof a;return\"boolean\"==typeof b&&\"string\"===c?b?this.addClass(a):this.removeClass(a):r.isFunction(a)?this.each(function(c){r(this).toggleClass(a.call(this,c,ab(this),b),b)}):this.each(function(){var b,d,e,f;if(\"string\"===c){d=0,e=r(this),f=a.match(K)||[];while(b=f[d++])e.hasClass(b)?e.removeClass(b):e.addClass(b)}else void 0!==a&&\"boolean\"!==c||(b=ab(this),b&&V.set(this,\"__className__\",b),this.setAttribute&&this.setAttribute(\"class\",b||a===!1?\"\":V.get(this,\"__className__\")||\"\"))})},hasClass:function(a){var b,c,d=0;b=\" \"+a+\" \";while(c=this[d++])if(1===c.nodeType&&(\" \"+ab(c)+\" \").replace(_a,\" \").indexOf(b)>-1)return!0;return!1}});var bb=/\\r/g,cb=/[\\x20\\t\\r\\n\\f]+/g;r.fn.extend({val:function(a){var b,c,d,e=this[0];{if(arguments.length)return d=r.isFunction(a),this.each(function(c){var e;1===this.nodeType&&(e=d?a.call(this,c,r(this).val()):a,null==e?e=\"\":\"number\"==typeof e?e+=\"\":r.isArray(e)&&(e=r.map(e,function(a){return null==a?\"\":a+\"\"})),b=r.valHooks[this.type]||r.valHooks[this.nodeName.toLowerCase()],b&&\"set\"in b&&void 0!==b.set(this,e,\"value\")||(this.value=e))});if(e)return b=r.valHooks[e.type]||r.valHooks[e.nodeName.toLowerCase()],b&&\"get\"in b&&void 0!==(c=b.get(e,\"value\"))?c:(c=e.value,\"string\"==typeof c?c.replace(bb,\"\"):null==c?\"\":c)}}}),r.extend({valHooks:{option:{get:function(a){var b=r.find.attr(a,\"value\");return null!=b?b:r.trim(r.text(a)).replace(cb,\" \")}},select:{get:function(a){for(var b,c,d=a.options,e=a.selectedIndex,f=\"select-one\"===a.type,g=f?null:[],h=f?e+1:d.length,i=0>e?h:f?e:0;h>i;i++)if(c=d[i],(c.selected||i===e)&&!c.disabled&&(!c.parentNode.disabled||!r.nodeName(c.parentNode,\"optgroup\"))){if(b=r(c).val(),f)return b;g.push(b)}return g},set:function(a,b){var c,d,e=a.options,f=r.makeArray(b),g=e.length;while(g--)d=e[g],(d.selected=r.inArray(r.valHooks.option.get(d),f)>-1)&&(c=!0);return c||(a.selectedIndex=-1),f}}}}),r.each([\"radio\",\"checkbox\"],function(){r.valHooks[this]={set:function(a,b){return r.isArray(b)?a.checked=r.inArray(r(a).val(),b)>-1:void 0}},o.checkOn||(r.valHooks[this].get=function(a){return null===a.getAttribute(\"value\")?\"on\":a.value})});var db=/^(?:focusinfocus|focusoutblur)$/;r.extend(r.event,{trigger:function(b,c,e,f){var g,h,i,j,k,m,n,o=[e||d],p=l.call(b,\"type\")?b.type:b,q=l.call(b,\"namespace\")?b.namespace.split(\".\"):[];if(h=i=e=e||d,3!==e.nodeType&&8!==e.nodeType&&!db.test(p+r.event.triggered)&&(p.indexOf(\".\")>-1&&(q=p.split(\".\"),p=q.shift(),q.sort()),k=p.indexOf(\":\")<0&&\"on\"+p,b=b[r.expando]?b:new r.Event(p,\"object\"==typeof b&&b),b.isTrigger=f?2:3,b.namespace=q.join(\".\"),b.rnamespace=b.namespace?new RegExp(\"(^|\\\\.)\"+q.join(\"\\\\.(?:.*\\\\.|)\")+\"(\\\\.|$)\"):null,b.result=void 0,b.target||(b.target=e),c=null==c?[b]:r.makeArray(c,[b]),n=r.event.special[p]||{},f||!n.trigger||n.trigger.apply(e,c)!==!1)){if(!f&&!n.noBubble&&!r.isWindow(e)){for(j=n.delegateType||p,db.test(j+p)||(h=h.parentNode);h;h=h.parentNode)o.push(h),i=h;i===(e.ownerDocument||d)&&o.push(i.defaultView||i.parentWindow||a)}g=0;while((h=o[g++])&&!b.isPropagationStopped())b.type=g>1?j:n.bindType||p,m=(V.get(h,\"events\")||{})[b.type]&&V.get(h,\"handle\"),m&&m.apply(h,c),m=k&&h[k],m&&m.apply&&T(h)&&(b.result=m.apply(h,c),b.result===!1&&b.preventDefault());return b.type=p,f||b.isDefaultPrevented()||n._default&&n._default.apply(o.pop(),c)!==!1||!T(e)||k&&r.isFunction(e[p])&&!r.isWindow(e)&&(i=e[k],i&&(e[k]=null),r.event.triggered=p,e[p](),r.event.triggered=void 0,i&&(e[k]=i)),b.result}},simulate:function(a,b,c){var d=r.extend(new r.Event,c,{type:a,isSimulated:!0});r.event.trigger(d,null,b)}}),r.fn.extend({trigger:function(a,b){return this.each(function(){r.event.trigger(a,b,this)})},triggerHandler:function(a,b){var c=this[0];return c?r.event.trigger(a,b,c,!0):void 0}}),r.each(\"blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu\".split(\" \"),function(a,b){r.fn[b]=function(a,c){return arguments.length>0?this.on(b,null,a,c):this.trigger(b)}}),r.fn.extend({hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)}}),o.focusin=\"onfocusin\"in a,o.focusin||r.each({focus:\"focusin\",blur:\"focusout\"},function(a,b){var c=function(a){r.event.simulate(b,a.target,r.event.fix(a))};r.event.special[b]={setup:function(){var d=this.ownerDocument||this,e=V.access(d,b);e||d.addEventListener(a,c,!0),V.access(d,b,(e||0)+1)},teardown:function(){var d=this.ownerDocument||this,e=V.access(d,b)-1;e?V.access(d,b,e):(d.removeEventListener(a,c,!0),V.remove(d,b))}}});var eb=/\\[\\]$/,fb=/\\r?\\n/g,gb=/^(?:submit|button|image|reset|file)$/i,hb=/^(?:input|select|textarea|keygen)/i;function ib(a,b,c,d){var e;if(r.isArray(b))r.each(b,function(b,e){c||eb.test(a)?d(a,e):ib(a+\"[\"+(\"object\"==typeof e&&null!=e?b:\"\")+\"]\",e,c,d)});else if(c||\"object\"!==r.type(b))d(a,b);else for(e in b)ib(a+\"[\"+e+\"]\",b[e],c,d)}r.param=function(a,b){var c,d=[],e=function(a,b){var c=r.isFunction(b)?b():b;d[d.length]=encodeURIComponent(a)+\"=\"+encodeURIComponent(null==c?\"\":c)};if(r.isArray(a)||a.jquery&&!r.isPlainObject(a))r.each(a,function(){e(this.name,this.value)});else for(c in a)ib(c,a[c],b,e);\nreturn d.join(\"&\")},r.fn.extend({serialize:function(){return r.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var a=r.prop(this,\"elements\");return a?r.makeArray(a):this}).filter(function(){var a=this.type;return this.name&&!r(this).is(\":disabled\")&&hb.test(this.nodeName)&&!gb.test(a)&&(this.checked||!ha.test(a))}).map(function(a,b){var c=r(this).val();return null==c?null:r.isArray(c)?r.map(c,function(a){return{name:b.name,value:a.replace(fb,\"\\r\\n\")}}):{name:b.name,value:c.replace(fb,\"\\r\\n\")}}).get()}}),r.fn.extend({wrapAll:function(a){var b;return this[0]&&(r.isFunction(a)&&(a=a.call(this[0])),b=r(a,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstElementChild)a=a.firstElementChild;return a}).append(this)),this},wrapInner:function(a){return r.isFunction(a)?this.each(function(b){r(this).wrapInner(a.call(this,b))}):this.each(function(){var b=r(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=r.isFunction(a);return this.each(function(c){r(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(a){return this.parent(a).not(\"body\").each(function(){r(this).replaceWith(this.childNodes)}),this}}),r.expr.pseudos.hidden=function(a){return!r.expr.pseudos.visible(a)},r.expr.pseudos.visible=function(a){return!!(a.offsetWidth||a.offsetHeight||a.getClientRects().length)},o.createHTMLDocument=function(){var a=d.implementation.createHTMLDocument(\"\").body;return a.innerHTML=\"<form></form><form></form>\",2===a.childNodes.length}(),r.parseHTML=function(a,b,c){if(\"string\"!=typeof a)return[];\"boolean\"==typeof b&&(c=b,b=!1);var e,f,g;return b||(o.createHTMLDocument?(b=d.implementation.createHTMLDocument(\"\"),e=b.createElement(\"base\"),e.href=d.location.href,b.head.appendChild(e)):b=d),f=B.exec(a),g=!c&&[],f?[b.createElement(f[1])]:(f=oa([a],b,g),g&&g.length&&r(g).remove(),r.merge([],f.childNodes))};function jb(a){return r.isWindow(a)?a:9===a.nodeType&&a.defaultView}r.offset={setOffset:function(a,b,c){var d,e,f,g,h,i,j,k=r.css(a,\"position\"),l=r(a),m={};\"static\"===k&&(a.style.position=\"relative\"),h=l.offset(),f=r.css(a,\"top\"),i=r.css(a,\"left\"),j=(\"absolute\"===k||\"fixed\"===k)&&(f+i).indexOf(\"auto\")>-1,j?(d=l.position(),g=d.top,e=d.left):(g=parseFloat(f)||0,e=parseFloat(i)||0),r.isFunction(b)&&(b=b.call(a,c,r.extend({},h))),null!=b.top&&(m.top=b.top-h.top+g),null!=b.left&&(m.left=b.left-h.left+e),\"using\"in b?b.using.call(a,m):l.css(m)}},r.fn.extend({offset:function(a){if(arguments.length)return void 0===a?this:this.each(function(b){r.offset.setOffset(this,a,b)});var b,c,d,e,f=this[0];if(f)return f.getClientRects().length?(d=f.getBoundingClientRect(),d.width||d.height?(e=f.ownerDocument,c=jb(e),b=e.documentElement,{top:d.top+c.pageYOffset-b.clientTop,left:d.left+c.pageXOffset-b.clientLeft}):d):{top:0,left:0}},position:function(){if(this[0]){var a,b,c=this[0],d={top:0,left:0};return\"fixed\"===r.css(c,\"position\")?b=c.getBoundingClientRect():(a=this.offsetParent(),b=this.offset(),r.nodeName(a[0],\"html\")||(d=a.offset()),d={top:d.top+r.css(a[0],\"borderTopWidth\",!0),left:d.left+r.css(a[0],\"borderLeftWidth\",!0)}),{top:b.top-d.top-r.css(c,\"marginTop\",!0),left:b.left-d.left-r.css(c,\"marginLeft\",!0)}}},offsetParent:function(){return this.map(function(){var a=this.offsetParent;while(a&&\"static\"===r.css(a,\"position\"))a=a.offsetParent;return a||pa})}}),r.each({scrollLeft:\"pageXOffset\",scrollTop:\"pageYOffset\"},function(a,b){var c=\"pageYOffset\"===b;r.fn[a]=function(d){return S(this,function(a,d,e){var f=jb(a);return void 0===e?f?f[b]:a[d]:void(f?f.scrollTo(c?f.pageXOffset:e,c?e:f.pageYOffset):a[d]=e)},a,d,arguments.length)}}),r.each([\"top\",\"left\"],function(a,b){r.cssHooks[b]=Na(o.pixelPosition,function(a,c){return c?(c=Ma(a,b),Ka.test(c)?r(a).position()[b]+\"px\":c):void 0})}),r.each({Height:\"height\",Width:\"width\"},function(a,b){r.each({padding:\"inner\"+a,content:b,\"\":\"outer\"+a},function(c,d){r.fn[d]=function(e,f){var g=arguments.length&&(c||\"boolean\"!=typeof e),h=c||(e===!0||f===!0?\"margin\":\"border\");return S(this,function(b,c,e){var f;return r.isWindow(b)?0===d.indexOf(\"outer\")?b[\"inner\"+a]:b.document.documentElement[\"client\"+a]:9===b.nodeType?(f=b.documentElement,Math.max(b.body[\"scroll\"+a],f[\"scroll\"+a],b.body[\"offset\"+a],f[\"offset\"+a],f[\"client\"+a])):void 0===e?r.css(b,c,h):r.style(b,c,e,h)},b,g?e:void 0,g)}})}),\"function\"==typeof define&&define.amd&&define(\"jquery\",[],function(){return r});var kb=a.jQuery,lb=a.$;return r.noConflict=function(b){return a.$===r&&(a.$=lb),b&&a.jQuery===r&&(a.jQuery=kb),r},b||(a.jQuery=a.$=r),r});\n","const transform = require('./lib/jsonMapTransform');\n\nmodule.exports = transform;","const get = require('./utils/objectHandler').get;\nconst set = require('./utils/objectHandler').set;\nconst has = require('./utils/objectHandler').has;\nconst isUndefined = require('./utils/objectHandler').isUndefined;\n\nconst setObjectValue = (template, key, value, transformedObject, originalObject) => {\n\tconst defaultValue = template[key].default;\n\tconst transform = template[key].transform;\n\tconst omitValues = template[key].omitValues || [];\n\tlet transformedValue = transform ? transform(value, transformedObject, originalObject) : value;\n\n\tif (isUndefined(transformedValue) && !isUndefined(defaultValue)) {\n\t\ttransformedValue = defaultValue;\n\t}\n\n\tif(omitValues.indexOf(transformedValue) == -1) {\n\t\treturn set(Object.assign({}, transformedObject), key, transformedValue);\n\t}\n\n\treturn transformedObject;\n};\n\nconst transformJson = (originalObject, template, afterTransform) => {\n\tconst transformedObject = Object.keys(template).reduce((transformedJson, key) => {\n\t\tconst path = Array.isArray(template[key].path) ?\n\t\t\ttemplate[key].path.filter(path => has(originalObject, path))[0] : template[key].path;\n\n\t\tconst value = path ? get(originalObject, path) : undefined;\n\n\t\treturn setObjectValue(template, key, value, transformedJson, originalObject);\n\t}, {});\n\treturn afterTransform ? afterTransform(transformedObject, originalObject) : transformedObject;\n};\n\nconst mapTransform = (jsonArray, template, afterTransform) => jsonArray.map(originalObject => {\n\tconst transformedObject = transform(originalObject, template);\n\treturn afterTransform ? afterTransform(transformedObject, originalObject) : transformedObject;\n});\n\nconst transform = (json, template, afterTransform) =>\n\tArray.isArray(json) ? mapTransform(json, template, afterTransform) : transformJson(json, template, afterTransform);\n\nmodule.exports = transform;\n","const isUndefined = (value) => value == undefined;\n\nconst has = (object, path) => {\n\tconst subPaths = path.split('.');\n\tlet hasPath = true;\n\tlet obj = Object.assign({}, object);\n\tsubPaths.forEach(subPath => {\n\t\thasPath = obj && hasPath && Object.keys(obj).indexOf(subPath) > -1;\n\t\tobj = obj[subPath];\n\t});\n\treturn hasPath;\n};\n\nconst get = (object, path) => {\n\tconst subPaths = path.split('.');\n\tlet value = Object.assign({}, object);\n\tsubPaths.forEach(subPath => {\n\t\tvalue = (value && !isUndefined(value[subPath])) ? value[subPath] : undefined;\n\t});\n\treturn value;\n};\n\n\nconst set =(object, path, value) => {\n\tlet objectCopy = object;\n\tconst subPaths = path.split('.');\n\n\tsubPaths.forEach((subPath, index) => {\n\t\tif( !objectCopy[subPath] ) {\n\t\t\tobjectCopy[subPath] = (index == subPaths.length -1) ? value : {};\n\t\t}\n\t\tobjectCopy = objectCopy[subPath];\n\t});\n\n\treturn object;\n};\n\nmodule.exports = {\n\thas,\n\tget,\n\tset,\n\tisUndefined\n};\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar DataView = getNative(root, 'DataView');\n\nmodule.exports = DataView;\n","var hashClear = require('./_hashClear'),\n hashDelete = require('./_hashDelete'),\n hashGet = require('./_hashGet'),\n hashHas = require('./_hashHas'),\n hashSet = require('./_hashSet');\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\nmodule.exports = Hash;\n","var listCacheClear = require('./_listCacheClear'),\n listCacheDelete = require('./_listCacheDelete'),\n listCacheGet = require('./_listCacheGet'),\n listCacheHas = require('./_listCacheHas'),\n listCacheSet = require('./_listCacheSet');\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\nmodule.exports = ListCache;\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Map = getNative(root, 'Map');\n\nmodule.exports = Map;\n","var mapCacheClear = require('./_mapCacheClear'),\n mapCacheDelete = require('./_mapCacheDelete'),\n mapCacheGet = require('./_mapCacheGet'),\n mapCacheHas = require('./_mapCacheHas'),\n mapCacheSet = require('./_mapCacheSet');\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\nmodule.exports = MapCache;\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Promise = getNative(root, 'Promise');\n\nmodule.exports = Promise;\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Set = getNative(root, 'Set');\n\nmodule.exports = Set;\n","var ListCache = require('./_ListCache'),\n stackClear = require('./_stackClear'),\n stackDelete = require('./_stackDelete'),\n stackGet = require('./_stackGet'),\n stackHas = require('./_stackHas'),\n stackSet = require('./_stackSet');\n\n/**\n * Creates a stack cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Stack(entries) {\n var data = this.__data__ = new ListCache(entries);\n this.size = data.size;\n}\n\n// Add methods to `Stack`.\nStack.prototype.clear = stackClear;\nStack.prototype['delete'] = stackDelete;\nStack.prototype.get = stackGet;\nStack.prototype.has = stackHas;\nStack.prototype.set = stackSet;\n\nmodule.exports = Stack;\n","var root = require('./_root');\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\nmodule.exports = Symbol;\n","var root = require('./_root');\n\n/** Built-in value references. */\nvar Uint8Array = root.Uint8Array;\n\nmodule.exports = Uint8Array;\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar WeakMap = getNative(root, 'WeakMap');\n\nmodule.exports = WeakMap;\n","/**\n * A faster alternative to `Function#apply`, this function invokes `func`\n * with the `this` binding of `thisArg` and the arguments of `args`.\n *\n * @private\n * @param {Function} func The function to invoke.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {Array} args The arguments to invoke `func` with.\n * @returns {*} Returns the result of `func`.\n */\nfunction apply(func, thisArg, args) {\n switch (args.length) {\n case 0: return func.call(thisArg);\n case 1: return func.call(thisArg, args[0]);\n case 2: return func.call(thisArg, args[0], args[1]);\n case 3: return func.call(thisArg, args[0], args[1], args[2]);\n }\n return func.apply(thisArg, args);\n}\n\nmodule.exports = apply;\n","var baseTimes = require('./_baseTimes'),\n isArguments = require('./isArguments'),\n isArray = require('./isArray'),\n isBuffer = require('./isBuffer'),\n isIndex = require('./_isIndex'),\n isTypedArray = require('./isTypedArray');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Creates an array of the enumerable property names of the array-like `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @param {boolean} inherited Specify returning inherited property names.\n * @returns {Array} Returns the array of property names.\n */\nfunction arrayLikeKeys(value, inherited) {\n var isArr = isArray(value),\n isArg = !isArr && isArguments(value),\n isBuff = !isArr && !isArg && isBuffer(value),\n isType = !isArr && !isArg && !isBuff && isTypedArray(value),\n skipIndexes = isArr || isArg || isBuff || isType,\n result = skipIndexes ? baseTimes(value.length, String) : [],\n length = result.length;\n\n for (var key in value) {\n if ((inherited || hasOwnProperty.call(value, key)) &&\n !(skipIndexes && (\n // Safari 9 has enumerable `arguments.length` in strict mode.\n key == 'length' ||\n // Node.js 0.10 has enumerable non-index properties on buffers.\n (isBuff && (key == 'offset' || key == 'parent')) ||\n // PhantomJS 2 has enumerable non-index properties on typed arrays.\n (isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset')) ||\n // Skip index properties.\n isIndex(key, length)\n ))) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = arrayLikeKeys;\n","var baseAssignValue = require('./_baseAssignValue'),\n eq = require('./eq');\n\n/**\n * This function is like `assignValue` except that it doesn't assign\n * `undefined` values.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignMergeValue(object, key, value) {\n if ((value !== undefined && !eq(object[key], value)) ||\n (value === undefined && !(key in object))) {\n baseAssignValue(object, key, value);\n }\n}\n\nmodule.exports = assignMergeValue;\n","var baseAssignValue = require('./_baseAssignValue'),\n eq = require('./eq');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Assigns `value` to `key` of `object` if the existing value is not equivalent\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignValue(object, key, value) {\n var objValue = object[key];\n if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) ||\n (value === undefined && !(key in object))) {\n baseAssignValue(object, key, value);\n }\n}\n\nmodule.exports = assignValue;\n","var eq = require('./eq');\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\nmodule.exports = assocIndexOf;\n","var defineProperty = require('./_defineProperty');\n\n/**\n * The base implementation of `assignValue` and `assignMergeValue` without\n * value checks.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction baseAssignValue(object, key, value) {\n if (key == '__proto__' && defineProperty) {\n defineProperty(object, key, {\n 'configurable': true,\n 'enumerable': true,\n 'value': value,\n 'writable': true\n });\n } else {\n object[key] = value;\n }\n}\n\nmodule.exports = baseAssignValue;\n","var isObject = require('./isObject');\n\n/** Built-in value references. */\nvar objectCreate = Object.create;\n\n/**\n * The base implementation of `_.create` without support for assigning\n * properties to the created object.\n *\n * @private\n * @param {Object} proto The object to inherit from.\n * @returns {Object} Returns the new object.\n */\nvar baseCreate = (function() {\n function object() {}\n return function(proto) {\n if (!isObject(proto)) {\n return {};\n }\n if (objectCreate) {\n return objectCreate(proto);\n }\n object.prototype = proto;\n var result = new object;\n object.prototype = undefined;\n return result;\n };\n}());\n\nmodule.exports = baseCreate;\n","var createBaseFor = require('./_createBaseFor');\n\n/**\n * The base implementation of `baseForOwn` which iterates over `object`\n * properties returned by `keysFunc` and invokes `iteratee` for each property.\n * Iteratee functions may exit iteration early by explicitly returning `false`.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @returns {Object} Returns `object`.\n */\nvar baseFor = createBaseFor();\n\nmodule.exports = baseFor;\n","var Symbol = require('./_Symbol'),\n getRawTag = require('./_getRawTag'),\n objectToString = require('./_objectToString');\n\n/** `Object#toString` result references. */\nvar nullTag = '[object Null]',\n undefinedTag = '[object Undefined]';\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n}\n\nmodule.exports = baseGetTag;\n","var baseGetTag = require('./_baseGetTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]';\n\n/**\n * The base implementation of `_.isArguments`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n */\nfunction baseIsArguments(value) {\n return isObjectLike(value) && baseGetTag(value) == argsTag;\n}\n\nmodule.exports = baseIsArguments;\n","var isFunction = require('./isFunction'),\n isMasked = require('./_isMasked'),\n isObject = require('./isObject'),\n toSource = require('./_toSource');\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used for built-in method references. */\nvar funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\nfunction baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = isFunction(value) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\nmodule.exports = baseIsNative;\n","var baseGetTag = require('./_baseGetTag'),\n isLength = require('./isLength'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\ntypedArrayTags[dataViewTag] = typedArrayTags[dateTag] =\ntypedArrayTags[errorTag] = typedArrayTags[funcTag] =\ntypedArrayTags[mapTag] = typedArrayTags[numberTag] =\ntypedArrayTags[objectTag] = typedArrayTags[regexpTag] =\ntypedArrayTags[setTag] = typedArrayTags[stringTag] =\ntypedArrayTags[weakMapTag] = false;\n\n/**\n * The base implementation of `_.isTypedArray` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n */\nfunction baseIsTypedArray(value) {\n return isObjectLike(value) &&\n isLength(value.length) && !!typedArrayTags[baseGetTag(value)];\n}\n\nmodule.exports = baseIsTypedArray;\n","var isPrototype = require('./_isPrototype'),\n nativeKeys = require('./_nativeKeys');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeys(object) {\n if (!isPrototype(object)) {\n return nativeKeys(object);\n }\n var result = [];\n for (var key in Object(object)) {\n if (hasOwnProperty.call(object, key) && key != 'constructor') {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = baseKeys;\n","var isObject = require('./isObject'),\n isPrototype = require('./_isPrototype'),\n nativeKeysIn = require('./_nativeKeysIn');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * The base implementation of `_.keysIn` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeysIn(object) {\n if (!isObject(object)) {\n return nativeKeysIn(object);\n }\n var isProto = isPrototype(object),\n result = [];\n\n for (var key in object) {\n if (!(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = baseKeysIn;\n","var Stack = require('./_Stack'),\n assignMergeValue = require('./_assignMergeValue'),\n baseFor = require('./_baseFor'),\n baseMergeDeep = require('./_baseMergeDeep'),\n isObject = require('./isObject'),\n keysIn = require('./keysIn'),\n safeGet = require('./_safeGet');\n\n/**\n * The base implementation of `_.merge` without support for multiple sources.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @param {number} srcIndex The index of `source`.\n * @param {Function} [customizer] The function to customize merged values.\n * @param {Object} [stack] Tracks traversed source values and their merged\n * counterparts.\n */\nfunction baseMerge(object, source, srcIndex, customizer, stack) {\n if (object === source) {\n return;\n }\n baseFor(source, function(srcValue, key) {\n stack || (stack = new Stack);\n if (isObject(srcValue)) {\n baseMergeDeep(object, source, key, srcIndex, baseMerge, customizer, stack);\n }\n else {\n var newValue = customizer\n ? customizer(safeGet(object, key), srcValue, (key + ''), object, source, stack)\n : undefined;\n\n if (newValue === undefined) {\n newValue = srcValue;\n }\n assignMergeValue(object, key, newValue);\n }\n }, keysIn);\n}\n\nmodule.exports = baseMerge;\n","var assignMergeValue = require('./_assignMergeValue'),\n cloneBuffer = require('./_cloneBuffer'),\n cloneTypedArray = require('./_cloneTypedArray'),\n copyArray = require('./_copyArray'),\n initCloneObject = require('./_initCloneObject'),\n isArguments = require('./isArguments'),\n isArray = require('./isArray'),\n isArrayLikeObject = require('./isArrayLikeObject'),\n isBuffer = require('./isBuffer'),\n isFunction = require('./isFunction'),\n isObject = require('./isObject'),\n isPlainObject = require('./isPlainObject'),\n isTypedArray = require('./isTypedArray'),\n safeGet = require('./_safeGet'),\n toPlainObject = require('./toPlainObject');\n\n/**\n * A specialized version of `baseMerge` for arrays and objects which performs\n * deep merges and tracks traversed objects enabling objects with circular\n * references to be merged.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @param {string} key The key of the value to merge.\n * @param {number} srcIndex The index of `source`.\n * @param {Function} mergeFunc The function to merge values.\n * @param {Function} [customizer] The function to customize assigned values.\n * @param {Object} [stack] Tracks traversed source values and their merged\n * counterparts.\n */\nfunction baseMergeDeep(object, source, key, srcIndex, mergeFunc, customizer, stack) {\n var objValue = safeGet(object, key),\n srcValue = safeGet(source, key),\n stacked = stack.get(srcValue);\n\n if (stacked) {\n assignMergeValue(object, key, stacked);\n return;\n }\n var newValue = customizer\n ? customizer(objValue, srcValue, (key + ''), object, source, stack)\n : undefined;\n\n var isCommon = newValue === undefined;\n\n if (isCommon) {\n var isArr = isArray(srcValue),\n isBuff = !isArr && isBuffer(srcValue),\n isTyped = !isArr && !isBuff && isTypedArray(srcValue);\n\n newValue = srcValue;\n if (isArr || isBuff || isTyped) {\n if (isArray(objValue)) {\n newValue = objValue;\n }\n else if (isArrayLikeObject(objValue)) {\n newValue = copyArray(objValue);\n }\n else if (isBuff) {\n isCommon = false;\n newValue = cloneBuffer(srcValue, true);\n }\n else if (isTyped) {\n isCommon = false;\n newValue = cloneTypedArray(srcValue, true);\n }\n else {\n newValue = [];\n }\n }\n else if (isPlainObject(srcValue) || isArguments(srcValue)) {\n newValue = objValue;\n if (isArguments(objValue)) {\n newValue = toPlainObject(objValue);\n }\n else if (!isObject(objValue) || isFunction(objValue)) {\n newValue = initCloneObject(srcValue);\n }\n }\n else {\n isCommon = false;\n }\n }\n if (isCommon) {\n // Recursively merge objects and arrays (susceptible to call stack limits).\n stack.set(srcValue, newValue);\n mergeFunc(newValue, srcValue, srcIndex, customizer, stack);\n stack['delete'](srcValue);\n }\n assignMergeValue(object, key, newValue);\n}\n\nmodule.exports = baseMergeDeep;\n","var identity = require('./identity'),\n overRest = require('./_overRest'),\n setToString = require('./_setToString');\n\n/**\n * The base implementation of `_.rest` which doesn't validate or coerce arguments.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @returns {Function} Returns the new function.\n */\nfunction baseRest(func, start) {\n return setToString(overRest(func, start, identity), func + '');\n}\n\nmodule.exports = baseRest;\n","var constant = require('./constant'),\n defineProperty = require('./_defineProperty'),\n identity = require('./identity');\n\n/**\n * The base implementation of `setToString` without support for hot loop shorting.\n *\n * @private\n * @param {Function} func The function to modify.\n * @param {Function} string The `toString` result.\n * @returns {Function} Returns `func`.\n */\nvar baseSetToString = !defineProperty ? identity : function(func, string) {\n return defineProperty(func, 'toString', {\n 'configurable': true,\n 'enumerable': false,\n 'value': constant(string),\n 'writable': true\n });\n};\n\nmodule.exports = baseSetToString;\n","/**\n * The base implementation of `_.times` without support for iteratee shorthands\n * or max array length checks.\n *\n * @private\n * @param {number} n The number of times to invoke `iteratee`.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the array of results.\n */\nfunction baseTimes(n, iteratee) {\n var index = -1,\n result = Array(n);\n\n while (++index < n) {\n result[index] = iteratee(index);\n }\n return result;\n}\n\nmodule.exports = baseTimes;\n","/**\n * The base implementation of `_.unary` without support for storing metadata.\n *\n * @private\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n */\nfunction baseUnary(func) {\n return function(value) {\n return func(value);\n };\n}\n\nmodule.exports = baseUnary;\n","var Uint8Array = require('./_Uint8Array');\n\n/**\n * Creates a clone of `arrayBuffer`.\n *\n * @private\n * @param {ArrayBuffer} arrayBuffer The array buffer to clone.\n * @returns {ArrayBuffer} Returns the cloned array buffer.\n */\nfunction cloneArrayBuffer(arrayBuffer) {\n var result = new arrayBuffer.constructor(arrayBuffer.byteLength);\n new Uint8Array(result).set(new Uint8Array(arrayBuffer));\n return result;\n}\n\nmodule.exports = cloneArrayBuffer;\n","var root = require('./_root');\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined,\n allocUnsafe = Buffer ? Buffer.allocUnsafe : undefined;\n\n/**\n * Creates a clone of `buffer`.\n *\n * @private\n * @param {Buffer} buffer The buffer to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Buffer} Returns the cloned buffer.\n */\nfunction cloneBuffer(buffer, isDeep) {\n if (isDeep) {\n return buffer.slice();\n }\n var length = buffer.length,\n result = allocUnsafe ? allocUnsafe(length) : new buffer.constructor(length);\n\n buffer.copy(result);\n return result;\n}\n\nmodule.exports = cloneBuffer;\n","var cloneArrayBuffer = require('./_cloneArrayBuffer');\n\n/**\n * Creates a clone of `typedArray`.\n *\n * @private\n * @param {Object} typedArray The typed array to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned typed array.\n */\nfunction cloneTypedArray(typedArray, isDeep) {\n var buffer = isDeep ? cloneArrayBuffer(typedArray.buffer) : typedArray.buffer;\n return new typedArray.constructor(buffer, typedArray.byteOffset, typedArray.length);\n}\n\nmodule.exports = cloneTypedArray;\n","/**\n * Copies the values of `source` to `array`.\n *\n * @private\n * @param {Array} source The array to copy values from.\n * @param {Array} [array=[]] The array to copy values to.\n * @returns {Array} Returns `array`.\n */\nfunction copyArray(source, array) {\n var index = -1,\n length = source.length;\n\n array || (array = Array(length));\n while (++index < length) {\n array[index] = source[index];\n }\n return array;\n}\n\nmodule.exports = copyArray;\n","var assignValue = require('./_assignValue'),\n baseAssignValue = require('./_baseAssignValue');\n\n/**\n * Copies properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy properties from.\n * @param {Array} props The property identifiers to copy.\n * @param {Object} [object={}] The object to copy properties to.\n * @param {Function} [customizer] The function to customize copied values.\n * @returns {Object} Returns `object`.\n */\nfunction copyObject(source, props, object, customizer) {\n var isNew = !object;\n object || (object = {});\n\n var index = -1,\n length = props.length;\n\n while (++index < length) {\n var key = props[index];\n\n var newValue = customizer\n ? customizer(object[key], source[key], key, object, source)\n : undefined;\n\n if (newValue === undefined) {\n newValue = source[key];\n }\n if (isNew) {\n baseAssignValue(object, key, newValue);\n } else {\n assignValue(object, key, newValue);\n }\n }\n return object;\n}\n\nmodule.exports = copyObject;\n","var root = require('./_root');\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\nmodule.exports = coreJsData;\n","var baseRest = require('./_baseRest'),\n isIterateeCall = require('./_isIterateeCall');\n\n/**\n * Creates a function like `_.assign`.\n *\n * @private\n * @param {Function} assigner The function to assign values.\n * @returns {Function} Returns the new assigner function.\n */\nfunction createAssigner(assigner) {\n return baseRest(function(object, sources) {\n var index = -1,\n length = sources.length,\n customizer = length > 1 ? sources[length - 1] : undefined,\n guard = length > 2 ? sources[2] : undefined;\n\n customizer = (assigner.length > 3 && typeof customizer == 'function')\n ? (length--, customizer)\n : undefined;\n\n if (guard && isIterateeCall(sources[0], sources[1], guard)) {\n customizer = length < 3 ? undefined : customizer;\n length = 1;\n }\n object = Object(object);\n while (++index < length) {\n var source = sources[index];\n if (source) {\n assigner(object, source, index, customizer);\n }\n }\n return object;\n });\n}\n\nmodule.exports = createAssigner;\n","/**\n * Creates a base function for methods like `_.forIn` and `_.forOwn`.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\nfunction createBaseFor(fromRight) {\n return function(object, iteratee, keysFunc) {\n var index = -1,\n iterable = Object(object),\n props = keysFunc(object),\n length = props.length;\n\n while (length--) {\n var key = props[fromRight ? length : ++index];\n if (iteratee(iterable[key], key, iterable) === false) {\n break;\n }\n }\n return object;\n };\n}\n\nmodule.exports = createBaseFor;\n","var getNative = require('./_getNative');\n\nvar defineProperty = (function() {\n try {\n var func = getNative(Object, 'defineProperty');\n func({}, '', {});\n return func;\n } catch (e) {}\n}());\n\nmodule.exports = defineProperty;\n","/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nmodule.exports = freeGlobal;\n","var isKeyable = require('./_isKeyable');\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n}\n\nmodule.exports = getMapData;\n","var baseIsNative = require('./_baseIsNative'),\n getValue = require('./_getValue');\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\nmodule.exports = getNative;\n","var overArg = require('./_overArg');\n\n/** Built-in value references. */\nvar getPrototype = overArg(Object.getPrototypeOf, Object);\n\nmodule.exports = getPrototype;\n","var Symbol = require('./_Symbol');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\nmodule.exports = getRawTag;\n","var DataView = require('./_DataView'),\n Map = require('./_Map'),\n Promise = require('./_Promise'),\n Set = require('./_Set'),\n WeakMap = require('./_WeakMap'),\n baseGetTag = require('./_baseGetTag'),\n toSource = require('./_toSource');\n\n/** `Object#toString` result references. */\nvar mapTag = '[object Map]',\n objectTag = '[object Object]',\n promiseTag = '[object Promise]',\n setTag = '[object Set]',\n weakMapTag = '[object WeakMap]';\n\nvar dataViewTag = '[object DataView]';\n\n/** Used to detect maps, sets, and weakmaps. */\nvar dataViewCtorString = toSource(DataView),\n mapCtorString = toSource(Map),\n promiseCtorString = toSource(Promise),\n setCtorString = toSource(Set),\n weakMapCtorString = toSource(WeakMap);\n\n/**\n * Gets the `toStringTag` of `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nvar getTag = baseGetTag;\n\n// Fallback for data views, maps, sets, and weak maps in IE 11 and promises in Node.js < 6.\nif ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) ||\n (Map && getTag(new Map) != mapTag) ||\n (Promise && getTag(Promise.resolve()) != promiseTag) ||\n (Set && getTag(new Set) != setTag) ||\n (WeakMap && getTag(new WeakMap) != weakMapTag)) {\n getTag = function(value) {\n var result = baseGetTag(value),\n Ctor = result == objectTag ? value.constructor : undefined,\n ctorString = Ctor ? toSource(Ctor) : '';\n\n if (ctorString) {\n switch (ctorString) {\n case dataViewCtorString: return dataViewTag;\n case mapCtorString: return mapTag;\n case promiseCtorString: return promiseTag;\n case setCtorString: return setTag;\n case weakMapCtorString: return weakMapTag;\n }\n }\n return result;\n };\n}\n\nmodule.exports = getTag;\n","/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\nmodule.exports = getValue;\n","var nativeCreate = require('./_nativeCreate');\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n this.size = 0;\n}\n\nmodule.exports = hashClear;\n","/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n var result = this.has(key) && delete this.__data__[key];\n this.size -= result ? 1 : 0;\n return result;\n}\n\nmodule.exports = hashDelete;\n","var nativeCreate = require('./_nativeCreate');\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n var data = this.__data__;\n if (nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\nmodule.exports = hashGet;\n","var nativeCreate = require('./_nativeCreate');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? (data[key] !== undefined) : hasOwnProperty.call(data, key);\n}\n\nmodule.exports = hashHas;\n","var nativeCreate = require('./_nativeCreate');\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n var data = this.__data__;\n this.size += this.has(key) ? 0 : 1;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n}\n\nmodule.exports = hashSet;\n","var baseCreate = require('./_baseCreate'),\n getPrototype = require('./_getPrototype'),\n isPrototype = require('./_isPrototype');\n\n/**\n * Initializes an object clone.\n *\n * @private\n * @param {Object} object The object to clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneObject(object) {\n return (typeof object.constructor == 'function' && !isPrototype(object))\n ? baseCreate(getPrototype(object))\n : {};\n}\n\nmodule.exports = initCloneObject;\n","/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n var type = typeof value;\n length = length == null ? MAX_SAFE_INTEGER : length;\n\n return !!length &&\n (type == 'number' ||\n (type != 'symbol' && reIsUint.test(value))) &&\n (value > -1 && value % 1 == 0 && value < length);\n}\n\nmodule.exports = isIndex;\n","var eq = require('./eq'),\n isArrayLike = require('./isArrayLike'),\n isIndex = require('./_isIndex'),\n isObject = require('./isObject');\n\n/**\n * Checks if the given arguments are from an iteratee call.\n *\n * @private\n * @param {*} value The potential iteratee value argument.\n * @param {*} index The potential iteratee index or key argument.\n * @param {*} object The potential iteratee object argument.\n * @returns {boolean} Returns `true` if the arguments are from an iteratee call,\n * else `false`.\n */\nfunction isIterateeCall(value, index, object) {\n if (!isObject(object)) {\n return false;\n }\n var type = typeof index;\n if (type == 'number'\n ? (isArrayLike(object) && isIndex(index, object.length))\n : (type == 'string' && index in object)\n ) {\n return eq(object[index], value);\n }\n return false;\n}\n\nmodule.exports = isIterateeCall;\n","/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n}\n\nmodule.exports = isKeyable;\n","var coreJsData = require('./_coreJsData');\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n}\n\nmodule.exports = isMasked;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\nfunction isPrototype(value) {\n var Ctor = value && value.constructor,\n proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n return value === proto;\n}\n\nmodule.exports = isPrototype;\n","/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n this.__data__ = [];\n this.size = 0;\n}\n\nmodule.exports = listCacheClear;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype;\n\n/** Built-in value references. */\nvar splice = arrayProto.splice;\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n --this.size;\n return true;\n}\n\nmodule.exports = listCacheDelete;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n}\n\nmodule.exports = listCacheGet;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n}\n\nmodule.exports = listCacheHas;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n ++this.size;\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n}\n\nmodule.exports = listCacheSet;\n","var Hash = require('./_Hash'),\n ListCache = require('./_ListCache'),\n Map = require('./_Map');\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n this.size = 0;\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n}\n\nmodule.exports = mapCacheClear;\n","var getMapData = require('./_getMapData');\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n var result = getMapData(this, key)['delete'](key);\n this.size -= result ? 1 : 0;\n return result;\n}\n\nmodule.exports = mapCacheDelete;\n","var getMapData = require('./_getMapData');\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n return getMapData(this, key).get(key);\n}\n\nmodule.exports = mapCacheGet;\n","var getMapData = require('./_getMapData');\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n return getMapData(this, key).has(key);\n}\n\nmodule.exports = mapCacheHas;\n","var getMapData = require('./_getMapData');\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n var data = getMapData(this, key),\n size = data.size;\n\n data.set(key, value);\n this.size += data.size == size ? 0 : 1;\n return this;\n}\n\nmodule.exports = mapCacheSet;\n","var getNative = require('./_getNative');\n\n/* Built-in method references that are verified to be native. */\nvar nativeCreate = getNative(Object, 'create');\n\nmodule.exports = nativeCreate;\n","var overArg = require('./_overArg');\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeKeys = overArg(Object.keys, Object);\n\nmodule.exports = nativeKeys;\n","/**\n * This function is like\n * [`Object.keys`](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * except that it includes inherited enumerable properties.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction nativeKeysIn(object) {\n var result = [];\n if (object != null) {\n for (var key in Object(object)) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = nativeKeysIn;\n","var freeGlobal = require('./_freeGlobal');\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Detect free variable `process` from Node.js. */\nvar freeProcess = moduleExports && freeGlobal.process;\n\n/** Used to access faster Node.js helpers. */\nvar nodeUtil = (function() {\n try {\n // Use `util.types` for Node.js 10+.\n var types = freeModule && freeModule.require && freeModule.require('util').types;\n\n if (types) {\n return types;\n }\n\n // Legacy `process.binding('util')` for Node.js < 10.\n return freeProcess && freeProcess.binding && freeProcess.binding('util');\n } catch (e) {}\n}());\n\nmodule.exports = nodeUtil;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\nmodule.exports = objectToString;\n","/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n}\n\nmodule.exports = overArg;\n","var apply = require('./_apply');\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max;\n\n/**\n * A specialized version of `baseRest` which transforms the rest array.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @param {Function} transform The rest array transform.\n * @returns {Function} Returns the new function.\n */\nfunction overRest(func, start, transform) {\n start = nativeMax(start === undefined ? (func.length - 1) : start, 0);\n return function() {\n var args = arguments,\n index = -1,\n length = nativeMax(args.length - start, 0),\n array = Array(length);\n\n while (++index < length) {\n array[index] = args[start + index];\n }\n index = -1;\n var otherArgs = Array(start + 1);\n while (++index < start) {\n otherArgs[index] = args[index];\n }\n otherArgs[start] = transform(array);\n return apply(func, this, otherArgs);\n };\n}\n\nmodule.exports = overRest;\n","var freeGlobal = require('./_freeGlobal');\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\nmodule.exports = root;\n","/**\n * Gets the value at `key`, unless `key` is \"__proto__\" or \"constructor\".\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction safeGet(object, key) {\n if (key === 'constructor' && typeof object[key] === 'function') {\n return;\n }\n\n if (key == '__proto__') {\n return;\n }\n\n return object[key];\n}\n\nmodule.exports = safeGet;\n","var baseSetToString = require('./_baseSetToString'),\n shortOut = require('./_shortOut');\n\n/**\n * Sets the `toString` method of `func` to return `string`.\n *\n * @private\n * @param {Function} func The function to modify.\n * @param {Function} string The `toString` result.\n * @returns {Function} Returns `func`.\n */\nvar setToString = shortOut(baseSetToString);\n\nmodule.exports = setToString;\n","/** Used to detect hot functions by number of calls within a span of milliseconds. */\nvar HOT_COUNT = 800,\n HOT_SPAN = 16;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeNow = Date.now;\n\n/**\n * Creates a function that'll short out and invoke `identity` instead\n * of `func` when it's called `HOT_COUNT` or more times in `HOT_SPAN`\n * milliseconds.\n *\n * @private\n * @param {Function} func The function to restrict.\n * @returns {Function} Returns the new shortable function.\n */\nfunction shortOut(func) {\n var count = 0,\n lastCalled = 0;\n\n return function() {\n var stamp = nativeNow(),\n remaining = HOT_SPAN - (stamp - lastCalled);\n\n lastCalled = stamp;\n if (remaining > 0) {\n if (++count >= HOT_COUNT) {\n return arguments[0];\n }\n } else {\n count = 0;\n }\n return func.apply(undefined, arguments);\n };\n}\n\nmodule.exports = shortOut;\n","var ListCache = require('./_ListCache');\n\n/**\n * Removes all key-value entries from the stack.\n *\n * @private\n * @name clear\n * @memberOf Stack\n */\nfunction stackClear() {\n this.__data__ = new ListCache;\n this.size = 0;\n}\n\nmodule.exports = stackClear;\n","/**\n * Removes `key` and its value from the stack.\n *\n * @private\n * @name delete\n * @memberOf Stack\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction stackDelete(key) {\n var data = this.__data__,\n result = data['delete'](key);\n\n this.size = data.size;\n return result;\n}\n\nmodule.exports = stackDelete;\n","/**\n * Gets the stack value for `key`.\n *\n * @private\n * @name get\n * @memberOf Stack\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction stackGet(key) {\n return this.__data__.get(key);\n}\n\nmodule.exports = stackGet;\n","/**\n * Checks if a stack value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Stack\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction stackHas(key) {\n return this.__data__.has(key);\n}\n\nmodule.exports = stackHas;\n","var ListCache = require('./_ListCache'),\n Map = require('./_Map'),\n MapCache = require('./_MapCache');\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/**\n * Sets the stack `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Stack\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the stack cache instance.\n */\nfunction stackSet(key, value) {\n var data = this.__data__;\n if (data instanceof ListCache) {\n var pairs = data.__data__;\n if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {\n pairs.push([key, value]);\n this.size = ++data.size;\n return this;\n }\n data = this.__data__ = new MapCache(pairs);\n }\n data.set(key, value);\n this.size = data.size;\n return this;\n}\n\nmodule.exports = stackSet;\n","/** Used for built-in method references. */\nvar funcProto = Function.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to convert.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\nmodule.exports = toSource;\n","/**\n * Creates a function that returns `value`.\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Util\n * @param {*} value The value to return from the new function.\n * @returns {Function} Returns the new constant function.\n * @example\n *\n * var objects = _.times(2, _.constant({ 'a': 1 }));\n *\n * console.log(objects);\n * // => [{ 'a': 1 }, { 'a': 1 }]\n *\n * console.log(objects[0] === objects[1]);\n * // => true\n */\nfunction constant(value) {\n return function() {\n return value;\n };\n}\n\nmodule.exports = constant;\n","/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\nmodule.exports = eq;\n","/**\n * This method returns the first argument it receives.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'a': 1 };\n *\n * console.log(_.identity(object) === object);\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\nmodule.exports = identity;\n","var baseIsArguments = require('./_baseIsArguments'),\n isObjectLike = require('./isObjectLike');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Built-in value references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nvar isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) {\n return isObjectLike(value) && hasOwnProperty.call(value, 'callee') &&\n !propertyIsEnumerable.call(value, 'callee');\n};\n\nmodule.exports = isArguments;\n","/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\nmodule.exports = isArray;\n","var isFunction = require('./isFunction'),\n isLength = require('./isLength');\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n\nmodule.exports = isArrayLike;\n","var isArrayLike = require('./isArrayLike'),\n isObjectLike = require('./isObjectLike');\n\n/**\n * This method is like `_.isArrayLike` except that it also checks if `value`\n * is an object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array-like object,\n * else `false`.\n * @example\n *\n * _.isArrayLikeObject([1, 2, 3]);\n * // => true\n *\n * _.isArrayLikeObject(document.body.children);\n * // => true\n *\n * _.isArrayLikeObject('abc');\n * // => false\n *\n * _.isArrayLikeObject(_.noop);\n * // => false\n */\nfunction isArrayLikeObject(value) {\n return isObjectLike(value) && isArrayLike(value);\n}\n\nmodule.exports = isArrayLikeObject;\n","var root = require('./_root'),\n stubFalse = require('./stubFalse');\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined;\n\n/**\n * Checks if `value` is a buffer.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.\n * @example\n *\n * _.isBuffer(new Buffer(2));\n * // => true\n *\n * _.isBuffer(new Uint8Array(2));\n * // => false\n */\nvar isBuffer = nativeIsBuffer || stubFalse;\n\nmodule.exports = isBuffer;\n","var baseKeys = require('./_baseKeys'),\n getTag = require('./_getTag'),\n isArguments = require('./isArguments'),\n isArray = require('./isArray'),\n isArrayLike = require('./isArrayLike'),\n isBuffer = require('./isBuffer'),\n isPrototype = require('./_isPrototype'),\n isTypedArray = require('./isTypedArray');\n\n/** `Object#toString` result references. */\nvar mapTag = '[object Map]',\n setTag = '[object Set]';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Checks if `value` is an empty object, collection, map, or set.\n *\n * Objects are considered empty if they have no own enumerable string keyed\n * properties.\n *\n * Array-like values such as `arguments` objects, arrays, buffers, strings, or\n * jQuery-like collections are considered empty if they have a `length` of `0`.\n * Similarly, maps and sets are considered empty if they have a `size` of `0`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is empty, else `false`.\n * @example\n *\n * _.isEmpty(null);\n * // => true\n *\n * _.isEmpty(true);\n * // => true\n *\n * _.isEmpty(1);\n * // => true\n *\n * _.isEmpty([1, 2, 3]);\n * // => false\n *\n * _.isEmpty({ 'a': 1 });\n * // => false\n */\nfunction isEmpty(value) {\n if (value == null) {\n return true;\n }\n if (isArrayLike(value) &&\n (isArray(value) || typeof value == 'string' || typeof value.splice == 'function' ||\n isBuffer(value) || isTypedArray(value) || isArguments(value))) {\n return !value.length;\n }\n var tag = getTag(value);\n if (tag == mapTag || tag == setTag) {\n return !value.size;\n }\n if (isPrototype(value)) {\n return !baseKeys(value).length;\n }\n for (var key in value) {\n if (hasOwnProperty.call(value, key)) {\n return false;\n }\n }\n return true;\n}\n\nmodule.exports = isEmpty;\n","var baseGetTag = require('./_baseGetTag'),\n isObject = require('./isObject');\n\n/** `Object#toString` result references. */\nvar asyncTag = '[object AsyncFunction]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n proxyTag = '[object Proxy]';\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n if (!isObject(value)) {\n return false;\n }\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 9 which returns 'object' for typed arrays and other constructors.\n var tag = baseGetTag(value);\n return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;\n}\n\nmodule.exports = isFunction;\n","/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\nmodule.exports = isLength;\n","/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n}\n\nmodule.exports = isObject;\n","/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\nmodule.exports = isObjectLike;\n","var baseGetTag = require('./_baseGetTag'),\n getPrototype = require('./_getPrototype'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar objectTag = '[object Object]';\n\n/** Used for built-in method references. */\nvar funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to infer the `Object` constructor. */\nvar objectCtorString = funcToString.call(Object);\n\n/**\n * Checks if `value` is a plain object, that is, an object created by the\n * `Object` constructor or one with a `[[Prototype]]` of `null`.\n *\n * @static\n * @memberOf _\n * @since 0.8.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a plain object, else `false`.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * }\n *\n * _.isPlainObject(new Foo);\n * // => false\n *\n * _.isPlainObject([1, 2, 3]);\n * // => false\n *\n * _.isPlainObject({ 'x': 0, 'y': 0 });\n * // => true\n *\n * _.isPlainObject(Object.create(null));\n * // => true\n */\nfunction isPlainObject(value) {\n if (!isObjectLike(value) || baseGetTag(value) != objectTag) {\n return false;\n }\n var proto = getPrototype(value);\n if (proto === null) {\n return true;\n }\n var Ctor = hasOwnProperty.call(proto, 'constructor') && proto.constructor;\n return typeof Ctor == 'function' && Ctor instanceof Ctor &&\n funcToString.call(Ctor) == objectCtorString;\n}\n\nmodule.exports = isPlainObject;\n","var baseIsTypedArray = require('./_baseIsTypedArray'),\n baseUnary = require('./_baseUnary'),\n nodeUtil = require('./_nodeUtil');\n\n/* Node.js helper references. */\nvar nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nvar isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;\n\nmodule.exports = isTypedArray;\n","var arrayLikeKeys = require('./_arrayLikeKeys'),\n baseKeysIn = require('./_baseKeysIn'),\n isArrayLike = require('./isArrayLike');\n\n/**\n * Creates an array of the own and inherited enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keysIn(new Foo);\n * // => ['a', 'b', 'c'] (iteration order is not guaranteed)\n */\nfunction keysIn(object) {\n return isArrayLike(object) ? arrayLikeKeys(object, true) : baseKeysIn(object);\n}\n\nmodule.exports = keysIn;\n","var baseMerge = require('./_baseMerge'),\n createAssigner = require('./_createAssigner');\n\n/**\n * This method is like `_.assign` except that it recursively merges own and\n * inherited enumerable string keyed properties of source objects into the\n * destination object. Source properties that resolve to `undefined` are\n * skipped if a destination value exists. Array and plain object properties\n * are merged recursively. Other objects and value types are overridden by\n * assignment. Source objects are applied from left to right. Subsequent\n * sources overwrite property assignments of previous sources.\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 0.5.0\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} [sources] The source objects.\n * @returns {Object} Returns `object`.\n * @example\n *\n * var object = {\n * 'a': [{ 'b': 2 }, { 'd': 4 }]\n * };\n *\n * var other = {\n * 'a': [{ 'c': 3 }, { 'e': 5 }]\n * };\n *\n * _.merge(object, other);\n * // => { 'a': [{ 'b': 2, 'c': 3 }, { 'd': 4, 'e': 5 }] }\n */\nvar merge = createAssigner(function(object, source, srcIndex) {\n baseMerge(object, source, srcIndex);\n});\n\nmodule.exports = merge;\n","/**\n * This method returns `false`.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {boolean} Returns `false`.\n * @example\n *\n * _.times(2, _.stubFalse);\n * // => [false, false]\n */\nfunction stubFalse() {\n return false;\n}\n\nmodule.exports = stubFalse;\n","var copyObject = require('./_copyObject'),\n keysIn = require('./keysIn');\n\n/**\n * Converts `value` to a plain object flattening inherited enumerable string\n * keyed properties of `value` to own properties of the plain object.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {Object} Returns the converted plain object.\n * @example\n *\n * function Foo() {\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.assign({ 'a': 1 }, new Foo);\n * // => { 'a': 1, 'b': 2 }\n *\n * _.assign({ 'a': 1 }, _.toPlainObject(new Foo));\n * // => { 'a': 1, 'b': 2, 'c': 3 }\n */\nfunction toPlainObject(value) {\n return copyObject(value, keysIn(value));\n}\n\nmodule.exports = toPlainObject;\n","//! moment.js\n//! version : 2.30.1\n//! authors : Tim Wood, Iskren Chernev, Moment.js contributors\n//! license : MIT\n//! momentjs.com\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n typeof define === 'function' && define.amd ? define(factory) :\n global.moment = factory()\n}(this, (function () { 'use strict';\n\n var hookCallback;\n\n function hooks() {\n return hookCallback.apply(null, arguments);\n }\n\n // This is done to register the method called with moment()\n // without creating circular dependencies.\n function setHookCallback(callback) {\n hookCallback = callback;\n }\n\n function isArray(input) {\n return (\n input instanceof Array ||\n Object.prototype.toString.call(input) === '[object Array]'\n );\n }\n\n function isObject(input) {\n // IE8 will treat undefined and null as object if it wasn't for\n // input != null\n return (\n input != null &&\n Object.prototype.toString.call(input) === '[object Object]'\n );\n }\n\n function hasOwnProp(a, b) {\n return Object.prototype.hasOwnProperty.call(a, b);\n }\n\n function isObjectEmpty(obj) {\n if (Object.getOwnPropertyNames) {\n return Object.getOwnPropertyNames(obj).length === 0;\n } else {\n var k;\n for (k in obj) {\n if (hasOwnProp(obj, k)) {\n return false;\n }\n }\n return true;\n }\n }\n\n function isUndefined(input) {\n return input === void 0;\n }\n\n function isNumber(input) {\n return (\n typeof input === 'number' ||\n Object.prototype.toString.call(input) === '[object Number]'\n );\n }\n\n function isDate(input) {\n return (\n input instanceof Date ||\n Object.prototype.toString.call(input) === '[object Date]'\n );\n }\n\n function map(arr, fn) {\n var res = [],\n i,\n arrLen = arr.length;\n for (i = 0; i < arrLen; ++i) {\n res.push(fn(arr[i], i));\n }\n return res;\n }\n\n function extend(a, b) {\n for (var i in b) {\n if (hasOwnProp(b, i)) {\n a[i] = b[i];\n }\n }\n\n if (hasOwnProp(b, 'toString')) {\n a.toString = b.toString;\n }\n\n if (hasOwnProp(b, 'valueOf')) {\n a.valueOf = b.valueOf;\n }\n\n return a;\n }\n\n function createUTC(input, format, locale, strict) {\n return createLocalOrUTC(input, format, locale, strict, true).utc();\n }\n\n function defaultParsingFlags() {\n // We need to deep clone this object.\n return {\n empty: false,\n unusedTokens: [],\n unusedInput: [],\n overflow: -2,\n charsLeftOver: 0,\n nullInput: false,\n invalidEra: null,\n invalidMonth: null,\n invalidFormat: false,\n userInvalidated: false,\n iso: false,\n parsedDateParts: [],\n era: null,\n meridiem: null,\n rfc2822: false,\n weekdayMismatch: false,\n };\n }\n\n function getParsingFlags(m) {\n if (m._pf == null) {\n m._pf = defaultParsingFlags();\n }\n return m._pf;\n }\n\n var some;\n if (Array.prototype.some) {\n some = Array.prototype.some;\n } else {\n some = function (fun) {\n var t = Object(this),\n len = t.length >>> 0,\n i;\n\n for (i = 0; i < len; i++) {\n if (i in t && fun.call(this, t[i], i, t)) {\n return true;\n }\n }\n\n return false;\n };\n }\n\n function isValid(m) {\n var flags = null,\n parsedParts = false,\n isNowValid = m._d && !isNaN(m._d.getTime());\n if (isNowValid) {\n flags = getParsingFlags(m);\n parsedParts = some.call(flags.parsedDateParts, function (i) {\n return i != null;\n });\n isNowValid =\n flags.overflow < 0 &&\n !flags.empty &&\n !flags.invalidEra &&\n !flags.invalidMonth &&\n !flags.invalidWeekday &&\n !flags.weekdayMismatch &&\n !flags.nullInput &&\n !flags.invalidFormat &&\n !flags.userInvalidated &&\n (!flags.meridiem || (flags.meridiem && parsedParts));\n if (m._strict) {\n isNowValid =\n isNowValid &&\n flags.charsLeftOver === 0 &&\n flags.unusedTokens.length === 0 &&\n flags.bigHour === undefined;\n }\n }\n if (Object.isFrozen == null || !Object.isFrozen(m)) {\n m._isValid = isNowValid;\n } else {\n return isNowValid;\n }\n return m._isValid;\n }\n\n function createInvalid(flags) {\n var m = createUTC(NaN);\n if (flags != null) {\n extend(getParsingFlags(m), flags);\n } else {\n getParsingFlags(m).userInvalidated = true;\n }\n\n return m;\n }\n\n // Plugins that add properties should also add the key here (null value),\n // so we can properly clone ourselves.\n var momentProperties = (hooks.momentProperties = []),\n updateInProgress = false;\n\n function copyConfig(to, from) {\n var i,\n prop,\n val,\n momentPropertiesLen = momentProperties.length;\n\n if (!isUndefined(from._isAMomentObject)) {\n to._isAMomentObject = from._isAMomentObject;\n }\n if (!isUndefined(from._i)) {\n to._i = from._i;\n }\n if (!isUndefined(from._f)) {\n to._f = from._f;\n }\n if (!isUndefined(from._l)) {\n to._l = from._l;\n }\n if (!isUndefined(from._strict)) {\n to._strict = from._strict;\n }\n if (!isUndefined(from._tzm)) {\n to._tzm = from._tzm;\n }\n if (!isUndefined(from._isUTC)) {\n to._isUTC = from._isUTC;\n }\n if (!isUndefined(from._offset)) {\n to._offset = from._offset;\n }\n if (!isUndefined(from._pf)) {\n to._pf = getParsingFlags(from);\n }\n if (!isUndefined(from._locale)) {\n to._locale = from._locale;\n }\n\n if (momentPropertiesLen > 0) {\n for (i = 0; i < momentPropertiesLen; i++) {\n prop = momentProperties[i];\n val = from[prop];\n if (!isUndefined(val)) {\n to[prop] = val;\n }\n }\n }\n\n return to;\n }\n\n // Moment prototype object\n function Moment(config) {\n copyConfig(this, config);\n this._d = new Date(config._d != null ? config._d.getTime() : NaN);\n if (!this.isValid()) {\n this._d = new Date(NaN);\n }\n // Prevent infinite loop in case updateOffset creates new moment\n // objects.\n if (updateInProgress === false) {\n updateInProgress = true;\n hooks.updateOffset(this);\n updateInProgress = false;\n }\n }\n\n function isMoment(obj) {\n return (\n obj instanceof Moment || (obj != null && obj._isAMomentObject != null)\n );\n }\n\n function warn(msg) {\n if (\n hooks.suppressDeprecationWarnings === false &&\n typeof console !== 'undefined' &&\n console.warn\n ) {\n console.warn('Deprecation warning: ' + msg);\n }\n }\n\n function deprecate(msg, fn) {\n var firstTime = true;\n\n return extend(function () {\n if (hooks.deprecationHandler != null) {\n hooks.deprecationHandler(null, msg);\n }\n if (firstTime) {\n var args = [],\n arg,\n i,\n key,\n argLen = arguments.length;\n for (i = 0; i < argLen; i++) {\n arg = '';\n if (typeof arguments[i] === 'object') {\n arg += '\\n[' + i + '] ';\n for (key in arguments[0]) {\n if (hasOwnProp(arguments[0], key)) {\n arg += key + ': ' + arguments[0][key] + ', ';\n }\n }\n arg = arg.slice(0, -2); // Remove trailing comma and space\n } else {\n arg = arguments[i];\n }\n args.push(arg);\n }\n warn(\n msg +\n '\\nArguments: ' +\n Array.prototype.slice.call(args).join('') +\n '\\n' +\n new Error().stack\n );\n firstTime = false;\n }\n return fn.apply(this, arguments);\n }, fn);\n }\n\n var deprecations = {};\n\n function deprecateSimple(name, msg) {\n if (hooks.deprecationHandler != null) {\n hooks.deprecationHandler(name, msg);\n }\n if (!deprecations[name]) {\n warn(msg);\n deprecations[name] = true;\n }\n }\n\n hooks.suppressDeprecationWarnings = false;\n hooks.deprecationHandler = null;\n\n function isFunction(input) {\n return (\n (typeof Function !== 'undefined' && input instanceof Function) ||\n Object.prototype.toString.call(input) === '[object Function]'\n );\n }\n\n function set(config) {\n var prop, i;\n for (i in config) {\n if (hasOwnProp(config, i)) {\n prop = config[i];\n if (isFunction(prop)) {\n this[i] = prop;\n } else {\n this['_' + i] = prop;\n }\n }\n }\n this._config = config;\n // Lenient ordinal parsing accepts just a number in addition to\n // number + (possibly) stuff coming from _dayOfMonthOrdinalParse.\n // TODO: Remove \"ordinalParse\" fallback in next major release.\n this._dayOfMonthOrdinalParseLenient = new RegExp(\n (this._dayOfMonthOrdinalParse.source || this._ordinalParse.source) +\n '|' +\n /\\d{1,2}/.source\n );\n }\n\n function mergeConfigs(parentConfig, childConfig) {\n var res = extend({}, parentConfig),\n prop;\n for (prop in childConfig) {\n if (hasOwnProp(childConfig, prop)) {\n if (isObject(parentConfig[prop]) && isObject(childConfig[prop])) {\n res[prop] = {};\n extend(res[prop], parentConfig[prop]);\n extend(res[prop], childConfig[prop]);\n } else if (childConfig[prop] != null) {\n res[prop] = childConfig[prop];\n } else {\n delete res[prop];\n }\n }\n }\n for (prop in parentConfig) {\n if (\n hasOwnProp(parentConfig, prop) &&\n !hasOwnProp(childConfig, prop) &&\n isObject(parentConfig[prop])\n ) {\n // make sure changes to properties don't modify parent config\n res[prop] = extend({}, res[prop]);\n }\n }\n return res;\n }\n\n function Locale(config) {\n if (config != null) {\n this.set(config);\n }\n }\n\n var keys;\n\n if (Object.keys) {\n keys = Object.keys;\n } else {\n keys = function (obj) {\n var i,\n res = [];\n for (i in obj) {\n if (hasOwnProp(obj, i)) {\n res.push(i);\n }\n }\n return res;\n };\n }\n\n var defaultCalendar = {\n sameDay: '[Today at] LT',\n nextDay: '[Tomorrow at] LT',\n nextWeek: 'dddd [at] LT',\n lastDay: '[Yesterday at] LT',\n lastWeek: '[Last] dddd [at] LT',\n sameElse: 'L',\n };\n\n function calendar(key, mom, now) {\n var output = this._calendar[key] || this._calendar['sameElse'];\n return isFunction(output) ? output.call(mom, now) : output;\n }\n\n function zeroFill(number, targetLength, forceSign) {\n var absNumber = '' + Math.abs(number),\n zerosToFill = targetLength - absNumber.length,\n sign = number >= 0;\n return (\n (sign ? (forceSign ? '+' : '') : '-') +\n Math.pow(10, Math.max(0, zerosToFill)).toString().substr(1) +\n absNumber\n );\n }\n\n var formattingTokens =\n /(\\[[^\\[]*\\])|(\\\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|N{1,5}|YYYYYY|YYYYY|YYYY|YY|y{2,4}|yo?|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,\n localFormattingTokens = /(\\[[^\\[]*\\])|(\\\\)?(LTS|LT|LL?L?L?|l{1,4})/g,\n formatFunctions = {},\n formatTokenFunctions = {};\n\n // token: 'M'\n // padded: ['MM', 2]\n // ordinal: 'Mo'\n // callback: function () { this.month() + 1 }\n function addFormatToken(token, padded, ordinal, callback) {\n var func = callback;\n if (typeof callback === 'string') {\n func = function () {\n return this[callback]();\n };\n }\n if (token) {\n formatTokenFunctions[token] = func;\n }\n if (padded) {\n formatTokenFunctions[padded[0]] = function () {\n return zeroFill(func.apply(this, arguments), padded[1], padded[2]);\n };\n }\n if (ordinal) {\n formatTokenFunctions[ordinal] = function () {\n return this.localeData().ordinal(\n func.apply(this, arguments),\n token\n );\n };\n }\n }\n\n function removeFormattingTokens(input) {\n if (input.match(/\\[[\\s\\S]/)) {\n return input.replace(/^\\[|\\]$/g, '');\n }\n return input.replace(/\\\\/g, '');\n }\n\n function makeFormatFunction(format) {\n var array = format.match(formattingTokens),\n i,\n length;\n\n for (i = 0, length = array.length; i < length; i++) {\n if (formatTokenFunctions[array[i]]) {\n array[i] = formatTokenFunctions[array[i]];\n } else {\n array[i] = removeFormattingTokens(array[i]);\n }\n }\n\n return function (mom) {\n var output = '',\n i;\n for (i = 0; i < length; i++) {\n output += isFunction(array[i])\n ? array[i].call(mom, format)\n : array[i];\n }\n return output;\n };\n }\n\n // format date using native date object\n function formatMoment(m, format) {\n if (!m.isValid()) {\n return m.localeData().invalidDate();\n }\n\n format = expandFormat(format, m.localeData());\n formatFunctions[format] =\n formatFunctions[format] || makeFormatFunction(format);\n\n return formatFunctions[format](m);\n }\n\n function expandFormat(format, locale) {\n var i = 5;\n\n function replaceLongDateFormatTokens(input) {\n return locale.longDateFormat(input) || input;\n }\n\n localFormattingTokens.lastIndex = 0;\n while (i >= 0 && localFormattingTokens.test(format)) {\n format = format.replace(\n localFormattingTokens,\n replaceLongDateFormatTokens\n );\n localFormattingTokens.lastIndex = 0;\n i -= 1;\n }\n\n return format;\n }\n\n var defaultLongDateFormat = {\n LTS: 'h:mm:ss A',\n LT: 'h:mm A',\n L: 'MM/DD/YYYY',\n LL: 'MMMM D, YYYY',\n LLL: 'MMMM D, YYYY h:mm A',\n LLLL: 'dddd, MMMM D, YYYY h:mm A',\n };\n\n function longDateFormat(key) {\n var format = this._longDateFormat[key],\n formatUpper = this._longDateFormat[key.toUpperCase()];\n\n if (format || !formatUpper) {\n return format;\n }\n\n this._longDateFormat[key] = formatUpper\n .match(formattingTokens)\n .map(function (tok) {\n if (\n tok === 'MMMM' ||\n tok === 'MM' ||\n tok === 'DD' ||\n tok === 'dddd'\n ) {\n return tok.slice(1);\n }\n return tok;\n })\n .join('');\n\n return this._longDateFormat[key];\n }\n\n var defaultInvalidDate = 'Invalid date';\n\n function invalidDate() {\n return this._invalidDate;\n }\n\n var defaultOrdinal = '%d',\n defaultDayOfMonthOrdinalParse = /\\d{1,2}/;\n\n function ordinal(number) {\n return this._ordinal.replace('%d', number);\n }\n\n var defaultRelativeTime = {\n future: 'in %s',\n past: '%s ago',\n s: 'a few seconds',\n ss: '%d seconds',\n m: 'a minute',\n mm: '%d minutes',\n h: 'an hour',\n hh: '%d hours',\n d: 'a day',\n dd: '%d days',\n w: 'a week',\n ww: '%d weeks',\n M: 'a month',\n MM: '%d months',\n y: 'a year',\n yy: '%d years',\n };\n\n function relativeTime(number, withoutSuffix, string, isFuture) {\n var output = this._relativeTime[string];\n return isFunction(output)\n ? output(number, withoutSuffix, string, isFuture)\n : output.replace(/%d/i, number);\n }\n\n function pastFuture(diff, output) {\n var format = this._relativeTime[diff > 0 ? 'future' : 'past'];\n return isFunction(format) ? format(output) : format.replace(/%s/i, output);\n }\n\n var aliases = {\n D: 'date',\n dates: 'date',\n date: 'date',\n d: 'day',\n days: 'day',\n day: 'day',\n e: 'weekday',\n weekdays: 'weekday',\n weekday: 'weekday',\n E: 'isoWeekday',\n isoweekdays: 'isoWeekday',\n isoweekday: 'isoWeekday',\n DDD: 'dayOfYear',\n dayofyears: 'dayOfYear',\n dayofyear: 'dayOfYear',\n h: 'hour',\n hours: 'hour',\n hour: 'hour',\n ms: 'millisecond',\n milliseconds: 'millisecond',\n millisecond: 'millisecond',\n m: 'minute',\n minutes: 'minute',\n minute: 'minute',\n M: 'month',\n months: 'month',\n month: 'month',\n Q: 'quarter',\n quarters: 'quarter',\n quarter: 'quarter',\n s: 'second',\n seconds: 'second',\n second: 'second',\n gg: 'weekYear',\n weekyears: 'weekYear',\n weekyear: 'weekYear',\n GG: 'isoWeekYear',\n isoweekyears: 'isoWeekYear',\n isoweekyear: 'isoWeekYear',\n w: 'week',\n weeks: 'week',\n week: 'week',\n W: 'isoWeek',\n isoweeks: 'isoWeek',\n isoweek: 'isoWeek',\n y: 'year',\n years: 'year',\n year: 'year',\n };\n\n function normalizeUnits(units) {\n return typeof units === 'string'\n ? aliases[units] || aliases[units.toLowerCase()]\n : undefined;\n }\n\n function normalizeObjectUnits(inputObject) {\n var normalizedInput = {},\n normalizedProp,\n prop;\n\n for (prop in inputObject) {\n if (hasOwnProp(inputObject, prop)) {\n normalizedProp = normalizeUnits(prop);\n if (normalizedProp) {\n normalizedInput[normalizedProp] = inputObject[prop];\n }\n }\n }\n\n return normalizedInput;\n }\n\n var priorities = {\n date: 9,\n day: 11,\n weekday: 11,\n isoWeekday: 11,\n dayOfYear: 4,\n hour: 13,\n millisecond: 16,\n minute: 14,\n month: 8,\n quarter: 7,\n second: 15,\n weekYear: 1,\n isoWeekYear: 1,\n week: 5,\n isoWeek: 5,\n year: 1,\n };\n\n function getPrioritizedUnits(unitsObj) {\n var units = [],\n u;\n for (u in unitsObj) {\n if (hasOwnProp(unitsObj, u)) {\n units.push({ unit: u, priority: priorities[u] });\n }\n }\n units.sort(function (a, b) {\n return a.priority - b.priority;\n });\n return units;\n }\n\n var match1 = /\\d/, // 0 - 9\n match2 = /\\d\\d/, // 00 - 99\n match3 = /\\d{3}/, // 000 - 999\n match4 = /\\d{4}/, // 0000 - 9999\n match6 = /[+-]?\\d{6}/, // -999999 - 999999\n match1to2 = /\\d\\d?/, // 0 - 99\n match3to4 = /\\d\\d\\d\\d?/, // 999 - 9999\n match5to6 = /\\d\\d\\d\\d\\d\\d?/, // 99999 - 999999\n match1to3 = /\\d{1,3}/, // 0 - 999\n match1to4 = /\\d{1,4}/, // 0 - 9999\n match1to6 = /[+-]?\\d{1,6}/, // -999999 - 999999\n matchUnsigned = /\\d+/, // 0 - inf\n matchSigned = /[+-]?\\d+/, // -inf - inf\n matchOffset = /Z|[+-]\\d\\d:?\\d\\d/gi, // +00:00 -00:00 +0000 -0000 or Z\n matchShortOffset = /Z|[+-]\\d\\d(?::?\\d\\d)?/gi, // +00 -00 +00:00 -00:00 +0000 -0000 or Z\n matchTimestamp = /[+-]?\\d+(\\.\\d{1,3})?/, // 123456789 123456789.123\n // any word (or two) characters or numbers including two/three word month in arabic.\n // includes scottish gaelic two word and hyphenated months\n matchWord =\n /[0-9]{0,256}['a-z\\u00A0-\\u05FF\\u0700-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFF07\\uFF10-\\uFFEF]{1,256}|[\\u0600-\\u06FF\\/]{1,256}(\\s*?[\\u0600-\\u06FF]{1,256}){1,2}/i,\n match1to2NoLeadingZero = /^[1-9]\\d?/, // 1-99\n match1to2HasZero = /^([1-9]\\d|\\d)/, // 0-99\n regexes;\n\n regexes = {};\n\n function addRegexToken(token, regex, strictRegex) {\n regexes[token] = isFunction(regex)\n ? regex\n : function (isStrict, localeData) {\n return isStrict && strictRegex ? strictRegex : regex;\n };\n }\n\n function getParseRegexForToken(token, config) {\n if (!hasOwnProp(regexes, token)) {\n return new RegExp(unescapeFormat(token));\n }\n\n return regexes[token](config._strict, config._locale);\n }\n\n // Code from http://stackoverflow.com/questions/3561493/is-there-a-regexp-escape-function-in-javascript\n function unescapeFormat(s) {\n return regexEscape(\n s\n .replace('\\\\', '')\n .replace(\n /\\\\(\\[)|\\\\(\\])|\\[([^\\]\\[]*)\\]|\\\\(.)/g,\n function (matched, p1, p2, p3, p4) {\n return p1 || p2 || p3 || p4;\n }\n )\n );\n }\n\n function regexEscape(s) {\n return s.replace(/[-\\/\\\\^$*+?.()|[\\]{}]/g, '\\\\$&');\n }\n\n function absFloor(number) {\n if (number < 0) {\n // -0 -> 0\n return Math.ceil(number) || 0;\n } else {\n return Math.floor(number);\n }\n }\n\n function toInt(argumentForCoercion) {\n var coercedNumber = +argumentForCoercion,\n value = 0;\n\n if (coercedNumber !== 0 && isFinite(coercedNumber)) {\n value = absFloor(coercedNumber);\n }\n\n return value;\n }\n\n var tokens = {};\n\n function addParseToken(token, callback) {\n var i,\n func = callback,\n tokenLen;\n if (typeof token === 'string') {\n token = [token];\n }\n if (isNumber(callback)) {\n func = function (input, array) {\n array[callback] = toInt(input);\n };\n }\n tokenLen = token.length;\n for (i = 0; i < tokenLen; i++) {\n tokens[token[i]] = func;\n }\n }\n\n function addWeekParseToken(token, callback) {\n addParseToken(token, function (input, array, config, token) {\n config._w = config._w || {};\n callback(input, config._w, config, token);\n });\n }\n\n function addTimeToArrayFromToken(token, input, config) {\n if (input != null && hasOwnProp(tokens, token)) {\n tokens[token](input, config._a, config, token);\n }\n }\n\n function isLeapYear(year) {\n return (year % 4 === 0 && year % 100 !== 0) || year % 400 === 0;\n }\n\n var YEAR = 0,\n MONTH = 1,\n DATE = 2,\n HOUR = 3,\n MINUTE = 4,\n SECOND = 5,\n MILLISECOND = 6,\n WEEK = 7,\n WEEKDAY = 8;\n\n // FORMATTING\n\n addFormatToken('Y', 0, 0, function () {\n var y = this.year();\n return y <= 9999 ? zeroFill(y, 4) : '+' + y;\n });\n\n addFormatToken(0, ['YY', 2], 0, function () {\n return this.year() % 100;\n });\n\n addFormatToken(0, ['YYYY', 4], 0, 'year');\n addFormatToken(0, ['YYYYY', 5], 0, 'year');\n addFormatToken(0, ['YYYYYY', 6, true], 0, 'year');\n\n // PARSING\n\n addRegexToken('Y', matchSigned);\n addRegexToken('YY', match1to2, match2);\n addRegexToken('YYYY', match1to4, match4);\n addRegexToken('YYYYY', match1to6, match6);\n addRegexToken('YYYYYY', match1to6, match6);\n\n addParseToken(['YYYYY', 'YYYYYY'], YEAR);\n addParseToken('YYYY', function (input, array) {\n array[YEAR] =\n input.length === 2 ? hooks.parseTwoDigitYear(input) : toInt(input);\n });\n addParseToken('YY', function (input, array) {\n array[YEAR] = hooks.parseTwoDigitYear(input);\n });\n addParseToken('Y', function (input, array) {\n array[YEAR] = parseInt(input, 10);\n });\n\n // HELPERS\n\n function daysInYear(year) {\n return isLeapYear(year) ? 366 : 365;\n }\n\n // HOOKS\n\n hooks.parseTwoDigitYear = function (input) {\n return toInt(input) + (toInt(input) > 68 ? 1900 : 2000);\n };\n\n // MOMENTS\n\n var getSetYear = makeGetSet('FullYear', true);\n\n function getIsLeapYear() {\n return isLeapYear(this.year());\n }\n\n function makeGetSet(unit, keepTime) {\n return function (value) {\n if (value != null) {\n set$1(this, unit, value);\n hooks.updateOffset(this, keepTime);\n return this;\n } else {\n return get(this, unit);\n }\n };\n }\n\n function get(mom, unit) {\n if (!mom.isValid()) {\n return NaN;\n }\n\n var d = mom._d,\n isUTC = mom._isUTC;\n\n switch (unit) {\n case 'Milliseconds':\n return isUTC ? d.getUTCMilliseconds() : d.getMilliseconds();\n case 'Seconds':\n return isUTC ? d.getUTCSeconds() : d.getSeconds();\n case 'Minutes':\n return isUTC ? d.getUTCMinutes() : d.getMinutes();\n case 'Hours':\n return isUTC ? d.getUTCHours() : d.getHours();\n case 'Date':\n return isUTC ? d.getUTCDate() : d.getDate();\n case 'Day':\n return isUTC ? d.getUTCDay() : d.getDay();\n case 'Month':\n return isUTC ? d.getUTCMonth() : d.getMonth();\n case 'FullYear':\n return isUTC ? d.getUTCFullYear() : d.getFullYear();\n default:\n return NaN; // Just in case\n }\n }\n\n function set$1(mom, unit, value) {\n var d, isUTC, year, month, date;\n\n if (!mom.isValid() || isNaN(value)) {\n return;\n }\n\n d = mom._d;\n isUTC = mom._isUTC;\n\n switch (unit) {\n case 'Milliseconds':\n return void (isUTC\n ? d.setUTCMilliseconds(value)\n : d.setMilliseconds(value));\n case 'Seconds':\n return void (isUTC ? d.setUTCSeconds(value) : d.setSeconds(value));\n case 'Minutes':\n return void (isUTC ? d.setUTCMinutes(value) : d.setMinutes(value));\n case 'Hours':\n return void (isUTC ? d.setUTCHours(value) : d.setHours(value));\n case 'Date':\n return void (isUTC ? d.setUTCDate(value) : d.setDate(value));\n // case 'Day': // Not real\n // return void (isUTC ? d.setUTCDay(value) : d.setDay(value));\n // case 'Month': // Not used because we need to pass two variables\n // return void (isUTC ? d.setUTCMonth(value) : d.setMonth(value));\n case 'FullYear':\n break; // See below ...\n default:\n return; // Just in case\n }\n\n year = value;\n month = mom.month();\n date = mom.date();\n date = date === 29 && month === 1 && !isLeapYear(year) ? 28 : date;\n void (isUTC\n ? d.setUTCFullYear(year, month, date)\n : d.setFullYear(year, month, date));\n }\n\n // MOMENTS\n\n function stringGet(units) {\n units = normalizeUnits(units);\n if (isFunction(this[units])) {\n return this[units]();\n }\n return this;\n }\n\n function stringSet(units, value) {\n if (typeof units === 'object') {\n units = normalizeObjectUnits(units);\n var prioritized = getPrioritizedUnits(units),\n i,\n prioritizedLen = prioritized.length;\n for (i = 0; i < prioritizedLen; i++) {\n this[prioritized[i].unit](units[prioritized[i].unit]);\n }\n } else {\n units = normalizeUnits(units);\n if (isFunction(this[units])) {\n return this[units](value);\n }\n }\n return this;\n }\n\n function mod(n, x) {\n return ((n % x) + x) % x;\n }\n\n var indexOf;\n\n if (Array.prototype.indexOf) {\n indexOf = Array.prototype.indexOf;\n } else {\n indexOf = function (o) {\n // I know\n var i;\n for (i = 0; i < this.length; ++i) {\n if (this[i] === o) {\n return i;\n }\n }\n return -1;\n };\n }\n\n function daysInMonth(year, month) {\n if (isNaN(year) || isNaN(month)) {\n return NaN;\n }\n var modMonth = mod(month, 12);\n year += (month - modMonth) / 12;\n return modMonth === 1\n ? isLeapYear(year)\n ? 29\n : 28\n : 31 - ((modMonth % 7) % 2);\n }\n\n // FORMATTING\n\n addFormatToken('M', ['MM', 2], 'Mo', function () {\n return this.month() + 1;\n });\n\n addFormatToken('MMM', 0, 0, function (format) {\n return this.localeData().monthsShort(this, format);\n });\n\n addFormatToken('MMMM', 0, 0, function (format) {\n return this.localeData().months(this, format);\n });\n\n // PARSING\n\n addRegexToken('M', match1to2, match1to2NoLeadingZero);\n addRegexToken('MM', match1to2, match2);\n addRegexToken('MMM', function (isStrict, locale) {\n return locale.monthsShortRegex(isStrict);\n });\n addRegexToken('MMMM', function (isStrict, locale) {\n return locale.monthsRegex(isStrict);\n });\n\n addParseToken(['M', 'MM'], function (input, array) {\n array[MONTH] = toInt(input) - 1;\n });\n\n addParseToken(['MMM', 'MMMM'], function (input, array, config, token) {\n var month = config._locale.monthsParse(input, token, config._strict);\n // if we didn't find a month name, mark the date as invalid.\n if (month != null) {\n array[MONTH] = month;\n } else {\n getParsingFlags(config).invalidMonth = input;\n }\n });\n\n // LOCALES\n\n var defaultLocaleMonths =\n 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n '_'\n ),\n defaultLocaleMonthsShort =\n 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n MONTHS_IN_FORMAT = /D[oD]?(\\[[^\\[\\]]*\\]|\\s)+MMMM?/,\n defaultMonthsShortRegex = matchWord,\n defaultMonthsRegex = matchWord;\n\n function localeMonths(m, format) {\n if (!m) {\n return isArray(this._months)\n ? this._months\n : this._months['standalone'];\n }\n return isArray(this._months)\n ? this._months[m.month()]\n : this._months[\n (this._months.isFormat || MONTHS_IN_FORMAT).test(format)\n ? 'format'\n : 'standalone'\n ][m.month()];\n }\n\n function localeMonthsShort(m, format) {\n if (!m) {\n return isArray(this._monthsShort)\n ? this._monthsShort\n : this._monthsShort['standalone'];\n }\n return isArray(this._monthsShort)\n ? this._monthsShort[m.month()]\n : this._monthsShort[\n MONTHS_IN_FORMAT.test(format) ? 'format' : 'standalone'\n ][m.month()];\n }\n\n function handleStrictParse(monthName, format, strict) {\n var i,\n ii,\n mom,\n llc = monthName.toLocaleLowerCase();\n if (!this._monthsParse) {\n // this is not used\n this._monthsParse = [];\n this._longMonthsParse = [];\n this._shortMonthsParse = [];\n for (i = 0; i < 12; ++i) {\n mom = createUTC([2000, i]);\n this._shortMonthsParse[i] = this.monthsShort(\n mom,\n ''\n ).toLocaleLowerCase();\n this._longMonthsParse[i] = this.months(mom, '').toLocaleLowerCase();\n }\n }\n\n if (strict) {\n if (format === 'MMM') {\n ii = indexOf.call(this._shortMonthsParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._longMonthsParse, llc);\n return ii !== -1 ? ii : null;\n }\n } else {\n if (format === 'MMM') {\n ii = indexOf.call(this._shortMonthsParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._longMonthsParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._longMonthsParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._shortMonthsParse, llc);\n return ii !== -1 ? ii : null;\n }\n }\n }\n\n function localeMonthsParse(monthName, format, strict) {\n var i, mom, regex;\n\n if (this._monthsParseExact) {\n return handleStrictParse.call(this, monthName, format, strict);\n }\n\n if (!this._monthsParse) {\n this._monthsParse = [];\n this._longMonthsParse = [];\n this._shortMonthsParse = [];\n }\n\n // TODO: add sorting\n // Sorting makes sure if one month (or abbr) is a prefix of another\n // see sorting in computeMonthsParse\n for (i = 0; i < 12; i++) {\n // make the regex if we don't have it already\n mom = createUTC([2000, i]);\n if (strict && !this._longMonthsParse[i]) {\n this._longMonthsParse[i] = new RegExp(\n '^' + this.months(mom, '').replace('.', '') + '$',\n 'i'\n );\n this._shortMonthsParse[i] = new RegExp(\n '^' + this.monthsShort(mom, '').replace('.', '') + '$',\n 'i'\n );\n }\n if (!strict && !this._monthsParse[i]) {\n regex =\n '^' + this.months(mom, '') + '|^' + this.monthsShort(mom, '');\n this._monthsParse[i] = new RegExp(regex.replace('.', ''), 'i');\n }\n // test the regex\n if (\n strict &&\n format === 'MMMM' &&\n this._longMonthsParse[i].test(monthName)\n ) {\n return i;\n } else if (\n strict &&\n format === 'MMM' &&\n this._shortMonthsParse[i].test(monthName)\n ) {\n return i;\n } else if (!strict && this._monthsParse[i].test(monthName)) {\n return i;\n }\n }\n }\n\n // MOMENTS\n\n function setMonth(mom, value) {\n if (!mom.isValid()) {\n // No op\n return mom;\n }\n\n if (typeof value === 'string') {\n if (/^\\d+$/.test(value)) {\n value = toInt(value);\n } else {\n value = mom.localeData().monthsParse(value);\n // TODO: Another silent failure?\n if (!isNumber(value)) {\n return mom;\n }\n }\n }\n\n var month = value,\n date = mom.date();\n\n date = date < 29 ? date : Math.min(date, daysInMonth(mom.year(), month));\n void (mom._isUTC\n ? mom._d.setUTCMonth(month, date)\n : mom._d.setMonth(month, date));\n return mom;\n }\n\n function getSetMonth(value) {\n if (value != null) {\n setMonth(this, value);\n hooks.updateOffset(this, true);\n return this;\n } else {\n return get(this, 'Month');\n }\n }\n\n function getDaysInMonth() {\n return daysInMonth(this.year(), this.month());\n }\n\n function monthsShortRegex(isStrict) {\n if (this._monthsParseExact) {\n if (!hasOwnProp(this, '_monthsRegex')) {\n computeMonthsParse.call(this);\n }\n if (isStrict) {\n return this._monthsShortStrictRegex;\n } else {\n return this._monthsShortRegex;\n }\n } else {\n if (!hasOwnProp(this, '_monthsShortRegex')) {\n this._monthsShortRegex = defaultMonthsShortRegex;\n }\n return this._monthsShortStrictRegex && isStrict\n ? this._monthsShortStrictRegex\n : this._monthsShortRegex;\n }\n }\n\n function monthsRegex(isStrict) {\n if (this._monthsParseExact) {\n if (!hasOwnProp(this, '_monthsRegex')) {\n computeMonthsParse.call(this);\n }\n if (isStrict) {\n return this._monthsStrictRegex;\n } else {\n return this._monthsRegex;\n }\n } else {\n if (!hasOwnProp(this, '_monthsRegex')) {\n this._monthsRegex = defaultMonthsRegex;\n }\n return this._monthsStrictRegex && isStrict\n ? this._monthsStrictRegex\n : this._monthsRegex;\n }\n }\n\n function computeMonthsParse() {\n function cmpLenRev(a, b) {\n return b.length - a.length;\n }\n\n var shortPieces = [],\n longPieces = [],\n mixedPieces = [],\n i,\n mom,\n shortP,\n longP;\n for (i = 0; i < 12; i++) {\n // make the regex if we don't have it already\n mom = createUTC([2000, i]);\n shortP = regexEscape(this.monthsShort(mom, ''));\n longP = regexEscape(this.months(mom, ''));\n shortPieces.push(shortP);\n longPieces.push(longP);\n mixedPieces.push(longP);\n mixedPieces.push(shortP);\n }\n // Sorting makes sure if one month (or abbr) is a prefix of another it\n // will match the longer piece.\n shortPieces.sort(cmpLenRev);\n longPieces.sort(cmpLenRev);\n mixedPieces.sort(cmpLenRev);\n\n this._monthsRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\n this._monthsShortRegex = this._monthsRegex;\n this._monthsStrictRegex = new RegExp(\n '^(' + longPieces.join('|') + ')',\n 'i'\n );\n this._monthsShortStrictRegex = new RegExp(\n '^(' + shortPieces.join('|') + ')',\n 'i'\n );\n }\n\n function createDate(y, m, d, h, M, s, ms) {\n // can't just apply() to create a date:\n // https://stackoverflow.com/q/181348\n var date;\n // the date constructor remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0) {\n // preserve leap years using a full 400 year cycle, then reset\n date = new Date(y + 400, m, d, h, M, s, ms);\n if (isFinite(date.getFullYear())) {\n date.setFullYear(y);\n }\n } else {\n date = new Date(y, m, d, h, M, s, ms);\n }\n\n return date;\n }\n\n function createUTCDate(y) {\n var date, args;\n // the Date.UTC function remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0) {\n args = Array.prototype.slice.call(arguments);\n // preserve leap years using a full 400 year cycle, then reset\n args[0] = y + 400;\n date = new Date(Date.UTC.apply(null, args));\n if (isFinite(date.getUTCFullYear())) {\n date.setUTCFullYear(y);\n }\n } else {\n date = new Date(Date.UTC.apply(null, arguments));\n }\n\n return date;\n }\n\n // start-of-first-week - start-of-year\n function firstWeekOffset(year, dow, doy) {\n var // first-week day -- which january is always in the first week (4 for iso, 1 for other)\n fwd = 7 + dow - doy,\n // first-week day local weekday -- which local weekday is fwd\n fwdlw = (7 + createUTCDate(year, 0, fwd).getUTCDay() - dow) % 7;\n\n return -fwdlw + fwd - 1;\n }\n\n // https://en.wikipedia.org/wiki/ISO_week_date#Calculating_a_date_given_the_year.2C_week_number_and_weekday\n function dayOfYearFromWeeks(year, week, weekday, dow, doy) {\n var localWeekday = (7 + weekday - dow) % 7,\n weekOffset = firstWeekOffset(year, dow, doy),\n dayOfYear = 1 + 7 * (week - 1) + localWeekday + weekOffset,\n resYear,\n resDayOfYear;\n\n if (dayOfYear <= 0) {\n resYear = year - 1;\n resDayOfYear = daysInYear(resYear) + dayOfYear;\n } else if (dayOfYear > daysInYear(year)) {\n resYear = year + 1;\n resDayOfYear = dayOfYear - daysInYear(year);\n } else {\n resYear = year;\n resDayOfYear = dayOfYear;\n }\n\n return {\n year: resYear,\n dayOfYear: resDayOfYear,\n };\n }\n\n function weekOfYear(mom, dow, doy) {\n var weekOffset = firstWeekOffset(mom.year(), dow, doy),\n week = Math.floor((mom.dayOfYear() - weekOffset - 1) / 7) + 1,\n resWeek,\n resYear;\n\n if (week < 1) {\n resYear = mom.year() - 1;\n resWeek = week + weeksInYear(resYear, dow, doy);\n } else if (week > weeksInYear(mom.year(), dow, doy)) {\n resWeek = week - weeksInYear(mom.year(), dow, doy);\n resYear = mom.year() + 1;\n } else {\n resYear = mom.year();\n resWeek = week;\n }\n\n return {\n week: resWeek,\n year: resYear,\n };\n }\n\n function weeksInYear(year, dow, doy) {\n var weekOffset = firstWeekOffset(year, dow, doy),\n weekOffsetNext = firstWeekOffset(year + 1, dow, doy);\n return (daysInYear(year) - weekOffset + weekOffsetNext) / 7;\n }\n\n // FORMATTING\n\n addFormatToken('w', ['ww', 2], 'wo', 'week');\n addFormatToken('W', ['WW', 2], 'Wo', 'isoWeek');\n\n // PARSING\n\n addRegexToken('w', match1to2, match1to2NoLeadingZero);\n addRegexToken('ww', match1to2, match2);\n addRegexToken('W', match1to2, match1to2NoLeadingZero);\n addRegexToken('WW', match1to2, match2);\n\n addWeekParseToken(\n ['w', 'ww', 'W', 'WW'],\n function (input, week, config, token) {\n week[token.substr(0, 1)] = toInt(input);\n }\n );\n\n // HELPERS\n\n // LOCALES\n\n function localeWeek(mom) {\n return weekOfYear(mom, this._week.dow, this._week.doy).week;\n }\n\n var defaultLocaleWeek = {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n };\n\n function localeFirstDayOfWeek() {\n return this._week.dow;\n }\n\n function localeFirstDayOfYear() {\n return this._week.doy;\n }\n\n // MOMENTS\n\n function getSetWeek(input) {\n var week = this.localeData().week(this);\n return input == null ? week : this.add((input - week) * 7, 'd');\n }\n\n function getSetISOWeek(input) {\n var week = weekOfYear(this, 1, 4).week;\n return input == null ? week : this.add((input - week) * 7, 'd');\n }\n\n // FORMATTING\n\n addFormatToken('d', 0, 'do', 'day');\n\n addFormatToken('dd', 0, 0, function (format) {\n return this.localeData().weekdaysMin(this, format);\n });\n\n addFormatToken('ddd', 0, 0, function (format) {\n return this.localeData().weekdaysShort(this, format);\n });\n\n addFormatToken('dddd', 0, 0, function (format) {\n return this.localeData().weekdays(this, format);\n });\n\n addFormatToken('e', 0, 0, 'weekday');\n addFormatToken('E', 0, 0, 'isoWeekday');\n\n // PARSING\n\n addRegexToken('d', match1to2);\n addRegexToken('e', match1to2);\n addRegexToken('E', match1to2);\n addRegexToken('dd', function (isStrict, locale) {\n return locale.weekdaysMinRegex(isStrict);\n });\n addRegexToken('ddd', function (isStrict, locale) {\n return locale.weekdaysShortRegex(isStrict);\n });\n addRegexToken('dddd', function (isStrict, locale) {\n return locale.weekdaysRegex(isStrict);\n });\n\n addWeekParseToken(['dd', 'ddd', 'dddd'], function (input, week, config, token) {\n var weekday = config._locale.weekdaysParse(input, token, config._strict);\n // if we didn't get a weekday name, mark the date as invalid\n if (weekday != null) {\n week.d = weekday;\n } else {\n getParsingFlags(config).invalidWeekday = input;\n }\n });\n\n addWeekParseToken(['d', 'e', 'E'], function (input, week, config, token) {\n week[token] = toInt(input);\n });\n\n // HELPERS\n\n function parseWeekday(input, locale) {\n if (typeof input !== 'string') {\n return input;\n }\n\n if (!isNaN(input)) {\n return parseInt(input, 10);\n }\n\n input = locale.weekdaysParse(input);\n if (typeof input === 'number') {\n return input;\n }\n\n return null;\n }\n\n function parseIsoWeekday(input, locale) {\n if (typeof input === 'string') {\n return locale.weekdaysParse(input) % 7 || 7;\n }\n return isNaN(input) ? null : input;\n }\n\n // LOCALES\n function shiftWeekdays(ws, n) {\n return ws.slice(n, 7).concat(ws.slice(0, n));\n }\n\n var defaultLocaleWeekdays =\n 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),\n defaultLocaleWeekdaysShort = 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n defaultLocaleWeekdaysMin = 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n defaultWeekdaysRegex = matchWord,\n defaultWeekdaysShortRegex = matchWord,\n defaultWeekdaysMinRegex = matchWord;\n\n function localeWeekdays(m, format) {\n var weekdays = isArray(this._weekdays)\n ? this._weekdays\n : this._weekdays[\n m && m !== true && this._weekdays.isFormat.test(format)\n ? 'format'\n : 'standalone'\n ];\n return m === true\n ? shiftWeekdays(weekdays, this._week.dow)\n : m\n ? weekdays[m.day()]\n : weekdays;\n }\n\n function localeWeekdaysShort(m) {\n return m === true\n ? shiftWeekdays(this._weekdaysShort, this._week.dow)\n : m\n ? this._weekdaysShort[m.day()]\n : this._weekdaysShort;\n }\n\n function localeWeekdaysMin(m) {\n return m === true\n ? shiftWeekdays(this._weekdaysMin, this._week.dow)\n : m\n ? this._weekdaysMin[m.day()]\n : this._weekdaysMin;\n }\n\n function handleStrictParse$1(weekdayName, format, strict) {\n var i,\n ii,\n mom,\n llc = weekdayName.toLocaleLowerCase();\n if (!this._weekdaysParse) {\n this._weekdaysParse = [];\n this._shortWeekdaysParse = [];\n this._minWeekdaysParse = [];\n\n for (i = 0; i < 7; ++i) {\n mom = createUTC([2000, 1]).day(i);\n this._minWeekdaysParse[i] = this.weekdaysMin(\n mom,\n ''\n ).toLocaleLowerCase();\n this._shortWeekdaysParse[i] = this.weekdaysShort(\n mom,\n ''\n ).toLocaleLowerCase();\n this._weekdaysParse[i] = this.weekdays(mom, '').toLocaleLowerCase();\n }\n }\n\n if (strict) {\n if (format === 'dddd') {\n ii = indexOf.call(this._weekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else if (format === 'ddd') {\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._minWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n }\n } else {\n if (format === 'dddd') {\n ii = indexOf.call(this._weekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._minWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else if (format === 'ddd') {\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._weekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._minWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._minWeekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._weekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n }\n }\n }\n\n function localeWeekdaysParse(weekdayName, format, strict) {\n var i, mom, regex;\n\n if (this._weekdaysParseExact) {\n return handleStrictParse$1.call(this, weekdayName, format, strict);\n }\n\n if (!this._weekdaysParse) {\n this._weekdaysParse = [];\n this._minWeekdaysParse = [];\n this._shortWeekdaysParse = [];\n this._fullWeekdaysParse = [];\n }\n\n for (i = 0; i < 7; i++) {\n // make the regex if we don't have it already\n\n mom = createUTC([2000, 1]).day(i);\n if (strict && !this._fullWeekdaysParse[i]) {\n this._fullWeekdaysParse[i] = new RegExp(\n '^' + this.weekdays(mom, '').replace('.', '\\\\.?') + '$',\n 'i'\n );\n this._shortWeekdaysParse[i] = new RegExp(\n '^' + this.weekdaysShort(mom, '').replace('.', '\\\\.?') + '$',\n 'i'\n );\n this._minWeekdaysParse[i] = new RegExp(\n '^' + this.weekdaysMin(mom, '').replace('.', '\\\\.?') + '$',\n 'i'\n );\n }\n if (!this._weekdaysParse[i]) {\n regex =\n '^' +\n this.weekdays(mom, '') +\n '|^' +\n this.weekdaysShort(mom, '') +\n '|^' +\n this.weekdaysMin(mom, '');\n this._weekdaysParse[i] = new RegExp(regex.replace('.', ''), 'i');\n }\n // test the regex\n if (\n strict &&\n format === 'dddd' &&\n this._fullWeekdaysParse[i].test(weekdayName)\n ) {\n return i;\n } else if (\n strict &&\n format === 'ddd' &&\n this._shortWeekdaysParse[i].test(weekdayName)\n ) {\n return i;\n } else if (\n strict &&\n format === 'dd' &&\n this._minWeekdaysParse[i].test(weekdayName)\n ) {\n return i;\n } else if (!strict && this._weekdaysParse[i].test(weekdayName)) {\n return i;\n }\n }\n }\n\n // MOMENTS\n\n function getSetDayOfWeek(input) {\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n\n var day = get(this, 'Day');\n if (input != null) {\n input = parseWeekday(input, this.localeData());\n return this.add(input - day, 'd');\n } else {\n return day;\n }\n }\n\n function getSetLocaleDayOfWeek(input) {\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n var weekday = (this.day() + 7 - this.localeData()._week.dow) % 7;\n return input == null ? weekday : this.add(input - weekday, 'd');\n }\n\n function getSetISODayOfWeek(input) {\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n\n // behaves the same as moment#day except\n // as a getter, returns 7 instead of 0 (1-7 range instead of 0-6)\n // as a setter, sunday should belong to the previous week.\n\n if (input != null) {\n var weekday = parseIsoWeekday(input, this.localeData());\n return this.day(this.day() % 7 ? weekday : weekday - 7);\n } else {\n return this.day() || 7;\n }\n }\n\n function weekdaysRegex(isStrict) {\n if (this._weekdaysParseExact) {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n computeWeekdaysParse.call(this);\n }\n if (isStrict) {\n return this._weekdaysStrictRegex;\n } else {\n return this._weekdaysRegex;\n }\n } else {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n this._weekdaysRegex = defaultWeekdaysRegex;\n }\n return this._weekdaysStrictRegex && isStrict\n ? this._weekdaysStrictRegex\n : this._weekdaysRegex;\n }\n }\n\n function weekdaysShortRegex(isStrict) {\n if (this._weekdaysParseExact) {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n computeWeekdaysParse.call(this);\n }\n if (isStrict) {\n return this._weekdaysShortStrictRegex;\n } else {\n return this._weekdaysShortRegex;\n }\n } else {\n if (!hasOwnProp(this, '_weekdaysShortRegex')) {\n this._weekdaysShortRegex = defaultWeekdaysShortRegex;\n }\n return this._weekdaysShortStrictRegex && isStrict\n ? this._weekdaysShortStrictRegex\n : this._weekdaysShortRegex;\n }\n }\n\n function weekdaysMinRegex(isStrict) {\n if (this._weekdaysParseExact) {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n computeWeekdaysParse.call(this);\n }\n if (isStrict) {\n return this._weekdaysMinStrictRegex;\n } else {\n return this._weekdaysMinRegex;\n }\n } else {\n if (!hasOwnProp(this, '_weekdaysMinRegex')) {\n this._weekdaysMinRegex = defaultWeekdaysMinRegex;\n }\n return this._weekdaysMinStrictRegex && isStrict\n ? this._weekdaysMinStrictRegex\n : this._weekdaysMinRegex;\n }\n }\n\n function computeWeekdaysParse() {\n function cmpLenRev(a, b) {\n return b.length - a.length;\n }\n\n var minPieces = [],\n shortPieces = [],\n longPieces = [],\n mixedPieces = [],\n i,\n mom,\n minp,\n shortp,\n longp;\n for (i = 0; i < 7; i++) {\n // make the regex if we don't have it already\n mom = createUTC([2000, 1]).day(i);\n minp = regexEscape(this.weekdaysMin(mom, ''));\n shortp = regexEscape(this.weekdaysShort(mom, ''));\n longp = regexEscape(this.weekdays(mom, ''));\n minPieces.push(minp);\n shortPieces.push(shortp);\n longPieces.push(longp);\n mixedPieces.push(minp);\n mixedPieces.push(shortp);\n mixedPieces.push(longp);\n }\n // Sorting makes sure if one weekday (or abbr) is a prefix of another it\n // will match the longer piece.\n minPieces.sort(cmpLenRev);\n shortPieces.sort(cmpLenRev);\n longPieces.sort(cmpLenRev);\n mixedPieces.sort(cmpLenRev);\n\n this._weekdaysRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\n this._weekdaysShortRegex = this._weekdaysRegex;\n this._weekdaysMinRegex = this._weekdaysRegex;\n\n this._weekdaysStrictRegex = new RegExp(\n '^(' + longPieces.join('|') + ')',\n 'i'\n );\n this._weekdaysShortStrictRegex = new RegExp(\n '^(' + shortPieces.join('|') + ')',\n 'i'\n );\n this._weekdaysMinStrictRegex = new RegExp(\n '^(' + minPieces.join('|') + ')',\n 'i'\n );\n }\n\n // FORMATTING\n\n function hFormat() {\n return this.hours() % 12 || 12;\n }\n\n function kFormat() {\n return this.hours() || 24;\n }\n\n addFormatToken('H', ['HH', 2], 0, 'hour');\n addFormatToken('h', ['hh', 2], 0, hFormat);\n addFormatToken('k', ['kk', 2], 0, kFormat);\n\n addFormatToken('hmm', 0, 0, function () {\n return '' + hFormat.apply(this) + zeroFill(this.minutes(), 2);\n });\n\n addFormatToken('hmmss', 0, 0, function () {\n return (\n '' +\n hFormat.apply(this) +\n zeroFill(this.minutes(), 2) +\n zeroFill(this.seconds(), 2)\n );\n });\n\n addFormatToken('Hmm', 0, 0, function () {\n return '' + this.hours() + zeroFill(this.minutes(), 2);\n });\n\n addFormatToken('Hmmss', 0, 0, function () {\n return (\n '' +\n this.hours() +\n zeroFill(this.minutes(), 2) +\n zeroFill(this.seconds(), 2)\n );\n });\n\n function meridiem(token, lowercase) {\n addFormatToken(token, 0, 0, function () {\n return this.localeData().meridiem(\n this.hours(),\n this.minutes(),\n lowercase\n );\n });\n }\n\n meridiem('a', true);\n meridiem('A', false);\n\n // PARSING\n\n function matchMeridiem(isStrict, locale) {\n return locale._meridiemParse;\n }\n\n addRegexToken('a', matchMeridiem);\n addRegexToken('A', matchMeridiem);\n addRegexToken('H', match1to2, match1to2HasZero);\n addRegexToken('h', match1to2, match1to2NoLeadingZero);\n addRegexToken('k', match1to2, match1to2NoLeadingZero);\n addRegexToken('HH', match1to2, match2);\n addRegexToken('hh', match1to2, match2);\n addRegexToken('kk', match1to2, match2);\n\n addRegexToken('hmm', match3to4);\n addRegexToken('hmmss', match5to6);\n addRegexToken('Hmm', match3to4);\n addRegexToken('Hmmss', match5to6);\n\n addParseToken(['H', 'HH'], HOUR);\n addParseToken(['k', 'kk'], function (input, array, config) {\n var kInput = toInt(input);\n array[HOUR] = kInput === 24 ? 0 : kInput;\n });\n addParseToken(['a', 'A'], function (input, array, config) {\n config._isPm = config._locale.isPM(input);\n config._meridiem = input;\n });\n addParseToken(['h', 'hh'], function (input, array, config) {\n array[HOUR] = toInt(input);\n getParsingFlags(config).bigHour = true;\n });\n addParseToken('hmm', function (input, array, config) {\n var pos = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos));\n array[MINUTE] = toInt(input.substr(pos));\n getParsingFlags(config).bigHour = true;\n });\n addParseToken('hmmss', function (input, array, config) {\n var pos1 = input.length - 4,\n pos2 = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos1));\n array[MINUTE] = toInt(input.substr(pos1, 2));\n array[SECOND] = toInt(input.substr(pos2));\n getParsingFlags(config).bigHour = true;\n });\n addParseToken('Hmm', function (input, array, config) {\n var pos = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos));\n array[MINUTE] = toInt(input.substr(pos));\n });\n addParseToken('Hmmss', function (input, array, config) {\n var pos1 = input.length - 4,\n pos2 = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos1));\n array[MINUTE] = toInt(input.substr(pos1, 2));\n array[SECOND] = toInt(input.substr(pos2));\n });\n\n // LOCALES\n\n function localeIsPM(input) {\n // IE8 Quirks Mode & IE7 Standards Mode do not allow accessing strings like arrays\n // Using charAt should be more compatible.\n return (input + '').toLowerCase().charAt(0) === 'p';\n }\n\n var defaultLocaleMeridiemParse = /[ap]\\.?m?\\.?/i,\n // Setting the hour should keep the time, because the user explicitly\n // specified which hour they want. So trying to maintain the same hour (in\n // a new timezone) makes sense. Adding/subtracting hours does not follow\n // this rule.\n getSetHour = makeGetSet('Hours', true);\n\n function localeMeridiem(hours, minutes, isLower) {\n if (hours > 11) {\n return isLower ? 'pm' : 'PM';\n } else {\n return isLower ? 'am' : 'AM';\n }\n }\n\n var baseConfig = {\n calendar: defaultCalendar,\n longDateFormat: defaultLongDateFormat,\n invalidDate: defaultInvalidDate,\n ordinal: defaultOrdinal,\n dayOfMonthOrdinalParse: defaultDayOfMonthOrdinalParse,\n relativeTime: defaultRelativeTime,\n\n months: defaultLocaleMonths,\n monthsShort: defaultLocaleMonthsShort,\n\n week: defaultLocaleWeek,\n\n weekdays: defaultLocaleWeekdays,\n weekdaysMin: defaultLocaleWeekdaysMin,\n weekdaysShort: defaultLocaleWeekdaysShort,\n\n meridiemParse: defaultLocaleMeridiemParse,\n };\n\n // internal storage for locale config files\n var locales = {},\n localeFamilies = {},\n globalLocale;\n\n function commonPrefix(arr1, arr2) {\n var i,\n minl = Math.min(arr1.length, arr2.length);\n for (i = 0; i < minl; i += 1) {\n if (arr1[i] !== arr2[i]) {\n return i;\n }\n }\n return minl;\n }\n\n function normalizeLocale(key) {\n return key ? key.toLowerCase().replace('_', '-') : key;\n }\n\n // pick the locale from the array\n // try ['en-au', 'en-gb'] as 'en-au', 'en-gb', 'en', as in move through the list trying each\n // substring from most specific to least, but move to the next array item if it's a more specific variant than the current root\n function chooseLocale(names) {\n var i = 0,\n j,\n next,\n locale,\n split;\n\n while (i < names.length) {\n split = normalizeLocale(names[i]).split('-');\n j = split.length;\n next = normalizeLocale(names[i + 1]);\n next = next ? next.split('-') : null;\n while (j > 0) {\n locale = loadLocale(split.slice(0, j).join('-'));\n if (locale) {\n return locale;\n }\n if (\n next &&\n next.length >= j &&\n commonPrefix(split, next) >= j - 1\n ) {\n //the next array item is better than a shallower substring of this one\n break;\n }\n j--;\n }\n i++;\n }\n return globalLocale;\n }\n\n function isLocaleNameSane(name) {\n // Prevent names that look like filesystem paths, i.e contain '/' or '\\'\n // Ensure name is available and function returns boolean\n return !!(name && name.match('^[^/\\\\\\\\]*$'));\n }\n\n function loadLocale(name) {\n var oldLocale = null,\n aliasedRequire;\n // TODO: Find a better way to register and load all the locales in Node\n if (\n locales[name] === undefined &&\n typeof module !== 'undefined' &&\n module &&\n module.exports &&\n isLocaleNameSane(name)\n ) {\n try {\n oldLocale = globalLocale._abbr;\n aliasedRequire = require;\n aliasedRequire('./locale/' + name);\n getSetGlobalLocale(oldLocale);\n } catch (e) {\n // mark as not found to avoid repeating expensive file require call causing high CPU\n // when trying to find en-US, en_US, en-us for every format call\n locales[name] = null; // null means not found\n }\n }\n return locales[name];\n }\n\n // This function will load locale and then set the global locale. If\n // no arguments are passed in, it will simply return the current global\n // locale key.\n function getSetGlobalLocale(key, values) {\n var data;\n if (key) {\n if (isUndefined(values)) {\n data = getLocale(key);\n } else {\n data = defineLocale(key, values);\n }\n\n if (data) {\n // moment.duration._locale = moment._locale = data;\n globalLocale = data;\n } else {\n if (typeof console !== 'undefined' && console.warn) {\n //warn user if arguments are passed but the locale could not be set\n console.warn(\n 'Locale ' + key + ' not found. Did you forget to load it?'\n );\n }\n }\n }\n\n return globalLocale._abbr;\n }\n\n function defineLocale(name, config) {\n if (config !== null) {\n var locale,\n parentConfig = baseConfig;\n config.abbr = name;\n if (locales[name] != null) {\n deprecateSimple(\n 'defineLocaleOverride',\n 'use moment.updateLocale(localeName, config) to change ' +\n 'an existing locale. moment.defineLocale(localeName, ' +\n 'config) should only be used for creating a new locale ' +\n 'See http://momentjs.com/guides/#/warnings/define-locale/ for more info.'\n );\n parentConfig = locales[name]._config;\n } else if (config.parentLocale != null) {\n if (locales[config.parentLocale] != null) {\n parentConfig = locales[config.parentLocale]._config;\n } else {\n locale = loadLocale(config.parentLocale);\n if (locale != null) {\n parentConfig = locale._config;\n } else {\n if (!localeFamilies[config.parentLocale]) {\n localeFamilies[config.parentLocale] = [];\n }\n localeFamilies[config.parentLocale].push({\n name: name,\n config: config,\n });\n return null;\n }\n }\n }\n locales[name] = new Locale(mergeConfigs(parentConfig, config));\n\n if (localeFamilies[name]) {\n localeFamilies[name].forEach(function (x) {\n defineLocale(x.name, x.config);\n });\n }\n\n // backwards compat for now: also set the locale\n // make sure we set the locale AFTER all child locales have been\n // created, so we won't end up with the child locale set.\n getSetGlobalLocale(name);\n\n return locales[name];\n } else {\n // useful for testing\n delete locales[name];\n return null;\n }\n }\n\n function updateLocale(name, config) {\n if (config != null) {\n var locale,\n tmpLocale,\n parentConfig = baseConfig;\n\n if (locales[name] != null && locales[name].parentLocale != null) {\n // Update existing child locale in-place to avoid memory-leaks\n locales[name].set(mergeConfigs(locales[name]._config, config));\n } else {\n // MERGE\n tmpLocale = loadLocale(name);\n if (tmpLocale != null) {\n parentConfig = tmpLocale._config;\n }\n config = mergeConfigs(parentConfig, config);\n if (tmpLocale == null) {\n // updateLocale is called for creating a new locale\n // Set abbr so it will have a name (getters return\n // undefined otherwise).\n config.abbr = name;\n }\n locale = new Locale(config);\n locale.parentLocale = locales[name];\n locales[name] = locale;\n }\n\n // backwards compat for now: also set the locale\n getSetGlobalLocale(name);\n } else {\n // pass null for config to unupdate, useful for tests\n if (locales[name] != null) {\n if (locales[name].parentLocale != null) {\n locales[name] = locales[name].parentLocale;\n if (name === getSetGlobalLocale()) {\n getSetGlobalLocale(name);\n }\n } else if (locales[name] != null) {\n delete locales[name];\n }\n }\n }\n return locales[name];\n }\n\n // returns locale data\n function getLocale(key) {\n var locale;\n\n if (key && key._locale && key._locale._abbr) {\n key = key._locale._abbr;\n }\n\n if (!key) {\n return globalLocale;\n }\n\n if (!isArray(key)) {\n //short-circuit everything else\n locale = loadLocale(key);\n if (locale) {\n return locale;\n }\n key = [key];\n }\n\n return chooseLocale(key);\n }\n\n function listLocales() {\n return keys(locales);\n }\n\n function checkOverflow(m) {\n var overflow,\n a = m._a;\n\n if (a && getParsingFlags(m).overflow === -2) {\n overflow =\n a[MONTH] < 0 || a[MONTH] > 11\n ? MONTH\n : a[DATE] < 1 || a[DATE] > daysInMonth(a[YEAR], a[MONTH])\n ? DATE\n : a[HOUR] < 0 ||\n a[HOUR] > 24 ||\n (a[HOUR] === 24 &&\n (a[MINUTE] !== 0 ||\n a[SECOND] !== 0 ||\n a[MILLISECOND] !== 0))\n ? HOUR\n : a[MINUTE] < 0 || a[MINUTE] > 59\n ? MINUTE\n : a[SECOND] < 0 || a[SECOND] > 59\n ? SECOND\n : a[MILLISECOND] < 0 || a[MILLISECOND] > 999\n ? MILLISECOND\n : -1;\n\n if (\n getParsingFlags(m)._overflowDayOfYear &&\n (overflow < YEAR || overflow > DATE)\n ) {\n overflow = DATE;\n }\n if (getParsingFlags(m)._overflowWeeks && overflow === -1) {\n overflow = WEEK;\n }\n if (getParsingFlags(m)._overflowWeekday && overflow === -1) {\n overflow = WEEKDAY;\n }\n\n getParsingFlags(m).overflow = overflow;\n }\n\n return m;\n }\n\n // iso 8601 regex\n // 0000-00-00 0000-W00 or 0000-W00-0 + T + 00 or 00:00 or 00:00:00 or 00:00:00.000 + +00:00 or +0000 or +00)\n var extendedIsoRegex =\n /^\\s*((?:[+-]\\d{6}|\\d{4})-(?:\\d\\d-\\d\\d|W\\d\\d-\\d|W\\d\\d|\\d\\d\\d|\\d\\d))(?:(T| )(\\d\\d(?::\\d\\d(?::\\d\\d(?:[.,]\\d+)?)?)?)([+-]\\d\\d(?::?\\d\\d)?|\\s*Z)?)?$/,\n basicIsoRegex =\n /^\\s*((?:[+-]\\d{6}|\\d{4})(?:\\d\\d\\d\\d|W\\d\\d\\d|W\\d\\d|\\d\\d\\d|\\d\\d|))(?:(T| )(\\d\\d(?:\\d\\d(?:\\d\\d(?:[.,]\\d+)?)?)?)([+-]\\d\\d(?::?\\d\\d)?|\\s*Z)?)?$/,\n tzRegex = /Z|[+-]\\d\\d(?::?\\d\\d)?/,\n isoDates = [\n ['YYYYYY-MM-DD', /[+-]\\d{6}-\\d\\d-\\d\\d/],\n ['YYYY-MM-DD', /\\d{4}-\\d\\d-\\d\\d/],\n ['GGGG-[W]WW-E', /\\d{4}-W\\d\\d-\\d/],\n ['GGGG-[W]WW', /\\d{4}-W\\d\\d/, false],\n ['YYYY-DDD', /\\d{4}-\\d{3}/],\n ['YYYY-MM', /\\d{4}-\\d\\d/, false],\n ['YYYYYYMMDD', /[+-]\\d{10}/],\n ['YYYYMMDD', /\\d{8}/],\n ['GGGG[W]WWE', /\\d{4}W\\d{3}/],\n ['GGGG[W]WW', /\\d{4}W\\d{2}/, false],\n ['YYYYDDD', /\\d{7}/],\n ['YYYYMM', /\\d{6}/, false],\n ['YYYY', /\\d{4}/, false],\n ],\n // iso time formats and regexes\n isoTimes = [\n ['HH:mm:ss.SSSS', /\\d\\d:\\d\\d:\\d\\d\\.\\d+/],\n ['HH:mm:ss,SSSS', /\\d\\d:\\d\\d:\\d\\d,\\d+/],\n ['HH:mm:ss', /\\d\\d:\\d\\d:\\d\\d/],\n ['HH:mm', /\\d\\d:\\d\\d/],\n ['HHmmss.SSSS', /\\d\\d\\d\\d\\d\\d\\.\\d+/],\n ['HHmmss,SSSS', /\\d\\d\\d\\d\\d\\d,\\d+/],\n ['HHmmss', /\\d\\d\\d\\d\\d\\d/],\n ['HHmm', /\\d\\d\\d\\d/],\n ['HH', /\\d\\d/],\n ],\n aspNetJsonRegex = /^\\/?Date\\((-?\\d+)/i,\n // RFC 2822 regex: For details see https://tools.ietf.org/html/rfc2822#section-3.3\n rfc2822 =\n /^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\\s)?(\\d{1,2})\\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\\s(\\d{2,4})\\s(\\d\\d):(\\d\\d)(?::(\\d\\d))?\\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\\d{4}))$/,\n obsOffsets = {\n UT: 0,\n GMT: 0,\n EDT: -4 * 60,\n EST: -5 * 60,\n CDT: -5 * 60,\n CST: -6 * 60,\n MDT: -6 * 60,\n MST: -7 * 60,\n PDT: -7 * 60,\n PST: -8 * 60,\n };\n\n // date from iso format\n function configFromISO(config) {\n var i,\n l,\n string = config._i,\n match = extendedIsoRegex.exec(string) || basicIsoRegex.exec(string),\n allowTime,\n dateFormat,\n timeFormat,\n tzFormat,\n isoDatesLen = isoDates.length,\n isoTimesLen = isoTimes.length;\n\n if (match) {\n getParsingFlags(config).iso = true;\n for (i = 0, l = isoDatesLen; i < l; i++) {\n if (isoDates[i][1].exec(match[1])) {\n dateFormat = isoDates[i][0];\n allowTime = isoDates[i][2] !== false;\n break;\n }\n }\n if (dateFormat == null) {\n config._isValid = false;\n return;\n }\n if (match[3]) {\n for (i = 0, l = isoTimesLen; i < l; i++) {\n if (isoTimes[i][1].exec(match[3])) {\n // match[2] should be 'T' or space\n timeFormat = (match[2] || ' ') + isoTimes[i][0];\n break;\n }\n }\n if (timeFormat == null) {\n config._isValid = false;\n return;\n }\n }\n if (!allowTime && timeFormat != null) {\n config._isValid = false;\n return;\n }\n if (match[4]) {\n if (tzRegex.exec(match[4])) {\n tzFormat = 'Z';\n } else {\n config._isValid = false;\n return;\n }\n }\n config._f = dateFormat + (timeFormat || '') + (tzFormat || '');\n configFromStringAndFormat(config);\n } else {\n config._isValid = false;\n }\n }\n\n function extractFromRFC2822Strings(\n yearStr,\n monthStr,\n dayStr,\n hourStr,\n minuteStr,\n secondStr\n ) {\n var result = [\n untruncateYear(yearStr),\n defaultLocaleMonthsShort.indexOf(monthStr),\n parseInt(dayStr, 10),\n parseInt(hourStr, 10),\n parseInt(minuteStr, 10),\n ];\n\n if (secondStr) {\n result.push(parseInt(secondStr, 10));\n }\n\n return result;\n }\n\n function untruncateYear(yearStr) {\n var year = parseInt(yearStr, 10);\n if (year <= 49) {\n return 2000 + year;\n } else if (year <= 999) {\n return 1900 + year;\n }\n return year;\n }\n\n function preprocessRFC2822(s) {\n // Remove comments and folding whitespace and replace multiple-spaces with a single space\n return s\n .replace(/\\([^()]*\\)|[\\n\\t]/g, ' ')\n .replace(/(\\s\\s+)/g, ' ')\n .replace(/^\\s\\s*/, '')\n .replace(/\\s\\s*$/, '');\n }\n\n function checkWeekday(weekdayStr, parsedInput, config) {\n if (weekdayStr) {\n // TODO: Replace the vanilla JS Date object with an independent day-of-week check.\n var weekdayProvided = defaultLocaleWeekdaysShort.indexOf(weekdayStr),\n weekdayActual = new Date(\n parsedInput[0],\n parsedInput[1],\n parsedInput[2]\n ).getDay();\n if (weekdayProvided !== weekdayActual) {\n getParsingFlags(config).weekdayMismatch = true;\n config._isValid = false;\n return false;\n }\n }\n return true;\n }\n\n function calculateOffset(obsOffset, militaryOffset, numOffset) {\n if (obsOffset) {\n return obsOffsets[obsOffset];\n } else if (militaryOffset) {\n // the only allowed military tz is Z\n return 0;\n } else {\n var hm = parseInt(numOffset, 10),\n m = hm % 100,\n h = (hm - m) / 100;\n return h * 60 + m;\n }\n }\n\n // date and time from ref 2822 format\n function configFromRFC2822(config) {\n var match = rfc2822.exec(preprocessRFC2822(config._i)),\n parsedArray;\n if (match) {\n parsedArray = extractFromRFC2822Strings(\n match[4],\n match[3],\n match[2],\n match[5],\n match[6],\n match[7]\n );\n if (!checkWeekday(match[1], parsedArray, config)) {\n return;\n }\n\n config._a = parsedArray;\n config._tzm = calculateOffset(match[8], match[9], match[10]);\n\n config._d = createUTCDate.apply(null, config._a);\n config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm);\n\n getParsingFlags(config).rfc2822 = true;\n } else {\n config._isValid = false;\n }\n }\n\n // date from 1) ASP.NET, 2) ISO, 3) RFC 2822 formats, or 4) optional fallback if parsing isn't strict\n function configFromString(config) {\n var matched = aspNetJsonRegex.exec(config._i);\n if (matched !== null) {\n config._d = new Date(+matched[1]);\n return;\n }\n\n configFromISO(config);\n if (config._isValid === false) {\n delete config._isValid;\n } else {\n return;\n }\n\n configFromRFC2822(config);\n if (config._isValid === false) {\n delete config._isValid;\n } else {\n return;\n }\n\n if (config._strict) {\n config._isValid = false;\n } else {\n // Final attempt, use Input Fallback\n hooks.createFromInputFallback(config);\n }\n }\n\n hooks.createFromInputFallback = deprecate(\n 'value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), ' +\n 'which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are ' +\n 'discouraged. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.',\n function (config) {\n config._d = new Date(config._i + (config._useUTC ? ' UTC' : ''));\n }\n );\n\n // Pick the first defined of two or three arguments.\n function defaults(a, b, c) {\n if (a != null) {\n return a;\n }\n if (b != null) {\n return b;\n }\n return c;\n }\n\n function currentDateArray(config) {\n // hooks is actually the exported moment object\n var nowValue = new Date(hooks.now());\n if (config._useUTC) {\n return [\n nowValue.getUTCFullYear(),\n nowValue.getUTCMonth(),\n nowValue.getUTCDate(),\n ];\n }\n return [nowValue.getFullYear(), nowValue.getMonth(), nowValue.getDate()];\n }\n\n // convert an array to a date.\n // the array should mirror the parameters below\n // note: all values past the year are optional and will default to the lowest possible value.\n // [year, month, day , hour, minute, second, millisecond]\n function configFromArray(config) {\n var i,\n date,\n input = [],\n currentDate,\n expectedWeekday,\n yearToUse;\n\n if (config._d) {\n return;\n }\n\n currentDate = currentDateArray(config);\n\n //compute day of the year from weeks and weekdays\n if (config._w && config._a[DATE] == null && config._a[MONTH] == null) {\n dayOfYearFromWeekInfo(config);\n }\n\n //if the day of the year is set, figure out what it is\n if (config._dayOfYear != null) {\n yearToUse = defaults(config._a[YEAR], currentDate[YEAR]);\n\n if (\n config._dayOfYear > daysInYear(yearToUse) ||\n config._dayOfYear === 0\n ) {\n getParsingFlags(config)._overflowDayOfYear = true;\n }\n\n date = createUTCDate(yearToUse, 0, config._dayOfYear);\n config._a[MONTH] = date.getUTCMonth();\n config._a[DATE] = date.getUTCDate();\n }\n\n // Default to current date.\n // * if no year, month, day of month are given, default to today\n // * if day of month is given, default month and year\n // * if month is given, default only year\n // * if year is given, don't default anything\n for (i = 0; i < 3 && config._a[i] == null; ++i) {\n config._a[i] = input[i] = currentDate[i];\n }\n\n // Zero out whatever was not defaulted, including time\n for (; i < 7; i++) {\n config._a[i] = input[i] =\n config._a[i] == null ? (i === 2 ? 1 : 0) : config._a[i];\n }\n\n // Check for 24:00:00.000\n if (\n config._a[HOUR] === 24 &&\n config._a[MINUTE] === 0 &&\n config._a[SECOND] === 0 &&\n config._a[MILLISECOND] === 0\n ) {\n config._nextDay = true;\n config._a[HOUR] = 0;\n }\n\n config._d = (config._useUTC ? createUTCDate : createDate).apply(\n null,\n input\n );\n expectedWeekday = config._useUTC\n ? config._d.getUTCDay()\n : config._d.getDay();\n\n // Apply timezone offset from input. The actual utcOffset can be changed\n // with parseZone.\n if (config._tzm != null) {\n config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm);\n }\n\n if (config._nextDay) {\n config._a[HOUR] = 24;\n }\n\n // check for mismatching day of week\n if (\n config._w &&\n typeof config._w.d !== 'undefined' &&\n config._w.d !== expectedWeekday\n ) {\n getParsingFlags(config).weekdayMismatch = true;\n }\n }\n\n function dayOfYearFromWeekInfo(config) {\n var w, weekYear, week, weekday, dow, doy, temp, weekdayOverflow, curWeek;\n\n w = config._w;\n if (w.GG != null || w.W != null || w.E != null) {\n dow = 1;\n doy = 4;\n\n // TODO: We need to take the current isoWeekYear, but that depends on\n // how we interpret now (local, utc, fixed offset). So create\n // a now version of current config (take local/utc/offset flags, and\n // create now).\n weekYear = defaults(\n w.GG,\n config._a[YEAR],\n weekOfYear(createLocal(), 1, 4).year\n );\n week = defaults(w.W, 1);\n weekday = defaults(w.E, 1);\n if (weekday < 1 || weekday > 7) {\n weekdayOverflow = true;\n }\n } else {\n dow = config._locale._week.dow;\n doy = config._locale._week.doy;\n\n curWeek = weekOfYear(createLocal(), dow, doy);\n\n weekYear = defaults(w.gg, config._a[YEAR], curWeek.year);\n\n // Default to current week.\n week = defaults(w.w, curWeek.week);\n\n if (w.d != null) {\n // weekday -- low day numbers are considered next week\n weekday = w.d;\n if (weekday < 0 || weekday > 6) {\n weekdayOverflow = true;\n }\n } else if (w.e != null) {\n // local weekday -- counting starts from beginning of week\n weekday = w.e + dow;\n if (w.e < 0 || w.e > 6) {\n weekdayOverflow = true;\n }\n } else {\n // default to beginning of week\n weekday = dow;\n }\n }\n if (week < 1 || week > weeksInYear(weekYear, dow, doy)) {\n getParsingFlags(config)._overflowWeeks = true;\n } else if (weekdayOverflow != null) {\n getParsingFlags(config)._overflowWeekday = true;\n } else {\n temp = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy);\n config._a[YEAR] = temp.year;\n config._dayOfYear = temp.dayOfYear;\n }\n }\n\n // constant that refers to the ISO standard\n hooks.ISO_8601 = function () {};\n\n // constant that refers to the RFC 2822 form\n hooks.RFC_2822 = function () {};\n\n // date from string and format string\n function configFromStringAndFormat(config) {\n // TODO: Move this to another part of the creation flow to prevent circular deps\n if (config._f === hooks.ISO_8601) {\n configFromISO(config);\n return;\n }\n if (config._f === hooks.RFC_2822) {\n configFromRFC2822(config);\n return;\n }\n config._a = [];\n getParsingFlags(config).empty = true;\n\n // This array is used to make a Date, either with `new Date` or `Date.UTC`\n var string = '' + config._i,\n i,\n parsedInput,\n tokens,\n token,\n skipped,\n stringLength = string.length,\n totalParsedInputLength = 0,\n era,\n tokenLen;\n\n tokens =\n expandFormat(config._f, config._locale).match(formattingTokens) || [];\n tokenLen = tokens.length;\n for (i = 0; i < tokenLen; i++) {\n token = tokens[i];\n parsedInput = (string.match(getParseRegexForToken(token, config)) ||\n [])[0];\n if (parsedInput) {\n skipped = string.substr(0, string.indexOf(parsedInput));\n if (skipped.length > 0) {\n getParsingFlags(config).unusedInput.push(skipped);\n }\n string = string.slice(\n string.indexOf(parsedInput) + parsedInput.length\n );\n totalParsedInputLength += parsedInput.length;\n }\n // don't parse if it's not a known token\n if (formatTokenFunctions[token]) {\n if (parsedInput) {\n getParsingFlags(config).empty = false;\n } else {\n getParsingFlags(config).unusedTokens.push(token);\n }\n addTimeToArrayFromToken(token, parsedInput, config);\n } else if (config._strict && !parsedInput) {\n getParsingFlags(config).unusedTokens.push(token);\n }\n }\n\n // add remaining unparsed input length to the string\n getParsingFlags(config).charsLeftOver =\n stringLength - totalParsedInputLength;\n if (string.length > 0) {\n getParsingFlags(config).unusedInput.push(string);\n }\n\n // clear _12h flag if hour is <= 12\n if (\n config._a[HOUR] <= 12 &&\n getParsingFlags(config).bigHour === true &&\n config._a[HOUR] > 0\n ) {\n getParsingFlags(config).bigHour = undefined;\n }\n\n getParsingFlags(config).parsedDateParts = config._a.slice(0);\n getParsingFlags(config).meridiem = config._meridiem;\n // handle meridiem\n config._a[HOUR] = meridiemFixWrap(\n config._locale,\n config._a[HOUR],\n config._meridiem\n );\n\n // handle era\n era = getParsingFlags(config).era;\n if (era !== null) {\n config._a[YEAR] = config._locale.erasConvertYear(era, config._a[YEAR]);\n }\n\n configFromArray(config);\n checkOverflow(config);\n }\n\n function meridiemFixWrap(locale, hour, meridiem) {\n var isPm;\n\n if (meridiem == null) {\n // nothing to do\n return hour;\n }\n if (locale.meridiemHour != null) {\n return locale.meridiemHour(hour, meridiem);\n } else if (locale.isPM != null) {\n // Fallback\n isPm = locale.isPM(meridiem);\n if (isPm && hour < 12) {\n hour += 12;\n }\n if (!isPm && hour === 12) {\n hour = 0;\n }\n return hour;\n } else {\n // this is not supposed to happen\n return hour;\n }\n }\n\n // date from string and array of format strings\n function configFromStringAndArray(config) {\n var tempConfig,\n bestMoment,\n scoreToBeat,\n i,\n currentScore,\n validFormatFound,\n bestFormatIsValid = false,\n configfLen = config._f.length;\n\n if (configfLen === 0) {\n getParsingFlags(config).invalidFormat = true;\n config._d = new Date(NaN);\n return;\n }\n\n for (i = 0; i < configfLen; i++) {\n currentScore = 0;\n validFormatFound = false;\n tempConfig = copyConfig({}, config);\n if (config._useUTC != null) {\n tempConfig._useUTC = config._useUTC;\n }\n tempConfig._f = config._f[i];\n configFromStringAndFormat(tempConfig);\n\n if (isValid(tempConfig)) {\n validFormatFound = true;\n }\n\n // if there is any input that was not parsed add a penalty for that format\n currentScore += getParsingFlags(tempConfig).charsLeftOver;\n\n //or tokens\n currentScore += getParsingFlags(tempConfig).unusedTokens.length * 10;\n\n getParsingFlags(tempConfig).score = currentScore;\n\n if (!bestFormatIsValid) {\n if (\n scoreToBeat == null ||\n currentScore < scoreToBeat ||\n validFormatFound\n ) {\n scoreToBeat = currentScore;\n bestMoment = tempConfig;\n if (validFormatFound) {\n bestFormatIsValid = true;\n }\n }\n } else {\n if (currentScore < scoreToBeat) {\n scoreToBeat = currentScore;\n bestMoment = tempConfig;\n }\n }\n }\n\n extend(config, bestMoment || tempConfig);\n }\n\n function configFromObject(config) {\n if (config._d) {\n return;\n }\n\n var i = normalizeObjectUnits(config._i),\n dayOrDate = i.day === undefined ? i.date : i.day;\n config._a = map(\n [i.year, i.month, dayOrDate, i.hour, i.minute, i.second, i.millisecond],\n function (obj) {\n return obj && parseInt(obj, 10);\n }\n );\n\n configFromArray(config);\n }\n\n function createFromConfig(config) {\n var res = new Moment(checkOverflow(prepareConfig(config)));\n if (res._nextDay) {\n // Adding is smart enough around DST\n res.add(1, 'd');\n res._nextDay = undefined;\n }\n\n return res;\n }\n\n function prepareConfig(config) {\n var input = config._i,\n format = config._f;\n\n config._locale = config._locale || getLocale(config._l);\n\n if (input === null || (format === undefined && input === '')) {\n return createInvalid({ nullInput: true });\n }\n\n if (typeof input === 'string') {\n config._i = input = config._locale.preparse(input);\n }\n\n if (isMoment(input)) {\n return new Moment(checkOverflow(input));\n } else if (isDate(input)) {\n config._d = input;\n } else if (isArray(format)) {\n configFromStringAndArray(config);\n } else if (format) {\n configFromStringAndFormat(config);\n } else {\n configFromInput(config);\n }\n\n if (!isValid(config)) {\n config._d = null;\n }\n\n return config;\n }\n\n function configFromInput(config) {\n var input = config._i;\n if (isUndefined(input)) {\n config._d = new Date(hooks.now());\n } else if (isDate(input)) {\n config._d = new Date(input.valueOf());\n } else if (typeof input === 'string') {\n configFromString(config);\n } else if (isArray(input)) {\n config._a = map(input.slice(0), function (obj) {\n return parseInt(obj, 10);\n });\n configFromArray(config);\n } else if (isObject(input)) {\n configFromObject(config);\n } else if (isNumber(input)) {\n // from milliseconds\n config._d = new Date(input);\n } else {\n hooks.createFromInputFallback(config);\n }\n }\n\n function createLocalOrUTC(input, format, locale, strict, isUTC) {\n var c = {};\n\n if (format === true || format === false) {\n strict = format;\n format = undefined;\n }\n\n if (locale === true || locale === false) {\n strict = locale;\n locale = undefined;\n }\n\n if (\n (isObject(input) && isObjectEmpty(input)) ||\n (isArray(input) && input.length === 0)\n ) {\n input = undefined;\n }\n // object construction must be done this way.\n // https://github.com/moment/moment/issues/1423\n c._isAMomentObject = true;\n c._useUTC = c._isUTC = isUTC;\n c._l = locale;\n c._i = input;\n c._f = format;\n c._strict = strict;\n\n return createFromConfig(c);\n }\n\n function createLocal(input, format, locale, strict) {\n return createLocalOrUTC(input, format, locale, strict, false);\n }\n\n var prototypeMin = deprecate(\n 'moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/',\n function () {\n var other = createLocal.apply(null, arguments);\n if (this.isValid() && other.isValid()) {\n return other < this ? this : other;\n } else {\n return createInvalid();\n }\n }\n ),\n prototypeMax = deprecate(\n 'moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/',\n function () {\n var other = createLocal.apply(null, arguments);\n if (this.isValid() && other.isValid()) {\n return other > this ? this : other;\n } else {\n return createInvalid();\n }\n }\n );\n\n // Pick a moment m from moments so that m[fn](other) is true for all\n // other. This relies on the function fn to be transitive.\n //\n // moments should either be an array of moment objects or an array, whose\n // first element is an array of moment objects.\n function pickBy(fn, moments) {\n var res, i;\n if (moments.length === 1 && isArray(moments[0])) {\n moments = moments[0];\n }\n if (!moments.length) {\n return createLocal();\n }\n res = moments[0];\n for (i = 1; i < moments.length; ++i) {\n if (!moments[i].isValid() || moments[i][fn](res)) {\n res = moments[i];\n }\n }\n return res;\n }\n\n // TODO: Use [].sort instead?\n function min() {\n var args = [].slice.call(arguments, 0);\n\n return pickBy('isBefore', args);\n }\n\n function max() {\n var args = [].slice.call(arguments, 0);\n\n return pickBy('isAfter', args);\n }\n\n var now = function () {\n return Date.now ? Date.now() : +new Date();\n };\n\n var ordering = [\n 'year',\n 'quarter',\n 'month',\n 'week',\n 'day',\n 'hour',\n 'minute',\n 'second',\n 'millisecond',\n ];\n\n function isDurationValid(m) {\n var key,\n unitHasDecimal = false,\n i,\n orderLen = ordering.length;\n for (key in m) {\n if (\n hasOwnProp(m, key) &&\n !(\n indexOf.call(ordering, key) !== -1 &&\n (m[key] == null || !isNaN(m[key]))\n )\n ) {\n return false;\n }\n }\n\n for (i = 0; i < orderLen; ++i) {\n if (m[ordering[i]]) {\n if (unitHasDecimal) {\n return false; // only allow non-integers for smallest unit\n }\n if (parseFloat(m[ordering[i]]) !== toInt(m[ordering[i]])) {\n unitHasDecimal = true;\n }\n }\n }\n\n return true;\n }\n\n function isValid$1() {\n return this._isValid;\n }\n\n function createInvalid$1() {\n return createDuration(NaN);\n }\n\n function Duration(duration) {\n var normalizedInput = normalizeObjectUnits(duration),\n years = normalizedInput.year || 0,\n quarters = normalizedInput.quarter || 0,\n months = normalizedInput.month || 0,\n weeks = normalizedInput.week || normalizedInput.isoWeek || 0,\n days = normalizedInput.day || 0,\n hours = normalizedInput.hour || 0,\n minutes = normalizedInput.minute || 0,\n seconds = normalizedInput.second || 0,\n milliseconds = normalizedInput.millisecond || 0;\n\n this._isValid = isDurationValid(normalizedInput);\n\n // representation for dateAddRemove\n this._milliseconds =\n +milliseconds +\n seconds * 1e3 + // 1000\n minutes * 6e4 + // 1000 * 60\n hours * 1000 * 60 * 60; //using 1000 * 60 * 60 instead of 36e5 to avoid floating point rounding errors https://github.com/moment/moment/issues/2978\n // Because of dateAddRemove treats 24 hours as different from a\n // day when working around DST, we need to store them separately\n this._days = +days + weeks * 7;\n // It is impossible to translate months into days without knowing\n // which months you are are talking about, so we have to store\n // it separately.\n this._months = +months + quarters * 3 + years * 12;\n\n this._data = {};\n\n this._locale = getLocale();\n\n this._bubble();\n }\n\n function isDuration(obj) {\n return obj instanceof Duration;\n }\n\n function absRound(number) {\n if (number < 0) {\n return Math.round(-1 * number) * -1;\n } else {\n return Math.round(number);\n }\n }\n\n // compare two arrays, return the number of differences\n function compareArrays(array1, array2, dontConvert) {\n var len = Math.min(array1.length, array2.length),\n lengthDiff = Math.abs(array1.length - array2.length),\n diffs = 0,\n i;\n for (i = 0; i < len; i++) {\n if (\n (dontConvert && array1[i] !== array2[i]) ||\n (!dontConvert && toInt(array1[i]) !== toInt(array2[i]))\n ) {\n diffs++;\n }\n }\n return diffs + lengthDiff;\n }\n\n // FORMATTING\n\n function offset(token, separator) {\n addFormatToken(token, 0, 0, function () {\n var offset = this.utcOffset(),\n sign = '+';\n if (offset < 0) {\n offset = -offset;\n sign = '-';\n }\n return (\n sign +\n zeroFill(~~(offset / 60), 2) +\n separator +\n zeroFill(~~offset % 60, 2)\n );\n });\n }\n\n offset('Z', ':');\n offset('ZZ', '');\n\n // PARSING\n\n addRegexToken('Z', matchShortOffset);\n addRegexToken('ZZ', matchShortOffset);\n addParseToken(['Z', 'ZZ'], function (input, array, config) {\n config._useUTC = true;\n config._tzm = offsetFromString(matchShortOffset, input);\n });\n\n // HELPERS\n\n // timezone chunker\n // '+10:00' > ['10', '00']\n // '-1530' > ['-15', '30']\n var chunkOffset = /([\\+\\-]|\\d\\d)/gi;\n\n function offsetFromString(matcher, string) {\n var matches = (string || '').match(matcher),\n chunk,\n parts,\n minutes;\n\n if (matches === null) {\n return null;\n }\n\n chunk = matches[matches.length - 1] || [];\n parts = (chunk + '').match(chunkOffset) || ['-', 0, 0];\n minutes = +(parts[1] * 60) + toInt(parts[2]);\n\n return minutes === 0 ? 0 : parts[0] === '+' ? minutes : -minutes;\n }\n\n // Return a moment from input, that is local/utc/zone equivalent to model.\n function cloneWithOffset(input, model) {\n var res, diff;\n if (model._isUTC) {\n res = model.clone();\n diff =\n (isMoment(input) || isDate(input)\n ? input.valueOf()\n : createLocal(input).valueOf()) - res.valueOf();\n // Use low-level api, because this fn is low-level api.\n res._d.setTime(res._d.valueOf() + diff);\n hooks.updateOffset(res, false);\n return res;\n } else {\n return createLocal(input).local();\n }\n }\n\n function getDateOffset(m) {\n // On Firefox.24 Date#getTimezoneOffset returns a floating point.\n // https://github.com/moment/moment/pull/1871\n return -Math.round(m._d.getTimezoneOffset());\n }\n\n // HOOKS\n\n // This function will be called whenever a moment is mutated.\n // It is intended to keep the offset in sync with the timezone.\n hooks.updateOffset = function () {};\n\n // MOMENTS\n\n // keepLocalTime = true means only change the timezone, without\n // affecting the local hour. So 5:31:26 +0300 --[utcOffset(2, true)]-->\n // 5:31:26 +0200 It is possible that 5:31:26 doesn't exist with offset\n // +0200, so we adjust the time as needed, to be valid.\n //\n // Keeping the time actually adds/subtracts (one hour)\n // from the actual represented time. That is why we call updateOffset\n // a second time. In case it wants us to change the offset again\n // _changeInProgress == true case, then we have to adjust, because\n // there is no such time in the given timezone.\n function getSetOffset(input, keepLocalTime, keepMinutes) {\n var offset = this._offset || 0,\n localAdjust;\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n if (input != null) {\n if (typeof input === 'string') {\n input = offsetFromString(matchShortOffset, input);\n if (input === null) {\n return this;\n }\n } else if (Math.abs(input) < 16 && !keepMinutes) {\n input = input * 60;\n }\n if (!this._isUTC && keepLocalTime) {\n localAdjust = getDateOffset(this);\n }\n this._offset = input;\n this._isUTC = true;\n if (localAdjust != null) {\n this.add(localAdjust, 'm');\n }\n if (offset !== input) {\n if (!keepLocalTime || this._changeInProgress) {\n addSubtract(\n this,\n createDuration(input - offset, 'm'),\n 1,\n false\n );\n } else if (!this._changeInProgress) {\n this._changeInProgress = true;\n hooks.updateOffset(this, true);\n this._changeInProgress = null;\n }\n }\n return this;\n } else {\n return this._isUTC ? offset : getDateOffset(this);\n }\n }\n\n function getSetZone(input, keepLocalTime) {\n if (input != null) {\n if (typeof input !== 'string') {\n input = -input;\n }\n\n this.utcOffset(input, keepLocalTime);\n\n return this;\n } else {\n return -this.utcOffset();\n }\n }\n\n function setOffsetToUTC(keepLocalTime) {\n return this.utcOffset(0, keepLocalTime);\n }\n\n function setOffsetToLocal(keepLocalTime) {\n if (this._isUTC) {\n this.utcOffset(0, keepLocalTime);\n this._isUTC = false;\n\n if (keepLocalTime) {\n this.subtract(getDateOffset(this), 'm');\n }\n }\n return this;\n }\n\n function setOffsetToParsedOffset() {\n if (this._tzm != null) {\n this.utcOffset(this._tzm, false, true);\n } else if (typeof this._i === 'string') {\n var tZone = offsetFromString(matchOffset, this._i);\n if (tZone != null) {\n this.utcOffset(tZone);\n } else {\n this.utcOffset(0, true);\n }\n }\n return this;\n }\n\n function hasAlignedHourOffset(input) {\n if (!this.isValid()) {\n return false;\n }\n input = input ? createLocal(input).utcOffset() : 0;\n\n return (this.utcOffset() - input) % 60 === 0;\n }\n\n function isDaylightSavingTime() {\n return (\n this.utcOffset() > this.clone().month(0).utcOffset() ||\n this.utcOffset() > this.clone().month(5).utcOffset()\n );\n }\n\n function isDaylightSavingTimeShifted() {\n if (!isUndefined(this._isDSTShifted)) {\n return this._isDSTShifted;\n }\n\n var c = {},\n other;\n\n copyConfig(c, this);\n c = prepareConfig(c);\n\n if (c._a) {\n other = c._isUTC ? createUTC(c._a) : createLocal(c._a);\n this._isDSTShifted =\n this.isValid() && compareArrays(c._a, other.toArray()) > 0;\n } else {\n this._isDSTShifted = false;\n }\n\n return this._isDSTShifted;\n }\n\n function isLocal() {\n return this.isValid() ? !this._isUTC : false;\n }\n\n function isUtcOffset() {\n return this.isValid() ? this._isUTC : false;\n }\n\n function isUtc() {\n return this.isValid() ? this._isUTC && this._offset === 0 : false;\n }\n\n // ASP.NET json date format regex\n var aspNetRegex = /^(-|\\+)?(?:(\\d*)[. ])?(\\d+):(\\d+)(?::(\\d+)(\\.\\d*)?)?$/,\n // from http://docs.closure-library.googlecode.com/git/closure_goog_date_date.js.source.html\n // somewhat more in line with 4.4.3.2 2004 spec, but allows decimal anywhere\n // and further modified to allow for strings containing both week and day\n isoRegex =\n /^(-|\\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;\n\n function createDuration(input, key) {\n var duration = input,\n // matching against regexp is expensive, do it on demand\n match = null,\n sign,\n ret,\n diffRes;\n\n if (isDuration(input)) {\n duration = {\n ms: input._milliseconds,\n d: input._days,\n M: input._months,\n };\n } else if (isNumber(input) || !isNaN(+input)) {\n duration = {};\n if (key) {\n duration[key] = +input;\n } else {\n duration.milliseconds = +input;\n }\n } else if ((match = aspNetRegex.exec(input))) {\n sign = match[1] === '-' ? -1 : 1;\n duration = {\n y: 0,\n d: toInt(match[DATE]) * sign,\n h: toInt(match[HOUR]) * sign,\n m: toInt(match[MINUTE]) * sign,\n s: toInt(match[SECOND]) * sign,\n ms: toInt(absRound(match[MILLISECOND] * 1000)) * sign, // the millisecond decimal point is included in the match\n };\n } else if ((match = isoRegex.exec(input))) {\n sign = match[1] === '-' ? -1 : 1;\n duration = {\n y: parseIso(match[2], sign),\n M: parseIso(match[3], sign),\n w: parseIso(match[4], sign),\n d: parseIso(match[5], sign),\n h: parseIso(match[6], sign),\n m: parseIso(match[7], sign),\n s: parseIso(match[8], sign),\n };\n } else if (duration == null) {\n // checks for null or undefined\n duration = {};\n } else if (\n typeof duration === 'object' &&\n ('from' in duration || 'to' in duration)\n ) {\n diffRes = momentsDifference(\n createLocal(duration.from),\n createLocal(duration.to)\n );\n\n duration = {};\n duration.ms = diffRes.milliseconds;\n duration.M = diffRes.months;\n }\n\n ret = new Duration(duration);\n\n if (isDuration(input) && hasOwnProp(input, '_locale')) {\n ret._locale = input._locale;\n }\n\n if (isDuration(input) && hasOwnProp(input, '_isValid')) {\n ret._isValid = input._isValid;\n }\n\n return ret;\n }\n\n createDuration.fn = Duration.prototype;\n createDuration.invalid = createInvalid$1;\n\n function parseIso(inp, sign) {\n // We'd normally use ~~inp for this, but unfortunately it also\n // converts floats to ints.\n // inp may be undefined, so careful calling replace on it.\n var res = inp && parseFloat(inp.replace(',', '.'));\n // apply sign while we're at it\n return (isNaN(res) ? 0 : res) * sign;\n }\n\n function positiveMomentsDifference(base, other) {\n var res = {};\n\n res.months =\n other.month() - base.month() + (other.year() - base.year()) * 12;\n if (base.clone().add(res.months, 'M').isAfter(other)) {\n --res.months;\n }\n\n res.milliseconds = +other - +base.clone().add(res.months, 'M');\n\n return res;\n }\n\n function momentsDifference(base, other) {\n var res;\n if (!(base.isValid() && other.isValid())) {\n return { milliseconds: 0, months: 0 };\n }\n\n other = cloneWithOffset(other, base);\n if (base.isBefore(other)) {\n res = positiveMomentsDifference(base, other);\n } else {\n res = positiveMomentsDifference(other, base);\n res.milliseconds = -res.milliseconds;\n res.months = -res.months;\n }\n\n return res;\n }\n\n // TODO: remove 'name' arg after deprecation is removed\n function createAdder(direction, name) {\n return function (val, period) {\n var dur, tmp;\n //invert the arguments, but complain about it\n if (period !== null && !isNaN(+period)) {\n deprecateSimple(\n name,\n 'moment().' +\n name +\n '(period, number) is deprecated. Please use moment().' +\n name +\n '(number, period). ' +\n 'See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info.'\n );\n tmp = val;\n val = period;\n period = tmp;\n }\n\n dur = createDuration(val, period);\n addSubtract(this, dur, direction);\n return this;\n };\n }\n\n function addSubtract(mom, duration, isAdding, updateOffset) {\n var milliseconds = duration._milliseconds,\n days = absRound(duration._days),\n months = absRound(duration._months);\n\n if (!mom.isValid()) {\n // No op\n return;\n }\n\n updateOffset = updateOffset == null ? true : updateOffset;\n\n if (months) {\n setMonth(mom, get(mom, 'Month') + months * isAdding);\n }\n if (days) {\n set$1(mom, 'Date', get(mom, 'Date') + days * isAdding);\n }\n if (milliseconds) {\n mom._d.setTime(mom._d.valueOf() + milliseconds * isAdding);\n }\n if (updateOffset) {\n hooks.updateOffset(mom, days || months);\n }\n }\n\n var add = createAdder(1, 'add'),\n subtract = createAdder(-1, 'subtract');\n\n function isString(input) {\n return typeof input === 'string' || input instanceof String;\n }\n\n // type MomentInput = Moment | Date | string | number | (number | string)[] | MomentInputObject | void; // null | undefined\n function isMomentInput(input) {\n return (\n isMoment(input) ||\n isDate(input) ||\n isString(input) ||\n isNumber(input) ||\n isNumberOrStringArray(input) ||\n isMomentInputObject(input) ||\n input === null ||\n input === undefined\n );\n }\n\n function isMomentInputObject(input) {\n var objectTest = isObject(input) && !isObjectEmpty(input),\n propertyTest = false,\n properties = [\n 'years',\n 'year',\n 'y',\n 'months',\n 'month',\n 'M',\n 'days',\n 'day',\n 'd',\n 'dates',\n 'date',\n 'D',\n 'hours',\n 'hour',\n 'h',\n 'minutes',\n 'minute',\n 'm',\n 'seconds',\n 'second',\n 's',\n 'milliseconds',\n 'millisecond',\n 'ms',\n ],\n i,\n property,\n propertyLen = properties.length;\n\n for (i = 0; i < propertyLen; i += 1) {\n property = properties[i];\n propertyTest = propertyTest || hasOwnProp(input, property);\n }\n\n return objectTest && propertyTest;\n }\n\n function isNumberOrStringArray(input) {\n var arrayTest = isArray(input),\n dataTypeTest = false;\n if (arrayTest) {\n dataTypeTest =\n input.filter(function (item) {\n return !isNumber(item) && isString(input);\n }).length === 0;\n }\n return arrayTest && dataTypeTest;\n }\n\n function isCalendarSpec(input) {\n var objectTest = isObject(input) && !isObjectEmpty(input),\n propertyTest = false,\n properties = [\n 'sameDay',\n 'nextDay',\n 'lastDay',\n 'nextWeek',\n 'lastWeek',\n 'sameElse',\n ],\n i,\n property;\n\n for (i = 0; i < properties.length; i += 1) {\n property = properties[i];\n propertyTest = propertyTest || hasOwnProp(input, property);\n }\n\n return objectTest && propertyTest;\n }\n\n function getCalendarFormat(myMoment, now) {\n var diff = myMoment.diff(now, 'days', true);\n return diff < -6\n ? 'sameElse'\n : diff < -1\n ? 'lastWeek'\n : diff < 0\n ? 'lastDay'\n : diff < 1\n ? 'sameDay'\n : diff < 2\n ? 'nextDay'\n : diff < 7\n ? 'nextWeek'\n : 'sameElse';\n }\n\n function calendar$1(time, formats) {\n // Support for single parameter, formats only overload to the calendar function\n if (arguments.length === 1) {\n if (!arguments[0]) {\n time = undefined;\n formats = undefined;\n } else if (isMomentInput(arguments[0])) {\n time = arguments[0];\n formats = undefined;\n } else if (isCalendarSpec(arguments[0])) {\n formats = arguments[0];\n time = undefined;\n }\n }\n // We want to compare the start of today, vs this.\n // Getting start-of-today depends on whether we're local/utc/offset or not.\n var now = time || createLocal(),\n sod = cloneWithOffset(now, this).startOf('day'),\n format = hooks.calendarFormat(this, sod) || 'sameElse',\n output =\n formats &&\n (isFunction(formats[format])\n ? formats[format].call(this, now)\n : formats[format]);\n\n return this.format(\n output || this.localeData().calendar(format, this, createLocal(now))\n );\n }\n\n function clone() {\n return new Moment(this);\n }\n\n function isAfter(input, units) {\n var localInput = isMoment(input) ? input : createLocal(input);\n if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n units = normalizeUnits(units) || 'millisecond';\n if (units === 'millisecond') {\n return this.valueOf() > localInput.valueOf();\n } else {\n return localInput.valueOf() < this.clone().startOf(units).valueOf();\n }\n }\n\n function isBefore(input, units) {\n var localInput = isMoment(input) ? input : createLocal(input);\n if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n units = normalizeUnits(units) || 'millisecond';\n if (units === 'millisecond') {\n return this.valueOf() < localInput.valueOf();\n } else {\n return this.clone().endOf(units).valueOf() < localInput.valueOf();\n }\n }\n\n function isBetween(from, to, units, inclusivity) {\n var localFrom = isMoment(from) ? from : createLocal(from),\n localTo = isMoment(to) ? to : createLocal(to);\n if (!(this.isValid() && localFrom.isValid() && localTo.isValid())) {\n return false;\n }\n inclusivity = inclusivity || '()';\n return (\n (inclusivity[0] === '('\n ? this.isAfter(localFrom, units)\n : !this.isBefore(localFrom, units)) &&\n (inclusivity[1] === ')'\n ? this.isBefore(localTo, units)\n : !this.isAfter(localTo, units))\n );\n }\n\n function isSame(input, units) {\n var localInput = isMoment(input) ? input : createLocal(input),\n inputMs;\n if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n units = normalizeUnits(units) || 'millisecond';\n if (units === 'millisecond') {\n return this.valueOf() === localInput.valueOf();\n } else {\n inputMs = localInput.valueOf();\n return (\n this.clone().startOf(units).valueOf() <= inputMs &&\n inputMs <= this.clone().endOf(units).valueOf()\n );\n }\n }\n\n function isSameOrAfter(input, units) {\n return this.isSame(input, units) || this.isAfter(input, units);\n }\n\n function isSameOrBefore(input, units) {\n return this.isSame(input, units) || this.isBefore(input, units);\n }\n\n function diff(input, units, asFloat) {\n var that, zoneDelta, output;\n\n if (!this.isValid()) {\n return NaN;\n }\n\n that = cloneWithOffset(input, this);\n\n if (!that.isValid()) {\n return NaN;\n }\n\n zoneDelta = (that.utcOffset() - this.utcOffset()) * 6e4;\n\n units = normalizeUnits(units);\n\n switch (units) {\n case 'year':\n output = monthDiff(this, that) / 12;\n break;\n case 'month':\n output = monthDiff(this, that);\n break;\n case 'quarter':\n output = monthDiff(this, that) / 3;\n break;\n case 'second':\n output = (this - that) / 1e3;\n break; // 1000\n case 'minute':\n output = (this - that) / 6e4;\n break; // 1000 * 60\n case 'hour':\n output = (this - that) / 36e5;\n break; // 1000 * 60 * 60\n case 'day':\n output = (this - that - zoneDelta) / 864e5;\n break; // 1000 * 60 * 60 * 24, negate dst\n case 'week':\n output = (this - that - zoneDelta) / 6048e5;\n break; // 1000 * 60 * 60 * 24 * 7, negate dst\n default:\n output = this - that;\n }\n\n return asFloat ? output : absFloor(output);\n }\n\n function monthDiff(a, b) {\n if (a.date() < b.date()) {\n // end-of-month calculations work correct when the start month has more\n // days than the end month.\n return -monthDiff(b, a);\n }\n // difference in months\n var wholeMonthDiff = (b.year() - a.year()) * 12 + (b.month() - a.month()),\n // b is in (anchor - 1 month, anchor + 1 month)\n anchor = a.clone().add(wholeMonthDiff, 'months'),\n anchor2,\n adjust;\n\n if (b - anchor < 0) {\n anchor2 = a.clone().add(wholeMonthDiff - 1, 'months');\n // linear across the month\n adjust = (b - anchor) / (anchor - anchor2);\n } else {\n anchor2 = a.clone().add(wholeMonthDiff + 1, 'months');\n // linear across the month\n adjust = (b - anchor) / (anchor2 - anchor);\n }\n\n //check for negative zero, return zero if negative zero\n return -(wholeMonthDiff + adjust) || 0;\n }\n\n hooks.defaultFormat = 'YYYY-MM-DDTHH:mm:ssZ';\n hooks.defaultFormatUtc = 'YYYY-MM-DDTHH:mm:ss[Z]';\n\n function toString() {\n return this.clone().locale('en').format('ddd MMM DD YYYY HH:mm:ss [GMT]ZZ');\n }\n\n function toISOString(keepOffset) {\n if (!this.isValid()) {\n return null;\n }\n var utc = keepOffset !== true,\n m = utc ? this.clone().utc() : this;\n if (m.year() < 0 || m.year() > 9999) {\n return formatMoment(\n m,\n utc\n ? 'YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]'\n : 'YYYYYY-MM-DD[T]HH:mm:ss.SSSZ'\n );\n }\n if (isFunction(Date.prototype.toISOString)) {\n // native implementation is ~50x faster, use it when we can\n if (utc) {\n return this.toDate().toISOString();\n } else {\n return new Date(this.valueOf() + this.utcOffset() * 60 * 1000)\n .toISOString()\n .replace('Z', formatMoment(m, 'Z'));\n }\n }\n return formatMoment(\n m,\n utc ? 'YYYY-MM-DD[T]HH:mm:ss.SSS[Z]' : 'YYYY-MM-DD[T]HH:mm:ss.SSSZ'\n );\n }\n\n /**\n * Return a human readable representation of a moment that can\n * also be evaluated to get a new moment which is the same\n *\n * @link https://nodejs.org/dist/latest/docs/api/util.html#util_custom_inspect_function_on_objects\n */\n function inspect() {\n if (!this.isValid()) {\n return 'moment.invalid(/* ' + this._i + ' */)';\n }\n var func = 'moment',\n zone = '',\n prefix,\n year,\n datetime,\n suffix;\n if (!this.isLocal()) {\n func = this.utcOffset() === 0 ? 'moment.utc' : 'moment.parseZone';\n zone = 'Z';\n }\n prefix = '[' + func + '(\"]';\n year = 0 <= this.year() && this.year() <= 9999 ? 'YYYY' : 'YYYYYY';\n datetime = '-MM-DD[T]HH:mm:ss.SSS';\n suffix = zone + '[\")]';\n\n return this.format(prefix + year + datetime + suffix);\n }\n\n function format(inputString) {\n if (!inputString) {\n inputString = this.isUtc()\n ? hooks.defaultFormatUtc\n : hooks.defaultFormat;\n }\n var output = formatMoment(this, inputString);\n return this.localeData().postformat(output);\n }\n\n function from(time, withoutSuffix) {\n if (\n this.isValid() &&\n ((isMoment(time) && time.isValid()) || createLocal(time).isValid())\n ) {\n return createDuration({ to: this, from: time })\n .locale(this.locale())\n .humanize(!withoutSuffix);\n } else {\n return this.localeData().invalidDate();\n }\n }\n\n function fromNow(withoutSuffix) {\n return this.from(createLocal(), withoutSuffix);\n }\n\n function to(time, withoutSuffix) {\n if (\n this.isValid() &&\n ((isMoment(time) && time.isValid()) || createLocal(time).isValid())\n ) {\n return createDuration({ from: this, to: time })\n .locale(this.locale())\n .humanize(!withoutSuffix);\n } else {\n return this.localeData().invalidDate();\n }\n }\n\n function toNow(withoutSuffix) {\n return this.to(createLocal(), withoutSuffix);\n }\n\n // If passed a locale key, it will set the locale for this\n // instance. Otherwise, it will return the locale configuration\n // variables for this instance.\n function locale(key) {\n var newLocaleData;\n\n if (key === undefined) {\n return this._locale._abbr;\n } else {\n newLocaleData = getLocale(key);\n if (newLocaleData != null) {\n this._locale = newLocaleData;\n }\n return this;\n }\n }\n\n var lang = deprecate(\n 'moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.',\n function (key) {\n if (key === undefined) {\n return this.localeData();\n } else {\n return this.locale(key);\n }\n }\n );\n\n function localeData() {\n return this._locale;\n }\n\n var MS_PER_SECOND = 1000,\n MS_PER_MINUTE = 60 * MS_PER_SECOND,\n MS_PER_HOUR = 60 * MS_PER_MINUTE,\n MS_PER_400_YEARS = (365 * 400 + 97) * 24 * MS_PER_HOUR;\n\n // actual modulo - handles negative numbers (for dates before 1970):\n function mod$1(dividend, divisor) {\n return ((dividend % divisor) + divisor) % divisor;\n }\n\n function localStartOfDate(y, m, d) {\n // the date constructor remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0) {\n // preserve leap years using a full 400 year cycle, then reset\n return new Date(y + 400, m, d) - MS_PER_400_YEARS;\n } else {\n return new Date(y, m, d).valueOf();\n }\n }\n\n function utcStartOfDate(y, m, d) {\n // Date.UTC remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0) {\n // preserve leap years using a full 400 year cycle, then reset\n return Date.UTC(y + 400, m, d) - MS_PER_400_YEARS;\n } else {\n return Date.UTC(y, m, d);\n }\n }\n\n function startOf(units) {\n var time, startOfDate;\n units = normalizeUnits(units);\n if (units === undefined || units === 'millisecond' || !this.isValid()) {\n return this;\n }\n\n startOfDate = this._isUTC ? utcStartOfDate : localStartOfDate;\n\n switch (units) {\n case 'year':\n time = startOfDate(this.year(), 0, 1);\n break;\n case 'quarter':\n time = startOfDate(\n this.year(),\n this.month() - (this.month() % 3),\n 1\n );\n break;\n case 'month':\n time = startOfDate(this.year(), this.month(), 1);\n break;\n case 'week':\n time = startOfDate(\n this.year(),\n this.month(),\n this.date() - this.weekday()\n );\n break;\n case 'isoWeek':\n time = startOfDate(\n this.year(),\n this.month(),\n this.date() - (this.isoWeekday() - 1)\n );\n break;\n case 'day':\n case 'date':\n time = startOfDate(this.year(), this.month(), this.date());\n break;\n case 'hour':\n time = this._d.valueOf();\n time -= mod$1(\n time + (this._isUTC ? 0 : this.utcOffset() * MS_PER_MINUTE),\n MS_PER_HOUR\n );\n break;\n case 'minute':\n time = this._d.valueOf();\n time -= mod$1(time, MS_PER_MINUTE);\n break;\n case 'second':\n time = this._d.valueOf();\n time -= mod$1(time, MS_PER_SECOND);\n break;\n }\n\n this._d.setTime(time);\n hooks.updateOffset(this, true);\n return this;\n }\n\n function endOf(units) {\n var time, startOfDate;\n units = normalizeUnits(units);\n if (units === undefined || units === 'millisecond' || !this.isValid()) {\n return this;\n }\n\n startOfDate = this._isUTC ? utcStartOfDate : localStartOfDate;\n\n switch (units) {\n case 'year':\n time = startOfDate(this.year() + 1, 0, 1) - 1;\n break;\n case 'quarter':\n time =\n startOfDate(\n this.year(),\n this.month() - (this.month() % 3) + 3,\n 1\n ) - 1;\n break;\n case 'month':\n time = startOfDate(this.year(), this.month() + 1, 1) - 1;\n break;\n case 'week':\n time =\n startOfDate(\n this.year(),\n this.month(),\n this.date() - this.weekday() + 7\n ) - 1;\n break;\n case 'isoWeek':\n time =\n startOfDate(\n this.year(),\n this.month(),\n this.date() - (this.isoWeekday() - 1) + 7\n ) - 1;\n break;\n case 'day':\n case 'date':\n time = startOfDate(this.year(), this.month(), this.date() + 1) - 1;\n break;\n case 'hour':\n time = this._d.valueOf();\n time +=\n MS_PER_HOUR -\n mod$1(\n time + (this._isUTC ? 0 : this.utcOffset() * MS_PER_MINUTE),\n MS_PER_HOUR\n ) -\n 1;\n break;\n case 'minute':\n time = this._d.valueOf();\n time += MS_PER_MINUTE - mod$1(time, MS_PER_MINUTE) - 1;\n break;\n case 'second':\n time = this._d.valueOf();\n time += MS_PER_SECOND - mod$1(time, MS_PER_SECOND) - 1;\n break;\n }\n\n this._d.setTime(time);\n hooks.updateOffset(this, true);\n return this;\n }\n\n function valueOf() {\n return this._d.valueOf() - (this._offset || 0) * 60000;\n }\n\n function unix() {\n return Math.floor(this.valueOf() / 1000);\n }\n\n function toDate() {\n return new Date(this.valueOf());\n }\n\n function toArray() {\n var m = this;\n return [\n m.year(),\n m.month(),\n m.date(),\n m.hour(),\n m.minute(),\n m.second(),\n m.millisecond(),\n ];\n }\n\n function toObject() {\n var m = this;\n return {\n years: m.year(),\n months: m.month(),\n date: m.date(),\n hours: m.hours(),\n minutes: m.minutes(),\n seconds: m.seconds(),\n milliseconds: m.milliseconds(),\n };\n }\n\n function toJSON() {\n // new Date(NaN).toJSON() === null\n return this.isValid() ? this.toISOString() : null;\n }\n\n function isValid$2() {\n return isValid(this);\n }\n\n function parsingFlags() {\n return extend({}, getParsingFlags(this));\n }\n\n function invalidAt() {\n return getParsingFlags(this).overflow;\n }\n\n function creationData() {\n return {\n input: this._i,\n format: this._f,\n locale: this._locale,\n isUTC: this._isUTC,\n strict: this._strict,\n };\n }\n\n addFormatToken('N', 0, 0, 'eraAbbr');\n addFormatToken('NN', 0, 0, 'eraAbbr');\n addFormatToken('NNN', 0, 0, 'eraAbbr');\n addFormatToken('NNNN', 0, 0, 'eraName');\n addFormatToken('NNNNN', 0, 0, 'eraNarrow');\n\n addFormatToken('y', ['y', 1], 'yo', 'eraYear');\n addFormatToken('y', ['yy', 2], 0, 'eraYear');\n addFormatToken('y', ['yyy', 3], 0, 'eraYear');\n addFormatToken('y', ['yyyy', 4], 0, 'eraYear');\n\n addRegexToken('N', matchEraAbbr);\n addRegexToken('NN', matchEraAbbr);\n addRegexToken('NNN', matchEraAbbr);\n addRegexToken('NNNN', matchEraName);\n addRegexToken('NNNNN', matchEraNarrow);\n\n addParseToken(\n ['N', 'NN', 'NNN', 'NNNN', 'NNNNN'],\n function (input, array, config, token) {\n var era = config._locale.erasParse(input, token, config._strict);\n if (era) {\n getParsingFlags(config).era = era;\n } else {\n getParsingFlags(config).invalidEra = input;\n }\n }\n );\n\n addRegexToken('y', matchUnsigned);\n addRegexToken('yy', matchUnsigned);\n addRegexToken('yyy', matchUnsigned);\n addRegexToken('yyyy', matchUnsigned);\n addRegexToken('yo', matchEraYearOrdinal);\n\n addParseToken(['y', 'yy', 'yyy', 'yyyy'], YEAR);\n addParseToken(['yo'], function (input, array, config, token) {\n var match;\n if (config._locale._eraYearOrdinalRegex) {\n match = input.match(config._locale._eraYearOrdinalRegex);\n }\n\n if (config._locale.eraYearOrdinalParse) {\n array[YEAR] = config._locale.eraYearOrdinalParse(input, match);\n } else {\n array[YEAR] = parseInt(input, 10);\n }\n });\n\n function localeEras(m, format) {\n var i,\n l,\n date,\n eras = this._eras || getLocale('en')._eras;\n for (i = 0, l = eras.length; i < l; ++i) {\n switch (typeof eras[i].since) {\n case 'string':\n // truncate time\n date = hooks(eras[i].since).startOf('day');\n eras[i].since = date.valueOf();\n break;\n }\n\n switch (typeof eras[i].until) {\n case 'undefined':\n eras[i].until = +Infinity;\n break;\n case 'string':\n // truncate time\n date = hooks(eras[i].until).startOf('day').valueOf();\n eras[i].until = date.valueOf();\n break;\n }\n }\n return eras;\n }\n\n function localeErasParse(eraName, format, strict) {\n var i,\n l,\n eras = this.eras(),\n name,\n abbr,\n narrow;\n eraName = eraName.toUpperCase();\n\n for (i = 0, l = eras.length; i < l; ++i) {\n name = eras[i].name.toUpperCase();\n abbr = eras[i].abbr.toUpperCase();\n narrow = eras[i].narrow.toUpperCase();\n\n if (strict) {\n switch (format) {\n case 'N':\n case 'NN':\n case 'NNN':\n if (abbr === eraName) {\n return eras[i];\n }\n break;\n\n case 'NNNN':\n if (name === eraName) {\n return eras[i];\n }\n break;\n\n case 'NNNNN':\n if (narrow === eraName) {\n return eras[i];\n }\n break;\n }\n } else if ([name, abbr, narrow].indexOf(eraName) >= 0) {\n return eras[i];\n }\n }\n }\n\n function localeErasConvertYear(era, year) {\n var dir = era.since <= era.until ? +1 : -1;\n if (year === undefined) {\n return hooks(era.since).year();\n } else {\n return hooks(era.since).year() + (year - era.offset) * dir;\n }\n }\n\n function getEraName() {\n var i,\n l,\n val,\n eras = this.localeData().eras();\n for (i = 0, l = eras.length; i < l; ++i) {\n // truncate time\n val = this.clone().startOf('day').valueOf();\n\n if (eras[i].since <= val && val <= eras[i].until) {\n return eras[i].name;\n }\n if (eras[i].until <= val && val <= eras[i].since) {\n return eras[i].name;\n }\n }\n\n return '';\n }\n\n function getEraNarrow() {\n var i,\n l,\n val,\n eras = this.localeData().eras();\n for (i = 0, l = eras.length; i < l; ++i) {\n // truncate time\n val = this.clone().startOf('day').valueOf();\n\n if (eras[i].since <= val && val <= eras[i].until) {\n return eras[i].narrow;\n }\n if (eras[i].until <= val && val <= eras[i].since) {\n return eras[i].narrow;\n }\n }\n\n return '';\n }\n\n function getEraAbbr() {\n var i,\n l,\n val,\n eras = this.localeData().eras();\n for (i = 0, l = eras.length; i < l; ++i) {\n // truncate time\n val = this.clone().startOf('day').valueOf();\n\n if (eras[i].since <= val && val <= eras[i].until) {\n return eras[i].abbr;\n }\n if (eras[i].until <= val && val <= eras[i].since) {\n return eras[i].abbr;\n }\n }\n\n return '';\n }\n\n function getEraYear() {\n var i,\n l,\n dir,\n val,\n eras = this.localeData().eras();\n for (i = 0, l = eras.length; i < l; ++i) {\n dir = eras[i].since <= eras[i].until ? +1 : -1;\n\n // truncate time\n val = this.clone().startOf('day').valueOf();\n\n if (\n (eras[i].since <= val && val <= eras[i].until) ||\n (eras[i].until <= val && val <= eras[i].since)\n ) {\n return (\n (this.year() - hooks(eras[i].since).year()) * dir +\n eras[i].offset\n );\n }\n }\n\n return this.year();\n }\n\n function erasNameRegex(isStrict) {\n if (!hasOwnProp(this, '_erasNameRegex')) {\n computeErasParse.call(this);\n }\n return isStrict ? this._erasNameRegex : this._erasRegex;\n }\n\n function erasAbbrRegex(isStrict) {\n if (!hasOwnProp(this, '_erasAbbrRegex')) {\n computeErasParse.call(this);\n }\n return isStrict ? this._erasAbbrRegex : this._erasRegex;\n }\n\n function erasNarrowRegex(isStrict) {\n if (!hasOwnProp(this, '_erasNarrowRegex')) {\n computeErasParse.call(this);\n }\n return isStrict ? this._erasNarrowRegex : this._erasRegex;\n }\n\n function matchEraAbbr(isStrict, locale) {\n return locale.erasAbbrRegex(isStrict);\n }\n\n function matchEraName(isStrict, locale) {\n return locale.erasNameRegex(isStrict);\n }\n\n function matchEraNarrow(isStrict, locale) {\n return locale.erasNarrowRegex(isStrict);\n }\n\n function matchEraYearOrdinal(isStrict, locale) {\n return locale._eraYearOrdinalRegex || matchUnsigned;\n }\n\n function computeErasParse() {\n var abbrPieces = [],\n namePieces = [],\n narrowPieces = [],\n mixedPieces = [],\n i,\n l,\n erasName,\n erasAbbr,\n erasNarrow,\n eras = this.eras();\n\n for (i = 0, l = eras.length; i < l; ++i) {\n erasName = regexEscape(eras[i].name);\n erasAbbr = regexEscape(eras[i].abbr);\n erasNarrow = regexEscape(eras[i].narrow);\n\n namePieces.push(erasName);\n abbrPieces.push(erasAbbr);\n narrowPieces.push(erasNarrow);\n mixedPieces.push(erasName);\n mixedPieces.push(erasAbbr);\n mixedPieces.push(erasNarrow);\n }\n\n this._erasRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\n this._erasNameRegex = new RegExp('^(' + namePieces.join('|') + ')', 'i');\n this._erasAbbrRegex = new RegExp('^(' + abbrPieces.join('|') + ')', 'i');\n this._erasNarrowRegex = new RegExp(\n '^(' + narrowPieces.join('|') + ')',\n 'i'\n );\n }\n\n // FORMATTING\n\n addFormatToken(0, ['gg', 2], 0, function () {\n return this.weekYear() % 100;\n });\n\n addFormatToken(0, ['GG', 2], 0, function () {\n return this.isoWeekYear() % 100;\n });\n\n function addWeekYearFormatToken(token, getter) {\n addFormatToken(0, [token, token.length], 0, getter);\n }\n\n addWeekYearFormatToken('gggg', 'weekYear');\n addWeekYearFormatToken('ggggg', 'weekYear');\n addWeekYearFormatToken('GGGG', 'isoWeekYear');\n addWeekYearFormatToken('GGGGG', 'isoWeekYear');\n\n // ALIASES\n\n // PARSING\n\n addRegexToken('G', matchSigned);\n addRegexToken('g', matchSigned);\n addRegexToken('GG', match1to2, match2);\n addRegexToken('gg', match1to2, match2);\n addRegexToken('GGGG', match1to4, match4);\n addRegexToken('gggg', match1to4, match4);\n addRegexToken('GGGGG', match1to6, match6);\n addRegexToken('ggggg', match1to6, match6);\n\n addWeekParseToken(\n ['gggg', 'ggggg', 'GGGG', 'GGGGG'],\n function (input, week, config, token) {\n week[token.substr(0, 2)] = toInt(input);\n }\n );\n\n addWeekParseToken(['gg', 'GG'], function (input, week, config, token) {\n week[token] = hooks.parseTwoDigitYear(input);\n });\n\n // MOMENTS\n\n function getSetWeekYear(input) {\n return getSetWeekYearHelper.call(\n this,\n input,\n this.week(),\n this.weekday() + this.localeData()._week.dow,\n this.localeData()._week.dow,\n this.localeData()._week.doy\n );\n }\n\n function getSetISOWeekYear(input) {\n return getSetWeekYearHelper.call(\n this,\n input,\n this.isoWeek(),\n this.isoWeekday(),\n 1,\n 4\n );\n }\n\n function getISOWeeksInYear() {\n return weeksInYear(this.year(), 1, 4);\n }\n\n function getISOWeeksInISOWeekYear() {\n return weeksInYear(this.isoWeekYear(), 1, 4);\n }\n\n function getWeeksInYear() {\n var weekInfo = this.localeData()._week;\n return weeksInYear(this.year(), weekInfo.dow, weekInfo.doy);\n }\n\n function getWeeksInWeekYear() {\n var weekInfo = this.localeData()._week;\n return weeksInYear(this.weekYear(), weekInfo.dow, weekInfo.doy);\n }\n\n function getSetWeekYearHelper(input, week, weekday, dow, doy) {\n var weeksTarget;\n if (input == null) {\n return weekOfYear(this, dow, doy).year;\n } else {\n weeksTarget = weeksInYear(input, dow, doy);\n if (week > weeksTarget) {\n week = weeksTarget;\n }\n return setWeekAll.call(this, input, week, weekday, dow, doy);\n }\n }\n\n function setWeekAll(weekYear, week, weekday, dow, doy) {\n var dayOfYearData = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy),\n date = createUTCDate(dayOfYearData.year, 0, dayOfYearData.dayOfYear);\n\n this.year(date.getUTCFullYear());\n this.month(date.getUTCMonth());\n this.date(date.getUTCDate());\n return this;\n }\n\n // FORMATTING\n\n addFormatToken('Q', 0, 'Qo', 'quarter');\n\n // PARSING\n\n addRegexToken('Q', match1);\n addParseToken('Q', function (input, array) {\n array[MONTH] = (toInt(input) - 1) * 3;\n });\n\n // MOMENTS\n\n function getSetQuarter(input) {\n return input == null\n ? Math.ceil((this.month() + 1) / 3)\n : this.month((input - 1) * 3 + (this.month() % 3));\n }\n\n // FORMATTING\n\n addFormatToken('D', ['DD', 2], 'Do', 'date');\n\n // PARSING\n\n addRegexToken('D', match1to2, match1to2NoLeadingZero);\n addRegexToken('DD', match1to2, match2);\n addRegexToken('Do', function (isStrict, locale) {\n // TODO: Remove \"ordinalParse\" fallback in next major release.\n return isStrict\n ? locale._dayOfMonthOrdinalParse || locale._ordinalParse\n : locale._dayOfMonthOrdinalParseLenient;\n });\n\n addParseToken(['D', 'DD'], DATE);\n addParseToken('Do', function (input, array) {\n array[DATE] = toInt(input.match(match1to2)[0]);\n });\n\n // MOMENTS\n\n var getSetDayOfMonth = makeGetSet('Date', true);\n\n // FORMATTING\n\n addFormatToken('DDD', ['DDDD', 3], 'DDDo', 'dayOfYear');\n\n // PARSING\n\n addRegexToken('DDD', match1to3);\n addRegexToken('DDDD', match3);\n addParseToken(['DDD', 'DDDD'], function (input, array, config) {\n config._dayOfYear = toInt(input);\n });\n\n // HELPERS\n\n // MOMENTS\n\n function getSetDayOfYear(input) {\n var dayOfYear =\n Math.round(\n (this.clone().startOf('day') - this.clone().startOf('year')) / 864e5\n ) + 1;\n return input == null ? dayOfYear : this.add(input - dayOfYear, 'd');\n }\n\n // FORMATTING\n\n addFormatToken('m', ['mm', 2], 0, 'minute');\n\n // PARSING\n\n addRegexToken('m', match1to2, match1to2HasZero);\n addRegexToken('mm', match1to2, match2);\n addParseToken(['m', 'mm'], MINUTE);\n\n // MOMENTS\n\n var getSetMinute = makeGetSet('Minutes', false);\n\n // FORMATTING\n\n addFormatToken('s', ['ss', 2], 0, 'second');\n\n // PARSING\n\n addRegexToken('s', match1to2, match1to2HasZero);\n addRegexToken('ss', match1to2, match2);\n addParseToken(['s', 'ss'], SECOND);\n\n // MOMENTS\n\n var getSetSecond = makeGetSet('Seconds', false);\n\n // FORMATTING\n\n addFormatToken('S', 0, 0, function () {\n return ~~(this.millisecond() / 100);\n });\n\n addFormatToken(0, ['SS', 2], 0, function () {\n return ~~(this.millisecond() / 10);\n });\n\n addFormatToken(0, ['SSS', 3], 0, 'millisecond');\n addFormatToken(0, ['SSSS', 4], 0, function () {\n return this.millisecond() * 10;\n });\n addFormatToken(0, ['SSSSS', 5], 0, function () {\n return this.millisecond() * 100;\n });\n addFormatToken(0, ['SSSSSS', 6], 0, function () {\n return this.millisecond() * 1000;\n });\n addFormatToken(0, ['SSSSSSS', 7], 0, function () {\n return this.millisecond() * 10000;\n });\n addFormatToken(0, ['SSSSSSSS', 8], 0, function () {\n return this.millisecond() * 100000;\n });\n addFormatToken(0, ['SSSSSSSSS', 9], 0, function () {\n return this.millisecond() * 1000000;\n });\n\n // PARSING\n\n addRegexToken('S', match1to3, match1);\n addRegexToken('SS', match1to3, match2);\n addRegexToken('SSS', match1to3, match3);\n\n var token, getSetMillisecond;\n for (token = 'SSSS'; token.length <= 9; token += 'S') {\n addRegexToken(token, matchUnsigned);\n }\n\n function parseMs(input, array) {\n array[MILLISECOND] = toInt(('0.' + input) * 1000);\n }\n\n for (token = 'S'; token.length <= 9; token += 'S') {\n addParseToken(token, parseMs);\n }\n\n getSetMillisecond = makeGetSet('Milliseconds', false);\n\n // FORMATTING\n\n addFormatToken('z', 0, 0, 'zoneAbbr');\n addFormatToken('zz', 0, 0, 'zoneName');\n\n // MOMENTS\n\n function getZoneAbbr() {\n return this._isUTC ? 'UTC' : '';\n }\n\n function getZoneName() {\n return this._isUTC ? 'Coordinated Universal Time' : '';\n }\n\n var proto = Moment.prototype;\n\n proto.add = add;\n proto.calendar = calendar$1;\n proto.clone = clone;\n proto.diff = diff;\n proto.endOf = endOf;\n proto.format = format;\n proto.from = from;\n proto.fromNow = fromNow;\n proto.to = to;\n proto.toNow = toNow;\n proto.get = stringGet;\n proto.invalidAt = invalidAt;\n proto.isAfter = isAfter;\n proto.isBefore = isBefore;\n proto.isBetween = isBetween;\n proto.isSame = isSame;\n proto.isSameOrAfter = isSameOrAfter;\n proto.isSameOrBefore = isSameOrBefore;\n proto.isValid = isValid$2;\n proto.lang = lang;\n proto.locale = locale;\n proto.localeData = localeData;\n proto.max = prototypeMax;\n proto.min = prototypeMin;\n proto.parsingFlags = parsingFlags;\n proto.set = stringSet;\n proto.startOf = startOf;\n proto.subtract = subtract;\n proto.toArray = toArray;\n proto.toObject = toObject;\n proto.toDate = toDate;\n proto.toISOString = toISOString;\n proto.inspect = inspect;\n if (typeof Symbol !== 'undefined' && Symbol.for != null) {\n proto[Symbol.for('nodejs.util.inspect.custom')] = function () {\n return 'Moment<' + this.format() + '>';\n };\n }\n proto.toJSON = toJSON;\n proto.toString = toString;\n proto.unix = unix;\n proto.valueOf = valueOf;\n proto.creationData = creationData;\n proto.eraName = getEraName;\n proto.eraNarrow = getEraNarrow;\n proto.eraAbbr = getEraAbbr;\n proto.eraYear = getEraYear;\n proto.year = getSetYear;\n proto.isLeapYear = getIsLeapYear;\n proto.weekYear = getSetWeekYear;\n proto.isoWeekYear = getSetISOWeekYear;\n proto.quarter = proto.quarters = getSetQuarter;\n proto.month = getSetMonth;\n proto.daysInMonth = getDaysInMonth;\n proto.week = proto.weeks = getSetWeek;\n proto.isoWeek = proto.isoWeeks = getSetISOWeek;\n proto.weeksInYear = getWeeksInYear;\n proto.weeksInWeekYear = getWeeksInWeekYear;\n proto.isoWeeksInYear = getISOWeeksInYear;\n proto.isoWeeksInISOWeekYear = getISOWeeksInISOWeekYear;\n proto.date = getSetDayOfMonth;\n proto.day = proto.days = getSetDayOfWeek;\n proto.weekday = getSetLocaleDayOfWeek;\n proto.isoWeekday = getSetISODayOfWeek;\n proto.dayOfYear = getSetDayOfYear;\n proto.hour = proto.hours = getSetHour;\n proto.minute = proto.minutes = getSetMinute;\n proto.second = proto.seconds = getSetSecond;\n proto.millisecond = proto.milliseconds = getSetMillisecond;\n proto.utcOffset = getSetOffset;\n proto.utc = setOffsetToUTC;\n proto.local = setOffsetToLocal;\n proto.parseZone = setOffsetToParsedOffset;\n proto.hasAlignedHourOffset = hasAlignedHourOffset;\n proto.isDST = isDaylightSavingTime;\n proto.isLocal = isLocal;\n proto.isUtcOffset = isUtcOffset;\n proto.isUtc = isUtc;\n proto.isUTC = isUtc;\n proto.zoneAbbr = getZoneAbbr;\n proto.zoneName = getZoneName;\n proto.dates = deprecate(\n 'dates accessor is deprecated. Use date instead.',\n getSetDayOfMonth\n );\n proto.months = deprecate(\n 'months accessor is deprecated. Use month instead',\n getSetMonth\n );\n proto.years = deprecate(\n 'years accessor is deprecated. Use year instead',\n getSetYear\n );\n proto.zone = deprecate(\n 'moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/',\n getSetZone\n );\n proto.isDSTShifted = deprecate(\n 'isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information',\n isDaylightSavingTimeShifted\n );\n\n function createUnix(input) {\n return createLocal(input * 1000);\n }\n\n function createInZone() {\n return createLocal.apply(null, arguments).parseZone();\n }\n\n function preParsePostFormat(string) {\n return string;\n }\n\n var proto$1 = Locale.prototype;\n\n proto$1.calendar = calendar;\n proto$1.longDateFormat = longDateFormat;\n proto$1.invalidDate = invalidDate;\n proto$1.ordinal = ordinal;\n proto$1.preparse = preParsePostFormat;\n proto$1.postformat = preParsePostFormat;\n proto$1.relativeTime = relativeTime;\n proto$1.pastFuture = pastFuture;\n proto$1.set = set;\n proto$1.eras = localeEras;\n proto$1.erasParse = localeErasParse;\n proto$1.erasConvertYear = localeErasConvertYear;\n proto$1.erasAbbrRegex = erasAbbrRegex;\n proto$1.erasNameRegex = erasNameRegex;\n proto$1.erasNarrowRegex = erasNarrowRegex;\n\n proto$1.months = localeMonths;\n proto$1.monthsShort = localeMonthsShort;\n proto$1.monthsParse = localeMonthsParse;\n proto$1.monthsRegex = monthsRegex;\n proto$1.monthsShortRegex = monthsShortRegex;\n proto$1.week = localeWeek;\n proto$1.firstDayOfYear = localeFirstDayOfYear;\n proto$1.firstDayOfWeek = localeFirstDayOfWeek;\n\n proto$1.weekdays = localeWeekdays;\n proto$1.weekdaysMin = localeWeekdaysMin;\n proto$1.weekdaysShort = localeWeekdaysShort;\n proto$1.weekdaysParse = localeWeekdaysParse;\n\n proto$1.weekdaysRegex = weekdaysRegex;\n proto$1.weekdaysShortRegex = weekdaysShortRegex;\n proto$1.weekdaysMinRegex = weekdaysMinRegex;\n\n proto$1.isPM = localeIsPM;\n proto$1.meridiem = localeMeridiem;\n\n function get$1(format, index, field, setter) {\n var locale = getLocale(),\n utc = createUTC().set(setter, index);\n return locale[field](utc, format);\n }\n\n function listMonthsImpl(format, index, field) {\n if (isNumber(format)) {\n index = format;\n format = undefined;\n }\n\n format = format || '';\n\n if (index != null) {\n return get$1(format, index, field, 'month');\n }\n\n var i,\n out = [];\n for (i = 0; i < 12; i++) {\n out[i] = get$1(format, i, field, 'month');\n }\n return out;\n }\n\n // ()\n // (5)\n // (fmt, 5)\n // (fmt)\n // (true)\n // (true, 5)\n // (true, fmt, 5)\n // (true, fmt)\n function listWeekdaysImpl(localeSorted, format, index, field) {\n if (typeof localeSorted === 'boolean') {\n if (isNumber(format)) {\n index = format;\n format = undefined;\n }\n\n format = format || '';\n } else {\n format = localeSorted;\n index = format;\n localeSorted = false;\n\n if (isNumber(format)) {\n index = format;\n format = undefined;\n }\n\n format = format || '';\n }\n\n var locale = getLocale(),\n shift = localeSorted ? locale._week.dow : 0,\n i,\n out = [];\n\n if (index != null) {\n return get$1(format, (index + shift) % 7, field, 'day');\n }\n\n for (i = 0; i < 7; i++) {\n out[i] = get$1(format, (i + shift) % 7, field, 'day');\n }\n return out;\n }\n\n function listMonths(format, index) {\n return listMonthsImpl(format, index, 'months');\n }\n\n function listMonthsShort(format, index) {\n return listMonthsImpl(format, index, 'monthsShort');\n }\n\n function listWeekdays(localeSorted, format, index) {\n return listWeekdaysImpl(localeSorted, format, index, 'weekdays');\n }\n\n function listWeekdaysShort(localeSorted, format, index) {\n return listWeekdaysImpl(localeSorted, format, index, 'weekdaysShort');\n }\n\n function listWeekdaysMin(localeSorted, format, index) {\n return listWeekdaysImpl(localeSorted, format, index, 'weekdaysMin');\n }\n\n getSetGlobalLocale('en', {\n eras: [\n {\n since: '0001-01-01',\n until: +Infinity,\n offset: 1,\n name: 'Anno Domini',\n narrow: 'AD',\n abbr: 'AD',\n },\n {\n since: '0000-12-31',\n until: -Infinity,\n offset: 1,\n name: 'Before Christ',\n narrow: 'BC',\n abbr: 'BC',\n },\n ],\n dayOfMonthOrdinalParse: /\\d{1,2}(th|st|nd|rd)/,\n ordinal: function (number) {\n var b = number % 10,\n output =\n toInt((number % 100) / 10) === 1\n ? 'th'\n : b === 1\n ? 'st'\n : b === 2\n ? 'nd'\n : b === 3\n ? 'rd'\n : 'th';\n return number + output;\n },\n });\n\n // Side effect imports\n\n hooks.lang = deprecate(\n 'moment.lang is deprecated. Use moment.locale instead.',\n getSetGlobalLocale\n );\n hooks.langData = deprecate(\n 'moment.langData is deprecated. Use moment.localeData instead.',\n getLocale\n );\n\n var mathAbs = Math.abs;\n\n function abs() {\n var data = this._data;\n\n this._milliseconds = mathAbs(this._milliseconds);\n this._days = mathAbs(this._days);\n this._months = mathAbs(this._months);\n\n data.milliseconds = mathAbs(data.milliseconds);\n data.seconds = mathAbs(data.seconds);\n data.minutes = mathAbs(data.minutes);\n data.hours = mathAbs(data.hours);\n data.months = mathAbs(data.months);\n data.years = mathAbs(data.years);\n\n return this;\n }\n\n function addSubtract$1(duration, input, value, direction) {\n var other = createDuration(input, value);\n\n duration._milliseconds += direction * other._milliseconds;\n duration._days += direction * other._days;\n duration._months += direction * other._months;\n\n return duration._bubble();\n }\n\n // supports only 2.0-style add(1, 's') or add(duration)\n function add$1(input, value) {\n return addSubtract$1(this, input, value, 1);\n }\n\n // supports only 2.0-style subtract(1, 's') or subtract(duration)\n function subtract$1(input, value) {\n return addSubtract$1(this, input, value, -1);\n }\n\n function absCeil(number) {\n if (number < 0) {\n return Math.floor(number);\n } else {\n return Math.ceil(number);\n }\n }\n\n function bubble() {\n var milliseconds = this._milliseconds,\n days = this._days,\n months = this._months,\n data = this._data,\n seconds,\n minutes,\n hours,\n years,\n monthsFromDays;\n\n // if we have a mix of positive and negative values, bubble down first\n // check: https://github.com/moment/moment/issues/2166\n if (\n !(\n (milliseconds >= 0 && days >= 0 && months >= 0) ||\n (milliseconds <= 0 && days <= 0 && months <= 0)\n )\n ) {\n milliseconds += absCeil(monthsToDays(months) + days) * 864e5;\n days = 0;\n months = 0;\n }\n\n // The following code bubbles up values, see the tests for\n // examples of what that means.\n data.milliseconds = milliseconds % 1000;\n\n seconds = absFloor(milliseconds / 1000);\n data.seconds = seconds % 60;\n\n minutes = absFloor(seconds / 60);\n data.minutes = minutes % 60;\n\n hours = absFloor(minutes / 60);\n data.hours = hours % 24;\n\n days += absFloor(hours / 24);\n\n // convert days to months\n monthsFromDays = absFloor(daysToMonths(days));\n months += monthsFromDays;\n days -= absCeil(monthsToDays(monthsFromDays));\n\n // 12 months -> 1 year\n years = absFloor(months / 12);\n months %= 12;\n\n data.days = days;\n data.months = months;\n data.years = years;\n\n return this;\n }\n\n function daysToMonths(days) {\n // 400 years have 146097 days (taking into account leap year rules)\n // 400 years have 12 months === 4800\n return (days * 4800) / 146097;\n }\n\n function monthsToDays(months) {\n // the reverse of daysToMonths\n return (months * 146097) / 4800;\n }\n\n function as(units) {\n if (!this.isValid()) {\n return NaN;\n }\n var days,\n months,\n milliseconds = this._milliseconds;\n\n units = normalizeUnits(units);\n\n if (units === 'month' || units === 'quarter' || units === 'year') {\n days = this._days + milliseconds / 864e5;\n months = this._months + daysToMonths(days);\n switch (units) {\n case 'month':\n return months;\n case 'quarter':\n return months / 3;\n case 'year':\n return months / 12;\n }\n } else {\n // handle milliseconds separately because of floating point math errors (issue #1867)\n days = this._days + Math.round(monthsToDays(this._months));\n switch (units) {\n case 'week':\n return days / 7 + milliseconds / 6048e5;\n case 'day':\n return days + milliseconds / 864e5;\n case 'hour':\n return days * 24 + milliseconds / 36e5;\n case 'minute':\n return days * 1440 + milliseconds / 6e4;\n case 'second':\n return days * 86400 + milliseconds / 1000;\n // Math.floor prevents floating point math errors here\n case 'millisecond':\n return Math.floor(days * 864e5) + milliseconds;\n default:\n throw new Error('Unknown unit ' + units);\n }\n }\n }\n\n function makeAs(alias) {\n return function () {\n return this.as(alias);\n };\n }\n\n var asMilliseconds = makeAs('ms'),\n asSeconds = makeAs('s'),\n asMinutes = makeAs('m'),\n asHours = makeAs('h'),\n asDays = makeAs('d'),\n asWeeks = makeAs('w'),\n asMonths = makeAs('M'),\n asQuarters = makeAs('Q'),\n asYears = makeAs('y'),\n valueOf$1 = asMilliseconds;\n\n function clone$1() {\n return createDuration(this);\n }\n\n function get$2(units) {\n units = normalizeUnits(units);\n return this.isValid() ? this[units + 's']() : NaN;\n }\n\n function makeGetter(name) {\n return function () {\n return this.isValid() ? this._data[name] : NaN;\n };\n }\n\n var milliseconds = makeGetter('milliseconds'),\n seconds = makeGetter('seconds'),\n minutes = makeGetter('minutes'),\n hours = makeGetter('hours'),\n days = makeGetter('days'),\n months = makeGetter('months'),\n years = makeGetter('years');\n\n function weeks() {\n return absFloor(this.days() / 7);\n }\n\n var round = Math.round,\n thresholds = {\n ss: 44, // a few seconds to seconds\n s: 45, // seconds to minute\n m: 45, // minutes to hour\n h: 22, // hours to day\n d: 26, // days to month/week\n w: null, // weeks to month\n M: 11, // months to year\n };\n\n // helper function for moment.fn.from, moment.fn.fromNow, and moment.duration.fn.humanize\n function substituteTimeAgo(string, number, withoutSuffix, isFuture, locale) {\n return locale.relativeTime(number || 1, !!withoutSuffix, string, isFuture);\n }\n\n function relativeTime$1(posNegDuration, withoutSuffix, thresholds, locale) {\n var duration = createDuration(posNegDuration).abs(),\n seconds = round(duration.as('s')),\n minutes = round(duration.as('m')),\n hours = round(duration.as('h')),\n days = round(duration.as('d')),\n months = round(duration.as('M')),\n weeks = round(duration.as('w')),\n years = round(duration.as('y')),\n a =\n (seconds <= thresholds.ss && ['s', seconds]) ||\n (seconds < thresholds.s && ['ss', seconds]) ||\n (minutes <= 1 && ['m']) ||\n (minutes < thresholds.m && ['mm', minutes]) ||\n (hours <= 1 && ['h']) ||\n (hours < thresholds.h && ['hh', hours]) ||\n (days <= 1 && ['d']) ||\n (days < thresholds.d && ['dd', days]);\n\n if (thresholds.w != null) {\n a =\n a ||\n (weeks <= 1 && ['w']) ||\n (weeks < thresholds.w && ['ww', weeks]);\n }\n a = a ||\n (months <= 1 && ['M']) ||\n (months < thresholds.M && ['MM', months]) ||\n (years <= 1 && ['y']) || ['yy', years];\n\n a[2] = withoutSuffix;\n a[3] = +posNegDuration > 0;\n a[4] = locale;\n return substituteTimeAgo.apply(null, a);\n }\n\n // This function allows you to set the rounding function for relative time strings\n function getSetRelativeTimeRounding(roundingFunction) {\n if (roundingFunction === undefined) {\n return round;\n }\n if (typeof roundingFunction === 'function') {\n round = roundingFunction;\n return true;\n }\n return false;\n }\n\n // This function allows you to set a threshold for relative time strings\n function getSetRelativeTimeThreshold(threshold, limit) {\n if (thresholds[threshold] === undefined) {\n return false;\n }\n if (limit === undefined) {\n return thresholds[threshold];\n }\n thresholds[threshold] = limit;\n if (threshold === 's') {\n thresholds.ss = limit - 1;\n }\n return true;\n }\n\n function humanize(argWithSuffix, argThresholds) {\n if (!this.isValid()) {\n return this.localeData().invalidDate();\n }\n\n var withSuffix = false,\n th = thresholds,\n locale,\n output;\n\n if (typeof argWithSuffix === 'object') {\n argThresholds = argWithSuffix;\n argWithSuffix = false;\n }\n if (typeof argWithSuffix === 'boolean') {\n withSuffix = argWithSuffix;\n }\n if (typeof argThresholds === 'object') {\n th = Object.assign({}, thresholds, argThresholds);\n if (argThresholds.s != null && argThresholds.ss == null) {\n th.ss = argThresholds.s - 1;\n }\n }\n\n locale = this.localeData();\n output = relativeTime$1(this, !withSuffix, th, locale);\n\n if (withSuffix) {\n output = locale.pastFuture(+this, output);\n }\n\n return locale.postformat(output);\n }\n\n var abs$1 = Math.abs;\n\n function sign(x) {\n return (x > 0) - (x < 0) || +x;\n }\n\n function toISOString$1() {\n // for ISO strings we do not use the normal bubbling rules:\n // * milliseconds bubble up until they become hours\n // * days do not bubble at all\n // * months bubble up until they become years\n // This is because there is no context-free conversion between hours and days\n // (think of clock changes)\n // and also not between days and months (28-31 days per month)\n if (!this.isValid()) {\n return this.localeData().invalidDate();\n }\n\n var seconds = abs$1(this._milliseconds) / 1000,\n days = abs$1(this._days),\n months = abs$1(this._months),\n minutes,\n hours,\n years,\n s,\n total = this.asSeconds(),\n totalSign,\n ymSign,\n daysSign,\n hmsSign;\n\n if (!total) {\n // this is the same as C#'s (Noda) and python (isodate)...\n // but not other JS (goog.date)\n return 'P0D';\n }\n\n // 3600 seconds -> 60 minutes -> 1 hour\n minutes = absFloor(seconds / 60);\n hours = absFloor(minutes / 60);\n seconds %= 60;\n minutes %= 60;\n\n // 12 months -> 1 year\n years = absFloor(months / 12);\n months %= 12;\n\n // inspired by https://github.com/dordille/moment-isoduration/blob/master/moment.isoduration.js\n s = seconds ? seconds.toFixed(3).replace(/\\.?0+$/, '') : '';\n\n totalSign = total < 0 ? '-' : '';\n ymSign = sign(this._months) !== sign(total) ? '-' : '';\n daysSign = sign(this._days) !== sign(total) ? '-' : '';\n hmsSign = sign(this._milliseconds) !== sign(total) ? '-' : '';\n\n return (\n totalSign +\n 'P' +\n (years ? ymSign + years + 'Y' : '') +\n (months ? ymSign + months + 'M' : '') +\n (days ? daysSign + days + 'D' : '') +\n (hours || minutes || seconds ? 'T' : '') +\n (hours ? hmsSign + hours + 'H' : '') +\n (minutes ? hmsSign + minutes + 'M' : '') +\n (seconds ? hmsSign + s + 'S' : '')\n );\n }\n\n var proto$2 = Duration.prototype;\n\n proto$2.isValid = isValid$1;\n proto$2.abs = abs;\n proto$2.add = add$1;\n proto$2.subtract = subtract$1;\n proto$2.as = as;\n proto$2.asMilliseconds = asMilliseconds;\n proto$2.asSeconds = asSeconds;\n proto$2.asMinutes = asMinutes;\n proto$2.asHours = asHours;\n proto$2.asDays = asDays;\n proto$2.asWeeks = asWeeks;\n proto$2.asMonths = asMonths;\n proto$2.asQuarters = asQuarters;\n proto$2.asYears = asYears;\n proto$2.valueOf = valueOf$1;\n proto$2._bubble = bubble;\n proto$2.clone = clone$1;\n proto$2.get = get$2;\n proto$2.milliseconds = milliseconds;\n proto$2.seconds = seconds;\n proto$2.minutes = minutes;\n proto$2.hours = hours;\n proto$2.days = days;\n proto$2.weeks = weeks;\n proto$2.months = months;\n proto$2.years = years;\n proto$2.humanize = humanize;\n proto$2.toISOString = toISOString$1;\n proto$2.toString = toISOString$1;\n proto$2.toJSON = toISOString$1;\n proto$2.locale = locale;\n proto$2.localeData = localeData;\n\n proto$2.toIsoString = deprecate(\n 'toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)',\n toISOString$1\n );\n proto$2.lang = lang;\n\n // FORMATTING\n\n addFormatToken('X', 0, 0, 'unix');\n addFormatToken('x', 0, 0, 'valueOf');\n\n // PARSING\n\n addRegexToken('x', matchSigned);\n addRegexToken('X', matchTimestamp);\n addParseToken('X', function (input, array, config) {\n config._d = new Date(parseFloat(input) * 1000);\n });\n addParseToken('x', function (input, array, config) {\n config._d = new Date(toInt(input));\n });\n\n //! moment.js\n\n hooks.version = '2.30.1';\n\n setHookCallback(createLocal);\n\n hooks.fn = proto;\n hooks.min = min;\n hooks.max = max;\n hooks.now = now;\n hooks.utc = createUTC;\n hooks.unix = createUnix;\n hooks.months = listMonths;\n hooks.isDate = isDate;\n hooks.locale = getSetGlobalLocale;\n hooks.invalid = createInvalid;\n hooks.duration = createDuration;\n hooks.isMoment = isMoment;\n hooks.weekdays = listWeekdays;\n hooks.parseZone = createInZone;\n hooks.localeData = getLocale;\n hooks.isDuration = isDuration;\n hooks.monthsShort = listMonthsShort;\n hooks.weekdaysMin = listWeekdaysMin;\n hooks.defineLocale = defineLocale;\n hooks.updateLocale = updateLocale;\n hooks.locales = listLocales;\n hooks.weekdaysShort = listWeekdaysShort;\n hooks.normalizeUnits = normalizeUnits;\n hooks.relativeTimeRounding = getSetRelativeTimeRounding;\n hooks.relativeTimeThreshold = getSetRelativeTimeThreshold;\n hooks.calendarFormat = getCalendarFormat;\n hooks.prototype = proto;\n\n // currently HTML5 input type only supports 24-hour formats\n hooks.HTML5_FMT = {\n DATETIME_LOCAL: 'YYYY-MM-DDTHH:mm', // <input type=\"datetime-local\" />\n DATETIME_LOCAL_SECONDS: 'YYYY-MM-DDTHH:mm:ss', // <input type=\"datetime-local\" step=\"1\" />\n DATETIME_LOCAL_MS: 'YYYY-MM-DDTHH:mm:ss.SSS', // <input type=\"datetime-local\" step=\"0.001\" />\n DATE: 'YYYY-MM-DD', // <input type=\"date\" />\n TIME: 'HH:mm', // <input type=\"time\" />\n TIME_SECONDS: 'HH:mm:ss', // <input type=\"time\" step=\"1\" />\n TIME_MS: 'HH:mm:ss.SSS', // <input type=\"time\" step=\"0.001\" />\n WEEK: 'GGGG-[W]WW', // <input type=\"week\" />\n MONTH: 'YYYY-MM', // <input type=\"month\" />\n };\n\n return hooks;\n\n})));\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 ","/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n ~ Copyright 2020 Adobe Systems Incorporated\n ~\n ~ Licensed under the Apache License, Version 2.0 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ http://www.apache.org/licenses/LICENSE-2.0\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" BASIS,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/\n\nimport { MapTo, AllowedComponentsContainer } from '@adobe/aem-react-editable-components';\n\nconst ContainerConfig = {\n emptyLabel: 'Container',\n\n isEmpty: function (props) {\n return !props || !props.cqItemsOrder || props.cqItemsOrder.length === 0;\n },\n};\n\nMapTo(`${process.env['NEXT_PUBLIC_AEM_SITE']}/components/container`)(AllowedComponentsContainer, ContainerConfig);\n","/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n ~ Copyright 2020 Adobe Systems Incorporated\n ~\n ~ Licensed under the Apache License, Version 2.0 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ http://www.apache.org/licenses/LICENSE-2.0\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" BASIS,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/\n\nimport { MapTo, Container } from '@adobe/aem-react-editable-components';\nimport { respGridUtil } from '@marriott/mi-headless-utils';\n\nconst ExperienceFragmentVariationConfig = {\n emptyLabel: 'Experience Fragment',\n\n isEmpty: function (props) {\n return !props || !props.configured;\n },\n};\n\nMapTo(`mi-aem-common-spa/components/experiencefragment`)(props => {\n return (\n <Container\n isInEditor\n {...props}\n isPage={false}\n model={respGridUtil(props?.model?.cqItems?.root?.[':items']?.responsivegrid)}\n />\n );\n}, ExperienceFragmentVariationConfig);\n","// Styles for Footer go here.\nimport styled from 'styled-components';\nimport { baseVariables, toRem, Text, Link } from '@marriott/mi-ui-library';\n\nexport const StyledContainer = styled.div`\n .add-border {\n border-bottom: solid ${toRem(0.5)} ${baseVariables.color['neutral40']};\n }\n\n .is-overlay {\n z-index: 51 !important; // so it appears above searchform\n }\n`;\n\nexport const StyledRow = styled.div`\n @media only ${baseVariables.mediaQuery.md} {\n .thin-privacy-items {\n margin-right: ${toRem(8)};\n padding-right: ${toRem(8)};\n border-right: solid ${toRem(0.5)} ${baseVariables.color['neutral40']};\n margin-bottom: ${toRem(8)};\n }\n }\n\n .thin-privacy-items:last-of-type {\n border: none;\n margin-right: none;\n padding-right: none;\n }\n margin-bottom: ${toRem(24)};\n`;\n\nconst getBulgariStyles = (isBulgari?: boolean) => {\n if (isBulgari) {\n return `\n background-color: ${baseVariables.color['merch50']} !important;\n color: ${baseVariables.color['base10']} !important;\n // Force children to inherit colors from the parent.\n & * {\n background-color: inherit !important;\n color: inherit !important;\n }\n `;\n }\n return '';\n};\n\nexport const StyledFooterContainer = styled.div<{ isBulgari?: boolean }>`\n background-color: ${baseVariables.color['base10']};\n padding-top: ${toRem(48)};\n padding-bottom: ${toRem(48)};\n\n .m-accordion-container .accordion-button {\n border-top: ${toRem(0.5)} solid ${baseVariables.color['neutral40']};\n }\n\n ${({ isBulgari }) => getBulgariStyles(isBulgari)}\n`;\n\nexport const StyledText = styled(Text)`\n font-size: ${toRem(22)};\n`;\n\nexport const StyledP = styled.p`\n font-size: ${toRem(22)};\n`;\n\nexport const StyledLink = styled(Link)`\n font-size: ${toRem(14)} !important;\n`;\n\nexport const LanguageSelectorContainer = styled.div`\n .footer-language-selector {\n background-color: ${baseVariables.color['base10']};\n padding-left: 0;\n &:focus {\n outline: -webkit-focus-ring-color auto 1px !important;\n }\n }\n`;\n\nexport const DestinationWrapper = styled.div`\n #default-destination-accordion_body {\n margin: ${toRem(8)} 0 0 0;\n }\n`;\n\nexport const DestinationOnTopWrapper = styled.div`\n border-bottom: solid ${toRem(0.5)} ${baseVariables.color['neutral40']};\n #destination-on-top-accordion_body {\n margin: ${toRem(8)} 0 0 0;\n }\n .accordion__title {\n margin-top: 0 !important;\n }\n .col-md-3 {\n padding: 0;\n margin-right: ${toRem(16)};\n }\n margin-left: ${toRem(-0.25)};\n margin-right: ${toRem(-0.5)};\n padding-bottom: ${toRem(16)};\n`;\n\nexport const LinkWrapper = styled.div`\n display: flex;\n .html-content {\n // OneTrust link is inserted inside the span with this ID.\n // The link OneTrust inserts has inline styles so the\n // !importants are neessary to override that.\n #teconsent {\n a {\n font: normal normal ${baseVariables.font.fontWeightRegular} ${baseVariables.font.fontS} /\n ${baseVariables.font.fontXl} ${baseVariables.font.fontSwiss} !important;\n font-size: ${toRem(14)} !important;\n color: ${baseVariables.color['neutral30']} !important;\n line-height: ${baseVariables.font.lineHeightXs} !important;\n display: block !important; // Normalize text spacing when line wraps.\n &:hover {\n color: ${baseVariables.color['base20']} !important;\n font-weight: ${baseVariables.font.fontWeightMedium} !important;\n }\n }\n }\n }\n a:hover {\n text-decoration: underline;\n }\n`;\n\nexport const MarriottWrapper = styled.div`\n .col-md-3 {\n padding: 0;\n }\n .col-md-3:not(:nth-of-type(4)) {\n padding-right: ${toRem(16)};\n }\n margin-left: ${toRem(-0.25)};\n margin-right: ${toRem(-0.5)};\n\n // fix for weird overflow issue in this specific screen size\n @media (min-width: 768px) and (max-width: 799px) {\n .col-md-3:nth-of-type(4) {\n flex: auto;\n }\n }\n\n @media (min-width: 992px) and (max-width: 1040px) {\n .col-md-3:nth-of-type(4) {\n flex: auto;\n }\n }\n`;\n\nexport const LineHeightWrapper = styled.div`\n p {\n margin-bottom: 0;\n }\n`;\n","import { AEMModel, AEMContainerProps } from '@marriott/mi-ui-library';\nimport { AemContainerConfig } from '../../molecules/Navigation';\nimport { ReactNode } from 'react';\n\nexport interface ItemsModel {\n linkLabel?: string;\n openInaNewTab: string;\n linkURL?: string;\n htmlContent?: string | Node;\n}\n\nexport interface SocialItemsModel {\n linkLabel: string;\n linkURL: string;\n}\n\nexport interface DestinationItemsModel {\n linkLabel: string;\n openInaNewTab: string;\n linkURL: string;\n}\nexport interface FooterAEMModel extends AEMModel {\n destinationItems: DestinationItemsModel[];\n findhelpItems: ItemsModel[];\n ourCompanyItems: ItemsModel[];\n privacyItems: ItemsModel[];\n socialItems: ItemsModel[];\n workwithusItems: ItemsModel[];\n regions: ItemsModel[];\n minimizedItems?: ItemsModel[];\n id?: string;\n}\n\nexport interface FooterProps extends AEMContainerProps {\n model: FooterAEMModel;\n cqPath: string;\n children: ReactNode;\n isAuthorMode?: boolean;\n config: AemContainerConfig;\n}\n\nexport const socialLinks = ['facebook', 'instagram', 'twitter', 'linkedin', 'youtube'];\n","export const parseBoolean = (bool: string) => {\n if (bool) {\n return JSON.parse(bool?.toLowerCase());\n } else return false;\n};\n","import { FC } from 'react';\nimport clsx from 'clsx';\nimport DOMPurify from 'isomorphic-dompurify';\n\nimport { Link } from '@marriott/mi-ui-library';\n\nimport { ItemsModel } from './Footer.types';\nimport { LinkWrapper } from './Footer.styles';\nimport { parseBoolean } from './helper';\nimport { getClickTrackValue, ClickTrackingProps } from '../../utils/TrackingPropertyUtils';\n\n/**\n * This component accounts for the potential to add not only links,\n * but also icons and templated HTML tags to the link lists\n * in the footer component.\n *\n * Destination links are sorted by label, so they should not\n * be made to consume this component, since this component\n * handles some cases where there is no link or link label.\n */\nexport const LinkFeature: FC<{ item: ItemsModel; trackingPropertiesObject: ClickTrackingProps }> = ({\n item,\n trackingPropertiesObject,\n}) => {\n const hasLink = item.linkLabel && item.linkURL;\n const hasHTML = item.htmlContent;\n if (hasHTML && !hasLink) {\n // If there is htmlContent only, render htmlContent.\n return (\n <LinkWrapper>\n {hasHTML && (\n <span\n className={clsx('html-content')}\n dangerouslySetInnerHTML={{\n __html: (DOMPurify.sanitize(item.htmlContent as string, { RETURN_DOM: true }) as HTMLElement).outerHTML,\n }}\n />\n )}\n </LinkWrapper>\n );\n } else if (hasLink && hasHTML) {\n // Link AND HTML, render both, with htmlContent inside the link.\n return (\n <LinkWrapper>\n <Link\n target={parseBoolean(item.openInaNewTab) ? '_blank' : '_self'}\n linkHref={item.linkURL ?? ''}\n linkClassName=\"t-font-alt-s\"\n custom_click_track_value={getClickTrackValue(trackingPropertiesObject, item.linkLabel)}\n trackingProperties={trackingPropertiesObject.trackingProperties}\n >\n <span\n className=\"html-content\"\n dangerouslySetInnerHTML={{\n __html: (DOMPurify.sanitize(item.htmlContent as string, { RETURN_DOM: true }) as HTMLElement).outerHTML,\n }}\n ></span>{' '}\n <span>{item.linkLabel}</span>\n </Link>\n </LinkWrapper>\n );\n } else if (hasLink && !hasHTML) {\n // Link and no HTML, render a regular old link.\n return (\n <LinkWrapper>\n <Link\n target={parseBoolean(item.openInaNewTab) ? '_blank' : '_self'}\n linkHref={item.linkURL ?? ''}\n text={item.linkLabel}\n linkClassName=\"t-font-alt-s\"\n custom_click_track_value={getClickTrackValue(trackingPropertiesObject, item.linkLabel)}\n trackingProperties={trackingPropertiesObject.trackingProperties}\n />\n </LinkWrapper>\n );\n } else {\n return null;\n }\n};\n","import { FC } from 'react';\nimport { baseVariables, toRem, Link, Types, Accordion } from '@marriott/mi-ui-library';\n\nimport { getClickTrackValue } from '../../utils/TrackingPropertyUtils';\nimport { LinkFeature } from './LinkFeature';\nimport { FooterAEMModel, DestinationItemsModel } from './Footer.types';\nimport { DEFAULT_TRACKING_VALUES } from '../../utils/constants';\n\n// added styled components for components that wouldn't override\nimport {\n StyledText,\n StyledP,\n DestinationWrapper,\n LinkWrapper,\n DestinationOnTopWrapper,\n MarriottWrapper,\n LineHeightWrapper,\n} from './Footer.styles';\n\nimport { parseBoolean } from './helper';\n\nexport const ExpandedFooter: FC<{ model: FooterAEMModel }> = ({ model }) => {\n const trackingPropertiesObject = {\n trackingProperties: {\n trackingContentPosition: model?.trackingProperties?.trackingContentPosition,\n clickTrack: model?.trackingProperties?.clickTrack,\n trackingOfferType: model?.trackingProperties?.trackingOfferType,\n impressionCount: model?.trackingProperties?.impressionCount,\n impressionTrack: model?.trackingProperties?.impressionTrack,\n trackingDescription: model?.trackingProperties?.trackingDescription,\n trackingTag: model?.trackingProperties?.trackingTag,\n },\n fallbacks: {\n position: model?.trackingProperties?.location ?? DEFAULT_TRACKING_VALUES.LABEL_NULLISH,\n description: model?.trackingProperties?.trackingDescription ?? DEFAULT_TRACKING_VALUES.LABEL_NULLISH,\n },\n };\n\n const ColumnLayout = ({\n values,\n maxColumns,\n maxValuesPerColumn,\n }: {\n values: DestinationItemsModel[];\n maxColumns: number;\n maxValuesPerColumn: number;\n }): JSX.Element => {\n // Because of this sorting, destination items must have a linkLabel, so\n // a different type is required.\n const distributeValues = (values: DestinationItemsModel[], maxColumns: number, maxValuesPerColumn: number) => {\n const columns = [];\n for (let i = 0; i < Math.min(maxColumns, Math.ceil(values?.length / maxValuesPerColumn)); i++) {\n columns.push(values?.slice(i * maxValuesPerColumn, (i + 1) * maxValuesPerColumn));\n }\n return columns;\n };\n\n const columns = distributeValues(values, maxColumns, maxValuesPerColumn);\n return (\n <MarriottWrapper className=\"d-flex flex-wrap row m-0\">\n {columns.map((column, index) => {\n return (\n <div key={index} className=\"col-12 col-md-3\">\n {column.map((value: DestinationItemsModel, i: number) => (\n <div className=\"mb-1\" key={i}>\n <LinkWrapper>\n <Link\n target={parseBoolean(value.openInaNewTab) ? '_blank' : '_self'}\n linkHref={value.linkURL}\n text={value.linkLabel}\n linkClassName=\"t-font-alt-s\"\n custom_click_track_value={getClickTrackValue(trackingPropertiesObject, value.linkLabel)}\n trackingProperties={trackingPropertiesObject.trackingProperties}\n />\n </LinkWrapper>\n </div>\n ))}\n </div>\n );\n })}\n </MarriottWrapper>\n );\n };\n\n // TODO: These components need to be replaced with the LinkList components and Accordion components when the platform team are finished with their tickets\n return (\n <>\n {parseBoolean(model?.resourceProperties?.destinationOnTop) && model?.destinationItems?.length > 0 && (\n <DestinationOnTopWrapper>\n <Accordion\n styleclass=\"inverse\"\n id=\"destination-on-top-accordion\"\n isOpen={model?.resourceProperties?.destinationState === 'expanded' ? true : false}\n headerChildren={\n <StyledText\n element={Types.tags.span}\n copyText={model?.resourceProperties?.destinationTitle}\n fontSize={Types.size.large}\n customClass={'destinationTitle'}\n />\n }\n >\n <div className=\"col-12 m-accordion-container inverse\">\n <div className=\"d-flex flex-column flex-md-row row m-0\">\n {model?.destinationItems?.map(destinationItem => {\n return (\n <div className=\"col-md-3\" key={destinationItem.linkLabel}>\n <LinkWrapper>\n <Link\n target={parseBoolean(destinationItem.openInaNewTab) ? '_blank' : '_self'}\n linkHref={destinationItem.linkURL}\n text={destinationItem.linkLabel}\n linkClassName=\"t-font-alt-s\"\n custom_click_track_value={getClickTrackValue(\n trackingPropertiesObject,\n destinationItem.linkLabel\n )}\n trackingProperties={trackingPropertiesObject.trackingProperties}\n />\n </LinkWrapper>\n </div>\n );\n })}\n </div>\n </div>\n </Accordion>\n </DestinationOnTopWrapper>\n )}\n\n {/* bootstrap borders didn't work here, opted for style */}\n <MarriottWrapper\n className=\"d-flex row flex-md-nowrap m-0\"\n style={{\n borderBottom: !parseBoolean(model?.resourceProperties?.destinationOnTop)\n ? `solid ${toRem(0.5)} ${baseVariables.color['neutral40']}`\n : 'none',\n position: 'relative',\n paddingTop: parseBoolean(model?.resourceProperties?.destinationOnTop) ? toRem(24) : 0,\n }}\n >\n <div className=\"flex-column inverse col-md-3\">\n <StyledP className=\"t-font-l mb-3\">{model?.resourceProperties?.ourCompanyTitle}</StyledP>\n <LineHeightWrapper className=\"mb-4 mb-md-5 lh-sm\">\n {model?.ourCompanyItems?.map(companyItem => {\n return (\n <div key={companyItem.linkLabel}>\n <LinkFeature item={companyItem} trackingPropertiesObject={trackingPropertiesObject} />\n </div>\n );\n })}\n </LineHeightWrapper>\n </div>\n <div className=\"flex-column inverse col-md-3\">\n <StyledP className=\"t-font-l mb-3\">{model?.resourceProperties?.workWithUsTitle}</StyledP>\n <LineHeightWrapper className=\"mb-4 mb-md-5 lh-sm\">\n {model?.workwithusItems?.map(workWithUsItem => {\n return (\n <div key={workWithUsItem.linkLabel}>\n <LinkFeature item={workWithUsItem} trackingPropertiesObject={trackingPropertiesObject} />\n </div>\n );\n })}\n </LineHeightWrapper>\n </div>\n <div className=\"flex-column inverse col-md-3\">\n <StyledP className=\"t-font-l mb-3\">{model?.resourceProperties?.findHelpTitle}</StyledP>\n <LineHeightWrapper className=\"mb-4 mb-md-5 lh-sm\">\n {model?.findhelpItems?.map(findHelpItem => {\n return (\n <div key={findHelpItem.linkLabel}>\n <LinkFeature item={findHelpItem} trackingPropertiesObject={trackingPropertiesObject} />\n </div>\n );\n })}\n </LineHeightWrapper>\n </div>\n <div className=\"flex-column inverse col-md-3\">\n <StyledP className=\"t-font-l mb-3\">{model?.resourceProperties?.privacyTitle}</StyledP>\n <LineHeightWrapper className=\"mb-4 mb-md-5 lh-sm\">\n {model?.privacyItems?.map(privacyItem => {\n return (\n <div key={privacyItem.linkLabel}>\n <LinkFeature item={privacyItem} trackingPropertiesObject={trackingPropertiesObject} />\n </div>\n );\n })}\n </LineHeightWrapper>\n </div>\n </MarriottWrapper>\n\n {!parseBoolean(model?.resourceProperties?.destinationOnTop) && model?.destinationItems?.length > 0 && (\n <DestinationWrapper>\n <Accordion\n styleclass=\"inverse\"\n id=\"default-destination-accordion\"\n isOpen={model?.resourceProperties?.destinationState === 'expanded' ? true : false}\n customClass=\"container p-0 py-3 m-0\"\n headerChildren={\n <StyledText\n element={Types.tags.span}\n copyText={model?.resourceProperties?.destinationTitle}\n fontSize={Types.size.large}\n />\n }\n >\n <ColumnLayout values={model?.destinationItems} maxColumns={4} maxValuesPerColumn={7} />\n </Accordion>\n </DestinationWrapper>\n )}\n </>\n );\n};\n","import { FC } from 'react';\n\nimport { LinkFeature } from './LinkFeature';\nimport { FooterAEMModel } from './Footer.types';\nimport { StyledRow } from './Footer.styles';\nimport { DEFAULT_TRACKING_VALUES } from '../../utils/constants';\n\nexport const CollapsedFooter: FC<{ model: FooterAEMModel }> = ({ model }) => {\n const trackingPropertiesObject = {\n trackingProperties: {\n trackingContentPosition: model?.trackingProperties?.trackingContentPosition,\n clickTrack: model?.trackingProperties?.clickTrack,\n trackingOfferType: model?.trackingProperties?.trackingOfferType,\n impressionCount: model?.trackingProperties?.impressionCount,\n impressionTrack: model?.trackingProperties?.impressionTrack,\n trackingDescription: model?.trackingProperties?.trackingDescription,\n trackingTag: model?.trackingProperties?.trackingTag,\n },\n fallbacks: {\n position: model?.trackingProperties?.location ?? DEFAULT_TRACKING_VALUES.LABEL_NULLISH,\n description: model?.trackingProperties?.trackingDescription ?? DEFAULT_TRACKING_VALUES.LABEL_NULLISH,\n },\n };\n return (\n <div className=\"col-12 inverse\">\n <StyledRow className=\"d-flex flex-column flex-md-row row\">\n {model?.minimizedItems?.map(minimizedItem => {\n return (\n <div key={minimizedItem.linkLabel} className=\"col-md-1.5 pl-md-0 thin-privacy-items\">\n <LinkFeature item={minimizedItem} trackingPropertiesObject={trackingPropertiesObject} />\n </div>\n );\n })}\n </StyledRow>\n </div>\n );\n};\n","// Imports for external libraries go here.\nimport { FC, useEffect, useState } from 'react';\nimport clsx from 'clsx';\nimport { Link, TrackingPropsInterface } from '@marriott/mi-ui-library';\nimport { EditableComponent } from '@adobe/aem-react-editable-components';\nimport DOMPurify from 'isomorphic-dompurify';\n\n// Imports for internal (to the monorepo) libraries go here,\n// separated by a blank line from external imports.\n// The closer the import is to the file the lower it should be in this list.\nimport { LanguageSelector } from '../Navigation/LanguageSelector';\nimport { LanguageSelectorContext } from '../Navigation/LanguageSelector/LanguageSelectorContextProvider';\nimport { StyledContainer, StyledFooterContainer, StyledP, LanguageSelectorContainer } from './Footer.styles';\nimport { socialLinks } from './Footer.types';\nimport { getClickTrackValue, DEFAULT_TRACKING_VALUES } from '../../utils';\nimport { FooterProps } from './Footer.types';\nimport { ExpandedFooter } from './ExpandedFooter';\nimport { CollapsedFooter } from './CollapsedFooter';\n\ndeclare global {\n interface Window {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n _satellite: Record<string, any>;\n }\n}\n\n// Use named rather than default exports.\nexport const FooterComp: FC<FooterProps> = (props: FooterProps) => {\n const { model } = props;\n\n const [isLanguageSelectorOpen, setIsLanguageSelectorOpen] = useState<boolean>(false);\n\n const trackingPropertiesObject: {\n trackingProperties: TrackingPropsInterface;\n fallbacks: { position: string; description: string };\n } = {\n trackingProperties: {\n trackingContentPosition: model?.trackingProperties?.trackingContentPosition,\n clickTrack: model?.trackingProperties?.clickTrack,\n trackingOfferType: model?.trackingProperties?.trackingOfferType,\n impressionCount: model?.trackingProperties?.impressionCount,\n impressionTrack: model?.trackingProperties?.impressionTrack,\n trackingDescription: model?.trackingProperties?.trackingDescription,\n trackingTag: model?.trackingProperties?.trackingTag,\n },\n fallbacks: {\n position: model?.trackingProperties?.location ?? DEFAULT_TRACKING_VALUES.LABEL_NULLISH,\n description: model?.trackingProperties?.trackingDescription ?? DEFAULT_TRACKING_VALUES.LABEL_NULLISH,\n },\n };\n\n useEffect(() => {\n // we need to fire OneTrust once Footer is mounted, but it still may not be available on the window\n // so poll for it and then fire once it's available\n let attempts = 0;\n const checkWindow = () => {\n if (window?._satellite?.['track']) {\n window._satellite['track']('fireOneTrust');\n } else if (attempts < 30) {\n attempts++;\n setTimeout(checkWindow, 100);\n }\n };\n checkWindow();\n }, []);\n\n return (\n <LanguageSelectorContext.Provider value={{ isLanguageSelectorOpen, setIsLanguageSelectorOpen }}>\n <StyledContainer className=\"container\">\n {model?.resourceProperties?.variation === 'expanded' ? (\n <ExpandedFooter model={model} />\n ) : (\n <CollapsedFooter model={model} />\n )}\n <div className=\"m-accordion-container inverse\">\n {model?.socialItems?.length >= 1 && (\n <div className=\"accordion-item\">\n <div className=\"accordion-header\" id=\"headingOne\">\n <div className=\"accordion-button pb-md-2\">\n <div className=\"m-accordion-title flex-column flex-md-row\">\n <StyledP className=\"t-font-l mr-4 mb-3\">{model?.resourceProperties.socialTitle}</StyledP>\n <div className=\"d-flex\">\n {model?.socialItems?.map((socialItem, index) => {\n return (\n <div className=\"mr-5\" key={socialItem.linkLabel}>\n <Link\n linkClassName=\"t-font-alt-md\"\n ariaLabel={socialLinks[index]}\n linkHref={socialItem.linkURL as string}\n custom_click_track_value={getClickTrackValue(\n trackingPropertiesObject,\n socialItem.linkLabel\n )}\n trackingProperties={trackingPropertiesObject.trackingProperties}\n >\n <span className={`icon-${socialLinks[index]} icon-inverse`} />\n </Link>\n </div>\n );\n })}\n </div>\n </div>\n </div>\n </div>\n </div>\n )}\n <div\n className={clsx(\n 'accordion-button d-flex flex-column flex-md-row align-items-start justify-content-around add-border',\n { 'is-overlay': isLanguageSelectorOpen }\n )}\n >\n <div\n className=\"m-accordion-title t-font-alt-xs align-self-center m-0\"\n dangerouslySetInnerHTML={{\n __html: (\n DOMPurify.sanitize(model?.resourceProperties?.copyrightDescription as string, {\n RETURN_DOM: true,\n }) as HTMLElement\n ).outerHTML,\n }}\n ></div>\n <LanguageSelectorContainer>\n <LanguageSelector\n buttonClassName=\"footer-language-selector\"\n renderUtilityLink={() => (\n <div className=\"d-flex flex-row align-items-center mt-4 mt-md-0 inverse\">\n <span className=\"icon-globe icon-inverse mr-1\" />{' '}\n <p className=\"t-font-alt-xs m-0\">{model?.resourceProperties?.languageLable}</p>\n </div>\n )}\n restProps={{\n trackingContentPosition: model?.trackingProperties?.trackingContentPosition,\n 'cq:panelTitle': model?.resourceProperties?.languageLable,\n resourceProperties: model?.resourceProperties,\n trackingProperties: trackingPropertiesObject?.trackingProperties,\n regions: model?.regions,\n }}\n />\n </LanguageSelectorContainer>\n </div>\n <div className=\"row\">\n <div className=\"js-session-detail t-label-inverse-xs\" aria-label=\"Session Details\"></div>\n </div>\n </div>\n </StyledContainer>\n </LanguageSelectorContext.Provider>\n );\n};\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\nexport const Footer = (props: any) => {\n const FooterConfig = {\n emptyLabel: 'Footer',\n isEmpty: () => true,\n resourceType: `mi-aem-homepage-spa/components/content/universal-footer`,\n id: '',\n };\n\n const footerContent = (\n <StyledFooterContainer className=\"m-container-fullbleed\" isBulgari={props?.isBulgari ?? false}>\n <FooterComp {...props} />\n </StyledFooterContainer>\n );\n\n return (\n <div id=\"universal-footer\" data-component-name=\"m-common-static-Footer\" data-testid=\"common-static-Footer\">\n {props.cqPath?.includes('experiencefragment') ? (\n footerContent\n ) : (\n <EditableComponent {...props} config={FooterConfig}>\n {footerContent}\n </EditableComponent>\n )}\n </div>\n );\n};\n","import dynamic from 'next/dynamic';\nimport { StaticWrapper } from './organisms/StaticWrapper';\nimport { CardCarouselContainer } from './organisms/CardCarouselContainer';\nimport { LinkList } from './organisms/LinkList';\nimport { AccordionContainerEnhanced } from './organisms/AccordionContainerEnhanced';\nimport { BrandRibbon } from './organisms/BrandRibbon';\nimport { Hero } from './organisms/Hero';\nimport { LinkBanner, LinkBannerDynamic } from './organisms/LinkBanner';\nimport { GeneralMessage } from './organisms/GeneralMessage';\nimport { Mosaic } from './organisms/Mosaic';\nimport { BannerText } from './organisms/BannerText';\nimport { CarouselGallery } from './organisms/CarouselGallery';\nimport { DataBlock } from './organisms/DataBlock';\nimport { NavigationMockModel } from './molecules/Navigation';\nimport { SignInDrawer, MockGetUserDetailsAuthenticated, MockGetUserDetailsRemembered } from './molecules/SignInDrawer';\nimport { Footer } from './molecules/Footer';\nimport { MiniCardCarouselContainer } from './organisms/MiniCardCarouselContainer';\nimport { Text } from './organisms/Text';\nimport { BannerFeature } from './organisms/BannerFeature';\nimport { TabContainer } from './organisms/TabContainer';\nimport { CardSummary, CardSummaryDynamic } from './organisms/CardSummary';\nimport { Media } from './organisms/Media/Media';\n\nconst EditableHTLWrapper = dynamic(() => import('./organisms/EditableHTLWrapper').then(mod => mod.EditableHTLWrapper));\nconst CardHorizontalMini = dynamic(() => import('./organisms/CardHorizontalMini').then(mod => mod.CardHorizontalMini));\nconst CobrandCardHorizontalFlexible = dynamic(() =>\n import('./organisms/CobrandCardHorizontalFlexible').then(mod => mod.CobrandCardHorizontalFlexible)\n);\nconst CardHorizontalFeature = dynamic(() =>\n import('./organisms/CardHorizontalFeature').then(mod => mod.CardHorizontalFeature)\n);\nconst BannerLayered = dynamic(() => import('./organisms/BannerLayered').then(mod => mod.BannerLayered));\nconst AccordionContainer = dynamic(() => import('./organisms/AccordionContainer').then(mod => mod.AccordionContainer));\nconst CardLayered = dynamic(() => import('./organisms/CardLayered').then(mod => mod.CardLayered));\nconst CardVertical = dynamic(() => import('./organisms/CardVertical').then(mod => mod.CardVertical));\nconst RichText = dynamic(() => import('./organisms/RichText').then(mod => mod.RichText));\nconst IconBlock = dynamic(() => import('./organisms/IconBlock').then(mod => mod.IconBlock));\nconst VariableColumnContainer = dynamic(() =>\n import('./organisms/VariableColumnContainer').then(mod => mod.VariableColumnContainer)\n);\nconst NavigationContainerWrapper = dynamic(() =>\n import('./organisms/NavigationContainer').then(mod => mod.NavigationContainerWrapper)\n);\nconst NavigationUtilityLinkWrapper = dynamic(() =>\n import('./molecules/Navigation').then(mod => mod.NavigationUtilityLinkWrapper)\n);\nconst NavigationWrapper = dynamic(() => import('./molecules/Navigation').then(mod => mod.NavigationWrapper));\n\nexport {\n CardLayered,\n CardHorizontalMini,\n EditableHTLWrapper,\n StaticWrapper,\n CardCarouselContainer,\n CardVertical,\n CardHorizontalFeature,\n NavigationContainerWrapper,\n BannerLayered,\n BrandRibbon,\n IconBlock,\n LinkList,\n AccordionContainer,\n AccordionContainerEnhanced,\n CobrandCardHorizontalFlexible,\n Hero,\n RichText,\n LinkBanner,\n LinkBannerDynamic,\n GeneralMessage,\n Mosaic,\n BannerText,\n VariableColumnContainer,\n CarouselGallery,\n DataBlock,\n NavigationWrapper,\n NavigationUtilityLinkWrapper,\n NavigationMockModel,\n SignInDrawer,\n MockGetUserDetailsAuthenticated,\n MockGetUserDetailsRemembered,\n Footer,\n MiniCardCarouselContainer,\n Text,\n BannerFeature,\n TabContainer,\n CardSummary,\n CardSummaryDynamic,\n Media,\n};\n\nexport { getClickTrackValue } from './utils/TrackingPropertyUtils';\nexport { DEFAULT_TRACKING_VALUES } from './utils/constants';\n","// Styles for LocalHeader go here.\nimport styled from 'styled-components';\nimport rtl from 'styled-components-rtl';\nimport { toRem, baseVariables, contextualVariable } from '@marriott/mi-ui-library';\n\nconst $boxBoardShadow = '#eaeaea';\n\nexport const StyledLocalHeader = styled.div`\n ${rtl`\n .local-header {\n &::-webkit-scrollbar {\n display: none;\n }\n \n li {\n color: inherit;\n list-style-type: none;\n }\n \n &__menu {\n &-top {\n border-bottom: none;\n @media ${baseVariables.mediaQuery.lg} {\n border-bottom: solid ${toRem(1)} ${baseVariables.color.neutral30};\n }\n &-reserve {\n position: fixed;\n bottom: 0;\n left: 0;\n right: 0;\n background: ${baseVariables.color.base20};\n z-index: 50;\n \n @media ${baseVariables.mediaQuery.xl} {\n position: unset;\n }\n @media ${baseVariables.mediaQuery.xl} {\n z-index: 3;\n }\n \n &_button {\n font-size: ${toRem(12)}\n }\n }\n &-links {\n text-decoration: underline;\n &:hover {\n text-decoration: underline;\n font-weight: ${baseVariables.font['fontWeightRegular']};\n color: inherit;\n }\n }\n &-left {\n border-bottom: solid ${toRem(1)} ${baseVariables.color.neutral30};\n \n @media ${baseVariables.mediaQuery.md} {\n border: none;\n flex: 1;\n }\n \n &--logo {\n max-height: ${toRem(48)};\n max-width: ${toRem(80)};\n @media ${baseVariables.mediaQuery.md} {\n max-height: ${toRem(49)};\n max-width: ${toRem(110)};\n }\n @media ${baseVariables.mediaQuery.xl} {\n max-height: ${toRem(58)};\n max-width: ${toRem(130)};\n }\n }\n &--title {\n max-width: inherit;\n }\n \n }\n &-right {\n .view-map-desktop,\n .view-map-mobile {\n text-decoration: underline;\n }\n \n &-phone {\n border-left: solid ${toRem(1)} ${baseVariables.color.neutral30};\n border-right: solid ${toRem(1)} ${baseVariables.color.neutral30};\n @media ${baseVariables.mediaQuery.md} {\n border-right: none;\n }\n @media ${baseVariables.mediaQuery.xl} {\n border-left: none;\n border-right: none;\n }\n &-link {\n :lang(ar-AE), \n :lang(ar) {\n direction: rtl;\n }\n }\n }\n &-location {\n .nonChineseContent {\n display: block;\n }\n \n .chineseContent {\n display: none;\n }\n \n .chinese-page & {\n .nonChineseContent {\n display: none;\n }\n \n .chineseContent {\n display: block;\n }\n } \n }\n }\n &:only-child {\n border-bottom: none;\n }\n }\n \n &-bottom {\n border-top: ${toRem(1)} solid ${baseVariables.color.neutral30};\n box-shadow: inset 0 ${toRem(1)} 0 0 ${$boxBoardShadow}, inset 0 ${toRem(-1)} 0 0 ${$boxBoardShadow};\n @media ${baseVariables.mediaQuery.lg} {\n border-top: unset;\n box-shadow: unset;\n }\n &.sticky {\n position: fixed;\n top: ${toRem(60)};\n z-index: 9;\n background: ${baseVariables.color.base20};\n margin: 0;\n @media ${baseVariables.mediaQuery.md} {\n margin: 0 ${toRem(-32)};\n }\n }\n &.top-sticky {\n top: 0;\n }\n &-list {\n overflow-x: auto;\n overflow-y: hidden;\n &::-webkit-scrollbar {\n display: none;\n }\n }\n &-link {\n &.links {\n color: ${baseVariables.color.neutral40};\n padding-bottom: ${toRem(1)};\n white-space: nowrap;\n border-bottom: none;\n font-weight: inherit;\n @media ${baseVariables.mediaQuery.lg} {\n &:hover {\n color: ${baseVariables.color.base10};\n font-weight: ${baseVariables.font['fontWeightMedium']};\n text-decoration: none;\n // border-bottom: solid ${toRem(3)} ${contextualVariable.linkNavBorderColor};\n } \n}\n \n &:active,\n &.active {\n color: ${baseVariables.color.base10};\n font-weight: ${baseVariables.font['fontWeightMedium']};\n text-decoration: none;\n // border-bottom: solid ${toRem(3)} ${contextualVariable.linkNavBorderColor};\n }\n }\n }\n }\n .accu-weather-fragment {\n overflow: hidden;\n }\n }\n `}\n`;\n","/*\nTo convert phone number format for DE domain\n*/\nexport const canUseDOM = !!(typeof window !== 'undefined' && window.document);\n\nexport const convertPhoneNumberToDE = (phoneNumber: string): string => {\n let result = '';\n const num = phoneNumber.split(' ');\n let i = 0;\n if (num.length > 1) {\n while (i < num.length - 1) {\n if (i !== 0 && i < num.length - 1) num[i] += '-';\n else num[i] += ' ';\n i++;\n }\n result = num.join('');\n } else {\n const n = num.toString();\n result = `${n.slice(0, 2)} ${n.slice(2, 5)}-${n.slice(5, 8)}-${n.slice(8, n.length)}`;\n }\n return result;\n};\n\nexport const formatCurrency = (amount: number, locale: string, currency: string): string => {\n const pricingFormat = new Intl.NumberFormat(locale, {\n style: 'currency',\n currency: currency,\n currencyDisplay: 'code',\n });\n\n return pricingFormat.format(amount).replace(currency, '').trim();\n};\n","import { FC, useContext, useEffect } from 'react';\nimport { Image, Link } from '@marriott/mi-ui-library';\nimport { LocalHeaderDescriptionProps } from '../LocalHeader.types';\nimport { baiduMapURL, chineseLocations, mapURL } from '../../../modules/utils/constants/constants';\nimport { convertPhoneNumberToDE } from '../../../modules/utils/common';\nimport { PageParamsContext } from '../../../modules/context/PageContext';\n\nexport const LocalHeaderDescription: FC<LocalHeaderDescriptionProps> = pageProps => {\n const { preProcessorResponse } = useContext(PageParamsContext);\n const { data = null } = pageProps;\n\n const baiduMap = async () => {\n try {\n const response = await fetch('/services/marriott-hws/getBaiduMapsApiKey.json', {\n method: 'GET',\n headers: {\n 'Content-Type': 'text/plain',\n },\n });\n if (response.status === 200) {\n const data = await response.json();\n const apiKey = atob(data?.apiKey);\n const script = document.createElement('script');\n script.src = `https://api.map.baidu.com/getscript?v=2.0&ak=${apiKey}`;\n script.id = 'baidu-script';\n script.defer = true;\n\n // Append the 'script' element to 'head'\n document.head.appendChild(script);\n script.addEventListener('load', function (e) {\n e.preventDefault();\n if (window?.BMap && window?.BMap.Map) {\n const event = new CustomEvent('BAIDU_SCRIPT_LOADED', { detail: { loaded: true } });\n\n document.dispatchEvent(event);\n }\n });\n console.log('response map', data);\n }\n } catch (error) {\n console.log(error);\n }\n };\n\n const getBaiduMap = () => {\n const mapele = document.querySelector('.chineseContent.loading-map') as HTMLAnchorElement;\n const BMap = window?.BMap;\n if (mapele) {\n let latlng = [mapele.href];\n\n if (latlng[0].search('latlng=') >= 0) {\n const substr = latlng[0].substring(latlng[0].search('latlng='));\n latlng = substr ? substr.split('=') : [];\n latlng = latlng && latlng.length > 1 ? latlng[1].split(',') : [];\n }\n\n const lat = latlng && latlng.length > 1 ? latlng[0] : null;\n const long = latlng && latlng.length > 1 ? latlng[1] : null;\n\n if (lat && long) {\n const gPoint = new BMap.Point(long, lat);\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const translateCallback = (data: any) => {\n if (data.status === 0) {\n let href = mapele.href.split('?')[0];\n href = `${href}?latlng=${data.points[0].lat},${data.points[0].lng}`;\n mapele.href = href;\n mapele.classList.remove('loading-map');\n }\n };\n\n const convertor = new BMap.Convertor();\n const points = [];\n points.push(gPoint);\n convertor.translate(points, 3, 5, translateCallback);\n }\n }\n };\n\n useEffect(() => {\n document.addEventListener('BAIDU_SCRIPT_LOADED', function () {\n if (window?.BMap && window.BMap?.Map) {\n getBaiduMap();\n }\n document.removeEventListener('BAIDU_SCRIPT_LOADED', getBaiduMap);\n });\n\n const location =\n window.dataLayer && window.dataLayer['browser_akamai_loc_country']\n ? (window.dataLayer['browser_akamai_loc_country'] as string)\n : '';\n if (location && chineseLocations.includes(location)) {\n document.querySelector('body')?.classList.add('chinese-page');\n baiduMap();\n }\n }, []);\n\n return (\n <>\n <div className=\"local-header__menu-top-left d-flex flex-wrap py-3 align-items-center col-12 col-md-auto p-0 col col-xl\">\n <a\n href={pageProps?.homePage}\n target={\n preProcessorResponse?.sameTab || preProcessorResponse?.cna\n ? '_self'\n : pageProps?.openHotelLogoInNewTab === 'true'\n ? '_blank'\n : '_self'\n }\n rel=\"noreferrer\"\n >\n <Image\n defaultImageURL={pageProps?.hotelLogoFile}\n altText={pageProps?.logoAltText}\n dynamic={true}\n renditions={pageProps?.dynamicMedia?.renditions ?? []}\n title={pageProps?.logoAltText || 'Hotel logo'}\n loading=\"eager\"\n customClass=\"local-header__menu-top-left--logo\"\n ></Image>\n </a>\n <div className=\"ml-4 pl-0 pl-md-2 pl-xl-2 col\">\n <p className=\"local-header__menu-top-left--title pl-xl-1 pr-xl-1 pl-0 mb-0 t-subtitle-xl\">\n {data?.property?.basicInformation?.name}\n </p>\n </div>\n </div>\n <div className=\"local-header__menu-top-right d-flex flex-wrap py-3 align-items-center justify-content-around col-9 col-md-auto px-0\">\n <div className=\"local-header__menu-top-right-location d-flex align-items-center\">\n {!pageProps?.hideMap && data?.property?.basicInformation?.name && (\n <>\n <span className=\"local-header__menu-top-right-location-icon icon-location t-accent-color\"></span>\n <a\n className=\"local-header__menu-top-right-location-link local-header__menu-top-links ml-2 pl-1 pl-md-0 pr-md-4 pr-xl-0 mr-md-1 mr-xl-0 ml-md-3 t-font-s nonChineseContent\"\n tabIndex={0}\n target={\n preProcessorResponse?.sameTab || preProcessorResponse?.cna\n ? '_self'\n : pageProps?.openMapInNewTab === 'true'\n ? '_blank'\n : '_self'\n }\n href={`${mapURL}?api=1&query=${data?.property?.basicInformation?.name?.replaceAll(' ', '+')}`}\n rel=\"noreferrer\"\n >\n <span className=\"view-map-desktop d-none d-xl-inline-block\">{pageProps?.mapCtaLabel}</span>\n <span className=\"view-map-mobile d-inline-block d-xl-none\">{pageProps?.mobileMapCtaLabel}</span>\n </a>\n <a\n className=\"local-header__menu-top-right-location-link local-header__menu-top-links ml-2 pl-1 pl-md-0 pr-md-4 pr-xl-0 mr-md-1 mr-xl-0 ml-md-3 t-font-s chineseContent loading-map\"\n tabIndex={0}\n target={\n preProcessorResponse?.sameTab || preProcessorResponse?.cna\n ? '_self'\n : pageProps?.openMapInNewTab === 'true'\n ? '_blank'\n : '_self'\n }\n href={`${baiduMapURL}?latlng=${data?.property?.basicInformation?.latitude},${data?.property?.basicInformation?.longitude}`}\n rel=\"noreferrer\"\n >\n <span className=\"view-map-desktop d-none d-xl-inline-block\">{pageProps?.mapCtaLabel}</span>\n <span className=\"view-map-mobile d-inline-block d-xl-none\">{pageProps?.mobileMapCtaLabel}</span>\n </a>\n </>\n )}\n </div>\n <div className=\"local-header__menu-top-right-phone ml-xl-5 pl-xl-3 d-flex align-items-center\">\n {data && data?.property?.contactInformation?.contactNumbers?.[0]?.phoneNumber?.display && (\n <>\n <span className=\"local-header__menu-top-right-phone-icon icon-phone t-accent-color ml-1 ml-3 ml-md-4 pl-0 pl-xl-0 pl-md-1 ml-xl-0\"></span>\n <a\n className=\"local-header__menu-top-right-phone-link local-header__menu-top-links ml-2 mr-3 mr-md-0 pl-1 pl-md-0 ml-md-3 t-font-s\"\n tabIndex={0}\n href={`tel:${data?.property?.contactInformation?.contactNumbers?.[0].phoneNumber?.display}`}\n >\n {convertPhoneNumberToDE(data?.property?.contactInformation?.contactNumbers?.[0]?.phoneNumber?.display)}\n </a>\n </>\n )}\n </div>\n <div className=\"local-header__menu-top-reserve p-3 p-xl-0 p-md-3 p-xl-0 ml-xl-3\">\n <Link\n linkHref={pageProps?.buttonLink ?? ''}\n linkClassName=\"local-header__menu-top-reserve_button m-button-s m-button-secondary ml-0 ml-md-3 ml-xl-5 d-flex align-items-center justify-content-center col-auto col-xl-auto py-0 my-0 my-md-3 my-xl-0 mr-0 mr-md-3 mr-xl-0\"\n target={\n preProcessorResponse?.sameTab || preProcessorResponse?.cna\n ? '_self'\n : pageProps?.openButtonLinkInNewTab === 'true'\n ? '_blank'\n : '_self'\n }\n rel=\"noreferrer\"\n >\n {pageProps?.buttonLabel}\n </Link>\n </div>\n </div>\n </>\n );\n};\n","// Styles for AccuWeather go here.\nimport styled from 'styled-components';\nimport rtl from 'styled-components-rtl';\nimport { toRem, baseVariables } from '@marriott/mi-ui-library';\n\nconst $border = '#979797';\n\nexport const StyledAccuWeather = styled.div`\n ${rtl`\n .accu-weather {\n &__container {\n display: none;\n position: absolute;\n top: ${toRem(-55)};\n right: ${toRem(14)};\n border: ${toRem(1)} solid transparent;\n\n @media ${baseVariables.mediaQuery.md} {\n top: 0;\n right: 0;\n }\n\n &__wrapper {\n cursor: pointer;\n font-weight: 400;\n padding: ${toRem(12)} 0;\n\n &-cell {\n .day-cell {\n padding-top: ${toRem(5)};\n font-weight: bold;\n letter-spacing: ${toRem(1.3)};\n text-transform: uppercase;\n }\n .icon-cell {\n margin-right: ${toRem(8)};\n margin-left: ${toRem(6)};\n @media ${baseVariables.mediaQuery.xl} {\n margin-right: ${toRem(6)};\n }\n line-height: ${toRem(24)};\n span[class^='icon-'] {\n font-size: ${toRem(20)};\n\n &::before {\n color: ${baseVariables.color.neutral00};\n }\n @media ${baseVariables.mediaQuery.xl} {\n font-size: ${toRem(24)};\n }\n }\n }\n .temperature-cell {\n font-size: ${toRem(14)};\n line-height: ${toRem(16)};\n font-weight: bold;\n letter-spacing: 0;\n @media ${baseVariables.mediaQuery.xl} {\n font-size: ${toRem(20)};\n line-height: ${toRem(24)};\n }\n }\n .unit-cell {\n font-size: ${toRem(12)};\n line-height: ${toRem(15)};\n font-weight: bold;\n letter-spacing: 0;\n color: ${baseVariables.color.base10};\n @media ${baseVariables.mediaQuery.xl} {\n font-size: ${toRem(14)};\n line-height: ${toRem(16)};\n }\n }\n }\n }\n &__logo {\n &_img {\n width: ${toRem(90)};\n margin-top: ${toRem(-4)};\n }\n }\n }\n }\n .accu-weather-forecast {\n &__container {\n position: relative;\n margin-top: ${toRem(60)};\n margin-bottom: ${toRem(60)};\n &__content {\n position: absolute;\n left: 0;\n top: ${toRem(-55)};\n letter-spacing: ${toRem(1.3)};\n text-transform: uppercase;\n @media ${baseVariables.mediaQuery.xl} {\n top: 0;\n }\n }\n &__logo {\n position: absolute;\n right: 0;\n top: ${toRem(-55)};\n @media ${baseVariables.mediaQuery.xl} {\n top: 0;\n }\n }\n &__wrapper {\n cursor: pointer;\n font-weight: 400;\n padding: ${toRem(1)} ${toRem(16)};\n border-left: ${toRem(1)} solid ${$border};\n\n &:nth-child(1) {\n border-left: none;\n }\n\n :lang(ar-AE), \n :lang(ar) {\n &:nth-child(2) {\n border-left: ${toRem(1)} solid ${$border};\n }\n &:nth-child(1) {\n border-left: none;\n }\n }\n\n &:nth-child(4),\n &:nth-child(5) {\n display: none;\n @media ${baseVariables.mediaQuery.xl} {\n display: block;\n }\n }\n }\n }\n }\n .accu-weather__container__wrapper-cell {\n .forecast-day-cell {\n padding-top: ${toRem(5)};\n font-weight: bold;\n letter-spacing: ${toRem(1.3)};\n text-transform: uppercase;\n position: absolute;\n top: ${toRem(-27)};\n margin-left: ${toRem(20)};\n &-cell {\n font-weight: bold;\n }\n\n @media ${baseVariables.mediaQuery.xl} {\n position: relative;\n top: unset;\n margin-left: unset;\n }\n }\n .forecast-temperature-cell {\n font-size: ${toRem(20)};\n line-height: ${toRem(24)};\n padding-right: ${toRem(2)};\n font-weight: bold;\n letter-spacing: 0;\n }\n .forecast-unit-cell {\n font-size: ${toRem(14)};\n line-height: ${toRem(16)};\n font-weight: bold;\n letter-spacing: 0;\n color: ${baseVariables.color.base10};\n }\n }\n `}\n`;\n","/* eslint-disable @typescript-eslint/no-empty-function */\n/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { StateCreator } from 'zustand';\nimport { createAppStore } from '@marriott/mi-store-utils';\n\nexport interface accuWeatherStore {\n accuWeatherData: any;\n accuWeatherDataLoading: boolean;\n accuWeatherDataError: boolean;\n skipQuery: boolean;\n setAccuWeatherData: (data: any, loading: boolean, error: any, fallbackData: any) => void;\n}\n\nconst initialState: accuWeatherStore = {\n accuWeatherData: null,\n accuWeatherDataLoading: true,\n accuWeatherDataError: false,\n skipQuery: false,\n setAccuWeatherData: () => {},\n};\n\nconst AccuWeatherStore: StateCreator<accuWeatherStore> = set => {\n return {\n ...initialState,\n setAccuWeatherData: (data, loading, error, fallbackData) => {\n if (error) {\n console.log(fallbackData);\n set({ accuWeatherData: null, accuWeatherDataLoading: loading, accuWeatherDataError: true, skipQuery: true });\n } else if (data && Object.keys(data).length) {\n set({\n accuWeatherData: { ...data },\n accuWeatherDataLoading: loading,\n accuWeatherDataError: false,\n skipQuery: true,\n });\n }\n },\n };\n};\n\nexport const useAccuWeatherStore = createAppStore(AccuWeatherStore, {\n usePersistentStore: false,\n});\n","export const AccuWeatherMock = {\n imageAltText: 'AccuWeather Logo',\n selectPositioning: 'nearbyAccuweather',\n ':type': 'mi-aem-ppv5-spa/components/content/accuWeather',\n weatherForecast: 'Weather Forecast',\n daysWeatherForecast: 5,\n daysOfWeek: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'],\n accuWeatherImage:\n 'https://cache.marriott.com/content/dam/marriott-digital/mcomppv5/global/en_us/logo/assets/pdt-AccuWeather-Logo-168720693221076.png',\n};\n\n//create the date\nconst myDate = new Date();\n\nexport const AccuWeatherHeaderMock = {\n imageAltText: 'AccuWeather Logo',\n selectPositioning: 'headerAccuweather',\n ':type': 'mi-aem-ppv5-spa/components/content/accuWeather',\n weatherForecast: 'Weather Forecast',\n daysWeatherForecast: 1,\n daysOfWeek: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'],\n accuWeatherImage:\n 'https://cache.marriott.com/content/dam/marriott-digital/mcomppv5/global/en_us/logo/assets/pdt-AccuWeather-Logo-168720693221076.png',\n};\n\nexport const AccuWeatherMockUXL = {\n property: {\n weather: {\n hourly: [\n {\n dateTime: myDate,\n weatherIcon: 11,\n temperature: {\n value: 42,\n unit: 'F',\n __typename: 'Temperature',\n },\n mobileLink:\n 'http://www.accuweather.com/en/us/theater-district-ny/10036/hourly-weather-forecast/2627514?day=1&hbhhour=12&lang=en-us',\n link: 'http://www.accuweather.com/en/us/theater-district-ny/10036/hourly-weather-forecast/2627514?day=1&hbhhour=12&lang=en-us',\n __typename: 'HourlyWeatherDetail',\n },\n ],\n tenDay: [\n {\n date: new Date(myDate.setDate(myDate.getDate() + 1)),\n temperature: {\n maximum: {\n value: 46,\n unit: 'F',\n __typename: 'Temperature',\n },\n __typename: 'HotelWeatherDailyTemperature',\n },\n mobileLink:\n 'http://www.accuweather.com/en/us/theater-district-ny/10036/daily-weather-forecast/2627514?day=1&lang=en-us',\n link: 'http://www.accuweather.com/en/us/theater-district-ny/10036/daily-weather-forecast/2627514?day=1&lang=en-us',\n day: {\n weatherIcon: 18,\n __typename: 'HotelWeatherDailyForecastDetails',\n },\n __typename: 'HotelWeatherDailyForecast',\n },\n {\n date: new Date(myDate.setDate(myDate.getDate() + 2)),\n temperature: {\n maximum: {\n value: 53,\n unit: 'F',\n __typename: 'Temperature',\n },\n __typename: 'HotelWeatherDailyTemperature',\n },\n mobileLink:\n 'http://www.accuweather.com/en/us/theater-district-ny/10036/daily-weather-forecast/2627514?day=2&lang=en-us',\n link: 'http://www.accuweather.com/en/us/theater-district-ny/10036/daily-weather-forecast/2627514?day=2&lang=en-us',\n day: {\n weatherIcon: 18,\n __typename: 'HotelWeatherDailyForecastDetails',\n },\n __typename: 'HotelWeatherDailyForecast',\n },\n {\n date: new Date(myDate.setDate(myDate.getDate() + 3)),\n temperature: {\n maximum: {\n value: 59,\n unit: 'F',\n __typename: 'Temperature',\n },\n __typename: 'HotelWeatherDailyTemperature',\n },\n mobileLink:\n 'http://www.accuweather.com/en/us/theater-district-ny/10036/daily-weather-forecast/2627514?day=3&lang=en-us',\n link: 'http://www.accuweather.com/en/us/theater-district-ny/10036/daily-weather-forecast/2627514?day=3&lang=en-us',\n day: {\n weatherIcon: 12,\n __typename: 'HotelWeatherDailyForecastDetails',\n },\n __typename: 'HotelWeatherDailyForecast',\n },\n {\n date: new Date(myDate.setDate(myDate.getDate() + 4)),\n temperature: {\n maximum: {\n value: 50,\n unit: 'F',\n __typename: 'Temperature',\n },\n __typename: 'HotelWeatherDailyTemperature',\n },\n mobileLink:\n 'http://www.accuweather.com/en/us/theater-district-ny/10036/daily-weather-forecast/2627514?day=4&lang=en-us',\n link: 'http://www.accuweather.com/en/us/theater-district-ny/10036/daily-weather-forecast/2627514?day=4&lang=en-us',\n day: {\n weatherIcon: 6,\n __typename: 'HotelWeatherDailyForecastDetails',\n },\n __typename: 'HotelWeatherDailyForecast',\n },\n {\n date: new Date(myDate.setDate(myDate.getDate() + 5)),\n temperature: {\n maximum: {\n value: 41,\n unit: 'F',\n __typename: 'Temperature',\n },\n __typename: 'HotelWeatherDailyTemperature',\n },\n mobileLink:\n 'http://www.accuweather.com/en/us/theater-district-ny/10036/daily-weather-forecast/2627514?day=5&lang=en-us',\n link: 'http://www.accuweather.com/en/us/theater-district-ny/10036/daily-weather-forecast/2627514?day=5&lang=en-us',\n day: {\n weatherIcon: 18,\n __typename: 'HotelWeatherDailyForecastDetails',\n },\n __typename: 'HotelWeatherDailyForecast',\n },\n {\n date: new Date(myDate.setDate(myDate.getDate() + 6)),\n temperature: {\n maximum: {\n value: 35,\n unit: 'F',\n __typename: 'Temperature',\n },\n __typename: 'HotelWeatherDailyTemperature',\n },\n mobileLink:\n 'http://www.accuweather.com/en/us/theater-district-ny/10036/daily-weather-forecast/2627514?day=6&lang=en-us',\n link: 'http://www.accuweather.com/en/us/theater-district-ny/10036/daily-weather-forecast/2627514?day=6&lang=en-us',\n day: {\n weatherIcon: 3,\n __typename: 'HotelWeatherDailyForecastDetails',\n },\n __typename: 'HotelWeatherDailyForecast',\n },\n {\n date: new Date(myDate.setDate(myDate.getDate() + 7)),\n temperature: {\n maximum: {\n value: 36,\n unit: 'F',\n __typename: 'Temperature',\n },\n __typename: 'HotelWeatherDailyTemperature',\n },\n mobileLink:\n 'http://www.accuweather.com/en/us/theater-district-ny/10036/daily-weather-forecast/2627514?day=7&lang=en-us',\n link: 'http://www.accuweather.com/en/us/theater-district-ny/10036/daily-weather-forecast/2627514?day=7&lang=en-us',\n day: {\n weatherIcon: 1,\n __typename: 'HotelWeatherDailyForecastDetails',\n },\n __typename: 'HotelWeatherDailyForecast',\n },\n {\n date: new Date(myDate.setDate(myDate.getDate() + 8)),\n temperature: {\n maximum: {\n value: 45,\n unit: 'F',\n __typename: 'Temperature',\n },\n __typename: 'HotelWeatherDailyTemperature',\n },\n mobileLink:\n 'http://www.accuweather.com/en/us/theater-district-ny/10036/daily-weather-forecast/2627514?day=8&lang=en-us',\n link: 'http://www.accuweather.com/en/us/theater-district-ny/10036/daily-weather-forecast/2627514?day=8&lang=en-us',\n day: {\n weatherIcon: 4,\n __typename: 'HotelWeatherDailyForecastDetails',\n },\n __typename: 'HotelWeatherDailyForecast',\n },\n {\n date: new Date(myDate.setDate(myDate.getDate() + 9)),\n temperature: {\n maximum: {\n value: 50,\n unit: 'F',\n __typename: 'Temperature',\n },\n __typename: 'HotelWeatherDailyTemperature',\n },\n mobileLink:\n 'http://www.accuweather.com/en/us/theater-district-ny/10036/daily-weather-forecast/2627514?day=9&lang=en-us',\n link: 'http://www.accuweather.com/en/us/theater-district-ny/10036/daily-weather-forecast/2627514?day=9&lang=en-us',\n day: {\n weatherIcon: 7,\n __typename: 'HotelWeatherDailyForecastDetails',\n },\n __typename: 'HotelWeatherDailyForecast',\n },\n {\n date: new Date(myDate.setDate(myDate.getDate() + 10)),\n temperature: {\n maximum: {\n value: 53,\n unit: 'F',\n __typename: 'Temperature',\n },\n __typename: 'HotelWeatherDailyTemperature',\n },\n mobileLink:\n 'http://www.accuweather.com/en/us/theater-district-ny/10036/daily-weather-forecast/2627514?day=10&lang=en-us',\n link: 'http://www.accuweather.com/en/us/theater-district-ny/10036/daily-weather-forecast/2627514?day=10&lang=en-us',\n day: {\n weatherIcon: 18,\n __typename: 'HotelWeatherDailyForecastDetails',\n },\n __typename: 'HotelWeatherDailyForecast',\n },\n ],\n __typename: 'PropertyWeather',\n },\n __typename: 'Hotel',\n },\n};\n\nexport const mockPageParamContext = {\n preProcessorResponse: {\n userSegment: 'NOT Logged In',\n validMarsha: true,\n status: 'SUCCESS',\n message: '',\n statusCode: '200',\n brandCode: 'MC',\n experienceSegment: 'Connected-Unknown-Tier1-Guest',\n locale: 'en-US',\n subDirectory: 'en-US',\n currentStateMapping: {\n title: 'tier1Title',\n welcomeText: 'welcomeText',\n description: 'unknownConnectedDescription',\n isConnectState: false,\n connectUpgradeBtn: 'upgradeButtonLabel',\n signInButton: {\n signInButtonLink: '',\n signInButtonLabel: '',\n signInButtonLinkInNewTab: '',\n },\n joinNowButton: {\n joinButtonLabel: 'joinButtonLabel',\n joinButtonLink: 'joinButtonLink',\n joinButtonLinkInNewTab: 'joinButtonLinkInNewTab',\n },\n termsAndConditions: 'termsAndConditions',\n signInText: '',\n noLoginInterfaceModal: false,\n showLoginModal: false,\n loginModal: {\n default: false,\n separatorLabel: false,\n userAccessCodeLabel: false,\n requestAccessCodeLabel: false,\n errorMessage: false,\n connectNowLabel: false,\n },\n showAccessModal: false,\n accessModal: {\n default: false,\n acErrorMessage: false,\n },\n showReqAccessModal: false,\n reqAccessModal: {\n default: false,\n racErrorMessage: false,\n },\n showUpgradeGenErr: false,\n showUpgradeLRErr: false,\n showUpgradeMaxErr: false,\n showUpgradeNoCCErr: false,\n showUpgradePMSErr: false,\n showUpgradeSuccessNAInfo: false,\n showUpgradeSuccessMAXInfo: false,\n showPricingModal: false,\n showUpgradeModal: false,\n },\n cna: false,\n mac: false,\n sameTab: true,\n marsha: 'nycmq',\n state: 'connected',\n userState: 'unknown',\n cookie: 'sessionID=0E8AAD48-4931-5F2E-808A-BB1F0A8B89BF',\n },\n sessionID: '',\n requestId: '/einterface/v5/nycmq~X~694F9E51-9538-556F-AF11-D009CB1F4061',\n lang: 'en-US',\n};\n","import { FC, useContext, useEffect, useMemo, useState } from 'react';\nimport { AccuWeatherNearByThingsToDoProps, forecastType } from '../AccuWeather.types';\nimport { PageParamsContext } from '../../../modules/context/PageContext';\nimport { weatherIcons } from '../../../modules/utils/constants/constants';\n// import { useAccuWeatherData } from '../context/AccuWeatherDataContext';\nimport { accuWeatherStore, useAccuWeatherStore } from '../../../modules/store/accuWeatherStore';\nimport { AccuWeatherMockUXL } from '../__mock__/AccuWeatherMock';\n\nexport const AccuWeatherNearByThingsToDo: FC<AccuWeatherNearByThingsToDoProps> = ({\n weatherForecast,\n daysOfWeek,\n accuWeatherImage,\n imageAltText,\n isAuthorMode,\n}) => {\n const { preProcessorResponse } = useContext(PageParamsContext);\n const { cna = false, sameTab = false } = preProcessorResponse || {};\n // const { accuWeatherData } = useAccuWeatherData();\n const accuWeatherData = useAccuWeatherStore((state: accuWeatherStore) => state.accuWeatherData);\n const data = useMemo(() => {\n return isAuthorMode ? { ...AccuWeatherMockUXL } : accuWeatherData ? { ...accuWeatherData } : null;\n }, [accuWeatherData, isAuthorMode]);\n const [forecast, setForecast] = useState<Array<forecastType>>([]);\n\n useEffect(() => {\n if (data && Object.keys(data) && Object.keys(data)?.length && data?.property?.weather?.tenDay) {\n const forecast: Array<forecastType> = [];\n const presentDate = new Date().getTime();\n const weatherDate = new Date(data?.property?.weather?.tenDay[0].date).getTime();\n // Verify if the current date on the system matches the date on the UXL weather data at index 0\n // Difference between present date and UXL weather date at index 0\n const dateDiff = Math.ceil((presentDate - weatherDate) / (1000 * 3600 * 24));\n\n data?.property?.weather?.tenDay?.forEach?.(\n (\n item: {\n date: string | number | Date;\n day: { weatherIcon: number };\n temperature: { maximum: { value: number; unit: string } };\n mobileLink: string;\n link: string;\n },\n index: number\n ) => {\n // Display data for the next five days, including today\n if (index >= dateDiff && index < dateDiff + 5) {\n forecast.push({\n date: new Date(item?.date),\n weatherIcon: item?.day?.weatherIcon,\n temperature: {\n value: Math.trunc(item?.temperature?.maximum?.value),\n unit: item?.temperature?.maximum?.unit,\n },\n mobileLink: item?.mobileLink,\n link: item?.link,\n });\n }\n }\n );\n\n setForecast([...forecast]);\n }\n }, [data]);\n\n return (forecast as Array<forecastType>).length > 0 ? (\n <div className=\"d-flex\">\n <div className=\"container\">\n <div className=\"accu-weather-forecast__container d-flex justify-content-center\">\n <div className=\"accu-weather-forecast__container__content\">\n <span className=\"t-font-xs\" data-testid=\"near-by-accu-weather\">\n {weatherForecast}\n </span>\n </div>\n <div className=\"d-flex\">\n {(forecast as Array<forecastType>)?.map((weather, index) => {\n return (\n <a\n href={`${weather.link}&partner=web_marriott_adc`}\n target={sameTab || cna ? '_self' : '_blank'}\n className=\"accu-weather-forecast__container__wrapper\"\n rel=\"noreferrer\"\n key={`forecast-day-${index}`}\n data-testid={`forecast-day-link-${index}`}\n >\n <div className=\"d-flex accu-weather__container__wrapper-cell\">\n <div className=\"d-flex forecast-day-cell\">\n <span className=\"forecast-day-cell-day t-font-xs\" data-testid={`forecast-day-${index}`}>\n {daysOfWeek[new Date(weather.date).getDay() > 0 ? new Date(weather.date).getDay() - 1 : 6]}\n </span>\n </div>\n <div className=\"icon-cell\">\n {weatherIcons?.map((icon, i) => {\n if (weather?.weatherIcon === icon.iconKey) {\n return (\n <span\n className={icon.iconClass}\n data-testid={`forecast-day-${index}-icon-${i}`}\n key={`forecast-day-${index}-icon-${i}`}\n ></span>\n );\n }\n return <span></span>;\n })}\n </div>\n <div>\n <span className=\"forecast-temperature-cell t-font-m\">{weather?.temperature?.value}</span>\n <span className=\"forecast-unit-cell\">°{weather?.temperature?.unit}</span>\n </div>\n </div>\n </a>\n );\n })}\n </div>\n <div className=\"accu-weather-forecast__container__logo pl-2 pl-xl-3 d-flex\">\n <a\n href={`${data?.property?.weather?.tenDay[0]?.link}&partner=web_marriott_adc`}\n target={sameTab || cna ? '_self' : '_blank'}\n rel=\"noreferrer\"\n className=\"d-flex align-items-center\"\n >\n <span>\n <img src={accuWeatherImage} alt={imageAltText} className=\"accu-weather__container__logo_img\"></img>\n </span>\n <span className=\"icon-forward-arrow t-accent-color\"></span>\n </a>\n </div>\n </div>\n </div>\n </div>\n ) : null;\n};\n","import { FC, useContext } from 'react';\nimport { AccuWeatherHeaderProps } from '../AccuWeather.types';\nimport { PageParamsContext } from '../../../modules/context/PageContext';\nimport { weatherIcons } from '../../../modules/utils/constants/constants';\n// import { useAccuWeatherData } from '../context/AccuWeatherDataContext';\nimport { AccuWeatherMockUXL } from '../__mock__/AccuWeatherMock';\nimport { accuWeatherStore, useAccuWeatherStore } from '../../../modules/store/accuWeatherStore';\n\nexport const AccuWeatherHeader: FC<AccuWeatherHeaderProps> = ({ accuWeatherImage, imageAltText, isAuthorMode }) => {\n const { preProcessorResponse } = useContext(PageParamsContext);\n const { cna = false, sameTab = false } = preProcessorResponse || {};\n // const { accuWeatherData } = useAccuWeatherData();\n const accuWeatherData = useAccuWeatherStore((state: accuWeatherStore) => state.accuWeatherData);\n const data = isAuthorMode ? { ...AccuWeatherMockUXL } : accuWeatherData ? { ...accuWeatherData } : null;\n\n return data?.property?.weather?.hourly.length > 0 ? (\n <div className=\"accu-weather__container d-flex justify-content-end\">\n <a\n href={`${data?.property?.weather?.hourly[0]?.link}&partner=web_marriott_adc`}\n target={sameTab || cna ? '_self' : '_blank'}\n className=\"accu-weather__container__wrapper\"\n rel=\"noreferrer\"\n >\n <div className=\"d-flex accu-weather__container__wrapper-cell\">\n <div className=\"icon-cell\">\n {weatherIcons?.map(\n icon =>\n data?.property?.weather?.hourly[0]?.weatherIcon === icon.iconKey && (\n <span className={icon.iconClass}></span>\n )\n )}\n </div>\n <div>\n <span className=\"temperature-cell t-font-m\">\n {Math.trunc(data?.property?.weather?.hourly[0]?.temperature?.value)}\n </span>\n <span className=\"unit-cell\">°{data?.property?.weather?.hourly[0]?.temperature?.unit}</span>\n </div>\n </div>\n </a>\n <div className=\"accu-weather__container__logo pl-2 pl-xl-3 d-flex\">\n <a\n href={`${data?.property?.weather?.hourly[0]?.link}&partner=web_marriott_adc`}\n target={sameTab || cna ? '_self' : '_blank'}\n rel=\"noreferrer\"\n className=\"d-flex align-items-center\"\n data-testid=\"accu-weather-header-link\"\n >\n <span>\n <img\n src={accuWeatherImage}\n alt={imageAltText}\n data-testid=\"accu-weather-logo\"\n className=\"accu-weather__container__logo_img d-none d-xl-flex\"\n ></img>\n </span>\n <span className=\"icon-forward-arrow t-accent-color\"></span>\n </a>\n </div>\n </div>\n ) : null;\n};\n","/* eslint-disable @typescript-eslint/no-var-requires */\nexport const headerDetails = require('./libs/phoenixPpv5HeaderDetails.graphql');\nexport const heroBannerQuery = require('./libs/phoenixPpv5HeroBanner.graphql');\nexport const phoenixPpv5Services = require('./libs/phoenixPpv5Services.graphql');\nexport const accuWeather = require('./libs/phoenixPpv5AccuWeather.graphql');\nexport const countryCodeDetails = require('./libs/phoenixPpv5CountryCodeDetails.graphql');\nexport const settlementCurrenyDetails = require('./libs/phoenixPpv5InternetPricing.graphql');\n","import { FC, useContext, useEffect } from 'react';\nimport { useQuery } from '@apollo/client';\nimport { AccuWeatherDataProps, forecastType } from '../AccuWeather.types';\nimport { AccuWeatherMockUXL } from '../__mock__/AccuWeatherMock';\nimport { PageParamsContext } from '../../../modules/context/PageContext';\nimport { accuWeather } from '../../../modules/graphql/index';\nimport { accuWeatherStore, useAccuWeatherStore } from '../../../modules/store/accuWeatherStore';\n\nexport const AccuWeatherData: FC<AccuWeatherDataProps> = ({ isAuthorMode = false, setData }) => {\n const isServer = !(typeof window != 'undefined' && window.document);\n const { preProcessorResponse, sessionID, requestId, lang } = useContext(PageParamsContext);\n const setAccuWeatherData = useAccuWeatherStore((state: accuWeatherStore) => state.setAccuWeatherData);\n\n let { data, loading, error } = useQuery(accuWeather, {\n fetchPolicy: isServer ? 'network-only' : 'cache-first',\n variables: {\n propertyId: preProcessorResponse?.marsha ?? '',\n },\n context: {\n headers: {\n //Update the variables of AriesReservation for ppv5\n 'accept-language': lang ?? 'en-US',\n 'x-b3-traceId': sessionID ?? 'fallback-token',\n 'x-b3-spanId': requestId !== '' ? requestId : `${Date.now()}`,\n 'correlation-id': sessionID ?? 'fallback-token',\n },\n },\n skip: isAuthorMode,\n });\n\n if (isAuthorMode) {\n loading = false;\n data = AccuWeatherMockUXL;\n error = undefined;\n }\n\n useEffect(() => {\n if (!loading) {\n if (data && Object.keys(data)) {\n setAccuWeatherData({ ...data }, loading, error, {});\n setData({ ...data });\n }\n }\n }, [data, loading, error, setAccuWeatherData, setData]);\n\n return null;\n};\n","import { FC, useState } from 'react';\nimport { Config, EditableComponent, MappedComponentProperties } from '@adobe/aem-react-editable-components';\nimport { AccuWeatherProps } from './AccuWeather.types';\nimport { StyledAccuWeather } from './AccuWeather.styles';\nimport { AccuWeatherNearByThingsToDo } from './components/AccuWeatherNearByThingsToDo';\nimport { AccuWeatherHeader } from './components/AccuWeatherHeader';\nimport { AccuWeatherData } from './components/AccuWeatherData';\n\nconst { NEXT_PUBLIC_AEM_SITE } = process.env;\n\nexport const AccuWeather: FC<AccuWeatherProps> = pageProps => {\n const { selectPositioning, isAuthorMode } = pageProps;\n const [accuWeatherData, setAccuWeatherData] = useState(null);\n\n return (\n <StyledAccuWeather data-testid=\"accuWeather\" data-component-name=\"o-ppv5-accuWeather\">\n {!accuWeatherData ? <AccuWeatherData isAuthorMode={isAuthorMode} setData={setAccuWeatherData} /> : null}\n {selectPositioning === 'headerAccuweather' ? <AccuWeatherHeader {...pageProps} /> : null}\n {selectPositioning === 'nearbyAccuweather' ? <AccuWeatherNearByThingsToDo {...pageProps} /> : null}\n </StyledAccuWeather>\n );\n};\n\nexport const AccuWeatherConfig = {\n emptyLabel: 'AccuWeather',\n isEmpty: (_props: MappedComponentProperties) => false,\n resourceType: `${NEXT_PUBLIC_AEM_SITE}/components/content/accuWeather`,\n} as Config<MappedComponentProperties>;\n\nexport const AccuWeatherEditable = (props: AccuWeatherProps) => (\n <EditableComponent config={AccuWeatherConfig} {...props}>\n <AccuWeather {...props} />\n </EditableComponent>\n);\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { FC } from 'react';\nimport { ResponsiveGrid } from '@adobe/aem-react-editable-components';\nimport { LocalHeaderAccuWeatherProps } from '../LocalHeader.types';\nimport { AccuWeather } from '../../AccuWeather';\nimport { experienceFragmentComponentTypes } from '../../../modules/utils/constants/constants';\n\nexport const LocalHeaderAccuWeather: FC<LocalHeaderAccuWeatherProps> = ({\n isAuthorMode,\n cqItems,\n cqItemsOrder,\n hideNavigation,\n pagePath,\n itemPath,\n}): JSX.Element => {\n //Method for returning Responsive Grid for showing parsys in Author mode\n const AccuWeatherContainer = () => (\n <div data-testid=\"brand-container-component\">\n <ResponsiveGrid\n gridClassNames={`col-12`}\n columnClassNames={{\n responsivegrid: `col-12`,\n }}\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n pagePath={pagePath}\n itemPath={`${itemPath}/container-0`}\n config={{\n isEmpty: () => true,\n resourceType: 'mi-aem-common-spa/components/container',\n }}\n />\n </div>\n );\n\n //Method for returning components to be rendering at end point URL\n const AccuWeatherContainerWrapper = (cardName: string, jsonData: any) => {\n const returnable: Array<any> = [];\n // eslint-disable-next-line no-prototype-builtins\n if (jsonData?.hasOwnProperty(cardName)) {\n const card = jsonData[cardName];\n const cardItems = card[':items'];\n for (const itemKey in cardItems) {\n // eslint-disable-next-line no-prototype-builtins\n if (cardItems?.hasOwnProperty(itemKey)) {\n const item = cardItems[itemKey];\n if (item[':type'] === experienceFragmentComponentTypes.accuWeather) {\n returnable.push(<AccuWeather {...item} />);\n } else {\n for (const i in item?.[':items']) {\n for (const j in item?.[':items']?.[i]) {\n for (const k in item?.[':items']?.[i]?.[j]) {\n for (const l in item?.[':items']?.[i]?.[j]?.[k]) {\n for (const m in item?.[':items']?.[i]?.[j]?.[k]?.[l]) {\n const obj = item?.[':items']?.[i]?.[j]?.[k]?.[l]?.[m];\n if (obj[':type'] === experienceFragmentComponentTypes.accuWeather) {\n returnable.push(<AccuWeather {...obj} />);\n }\n }\n }\n }\n }\n }\n }\n }\n }\n return <div data-testid=\"brand-container-component-wrapper\">{returnable}</div>;\n }\n return null;\n };\n\n const showAccuWeatherContainer: JSX.Element = isAuthorMode ? (\n <div>{Array.from({ length: 1 }, _ => AccuWeatherContainer())}</div>\n ) : (\n <div>{cqItemsOrder && !hideNavigation && AccuWeatherContainerWrapper(cqItemsOrder?.[0], cqItems)}</div>\n );\n\n return showAccuWeatherContainer;\n};\n","/* eslint-disable @typescript-eslint/no-empty-function */\n/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { StateCreator } from 'zustand';\nimport { createAppStore } from '@marriott/mi-store-utils';\n\nexport interface serviceStore {\n serviceData: {\n serviceClicked: boolean;\n serviceUXL: string;\n connectBtnClick: boolean;\n servicesLoaded: boolean;\n merchandisingAvailable: boolean;\n } | null;\n serviceLoading: boolean;\n serviceError: boolean;\n skipQuery: boolean;\n setservice: (data: any, loading: boolean, error: any, fallbackData: any) => void;\n}\n\nconst initialState: serviceStore = {\n serviceData: {\n serviceClicked: false,\n serviceUXL: '',\n connectBtnClick: false,\n servicesLoaded: false,\n merchandisingAvailable: false,\n },\n serviceLoading: true,\n serviceError: false,\n skipQuery: false,\n setservice: () => {},\n};\n\nconst ServiceStore: StateCreator<serviceStore> = set => {\n return {\n ...initialState,\n setservice: (data, loading, error, fallbackData) => {\n if (error) {\n console.log(fallbackData);\n set({\n serviceData: null,\n serviceLoading: loading,\n serviceError: true,\n skipQuery: true,\n });\n } else if (data && Object.keys(data).length) {\n set(state => ({\n serviceData: { ...JSON.parse(JSON.stringify(state)).serviceData, ...data },\n serviceLoading: loading,\n serviceError: false,\n skipQuery: true,\n }));\n }\n },\n };\n};\n\nexport const useServiceStore = createAppStore(ServiceStore, {\n usePersistentStore: false,\n});\n","import { FC, useContext, useEffect, useState } from 'react';\nimport { Link } from '@marriott/mi-ui-library';\nimport { LocalHeaderAccuWeather } from './LocalHeaderAccuWeather';\nimport { LocalHeaderNavigationProps } from '../LocalHeader.types';\nimport {\n localOffersContectID,\n merchandisingContectID,\n merchandisingLuxuryBrand,\n} from '../../../modules/utils/constants/constants';\nimport { serviceStore, useServiceStore } from '../../../modules/store/serviceStore';\nimport { PageParamsContext } from '../../../modules/context/PageContext';\n\nexport const LocalHeaderNavigation: FC<LocalHeaderNavigationProps> = pageProps => {\n const { navigationAttributes, localHeaderNavigationRef, hideNavigation, linkClicked } = pageProps;\n const [l2NavLinks, setL2NavLinks] = useState<JSX.Element[]>([]);\n let listRefStickyNavLinks: NodeListOf<HTMLElement>;\n const [isLuxuriousBrand, setIsLuxuriousBrand] = useState<boolean>(false);\n const serviceData = useServiceStore((state: serviceStore) => state.serviceData);\n const linkedTargetElements: Array<{\n targetElement: Element | null;\n linkElement: null;\n }> = [];\n\n const { preProcessorResponse } = useContext(PageParamsContext);\n const { brandCode } = preProcessorResponse ?? {};\n\n const handleLinkClick = (event: { target: { hash: string }; preventDefault: () => void }) => {\n linkClicked(event);\n };\n\n useEffect(() => {\n if (brandCode && merchandisingLuxuryBrand.includes(brandCode)) {\n setIsLuxuriousBrand(true);\n }\n }, [brandCode]);\n\n useEffect(() => {\n listRefStickyNavLinks = document.querySelectorAll('.local-header__menu-bottom-link');\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n listRefStickyNavLinks.forEach((link: any) => {\n linkedTargetElements.push({\n targetElement: document.querySelector(`[id=\"${link.hash.substr(1)}\"]`),\n linkElement: link,\n });\n link.addEventListener('click', handleLinkClick, link);\n });\n }, [l2NavLinks]);\n\n useEffect(() => {\n let links: JSX.Element[] = [];\n navigationAttributes &&\n navigationAttributes?.forEach((navigation, index) => {\n if (document.getElementById(navigation.componentId)) {\n //to hide merchandising component\n if (!(isLuxuriousBrand && navigation.componentId === merchandisingContectID)) {\n //to hide Nearby Things To Do component\n if (\n navigation.componentId !== localOffersContectID ||\n (navigation.componentId === localOffersContectID && document.querySelector('.app-js__nearby-outlet'))\n )\n links = [\n ...links,\n <li key={`${navigation.componentId}-${index}`} className=\"py-0 mr-3 pr-3 my-2\">\n <Link\n linkHref={`#${navigation.componentId}`}\n linkClassName=\"t-font-s pt-0 mr-0 mr-md-1 local-header__menu-bottom-link links mb-1\"\n >\n {navigation?.label}\n </Link>\n </li>,\n ];\n }\n }\n });\n setL2NavLinks(links);\n }, [serviceData?.servicesLoaded, isLuxuriousBrand, navigationAttributes]);\n\n return (\n <div\n className=\"local-header__menu-bottom d-flex flex-wrap justify-content-between col-12 p-0\"\n ref={localHeaderNavigationRef}\n data-testid=\"local-header__menu-bottom_test\"\n >\n <div className=\"local-header__menu-bottom-container flex-wrap col-12 p-0\">\n <ul\n className={`local-header__menu-bottom-list d-flex my-2 pl-3 pl-md-0 justify-content-md-center ${\n l2NavLinks.length <= 2 ? 'justify-content-center' : ''\n }`}\n >\n {l2NavLinks}\n </ul>\n </div>\n <div\n className=\"accu-weather-fragment container rendered\"\n data-id=\"headerAccuweather\"\n id=\"headerAccuweather\"\n data-compid=\"headerAccuweather\"\n >\n <LocalHeaderAccuWeather {...pageProps} hideNavigation={hideNavigation} />\n </div>\n </div>\n );\n};\n","export const localheaderMock = {\n openLogoInNewTab: 'true',\n dynamicMedia: {\n altText: 'Marriott Hotels and Resorts',\n assetPath:\n 'https://marriott-sites2-qa.adobecqms.net/content/dam/marriott-digital/mc/global-property-shared/en_us/logo/assets/mc_logo_L.png',\n enableSmartCrop: true,\n dynamic: false,\n renditions: [\n {\n renditionPath: '/content/dam/marriott-digital/mc/global-property-shared/en_us/logo/assets/mc_logo_L.png',\n mediaValue: '768px',\n width: 0,\n dynamic: false,\n damPath: '/content/dam/marriott-digital/mc/global-property-shared/en_us/logo/assets/mc_logo_L.png',\n mediaQuery: 'min-width',\n height: 0,\n },\n {\n renditionPath: '/content/dam/marriott-digital/mc/global-property-shared/en_us/logo/assets/mc_logo_L.png',\n mediaValue: '576px',\n width: 0,\n dynamic: false,\n damPath: '/content/dam/marriott-digital/mc/global-property-shared/en_us/logo/assets/mc_logo_L.png',\n mediaQuery: 'max-width',\n height: 0,\n },\n {\n renditionPath: '/content/dam/marriott-digital/mc/global-property-shared/en_us/logo/assets/mc_logo_L.png',\n mediaValue: '576px',\n width: 0,\n dynamic: false,\n damPath: '/content/dam/marriott-digital/mc/global-property-shared/en_us/logo/assets/mc_logo_L.png',\n mediaQuery: 'min-width',\n height: 0,\n },\n ],\n damPath: '/content/dam/marriott-digital/mc/global-property-shared/en_us/logo/assets/mc_logo_L.png',\n },\n logoAltText: 'Marriott Hotels and Resorts',\n mobileMapCtaLabel: 'Map',\n hideL2Navigation: true,\n openMapInNewTab: 'true',\n mapCtaLabel: 'View Map',\n openHotelLogoInNewTab: 'true',\n pagePath: '/content/marriott-hws/na/en-us/hotels/n/nycmq-new-york-marriott-marquis/ppv5-phoenix/homepage',\n homePage: 'https://marriott-sites2-qa.adobecqms.net/en-us/hotels/nycmq-new-york-marriott-marquis/overview/',\n buttonLabel: 'Book Your Next Stay',\n ':items': {\n 'container-0': {\n ':items': {\n brandedcontainer: {\n ':items': {\n 'container-0': {\n ':items': {\n experiencefragment: {\n configured: true,\n ':items': {\n accuWeather: {\n imageAltText: 'AccuWeather Logo',\n selectPositioning: 'headerAccuweather',\n ':type': 'mi-aem-ppv5-spa/components/content/accuWeather',\n weatherForecast: 'Weather Forecast',\n daysWeatherForecast: 1,\n daysOfWeek: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'],\n accuWeatherImage:\n 'https://marriott-sites2-qa.adobecqms.net/content/dam/marriott-digital/mcomppv5/global/en_us/logo/assets/pdt-AccuWeather-Logo-168720693221076.png',\n },\n 'cq:responsive': {\n ':type': 'nt:unstructured',\n },\n },\n cssClassNames: 'aem-xf',\n localizedFragmentVariationPath:\n '/content/experience-fragments/mi-aem-ppv5-spa/global/en-us/accuwhether-experience-fragment/master/jcr:content/root',\n ':type': 'mi-aem-ppv5-spa/components/content/experiencefragment',\n ':itemsOrder': ['cq:responsive', 'accuWeather'],\n name: 'accuwhether-experience-fragment',\n },\n },\n allowedComponents: {\n components: [],\n applicable: false,\n },\n ':type': 'wcm/foundation/components/responsivegrid',\n ':itemsOrder': ['experiencefragment'],\n columnClassNames: {\n experiencefragment: 'aem-GridColumn aem-GridColumn--default--12',\n },\n gridClassNames: 'aem-Grid aem-Grid--12 aem-Grid--default--12',\n columnCount: 12,\n },\n },\n brandConfigCards: [],\n ':type': 'mi-aem-ppv5-spa/components/content/brandedcontainer',\n ':itemsOrder': ['container-0'],\n itemPath: 'root/responsivegrid/localheader/container-0/brandedcontainer',\n id: 'brandedcontainer-057fed905b',\n selectedStates: ['preconnect'],\n pagePath: '/content/marriott-hws/na/en-us/hotels/n/nycmq-new-york-marriott-marquis/ppv5-phoenix/homepage',\n items: [],\n doHide: true,\n },\n },\n allowedComponents: {\n components: [],\n applicable: false,\n },\n ':type': 'wcm/foundation/components/responsivegrid',\n ':itemsOrder': ['brandedcontainer'],\n columnClassNames: {\n brandedcontainer: 'aem-GridColumn aem-GridColumn--default--12',\n },\n gridClassNames: 'aem-Grid aem-Grid--12 aem-Grid--default--12',\n columnCount: 12,\n },\n navigationAttributes: {\n ':type': 'nt:unstructured',\n },\n },\n selectedStatesMap: ['preconnect'],\n hotelLogoFile: '/content/dam/marriott-digital/mc/global-property-shared/en_us/logo/assets/mc_logo_L.png',\n ':type': 'mi-aem-ppv5-spa/components/content/localheader',\n navigationAttributes: [\n {\n componentId: 'diningAndExperience',\n label: 'Dining & Experience',\n },\n {\n componentId: 'propertyDetails',\n label: 'Property Details',\n },\n {\n componentId: 'nearbyThingsToDo',\n label: 'Nearby Things to Do',\n },\n {\n componentId: 'merchandising',\n label: 'Offers & Packages',\n },\n ],\n ':itemsOrder': ['container-0', 'navigationAttributes'],\n itemPath: 'root/responsivegrid/localheader',\n buttonLink: '#',\n openButtonLinkInNewTab: 'true',\n id: 'localheader-feee5e809e',\n items: [],\n selectedStatesL2Navigation: ['preconnect'],\n hideMap: true,\n};\n\nexport const localheaderMockUXL = {\n property: {\n basicInformation: {\n name: 'New York Marriott Marquis',\n latitude: 40.758855,\n longitude: -73.985869,\n },\n contactInformation: {\n contactNumbers: [\n {\n phoneNumber: {\n display: '+1 212 398 1900',\n },\n },\n ],\n },\n },\n};\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { FC, useContext, useEffect } from 'react';\nimport { useQuery } from '@apollo/client';\nimport { headerDetails } from '../../../modules/graphql/index';\nimport { PageParamsContext } from '../../../modules/context/PageContext';\nimport { LocalHeaderDataProps } from '../LocalHeader.types';\nimport { localheaderMockUXL } from '../__mock__/LocalHeaderMock';\n\nexport const LocalHeaderData: FC<LocalHeaderDataProps> = pageProps => {\n const { preProcessorResponse, lang, sessionID, requestId } = useContext(PageParamsContext);\n\n const { isAuthorMode, onLocalHeaderDataFetched } = pageProps;\n const isServer = !(typeof window != 'undefined' && window.document);\n\n let { data, loading } = useQuery(headerDetails, {\n fetchPolicy: isServer ? 'network-only' : 'cache-first',\n variables: {\n propertyId: preProcessorResponse?.marsha ?? '',\n filter: 'PHONE',\n },\n context: {\n headers: {\n //Update the variables of AriesReservation for ppv5\n 'accept-language': lang ?? 'en-US',\n 'x-b3-traceId': sessionID ?? 'fallback-token',\n 'x-b3-spanId': requestId !== '' ? requestId : `${Date.now()}`,\n 'correlation-id': sessionID ?? 'fallback-token',\n },\n },\n skip: isAuthorMode,\n });\n\n if (isAuthorMode) {\n loading = false;\n data = localheaderMockUXL;\n }\n\n useEffect(() => {\n if (!loading && data) {\n onLocalHeaderDataFetched({ ...data });\n }\n }, [loading, data, onLocalHeaderDataFetched]);\n\n return null;\n};\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport React, { FC, useEffect, useRef, useContext, useState } from 'react';\nimport { Config, EditableComponent, MappedComponentProperties } from '@adobe/aem-react-editable-components';\nimport { LocalHeaderProps } from './LocalHeader.types';\nimport { StyledLocalHeader } from './LocalHeader.styles';\n\nimport { LocalHeaderDescription } from './components/LocalHeaderDescription';\nimport { LocalHeaderNavigation } from './components/LocalHeaderNavigation';\n\nimport { PageParamsContext } from '../../modules/context/PageContext';\nimport { cna } from '../../modules/utils/constants/constants';\nimport { LocalHeaderData } from './components/LocalHeaderData';\n\nconst { NEXT_PUBLIC_AEM_SITE } = process.env;\n\nexport const LocalHeader: FC<LocalHeaderProps> = pageProps => {\n let offsetTop = 0;\n let lastScrollTop = 0;\n let globalNavHeight = 0;\n const linkedTargetElements: Array<{\n targetElement: Element | null;\n linkElement: null;\n }> = [];\n const [hideMap, setHideMap] = useState<boolean>(false);\n const [hideNavigation, setHideNavigation] = useState<boolean>(false);\n const singleRefLocalheaderTop = useRef<HTMLDivElement>(null);\n const singleRefAnchorList = useRef<HTMLDivElement>(null);\n const [localHeaderData, setLocalHeaderData] = useState(null);\n\n const { preProcessorResponse } = useContext(PageParamsContext);\n\n useEffect(() => {\n document.querySelector('.global-nav')?.classList.add('page-wrap');\n if (pageProps?.hideMap) {\n hideFunction(pageProps?.selectedStatesMap, setHideMap);\n }\n if (pageProps?.hideL2Navigation) {\n hideFunction(pageProps?.selectedStatesL2Navigation, setHideNavigation);\n }\n if (singleRefLocalheaderTop) {\n offsetTop = singleRefLocalheaderTop?.current?.clientHeight ?? 0;\n }\n globalNavHeight = document?.querySelector('.m-global-nav')?.clientHeight ?? 0;\n window.addEventListener('scroll', pageScroll, { passive: true });\n\n //script to scroll Accessibility Features and Sustainability link accordian into view - OSD-4801\n const linkArray = [\n { link: '#access', target: '[data-reference-hotel-info=\"access\"]' },\n { link: '#sustainability', target: '[data-reference-amenities=\"sustainability\"]' },\n ];\n const accWrapper = document.querySelector('div[data-id=\"property-details\"]');\n // eslint-disable-next-line @typescript-eslint/prefer-optional-chain\n const propertyAcc = (accWrapper && accWrapper?.querySelectorAll('.property-details-accordion')) ?? [];\n\n const removeAllActiveAcc = (): void => {\n propertyAcc?.forEach(function (acc) {\n acc.classList.remove('active');\n });\n };\n\n linkArray.forEach(item => {\n const infoLink = document.querySelectorAll(`a[href='${item.link}']`)[0];\n if (infoLink) {\n infoLink.setAttribute('role', 'button');\n infoLink.setAttribute('href', '#');\n const referenceInfo = document.querySelectorAll(item.target)[0];\n infoLink.addEventListener('click', e => {\n e.preventDefault();\n setTimeout(() => {\n removeAllActiveAcc();\n referenceInfo.classList.add('active');\n accWrapper?.scrollIntoView();\n }, 200);\n });\n }\n });\n }, []);\n\n const hideFunction = (\n selectedStatesArr: string | string[],\n setStateFunc: {\n (value: React.SetStateAction<boolean>): void;\n (value: React.SetStateAction<boolean>): void;\n (arg0: boolean): void;\n }\n ) => {\n if (preProcessorResponse?.isCNA) {\n if (selectedStatesArr?.includes(cna)) {\n setStateFunc(true);\n }\n }\n if (selectedStatesArr?.includes(preProcessorResponse?.state)) {\n setStateFunc(true);\n }\n };\n\n const pageScroll = (): void => {\n const stickyNav = singleRefLocalheaderTop?.current;\n const globalNav: any = document.querySelector('.m-global-nav');\n const currentScroll = document.documentElement.scrollTop || document.body.scrollTop;\n if (!stickyNav) {\n return;\n }\n\n if (window.pageYOffset >= offsetTop) {\n singleRefAnchorList.current?.classList.add('sticky');\n if (currentScroll < lastScrollTop) {\n globalNav?.classList.add('sticky');\n singleRefAnchorList?.current?.classList.remove('top-sticky');\n if (globalNav) {\n globalNav.style.top = 0;\n }\n } else {\n globalNav?.classList.add('sticky');\n singleRefAnchorList?.current?.classList.add('top-sticky');\n if (globalNav) {\n if (currentScroll < 60) {\n globalNav.style.top = `-${currentScroll}px`;\n } else {\n globalNav.style.top = `-${globalNavHeight}px`;\n }\n }\n }\n } else {\n singleRefAnchorList?.current?.classList.remove('sticky');\n globalNav?.classList.remove('sticky');\n singleRefAnchorList?.current?.classList.remove('top-sticky');\n if (globalNav) {\n globalNav.style.top = 0;\n }\n }\n lastScrollTop = currentScroll;\n const stickOffset = stickyNav.offsetTop;\n\n if (window.pageYOffset >= stickOffset) {\n if (!stickyNav.classList.contains('sticky')) {\n stickyNav.classList.add('sticky');\n }\n linkedTargetElements.forEach((linkTarget: any) => {\n if (!linkTarget || !linkTarget.targetElement) {\n return;\n }\n const clientRects = linkTarget.targetElement.getBoundingClientRect();\n if (parseInt(clientRects.top) - 48 <= 0 && parseInt(clientRects.bottom) - 240 >= 0) {\n linkTarget.linkElement.classList.add('active');\n if (linkTarget.linkElement.getBoundingClientRect().right > window.innerWidth) {\n document\n ?.querySelector('.local-header .sticky-nav')\n ?.scrollTo(linkTarget.linkElement.getBoundingClientRect().left, 0);\n }\n linkTarget.linkElement.scrollIntoView();\n } else {\n linkTarget.linkElement.classList.remove('active');\n }\n });\n } else {\n if (stickyNav.classList.contains('sticky')) {\n stickyNav.classList.remove('sticky');\n }\n }\n };\n\n const linkClicked = (event: { target: { hash: string }; preventDefault: () => void }) => {\n if (event?.target && event?.target?.hash !== '') {\n event.preventDefault();\n const requiredElementHash = event.target.hash.substr(1);\n const requiredElement = document.querySelector(`[id=\"${requiredElementHash}\"]`) as HTMLElement;\n const v1Offset = 0;\n //const localheader = document.querySelector('.local-header');\n // if (localheader.classList.contains('v2-local-header-wrapper')) {\n // const v1offsetParent = requiredElement.offsetParent as HTMLElement;\n // v1Offset = v1offsetParent?.offsetTop;\n // }\n const totalOffset = requiredElement?.offsetTop + v1Offset;\n const singleRefLocalheaderTopRef = singleRefLocalheaderTop.current;\n const singleRefAnchorListRef = singleRefAnchorList.current;\n\n if (window.scrollY < totalOffset) {\n if (\n singleRefLocalheaderTopRef &&\n singleRefLocalheaderTopRef?.getBoundingClientRect().top >= 0 &&\n singleRefAnchorListRef &&\n window.innerWidth >= 768\n ) {\n window.scrollTo(\n 0,\n totalOffset - singleRefAnchorListRef?.clientHeight - singleRefLocalheaderTopRef?.clientHeight\n );\n } else if (\n singleRefLocalheaderTopRef &&\n singleRefLocalheaderTopRef.getBoundingClientRect().top >= 0 &&\n singleRefAnchorListRef &&\n window.innerWidth < 768\n ) {\n globalNavHeight = document?.querySelector('.m-global-nav')?.clientHeight ?? 0;\n window.scrollTo(\n 0,\n totalOffset -\n singleRefAnchorListRef?.clientHeight -\n singleRefLocalheaderTopRef?.clientHeight +\n globalNavHeight\n );\n } else {\n if (singleRefAnchorListRef) {\n globalNavHeight = document?.querySelector('.m-global-nav')?.clientHeight ?? 0;\n window.scrollTo(0, totalOffset - singleRefAnchorListRef?.clientHeight - globalNavHeight);\n }\n }\n } else {\n if (singleRefAnchorListRef) {\n globalNavHeight = document?.querySelector('.m-global-nav')?.clientHeight ?? 0;\n window.scrollTo(0, totalOffset - singleRefAnchorListRef?.clientHeight - globalNavHeight);\n }\n }\n }\n };\n\n const onLocalHeaderDataFetched = (data: any) => {\n setLocalHeaderData({ ...data });\n };\n\n return (\n <StyledLocalHeader data-component-name=\"o-ppv5-localheader\">\n <div className=\"local-header\" id=\"main\">\n <div className=\"d-flex flex-wrap mx-md-4 px-md-2 mx-0\">\n <div className=\"local-header__menu col-12 p-0\">\n {!localHeaderData ? (\n <LocalHeaderData\n isAuthorMode={pageProps?.isAuthorMode}\n onLocalHeaderDataFetched={onLocalHeaderDataFetched}\n />\n ) : null}\n <div\n className=\"local-header__menu-top d-flex flex-wrap justify-content-between align-items-center mx-3 px-0 mx-md-0 my-0 my-md-1 my-xl-0\"\n ref={singleRefLocalheaderTop}\n >\n <LocalHeaderDescription {...pageProps} hideMap={hideMap} data={localHeaderData} />\n </div>\n {!hideNavigation && pageProps?.navigationAttributes?.length ? (\n <LocalHeaderNavigation\n {...pageProps}\n localHeaderNavigationRef={singleRefAnchorList}\n hideNavigation={hideNavigation}\n linkClicked={linkClicked}\n />\n ) : null}\n </div>\n </div>\n </div>\n </StyledLocalHeader>\n );\n};\n\nexport const LocalHeaderConfig = {\n emptyLabel: 'LocalHeader',\n isEmpty: (_props: MappedComponentProperties) => false,\n resourceType: `${NEXT_PUBLIC_AEM_SITE}/components/content/localheader`,\n} as Config<MappedComponentProperties>;\n\nexport const LocalHeaderEditable = (props: LocalHeaderProps) => (\n <EditableComponent config={LocalHeaderConfig} {...props}>\n <LocalHeader {...props} />\n </EditableComponent>\n);\n","// Styles for LocalHeader go here.\nimport styled from 'styled-components';\nimport rtl from 'styled-components-rtl';\nimport { toRem, baseVariables, contextualVariable } from '@marriott/mi-ui-library';\n\nexport const StyledHeroBanner = styled.div`\n ${rtl`\n .hero-component {\n &__internetbar-container{\n position: absolute;\n width: ${toRem(555)};\n top: 0;\n bottom: 0;\n right: 0;\n left: 0;\n inset: 0;\n margin: auto;\n border-bottom: ${toRem(10)} solid ${contextualVariable.accentColor};\n border-radius: ${toRem(15)};\n }\n &-container {\n position: relative;\n transition: height 0.3s ease-in;\n height: ${toRem(450)};\n \n @media ${baseVariables.mediaQuery.md} { \n height: ${toRem(450)};\n }\n\n @media ${baseVariables.mediaQuery.xl} {\n height: ${toRem(480)};\n }\n }\n img {\n height: -webkit-fill-available;\n object-fit: cover;\n\n @media ${baseVariables.mediaQuery.xl} {\n height: ${toRem(480)};\n }\n }\n }\n `}\n`;\n","/* eslint-disable @typescript-eslint/no-empty-function */\n/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { StateCreator } from 'zustand';\nimport { createAppStore } from '@marriott/mi-store-utils';\n\nexport interface ppv5Store {\n ppv5Data: any;\n ppv5DataLoading: boolean;\n ppv5DataError: boolean;\n skipQuery: boolean;\n setPpv5Data: (data: any, loading: boolean, error: any, fallbackData: any) => void;\n}\n\nconst initialState: ppv5Store = {\n ppv5Data: null,\n ppv5DataLoading: true,\n ppv5DataError: false,\n skipQuery: false,\n setPpv5Data: () => {},\n};\n\nconst Ppv5Store: StateCreator<ppv5Store> = set => {\n return {\n ...initialState,\n setPpv5Data: (data, loading, error, fallbackData) => {\n if (error) {\n console.log(fallbackData);\n set({ ppv5Data: null, ppv5DataLoading: loading, ppv5DataError: true, skipQuery: true });\n } else if (data && Object.keys(data).length) {\n set({\n ppv5Data: { ...data },\n ppv5DataLoading: loading,\n ppv5DataError: false,\n skipQuery: true,\n });\n }\n },\n };\n};\n\nexport const useStore = createAppStore(Ppv5Store, {\n usePersistentStore: false,\n});\n","export enum size {\n small = 's',\n medium = 'm',\n large = 'l',\n extraLarge = 'xl',\n extraSmall = 'xs',\n}\n\nexport enum headingType {\n title = 'title',\n subtitle = 'subtitle',\n}\n\nexport enum tags {\n span = 'span',\n div = 'div',\n paragraph = 'p',\n h1 = 'h1',\n h2 = 'h2',\n h3 = 'h3',\n h4 = 'h4',\n h5 = 'h5',\n h6 = 'h6',\n}\n\nexport enum BadgeVariation {\n 'Inline' = 'inline',\n 'Overlay' = 'overlay',\n}\n\nexport enum ButtonTypeVariation {\n 'Submit' = 'submit',\n 'Reset' = 'reset',\n 'Button' = 'button',\n}\n\nexport enum Themes {\n 'Standard' = 'standard',\n 'Inverse' = 'inverse',\n 'Alternate' = 'alternate',\n}\n\nexport enum ScrimStyle {\n DARK_SCRIM = 'dark-scrim',\n LIGHT_SCRIM = 'light-scrim',\n NO_SCRIM = 'no-scrim',\n}\n\nexport enum LinkTargetType {\n INTERNAL = 'internal',\n EXTERNAL = 'external',\n}\n\nexport enum TypographyColorVariations {\n 'Alternate' = 'alt',\n 'InverseAlt' = 'inverse-alt',\n}\n\nexport interface TrackingPropsInterface {\n trackingContentPosition?: string;\n trackingOfferType?: string;\n atCCeVar48?: string;\n trackingDescription?: string;\n trackingTag?: string;\n isCoBrand?: boolean;\n clickTrack?: boolean;\n impressionTrack?: boolean;\n impressionCount?: boolean;\n impressionEventType?: string;\n merchandisingCategory?: string;\n additionalTrackingVariables?: string | undefined;\n location?: string;\n payloadType?: string;\n compName?: string;\n}\n\nexport interface TrackingDetailsProps {\n text: 'trackingContentPosition' | 'trackingDescription' | 'trackingOfferType' | 'trackingTag';\n pre: string;\n}\n\nexport interface renditions {\n altText: string;\n assetPath: string;\n dynamic: boolean;\n renditions: Array<{\n renditionPath: string;\n mediaValue: string;\n dynamic: boolean;\n damPath: string;\n mediaQuery: string;\n width: number;\n height: number;\n }>;\n}\n\nexport enum ButtonStyle {\n PRIMARY_BUTTON = 'm-button-primary',\n PRIMARY_BUTTON_EXTERNAME = 'm-button-primary icon-arrow-right-external',\n SECONDARY_BUTTON = 'm-button-secondary',\n SECONDARY_BUTTON_EXTERNAL = 'm-button-secondary icon-arrow-right-external',\n TERTIARY_BUTTON = 'm-link-tertiary-button',\n TERTIARY_BUTTON_EXTERNAL = 'm-link-tertiary-button-external',\n}\n","// Styles for Ppv5Modal go here.\nimport styled from 'styled-components';\nimport rtl from 'styled-components-rtl';\nimport { baseVariables, toRem, contextualVariable } from '@marriott/mi-ui-library';\n\nexport const StyledPpv5Modal = styled.div`\n ${rtl`\n .ppv5modal {\n min-height: 100vh;\n position: relative;\n &:before {\n background: transparent;\n }\n &__container {\n position: relative;\n border-radius: ${toRem(14)};\n max-height: 100%;\n overflow: hidden;\n flex: 0 0 100%;\n max-width: 100%;\n outline: none;\n &-dining {\n position: relative;\n border-radius: 0;\n overflow: visible;\n }\n @media ${baseVariables.mediaQuery.md} {\n flex: 0 0 50%;\n max-width: 50%;\n }\n @media ${baseVariables.mediaQuery.xl} {\n flex: 0 0 33.33333%;\n max-width: 33.33333%;\n }\n }\n &__header {\n height: auto !important;\n border-top-left-radius: ${toRem(14)};\n border-top-right-radius: ${toRem(14)};\n border: 0;\n h2 {\n height: ${toRem(20)};\n width: calc(100% - ${toRem(50)});\n }\n &-dining {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n }\n }\n &__body {\n height: inherit;\n max-height: inherit;\n min-height: inherit;\n overflow: visible;\n }\n &__close-btn {\n position: absolute;\n top: ${toRem(20)};\n right: ${toRem(16)};\n bottom: initial;\n width: auto;\n min-width: auto;\n height: auto;\n min-height: ${toRem(32.667)};\n background: transparent;\n border-radius: 50%;\n &:focus {\n outline: ${toRem(1)} solid;\n }\n [class*='icon-clear'],\n [class*='icon-clear']::before {\n color: ${contextualVariable.brandedFontColor};\n }\n }\n &__dialog {\n background-color: transparent;\n }\n }\n `}\n`;\n","import React, { FC, useEffect, useRef, useState } from 'react';\nimport { Modal } from '@marriott/mi-ui-library';\nimport { tags } from '../../modules/utils/enums/enums';\nimport { modalHorizontalSpacing } from '../../modules/utils/constants';\nimport { Ppv5ModalProps } from './Ppv5Modal.types';\nimport { StyledPpv5Modal } from './Ppv5Modal.styles';\n\nexport const Ppv5Modal: FC<Ppv5ModalProps> = props => {\n const [showModal, setShowModal] = useState(props?.showModal);\n const [lastElement, setLastElement] = useState(false);\n\n const modalRef = useRef<HTMLDivElement>(null);\n\n const handleCloseBtnClick = () => {\n setShowModal(false);\n props?.closeBtnHandler();\n };\n\n const handleDropdownClick = (event: MouseEvent) => {\n if (\n props?.setShowDropdown !== undefined &&\n props?.dropdownRef !== undefined &&\n !props?.dropdownRef?.current?.contains(event?.target as Node) &&\n modalRef?.current?.contains(event?.target as Node)\n ) {\n props?.setShowDropdown(false);\n }\n if (\n props?.setShowDropdownFirstTier !== undefined &&\n props?.dropdownRefFirst !== undefined &&\n !props?.dropdownRefFirst?.current?.contains(event?.target as Node) &&\n modalRef?.current?.contains(event?.target as Node)\n ) {\n props?.setShowDropdownFirstTier(false);\n }\n if (\n props?.setShowDropdownSecondTier !== undefined &&\n props?.dropdownRefSecond !== undefined &&\n !props?.dropdownRefSecond?.current?.contains(event?.target as Node) &&\n modalRef?.current?.contains(event?.target as Node)\n ) {\n props?.setShowDropdownSecondTier(false);\n }\n };\n\n const handleModalClick = (event: MouseEvent) => {\n event.stopPropagation();\n if (props?.showModal && modalRef?.current) {\n if (!modalRef?.current?.contains(event?.target as Node)) {\n handleCloseBtnClick();\n }\n } else {\n setShowModal(true);\n }\n };\n\n const focusCloseBtn = () => {\n (modalRef?.current?.querySelector('.ppv5modal__close-btn') as HTMLElement)?.setAttribute('autofocus', 'true');\n (modalRef?.current?.querySelector('.ppv5modal__close-btn') as HTMLElement)?.focus();\n };\n\n const navigateToLastFocusableElement = (event: KeyboardEvent) => {\n event.preventDefault();\n const focusable =\n modalRef?.current?.querySelectorAll('button:not(:disabled), a, input, select, [tabindex]:not([tabindex=\"-1\"])') ??\n [];\n const lastFocusable = focusable[focusable.length - 1];\n lastFocusable?.setAttribute('autofocus', 'true');\n (lastFocusable as HTMLElement)?.focus();\n };\n\n const handleModalFocus = (event: KeyboardEvent) => {\n if (event?.code?.toLowerCase() === 'tab') {\n if (lastElement) {\n setLastElement(false);\n } else {\n if (props?.showModal && modalRef?.current) {\n if (!modalRef?.current?.contains(event?.target as Node)) {\n focusCloseBtn();\n }\n }\n }\n }\n };\n\n const handleShiftTab = (event: KeyboardEvent) => {\n if (event?.code?.toLowerCase() === 'tab') {\n if (event?.shiftKey) {\n if ((document?.activeElement as HTMLElement)?.classList?.contains('ppv5modal__close-btn')) {\n navigateToLastFocusableElement(event);\n setLastElement(true);\n }\n }\n }\n };\n\n useEffect(() => {\n setTimeout(() => {\n document.addEventListener('click', handleModalClick);\n document.addEventListener('keyup', handleModalFocus);\n document.addEventListener('keydown', handleShiftTab);\n }, 0);\n\n return () => {\n document.removeEventListener('click', handleModalClick);\n document.removeEventListener('keyup', handleModalFocus);\n document.removeEventListener('keydown', handleShiftTab);\n };\n }, []);\n\n useEffect(() => {\n if (\n (props?.setShowDropdown !== undefined && props?.dropdownRef !== undefined) ||\n (props?.setShowDropdownFirstTier !== undefined && props?.dropdownRefFirst !== undefined) ||\n (props?.setShowDropdownSecondTier !== undefined && props?.dropdownRefSecond !== undefined)\n ) {\n document.addEventListener('click', handleDropdownClick);\n }\n\n return () => {\n if (\n (props?.setShowDropdown !== undefined && props?.dropdownRef !== undefined) ||\n (props?.setShowDropdownFirstTier !== undefined && props?.dropdownRefFirst !== undefined) ||\n (props?.setShowDropdownSecondTier !== undefined && props?.dropdownRefSecond !== undefined)\n ) {\n document.removeEventListener('click', handleDropdownClick);\n }\n };\n }, []);\n\n useEffect(() => {\n if (modalRef?.current?.querySelector('.ppv5modal_heading.ppv5modal__header') as HTMLElement) {\n const modalWidth =\n (modalRef?.current?.querySelector('.ppv5modal_heading.ppv5modal__header') as HTMLElement)?.clientWidth ?? 0;\n const modalTitleMaxWidth = modalWidth - modalHorizontalSpacing;\n if (modalRef?.current?.querySelector('.ppv5modal_heading.ppv5modal__header span')) {\n (\n modalRef?.current?.querySelector('.ppv5modal_heading.ppv5modal__header span') as HTMLElement\n ).style.maxWidth = `${modalTitleMaxWidth}px`;\n }\n }\n });\n\n useEffect(() => {\n const modalHeaderTitle = document?.querySelector('.header-heading');\n if (modalHeaderTitle) {\n if (props?.diningModal) {\n modalHeaderTitle.classList.value = 't-subtitle-m mx-2 mx-md-0 mx-xl-2 mb-0 d-flex align-items-center';\n } else if (props?.priceModal) {\n modalHeaderTitle.classList.value = 't-subtitle-m ml-2 ml-md-0 ml-xl-2 mb-0 d-flex align-items-center';\n } else if (props?.upgradeModal) {\n modalHeaderTitle.classList.value = 't-subtitle-m ml-2 mb-0 d-flex align-items-center';\n } else {\n modalHeaderTitle.classList.value = 't-subtitle-m ml-2 ml-md-0 ml-xl-2 mb-0 d-flex align-items-center';\n }\n }\n }, []);\n\n useEffect(() => {\n if (props?.showModal) {\n // document.querySelector('body')?.classList.add('mdc-dialog-scroll-lock');\n document.body.style.overflow = 'hidden';\n } else {\n // document.querySelector('body')?.classList.remove('mdc-dialog-scroll-lock');\n document.body.style.overflow = 'auto';\n }\n }, [props?.showModal]);\n\n useEffect(() => {\n return () => {\n document.body.style.overflow = 'auto';\n };\n }, []);\n\n useEffect(() => {\n focusCloseBtn();\n }, [modalRef]);\n\n return (\n <StyledPpv5Modal data-component-name=\"o-ppv5-Ppv5Modal\">\n <div className=\"mdc-dialog p-0\">\n <Modal\n modalId=\"dialog\"\n labelledBy=\"dialog\"\n role=\"dialog\"\n className={`container d-flex align-items-center ${props?.errorModal ? 'px-sm-0' : 'px-3 px-sm-0'} ppv5modal`}\n secondaryClassName={`col-12 col-md-6 col-xl-4 p-0 ${\n props?.diningModal ? 'mx-auto' : 'mx-0 mx-md-auto'\n } my-3 my-md-4 ppv5modal__container ${\n props?.diningModal ? `ppv5modal__container-dining ${props.diningModalClass}` : ''\n }`}\n show={showModal}\n handleBlur={true}\n popupOpenState={showModal}\n allFilterPopUp={true}\n >\n <div ref={modalRef}>\n <Modal.Header\n className={`${\n props?.diningModal ? 'p-4' : 'py-4 px-3'\n } d-flex justify-content-between ppv5modal_heading color-scheme4 ${\n props?.diningModal ? 'ppv5modal__header-dining' : 'ppv5modal__header'\n }`}\n labelText={props?.modalTitle}\n popupHeaderOnCLoseFunc={handleCloseBtnClick}\n popupCloseClassName=\"m-dialog-close-btn mr-2 mr-md-0 mr-xl-2 ppv5modal__close-btn\"\n headingTagElement={tags?.span}\n customHeadingClass={`${\n props?.diningModal ? '' : 't-subtitle-m ml-2 ml-md-0 ml-xl-2 mb-0 d-flex align-items-center'\n }`}\n />\n <Modal.Body\n className={`${\n props?.diningModal || props?.priceModal || props?.upgradeModal ? 'p-0' : 'py-4 px-3 mx-2 my-2'\n } ppv5modal__body`}\n >\n {props?.modalContent}\n </Modal.Body>\n </div>\n {/* <div className=\"mdc-dialog__scrim ppv5modal__dialog\"></div> */}\n </Modal>\n </div>\n </StyledPpv5Modal>\n );\n};\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport Cookies from 'js-cookie';\n\nexport const setCookie = (name: string, value: string, options = null): any => {\n if (name && value && options) {\n Cookies.set(name, value, options);\n return;\n }\n\n if (name && value) {\n Cookies.set(name, value);\n }\n};\n\nexport const getCookies = (name: string): any => {\n if (name) {\n return Cookies.get(name);\n }\n\n return Cookies.get();\n};\n\nexport const removeCookie = (name: string, options: any): any => {\n if (name && options) {\n Cookies.remove(name, options);\n return;\n }\n\n if (name) {\n Cookies.remove(name);\n }\n};\n","export class Constants {\n /* eslint-disable-next-line @typescript-eslint/no-explicit-any */\n static usageAEM: any = {\n ELITE: 'ELITE',\n MEMBER: 'MEMBER',\n };\n /* eslint-disable-next-line @typescript-eslint/no-explicit-any */\n static usage: any = {\n FREE: 'FREE',\n PURCHASED: 'PURCHASED',\n ELITE: 'ELITE',\n MEMBER: 'MEMBER',\n ACCESS: 'ACCESS',\n };\n /* eslint-disable-next-line @typescript-eslint/no-explicit-any */\n static plan: any = {\n PLAN1: 'PLAN1',\n PLAN2: 'PLAN2',\n };\n}\n\nexport const INTERNET_BAR_INITIAL_STATE = {\n title: '',\n welcomeText: '',\n description: '',\n isConnectState: false,\n connectUpgradeBtn: '',\n signInButton: {\n signInButtonLink: '',\n signInButtonLabel: '',\n signInButtonLinkInNewTab: '',\n },\n joinNowButton: {\n joinButtonLabel: '',\n joinButtonLink: '',\n joinButtonLinkInNewTab: '',\n },\n termsAndConditions: '',\n signInText: '',\n noLoginInterfaceModal: false,\n showLoginModal: false,\n loginModal: {\n default: false,\n separatorLabel: false,\n userAccessCodeLabel: false,\n requestAccessCodeLabel: false,\n errorMessage: false,\n connectNowLabel: false,\n },\n showAccessModal: false,\n accessModal: {\n default: false,\n acErrorMessage: false,\n },\n showReqAccessModal: false,\n reqAccessModal: {\n default: false,\n racErrorMessage: false,\n },\n showUpgradeGenErr: false,\n showUpgradeLRErr: false,\n showUpgradeMaxErr: false,\n showUpgradeNoCCErr: false,\n showUpgradePMSErr: false,\n showUpgradeSuccessNAInfo: false,\n showUpgradeSuccessMAXInfo: false,\n showPricingModal: false,\n showUpgradeModal: false,\n};\n\nexport const LOYALTY_ENABLED_ZONES = ['GUEST', 'PUBLIC', 'LOBBY'];\nexport const LOYALTY_DISABLED_ZONES = ['CONFERENCE', 'MEETING'];\n\nexport const DEFAULT_LOYALTY_OBJ = {\n mr_enrolled: false,\n mr_enrollment_source: '',\n};\n\nexport const DEFAULT_LOCALE = 'en-US';\n\nexport const LOCALE_SUPPORT_NO_SPACE_C_PRICE_MODAL = ['ko-kr'];\n\nexport const INTERNETBAR_PRICING_ZONE_OPTIONS = {\n guest: 'guest_room_conn_pricing',\n public: 'public_area_room_conn_pricing',\n};\n\nexport const INTERNETBAR_PRICING_TIER_OPTIONS = {\n tierOne: 'Tier1',\n tierTwo: 'Tier2',\n};\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { MutableRefObject } from 'react';\nimport {\n Constants,\n DEFAULT_LOYALTY_OBJ,\n INTERNETBAR_PRICING_ZONE_OPTIONS,\n INTERNETBAR_PRICING_TIER_OPTIONS,\n} from './constant';\nimport { IDuration } from '../components/InternetBarModal/InternetBarModal.types';\nimport DOMPurify from 'isomorphic-dompurify';\nimport {\n FeeDetailsUXLType,\n PricingInfoProps,\n PricingInfoPropsUXLType,\n EnrollmentSourceCodeDivisionMapping,\n EnrollmentSourceCodeMapping,\n EnrollmentSourceCodeTierKey,\n EnrollmentSourceCodeTierMapping,\n} from '../InternetBar.types';\n\nexport const submitDynamicForm = (body: any, postEndpoint: string): void => {\n const form = document.createElement('form');\n const parsedBody = JSON.parse(body);\n const submitFormEndpoint = postEndpoint.indexOf('://') === -1 ? `https://${postEndpoint}` : postEndpoint;\n form.setAttribute('method', 'POST');\n form.setAttribute('action', submitFormEndpoint);\n form.setAttribute('style', 'display: none');\n DOMPurify.sanitize(form, { RETURN_DOM_FRAGMENT: true });\n\n for (const property in parsedBody) {\n if (parsedBody[property] !== null) {\n const input = document.createElement('input');\n input.type = 'text';\n input.id = property;\n input.name = property;\n input.value = parsedBody[property];\n form.appendChild(input);\n }\n }\n\n // add the form inside the body\n document.getElementsByTagName('body')[0].appendChild(form); //pure javascript\n form.submit();\n};\n\n// @todo :: Move noLoginInterfaceModal Logic here\n// const handleConnectNoLogin = () => {}\n\nexport const connectBtnTrigger = (\n isNoLoginInterfaceModal: boolean,\n internetBarDataValues: Record<string, any>\n): void => {\n if (internetBarDataValues && internetBarDataValues?.['postEndpoint']) {\n if (isNoLoginInterfaceModal) {\n try {\n const zoneMapping = internetBarDataValues?.['zoneMapping'];\n const Z = internetBarDataValues?.['Z'] ?? '';\n let usage = internetBarDataValues?.['USAGE'] ?? '';\n const usageAttr = internetBarDataValues?.['usageAttr'] ?? '';\n const LR = internetBarDataValues?.['LR'] ?? '';\n const aemUSAGE = Constants.usageAEM[usageAttr] ? usageAttr : Constants.usage.FREE;\n\n const SP =\n usageAttr === Constants.usage.ELITE &&\n (zoneMapping[Z ?? 'GUEST'] === 'FP' || zoneMapping[Z ?? 'GUEST'] === 'PP')\n ? Constants.plan.PLAN2\n : Constants.plan.PLAN1;\n\n const sp = SP ?? '';\n\n if (\n sp === 'PLAN1' &&\n (zoneMapping[Z ?? 'PUBLIC'] === 'SF' ||\n zoneMapping[Z ?? 'GUEST'] === 'SF' ||\n zoneMapping[Z ?? 'MEETING'] === 'SF' ||\n zoneMapping[Z ?? 'CONFERENCE'] === 'SF')\n ) {\n usage = Constants.usage.FREE;\n }\n\n //newly added for LR TCTC value for FP and PP USAGE should be considered as FREE\n if (LR?.toUpperCase() === 'TCTC' && sp === 'PLAN1' && Z === 'GUEST') {\n usage = Constants.usage.FREE;\n }\n\n const obj = {\n MARSHA: internetBarDataValues?.['MARSHA'] ? internetBarDataValues?.['MARSHA'] : undefined,\n LR,\n Z,\n ACTION: 'CONNECTED',\n USAGE: usage ? usage : aemUSAGE,\n SP: sp,\n DURATION: internetBarDataValues?.['DURATION'] ? internetBarDataValues?.['DURATION'] : undefined,\n DOMAIN: internetBarDataValues?.['DOMAIN'] ? internetBarDataValues?.['DOMAIN'] : undefined,\n MS:\n internetBarDataValues?.['MS'] || internetBarDataValues?.['MS'] === ''\n ? internetBarDataValues?.['MS']\n : undefined,\n APS: internetBarDataValues?.['APS'],\n TIERS: zoneMapping[Z ?? ''] ?? undefined,\n };\n const body = JSON.stringify(obj);\n submitDynamicForm(body, internetBarDataValues?.['postEndpoint'] ?? '');\n } catch (error) {\n console.log('Error in connectBtnTrigger handler', error);\n }\n }\n }\n};\n\nexport const getEnrolledUserFlag = (loyaltyEnrollmentSourceCode: string): boolean => {\n const dataLayer = window?.dataLayer ?? {\n ...DEFAULT_LOYALTY_OBJ,\n };\n const sessionData = (window?.sessionData &&\n window?.sessionData?.cacheData &&\n window?.sessionData?.cacheData?.data &&\n window?.sessionData?.cacheData?.data?.AriesRewards) ?? {\n ...DEFAULT_LOYALTY_OBJ,\n };\n if (dataLayer && sessionData) {\n return (dataLayer?.['mr_enrolled'] && dataLayer?.['mr_enrollment_source'] === loyaltyEnrollmentSourceCode) ||\n (sessionData?.['mr_enrolled'] && sessionData?.['mr_enrollment_source'] === loyaltyEnrollmentSourceCode)\n ? true\n : false;\n }\n return false;\n};\n\nexport const handleDurationDropdownKeyDownEvent = (\n event: KeyboardEvent,\n dropdownListRef: MutableRefObject<null>,\n durations: IDuration[] = [],\n item: IDuration\n) => {\n if (event?.code?.toLowerCase() === 'arrowdown') {\n event?.stopPropagation();\n setTimeout(() => {\n const dropdownList = dropdownListRef?.current;\n if (dropdownList) {\n const list = (dropdownList as HTMLElement)?.children;\n const dIndex = durations?.findIndex(d => d.value === item.value);\n let dValue: Element | null = null;\n if (dIndex < list?.length - 1) {\n dValue = list[dIndex + 1];\n } else {\n dValue = list[0];\n }\n (dValue as HTMLElement)?.focus();\n }\n }, 20);\n } else if (event?.code?.toLowerCase() === 'arrowup') {\n event?.stopPropagation();\n setTimeout(() => {\n const dropdownList = dropdownListRef?.current;\n if (dropdownList) {\n const list = (dropdownList as HTMLElement)?.children;\n const dIndex = durations?.findIndex(d => d.value === item.value);\n let dValue: Element | null = null;\n if (dIndex - 1 >= 0) {\n dValue = list[dIndex - 1];\n } else {\n dValue = list[list?.length - 1] ?? list[0];\n }\n (dValue as HTMLElement)?.focus();\n }\n }, 20);\n } else {\n event?.stopPropagation();\n }\n};\n\nconst getTierOneInfo = (\n settlementCurreny: PricingInfoPropsUXLType,\n hasOtherThanHotelQuotingCurrency: boolean,\n defaultCurrency: string\n) => {\n const tierOnePricingInfo = {\n hasTierOne: true,\n tierOneId: 12345,\n tierOneName: INTERNETBAR_PRICING_TIER_OPTIONS?.tierOne,\n tierOneFee: '0',\n currencyOne: defaultCurrency,\n };\n\n tierOnePricingInfo.hasTierOne = true;\n tierOnePricingInfo.tierOneId = settlementCurreny?.externalRecordId;\n tierOnePricingInfo.tierOneName = settlementCurreny?.tierType ?? INTERNETBAR_PRICING_TIER_OPTIONS?.tierOne;\n\n tierOnePricingInfo.tierOneFee = hasOtherThanHotelQuotingCurrency\n ? (settlementCurreny?.feeDetails?.settlementFee ?? 0)?.toString()\n : (settlementCurreny?.feeDetails?.fee ?? 0)?.toString();\n\n tierOnePricingInfo.currencyOne = hasOtherThanHotelQuotingCurrency\n ? settlementCurreny?.feeDetails?.settlementCurrency?.code ?? ''\n : defaultCurrency;\n\n return {\n ...tierOnePricingInfo,\n };\n};\n\nconst getZonePricingInfo = (\n settlementCurrenyDetails: Array<PricingInfoPropsUXLType>,\n defaultCurrency: string,\n hotelTier: string\n) => {\n let pricingInfo: PricingInfoProps = {\n tierTwoFee: '',\n tierOneFee: '',\n hasTierOne: false,\n hasTierTwo: false,\n tierTwoId: 0,\n tierOneId: 0,\n };\n\n if (settlementCurrenyDetails?.length > 1) {\n const hasOtherThanHotelQuotingCurrencyForZone =\n settlementCurrenyDetails?.every(\n (settlementCurreny: { hasOtherThanHotelQuotingCurrency: boolean }) =>\n settlementCurreny?.hasOtherThanHotelQuotingCurrency\n ) ?? false;\n\n const showDefaultPricing =\n settlementCurrenyDetails?.every(\n (settlementCurreny: { hasOtherThanHotelQuotingCurrency: boolean }) =>\n !settlementCurreny?.hasOtherThanHotelQuotingCurrency\n ) ?? false;\n\n if (hasOtherThanHotelQuotingCurrencyForZone || hotelTier === 'FP') {\n settlementCurrenyDetails?.forEach((settlementCurreny: PricingInfoPropsUXLType) => {\n if (settlementCurreny?.tierType === INTERNETBAR_PRICING_TIER_OPTIONS.tierOne) {\n const tierOneInfo = getTierOneInfo(settlementCurreny, true, defaultCurrency);\n pricingInfo = {\n ...pricingInfo,\n ...tierOneInfo,\n };\n } else if (settlementCurreny?.tierType === INTERNETBAR_PRICING_TIER_OPTIONS.tierTwo) {\n pricingInfo.hasTierTwo = true;\n pricingInfo.tierTwoId = settlementCurreny?.externalRecordId;\n pricingInfo.tierTwoName = settlementCurreny?.tierType ?? INTERNETBAR_PRICING_TIER_OPTIONS.tierTwo;\n\n if (hotelTier === 'FP') {\n pricingInfo.tierTwoFee = settlementCurreny?.hasOtherThanHotelQuotingCurrency\n ? (settlementCurreny?.feeDetails?.settlementFee ?? 0)?.toString()\n : (settlementCurreny?.feeDetails?.fee ?? 0)?.toString();\n\n pricingInfo.currencyTwo = settlementCurreny?.hasOtherThanHotelQuotingCurrency\n ? settlementCurreny?.feeDetails?.settlementCurrency?.code ?? ''\n : defaultCurrency;\n } else {\n pricingInfo.tierTwoFee = (settlementCurreny?.feeDetails?.settlementFee ?? 0)?.toString();\n pricingInfo.currencyTwo = settlementCurreny?.feeDetails?.settlementCurrency?.code ?? '';\n }\n }\n });\n } else if (showDefaultPricing) {\n settlementCurrenyDetails?.forEach((settlementCurreny: PricingInfoPropsUXLType) => {\n if (settlementCurreny?.tierType === INTERNETBAR_PRICING_TIER_OPTIONS.tierOne) {\n const tierOneInfo = getTierOneInfo(settlementCurreny, false, defaultCurrency);\n pricingInfo = {\n ...pricingInfo,\n ...tierOneInfo,\n };\n } else if (settlementCurreny?.tierType === INTERNETBAR_PRICING_TIER_OPTIONS.tierTwo) {\n pricingInfo.hasTierTwo = true;\n pricingInfo.tierTwoId = settlementCurreny?.externalRecordId;\n pricingInfo.tierTwoName = settlementCurreny?.tierType ?? INTERNETBAR_PRICING_TIER_OPTIONS.tierTwo;\n pricingInfo.tierTwoFee = (settlementCurreny?.feeDetails?.fee ?? 0)?.toString();\n pricingInfo.currencyTwo = defaultCurrency;\n }\n });\n } else {\n console.error('PRICING INFO | PAID-PAID | Settlement Currency NOT ENABLED for all the Tiers');\n return {\n zonePricingInfo: null,\n hasError: true,\n };\n }\n } else {\n const tierOneInfo = getTierOneInfo(\n settlementCurrenyDetails?.[0],\n settlementCurrenyDetails?.[0]?.hasOtherThanHotelQuotingCurrency,\n defaultCurrency\n );\n pricingInfo = {\n ...pricingInfo,\n ...tierOneInfo,\n };\n }\n\n if (\n (hotelTier === 'PP' && pricingInfo.currencyOne !== pricingInfo.currencyTwo) ||\n (hotelTier === 'PP' && parseFloat(pricingInfo?.tierTwoFee) < parseFloat(pricingInfo?.tierOneFee))\n ) {\n console.error('PRICING INFO | PAID-PAID | Settlement Currency Code Mismatch');\n return {\n zonePricingInfo: null,\n hasError: true,\n };\n }\n\n return {\n zonePricingInfo: { ...pricingInfo },\n hasError: false,\n };\n};\n\nconst getPricingTierInfo = (settlementCurrenyDetails: Array<PricingInfoPropsUXLType>) => {\n let pricingTierInfo = '';\n if (settlementCurrenyDetails && settlementCurrenyDetails?.length) {\n if (settlementCurrenyDetails?.length === 1) {\n if (settlementCurrenyDetails?.[0]?.tierType === 'Tier1') {\n if (settlementCurrenyDetails?.[0]?.feeDetails?.feeType === 'C') {\n pricingTierInfo = 'SF';\n } else if (settlementCurrenyDetails?.[0]?.feeDetails?.feeType === 'F') {\n pricingTierInfo = 'SP';\n }\n } else {\n console.error('PRICING INFO | 1 TIER | Missing First Tier');\n }\n } else {\n settlementCurrenyDetails?.forEach(settlementCurreny => {\n if (settlementCurreny?.tierType === 'Tier1' && settlementCurreny?.feeDetails?.feeType === 'C') {\n pricingTierInfo = 'FP';\n } else if (settlementCurreny?.tierType === 'Tier1' && settlementCurreny?.feeDetails?.feeType === 'F') {\n pricingTierInfo = 'PP';\n }\n });\n }\n }\n\n return pricingTierInfo;\n};\n\nexport const settlementCurrencyHandler = (propertyPortalData: any, Z: string, defaultCurrency: string) => {\n const settlementCurrenyDetails: Array<PricingInfoPropsUXLType> =\n propertyPortalData?.property?.internet?.connectionPricingDetails ?? [];\n\n let pricingInfo: PricingInfoProps = {\n tierTwoFee: '',\n tierOneFee: '',\n tierTwoId: 0,\n tierOneId: 0,\n };\n\n let pricingInfoHasError: boolean = false;\n\n try {\n if (!settlementCurrenyDetails?.length) {\n pricingInfoHasError = true;\n } else if (Z?.toUpperCase() === 'PUBLIC' || Z?.toUpperCase() === 'CONFERENCE') {\n const settlementCurrenyPublicDetails = settlementCurrenyDetails?.filter(\n (settlementCurreny: { feeDetails: FeeDetailsUXLType; type: string }) =>\n settlementCurreny?.type === INTERNETBAR_PRICING_ZONE_OPTIONS?.public && settlementCurreny?.feeDetails\n );\n\n const hotelTier = getPricingTierInfo(settlementCurrenyPublicDetails);\n\n if (settlementCurrenyPublicDetails && settlementCurrenyPublicDetails?.length) {\n const { zonePricingInfo, hasError = false } =\n getZonePricingInfo(settlementCurrenyPublicDetails, defaultCurrency, hotelTier) ?? {};\n\n if (!hasError) {\n pricingInfo = { ...(zonePricingInfo as PricingInfoProps) };\n } else {\n pricingInfoHasError = true;\n }\n }\n } else {\n const settlementCurrenyGuestDetails: Array<PricingInfoPropsUXLType> = settlementCurrenyDetails?.filter(\n (settlementCurreny: { feeDetails: FeeDetailsUXLType; type: string }) =>\n settlementCurreny?.type === INTERNETBAR_PRICING_ZONE_OPTIONS?.guest && settlementCurreny?.feeDetails\n );\n\n const hotelTier = getPricingTierInfo(settlementCurrenyGuestDetails);\n\n if (settlementCurrenyGuestDetails && settlementCurrenyGuestDetails?.length) {\n const { zonePricingInfo, hasError = false } =\n getZonePricingInfo(settlementCurrenyGuestDetails, defaultCurrency, hotelTier) ?? {};\n\n if (!hasError) {\n pricingInfo = { ...(zonePricingInfo as PricingInfoProps) };\n } else {\n pricingInfoHasError = true;\n }\n }\n }\n if (pricingInfoHasError) {\n return {\n pricingInfo: null,\n hasError: true,\n };\n } else {\n return {\n pricingInfo: { ...pricingInfo },\n };\n }\n } catch (error) {\n return {\n pricingInfo: null,\n hasError: true,\n };\n }\n};\n\nconst getPricingTierEnrollmentSourceCode = (\n guestZoneMapping: EnrollmentSourceCodeTierKey,\n pricingTier: Array<EnrollmentSourceCodeTierMapping>\n) => {\n if (pricingTier) {\n let enrollmentSourceCode: EnrollmentSourceCodeTierMapping = pricingTier?.find(\n (element: EnrollmentSourceCodeTierMapping) => element.key === guestZoneMapping\n ) as EnrollmentSourceCodeTierMapping;\n enrollmentSourceCode = enrollmentSourceCode?.value\n ? enrollmentSourceCode\n : (pricingTier?.find(\n (element: EnrollmentSourceCodeTierMapping) => element.key === ('*' as unknown as EnrollmentSourceCodeTierKey)\n ) as EnrollmentSourceCodeTierMapping);\n\n return enrollmentSourceCode?.value ?? '';\n }\n return '';\n};\n\nconst loyaltyEnrollmentSourceCode = (\n sourceCodeMappingAEM: Array<EnrollmentSourceCodeDivisionMapping>,\n uxlGlobalDivision: string,\n uxlCountryCode: string,\n guestZoneMapping: EnrollmentSourceCodeTierKey\n) => {\n let finalEnrollmentSourceCode;\n\n // Step I :: Filter the enrollment data-list for the Global Division (coming from the UXL) instances\n const matchedGlobalDivision = sourceCodeMappingAEM?.filter((element: EnrollmentSourceCodeDivisionMapping) =>\n element?.globalDivision?.includes(uxlGlobalDivision)\n );\n\n // Step II :: Filter the country specific enrollments from the filtered Global Division List (matchedGlobalDivision)\n const matchedCountryCode = matchedGlobalDivision?.filter((element: EnrollmentSourceCodeDivisionMapping) =>\n element?.countryCode?.includes(uxlCountryCode)\n );\n\n // Step III :: Check for the pricing tier specific enrollment source code\n // if the country specific enrollment data is present\n // else fallback to the Global division enrollment source code\n\n if (matchedCountryCode && matchedCountryCode?.length) {\n finalEnrollmentSourceCode = getPricingTierEnrollmentSourceCode(\n guestZoneMapping,\n matchedCountryCode?.[0]?.pricingTier\n );\n } else {\n const globalDivision: EnrollmentSourceCodeDivisionMapping = matchedGlobalDivision?.find(\n (element: EnrollmentSourceCodeDivisionMapping) => !element?.countryCode?.length\n ) as EnrollmentSourceCodeDivisionMapping;\n finalEnrollmentSourceCode = getPricingTierEnrollmentSourceCode(guestZoneMapping, globalDivision?.pricingTier);\n }\n\n return finalEnrollmentSourceCode;\n};\n\nexport const getRegionEnrollmentSourceCode = (\n enrollmentSourceCodeMappingAEM: EnrollmentSourceCodeMapping,\n currentRegionUXL: any,\n loyaltyEnableFlag: boolean,\n guestZoneMapping: EnrollmentSourceCodeTierKey,\n loyaltyEnrollmentSourceCodeValue: string,\n enrollmentSourceCode: string\n) => {\n const sourceCodeMappingAEM: EnrollmentSourceCodeMapping = enrollmentSourceCodeMappingAEM\n ? enrollmentSourceCodeMappingAEM\n : { loyalty: [], nonloyalty: [] };\n const uxlGlobalDivision = currentRegionUXL?.basicInformation?.globalDivision;\n const uxlCountryCode = currentRegionUXL?.contactInformation?.address?.country?.code;\n\n const finalEnrollmentSourceCode = loyaltyEnrollmentSourceCode(\n loyaltyEnableFlag ? sourceCodeMappingAEM?.loyalty : sourceCodeMappingAEM?.nonloyalty,\n uxlGlobalDivision,\n uxlCountryCode,\n guestZoneMapping\n );\n\n const result = finalEnrollmentSourceCode\n ? finalEnrollmentSourceCode\n : loyaltyEnableFlag\n ? loyaltyEnrollmentSourceCodeValue\n : enrollmentSourceCode;\n\n return result;\n};\n","import { FC, useEffect, useRef, useState, useContext } from 'react';\nimport clsx from 'clsx';\nimport { setCookie, getCookies } from '../../utils/cookieUtil';\nimport { PageParamsContext } from '../../../../modules/context/PageContext';\nimport { Constants, LOYALTY_ENABLED_ZONES } from '../../utils/constant';\nimport { submitDynamicForm, getEnrolledUserFlag, connectBtnTrigger } from '../../utils/handler';\nimport { LoginModalType } from '../../InternetBar.types';\nimport { InternetBarLoginModalProps } from './InternetBarModal.types';\nimport { Button, InputTextField, useCheckBreakpoint } from '@marriott/mi-ui-library';\nimport { ButtonTypeVariation } from '../../../../modules/utils/enums/enums';\n\nexport const InternetBarLoginModal: FC<InternetBarLoginModalProps> = (props: InternetBarLoginModalProps) => {\n const { preProcessorResponse } = useContext(PageParamsContext);\n const { loginModal, loginModalType, internetBarDataValues, currentStateMapping } = props;\n const login = props?.login as LoginModalType;\n const [accessHref, setAccessHref] = useState<string>('');\n const [reqSMSHref, setReqSMSHref] = useState<string>('');\n const [isUserEnrolled, setIsUserEnrolled] = useState(false);\n const inputRef = useRef(null);\n const [isPrimaryButtonLoading, setIsPrimaryButtonLoading] = useState<boolean>(false);\n const [isSecondaryButtonLoading, setIsSecondaryButtonLoading] = useState<boolean>(false);\n\n const { unknownFreeConnection = false, offeredPlan = '' } = preProcessorResponse;\n const isNoLoginInterfaceModal = currentStateMapping?.noLoginInterfaceModal ?? false;\n const isMobileAndAboveViewPort = useCheckBreakpoint('viewportS'); // check if viewport is Mobile and above\n\n const {\n MARSHA = '',\n postEndpoint = '',\n U_URLEndpoint = '',\n LR = '',\n Z = '',\n ACTION = '',\n DOMAIN = '',\n MS,\n APS,\n zoneMapping = '',\n usageAttr = '',\n USAGE = '',\n DURATION = '',\n ppv5Enrollment = false,\n loyaltyEnrollmentSourceCode,\n } = internetBarDataValues || {};\n\n const property = zoneMapping?.['GUEST'];\n const isUpgrade =\n ACTION === 'CONNECTED' && Z === 'GUEST' && U_URLEndpoint !== '' && (property === 'FP' || property === 'PP')\n ? true\n : false;\n\n const [isLoyaltyEnabled] = useState(\n (unknownFreeConnection || ppv5Enrollment) && LOYALTY_ENABLED_ZONES?.includes((Z || '').toUpperCase())\n );\n\n const [tierInfo] = useState(zoneMapping[Z ?? ''] ?? undefined);\n\n const [loginModalError, setLoginModalError] = useState<boolean>(loginModalType === 'LOGERR' ? true : false);\n\n const [loginDetails, setLoginDetails] = useState({\n roomNumber: '',\n lastName: '',\n });\n\n const [loginError, setLoginError] = useState({\n roomNumberError: false,\n lastNameError: false,\n showRoomNumberError: false,\n showLastNameError: false,\n });\n\n const getLoginModalInformation = () => {\n // saving cookie for user login data\n const userInfoCookie = getCookies('PPv5UserInfo');\n if (userInfoCookie) {\n const decodedText = window.atob(userInfoCookie);\n const textDecoderInstance = new TextDecoder('utf-8');\n const cookieDecoded = textDecoderInstance.decode(\n new Uint8Array([...decodedText].map(char => char.charCodeAt(0)))\n );\n const userInfoDetails = cookieDecoded.split('|');\n\n if (userInfoDetails.length === 3 && internetBarDataValues?.['MARSHA'] === userInfoDetails[0]) {\n setLoginDetails({\n lastName: userInfoDetails[1],\n roomNumber: userInfoDetails[2],\n });\n }\n }\n };\n\n const loginBtnTrigger = (): void => {\n const lastNameValue = loginDetails?.lastName;\n const roomNumberValue = loginDetails?.roomNumber;\n\n const endpoint = isUpgrade ? U_URLEndpoint : postEndpoint;\n const action = isUpgrade ? 'UPGRADE' : ACTION;\n\n if (lastNameValue && roomNumberValue && (postEndpoint || U_URLEndpoint)) {\n try {\n const cookieKey = 'PPv5UserInfo';\n const textEncoderInstance = new TextEncoder();\n const encodedText = textEncoderInstance.encode(`${MARSHA}|${lastNameValue}|${roomNumberValue}`);\n const cookieValue = window.btoa(String.fromCharCode.apply(null, Array.from(encodedText)));\n setCookie(cookieKey, cookieValue);\n const obj = {\n MARSHA: MARSHA ? MARSHA : undefined,\n LR: !currentStateMapping?.showUpgradeModal ? LR : undefined,\n Z: !currentStateMapping?.showUpgradeModal ? Z : undefined,\n ACTION: action ? action : undefined,\n DOMAIN: DOMAIN ? DOMAIN : undefined,\n MS: MS || MS === '' ? MS : undefined,\n APS: APS,\n ROOM_NUMBER: roomNumberValue.trim(),\n LAST_NAME: lastNameValue.trim(),\n TIERS: zoneMapping[Z ?? ''] ?? undefined,\n };\n const body = JSON.stringify(obj);\n submitDynamicForm(body, endpoint);\n } catch (error) {\n // ignore\n }\n }\n };\n\n const freeConnectBtnTrigger = (): void => {\n setIsSecondaryButtonLoading(true);\n if (postEndpoint) {\n try {\n const aemUSAGE = usageAttr === Constants.usage.ELITE ? Constants.usage.ELITE : Constants.usage.FREE;\n const usage = USAGE ? USAGE : aemUSAGE;\n const sp =\n usageAttr === Constants.usage.ELITE &&\n (zoneMapping[Z ?? 'GUEST'] === 'FP' || zoneMapping[Z ?? 'GUEST'] === 'PP')\n ? Constants.plan.PLAN2\n : Constants.plan.PLAN1;\n const obj = {\n MARSHA: MARSHA ? MARSHA : undefined,\n LR: LR,\n Z: Z,\n ACTION: 'CONNECTED',\n DOMAIN: DOMAIN ? DOMAIN : undefined,\n MS: MS || MS === '' ? MS : undefined,\n APS: APS,\n USAGE: usage,\n SP: sp,\n DURATION: DURATION ? DURATION : undefined,\n TIERS: zoneMapping[Z ?? ''] ?? undefined,\n };\n const body = JSON.stringify(obj);\n submitDynamicForm(body, postEndpoint);\n } catch (error) {\n // ignore\n }\n }\n };\n\n const getPrimaryButtonCta = (): string => {\n let primaryBtnCTA: string | undefined = '';\n\n if (unknownFreeConnection) {\n if (offeredPlan?.toUpperCase() === 'SF' || tierInfo?.toUpperCase() === 'SF') {\n primaryBtnCTA = login?.loyaltyContinueAsMemberCta;\n } else {\n primaryBtnCTA = login?.loginContinueButtonLabel;\n }\n } else if (isUserEnrolled && ppv5Enrollment) {\n if (\n offeredPlan?.toUpperCase() === 'SF' ||\n tierInfo?.toUpperCase() === 'SF' ||\n offeredPlan?.toUpperCase() === 'SP' ||\n tierInfo?.toUpperCase() === 'SP'\n ) {\n primaryBtnCTA = login?.loyaltyContinueAsMemberCta;\n } else {\n primaryBtnCTA = login?.loginContinueButtonLabel;\n }\n } else {\n primaryBtnCTA = login?.loginButtonLabel;\n }\n return primaryBtnCTA || '';\n };\n\n const getSecondaryButtonCta = (): string => {\n let secondaryBtnCTA: string | undefined = '';\n if (\n unknownFreeConnection &&\n (offeredPlan?.toUpperCase() === 'SF' ||\n tierInfo?.toUpperCase() === 'SF' ||\n offeredPlan?.toUpperCase() === 'FP' ||\n tierInfo?.toUpperCase() === 'FP')\n ) {\n secondaryBtnCTA = login?.loyaltyConnectAsGuestCta;\n } else if (\n isUserEnrolled &&\n ppv5Enrollment &&\n (offeredPlan?.toUpperCase() === 'SF' ||\n tierInfo?.toUpperCase() === 'SF' ||\n offeredPlan?.toUpperCase() === 'FP' ||\n tierInfo?.toUpperCase() === 'FP' ||\n offeredPlan?.toUpperCase() === 'SP' ||\n tierInfo?.toUpperCase() === 'SP')\n ) {\n secondaryBtnCTA = login?.loyaltyConnectAsGuestCta;\n } else {\n secondaryBtnCTA = login?.connectNowLabel;\n }\n\n return secondaryBtnCTA ?? '';\n };\n\n useEffect(() => {\n const handleQueryParamUpdate = (paramName: string, paramValue: string) => {\n const accessParams = new URLSearchParams(window.location.search);\n accessParams.set(paramName, paramValue);\n return `?${accessParams.toString()}`;\n };\n\n const access = handleQueryParamUpdate('MV', 'ACCESS');\n setAccessHref(access);\n const reqSMS = handleQueryParamUpdate('MV', 'REQSMS');\n setReqSMSHref(reqSMS);\n\n const enrolled = getEnrolledUserFlag(loyaltyEnrollmentSourceCode);\n setIsUserEnrolled(enrolled);\n }, [loyaltyEnrollmentSourceCode]);\n\n useEffect(() => {\n if (loginModalType === 'LOGERR') {\n setLoginModalError(true);\n setLoginError({\n ...loginError,\n roomNumberError: true,\n lastNameError: true,\n showLastNameError: true,\n showRoomNumberError: true,\n });\n }\n getLoginModalInformation();\n }, []);\n\n useEffect(() => {\n const timeout = setTimeout(() => {\n isMobileAndAboveViewPort && inputRef && inputRef?.current && (inputRef?.current as HTMLInputElement)?.focus();\n }, 20);\n\n return () => clearTimeout(timeout);\n }, [isMobileAndAboveViewPort]);\n\n return (\n <>\n {/* 1. Internet Bar Login Modal Default Configuration */}\n {loginModal?.default && (\n <div className=\"body-container d-flex flex-column\">\n {/* 1.1 Internet Bar Login Modal Error */}\n {loginModal?.errorMessage && loginModalError && (\n <div className=\"d-flex pb-2\">\n <span\n className={clsx(\n `col-12 px-3 py-3 mb-4 internetbarmodal__error ${loginModal?.connectNowLabel ? 't-font-s' : ''}`\n )}\n >\n {login?.errorMessage}\n </span>\n </div>\n )}\n\n {isUserEnrolled && ppv5Enrollment && (\n <>\n {login?.loyaltyLoginWelcomeText && <h6 className=\"t-subtitle-m\">{login?.loyaltyLoginWelcomeText}</h6>}\n {login?.loyaltyLoginDescription && <p className=\"t-font-xs pb-3\">{login?.loyaltyLoginDescription}</p>}\n </>\n )}\n\n {unknownFreeConnection ? (\n <span className=\"t-subtitle-m pb-2\">{login?.loyaltyGuestAtHotelDescription}</span>\n ) : isUserEnrolled && ppv5Enrollment ? null : (\n <span className=\"t-subtitle-m pb-2\">{login?.guestLoginLabel}</span>\n )}\n\n {!(isUserEnrolled && ppv5Enrollment) && <span className=\"t-font-xs pb-4\">{login?.requiredLabel}</span>}\n <div className=\"m-form-group pb-5 mb-3\">\n <InputTextField\n type=\"text\"\n label={login?.roomNumberLabel}\n placeHolderText={login?.roomNumberPlaceHolder}\n classNameForLineType=\"m-form-group mb-0\"\n inputTextFieldClassName={`text-field pb-2 t-font-m px-0 ${\n loginError?.roomNumberError || loginModalError ? 'is-error' : ''\n }`}\n showIcon={false}\n getInputProps={() => ({\n ref: inputRef,\n })}\n variation=\"line-type\"\n showUnderline={true}\n hideFontClass={true}\n togglePlaceholder={loginDetails?.roomNumber?.length > 0 ? false : true}\n assignInputValue={true}\n onBlur={() => {\n if (loginDetails?.roomNumber?.length === 0 && loginError?.showRoomNumberError) {\n setLoginError({ ...loginError, roomNumberError: true });\n } else {\n setLoginError({ ...loginError, roomNumberError: false });\n }\n }}\n getInputValue={value => {\n setLoginDetails({ ...loginDetails, roomNumber: value });\n setLoginError({ ...loginError, roomNumberError: false });\n if (value?.length > 0) {\n setLoginError({ ...loginError, showRoomNumberError: true });\n if (loginDetails?.lastName?.length > 0) {\n setLoginModalError(false);\n }\n }\n }}\n onFocus={() => {\n setIsPrimaryButtonLoading(false);\n setIsSecondaryButtonLoading(false);\n setLoginError({ ...loginError, roomNumberError: false });\n }}\n showErrorMessage={loginError?.roomNumberError || loginModalError}\n inputValue={loginDetails?.roomNumber}\n />\n </div>\n <div className=\"m-form-group pb-5 mb-3\">\n <InputTextField\n type=\"text\"\n label={login?.lastNameLabel}\n placeHolderText={login?.lastNamePlaceHolder}\n classNameForLineType=\"m-form-group mb-0\"\n inputTextFieldClassName={`text-field pb-2 t-font-m px-0 ${\n loginError?.lastNameError || loginModalError ? 'is-error' : ''\n }`}\n togglePlaceholder={loginDetails?.lastName?.length > 0 ? false : true}\n showIcon={false}\n variation=\"line-type\"\n showUnderline={true}\n hideFontClass={true}\n assignInputValue={true}\n onBlur={() => {\n if (loginDetails?.lastName?.length === 0 && loginError?.showLastNameError) {\n setLoginError({ ...loginError, lastNameError: true });\n } else {\n setLoginError({ ...loginError, lastNameError: false });\n }\n }}\n onFocus={() => {\n setIsPrimaryButtonLoading(false);\n setIsSecondaryButtonLoading(false);\n setLoginError({ ...loginError, lastNameError: false });\n }}\n getInputValue={value => {\n setLoginDetails({ ...loginDetails, lastName: value });\n setLoginError({ ...loginError, lastNameError: false });\n if (value?.length > 0) {\n setLoginError({ ...loginError, showLastNameError: true });\n if (loginDetails?.roomNumber?.length > 0) {\n setLoginModalError(false);\n }\n }\n }}\n showErrorMessage={loginError?.lastNameError || loginModalError}\n inputValue={loginDetails?.lastName}\n />\n </div>\n <Button\n isLink={false}\n type={ButtonTypeVariation.Button}\n className={clsx(\n `m-button-m m-button-primary t-font-m`,\n loginDetails?.lastName?.trim()?.length === 0 ||\n loginDetails?.roomNumber?.trim()?.length === 0 ||\n isPrimaryButtonLoading\n ? 'disabled'\n : ''\n )}\n isDisabled={\n loginDetails?.lastName?.trim()?.length === 0 ||\n loginDetails?.roomNumber?.trim()?.length === 0 ||\n isPrimaryButtonLoading\n }\n children={\n isPrimaryButtonLoading ? (\n <div className=\"m-spinner-s\" data-testid=\"activate-spinner\"></div>\n ) : (\n getPrimaryButtonCta()\n )\n }\n callback={\n !LR &&\n (offeredPlan?.toUpperCase() === 'SF' || tierInfo?.toUpperCase() === 'SF') &&\n (isLoyaltyEnabled || (isUserEnrolled && ppv5Enrollment))\n ? () => {\n setIsPrimaryButtonLoading(true);\n connectBtnTrigger(\n (offeredPlan?.toUpperCase() === 'SF' || tierInfo?.toUpperCase() === 'SF') &&\n (isLoyaltyEnabled || (isUserEnrolled && ppv5Enrollment))\n ? true\n : isNoLoginInterfaceModal,\n internetBarDataValues\n );\n }\n : () => {\n setIsPrimaryButtonLoading(true);\n loginBtnTrigger();\n }\n }\n />\n </div>\n )}\n <div className=\"d-flex flex-column\">\n {/* 2. Internet Bar Login Modal Separator Configuration */}\n {loginModal?.separatorLabel && (\n <span className=\"py-2 my-1 d-flex flex-row align-items-center justify-content-center\">\n <span className=\"w-100 internetbarmodal__seperator\"></span>\n <span className=\"px-2 mx-1 t-font-xs\">{login?.separatorLabel}</span>\n <span className=\"w-100 internetbarmodal__seperator\"></span>\n </span>\n )}\n {/* 2.1. Internet Bar Login Modal Connect Button Configuration */}\n {loginModal?.connectNowLabel && !(isUserEnrolled && ppv5Enrollment && LR) && (\n <Button\n isLink={false}\n type={ButtonTypeVariation.Button}\n className={`m-button-m m-button-secondary ${isSecondaryButtonLoading ? 'disabled' : ''} t-font-m`}\n isDisabled={isSecondaryButtonLoading}\n children={\n isSecondaryButtonLoading ? (\n <div className=\"m-spinner-s\" data-testid=\"activate-spinner\"></div>\n ) : (\n getSecondaryButtonCta()\n )\n }\n callback={freeConnectBtnTrigger}\n />\n )}\n {/* 3. Internet Bar Login Modal Access Code Configuration */}\n {loginModal?.userAccessCodeLabel && (\n <div className=\"d-flex flex-column mx-auto text-center\">\n <a href={accessHref} className=\"t-font-s internetbarmodal__link\">\n {login?.userAccessCodeLabel}\n </a>\n </div>\n )}\n {/* 4. Internet Bar Login Modal Access Code via SMS Configuration */}\n {/* @todo Update this with Access Code via SMS */}\n {loginModal?.requestAccessCodeLabel && (\n <div className=\"d-flex flex-column mx-auto text-center\">\n <a\n href={reqSMSHref}\n className={clsx(\n `t-font-s internetbarmodal__link ${currentStateMapping?.showAccessModal ? 'mt-2 pt-1' : ''}`\n )}\n >\n {login?.requestAccessCodeLabel}\n </a>\n </div>\n )}\n </div>\n </>\n );\n};\n","import { FC, useEffect, useRef, useState } from 'react';\nimport clsx from 'clsx';\nimport { Constants } from '../../utils/constant';\nimport { submitDynamicForm } from '../../utils/handler';\nimport { InternetBarAccessModalProps } from './InternetBarModal.types';\nimport { Button, InputTextField, useCheckBreakpoint } from '@marriott/mi-ui-library';\nimport { ButtonTypeVariation } from '../../../../modules/utils/enums/enums';\n\nexport const InternetBarAccessModal: FC<InternetBarAccessModalProps> = (props: InternetBarAccessModalProps) => {\n const { access, accessModal, internetBarDataValues, accessModalType } = props;\n const [returnToLogin, setReturnToLogin] = useState<string>('');\n\n const [accessCodeDetails, setAccessCodeDetails] = useState<string>('');\n\n const [accessModalError, setAccessModalError] = useState<boolean>(accessModalType === 'ACCESSERR' ? true : false);\n\n const [accessError, setAccessError] = useState({\n accessCodeError: false,\n showError: false,\n });\n const [isButtonLoading, setIsButtonLoading] = useState<boolean>(false);\n const [isAccessOnly, setIsAccessOnly] = useState<boolean>(false);\n const isMobileAndAboveViewPort = useCheckBreakpoint('viewportS'); // check if viewport is Mobile and above\n\n const inputRef = useRef(null);\n\n const {\n MARSHA = '',\n postEndpoint = '',\n LR = '',\n Z = '',\n DOMAIN = '',\n MS,\n APS,\n zoneMapping = '',\n USAGE = '',\n DURATION = '',\n SP = '',\n } = internetBarDataValues || {};\n\n const handleAccessBtnClick = () => {\n setIsButtonLoading(true);\n if (postEndpoint && accessCodeDetails) {\n try {\n const obj = {\n MARSHA: MARSHA ? MARSHA : undefined,\n LR: LR,\n Z: Z,\n ACTION: 'CONNECTED',\n DOMAIN: DOMAIN ? DOMAIN : undefined,\n MS: MS || MS === '' ? MS : undefined,\n APS: APS,\n USAGE: USAGE ? USAGE : Constants.usage.ACCESS,\n SP: SP ? SP.toUpperCase() : Constants.plan.PLAN1,\n DURATION: DURATION ? DURATION : undefined,\n ACCESS_CODE: accessCodeDetails.trim(),\n TIERS: zoneMapping[Z] ?? undefined,\n };\n const body = JSON.stringify(obj);\n submitDynamicForm(body, postEndpoint);\n } catch (error) {\n // ignore\n }\n }\n };\n\n useEffect(() => {\n const handleQueryParamUpdate = (paramName: string, paramValue: string) => {\n const accessParams = new URLSearchParams(window.location.search);\n accessParams.set(paramName, paramValue);\n return `?${accessParams.toString()}`;\n };\n\n const hrefURL = handleQueryParamUpdate('MV', 'LOGIN');\n setReturnToLogin(hrefURL);\n }, []);\n\n useEffect(() => {\n const timeout = setTimeout(() => {\n isMobileAndAboveViewPort && inputRef && inputRef?.current && (inputRef?.current as HTMLInputElement)?.focus();\n }, 20);\n\n return () => clearTimeout(timeout);\n }, [isMobileAndAboveViewPort]);\n\n useEffect(() => {\n setIsAccessOnly(LR?.toUpperCase() === 'AF_AO');\n }, [LR]);\n\n return (\n <>\n {/* 1. Internet Bar Access Modal Default Configuration */}\n <div className=\"body-container d-flex flex-column\">\n {/* 1.1 Internet Bar Access Modal Error */}\n {accessModal?.acErrorMessage && accessModalError && (\n <div className=\"d-flex pb-2\">\n <span className=\"col-12 px-3 py-3 mb-4 internetbarmodal__error\">{access?.acErrorMessage}</span>\n </div>\n )}\n <span className=\"t-subtitle-m pb-2\">{access?.accessCodeTitle}</span>\n <span className=\"t-font-xs pb-4\">{access?.requiredLabel}</span>\n <div className=\"m-form-group pb-5 mb-3\">\n <InputTextField\n type=\"text\"\n label={access?.accessCodeLabel}\n classNameForLineType=\"m-form-group mb-0\"\n inputTextFieldClassName={`text-field t-font-m px-0 pb-2 ${\n accessError?.accessCodeError || accessModalError ? 'is-error' : ''\n }`}\n showIcon={false}\n getInputProps={() => ({\n ref: inputRef,\n })}\n variation=\"line-type\"\n showUnderline={true}\n hideFontClass={true}\n assignInputValue={true}\n testId=\"access-code-input\"\n onBlur={() => {\n if (accessCodeDetails?.length === 0 && (accessError?.showError || accessModalError)) {\n setAccessError({ ...accessError, accessCodeError: true });\n } else {\n setAccessError({ ...accessError, accessCodeError: false });\n }\n }}\n getInputValue={value => {\n setAccessCodeDetails(value);\n setAccessError({ ...accessError, accessCodeError: false });\n if (value?.length > 0) {\n setAccessError({ ...accessError, showError: true });\n if (accessModalError) {\n setAccessModalError(false);\n }\n }\n }}\n onFocus={() => {\n setIsButtonLoading(false);\n setAccessError({ ...accessError, accessCodeError: false });\n }}\n showErrorMessage={accessError?.accessCodeError}\n inputValue={accessCodeDetails}\n />\n </div>\n <Button\n isLink={false}\n type={ButtonTypeVariation?.Button}\n isDisabled={accessCodeDetails?.length === 0 || isButtonLoading}\n className={clsx(\n `m-button-m m-button-primary t-font-m`,\n accessCodeDetails?.length === 0 || isButtonLoading ? 'disabled' : ''\n )}\n children={\n isButtonLoading ? (\n <div className=\"m-spinner-s\" data-testid=\"activate-spinner\"></div>\n ) : (\n access?.continueButtonLabel\n )\n }\n testId=\"access-btn\"\n callback={handleAccessBtnClick}\n />\n </div>\n {!isAccessOnly ? (\n <div className=\"d-flex flex-column\">\n {/* 2. Internet Bar Access Modal Separator Configuration */}\n <span className=\"py-2 my-1 d-flex flex-row align-items-center justify-content-center\">\n <span className=\"w-100 internetbarmodal__seperator\"></span>\n <span className=\"px-2 mx-1 t-font-xs\">{access?.acSeparatorLabel}</span>\n <span className=\"w-100 internetbarmodal__seperator\"></span>\n </span>\n {/* 3. Internet Bar Access Modal Return Code Configuration */}\n <div className=\"d-flex flex-column mx-auto text-center\">\n <a className=\"t-font-xs internetbarmodal__link\" href={returnToLogin}>\n {access?.returnLabel}\n </a>\n </div>\n </div>\n ) : null}\n </>\n );\n};\n","// This file is a workaround for a bug in web browsers' \"native\"\n// ES6 importing system which is uncapable of importing \"*.json\" files.\n// https://github.com/catamphetamine/libphonenumber-js/issues/239\nexport default {\"version\":4,\"country_calling_codes\":{\"1\":[\"US\",\"AG\",\"AI\",\"AS\",\"BB\",\"BM\",\"BS\",\"CA\",\"DM\",\"DO\",\"GD\",\"GU\",\"JM\",\"KN\",\"KY\",\"LC\",\"MP\",\"MS\",\"PR\",\"SX\",\"TC\",\"TT\",\"VC\",\"VG\",\"VI\"],\"7\":[\"RU\",\"KZ\"],\"20\":[\"EG\"],\"27\":[\"ZA\"],\"30\":[\"GR\"],\"31\":[\"NL\"],\"32\":[\"BE\"],\"33\":[\"FR\"],\"34\":[\"ES\"],\"36\":[\"HU\"],\"39\":[\"IT\",\"VA\"],\"40\":[\"RO\"],\"41\":[\"CH\"],\"43\":[\"AT\"],\"44\":[\"GB\",\"GG\",\"IM\",\"JE\"],\"45\":[\"DK\"],\"46\":[\"SE\"],\"47\":[\"NO\",\"SJ\"],\"48\":[\"PL\"],\"49\":[\"DE\"],\"51\":[\"PE\"],\"52\":[\"MX\"],\"53\":[\"CU\"],\"54\":[\"AR\"],\"55\":[\"BR\"],\"56\":[\"CL\"],\"57\":[\"CO\"],\"58\":[\"VE\"],\"60\":[\"MY\"],\"61\":[\"AU\",\"CC\",\"CX\"],\"62\":[\"ID\"],\"63\":[\"PH\"],\"64\":[\"NZ\"],\"65\":[\"SG\"],\"66\":[\"TH\"],\"81\":[\"JP\"],\"82\":[\"KR\"],\"84\":[\"VN\"],\"86\":[\"CN\"],\"90\":[\"TR\"],\"91\":[\"IN\"],\"92\":[\"PK\"],\"93\":[\"AF\"],\"94\":[\"LK\"],\"95\":[\"MM\"],\"98\":[\"IR\"],\"211\":[\"SS\"],\"212\":[\"MA\",\"EH\"],\"213\":[\"DZ\"],\"216\":[\"TN\"],\"218\":[\"LY\"],\"220\":[\"GM\"],\"221\":[\"SN\"],\"222\":[\"MR\"],\"223\":[\"ML\"],\"224\":[\"GN\"],\"225\":[\"CI\"],\"226\":[\"BF\"],\"227\":[\"NE\"],\"228\":[\"TG\"],\"229\":[\"BJ\"],\"230\":[\"MU\"],\"231\":[\"LR\"],\"232\":[\"SL\"],\"233\":[\"GH\"],\"234\":[\"NG\"],\"235\":[\"TD\"],\"236\":[\"CF\"],\"237\":[\"CM\"],\"238\":[\"CV\"],\"239\":[\"ST\"],\"240\":[\"GQ\"],\"241\":[\"GA\"],\"242\":[\"CG\"],\"243\":[\"CD\"],\"244\":[\"AO\"],\"245\":[\"GW\"],\"246\":[\"IO\"],\"247\":[\"AC\"],\"248\":[\"SC\"],\"249\":[\"SD\"],\"250\":[\"RW\"],\"251\":[\"ET\"],\"252\":[\"SO\"],\"253\":[\"DJ\"],\"254\":[\"KE\"],\"255\":[\"TZ\"],\"256\":[\"UG\"],\"257\":[\"BI\"],\"258\":[\"MZ\"],\"260\":[\"ZM\"],\"261\":[\"MG\"],\"262\":[\"RE\",\"YT\"],\"263\":[\"ZW\"],\"264\":[\"NA\"],\"265\":[\"MW\"],\"266\":[\"LS\"],\"267\":[\"BW\"],\"268\":[\"SZ\"],\"269\":[\"KM\"],\"290\":[\"SH\",\"TA\"],\"291\":[\"ER\"],\"297\":[\"AW\"],\"298\":[\"FO\"],\"299\":[\"GL\"],\"350\":[\"GI\"],\"351\":[\"PT\"],\"352\":[\"LU\"],\"353\":[\"IE\"],\"354\":[\"IS\"],\"355\":[\"AL\"],\"356\":[\"MT\"],\"357\":[\"CY\"],\"358\":[\"FI\",\"AX\"],\"359\":[\"BG\"],\"370\":[\"LT\"],\"371\":[\"LV\"],\"372\":[\"EE\"],\"373\":[\"MD\"],\"374\":[\"AM\"],\"375\":[\"BY\"],\"376\":[\"AD\"],\"377\":[\"MC\"],\"378\":[\"SM\"],\"380\":[\"UA\"],\"381\":[\"RS\"],\"382\":[\"ME\"],\"383\":[\"XK\"],\"385\":[\"HR\"],\"386\":[\"SI\"],\"387\":[\"BA\"],\"389\":[\"MK\"],\"420\":[\"CZ\"],\"421\":[\"SK\"],\"423\":[\"LI\"],\"500\":[\"FK\"],\"501\":[\"BZ\"],\"502\":[\"GT\"],\"503\":[\"SV\"],\"504\":[\"HN\"],\"505\":[\"NI\"],\"506\":[\"CR\"],\"507\":[\"PA\"],\"508\":[\"PM\"],\"509\":[\"HT\"],\"590\":[\"GP\",\"BL\",\"MF\"],\"591\":[\"BO\"],\"592\":[\"GY\"],\"593\":[\"EC\"],\"594\":[\"GF\"],\"595\":[\"PY\"],\"596\":[\"MQ\"],\"597\":[\"SR\"],\"598\":[\"UY\"],\"599\":[\"CW\",\"BQ\"],\"670\":[\"TL\"],\"672\":[\"NF\"],\"673\":[\"BN\"],\"674\":[\"NR\"],\"675\":[\"PG\"],\"676\":[\"TO\"],\"677\":[\"SB\"],\"678\":[\"VU\"],\"679\":[\"FJ\"],\"680\":[\"PW\"],\"681\":[\"WF\"],\"682\":[\"CK\"],\"683\":[\"NU\"],\"685\":[\"WS\"],\"686\":[\"KI\"],\"687\":[\"NC\"],\"688\":[\"TV\"],\"689\":[\"PF\"],\"690\":[\"TK\"],\"691\":[\"FM\"],\"692\":[\"MH\"],\"850\":[\"KP\"],\"852\":[\"HK\"],\"853\":[\"MO\"],\"855\":[\"KH\"],\"856\":[\"LA\"],\"880\":[\"BD\"],\"886\":[\"TW\"],\"960\":[\"MV\"],\"961\":[\"LB\"],\"962\":[\"JO\"],\"963\":[\"SY\"],\"964\":[\"IQ\"],\"965\":[\"KW\"],\"966\":[\"SA\"],\"967\":[\"YE\"],\"968\":[\"OM\"],\"970\":[\"PS\"],\"971\":[\"AE\"],\"972\":[\"IL\"],\"973\":[\"BH\"],\"974\":[\"QA\"],\"975\":[\"BT\"],\"976\":[\"MN\"],\"977\":[\"NP\"],\"992\":[\"TJ\"],\"993\":[\"TM\"],\"994\":[\"AZ\"],\"995\":[\"GE\"],\"996\":[\"KG\"],\"998\":[\"UZ\"]},\"countries\":{\"AC\":[\"247\",\"00\",\"(?:[01589]\\\\d|[46])\\\\d{4}\",[5,6]],\"AD\":[\"376\",\"00\",\"(?:1|6\\\\d)\\\\d{7}|[135-9]\\\\d{5}\",[6,8,9],[[\"(\\\\d{3})(\\\\d{3})\",\"$1 $2\",[\"[135-9]\"]],[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"1\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"6\"]]]],\"AE\":[\"971\",\"00\",\"(?:[4-7]\\\\d|9[0-689])\\\\d{7}|800\\\\d{2,9}|[2-4679]\\\\d{7}\",[5,6,7,8,9,10,11,12],[[\"(\\\\d{3})(\\\\d{2,9})\",\"$1 $2\",[\"60|8\"]],[\"(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[236]|[479][2-8]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d)(\\\\d{5})\",\"$1 $2 $3\",[\"[479]\"]],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"5\"],\"0$1\"]],\"0\"],\"AF\":[\"93\",\"00\",\"[2-7]\\\\d{8}\",[9],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[2-7]\"],\"0$1\"]],\"0\"],\"AG\":[\"1\",\"011\",\"(?:268|[58]\\\\d\\\\d|900)\\\\d{7}\",[10],0,\"1\",0,\"([457]\\\\d{6})$|1\",\"268$1\",0,\"268\"],\"AI\":[\"1\",\"011\",\"(?:264|[58]\\\\d\\\\d|900)\\\\d{7}\",[10],0,\"1\",0,\"([2457]\\\\d{6})$|1\",\"264$1\",0,\"264\"],\"AL\":[\"355\",\"00\",\"(?:700\\\\d\\\\d|900)\\\\d{3}|8\\\\d{5,7}|(?:[2-5]|6\\\\d)\\\\d{7}\",[6,7,8,9],[[\"(\\\\d{3})(\\\\d{3,4})\",\"$1 $2\",[\"80|9\"],\"0$1\"],[\"(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"4[2-6]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[2358][2-5]|4\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{5})\",\"$1 $2\",[\"[23578]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"6\"],\"0$1\"]],\"0\"],\"AM\":[\"374\",\"00\",\"(?:[1-489]\\\\d|55|60|77)\\\\d{6}\",[8],[[\"(\\\\d{3})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3\",[\"[89]0\"],\"0 $1\"],[\"(\\\\d{3})(\\\\d{5})\",\"$1 $2\",[\"2|3[12]\"],\"(0$1)\"],[\"(\\\\d{2})(\\\\d{6})\",\"$1 $2\",[\"1|47\"],\"(0$1)\"],[\"(\\\\d{2})(\\\\d{6})\",\"$1 $2\",[\"[3-9]\"],\"0$1\"]],\"0\"],\"AO\":[\"244\",\"00\",\"[29]\\\\d{8}\",[9],[[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[29]\"]]]],\"AR\":[\"54\",\"00\",\"(?:11|[89]\\\\d\\\\d)\\\\d{8}|[2368]\\\\d{9}\",[10,11],[[\"(\\\\d{4})(\\\\d{2})(\\\\d{4})\",\"$1 $2-$3\",[\"2(?:2[024-9]|3[0-59]|47|6[245]|9[02-8])|3(?:3[28]|4[03-9]|5[2-46-8]|7[1-578]|8[2-9])\",\"2(?:[23]02|6(?:[25]|4[6-8])|9(?:[02356]|4[02568]|72|8[23]))|3(?:3[28]|4(?:[04679]|3[5-8]|5[4-68]|8[2379])|5(?:[2467]|3[237]|8[2-5])|7[1-578]|8(?:[2469]|3[2578]|5[4-8]|7[36-8]|8[5-8]))|2(?:2[24-9]|3[1-59]|47)\",\"2(?:[23]02|6(?:[25]|4(?:64|[78]))|9(?:[02356]|4(?:[0268]|5[2-6])|72|8[23]))|3(?:3[28]|4(?:[04679]|3[78]|5(?:4[46]|8)|8[2379])|5(?:[2467]|3[237]|8[23])|7[1-578]|8(?:[2469]|3[278]|5[56][46]|86[3-6]))|2(?:2[24-9]|3[1-59]|47)|38(?:[58][78]|7[378])|3(?:4[35][56]|58[45]|8(?:[38]5|54|76))[4-6]\",\"2(?:[23]02|6(?:[25]|4(?:64|[78]))|9(?:[02356]|4(?:[0268]|5[2-6])|72|8[23]))|3(?:3[28]|4(?:[04679]|3(?:5(?:4[0-25689]|[56])|[78])|58|8[2379])|5(?:[2467]|3[237]|8(?:[23]|4(?:[45]|60)|5(?:4[0-39]|5|64)))|7[1-578]|8(?:[2469]|3[278]|54(?:4|5[13-7]|6[89])|86[3-6]))|2(?:2[24-9]|3[1-59]|47)|38(?:[58][78]|7[378])|3(?:454|85[56])[46]|3(?:4(?:36|5[56])|8(?:[38]5|76))[4-6]\"],\"0$1\",1],[\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$1 $2-$3\",[\"1\"],\"0$1\",1],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1-$2-$3\",[\"[68]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2-$3\",[\"[23]\"],\"0$1\",1],[\"(\\\\d)(\\\\d{4})(\\\\d{2})(\\\\d{4})\",\"$2 15-$3-$4\",[\"9(?:2[2-469]|3[3-578])\",\"9(?:2(?:2[024-9]|3[0-59]|47|6[245]|9[02-8])|3(?:3[28]|4[03-9]|5[2-46-8]|7[1-578]|8[2-9]))\",\"9(?:2(?:[23]02|6(?:[25]|4[6-8])|9(?:[02356]|4[02568]|72|8[23]))|3(?:3[28]|4(?:[04679]|3[5-8]|5[4-68]|8[2379])|5(?:[2467]|3[237]|8[2-5])|7[1-578]|8(?:[2469]|3[2578]|5[4-8]|7[36-8]|8[5-8])))|92(?:2[24-9]|3[1-59]|47)\",\"9(?:2(?:[23]02|6(?:[25]|4(?:64|[78]))|9(?:[02356]|4(?:[0268]|5[2-6])|72|8[23]))|3(?:3[28]|4(?:[04679]|3[78]|5(?:4[46]|8)|8[2379])|5(?:[2467]|3[237]|8[23])|7[1-578]|8(?:[2469]|3[278]|5(?:[56][46]|[78])|7[378]|8(?:6[3-6]|[78]))))|92(?:2[24-9]|3[1-59]|47)|93(?:4[35][56]|58[45]|8(?:[38]5|54|76))[4-6]\",\"9(?:2(?:[23]02|6(?:[25]|4(?:64|[78]))|9(?:[02356]|4(?:[0268]|5[2-6])|72|8[23]))|3(?:3[28]|4(?:[04679]|3(?:5(?:4[0-25689]|[56])|[78])|5(?:4[46]|8)|8[2379])|5(?:[2467]|3[237]|8(?:[23]|4(?:[45]|60)|5(?:4[0-39]|5|64)))|7[1-578]|8(?:[2469]|3[278]|5(?:4(?:4|5[13-7]|6[89])|[56][46]|[78])|7[378]|8(?:6[3-6]|[78]))))|92(?:2[24-9]|3[1-59]|47)|93(?:4(?:36|5[56])|8(?:[38]5|76))[4-6]\"],\"0$1\",0,\"$1 $2 $3-$4\"],[\"(\\\\d)(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$2 15-$3-$4\",[\"91\"],\"0$1\",0,\"$1 $2 $3-$4\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{5})\",\"$1-$2-$3\",[\"8\"],\"0$1\"],[\"(\\\\d)(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$2 15-$3-$4\",[\"9\"],\"0$1\",0,\"$1 $2 $3-$4\"]],\"0\",0,\"0?(?:(11|2(?:2(?:02?|[13]|2[13-79]|4[1-6]|5[2457]|6[124-8]|7[1-4]|8[13-6]|9[1267])|3(?:02?|1[467]|2[03-6]|3[13-8]|[49][2-6]|5[2-8]|[67])|4(?:7[3-578]|9)|6(?:[0136]|2[24-6]|4[6-8]?|5[15-8])|80|9(?:0[1-3]|[19]|2\\\\d|3[1-6]|4[02568]?|5[2-4]|6[2-46]|72?|8[23]?))|3(?:3(?:2[79]|6|8[2578])|4(?:0[0-24-9]|[12]|3[5-8]?|4[24-7]|5[4-68]?|6[02-9]|7[126]|8[2379]?|9[1-36-8])|5(?:1|2[1245]|3[237]?|4[1-46-9]|6[2-4]|7[1-6]|8[2-5]?)|6[24]|7(?:[069]|1[1568]|2[15]|3[145]|4[13]|5[14-8]|7[2-57]|8[126])|8(?:[01]|2[15-7]|3[2578]?|4[13-6]|5[4-8]?|6[1-357-9]|7[36-8]?|8[5-8]?|9[124])))15)?\",\"9$1\"],\"AS\":[\"1\",\"011\",\"(?:[58]\\\\d\\\\d|684|900)\\\\d{7}\",[10],0,\"1\",0,\"([267]\\\\d{6})$|1\",\"684$1\",0,\"684\"],\"AT\":[\"43\",\"00\",\"1\\\\d{3,12}|2\\\\d{6,12}|43(?:(?:0\\\\d|5[02-9])\\\\d{3,9}|2\\\\d{4,5}|[3467]\\\\d{4}|8\\\\d{4,6}|9\\\\d{4,7})|5\\\\d{4,12}|8\\\\d{7,12}|9\\\\d{8,12}|(?:[367]\\\\d|4[0-24-9])\\\\d{4,11}\",[4,5,6,7,8,9,10,11,12,13],[[\"(\\\\d)(\\\\d{3,12})\",\"$1 $2\",[\"1(?:11|[2-9])\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{2})\",\"$1 $2\",[\"517\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3,5})\",\"$1 $2\",[\"5[079]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3,10})\",\"$1 $2\",[\"(?:31|4)6|51|6(?:5[0-3579]|[6-9])|7(?:20|32|8)|[89]\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{3,9})\",\"$1 $2\",[\"[2-467]|5[2-6]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"5\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{4})(\\\\d{4,7})\",\"$1 $2 $3\",[\"5\"],\"0$1\"]],\"0\"],\"AU\":[\"61\",\"001[14-689]|14(?:1[14]|34|4[17]|[56]6|7[47]|88)0011\",\"1(?:[0-79]\\\\d{7}(?:\\\\d(?:\\\\d{2})?)?|8[0-24-9]\\\\d{7})|[2-478]\\\\d{8}|1\\\\d{4,7}\",[5,6,7,8,9,10,12],[[\"(\\\\d{2})(\\\\d{3,4})\",\"$1 $2\",[\"16\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{2,4})\",\"$1 $2 $3\",[\"16\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"14|4\"],\"0$1\"],[\"(\\\\d)(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"[2378]\"],\"(0$1)\"],[\"(\\\\d{4})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"1(?:30|[89])\"]]],\"0\",0,\"(183[12])|0\",0,0,0,[[\"(?:(?:(?:2(?:[0-26-9]\\\\d|3[0-8]|4[02-9]|5[0135-9])|7(?:[013-57-9]\\\\d|2[0-8]))\\\\d|3(?:(?:[0-3589]\\\\d|6[1-9]|7[0-35-9])\\\\d|4(?:[0-578]\\\\d|90)))\\\\d\\\\d|8(?:51(?:0(?:0[03-9]|[12479]\\\\d|3[2-9]|5[0-8]|6[1-9]|8[0-7])|1(?:[0235689]\\\\d|1[0-69]|4[0-589]|7[0-47-9])|2(?:0[0-79]|[18][13579]|2[14-9]|3[0-46-9]|[4-6]\\\\d|7[89]|9[0-4])|3\\\\d\\\\d)|(?:6[0-8]|[78]\\\\d)\\\\d{3}|9(?:[02-9]\\\\d{3}|1(?:(?:[0-58]\\\\d|6[0135-9])\\\\d|7(?:0[0-24-9]|[1-9]\\\\d)|9(?:[0-46-9]\\\\d|5[0-79])))))\\\\d{3}\",[9]],[\"4(?:79[01]|83[0-389]|94[0-4])\\\\d{5}|4(?:[0-36]\\\\d|4[047-9]|5[0-25-9]|7[02-8]|8[0-24-9]|9[0-37-9])\\\\d{6}\",[9]],[\"180(?:0\\\\d{3}|2)\\\\d{3}\",[7,10]],[\"190[0-26]\\\\d{6}\",[10]],0,0,0,[\"163\\\\d{2,6}\",[5,6,7,8,9]],[\"14(?:5(?:1[0458]|[23][458])|71\\\\d)\\\\d{4}\",[9]],[\"13(?:00\\\\d{6}(?:\\\\d{2})?|45[0-4]\\\\d{3})|13\\\\d{4}\",[6,8,10,12]]],\"0011\"],\"AW\":[\"297\",\"00\",\"(?:[25-79]\\\\d\\\\d|800)\\\\d{4}\",[7],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[25-9]\"]]]],\"AX\":[\"358\",\"00|99(?:[01469]|5(?:[14]1|3[23]|5[59]|77|88|9[09]))\",\"2\\\\d{4,9}|35\\\\d{4,5}|(?:60\\\\d\\\\d|800)\\\\d{4,6}|7\\\\d{5,11}|(?:[14]\\\\d|3[0-46-9]|50)\\\\d{4,8}\",[5,6,7,8,9,10,11,12],0,\"0\",0,0,0,0,\"18\",0,\"00\"],\"AZ\":[\"994\",\"00\",\"365\\\\d{6}|(?:[124579]\\\\d|60|88)\\\\d{7}\",[9],[[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"90\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"1[28]|2|365|46\",\"1[28]|2|365[45]|46\",\"1[28]|2|365(?:4|5[02])|46\"],\"(0$1)\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[13-9]\"],\"0$1\"]],\"0\"],\"BA\":[\"387\",\"00\",\"6\\\\d{8}|(?:[35689]\\\\d|49|70)\\\\d{6}\",[8,9],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"6[1-3]|[7-9]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2-$3\",[\"[3-5]|6[56]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3 $4\",[\"6\"],\"0$1\"]],\"0\"],\"BB\":[\"1\",\"011\",\"(?:246|[58]\\\\d\\\\d|900)\\\\d{7}\",[10],0,\"1\",0,\"([2-9]\\\\d{6})$|1\",\"246$1\",0,\"246\"],\"BD\":[\"880\",\"00\",\"[1-469]\\\\d{9}|8[0-79]\\\\d{7,8}|[2-79]\\\\d{8}|[2-9]\\\\d{7}|[3-9]\\\\d{6}|[57-9]\\\\d{5}\",[6,7,8,9,10],[[\"(\\\\d{2})(\\\\d{4,6})\",\"$1-$2\",[\"31[5-8]|[459]1\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3,7})\",\"$1-$2\",[\"3(?:[67]|8[013-9])|4(?:6[168]|7|[89][18])|5(?:6[128]|9)|6(?:[15]|28|4[14])|7[2-589]|8(?:0[014-9]|[12])|9[358]|(?:3[2-5]|4[235]|5[2-578]|6[0389]|76|8[3-7]|9[24])1|(?:44|66)[01346-9]\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{3,6})\",\"$1-$2\",[\"[13-9]|2[23]\"],\"0$1\"],[\"(\\\\d)(\\\\d{7,8})\",\"$1-$2\",[\"2\"],\"0$1\"]],\"0\"],\"BE\":[\"32\",\"00\",\"4\\\\d{8}|[1-9]\\\\d{7}\",[8,9],[[\"(\\\\d{3})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3\",[\"(?:80|9)0\"],\"0$1\"],[\"(\\\\d)(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[239]|4[23]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[15-8]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"4\"],\"0$1\"]],\"0\"],\"BF\":[\"226\",\"00\",\"[025-7]\\\\d{7}\",[8],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[025-7]\"]]]],\"BG\":[\"359\",\"00\",\"00800\\\\d{7}|[2-7]\\\\d{6,7}|[89]\\\\d{6,8}|2\\\\d{5}\",[6,7,8,9,12],[[\"(\\\\d)(\\\\d)(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"2\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"43[1-6]|70[1-9]\"],\"0$1\"],[\"(\\\\d)(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"2\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{2,3})\",\"$1 $2 $3\",[\"[356]|4[124-7]|7[1-9]|8[1-6]|9[1-7]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3\",[\"(?:70|8)0\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{2})\",\"$1 $2 $3\",[\"43[1-7]|7\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[48]|9[08]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"9\"],\"0$1\"]],\"0\"],\"BH\":[\"973\",\"00\",\"[136-9]\\\\d{7}\",[8],[[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[13679]|8[02-4679]\"]]]],\"BI\":[\"257\",\"00\",\"(?:[267]\\\\d|31)\\\\d{6}\",[8],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[2367]\"]]]],\"BJ\":[\"229\",\"00\",\"[24-689]\\\\d{7}\",[8],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[24-689]\"]]]],\"BL\":[\"590\",\"00\",\"590\\\\d{6}|(?:69|80|9\\\\d)\\\\d{7}\",[9],0,\"0\",0,0,0,0,0,[[\"590(?:2[7-9]|3[3-7]|5[12]|87)\\\\d{4}\"],[\"69(?:0\\\\d\\\\d|1(?:2[2-9]|3[0-5])|4(?:0[89]|1[2-6]|9\\\\d)|6(?:1[016-9]|5[0-4]|[67]\\\\d))\\\\d{4}\"],[\"80[0-5]\\\\d{6}\"],0,0,0,0,0,[\"9(?:(?:39[5-7]|76[018])\\\\d|475[0-5])\\\\d{4}\"]]],\"BM\":[\"1\",\"011\",\"(?:441|[58]\\\\d\\\\d|900)\\\\d{7}\",[10],0,\"1\",0,\"([2-9]\\\\d{6})$|1\",\"441$1\",0,\"441\"],\"BN\":[\"673\",\"00\",\"[2-578]\\\\d{6}\",[7],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[2-578]\"]]]],\"BO\":[\"591\",\"00(?:1\\\\d)?\",\"8001\\\\d{5}|(?:[2-467]\\\\d|50)\\\\d{6}\",[8,9],[[\"(\\\\d)(\\\\d{7})\",\"$1 $2\",[\"[235]|4[46]\"]],[\"(\\\\d{8})\",\"$1\",[\"[67]\"]],[\"(\\\\d{3})(\\\\d{2})(\\\\d{4})\",\"$1 $2 $3\",[\"8\"]]],\"0\",0,\"0(1\\\\d)?\"],\"BQ\":[\"599\",\"00\",\"(?:[34]1|7\\\\d)\\\\d{5}\",[7],0,0,0,0,0,0,\"[347]\"],\"BR\":[\"55\",\"00(?:1[245]|2[1-35]|31|4[13]|[56]5|99)\",\"(?:[1-46-9]\\\\d\\\\d|5(?:[0-46-9]\\\\d|5[0-46-9]))\\\\d{8}|[1-9]\\\\d{9}|[3589]\\\\d{8}|[34]\\\\d{7}\",[8,9,10,11],[[\"(\\\\d{4})(\\\\d{4})\",\"$1-$2\",[\"300|4(?:0[02]|37)\",\"4(?:02|37)0|[34]00\"]],[\"(\\\\d{3})(\\\\d{2,3})(\\\\d{4})\",\"$1 $2 $3\",[\"(?:[358]|90)0\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$1 $2-$3\",[\"(?:[14689][1-9]|2[12478]|3[1-578]|5[13-5]|7[13-579])[2-57]\"],\"($1)\"],[\"(\\\\d{2})(\\\\d{5})(\\\\d{4})\",\"$1 $2-$3\",[\"[16][1-9]|[2-57-9]\"],\"($1)\"]],\"0\",0,\"(?:0|90)(?:(1[245]|2[1-35]|31|4[13]|[56]5|99)(\\\\d{10,11}))?\",\"$2\"],\"BS\":[\"1\",\"011\",\"(?:242|[58]\\\\d\\\\d|900)\\\\d{7}\",[10],0,\"1\",0,\"([3-8]\\\\d{6})$|1\",\"242$1\",0,\"242\"],\"BT\":[\"975\",\"00\",\"[17]\\\\d{7}|[2-8]\\\\d{6}\",[7,8],[[\"(\\\\d)(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[2-68]|7[246]\"]],[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"1[67]|7\"]]]],\"BW\":[\"267\",\"00\",\"(?:0800|(?:[37]|800)\\\\d)\\\\d{6}|(?:[2-6]\\\\d|90)\\\\d{5}\",[7,8,10],[[\"(\\\\d{2})(\\\\d{5})\",\"$1 $2\",[\"90\"]],[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[24-6]|3[15-9]\"]],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[37]\"]],[\"(\\\\d{4})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"0\"]],[\"(\\\\d{3})(\\\\d{4})(\\\\d{3})\",\"$1 $2 $3\",[\"8\"]]]],\"BY\":[\"375\",\"810\",\"(?:[12]\\\\d|33|44|902)\\\\d{7}|8(?:0[0-79]\\\\d{5,7}|[1-7]\\\\d{9})|8(?:1[0-489]|[5-79]\\\\d)\\\\d{7}|8[1-79]\\\\d{6,7}|8[0-79]\\\\d{5}|8\\\\d{5}\",[6,7,8,9,10,11],[[\"(\\\\d{3})(\\\\d{3})\",\"$1 $2\",[\"800\"],\"8 $1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2,4})\",\"$1 $2 $3\",[\"800\"],\"8 $1\"],[\"(\\\\d{4})(\\\\d{2})(\\\\d{3})\",\"$1 $2-$3\",[\"1(?:5[169]|6[3-5]|7[179])|2(?:1[35]|2[34]|3[3-5])\",\"1(?:5[169]|6(?:3[1-3]|4|5[125])|7(?:1[3-9]|7[0-24-6]|9[2-7]))|2(?:1[35]|2[34]|3[3-5])\"],\"8 0$1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2-$3-$4\",[\"1(?:[56]|7[467])|2[1-3]\"],\"8 0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2-$3-$4\",[\"[1-4]\"],\"8 0$1\"],[\"(\\\\d{3})(\\\\d{3,4})(\\\\d{4})\",\"$1 $2 $3\",[\"[89]\"],\"8 $1\"]],\"8\",0,\"0|80?\",0,0,0,0,\"8~10\"],\"BZ\":[\"501\",\"00\",\"(?:0800\\\\d|[2-8])\\\\d{6}\",[7,11],[[\"(\\\\d{3})(\\\\d{4})\",\"$1-$2\",[\"[2-8]\"]],[\"(\\\\d)(\\\\d{3})(\\\\d{4})(\\\\d{3})\",\"$1-$2-$3-$4\",[\"0\"]]]],\"CA\":[\"1\",\"011\",\"(?:[2-8]\\\\d|90)\\\\d{8}|3\\\\d{6}\",[7,10],0,\"1\",0,0,0,0,0,[[\"(?:2(?:04|[23]6|[48]9|50|63)|3(?:06|43|54|6[578]|82)|4(?:03|1[68]|[26]8|3[178]|50|74)|5(?:06|1[49]|48|79|8[147])|6(?:04|[18]3|39|47|72)|7(?:0[59]|42|53|78|8[02])|8(?:[06]7|19|25|7[39])|90[25])[2-9]\\\\d{6}\",[10]],[\"\",[10]],[\"8(?:00|33|44|55|66|77|88)[2-9]\\\\d{6}\",[10]],[\"900[2-9]\\\\d{6}\",[10]],[\"52(?:3(?:[2-46-9][02-9]\\\\d|5(?:[02-46-9]\\\\d|5[0-46-9]))|4(?:[2-478][02-9]\\\\d|5(?:[034]\\\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\\\d)|9(?:[05-9]\\\\d|2[0-5]|49)))\\\\d{4}|52[34][2-9]1[02-9]\\\\d{4}|(?:5(?:00|2[125-9]|33|44|66|77|88)|622)[2-9]\\\\d{6}\",[10]],0,[\"310\\\\d{4}\",[7]],0,[\"600[2-9]\\\\d{6}\",[10]]]],\"CC\":[\"61\",\"001[14-689]|14(?:1[14]|34|4[17]|[56]6|7[47]|88)0011\",\"1(?:[0-79]\\\\d{8}(?:\\\\d{2})?|8[0-24-9]\\\\d{7})|[148]\\\\d{8}|1\\\\d{5,7}\",[6,7,8,9,10,12],0,\"0\",0,\"([59]\\\\d{7})$|0\",\"8$1\",0,0,[[\"8(?:51(?:0(?:02|31|60|89)|1(?:18|76)|223)|91(?:0(?:1[0-2]|29)|1(?:[28]2|50|79)|2(?:10|64)|3(?:[06]8|22)|4[29]8|62\\\\d|70[23]|959))\\\\d{3}\",[9]],[\"4(?:79[01]|83[0-389]|94[0-4])\\\\d{5}|4(?:[0-36]\\\\d|4[047-9]|5[0-25-9]|7[02-8]|8[0-24-9]|9[0-37-9])\\\\d{6}\",[9]],[\"180(?:0\\\\d{3}|2)\\\\d{3}\",[7,10]],[\"190[0-26]\\\\d{6}\",[10]],0,0,0,0,[\"14(?:5(?:1[0458]|[23][458])|71\\\\d)\\\\d{4}\",[9]],[\"13(?:00\\\\d{6}(?:\\\\d{2})?|45[0-4]\\\\d{3})|13\\\\d{4}\",[6,8,10,12]]],\"0011\"],\"CD\":[\"243\",\"00\",\"(?:(?:[189]|5\\\\d)\\\\d|2)\\\\d{7}|[1-68]\\\\d{6}\",[7,8,9,10],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3\",[\"88\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{5})\",\"$1 $2\",[\"[1-6]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{2})(\\\\d{4})\",\"$1 $2 $3\",[\"2\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"1\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[89]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3 $4\",[\"5\"],\"0$1\"]],\"0\"],\"CF\":[\"236\",\"00\",\"(?:[27]\\\\d{3}|8776)\\\\d{4}\",[8],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[278]\"]]]],\"CG\":[\"242\",\"00\",\"222\\\\d{6}|(?:0\\\\d|80)\\\\d{7}\",[9],[[\"(\\\\d)(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"8\"]],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[02]\"]]]],\"CH\":[\"41\",\"00\",\"8\\\\d{11}|[2-9]\\\\d{8}\",[9,12],[[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"8[047]|90\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[2-79]|81\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4 $5\",[\"8\"],\"0$1\"]],\"0\"],\"CI\":[\"225\",\"00\",\"[02]\\\\d{9}\",[10],[[\"(\\\\d{2})(\\\\d{2})(\\\\d)(\\\\d{5})\",\"$1 $2 $3 $4\",[\"2\"]],[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{4})\",\"$1 $2 $3 $4\",[\"0\"]]]],\"CK\":[\"682\",\"00\",\"[2-578]\\\\d{4}\",[5],[[\"(\\\\d{2})(\\\\d{3})\",\"$1 $2\",[\"[2-578]\"]]]],\"CL\":[\"56\",\"(?:0|1(?:1[0-69]|2[02-5]|5[13-58]|69|7[0167]|8[018]))0\",\"12300\\\\d{6}|6\\\\d{9,10}|[2-9]\\\\d{8}\",[9,10,11],[[\"(\\\\d{5})(\\\\d{4})\",\"$1 $2\",[\"219\",\"2196\"],\"($1)\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"44\"]],[\"(\\\\d)(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"2[1-36]\"],\"($1)\"],[\"(\\\\d)(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"9[2-9]\"]],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"3[2-5]|[47]|5[1-3578]|6[13-57]|8(?:0[1-9]|[1-9])\"],\"($1)\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"60|8\"]],[\"(\\\\d{4})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"1\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3 $4\",[\"60\"]]]],\"CM\":[\"237\",\"00\",\"[26]\\\\d{8}|88\\\\d{6,7}\",[8,9],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"88\"]],[\"(\\\\d)(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4 $5\",[\"[26]|88\"]]]],\"CN\":[\"86\",\"00|1(?:[12]\\\\d|79)\\\\d\\\\d00\",\"(?:(?:1[03-689]|2\\\\d)\\\\d\\\\d|6)\\\\d{8}|1\\\\d{10}|[126]\\\\d{6}(?:\\\\d(?:\\\\d{2})?)?|86\\\\d{5,6}|(?:[3-579]\\\\d|8[0-57-9])\\\\d{5,9}\",[7,8,9,10,11,12],[[\"(\\\\d{2})(\\\\d{5,6})\",\"$1 $2\",[\"(?:10|2[0-57-9])[19]|3(?:[157]|35|49|9[1-68])|4(?:1[124-9]|2[179]|6[47-9]|7|8[23])|5(?:[1357]|2[37]|4[36]|6[1-46]|80)|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:07|1[236-8]|2[5-7]|[37]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|3|4[13]|5[1-5]|7[0-79]|9[0-35-9])|(?:4[35]|59|85)[1-9]\",\"(?:10|2[0-57-9])(?:1[02]|9[56])|8078|(?:3(?:[157]\\\\d|35|49|9[1-68])|4(?:1[124-9]|2[179]|[35][1-9]|6[47-9]|7\\\\d|8[23])|5(?:[1357]\\\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\\\d|5[1-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|3\\\\d|4[13]|5[1-5]|7[0-79]|9[0-35-9]))1\",\"10(?:1(?:0|23)|9[56])|2[0-57-9](?:1(?:00|23)|9[56])|80781|(?:3(?:[157]\\\\d|35|49|9[1-68])|4(?:1[124-9]|2[179]|[35][1-9]|6[47-9]|7\\\\d|8[23])|5(?:[1357]\\\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\\\d|5[1-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|3\\\\d|4[13]|5[1-5]|7[0-79]|9[0-35-9]))12\",\"10(?:1(?:0|23)|9[56])|2[0-57-9](?:1(?:00|23)|9[56])|807812|(?:3(?:[157]\\\\d|35|49|9[1-68])|4(?:1[124-9]|2[179]|[35][1-9]|6[47-9]|7\\\\d|8[23])|5(?:[1357]\\\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\\\d|5[1-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|3\\\\d|4[13]|5[1-5]|7[0-79]|9[0-35-9]))123\",\"10(?:1(?:0|23)|9[56])|2[0-57-9](?:1(?:00|23)|9[56])|(?:3(?:[157]\\\\d|35|49|9[1-68])|4(?:1[124-9]|2[179]|[35][1-9]|6[47-9]|7\\\\d|8[23])|5(?:[1357]\\\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:078|1[236-8]|2[5-7]|[37]\\\\d|5[1-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|3\\\\d|4[13]|5[1-5]|7[0-79]|9[0-35-9]))123\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{5,6})\",\"$1 $2\",[\"3(?:[157]|35|49|9[1-68])|4(?:[17]|2[179]|6[47-9]|8[23])|5(?:[1357]|2[37]|4[36]|6[1-46]|80)|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]|4[13]|5[1-5])|(?:4[35]|59|85)[1-9]\",\"(?:3(?:[157]\\\\d|35|49|9[1-68])|4(?:[17]\\\\d|2[179]|[35][1-9]|6[47-9]|8[23])|5(?:[1357]\\\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\\\d|5[1-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]\\\\d|4[13]|5[1-5]))[19]\",\"85[23](?:10|95)|(?:3(?:[157]\\\\d|35|49|9[1-68])|4(?:[17]\\\\d|2[179]|[35][1-9]|6[47-9]|8[23])|5(?:[1357]\\\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\\\d|5[14-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]\\\\d|4[13]|5[1-5]))(?:10|9[56])\",\"85[23](?:100|95)|(?:3(?:[157]\\\\d|35|49|9[1-68])|4(?:[17]\\\\d|2[179]|[35][1-9]|6[47-9]|8[23])|5(?:[1357]\\\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\\\d|5[14-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]\\\\d|4[13]|5[1-5]))(?:100|9[56])\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"(?:4|80)0\"]],[\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"10|2(?:[02-57-9]|1[1-9])\",\"10|2(?:[02-57-9]|1[1-9])\",\"10[0-79]|2(?:[02-57-9]|1[1-79])|(?:10|21)8(?:0[1-9]|[1-9])\"],\"0$1\",1],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"3(?:[3-59]|7[02-68])|4(?:[26-8]|3[3-9]|5[2-9])|5(?:3[03-9]|[468]|7[028]|9[2-46-9])|6|7(?:[0-247]|3[04-9]|5[0-4689]|6[2368])|8(?:[1-358]|9[1-7])|9(?:[013479]|5[1-5])|(?:[34]1|55|79|87)[02-9]\"],\"0$1\",1],[\"(\\\\d{3})(\\\\d{7,8})\",\"$1 $2\",[\"9\"]],[\"(\\\\d{4})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"80\"],\"0$1\",1],[\"(\\\\d{3})(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"[3-578]\"],\"0$1\",1],[\"(\\\\d{3})(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"1[3-9]\"]],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3 $4\",[\"[12]\"],\"0$1\",1]],\"0\",0,\"(1(?:[12]\\\\d|79)\\\\d\\\\d)|0\",0,0,0,0,\"00\"],\"CO\":[\"57\",\"00(?:4(?:[14]4|56)|[579])\",\"60\\\\d{8}|(?:1\\\\d|[39])\\\\d{9}\",[10,11],[[\"(\\\\d{3})(\\\\d{7})\",\"$1 $2\",[\"6|90\"],\"($1)\"],[\"(\\\\d{3})(\\\\d{7})\",\"$1 $2\",[\"3[0-357]|91\"]],[\"(\\\\d)(\\\\d{3})(\\\\d{7})\",\"$1-$2-$3\",[\"1\"],\"0$1\",0,\"$1 $2 $3\"]],\"0\",0,\"0([3579]|4(?:[14]4|56))?\"],\"CR\":[\"506\",\"00\",\"(?:8\\\\d|90)\\\\d{8}|(?:[24-8]\\\\d{3}|3005)\\\\d{4}\",[8,10],[[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[2-7]|8[3-9]\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1-$2-$3\",[\"[89]\"]]],0,0,\"(19(?:0[0-2468]|1[09]|20|66|77|99))\"],\"CU\":[\"53\",\"119\",\"(?:[2-7]|8\\\\d\\\\d)\\\\d{7}|[2-47]\\\\d{6}|[34]\\\\d{5}\",[6,7,8,10],[[\"(\\\\d{2})(\\\\d{4,6})\",\"$1 $2\",[\"2[1-4]|[34]\"],\"(0$1)\"],[\"(\\\\d)(\\\\d{6,7})\",\"$1 $2\",[\"7\"],\"(0$1)\"],[\"(\\\\d)(\\\\d{7})\",\"$1 $2\",[\"[56]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{7})\",\"$1 $2\",[\"8\"],\"0$1\"]],\"0\"],\"CV\":[\"238\",\"0\",\"(?:[2-59]\\\\d\\\\d|800)\\\\d{4}\",[7],[[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3\",[\"[2-589]\"]]]],\"CW\":[\"599\",\"00\",\"(?:[34]1|60|(?:7|9\\\\d)\\\\d)\\\\d{5}\",[7,8],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[3467]\"]],[\"(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"9[4-8]\"]]],0,0,0,0,0,\"[69]\"],\"CX\":[\"61\",\"001[14-689]|14(?:1[14]|34|4[17]|[56]6|7[47]|88)0011\",\"1(?:[0-79]\\\\d{8}(?:\\\\d{2})?|8[0-24-9]\\\\d{7})|[148]\\\\d{8}|1\\\\d{5,7}\",[6,7,8,9,10,12],0,\"0\",0,\"([59]\\\\d{7})$|0\",\"8$1\",0,0,[[\"8(?:51(?:0(?:01|30|59|88)|1(?:17|46|75)|2(?:22|35))|91(?:00[6-9]|1(?:[28]1|49|78)|2(?:09|63)|3(?:12|26|75)|4(?:56|97)|64\\\\d|7(?:0[01]|1[0-2])|958))\\\\d{3}\",[9]],[\"4(?:79[01]|83[0-389]|94[0-4])\\\\d{5}|4(?:[0-36]\\\\d|4[047-9]|5[0-25-9]|7[02-8]|8[0-24-9]|9[0-37-9])\\\\d{6}\",[9]],[\"180(?:0\\\\d{3}|2)\\\\d{3}\",[7,10]],[\"190[0-26]\\\\d{6}\",[10]],0,0,0,0,[\"14(?:5(?:1[0458]|[23][458])|71\\\\d)\\\\d{4}\",[9]],[\"13(?:00\\\\d{6}(?:\\\\d{2})?|45[0-4]\\\\d{3})|13\\\\d{4}\",[6,8,10,12]]],\"0011\"],\"CY\":[\"357\",\"00\",\"(?:[279]\\\\d|[58]0)\\\\d{6}\",[8],[[\"(\\\\d{2})(\\\\d{6})\",\"$1 $2\",[\"[257-9]\"]]]],\"CZ\":[\"420\",\"00\",\"(?:[2-578]\\\\d|60)\\\\d{7}|9\\\\d{8,11}\",[9,10,11,12],[[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[2-8]|9[015-7]\"]],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"96\"]],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3 $4\",[\"9\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3 $4\",[\"9\"]]]],\"DE\":[\"49\",\"00\",\"[2579]\\\\d{5,14}|49(?:[34]0|69|8\\\\d)\\\\d\\\\d?|49(?:37|49|60|7[089]|9\\\\d)\\\\d{1,3}|49(?:2[024-9]|3[2-689]|7[1-7])\\\\d{1,8}|(?:1|[368]\\\\d|4[0-8])\\\\d{3,13}|49(?:[015]\\\\d|2[13]|31|[46][1-8])\\\\d{1,9}\",[4,5,6,7,8,9,10,11,12,13,14,15],[[\"(\\\\d{2})(\\\\d{3,13})\",\"$1 $2\",[\"3[02]|40|[68]9\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3,12})\",\"$1 $2\",[\"2(?:0[1-389]|1[124]|2[18]|3[14])|3(?:[35-9][15]|4[015])|906|(?:2[4-9]|4[2-9]|[579][1-9]|[68][1-8])1\",\"2(?:0[1-389]|12[0-8])|3(?:[35-9][15]|4[015])|906|2(?:[13][14]|2[18])|(?:2[4-9]|4[2-9]|[579][1-9]|[68][1-8])1\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{2,11})\",\"$1 $2\",[\"[24-6]|3(?:[3569][02-46-9]|4[2-4679]|7[2-467]|8[2-46-8])|70[2-8]|8(?:0[2-9]|[1-8])|90[7-9]|[79][1-9]\",\"[24-6]|3(?:3(?:0[1-467]|2[127-9]|3[124578]|7[1257-9]|8[1256]|9[145])|4(?:2[135]|4[13578]|9[1346])|5(?:0[14]|2[1-3589]|6[1-4]|7[13468]|8[13568])|6(?:2[1-489]|3[124-6]|6[13]|7[12579]|8[1-356]|9[135])|7(?:2[1-7]|4[145]|6[1-5]|7[1-4])|8(?:21|3[1468]|6|7[1467]|8[136])|9(?:0[12479]|2[1358]|4[134679]|6[1-9]|7[136]|8[147]|9[1468]))|70[2-8]|8(?:0[2-9]|[1-8])|90[7-9]|[79][1-9]|3[68]4[1347]|3(?:47|60)[1356]|3(?:3[46]|46|5[49])[1246]|3[4579]3[1357]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"138\"],\"0$1\"],[\"(\\\\d{5})(\\\\d{2,10})\",\"$1 $2\",[\"3\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{5,11})\",\"$1 $2\",[\"181\"],\"0$1\"],[\"(\\\\d{3})(\\\\d)(\\\\d{4,10})\",\"$1 $2 $3\",[\"1(?:3|80)|9\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{7,8})\",\"$1 $2\",[\"1[67]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{7,12})\",\"$1 $2\",[\"8\"],\"0$1\"],[\"(\\\\d{5})(\\\\d{6})\",\"$1 $2\",[\"185\",\"1850\",\"18500\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"7\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{7})\",\"$1 $2\",[\"18[68]\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{7})\",\"$1 $2\",[\"15[1279]\"],\"0$1\"],[\"(\\\\d{5})(\\\\d{6})\",\"$1 $2\",[\"15[03568]\",\"15(?:[0568]|31)\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{8})\",\"$1 $2\",[\"18\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{7,8})\",\"$1 $2 $3\",[\"1(?:6[023]|7)\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{2})(\\\\d{7})\",\"$1 $2 $3\",[\"15[279]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{8})\",\"$1 $2 $3\",[\"15\"],\"0$1\"]],\"0\"],\"DJ\":[\"253\",\"00\",\"(?:2\\\\d|77)\\\\d{6}\",[8],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[27]\"]]]],\"DK\":[\"45\",\"00\",\"[2-9]\\\\d{7}\",[8],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[2-9]\"]]]],\"DM\":[\"1\",\"011\",\"(?:[58]\\\\d\\\\d|767|900)\\\\d{7}\",[10],0,\"1\",0,\"([2-7]\\\\d{6})$|1\",\"767$1\",0,\"767\"],\"DO\":[\"1\",\"011\",\"(?:[58]\\\\d\\\\d|900)\\\\d{7}\",[10],0,\"1\",0,0,0,0,\"8001|8[024]9\"],\"DZ\":[\"213\",\"00\",\"(?:[1-4]|[5-79]\\\\d|80)\\\\d{7}\",[8,9],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[1-4]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"9\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[5-8]\"],\"0$1\"]],\"0\"],\"EC\":[\"593\",\"00\",\"1\\\\d{9,10}|(?:[2-7]|9\\\\d)\\\\d{7}\",[8,9,10,11],[[\"(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1 $2-$3\",[\"[2-7]\"],\"(0$1)\",0,\"$1-$2-$3\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"9\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"1\"]]],\"0\"],\"EE\":[\"372\",\"00\",\"8\\\\d{9}|[4578]\\\\d{7}|(?:[3-8]\\\\d|90)\\\\d{5}\",[7,8,10],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[369]|4[3-8]|5(?:[0-2]|5[0-478]|6[45])|7[1-9]|88\",\"[369]|4[3-8]|5(?:[02]|1(?:[0-8]|95)|5[0-478]|6(?:4[0-4]|5[1-589]))|7[1-9]|88\"]],[\"(\\\\d{4})(\\\\d{3,4})\",\"$1 $2\",[\"[45]|8(?:00|[1-49])\",\"[45]|8(?:00[1-9]|[1-49])\"]],[\"(\\\\d{2})(\\\\d{2})(\\\\d{4})\",\"$1 $2 $3\",[\"7\"]],[\"(\\\\d{4})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"8\"]]]],\"EG\":[\"20\",\"00\",\"[189]\\\\d{8,9}|[24-6]\\\\d{8}|[135]\\\\d{7}\",[8,9,10],[[\"(\\\\d)(\\\\d{7,8})\",\"$1 $2\",[\"[23]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{6,7})\",\"$1 $2\",[\"1[35]|[4-6]|8[2468]|9[235-7]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[89]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{8})\",\"$1 $2\",[\"1\"],\"0$1\"]],\"0\"],\"EH\":[\"212\",\"00\",\"[5-8]\\\\d{8}\",[9],0,\"0\",0,0,0,0,\"528[89]\"],\"ER\":[\"291\",\"00\",\"[178]\\\\d{6}\",[7],[[\"(\\\\d)(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[178]\"],\"0$1\"]],\"0\"],\"ES\":[\"34\",\"00\",\"[5-9]\\\\d{8}\",[9],[[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[89]00\"]],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[5-9]\"]]]],\"ET\":[\"251\",\"00\",\"(?:11|[2-579]\\\\d)\\\\d{7}\",[9],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[1-579]\"],\"0$1\"]],\"0\"],\"FI\":[\"358\",\"00|99(?:[01469]|5(?:[14]1|3[23]|5[59]|77|88|9[09]))\",\"[1-35689]\\\\d{4}|7\\\\d{10,11}|(?:[124-7]\\\\d|3[0-46-9])\\\\d{8}|[1-9]\\\\d{5,8}\",[5,6,7,8,9,10,11,12],[[\"(\\\\d{5})\",\"$1\",[\"20[2-59]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3,7})\",\"$1 $2\",[\"(?:[1-3]0|[68])0|70[07-9]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{4,8})\",\"$1 $2\",[\"[14]|2[09]|50|7[135]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{6,10})\",\"$1 $2\",[\"7\"],\"0$1\"],[\"(\\\\d)(\\\\d{4,9})\",\"$1 $2\",[\"(?:1[49]|[2568])[1-8]|3(?:0[1-9]|[1-9])|9\"],\"0$1\"]],\"0\",0,0,0,0,\"1[03-79]|[2-9]\",0,\"00\"],\"FJ\":[\"679\",\"0(?:0|52)\",\"45\\\\d{5}|(?:0800\\\\d|[235-9])\\\\d{6}\",[7,11],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[235-9]|45\"]],[\"(\\\\d{4})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"0\"]]],0,0,0,0,0,0,0,\"00\"],\"FK\":[\"500\",\"00\",\"[2-7]\\\\d{4}\",[5]],\"FM\":[\"691\",\"00\",\"(?:[39]\\\\d\\\\d|820)\\\\d{4}\",[7],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[389]\"]]]],\"FO\":[\"298\",\"00\",\"[2-9]\\\\d{5}\",[6],[[\"(\\\\d{6})\",\"$1\",[\"[2-9]\"]]],0,0,\"(10(?:01|[12]0|88))\"],\"FR\":[\"33\",\"00\",\"[1-9]\\\\d{8}\",[9],[[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"8\"],\"0 $1\"],[\"(\\\\d)(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4 $5\",[\"[1-79]\"],\"0$1\"]],\"0\"],\"GA\":[\"241\",\"00\",\"(?:[067]\\\\d|11)\\\\d{6}|[2-7]\\\\d{6}\",[7,8],[[\"(\\\\d)(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[2-7]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"0\"]],[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"11|[67]\"],\"0$1\"]],0,0,\"0(11\\\\d{6}|60\\\\d{6}|61\\\\d{6}|6[256]\\\\d{6}|7[467]\\\\d{6})\",\"$1\"],\"GB\":[\"44\",\"00\",\"[1-357-9]\\\\d{9}|[18]\\\\d{8}|8\\\\d{6}\",[7,9,10],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"800\",\"8001\",\"80011\",\"800111\",\"8001111\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3\",[\"845\",\"8454\",\"84546\",\"845464\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{6})\",\"$1 $2\",[\"800\"],\"0$1\"],[\"(\\\\d{5})(\\\\d{4,5})\",\"$1 $2\",[\"1(?:38|5[23]|69|76|94)\",\"1(?:(?:38|69)7|5(?:24|39)|768|946)\",\"1(?:3873|5(?:242|39[4-6])|(?:697|768)[347]|9467)\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{5,6})\",\"$1 $2\",[\"1(?:[2-69][02-9]|[78])\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"[25]|7(?:0|6[02-9])\",\"[25]|7(?:0|6(?:[03-9]|2[356]))\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{6})\",\"$1 $2\",[\"7\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[1389]\"],\"0$1\"]],\"0\",0,0,0,0,0,[[\"(?:1(?:1(?:3(?:[0-58]\\\\d\\\\d|73[0-35])|4(?:(?:[0-5]\\\\d|70)\\\\d|69[7-9])|(?:(?:5[0-26-9]|[78][0-49])\\\\d|6(?:[0-4]\\\\d|50))\\\\d)|(?:2(?:(?:0[024-9]|2[3-9]|3[3-79]|4[1-689]|[58][02-9]|6[0-47-9]|7[013-9]|9\\\\d)\\\\d|1(?:[0-7]\\\\d|8[0-3]))|(?:3(?:0\\\\d|1[0-8]|[25][02-9]|3[02-579]|[468][0-46-9]|7[1-35-79]|9[2-578])|4(?:0[03-9]|[137]\\\\d|[28][02-57-9]|4[02-69]|5[0-8]|[69][0-79])|5(?:0[1-35-9]|[16]\\\\d|2[024-9]|3[015689]|4[02-9]|5[03-9]|7[0-35-9]|8[0-468]|9[0-57-9])|6(?:0[034689]|1\\\\d|2[0-35689]|[38][013-9]|4[1-467]|5[0-69]|6[13-9]|7[0-8]|9[0-24578])|7(?:0[0246-9]|2\\\\d|3[0236-8]|4[03-9]|5[0-46-9]|6[013-9]|7[0-35-9]|8[024-9]|9[02-9])|8(?:0[35-9]|2[1-57-9]|3[02-578]|4[0-578]|5[124-9]|6[2-69]|7\\\\d|8[02-9]|9[02569])|9(?:0[02-589]|[18]\\\\d|2[02-689]|3[1-57-9]|4[2-9]|5[0-579]|6[2-47-9]|7[0-24578]|9[2-57]))\\\\d)\\\\d)|2(?:0[013478]|3[0189]|4[017]|8[0-46-9]|9[0-2])\\\\d{3})\\\\d{4}|1(?:2(?:0(?:46[1-4]|87[2-9])|545[1-79]|76(?:2\\\\d|3[1-8]|6[1-6])|9(?:7(?:2[0-4]|3[2-5])|8(?:2[2-8]|7[0-47-9]|8[3-5])))|3(?:6(?:38[2-5]|47[23])|8(?:47[04-9]|64[0157-9]))|4(?:044[1-7]|20(?:2[23]|8\\\\d)|6(?:0(?:30|5[2-57]|6[1-8]|7[2-8])|140)|8(?:052|87[1-3]))|5(?:2(?:4(?:3[2-79]|6\\\\d)|76\\\\d)|6(?:26[06-9]|686))|6(?:06(?:4\\\\d|7[4-79])|295[5-7]|35[34]\\\\d|47(?:24|61)|59(?:5[08]|6[67]|74)|9(?:55[0-4]|77[23]))|7(?:26(?:6[13-9]|7[0-7])|(?:442|688)\\\\d|50(?:2[0-3]|[3-68]2|76))|8(?:27[56]\\\\d|37(?:5[2-5]|8[239])|843[2-58])|9(?:0(?:0(?:6[1-8]|85)|52\\\\d)|3583|4(?:66[1-8]|9(?:2[01]|81))|63(?:23|3[1-4])|9561))\\\\d{3}\",[9,10]],[\"7(?:457[0-57-9]|700[01]|911[028])\\\\d{5}|7(?:[1-3]\\\\d\\\\d|4(?:[0-46-9]\\\\d|5[0-689])|5(?:0[0-8]|[13-9]\\\\d|2[0-35-9])|7(?:0[1-9]|[1-7]\\\\d|8[02-9]|9[0-689])|8(?:[014-9]\\\\d|[23][0-8])|9(?:[024-9]\\\\d|1[02-9]|3[0-689]))\\\\d{6}\",[10]],[\"80[08]\\\\d{7}|800\\\\d{6}|8001111\"],[\"(?:8(?:4[2-5]|7[0-3])|9(?:[01]\\\\d|8[2-49]))\\\\d{7}|845464\\\\d\",[7,10]],[\"70\\\\d{8}\",[10]],0,[\"(?:3[0347]|55)\\\\d{8}\",[10]],[\"76(?:464|652)\\\\d{5}|76(?:0[0-28]|2[356]|34|4[01347]|5[49]|6[0-369]|77|8[14]|9[139])\\\\d{6}\",[10]],[\"56\\\\d{8}\",[10]]],0,\" x\"],\"GD\":[\"1\",\"011\",\"(?:473|[58]\\\\d\\\\d|900)\\\\d{7}\",[10],0,\"1\",0,\"([2-9]\\\\d{6})$|1\",\"473$1\",0,\"473\"],\"GE\":[\"995\",\"00\",\"(?:[3-57]\\\\d\\\\d|800)\\\\d{6}\",[9],[[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"70\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"32\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[57]\"]],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[348]\"],\"0$1\"]],\"0\"],\"GF\":[\"594\",\"00\",\"[56]94\\\\d{6}|(?:80|9\\\\d)\\\\d{7}\",[9],[[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[56]|9[47]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[89]\"],\"0$1\"]],\"0\"],\"GG\":[\"44\",\"00\",\"(?:1481|[357-9]\\\\d{3})\\\\d{6}|8\\\\d{6}(?:\\\\d{2})?\",[7,9,10],0,\"0\",0,\"([25-9]\\\\d{5})$|0\",\"1481$1\",0,0,[[\"1481[25-9]\\\\d{5}\",[10]],[\"7(?:(?:781|839)\\\\d|911[17])\\\\d{5}\",[10]],[\"80[08]\\\\d{7}|800\\\\d{6}|8001111\"],[\"(?:8(?:4[2-5]|7[0-3])|9(?:[01]\\\\d|8[0-3]))\\\\d{7}|845464\\\\d\",[7,10]],[\"70\\\\d{8}\",[10]],0,[\"(?:3[0347]|55)\\\\d{8}\",[10]],[\"76(?:464|652)\\\\d{5}|76(?:0[0-28]|2[356]|34|4[01347]|5[49]|6[0-369]|77|8[14]|9[139])\\\\d{6}\",[10]],[\"56\\\\d{8}\",[10]]]],\"GH\":[\"233\",\"00\",\"(?:[235]\\\\d{3}|800)\\\\d{5}\",[8,9],[[\"(\\\\d{3})(\\\\d{5})\",\"$1 $2\",[\"8\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[235]\"],\"0$1\"]],\"0\"],\"GI\":[\"350\",\"00\",\"(?:[25]\\\\d|60)\\\\d{6}\",[8],[[\"(\\\\d{3})(\\\\d{5})\",\"$1 $2\",[\"2\"]]]],\"GL\":[\"299\",\"00\",\"(?:19|[2-689]\\\\d|70)\\\\d{4}\",[6],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3\",[\"19|[2-9]\"]]]],\"GM\":[\"220\",\"00\",\"[2-9]\\\\d{6}\",[7],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[2-9]\"]]]],\"GN\":[\"224\",\"00\",\"722\\\\d{6}|(?:3|6\\\\d)\\\\d{7}\",[8,9],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"3\"]],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[67]\"]]]],\"GP\":[\"590\",\"00\",\"590\\\\d{6}|(?:69|80|9\\\\d)\\\\d{7}\",[9],[[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[569]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"8\"],\"0$1\"]],\"0\",0,0,0,0,0,[[\"590(?:0[1-68]|[14][0-24-9]|2[0-68]|3[1-9]|5[3-579]|[68][0-689]|7[08]|9\\\\d)\\\\d{4}\"],[\"69(?:0\\\\d\\\\d|1(?:2[2-9]|3[0-5])|4(?:0[89]|1[2-6]|9\\\\d)|6(?:1[016-9]|5[0-4]|[67]\\\\d))\\\\d{4}\"],[\"80[0-5]\\\\d{6}\"],0,0,0,0,0,[\"9(?:(?:39[5-7]|76[018])\\\\d|475[0-5])\\\\d{4}\"]]],\"GQ\":[\"240\",\"00\",\"222\\\\d{6}|(?:3\\\\d|55|[89]0)\\\\d{7}\",[9],[[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[235]\"]],[\"(\\\\d{3})(\\\\d{6})\",\"$1 $2\",[\"[89]\"]]]],\"GR\":[\"30\",\"00\",\"5005000\\\\d{3}|8\\\\d{9,11}|(?:[269]\\\\d|70)\\\\d{8}\",[10,11,12],[[\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"21|7\"]],[\"(\\\\d{4})(\\\\d{6})\",\"$1 $2\",[\"2(?:2|3[2-57-9]|4[2-469]|5[2-59]|6[2-9]|7[2-69]|8[2-49])|5\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[2689]\"]],[\"(\\\\d{3})(\\\\d{3,4})(\\\\d{5})\",\"$1 $2 $3\",[\"8\"]]]],\"GT\":[\"502\",\"00\",\"80\\\\d{6}|(?:1\\\\d{3}|[2-7])\\\\d{7}\",[8,11],[[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[2-8]\"]],[\"(\\\\d{4})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"1\"]]]],\"GU\":[\"1\",\"011\",\"(?:[58]\\\\d\\\\d|671|900)\\\\d{7}\",[10],0,\"1\",0,\"([2-9]\\\\d{6})$|1\",\"671$1\",0,\"671\"],\"GW\":[\"245\",\"00\",\"[49]\\\\d{8}|4\\\\d{6}\",[7,9],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"40\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[49]\"]]]],\"GY\":[\"592\",\"001\",\"(?:[2-8]\\\\d{3}|9008)\\\\d{3}\",[7],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[2-9]\"]]]],\"HK\":[\"852\",\"00(?:30|5[09]|[126-9]?)\",\"8[0-46-9]\\\\d{6,7}|9\\\\d{4,7}|(?:[2-7]|9\\\\d{3})\\\\d{7}\",[5,6,7,8,9,11],[[\"(\\\\d{3})(\\\\d{2,5})\",\"$1 $2\",[\"900\",\"9003\"]],[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[2-7]|8[1-4]|9(?:0[1-9]|[1-8])\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"8\"]],[\"(\\\\d{3})(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3 $4\",[\"9\"]]],0,0,0,0,0,0,0,\"00\"],\"HN\":[\"504\",\"00\",\"8\\\\d{10}|[237-9]\\\\d{7}\",[8,11],[[\"(\\\\d{4})(\\\\d{4})\",\"$1-$2\",[\"[237-9]\"]]]],\"HR\":[\"385\",\"00\",\"(?:[24-69]\\\\d|3[0-79])\\\\d{7}|80\\\\d{5,7}|[1-79]\\\\d{7}|6\\\\d{5,6}\",[6,7,8,9],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2,3})\",\"$1 $2 $3\",[\"6[01]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2,3})\",\"$1 $2 $3\",[\"8\"],\"0$1\"],[\"(\\\\d)(\\\\d{4})(\\\\d{3})\",\"$1 $2 $3\",[\"1\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"6|7[245]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"9\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[2-57]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"8\"],\"0$1\"]],\"0\"],\"HT\":[\"509\",\"00\",\"(?:[2-489]\\\\d|55)\\\\d{6}\",[8],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{4})\",\"$1 $2 $3\",[\"[2-589]\"]]]],\"HU\":[\"36\",\"00\",\"[235-7]\\\\d{8}|[1-9]\\\\d{7}\",[8,9],[[\"(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"1\"],\"(06 $1)\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[27][2-9]|3[2-7]|4[24-9]|5[2-79]|6|8[2-57-9]|9[2-69]\"],\"(06 $1)\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[2-9]\"],\"06 $1\"]],\"06\"],\"ID\":[\"62\",\"00[89]\",\"00[1-9]\\\\d{9,14}|(?:[1-36]|8\\\\d{5})\\\\d{6}|00\\\\d{9}|[1-9]\\\\d{8,10}|[2-9]\\\\d{7}\",[7,8,9,10,11,12,13,14,15,16,17],[[\"(\\\\d)(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"15\"]],[\"(\\\\d{2})(\\\\d{5,9})\",\"$1 $2\",[\"2[124]|[36]1\"],\"(0$1)\"],[\"(\\\\d{3})(\\\\d{5,7})\",\"$1 $2\",[\"800\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{5,8})\",\"$1 $2\",[\"[2-79]\"],\"(0$1)\"],[\"(\\\\d{3})(\\\\d{3,4})(\\\\d{3})\",\"$1-$2-$3\",[\"8[1-35-9]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{6,8})\",\"$1 $2\",[\"1\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"804\"],\"0$1\"],[\"(\\\\d{3})(\\\\d)(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3 $4\",[\"80\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{4})(\\\\d{4,5})\",\"$1-$2-$3\",[\"8\"],\"0$1\"]],\"0\"],\"IE\":[\"353\",\"00\",\"(?:1\\\\d|[2569])\\\\d{6,8}|4\\\\d{6,9}|7\\\\d{8}|8\\\\d{8,9}\",[7,8,9,10],[[\"(\\\\d{2})(\\\\d{5})\",\"$1 $2\",[\"2[24-9]|47|58|6[237-9]|9[35-9]\"],\"(0$1)\"],[\"(\\\\d{3})(\\\\d{5})\",\"$1 $2\",[\"[45]0\"],\"(0$1)\"],[\"(\\\\d)(\\\\d{3,4})(\\\\d{4})\",\"$1 $2 $3\",[\"1\"],\"(0$1)\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[2569]|4[1-69]|7[14]\"],\"(0$1)\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"70\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"81\"],\"(0$1)\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[78]\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"1\"]],[\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"4\"],\"(0$1)\"],[\"(\\\\d{2})(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3 $4\",[\"8\"],\"0$1\"]],\"0\"],\"IL\":[\"972\",\"0(?:0|1[2-9])\",\"1\\\\d{6}(?:\\\\d{3,5})?|[57]\\\\d{8}|[1-489]\\\\d{7}\",[7,8,9,10,11,12],[[\"(\\\\d{4})(\\\\d{3})\",\"$1-$2\",[\"125\"]],[\"(\\\\d{4})(\\\\d{2})(\\\\d{2})\",\"$1-$2-$3\",[\"121\"]],[\"(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1-$2-$3\",[\"[2-489]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1-$2-$3\",[\"[57]\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{3})(\\\\d{3})\",\"$1-$2-$3\",[\"12\"]],[\"(\\\\d{4})(\\\\d{6})\",\"$1-$2\",[\"159\"]],[\"(\\\\d)(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1-$2-$3-$4\",[\"1[7-9]\"]],[\"(\\\\d{3})(\\\\d{1,2})(\\\\d{3})(\\\\d{4})\",\"$1-$2 $3-$4\",[\"15\"]]],\"0\"],\"IM\":[\"44\",\"00\",\"1624\\\\d{6}|(?:[3578]\\\\d|90)\\\\d{8}\",[10],0,\"0\",0,\"([25-8]\\\\d{5})$|0\",\"1624$1\",0,\"74576|(?:16|7[56])24\"],\"IN\":[\"91\",\"00\",\"(?:000800|[2-9]\\\\d\\\\d)\\\\d{7}|1\\\\d{7,12}\",[8,9,10,11,12,13],[[\"(\\\\d{8})\",\"$1\",[\"5(?:0|2[23]|3[03]|[67]1|88)\",\"5(?:0|2(?:21|3)|3(?:0|3[23])|616|717|888)\",\"5(?:0|2(?:21|3)|3(?:0|3[23])|616|717|8888)\"],0,1],[\"(\\\\d{4})(\\\\d{4,5})\",\"$1 $2\",[\"180\",\"1800\"],0,1],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"140\"],0,1],[\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"11|2[02]|33|4[04]|79[1-7]|80[2-46]\",\"11|2[02]|33|4[04]|79(?:[1-6]|7[19])|80(?:[2-4]|6[0-589])\",\"11|2[02]|33|4[04]|79(?:[124-6]|3(?:[02-9]|1[0-24-9])|7(?:1|9[1-6]))|80(?:[2-4]|6[0-589])\"],\"0$1\",1],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"1(?:2[0-249]|3[0-25]|4[145]|[68]|7[1257])|2(?:1[257]|3[013]|4[01]|5[0137]|6[0158]|78|8[1568])|3(?:26|4[1-3]|5[34]|6[01489]|7[02-46]|8[159])|4(?:1[36]|2[1-47]|5[12]|6[0-26-9]|7[0-24-9]|8[013-57]|9[014-7])|5(?:1[025]|22|[36][25]|4[28]|5[12]|[78]1)|6(?:12|[2-4]1|5[17]|6[13]|80)|7(?:12|3[134]|4[47]|61|88)|8(?:16|2[014]|3[126]|6[136]|7[078]|8[34]|91)|(?:43|59|75)[15]|(?:1[59]|29|67|72)[14]\",\"1(?:2[0-24]|3[0-25]|4[145]|[59][14]|6[1-9]|7[1257]|8[1-57-9])|2(?:1[257]|3[013]|4[01]|5[0137]|6[058]|78|8[1568]|9[14])|3(?:26|4[1-3]|5[34]|6[01489]|7[02-46]|8[159])|4(?:1[36]|2[1-47]|3[15]|5[12]|6[0-26-9]|7[0-24-9]|8[013-57]|9[014-7])|5(?:1[025]|22|[36][25]|4[28]|[578]1|9[15])|674|7(?:(?:2[14]|3[34]|5[15])[2-6]|61[346]|88[0-8])|8(?:70[2-6]|84[235-7]|91[3-7])|(?:1(?:29|60|8[06])|261|552|6(?:12|[2-47]1|5[17]|6[13]|80)|7(?:12|31|4[47])|8(?:16|2[014]|3[126]|6[136]|7[78]|83))[2-7]\",\"1(?:2[0-24]|3[0-25]|4[145]|[59][14]|6[1-9]|7[1257]|8[1-57-9])|2(?:1[257]|3[013]|4[01]|5[0137]|6[058]|78|8[1568]|9[14])|3(?:26|4[1-3]|5[34]|6[01489]|7[02-46]|8[159])|4(?:1[36]|2[1-47]|3[15]|5[12]|6[0-26-9]|7[0-24-9]|8[013-57]|9[014-7])|5(?:1[025]|22|[36][25]|4[28]|[578]1|9[15])|6(?:12(?:[2-6]|7[0-8])|74[2-7])|7(?:(?:2[14]|5[15])[2-6]|3171|61[346]|88(?:[2-7]|82))|8(?:70[2-6]|84(?:[2356]|7[19])|91(?:[3-6]|7[19]))|73[134][2-6]|(?:74[47]|8(?:16|2[014]|3[126]|6[136]|7[78]|83))(?:[2-6]|7[19])|(?:1(?:29|60|8[06])|261|552|6(?:[2-4]1|5[17]|6[13]|7(?:1|4[0189])|80)|7(?:12|88[01]))[2-7]\"],\"0$1\",1],[\"(\\\\d{4})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"1(?:[2-479]|5[0235-9])|[2-5]|6(?:1[1358]|2[2457-9]|3[2-5]|4[235-7]|5[2-689]|6[24578]|7[235689]|8[1-6])|7(?:1[013-9]|28|3[129]|4[1-35689]|5[29]|6[02-5]|70)|807\",\"1(?:[2-479]|5[0235-9])|[2-5]|6(?:1[1358]|2(?:[2457]|84|95)|3(?:[2-4]|55)|4[235-7]|5[2-689]|6[24578]|7[235689]|8[1-6])|7(?:1(?:[013-8]|9[6-9])|28[6-8]|3(?:17|2[0-49]|9[2-57])|4(?:1[2-4]|[29][0-7]|3[0-8]|[56]|8[0-24-7])|5(?:2[1-3]|9[0-6])|6(?:0[5689]|2[5-9]|3[02-8]|4|5[0-367])|70[13-7])|807[19]\",\"1(?:[2-479]|5(?:[0236-9]|5[013-9]))|[2-5]|6(?:2(?:84|95)|355|83)|73179|807(?:1|9[1-3])|(?:1552|6(?:1[1358]|2[2457]|3[2-4]|4[235-7]|5[2-689]|6[24578]|7[235689]|8[124-6])\\\\d|7(?:1(?:[013-8]\\\\d|9[6-9])|28[6-8]|3(?:2[0-49]|9[2-57])|4(?:1[2-4]|[29][0-7]|3[0-8]|[56]\\\\d|8[0-24-7])|5(?:2[1-3]|9[0-6])|6(?:0[5689]|2[5-9]|3[02-8]|4\\\\d|5[0-367])|70[13-7]))[2-7]\"],\"0$1\",1],[\"(\\\\d{5})(\\\\d{5})\",\"$1 $2\",[\"[6-9]\"],\"0$1\",1],[\"(\\\\d{4})(\\\\d{2,4})(\\\\d{4})\",\"$1 $2 $3\",[\"1(?:6|8[06])\",\"1(?:6|8[06]0)\"],0,1],[\"(\\\\d{4})(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3 $4\",[\"18\"],0,1]],\"0\"],\"IO\":[\"246\",\"00\",\"3\\\\d{6}\",[7],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"3\"]]]],\"IQ\":[\"964\",\"00\",\"(?:1|7\\\\d\\\\d)\\\\d{7}|[2-6]\\\\d{7,8}\",[8,9,10],[[\"(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"1\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[2-6]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"7\"],\"0$1\"]],\"0\"],\"IR\":[\"98\",\"00\",\"[1-9]\\\\d{9}|(?:[1-8]\\\\d\\\\d|9)\\\\d{3,4}\",[4,5,6,7,10],[[\"(\\\\d{4,5})\",\"$1\",[\"96\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{4,5})\",\"$1 $2\",[\"(?:1[137]|2[13-68]|3[1458]|4[145]|5[1468]|6[16]|7[1467]|8[13467])[12689]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"9\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"[1-8]\"],\"0$1\"]],\"0\"],\"IS\":[\"354\",\"00|1(?:0(?:01|[12]0)|100)\",\"(?:38\\\\d|[4-9])\\\\d{6}\",[7,9],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[4-9]\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"3\"]]],0,0,0,0,0,0,0,\"00\"],\"IT\":[\"39\",\"00\",\"0\\\\d{5,10}|1\\\\d{8,10}|3(?:[0-8]\\\\d{7,10}|9\\\\d{7,8})|(?:43|55|70)\\\\d{8}|8\\\\d{5}(?:\\\\d{2,4})?\",[6,7,8,9,10,11,12],[[\"(\\\\d{2})(\\\\d{4,6})\",\"$1 $2\",[\"0[26]\"]],[\"(\\\\d{3})(\\\\d{3,6})\",\"$1 $2\",[\"0[13-57-9][0159]|8(?:03|4[17]|9[2-5])\",\"0[13-57-9][0159]|8(?:03|4[17]|9(?:2|3[04]|[45][0-4]))\"]],[\"(\\\\d{4})(\\\\d{2,6})\",\"$1 $2\",[\"0(?:[13-579][2-46-8]|8[236-8])\"]],[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"894\"]],[\"(\\\\d{2})(\\\\d{3,4})(\\\\d{4})\",\"$1 $2 $3\",[\"0[26]|5\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"1(?:44|[679])|[378]|43\"]],[\"(\\\\d{3})(\\\\d{3,4})(\\\\d{4})\",\"$1 $2 $3\",[\"0[13-57-9][0159]|14\"]],[\"(\\\\d{2})(\\\\d{4})(\\\\d{5})\",\"$1 $2 $3\",[\"0[26]\"]],[\"(\\\\d{4})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"0\"]],[\"(\\\\d{3})(\\\\d{4})(\\\\d{4,5})\",\"$1 $2 $3\",[\"3\"]]],0,0,0,0,0,0,[[\"0669[0-79]\\\\d{1,6}|0(?:1(?:[0159]\\\\d|[27][1-5]|31|4[1-4]|6[1356]|8[2-57])|2\\\\d\\\\d|3(?:[0159]\\\\d|2[1-4]|3[12]|[48][1-6]|6[2-59]|7[1-7])|4(?:[0159]\\\\d|[23][1-9]|4[245]|6[1-5]|7[1-4]|81)|5(?:[0159]\\\\d|2[1-5]|3[2-6]|4[1-79]|6[4-6]|7[1-578]|8[3-8])|6(?:[0-57-9]\\\\d|6[0-8])|7(?:[0159]\\\\d|2[12]|3[1-7]|4[2-46]|6[13569]|7[13-6]|8[1-59])|8(?:[0159]\\\\d|2[3-578]|3[1-356]|[6-8][1-5])|9(?:[0159]\\\\d|[238][1-5]|4[12]|6[1-8]|7[1-6]))\\\\d{2,7}\",[6,7,8,9,10,11]],[\"3[2-9]\\\\d{7,8}|(?:31|43)\\\\d{8}\",[9,10]],[\"80(?:0\\\\d{3}|3)\\\\d{3}\",[6,9]],[\"(?:0878\\\\d{3}|89(?:2\\\\d|3[04]|4(?:[0-4]|[5-9]\\\\d\\\\d)|5[0-4]))\\\\d\\\\d|(?:1(?:44|6[346])|89(?:38|5[5-9]|9))\\\\d{6}\",[6,8,9,10]],[\"1(?:78\\\\d|99)\\\\d{6}\",[9,10]],[\"3[2-8]\\\\d{9,10}\",[11,12]],0,0,[\"55\\\\d{8}\",[10]],[\"84(?:[08]\\\\d{3}|[17])\\\\d{3}\",[6,9]]]],\"JE\":[\"44\",\"00\",\"1534\\\\d{6}|(?:[3578]\\\\d|90)\\\\d{8}\",[10],0,\"0\",0,\"([0-24-8]\\\\d{5})$|0\",\"1534$1\",0,0,[[\"1534[0-24-8]\\\\d{5}\"],[\"7(?:(?:(?:50|82)9|937)\\\\d|7(?:00[378]|97\\\\d))\\\\d{5}\"],[\"80(?:07(?:35|81)|8901)\\\\d{4}\"],[\"(?:8(?:4(?:4(?:4(?:05|42|69)|703)|5(?:041|800))|7(?:0002|1206))|90(?:066[59]|1810|71(?:07|55)))\\\\d{4}\"],[\"701511\\\\d{4}\"],0,[\"(?:3(?:0(?:07(?:35|81)|8901)|3\\\\d{4}|4(?:4(?:4(?:05|42|69)|703)|5(?:041|800))|7(?:0002|1206))|55\\\\d{4})\\\\d{4}\"],[\"76(?:464|652)\\\\d{5}|76(?:0[0-28]|2[356]|34|4[01347]|5[49]|6[0-369]|77|8[14]|9[139])\\\\d{6}\"],[\"56\\\\d{8}\"]]],\"JM\":[\"1\",\"011\",\"(?:[58]\\\\d\\\\d|658|900)\\\\d{7}\",[10],0,\"1\",0,0,0,0,\"658|876\"],\"JO\":[\"962\",\"00\",\"(?:(?:[2689]|7\\\\d)\\\\d|32|53)\\\\d{6}\",[8,9],[[\"(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[2356]|87\"],\"(0$1)\"],[\"(\\\\d{3})(\\\\d{5,6})\",\"$1 $2\",[\"[89]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{7})\",\"$1 $2\",[\"70\"],\"0$1\"],[\"(\\\\d)(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"7\"],\"0$1\"]],\"0\"],\"JP\":[\"81\",\"010\",\"00[1-9]\\\\d{6,14}|[257-9]\\\\d{9}|(?:00|[1-9]\\\\d\\\\d)\\\\d{6}\",[8,9,10,11,12,13,14,15,16,17],[[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1-$2-$3\",[\"(?:12|57|99)0\"],\"0$1\"],[\"(\\\\d{4})(\\\\d)(\\\\d{4})\",\"$1-$2-$3\",[\"1(?:26|3[79]|4[56]|5[4-68]|6[3-5])|499|5(?:76|97)|746|8(?:3[89]|47|51)|9(?:80|9[16])\",\"1(?:267|3(?:7[247]|9[278])|466|5(?:47|58|64)|6(?:3[245]|48|5[4-68]))|499[2468]|5(?:76|97)9|7468|8(?:3(?:8[7-9]|96)|477|51[2-9])|9(?:802|9(?:1[23]|69))|1(?:45|58)[67]\",\"1(?:267|3(?:7[247]|9[278])|466|5(?:47|58|64)|6(?:3[245]|48|5[4-68]))|499[2468]|5(?:769|979[2-69])|7468|8(?:3(?:8[7-9]|96[2457-9])|477|51[2-9])|9(?:802|9(?:1[23]|69))|1(?:45|58)[67]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1-$2-$3\",[\"60\"],\"0$1\"],[\"(\\\\d)(\\\\d{4})(\\\\d{4})\",\"$1-$2-$3\",[\"[36]|4(?:2[09]|7[01])\",\"[36]|4(?:2(?:0|9[02-69])|7(?:0[019]|1))\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1-$2-$3\",[\"1(?:1|5[45]|77|88|9[69])|2(?:2[1-37]|3[0-269]|4[59]|5|6[24]|7[1-358]|8[1369]|9[0-38])|4(?:[28][1-9]|3[0-57]|[45]|6[248]|7[2-579]|9[29])|5(?:2|3[0459]|4[0-369]|5[29]|8[02389]|9[0-389])|7(?:2[02-46-9]|34|[58]|6[0249]|7[57]|9[2-6])|8(?:2[124589]|3[26-9]|49|51|6|7[0-468]|8[68]|9[019])|9(?:[23][1-9]|4[15]|5[138]|6[1-3]|7[156]|8[189]|9[1-489])\",\"1(?:1|5(?:4[018]|5[017])|77|88|9[69])|2(?:2(?:[127]|3[014-9])|3[0-269]|4[59]|5(?:[1-3]|5[0-69]|9[19])|62|7(?:[1-35]|8[0189])|8(?:[16]|3[0134]|9[0-5])|9(?:[028]|17))|4(?:2(?:[13-79]|8[014-6])|3[0-57]|[45]|6[248]|7[2-47]|8[1-9]|9[29])|5(?:2|3(?:[045]|9[0-8])|4[0-369]|5[29]|8[02389]|9[0-3])|7(?:2[02-46-9]|34|[58]|6[0249]|7[57]|9(?:[23]|4[0-59]|5[01569]|6[0167]))|8(?:2(?:[1258]|4[0-39]|9[0-2469])|3(?:[29]|60)|49|51|6(?:[0-24]|36|5[0-3589]|7[23]|9[01459])|7[0-468]|8[68])|9(?:[23][1-9]|4[15]|5[138]|6[1-3]|7[156]|8[189]|9(?:[1289]|3[34]|4[0178]))|(?:264|837)[016-9]|2(?:57|93)[015-9]|(?:25[0468]|422|838)[01]|(?:47[59]|59[89]|8(?:6[68]|9))[019]\",\"1(?:1|5(?:4[018]|5[017])|77|88|9[69])|2(?:2[127]|3[0-269]|4[59]|5(?:[1-3]|5[0-69]|9(?:17|99))|6(?:2|4[016-9])|7(?:[1-35]|8[0189])|8(?:[16]|3[0134]|9[0-5])|9(?:[028]|17))|4(?:2(?:[13-79]|8[014-6])|3[0-57]|[45]|6[248]|7[2-47]|9[29])|5(?:2|3(?:[045]|9(?:[0-58]|6[4-9]|7[0-35689]))|4[0-369]|5[29]|8[02389]|9[0-3])|7(?:2[02-46-9]|34|[58]|6[0249]|7[57]|9(?:[23]|4[0-59]|5[01569]|6[0167]))|8(?:2(?:[1258]|4[0-39]|9[0169])|3(?:[29]|60|7(?:[017-9]|6[6-8]))|49|51|6(?:[0-24]|36[2-57-9]|5(?:[0-389]|5[23])|6(?:[01]|9[178])|7(?:2[2-468]|3[78])|9[0145])|7[0-468]|8[68])|9(?:4[15]|5[138]|7[156]|8[189]|9(?:[1289]|3(?:31|4[357])|4[0178]))|(?:8294|96)[1-3]|2(?:57|93)[015-9]|(?:223|8699)[014-9]|(?:25[0468]|422|838)[01]|(?:48|8292|9[23])[1-9]|(?:47[59]|59[89]|8(?:68|9))[019]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{4})\",\"$1-$2-$3\",[\"[14]|[289][2-9]|5[3-9]|7[2-4679]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1-$2-$3\",[\"800\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$1-$2-$3\",[\"[257-9]\"],\"0$1\"]],\"0\",0,\"(000[259]\\\\d{6})$|(?:(?:003768)0?)|0\",\"$1\"],\"KE\":[\"254\",\"000\",\"(?:[17]\\\\d\\\\d|900)\\\\d{6}|(?:2|80)0\\\\d{6,7}|[4-6]\\\\d{6,8}\",[7,8,9,10],[[\"(\\\\d{2})(\\\\d{5,7})\",\"$1 $2\",[\"[24-6]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{6})\",\"$1 $2\",[\"[17]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[89]\"],\"0$1\"]],\"0\"],\"KG\":[\"996\",\"00\",\"8\\\\d{9}|[235-9]\\\\d{8}\",[9,10],[[\"(\\\\d{4})(\\\\d{5})\",\"$1 $2\",[\"3(?:1[346]|[24-79])\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[235-79]|88\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d)(\\\\d{2,3})\",\"$1 $2 $3 $4\",[\"8\"],\"0$1\"]],\"0\"],\"KH\":[\"855\",\"00[14-9]\",\"1\\\\d{9}|[1-9]\\\\d{7,8}\",[8,9,10],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[1-9]\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"1\"]]],\"0\"],\"KI\":[\"686\",\"00\",\"(?:[37]\\\\d|6[0-79])\\\\d{6}|(?:[2-48]\\\\d|50)\\\\d{3}\",[5,8],0,\"0\"],\"KM\":[\"269\",\"00\",\"[3478]\\\\d{6}\",[7],[[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3\",[\"[3478]\"]]]],\"KN\":[\"1\",\"011\",\"(?:[58]\\\\d\\\\d|900)\\\\d{7}\",[10],0,\"1\",0,\"([2-7]\\\\d{6})$|1\",\"869$1\",0,\"869\"],\"KP\":[\"850\",\"00|99\",\"85\\\\d{6}|(?:19\\\\d|[2-7])\\\\d{7}\",[8,10],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"8\"],\"0$1\"],[\"(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[2-7]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"1\"],\"0$1\"]],\"0\"],\"KR\":[\"82\",\"00(?:[125689]|3(?:[46]5|91)|7(?:00|27|3|55|6[126]))\",\"00[1-9]\\\\d{8,11}|(?:[12]|5\\\\d{3})\\\\d{7}|[13-6]\\\\d{9}|(?:[1-6]\\\\d|80)\\\\d{7}|[3-6]\\\\d{4,5}|(?:00|7)0\\\\d{8}\",[5,6,8,9,10,11,12,13,14],[[\"(\\\\d{2})(\\\\d{3,4})\",\"$1-$2\",[\"(?:3[1-3]|[46][1-4]|5[1-5])1\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{4})\",\"$1-$2\",[\"1\"]],[\"(\\\\d)(\\\\d{3,4})(\\\\d{4})\",\"$1-$2-$3\",[\"2\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1-$2-$3\",[\"[36]0|8\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3,4})(\\\\d{4})\",\"$1-$2-$3\",[\"[1346]|5[1-5]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$1-$2-$3\",[\"[57]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{5})(\\\\d{4})\",\"$1-$2-$3\",[\"5\"],\"0$1\"]],\"0\",0,\"0(8(?:[1-46-8]|5\\\\d\\\\d))?\"],\"KW\":[\"965\",\"00\",\"18\\\\d{5}|(?:[2569]\\\\d|41)\\\\d{6}\",[7,8],[[\"(\\\\d{4})(\\\\d{3,4})\",\"$1 $2\",[\"[169]|2(?:[235]|4[1-35-9])|52\"]],[\"(\\\\d{3})(\\\\d{5})\",\"$1 $2\",[\"[245]\"]]]],\"KY\":[\"1\",\"011\",\"(?:345|[58]\\\\d\\\\d|900)\\\\d{7}\",[10],0,\"1\",0,\"([2-9]\\\\d{6})$|1\",\"345$1\",0,\"345\"],\"KZ\":[\"7\",\"810\",\"(?:33622|8\\\\d{8})\\\\d{5}|[78]\\\\d{9}\",[10,14],0,\"8\",0,0,0,0,\"33|7\",0,\"8~10\"],\"LA\":[\"856\",\"00\",\"[23]\\\\d{9}|3\\\\d{8}|(?:[235-8]\\\\d|41)\\\\d{6}\",[8,9,10],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"2[13]|3[14]|[4-8]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3 $4\",[\"30[0135-9]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3 $4\",[\"[23]\"],\"0$1\"]],\"0\"],\"LB\":[\"961\",\"00\",\"[27-9]\\\\d{7}|[13-9]\\\\d{6}\",[7,8],[[\"(\\\\d)(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[13-69]|7(?:[2-57]|62|8[0-7]|9[04-9])|8[02-9]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[27-9]\"]]],\"0\"],\"LC\":[\"1\",\"011\",\"(?:[58]\\\\d\\\\d|758|900)\\\\d{7}\",[10],0,\"1\",0,\"([2-8]\\\\d{6})$|1\",\"758$1\",0,\"758\"],\"LI\":[\"423\",\"00\",\"[68]\\\\d{8}|(?:[2378]\\\\d|90)\\\\d{5}\",[7,9],[[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3\",[\"[2379]|8(?:0[09]|7)\",\"[2379]|8(?:0(?:02|9)|7)\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"8\"]],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"69\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"6\"]]],\"0\",0,\"(1001)|0\"],\"LK\":[\"94\",\"00\",\"[1-9]\\\\d{8}\",[9],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"7\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[1-689]\"],\"0$1\"]],\"0\"],\"LR\":[\"231\",\"00\",\"(?:[245]\\\\d|33|77|88)\\\\d{7}|(?:2\\\\d|[4-6])\\\\d{6}\",[7,8,9],[[\"(\\\\d)(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"4[67]|[56]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"2\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[2-578]\"],\"0$1\"]],\"0\"],\"LS\":[\"266\",\"00\",\"(?:[256]\\\\d\\\\d|800)\\\\d{5}\",[8],[[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[2568]\"]]]],\"LT\":[\"370\",\"00\",\"(?:[3469]\\\\d|52|[78]0)\\\\d{6}\",[8],[[\"(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"52[0-7]\"],\"(0-$1)\",1],[\"(\\\\d{3})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3\",[\"[7-9]\"],\"0 $1\",1],[\"(\\\\d{2})(\\\\d{6})\",\"$1 $2\",[\"37|4(?:[15]|6[1-8])\"],\"(0-$1)\",1],[\"(\\\\d{3})(\\\\d{5})\",\"$1 $2\",[\"[3-6]\"],\"(0-$1)\",1]],\"0\",0,\"[08]\"],\"LU\":[\"352\",\"00\",\"35[013-9]\\\\d{4,8}|6\\\\d{8}|35\\\\d{2,4}|(?:[2457-9]\\\\d|3[0-46-9])\\\\d{2,9}\",[4,5,6,7,8,9,10,11],[[\"(\\\\d{2})(\\\\d{3})\",\"$1 $2\",[\"2(?:0[2-689]|[2-9])|[3-57]|8(?:0[2-9]|[13-9])|9(?:0[89]|[2-579])\"]],[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3\",[\"2(?:0[2-689]|[2-9])|[3-57]|8(?:0[2-9]|[13-9])|9(?:0[89]|[2-579])\"]],[\"(\\\\d{2})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3\",[\"20[2-689]\"]],[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{1,2})\",\"$1 $2 $3 $4\",[\"2(?:[0367]|4[3-8])\"]],[\"(\\\\d{3})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3\",[\"80[01]|90[015]\"]],[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3 $4\",[\"20\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"6\"]],[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{1,2})\",\"$1 $2 $3 $4 $5\",[\"2(?:[0367]|4[3-8])\"]],[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{1,5})\",\"$1 $2 $3 $4\",[\"[3-57]|8[13-9]|9(?:0[89]|[2-579])|(?:2|80)[2-9]\"]]],0,0,\"(15(?:0[06]|1[12]|[35]5|4[04]|6[26]|77|88|99)\\\\d)\"],\"LV\":[\"371\",\"00\",\"(?:[268]\\\\d|90)\\\\d{6}\",[8],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[269]|8[01]\"]]]],\"LY\":[\"218\",\"00\",\"[2-9]\\\\d{8}\",[9],[[\"(\\\\d{2})(\\\\d{7})\",\"$1-$2\",[\"[2-9]\"],\"0$1\"]],\"0\"],\"MA\":[\"212\",\"00\",\"[5-8]\\\\d{8}\",[9],[[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"5[45]\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{5})\",\"$1-$2\",[\"5(?:2[2-46-9]|3[3-9]|9)|8(?:0[89]|92)\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{7})\",\"$1-$2\",[\"8\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{6})\",\"$1-$2\",[\"[5-7]\"],\"0$1\"]],\"0\",0,0,0,0,0,[[\"5(?:2(?:[0-25-79]\\\\d|3[1-578]|4[02-46-8]|8[0235-7])|3(?:[0-47]\\\\d|5[02-9]|6[02-8]|8[014-9]|9[3-9])|(?:4[067]|5[03])\\\\d)\\\\d{5}\"],[\"(?:6(?:[0-79]\\\\d|8[0-247-9])|7(?:[0167]\\\\d|2[0-4]|5[01]|8[0-3]))\\\\d{6}\"],[\"80[0-7]\\\\d{6}\"],[\"89\\\\d{7}\"],0,0,0,0,[\"(?:592(?:4[0-2]|93)|80[89]\\\\d\\\\d)\\\\d{4}\"]]],\"MC\":[\"377\",\"00\",\"(?:[3489]|6\\\\d)\\\\d{7}\",[8,9],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"4\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[389]\"]],[\"(\\\\d)(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4 $5\",[\"6\"],\"0$1\"]],\"0\"],\"MD\":[\"373\",\"00\",\"(?:[235-7]\\\\d|[89]0)\\\\d{6}\",[8],[[\"(\\\\d{3})(\\\\d{5})\",\"$1 $2\",[\"[89]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"22|3\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3\",[\"[25-7]\"],\"0$1\"]],\"0\"],\"ME\":[\"382\",\"00\",\"(?:20|[3-79]\\\\d)\\\\d{6}|80\\\\d{6,7}\",[8,9],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[2-9]\"],\"0$1\"]],\"0\"],\"MF\":[\"590\",\"00\",\"590\\\\d{6}|(?:69|80|9\\\\d)\\\\d{7}\",[9],0,\"0\",0,0,0,0,0,[[\"590(?:0[079]|[14]3|[27][79]|3[03-7]|5[0-268]|87)\\\\d{4}\"],[\"69(?:0\\\\d\\\\d|1(?:2[2-9]|3[0-5])|4(?:0[89]|1[2-6]|9\\\\d)|6(?:1[016-9]|5[0-4]|[67]\\\\d))\\\\d{4}\"],[\"80[0-5]\\\\d{6}\"],0,0,0,0,0,[\"9(?:(?:39[5-7]|76[018])\\\\d|475[0-5])\\\\d{4}\"]]],\"MG\":[\"261\",\"00\",\"[23]\\\\d{8}\",[9],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{3})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[23]\"],\"0$1\"]],\"0\",0,\"([24-9]\\\\d{6})$|0\",\"20$1\"],\"MH\":[\"692\",\"011\",\"329\\\\d{4}|(?:[256]\\\\d|45)\\\\d{5}\",[7],[[\"(\\\\d{3})(\\\\d{4})\",\"$1-$2\",[\"[2-6]\"]]],\"1\"],\"MK\":[\"389\",\"00\",\"[2-578]\\\\d{7}\",[8],[[\"(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"2|34[47]|4(?:[37]7|5[47]|64)\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[347]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d)(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[58]\"],\"0$1\"]],\"0\"],\"ML\":[\"223\",\"00\",\"[24-9]\\\\d{7}\",[8],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[24-9]\"]]]],\"MM\":[\"95\",\"00\",\"1\\\\d{5,7}|95\\\\d{6}|(?:[4-7]|9[0-46-9])\\\\d{6,8}|(?:2|8\\\\d)\\\\d{5,8}\",[6,7,8,9,10],[[\"(\\\\d)(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3\",[\"16|2\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3\",[\"4(?:[2-46]|5[3-5])|5|6(?:[1-689]|7[235-7])|7(?:[0-4]|5[2-7])|8[1-5]|(?:60|86)[23]\"],\"0$1\"],[\"(\\\\d)(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[12]|452|678|86\",\"[12]|452|6788|86\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[4-7]|8[1-35]\"],\"0$1\"],[\"(\\\\d)(\\\\d{3})(\\\\d{4,6})\",\"$1 $2 $3\",[\"9(?:2[0-4]|[35-9]|4[137-9])\"],\"0$1\"],[\"(\\\\d)(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"2\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"8\"],\"0$1\"],[\"(\\\\d)(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3 $4\",[\"92\"],\"0$1\"],[\"(\\\\d)(\\\\d{5})(\\\\d{4})\",\"$1 $2 $3\",[\"9\"],\"0$1\"]],\"0\"],\"MN\":[\"976\",\"001\",\"[12]\\\\d{7,9}|[5-9]\\\\d{7}\",[8,9,10],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{4})\",\"$1 $2 $3\",[\"[12]1\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[5-9]\"]],[\"(\\\\d{3})(\\\\d{5,6})\",\"$1 $2\",[\"[12]2[1-3]\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{5,6})\",\"$1 $2\",[\"[12](?:27|3[2-8]|4[2-68]|5[1-4689])\",\"[12](?:27|3[2-8]|4[2-68]|5[1-4689])[0-3]\"],\"0$1\"],[\"(\\\\d{5})(\\\\d{4,5})\",\"$1 $2\",[\"[12]\"],\"0$1\"]],\"0\"],\"MO\":[\"853\",\"00\",\"0800\\\\d{3}|(?:28|[68]\\\\d)\\\\d{6}\",[7,8],[[\"(\\\\d{4})(\\\\d{3})\",\"$1 $2\",[\"0\"]],[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[268]\"]]]],\"MP\":[\"1\",\"011\",\"[58]\\\\d{9}|(?:67|90)0\\\\d{7}\",[10],0,\"1\",0,\"([2-9]\\\\d{6})$|1\",\"670$1\",0,\"670\"],\"MQ\":[\"596\",\"00\",\"596\\\\d{6}|(?:69|80|9\\\\d)\\\\d{7}\",[9],[[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[569]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"8\"],\"0$1\"]],\"0\"],\"MR\":[\"222\",\"00\",\"(?:[2-4]\\\\d\\\\d|800)\\\\d{5}\",[8],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[2-48]\"]]]],\"MS\":[\"1\",\"011\",\"(?:[58]\\\\d\\\\d|664|900)\\\\d{7}\",[10],0,\"1\",0,\"([34]\\\\d{6})$|1\",\"664$1\",0,\"664\"],\"MT\":[\"356\",\"00\",\"3550\\\\d{4}|(?:[2579]\\\\d\\\\d|800)\\\\d{5}\",[8],[[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[2357-9]\"]]]],\"MU\":[\"230\",\"0(?:0|[24-7]0|3[03])\",\"(?:[57]|8\\\\d\\\\d)\\\\d{7}|[2-468]\\\\d{6}\",[7,8,10],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[2-46]|8[013]\"]],[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[57]\"]],[\"(\\\\d{5})(\\\\d{5})\",\"$1 $2\",[\"8\"]]],0,0,0,0,0,0,0,\"020\"],\"MV\":[\"960\",\"0(?:0|19)\",\"(?:800|9[0-57-9]\\\\d)\\\\d{7}|[34679]\\\\d{6}\",[7,10],[[\"(\\\\d{3})(\\\\d{4})\",\"$1-$2\",[\"[34679]\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[89]\"]]],0,0,0,0,0,0,0,\"00\"],\"MW\":[\"265\",\"00\",\"(?:[1289]\\\\d|31|77)\\\\d{7}|1\\\\d{6}\",[7,9],[[\"(\\\\d)(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"1[2-9]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"2\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[137-9]\"],\"0$1\"]],\"0\"],\"MX\":[\"52\",\"0[09]\",\"[2-9]\\\\d{9}\",[10],[[\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"33|5[56]|81\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[2-9]\"]]],0,0,0,0,0,0,0,\"00\"],\"MY\":[\"60\",\"00\",\"1\\\\d{8,9}|(?:3\\\\d|[4-9])\\\\d{7}\",[8,9,10],[[\"(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1-$2 $3\",[\"[4-79]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1-$2 $3\",[\"1(?:[02469]|[378][1-9]|53)|8\",\"1(?:[02469]|[37][1-9]|53|8(?:[1-46-9]|5[7-9]))|8\"],\"0$1\"],[\"(\\\\d)(\\\\d{4})(\\\\d{4})\",\"$1-$2 $3\",[\"3\"],\"0$1\"],[\"(\\\\d)(\\\\d{3})(\\\\d{2})(\\\\d{4})\",\"$1-$2-$3-$4\",[\"1(?:[367]|80)\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1-$2 $3\",[\"15\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$1-$2 $3\",[\"1\"],\"0$1\"]],\"0\"],\"MZ\":[\"258\",\"00\",\"(?:2|8\\\\d)\\\\d{7}\",[8,9],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"2|8[2-79]\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"8\"]]]],\"NA\":[\"264\",\"00\",\"[68]\\\\d{7,8}\",[8,9],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"88\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"6\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"87\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"8\"],\"0$1\"]],\"0\"],\"NC\":[\"687\",\"00\",\"(?:050|[2-57-9]\\\\d\\\\d)\\\\d{3}\",[6],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1.$2.$3\",[\"[02-57-9]\"]]]],\"NE\":[\"227\",\"00\",\"[027-9]\\\\d{7}\",[8],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"08\"]],[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[089]|2[013]|7[0467]\"]]]],\"NF\":[\"672\",\"00\",\"[13]\\\\d{5}\",[6],[[\"(\\\\d{2})(\\\\d{4})\",\"$1 $2\",[\"1[0-3]\"]],[\"(\\\\d)(\\\\d{5})\",\"$1 $2\",[\"[13]\"]]],0,0,\"([0-258]\\\\d{4})$\",\"3$1\"],\"NG\":[\"234\",\"009\",\"38\\\\d{6}|[78]\\\\d{9,13}|(?:20|9\\\\d)\\\\d{8}\",[8,10,11,12,13,14],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{2,3})\",\"$1 $2 $3\",[\"3\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[7-9]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"20[129]\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{2})(\\\\d{4})\",\"$1 $2 $3\",[\"2\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{4})(\\\\d{4,5})\",\"$1 $2 $3\",[\"[78]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{5})(\\\\d{5,6})\",\"$1 $2 $3\",[\"[78]\"],\"0$1\"]],\"0\"],\"NI\":[\"505\",\"00\",\"(?:1800|[25-8]\\\\d{3})\\\\d{4}\",[8],[[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[125-8]\"]]]],\"NL\":[\"31\",\"00\",\"(?:[124-7]\\\\d\\\\d|3(?:[02-9]\\\\d|1[0-8]))\\\\d{6}|8\\\\d{6,9}|9\\\\d{6,10}|1\\\\d{4,5}\",[5,6,7,8,9,10,11],[[\"(\\\\d{3})(\\\\d{4,7})\",\"$1 $2\",[\"[89]0\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{7})\",\"$1 $2\",[\"66\"],\"0$1\"],[\"(\\\\d)(\\\\d{8})\",\"$1 $2\",[\"6\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"1[16-8]|2[259]|3[124]|4[17-9]|5[124679]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[1-578]|91\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{5})\",\"$1 $2 $3\",[\"9\"],\"0$1\"]],\"0\"],\"NO\":[\"47\",\"00\",\"(?:0|[2-9]\\\\d{3})\\\\d{4}\",[5,8],[[\"(\\\\d{3})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3\",[\"8\"]],[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[2-79]\"]]],0,0,0,0,0,\"[02-689]|7[0-8]\"],\"NP\":[\"977\",\"00\",\"(?:1\\\\d|9)\\\\d{9}|[1-9]\\\\d{7}\",[8,10,11],[[\"(\\\\d)(\\\\d{7})\",\"$1-$2\",[\"1[2-6]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{6})\",\"$1-$2\",[\"1[01]|[2-8]|9(?:[1-59]|[67][2-6])\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{7})\",\"$1-$2\",[\"9\"]]],\"0\"],\"NR\":[\"674\",\"00\",\"(?:444|(?:55|8\\\\d)\\\\d|666)\\\\d{4}\",[7],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[4-68]\"]]]],\"NU\":[\"683\",\"00\",\"(?:[4-7]|888\\\\d)\\\\d{3}\",[4,7],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"8\"]]]],\"NZ\":[\"64\",\"0(?:0|161)\",\"[1289]\\\\d{9}|50\\\\d{5}(?:\\\\d{2,3})?|[27-9]\\\\d{7,8}|(?:[34]\\\\d|6[0-35-9])\\\\d{6}|8\\\\d{4,6}\",[5,6,7,8,9,10],[[\"(\\\\d{2})(\\\\d{3,8})\",\"$1 $2\",[\"8[1-79]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2,3})\",\"$1 $2 $3\",[\"50[036-8]|8|90\",\"50(?:[0367]|88)|8|90\"],\"0$1\"],[\"(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"24|[346]|7[2-57-9]|9[2-9]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"2(?:10|74)|[589]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3,4})(\\\\d{4})\",\"$1 $2 $3\",[\"1|2[028]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,5})\",\"$1 $2 $3\",[\"2(?:[169]|7[0-35-9])|7\"],\"0$1\"]],\"0\",0,0,0,0,0,0,\"00\"],\"OM\":[\"968\",\"00\",\"(?:1505|[279]\\\\d{3}|500)\\\\d{4}|800\\\\d{5,6}\",[7,8,9],[[\"(\\\\d{3})(\\\\d{4,6})\",\"$1 $2\",[\"[58]\"]],[\"(\\\\d{2})(\\\\d{6})\",\"$1 $2\",[\"2\"]],[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[179]\"]]]],\"PA\":[\"507\",\"00\",\"(?:00800|8\\\\d{3})\\\\d{6}|[68]\\\\d{7}|[1-57-9]\\\\d{6}\",[7,8,10,11],[[\"(\\\\d{3})(\\\\d{4})\",\"$1-$2\",[\"[1-57-9]\"]],[\"(\\\\d{4})(\\\\d{4})\",\"$1-$2\",[\"[68]\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"8\"]]]],\"PE\":[\"51\",\"00|19(?:1[124]|77|90)00\",\"(?:[14-8]|9\\\\d)\\\\d{7}\",[8,9],[[\"(\\\\d{3})(\\\\d{5})\",\"$1 $2\",[\"80\"],\"(0$1)\"],[\"(\\\\d)(\\\\d{7})\",\"$1 $2\",[\"1\"],\"(0$1)\"],[\"(\\\\d{2})(\\\\d{6})\",\"$1 $2\",[\"[4-8]\"],\"(0$1)\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"9\"]]],\"0\",0,0,0,0,0,0,\"00\",\" Anexo \"],\"PF\":[\"689\",\"00\",\"4\\\\d{5}(?:\\\\d{2})?|8\\\\d{7,8}\",[6,8,9],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3\",[\"44\"]],[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"4|8[7-9]\"]],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"8\"]]]],\"PG\":[\"675\",\"00|140[1-3]\",\"(?:180|[78]\\\\d{3})\\\\d{4}|(?:[2-589]\\\\d|64)\\\\d{5}\",[7,8],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"18|[2-69]|85\"]],[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[78]\"]]],0,0,0,0,0,0,0,\"00\"],\"PH\":[\"63\",\"00\",\"(?:[2-7]|9\\\\d)\\\\d{8}|2\\\\d{5}|(?:1800|8)\\\\d{7,9}\",[6,8,9,10,11,12,13],[[\"(\\\\d)(\\\\d{5})\",\"$1 $2\",[\"2\"],\"(0$1)\"],[\"(\\\\d{4})(\\\\d{4,6})\",\"$1 $2\",[\"3(?:23|39|46)|4(?:2[3-6]|[35]9|4[26]|76)|544|88[245]|(?:52|64|86)2\",\"3(?:230|397|461)|4(?:2(?:35|[46]4|51)|396|4(?:22|63)|59[347]|76[15])|5(?:221|446)|642[23]|8(?:622|8(?:[24]2|5[13]))\"],\"(0$1)\"],[\"(\\\\d{5})(\\\\d{4})\",\"$1 $2\",[\"346|4(?:27|9[35])|883\",\"3469|4(?:279|9(?:30|56))|8834\"],\"(0$1)\"],[\"(\\\\d)(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"2\"],\"(0$1)\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[3-7]|8[2-8]\"],\"(0$1)\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[89]\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"1\"]],[\"(\\\\d{4})(\\\\d{1,2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3 $4\",[\"1\"]]],\"0\"],\"PK\":[\"92\",\"00\",\"122\\\\d{6}|[24-8]\\\\d{10,11}|9(?:[013-9]\\\\d{8,10}|2(?:[01]\\\\d\\\\d|2(?:[06-8]\\\\d|1[01]))\\\\d{7})|(?:[2-8]\\\\d{3}|92(?:[0-7]\\\\d|8[1-9]))\\\\d{6}|[24-9]\\\\d{8}|[89]\\\\d{7}\",[8,9,10,11,12],[[\"(\\\\d{3})(\\\\d{3})(\\\\d{2,7})\",\"$1 $2 $3\",[\"[89]0\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{5})\",\"$1 $2\",[\"1\"]],[\"(\\\\d{3})(\\\\d{6,7})\",\"$1 $2\",[\"2(?:3[2358]|4[2-4]|9[2-8])|45[3479]|54[2-467]|60[468]|72[236]|8(?:2[2-689]|3[23578]|4[3478]|5[2356])|9(?:2[2-8]|3[27-9]|4[2-6]|6[3569]|9[25-8])\",\"9(?:2[3-8]|98)|(?:2(?:3[2358]|4[2-4]|9[2-8])|45[3479]|54[2-467]|60[468]|72[236]|8(?:2[2-689]|3[23578]|4[3478]|5[2356])|9(?:22|3[27-9]|4[2-6]|6[3569]|9[25-7]))[2-9]\"],\"(0$1)\"],[\"(\\\\d{2})(\\\\d{7,8})\",\"$1 $2\",[\"(?:2[125]|4[0-246-9]|5[1-35-7]|6[1-8]|7[14]|8[16]|91)[2-9]\"],\"(0$1)\"],[\"(\\\\d{5})(\\\\d{5})\",\"$1 $2\",[\"58\"],\"(0$1)\"],[\"(\\\\d{3})(\\\\d{7})\",\"$1 $2\",[\"3\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3 $4\",[\"2[125]|4[0-246-9]|5[1-35-7]|6[1-8]|7[14]|8[16]|91\"],\"(0$1)\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3 $4\",[\"[24-9]\"],\"(0$1)\"]],\"0\"],\"PL\":[\"48\",\"00\",\"(?:6|8\\\\d\\\\d)\\\\d{7}|[1-9]\\\\d{6}(?:\\\\d{2})?|[26]\\\\d{5}\",[6,7,8,9,10],[[\"(\\\\d{5})\",\"$1\",[\"19\"]],[\"(\\\\d{3})(\\\\d{3})\",\"$1 $2\",[\"11|20|64\"]],[\"(\\\\d{2})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3\",[\"(?:1[2-8]|2[2-69]|3[2-4]|4[1-468]|5[24-689]|6[1-3578]|7[14-7]|8[1-79]|9[145])1\",\"(?:1[2-8]|2[2-69]|3[2-4]|4[1-468]|5[24-689]|6[1-3578]|7[14-7]|8[1-79]|9[145])19\"]],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2,3})\",\"$1 $2 $3\",[\"64\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"21|39|45|5[0137]|6[0469]|7[02389]|8(?:0[14]|8)\"]],[\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"1[2-8]|[2-7]|8[1-79]|9[145]\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"8\"]]]],\"PM\":[\"508\",\"00\",\"[45]\\\\d{5}|(?:708|80\\\\d)\\\\d{6}\",[6,9],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3\",[\"[45]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"7\"]],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"8\"],\"0$1\"]],\"0\"],\"PR\":[\"1\",\"011\",\"(?:[589]\\\\d\\\\d|787)\\\\d{7}\",[10],0,\"1\",0,0,0,0,\"787|939\"],\"PS\":[\"970\",\"00\",\"[2489]2\\\\d{6}|(?:1\\\\d|5)\\\\d{8}\",[8,9,10],[[\"(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[2489]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"5\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"1\"]]],\"0\"],\"PT\":[\"351\",\"00\",\"1693\\\\d{5}|(?:[26-9]\\\\d|30)\\\\d{7}\",[9],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"2[12]\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"16|[236-9]\"]]]],\"PW\":[\"680\",\"01[12]\",\"(?:[24-8]\\\\d\\\\d|345|900)\\\\d{4}\",[7],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[2-9]\"]]]],\"PY\":[\"595\",\"00\",\"59\\\\d{4,6}|9\\\\d{5,10}|(?:[2-46-8]\\\\d|5[0-8])\\\\d{4,7}\",[6,7,8,9,10,11],[[\"(\\\\d{3})(\\\\d{3,6})\",\"$1 $2\",[\"[2-9]0\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{5})\",\"$1 $2\",[\"[26]1|3[289]|4[1246-8]|7[1-3]|8[1-36]\"],\"(0$1)\"],[\"(\\\\d{3})(\\\\d{4,5})\",\"$1 $2\",[\"2[279]|3[13-5]|4[359]|5|6(?:[34]|7[1-46-8])|7[46-8]|85\"],\"(0$1)\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"2[14-68]|3[26-9]|4[1246-8]|6(?:1|75)|7[1-35]|8[1-36]\"],\"(0$1)\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"87\"]],[\"(\\\\d{3})(\\\\d{6})\",\"$1 $2\",[\"9(?:[5-79]|8[1-7])\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[2-8]\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"9\"]]],\"0\"],\"QA\":[\"974\",\"00\",\"800\\\\d{4}|(?:2|800)\\\\d{6}|(?:0080|[3-7])\\\\d{7}\",[7,8,9,11],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"2[16]|8\"]],[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[3-7]\"]]]],\"RE\":[\"262\",\"00\",\"(?:26|[689]\\\\d)\\\\d{7}\",[9],[[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[2689]\"],\"0$1\"]],\"0\",0,0,0,0,0,[[\"26(?:2\\\\d\\\\d|3(?:0\\\\d|1[0-6]))\\\\d{4}\"],[\"69(?:2\\\\d\\\\d|3(?:[06][0-6]|1[013]|2[0-2]|3[0-39]|4\\\\d|5[0-5]|7[0-37]|8[0-8]|9[0-479]))\\\\d{4}\"],[\"80\\\\d{7}\"],[\"89[1-37-9]\\\\d{6}\"],0,0,0,0,[\"9(?:399[0-3]|479[0-5]|76(?:2[278]|3[0-37]))\\\\d{4}\"],[\"8(?:1[019]|2[0156]|84|90)\\\\d{6}\"]]],\"RO\":[\"40\",\"00\",\"(?:[236-8]\\\\d|90)\\\\d{7}|[23]\\\\d{5}\",[6,9],[[\"(\\\\d{3})(\\\\d{3})\",\"$1 $2\",[\"2[3-6]\",\"2[3-6]\\\\d9\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{4})\",\"$1 $2\",[\"219|31\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[23]1\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[236-9]\"],\"0$1\"]],\"0\",0,0,0,0,0,0,0,\" int \"],\"RS\":[\"381\",\"00\",\"38[02-9]\\\\d{6,9}|6\\\\d{7,9}|90\\\\d{4,8}|38\\\\d{5,6}|(?:7\\\\d\\\\d|800)\\\\d{3,9}|(?:[12]\\\\d|3[0-79])\\\\d{5,10}\",[6,7,8,9,10,11,12],[[\"(\\\\d{3})(\\\\d{3,9})\",\"$1 $2\",[\"(?:2[389]|39)0|[7-9]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{5,10})\",\"$1 $2\",[\"[1-36]\"],\"0$1\"]],\"0\"],\"RU\":[\"7\",\"810\",\"8\\\\d{13}|[347-9]\\\\d{9}\",[10,14],[[\"(\\\\d{4})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"7(?:1[0-8]|2[1-9])\",\"7(?:1(?:[0-356]2|4[29]|7|8[27])|2(?:1[23]|[2-9]2))\",\"7(?:1(?:[0-356]2|4[29]|7|8[27])|2(?:13[03-69]|62[013-9]))|72[1-57-9]2\"],\"8 ($1)\",1],[\"(\\\\d{5})(\\\\d)(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"7(?:1[0-68]|2[1-9])\",\"7(?:1(?:[06][3-6]|[18]|2[35]|[3-5][3-5])|2(?:[13][3-5]|[24-689]|7[457]))\",\"7(?:1(?:0(?:[356]|4[023])|[18]|2(?:3[013-9]|5)|3[45]|43[013-79]|5(?:3[1-8]|4[1-7]|5)|6(?:3[0-35-9]|[4-6]))|2(?:1(?:3[178]|[45])|[24-689]|3[35]|7[457]))|7(?:14|23)4[0-8]|71(?:33|45)[1-79]\"],\"8 ($1)\",1],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"7\"],\"8 ($1)\",1],[\"(\\\\d{3})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2-$3-$4\",[\"[349]|8(?:[02-7]|1[1-8])\"],\"8 ($1)\",1],[\"(\\\\d{4})(\\\\d{4})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3 $4\",[\"8\"],\"8 ($1)\"]],\"8\",0,0,0,0,\"3[04-689]|[489]\",0,\"8~10\"],\"RW\":[\"250\",\"00\",\"(?:06|[27]\\\\d\\\\d|[89]00)\\\\d{6}\",[8,9],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"0\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"2\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[7-9]\"],\"0$1\"]],\"0\"],\"SA\":[\"966\",\"00\",\"92\\\\d{7}|(?:[15]|8\\\\d)\\\\d{8}\",[9,10],[[\"(\\\\d{4})(\\\\d{5})\",\"$1 $2\",[\"9\"]],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"1\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"5\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"81\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"8\"]]],\"0\"],\"SB\":[\"677\",\"0[01]\",\"[6-9]\\\\d{6}|[1-6]\\\\d{4}\",[5,7],[[\"(\\\\d{2})(\\\\d{5})\",\"$1 $2\",[\"6[89]|7|8[4-9]|9(?:[1-8]|9[0-8])\"]]]],\"SC\":[\"248\",\"010|0[0-2]\",\"(?:[2489]\\\\d|64)\\\\d{5}\",[7],[[\"(\\\\d)(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[246]|9[57]\"]]],0,0,0,0,0,0,0,\"00\"],\"SD\":[\"249\",\"00\",\"[19]\\\\d{8}\",[9],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[19]\"],\"0$1\"]],\"0\"],\"SE\":[\"46\",\"00\",\"(?:[26]\\\\d\\\\d|9)\\\\d{9}|[1-9]\\\\d{8}|[1-689]\\\\d{7}|[1-4689]\\\\d{6}|2\\\\d{5}\",[6,7,8,9,10,12],[[\"(\\\\d{2})(\\\\d{2,3})(\\\\d{2})\",\"$1-$2 $3\",[\"20\"],\"0$1\",0,\"$1 $2 $3\"],[\"(\\\\d{3})(\\\\d{4})\",\"$1-$2\",[\"9(?:00|39|44|9)\"],\"0$1\",0,\"$1 $2\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{2})\",\"$1-$2 $3\",[\"[12][136]|3[356]|4[0246]|6[03]|90[1-9]\"],\"0$1\",0,\"$1 $2 $3\"],[\"(\\\\d)(\\\\d{2,3})(\\\\d{2})(\\\\d{2})\",\"$1-$2 $3 $4\",[\"8\"],\"0$1\",0,\"$1 $2 $3 $4\"],[\"(\\\\d{3})(\\\\d{2,3})(\\\\d{2})\",\"$1-$2 $3\",[\"1[2457]|2(?:[247-9]|5[0138])|3[0247-9]|4[1357-9]|5[0-35-9]|6(?:[125689]|4[02-57]|7[0-2])|9(?:[125-8]|3[02-5]|4[0-3])\"],\"0$1\",0,\"$1 $2 $3\"],[\"(\\\\d{3})(\\\\d{2,3})(\\\\d{3})\",\"$1-$2 $3\",[\"9(?:00|39|44)\"],\"0$1\",0,\"$1 $2 $3\"],[\"(\\\\d{2})(\\\\d{2,3})(\\\\d{2})(\\\\d{2})\",\"$1-$2 $3 $4\",[\"1[13689]|2[0136]|3[1356]|4[0246]|54|6[03]|90[1-9]\"],\"0$1\",0,\"$1 $2 $3 $4\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1-$2 $3 $4\",[\"10|7\"],\"0$1\",0,\"$1 $2 $3 $4\"],[\"(\\\\d)(\\\\d{3})(\\\\d{3})(\\\\d{2})\",\"$1-$2 $3 $4\",[\"8\"],\"0$1\",0,\"$1 $2 $3 $4\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1-$2 $3 $4\",[\"[13-5]|2(?:[247-9]|5[0138])|6(?:[124-689]|7[0-2])|9(?:[125-8]|3[02-5]|4[0-3])\"],\"0$1\",0,\"$1 $2 $3 $4\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{3})\",\"$1-$2 $3 $4\",[\"9\"],\"0$1\",0,\"$1 $2 $3 $4\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1-$2 $3 $4 $5\",[\"[26]\"],\"0$1\",0,\"$1 $2 $3 $4 $5\"]],\"0\"],\"SG\":[\"65\",\"0[0-3]\\\\d\",\"(?:(?:1\\\\d|8)\\\\d\\\\d|7000)\\\\d{7}|[3689]\\\\d{7}\",[8,10,11],[[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[369]|8(?:0[1-9]|[1-9])\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"8\"]],[\"(\\\\d{4})(\\\\d{4})(\\\\d{3})\",\"$1 $2 $3\",[\"7\"]],[\"(\\\\d{4})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"1\"]]]],\"SH\":[\"290\",\"00\",\"(?:[256]\\\\d|8)\\\\d{3}\",[4,5],0,0,0,0,0,0,\"[256]\"],\"SI\":[\"386\",\"00|10(?:22|66|88|99)\",\"[1-7]\\\\d{7}|8\\\\d{4,7}|90\\\\d{4,6}\",[5,6,7,8],[[\"(\\\\d{2})(\\\\d{3,6})\",\"$1 $2\",[\"8[09]|9\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{5})\",\"$1 $2\",[\"59|8\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[37][01]|4[0139]|51|6\"],\"0$1\"],[\"(\\\\d)(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[1-57]\"],\"(0$1)\"]],\"0\",0,0,0,0,0,0,\"00\"],\"SJ\":[\"47\",\"00\",\"0\\\\d{4}|(?:[489]\\\\d|79)\\\\d{6}\",[5,8],0,0,0,0,0,0,\"79\"],\"SK\":[\"421\",\"00\",\"[2-689]\\\\d{8}|[2-59]\\\\d{6}|[2-5]\\\\d{5}\",[6,7,9],[[\"(\\\\d)(\\\\d{2})(\\\\d{3,4})\",\"$1 $2 $3\",[\"21\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{2})(\\\\d{2,3})\",\"$1 $2 $3\",[\"[3-5][1-8]1\",\"[3-5][1-8]1[67]\"],\"0$1\"],[\"(\\\\d)(\\\\d{3})(\\\\d{3})(\\\\d{2})\",\"$1/$2 $3 $4\",[\"2\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[689]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1/$2 $3 $4\",[\"[3-5]\"],\"0$1\"]],\"0\"],\"SL\":[\"232\",\"00\",\"(?:[237-9]\\\\d|66)\\\\d{6}\",[8],[[\"(\\\\d{2})(\\\\d{6})\",\"$1 $2\",[\"[236-9]\"],\"(0$1)\"]],\"0\"],\"SM\":[\"378\",\"00\",\"(?:0549|[5-7]\\\\d)\\\\d{6}\",[8,10],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[5-7]\"]],[\"(\\\\d{4})(\\\\d{6})\",\"$1 $2\",[\"0\"]]],0,0,\"([89]\\\\d{5})$\",\"0549$1\"],\"SN\":[\"221\",\"00\",\"(?:[378]\\\\d|93)\\\\d{7}\",[9],[[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"8\"]],[\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[379]\"]]]],\"SO\":[\"252\",\"00\",\"[346-9]\\\\d{8}|[12679]\\\\d{7}|[1-5]\\\\d{6}|[1348]\\\\d{5}\",[6,7,8,9],[[\"(\\\\d{2})(\\\\d{4})\",\"$1 $2\",[\"8[125]\"]],[\"(\\\\d{6})\",\"$1\",[\"[134]\"]],[\"(\\\\d)(\\\\d{6})\",\"$1 $2\",[\"[15]|2[0-79]|3[0-46-8]|4[0-7]\"]],[\"(\\\\d)(\\\\d{7})\",\"$1 $2\",[\"(?:2|90)4|[67]\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[348]|64|79|90\"]],[\"(\\\\d{2})(\\\\d{5,7})\",\"$1 $2\",[\"1|28|6[0-35-9]|77|9[2-9]\"]]],\"0\"],\"SR\":[\"597\",\"00\",\"(?:[2-5]|68|[78]\\\\d)\\\\d{5}\",[6,7],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1-$2-$3\",[\"56\"]],[\"(\\\\d{3})(\\\\d{3})\",\"$1-$2\",[\"[2-5]\"]],[\"(\\\\d{3})(\\\\d{4})\",\"$1-$2\",[\"[6-8]\"]]]],\"SS\":[\"211\",\"00\",\"[19]\\\\d{8}\",[9],[[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[19]\"],\"0$1\"]],\"0\"],\"ST\":[\"239\",\"00\",\"(?:22|9\\\\d)\\\\d{5}\",[7],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[29]\"]]]],\"SV\":[\"503\",\"00\",\"[267]\\\\d{7}|(?:80\\\\d|900)\\\\d{4}(?:\\\\d{4})?\",[7,8,11],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[89]\"]],[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[267]\"]],[\"(\\\\d{3})(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"[89]\"]]]],\"SX\":[\"1\",\"011\",\"7215\\\\d{6}|(?:[58]\\\\d\\\\d|900)\\\\d{7}\",[10],0,\"1\",0,\"(5\\\\d{6})$|1\",\"721$1\",0,\"721\"],\"SY\":[\"963\",\"00\",\"[1-39]\\\\d{8}|[1-5]\\\\d{7}\",[8,9],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[1-5]\"],\"0$1\",1],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"9\"],\"0$1\",1]],\"0\"],\"SZ\":[\"268\",\"00\",\"0800\\\\d{4}|(?:[237]\\\\d|900)\\\\d{6}\",[8,9],[[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[0237]\"]],[\"(\\\\d{5})(\\\\d{4})\",\"$1 $2\",[\"9\"]]]],\"TA\":[\"290\",\"00\",\"8\\\\d{3}\",[4],0,0,0,0,0,0,\"8\"],\"TC\":[\"1\",\"011\",\"(?:[58]\\\\d\\\\d|649|900)\\\\d{7}\",[10],0,\"1\",0,\"([2-479]\\\\d{6})$|1\",\"649$1\",0,\"649\"],\"TD\":[\"235\",\"00|16\",\"(?:22|[689]\\\\d|77)\\\\d{6}\",[8],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[26-9]\"]]],0,0,0,0,0,0,0,\"00\"],\"TG\":[\"228\",\"00\",\"[279]\\\\d{7}\",[8],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[279]\"]]]],\"TH\":[\"66\",\"00[1-9]\",\"(?:001800|[2-57]|[689]\\\\d)\\\\d{7}|1\\\\d{7,9}\",[8,9,10,13],[[\"(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"2\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[13-9]\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"1\"]]],\"0\"],\"TJ\":[\"992\",\"810\",\"[0-57-9]\\\\d{8}\",[9],[[\"(\\\\d{6})(\\\\d)(\\\\d{2})\",\"$1 $2 $3\",[\"331\",\"3317\"]],[\"(\\\\d{3})(\\\\d{2})(\\\\d{4})\",\"$1 $2 $3\",[\"44[02-479]|[34]7\"]],[\"(\\\\d{4})(\\\\d)(\\\\d{4})\",\"$1 $2 $3\",[\"3(?:[1245]|3[12])\"]],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[0-57-9]\"]]],0,0,0,0,0,0,0,\"8~10\"],\"TK\":[\"690\",\"00\",\"[2-47]\\\\d{3,6}\",[4,5,6,7]],\"TL\":[\"670\",\"00\",\"7\\\\d{7}|(?:[2-47]\\\\d|[89]0)\\\\d{5}\",[7,8],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[2-489]|70\"]],[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"7\"]]]],\"TM\":[\"993\",\"810\",\"(?:[1-6]\\\\d|71)\\\\d{6}\",[8],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2-$3-$4\",[\"12\"],\"(8 $1)\"],[\"(\\\\d{3})(\\\\d)(\\\\d{2})(\\\\d{2})\",\"$1 $2-$3-$4\",[\"[1-5]\"],\"(8 $1)\"],[\"(\\\\d{2})(\\\\d{6})\",\"$1 $2\",[\"[67]\"],\"8 $1\"]],\"8\",0,0,0,0,0,0,\"8~10\"],\"TN\":[\"216\",\"00\",\"[2-57-9]\\\\d{7}\",[8],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[2-57-9]\"]]]],\"TO\":[\"676\",\"00\",\"(?:0800|(?:[5-8]\\\\d\\\\d|999)\\\\d)\\\\d{3}|[2-8]\\\\d{4}\",[5,7],[[\"(\\\\d{2})(\\\\d{3})\",\"$1-$2\",[\"[2-4]|50|6[09]|7[0-24-69]|8[05]\"]],[\"(\\\\d{4})(\\\\d{3})\",\"$1 $2\",[\"0\"]],[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[5-9]\"]]]],\"TR\":[\"90\",\"00\",\"4\\\\d{6}|8\\\\d{11,12}|(?:[2-58]\\\\d\\\\d|900)\\\\d{7}\",[7,10,12,13],[[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"512|8[01589]|90\"],\"0$1\",1],[\"(\\\\d{3})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"5(?:[0-59]|61)\",\"5(?:[0-59]|61[06])\",\"5(?:[0-59]|61[06]1)\"],\"0$1\",1],[\"(\\\\d{3})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[24][1-8]|3[1-9]\"],\"(0$1)\",1],[\"(\\\\d{3})(\\\\d{3})(\\\\d{6,7})\",\"$1 $2 $3\",[\"80\"],\"0$1\",1]],\"0\"],\"TT\":[\"1\",\"011\",\"(?:[58]\\\\d\\\\d|900)\\\\d{7}\",[10],0,\"1\",0,\"([2-46-8]\\\\d{6})$|1\",\"868$1\",0,\"868\"],\"TV\":[\"688\",\"00\",\"(?:2|7\\\\d\\\\d|90)\\\\d{4}\",[5,6,7],[[\"(\\\\d{2})(\\\\d{3})\",\"$1 $2\",[\"2\"]],[\"(\\\\d{2})(\\\\d{4})\",\"$1 $2\",[\"90\"]],[\"(\\\\d{2})(\\\\d{5})\",\"$1 $2\",[\"7\"]]]],\"TW\":[\"886\",\"0(?:0[25-79]|19)\",\"[2-689]\\\\d{8}|7\\\\d{9,10}|[2-8]\\\\d{7}|2\\\\d{6}\",[7,8,9,10,11],[[\"(\\\\d{2})(\\\\d)(\\\\d{4})\",\"$1 $2 $3\",[\"202\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[258]0\"],\"0$1\"],[\"(\\\\d)(\\\\d{3,4})(\\\\d{4})\",\"$1 $2 $3\",[\"[23568]|4(?:0[02-48]|[1-47-9])|7[1-9]\",\"[23568]|4(?:0[2-48]|[1-47-9])|(?:400|7)[1-9]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[49]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{4})(\\\\d{4,5})\",\"$1 $2 $3\",[\"7\"],\"0$1\"]],\"0\",0,0,0,0,0,0,0,\"#\"],\"TZ\":[\"255\",\"00[056]\",\"(?:[25-8]\\\\d|41|90)\\\\d{7}\",[9],[[\"(\\\\d{3})(\\\\d{2})(\\\\d{4})\",\"$1 $2 $3\",[\"[89]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[24]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{7})\",\"$1 $2\",[\"5\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[67]\"],\"0$1\"]],\"0\"],\"UA\":[\"380\",\"00\",\"[89]\\\\d{9}|[3-9]\\\\d{8}\",[9,10],[[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"6[12][29]|(?:3[1-8]|4[136-8]|5[12457]|6[49])2|(?:56|65)[24]\",\"6[12][29]|(?:35|4[1378]|5[12457]|6[49])2|(?:56|65)[24]|(?:3[1-46-8]|46)2[013-9]\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{5})\",\"$1 $2\",[\"3[1-8]|4(?:[1367]|[45][6-9]|8[4-6])|5(?:[1-5]|6[0135689]|7[4-6])|6(?:[12][3-7]|[459])\",\"3[1-8]|4(?:[1367]|[45][6-9]|8[4-6])|5(?:[1-5]|6(?:[015689]|3[02389])|7[4-6])|6(?:[12][3-7]|[459])\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[3-7]|89|9[1-9]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[89]\"],\"0$1\"]],\"0\",0,0,0,0,0,0,\"0~0\"],\"UG\":[\"256\",\"00[057]\",\"800\\\\d{6}|(?:[29]0|[347]\\\\d)\\\\d{7}\",[9],[[\"(\\\\d{4})(\\\\d{5})\",\"$1 $2\",[\"202\",\"2024\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{6})\",\"$1 $2\",[\"[27-9]|4(?:6[45]|[7-9])\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{7})\",\"$1 $2\",[\"[34]\"],\"0$1\"]],\"0\"],\"US\":[\"1\",\"011\",\"[2-9]\\\\d{9}|3\\\\d{6}\",[10],[[\"(\\\\d{3})(\\\\d{4})\",\"$1-$2\",[\"310\"],0,1],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"($1) $2-$3\",[\"[2-9]\"],0,1,\"$1-$2-$3\"]],\"1\",0,0,0,0,0,[[\"(?:3052(?:0[0-8]|[1-9]\\\\d)|5056(?:[0-35-9]\\\\d|4[468])|7302[0-4]\\\\d)\\\\d{4}|(?:305[3-9]|472[24]|505[2-57-9]|7306|983[2-47-9])\\\\d{6}|(?:2(?:0[1-35-9]|1[02-9]|2[03-57-9]|3[1459]|4[08]|5[1-46]|6[0279]|7[0269]|8[13])|3(?:0[1-47-9]|1[02-9]|2[013569]|3[0-24679]|4[167]|5[0-2]|6[01349]|8[056])|4(?:0[124-9]|1[02-579]|2[3-5]|3[0245]|4[023578]|58|6[349]|7[0589]|8[04])|5(?:0[1-47-9]|1[0235-8]|20|3[0149]|4[01]|5[179]|6[1-47]|7[0-5]|8[0256])|6(?:0[1-35-9]|1[024-9]|2[03689]|3[016]|4[0156]|5[01679]|6[0-279]|78|8[0-29])|7(?:0[1-46-8]|1[2-9]|2[04-8]|3[1247]|4[037]|5[47]|6[02359]|7[0-59]|8[156])|8(?:0[1-68]|1[02-8]|2[068]|3[0-2589]|4[03578]|5[046-9]|6[02-5]|7[028])|9(?:0[1346-9]|1[02-9]|2[0589]|3[0146-8]|4[01357-9]|5[12469]|7[0-389]|8[04-69]))[2-9]\\\\d{6}\"],[\"\"],[\"8(?:00|33|44|55|66|77|88)[2-9]\\\\d{6}\"],[\"900[2-9]\\\\d{6}\"],[\"52(?:3(?:[2-46-9][02-9]\\\\d|5(?:[02-46-9]\\\\d|5[0-46-9]))|4(?:[2-478][02-9]\\\\d|5(?:[034]\\\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\\\d)|9(?:[05-9]\\\\d|2[0-5]|49)))\\\\d{4}|52[34][2-9]1[02-9]\\\\d{4}|5(?:00|2[125-9]|33|44|66|77|88)[2-9]\\\\d{6}\"],0,0,0,[\"305209\\\\d{4}\"]]],\"UY\":[\"598\",\"0(?:0|1[3-9]\\\\d)\",\"0004\\\\d{2,9}|[1249]\\\\d{7}|(?:[49]\\\\d|80)\\\\d{5}\",[6,7,8,9,10,11,12,13],[[\"(\\\\d{3})(\\\\d{3,4})\",\"$1 $2\",[\"0\"]],[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[49]0|8\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"9\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[124]\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{2,4})\",\"$1 $2 $3\",[\"0\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})(\\\\d{2,4})\",\"$1 $2 $3 $4\",[\"0\"]]],\"0\",0,0,0,0,0,0,\"00\",\" int. \"],\"UZ\":[\"998\",\"00\",\"(?:20|33|[5-79]\\\\d|88)\\\\d{7}\",[9],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[235-9]\"]]]],\"VA\":[\"39\",\"00\",\"0\\\\d{5,10}|3[0-8]\\\\d{7,10}|55\\\\d{8}|8\\\\d{5}(?:\\\\d{2,4})?|(?:1\\\\d|39)\\\\d{7,8}\",[6,7,8,9,10,11,12],0,0,0,0,0,0,\"06698\"],\"VC\":[\"1\",\"011\",\"(?:[58]\\\\d\\\\d|784|900)\\\\d{7}\",[10],0,\"1\",0,\"([2-7]\\\\d{6})$|1\",\"784$1\",0,\"784\"],\"VE\":[\"58\",\"00\",\"[68]00\\\\d{7}|(?:[24]\\\\d|[59]0)\\\\d{8}\",[10],[[\"(\\\\d{3})(\\\\d{7})\",\"$1-$2\",[\"[24-689]\"],\"0$1\"]],\"0\"],\"VG\":[\"1\",\"011\",\"(?:284|[58]\\\\d\\\\d|900)\\\\d{7}\",[10],0,\"1\",0,\"([2-578]\\\\d{6})$|1\",\"284$1\",0,\"284\"],\"VI\":[\"1\",\"011\",\"[58]\\\\d{9}|(?:34|90)0\\\\d{7}\",[10],0,\"1\",0,\"([2-9]\\\\d{6})$|1\",\"340$1\",0,\"340\"],\"VN\":[\"84\",\"00\",\"[12]\\\\d{9}|[135-9]\\\\d{8}|[16]\\\\d{7}|[16-8]\\\\d{6}\",[7,8,9,10],[[\"(\\\\d{2})(\\\\d{5})\",\"$1 $2\",[\"80\"],\"0$1\",1],[\"(\\\\d{4})(\\\\d{4,6})\",\"$1 $2\",[\"1\"],0,1],[\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"6\"],\"0$1\",1],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[357-9]\"],\"0$1\",1],[\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"2[48]\"],\"0$1\",1],[\"(\\\\d{3})(\\\\d{4})(\\\\d{3})\",\"$1 $2 $3\",[\"2\"],\"0$1\",1]],\"0\"],\"VU\":[\"678\",\"00\",\"[57-9]\\\\d{6}|(?:[238]\\\\d|48)\\\\d{3}\",[5,7],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[57-9]\"]]]],\"WF\":[\"681\",\"00\",\"(?:40|72)\\\\d{4}|8\\\\d{5}(?:\\\\d{3})?\",[6,9],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3\",[\"[478]\"]],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"8\"]]]],\"WS\":[\"685\",\"0\",\"(?:[2-6]|8\\\\d{5})\\\\d{4}|[78]\\\\d{6}|[68]\\\\d{5}\",[5,6,7,10],[[\"(\\\\d{5})\",\"$1\",[\"[2-5]|6[1-9]\"]],[\"(\\\\d{3})(\\\\d{3,7})\",\"$1 $2\",[\"[68]\"]],[\"(\\\\d{2})(\\\\d{5})\",\"$1 $2\",[\"7\"]]]],\"XK\":[\"383\",\"00\",\"2\\\\d{7,8}|3\\\\d{7,11}|(?:4\\\\d\\\\d|[89]00)\\\\d{5}\",[8,9,10,11,12],[[\"(\\\\d{3})(\\\\d{5})\",\"$1 $2\",[\"[89]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[2-4]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"2|39\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{7,10})\",\"$1 $2\",[\"3\"],\"0$1\"]],\"0\"],\"YE\":[\"967\",\"00\",\"(?:1|7\\\\d)\\\\d{7}|[1-7]\\\\d{6}\",[7,8,9],[[\"(\\\\d)(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[1-6]|7(?:[24-6]|8[0-7])\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"7\"],\"0$1\"]],\"0\"],\"YT\":[\"262\",\"00\",\"(?:80|9\\\\d)\\\\d{7}|(?:26|63)9\\\\d{6}\",[9],0,\"0\",0,0,0,0,0,[[\"269(?:0[0-467]|15|5[0-4]|6\\\\d|[78]0)\\\\d{4}\"],[\"639(?:0[0-79]|1[019]|[267]\\\\d|3[09]|40|5[05-9]|9[04-79])\\\\d{4}\"],[\"80\\\\d{7}\"],0,0,0,0,0,[\"9(?:(?:39|47)8[01]|769\\\\d)\\\\d{4}\"]]],\"ZA\":[\"27\",\"00\",\"[1-79]\\\\d{8}|8\\\\d{4,9}\",[5,6,7,8,9,10],[[\"(\\\\d{2})(\\\\d{3,4})\",\"$1 $2\",[\"8[1-4]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{2,3})\",\"$1 $2 $3\",[\"8[1-4]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"860\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[1-9]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"8\"],\"0$1\"]],\"0\"],\"ZM\":[\"260\",\"00\",\"800\\\\d{6}|(?:21|63|[79]\\\\d)\\\\d{7}\",[9],[[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[28]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{7})\",\"$1 $2\",[\"[79]\"],\"0$1\"]],\"0\"],\"ZW\":[\"263\",\"00\",\"2(?:[0-57-9]\\\\d{6,8}|6[0-24-9]\\\\d{6,7})|[38]\\\\d{9}|[35-8]\\\\d{8}|[3-6]\\\\d{7}|[1-689]\\\\d{6}|[1-3569]\\\\d{5}|[1356]\\\\d{4}\",[5,6,7,8,9,10],[[\"(\\\\d{3})(\\\\d{3,5})\",\"$1 $2\",[\"2(?:0[45]|2[278]|[49]8)|3(?:[09]8|17)|6(?:[29]8|37|75)|[23][78]|(?:33|5[15]|6[68])[78]\"],\"0$1\"],[\"(\\\\d)(\\\\d{3})(\\\\d{2,4})\",\"$1 $2 $3\",[\"[49]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"80\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{7})\",\"$1 $2\",[\"24|8[13-59]|(?:2[05-79]|39|5[45]|6[15-8])2\",\"2(?:02[014]|4|[56]20|[79]2)|392|5(?:42|525)|6(?:[16-8]21|52[013])|8[13-59]\"],\"(0$1)\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"7\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"2(?:1[39]|2[0157]|[378]|[56][14])|3(?:12|29)\",\"2(?:1[39]|2[0157]|[378]|[56][14])|3(?:123|29)\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{6})\",\"$1 $2\",[\"8\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3,5})\",\"$1 $2\",[\"1|2(?:0[0-36-9]|12|29|[56])|3(?:1[0-689]|[24-6])|5(?:[0236-9]|1[2-4])|6(?:[013-59]|7[0-46-9])|(?:33|55|6[68])[0-69]|(?:29|3[09]|62)[0-79]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"29[013-9]|39|54\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{3,5})\",\"$1 $2\",[\"(?:25|54)8\",\"258|5483\"],\"0$1\"]],\"0\"]},\"nonGeographic\":{\"800\":[\"800\",0,\"(?:00|[1-9]\\\\d)\\\\d{6}\",[8],[[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"\\\\d\"]]],0,0,0,0,0,0,[0,0,[\"(?:00|[1-9]\\\\d)\\\\d{6}\"]]],\"808\":[\"808\",0,\"[1-9]\\\\d{7}\",[8],[[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[1-9]\"]]],0,0,0,0,0,0,[0,0,0,0,0,0,0,0,0,[\"[1-9]\\\\d{7}\"]]],\"870\":[\"870\",0,\"7\\\\d{11}|[35-7]\\\\d{8}\",[9,12],[[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[35-7]\"]]],0,0,0,0,0,0,[0,[\"(?:[356]|774[45])\\\\d{8}|7[6-8]\\\\d{7}\"]]],\"878\":[\"878\",0,\"10\\\\d{10}\",[12],[[\"(\\\\d{2})(\\\\d{5})(\\\\d{5})\",\"$1 $2 $3\",[\"1\"]]],0,0,0,0,0,0,[0,0,0,0,0,0,0,0,[\"10\\\\d{10}\"]]],\"881\":[\"881\",0,\"6\\\\d{9}|[0-36-9]\\\\d{8}\",[9,10],[[\"(\\\\d)(\\\\d{3})(\\\\d{5})\",\"$1 $2 $3\",[\"[0-37-9]\"]],[\"(\\\\d)(\\\\d{3})(\\\\d{5,6})\",\"$1 $2 $3\",[\"6\"]]],0,0,0,0,0,0,[0,[\"6\\\\d{9}|[0-36-9]\\\\d{8}\"]]],\"882\":[\"882\",0,\"[13]\\\\d{6}(?:\\\\d{2,5})?|[19]\\\\d{7}|(?:[25]\\\\d\\\\d|4)\\\\d{7}(?:\\\\d{2})?\",[7,8,9,10,11,12],[[\"(\\\\d{2})(\\\\d{5})\",\"$1 $2\",[\"16|342\"]],[\"(\\\\d{2})(\\\\d{6})\",\"$1 $2\",[\"49\"]],[\"(\\\\d{2})(\\\\d{2})(\\\\d{4})\",\"$1 $2 $3\",[\"1[36]|9\"]],[\"(\\\\d{2})(\\\\d{4})(\\\\d{3})\",\"$1 $2 $3\",[\"3[23]\"]],[\"(\\\\d{2})(\\\\d{3,4})(\\\\d{4})\",\"$1 $2 $3\",[\"16\"]],[\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"10|23|3(?:[15]|4[57])|4|51\"]],[\"(\\\\d{3})(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"34\"]],[\"(\\\\d{2})(\\\\d{4,5})(\\\\d{5})\",\"$1 $2 $3\",[\"[1-35]\"]]],0,0,0,0,0,0,[0,[\"342\\\\d{4}|(?:337|49)\\\\d{6}|(?:3(?:2|47|7\\\\d{3})|50\\\\d{3})\\\\d{7}\",[7,8,9,10,12]],0,0,0,[\"348[57]\\\\d{7}\",[11]],0,0,[\"1(?:3(?:0[0347]|[13][0139]|2[035]|4[013568]|6[0459]|7[06]|8[15-8]|9[0689])\\\\d{4}|6\\\\d{5,10})|(?:345\\\\d|9[89])\\\\d{6}|(?:10|2(?:3|85\\\\d)|3(?:[15]|[69]\\\\d\\\\d)|4[15-8]|51)\\\\d{8}\"]]],\"883\":[\"883\",0,\"(?:[1-4]\\\\d|51)\\\\d{6,10}\",[8,9,10,11,12],[[\"(\\\\d{3})(\\\\d{3})(\\\\d{2,8})\",\"$1 $2 $3\",[\"[14]|2[24-689]|3[02-689]|51[24-9]\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"510\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"21\"]],[\"(\\\\d{4})(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"51[13]\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3 $4\",[\"[235]\"]]],0,0,0,0,0,0,[0,0,0,0,0,0,0,0,[\"(?:2(?:00\\\\d\\\\d|10)|(?:370[1-9]|51\\\\d0)\\\\d)\\\\d{7}|51(?:00\\\\d{5}|[24-9]0\\\\d{4,7})|(?:1[0-79]|2[24-689]|3[02-689]|4[0-4])0\\\\d{5,9}\"]]],\"888\":[\"888\",0,\"\\\\d{11}\",[11],[[\"(\\\\d{3})(\\\\d{3})(\\\\d{5})\",\"$1 $2 $3\"]],0,0,0,0,0,0,[0,0,0,0,0,0,[\"\\\\d{11}\"]]],\"979\":[\"979\",0,\"[1359]\\\\d{8}\",[9],[[\"(\\\\d)(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"[1359]\"]]],0,0,0,0,0,0,[0,0,0,[\"[1359]\\\\d{8}\"]]]}}","// Importing from a \".js\" file is a workaround for Node.js \"ES Modules\"\r\n// importing system which is even uncapable of importing \"*.json\" files.\r\nimport metadata from '../../metadata.min.json.js'\r\n\r\nexport default function withMetadataArgument(func, _arguments) {\r\n\tvar args = Array.prototype.slice.call(_arguments)\r\n\targs.push(metadata)\r\n\treturn func.apply(this, args)\r\n}","var objectConstructor = {}.constructor;\nexport default function isObject(object) {\n return object !== undefined && object !== null && object.constructor === objectConstructor;\n}\n//# sourceMappingURL=isObject.js.map","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nimport isObject from './helpers/isObject.js'; // Extracts the following properties from function arguments:\n// * input `text`\n// * `options` object\n// * `metadata` JSON\n\nexport default function normalizeArguments(args) {\n var _Array$prototype$slic = Array.prototype.slice.call(args),\n _Array$prototype$slic2 = _slicedToArray(_Array$prototype$slic, 4),\n arg_1 = _Array$prototype$slic2[0],\n arg_2 = _Array$prototype$slic2[1],\n arg_3 = _Array$prototype$slic2[2],\n arg_4 = _Array$prototype$slic2[3];\n\n var text;\n var options;\n var metadata; // If the phone number is passed as a string.\n // `parsePhoneNumber('88005553535', ...)`.\n\n if (typeof arg_1 === 'string') {\n text = arg_1;\n } else throw new TypeError('A text for parsing must be a string.'); // If \"default country\" argument is being passed then move it to `options`.\n // `parsePhoneNumber('88005553535', 'RU', [options], metadata)`.\n\n\n if (!arg_2 || typeof arg_2 === 'string') {\n if (arg_4) {\n options = arg_3;\n metadata = arg_4;\n } else {\n options = undefined;\n metadata = arg_3;\n }\n\n if (arg_2) {\n options = _objectSpread({\n defaultCountry: arg_2\n }, options);\n }\n } // `defaultCountry` is not passed.\n // Example: `parsePhoneNumber('+78005553535', [options], metadata)`.\n else if (isObject(arg_2)) {\n if (arg_3) {\n options = arg_2;\n metadata = arg_3;\n } else {\n metadata = arg_2;\n }\n } else throw new Error(\"Invalid second argument: \".concat(arg_2));\n\n return {\n text: text,\n options: options,\n metadata: metadata\n };\n}\n//# sourceMappingURL=normalizeArguments.js.map","// The minimum length of the national significant number.\nexport var MIN_LENGTH_FOR_NSN = 2; // The ITU says the maximum length should be 15,\n// but one can find longer numbers in Germany.\n\nexport var MAX_LENGTH_FOR_NSN = 17; // The maximum length of the country calling code.\n\nexport var MAX_LENGTH_COUNTRY_CODE = 3; // Digits accepted in phone numbers\n// (ascii, fullwidth, arabic-indic, and eastern arabic digits).\n\nexport var VALID_DIGITS = \"0-9\\uFF10-\\uFF19\\u0660-\\u0669\\u06F0-\\u06F9\"; // `DASHES` will be right after the opening square bracket of the \"character class\"\n\nvar DASHES = \"-\\u2010-\\u2015\\u2212\\u30FC\\uFF0D\";\nvar SLASHES = \"\\uFF0F/\";\nvar DOTS = \"\\uFF0E.\";\nexport var WHITESPACE = \" \\xA0\\xAD\\u200B\\u2060\\u3000\";\nvar BRACKETS = \"()\\uFF08\\uFF09\\uFF3B\\uFF3D\\\\[\\\\]\"; // export const OPENING_BRACKETS = '(\\uFF08\\uFF3B\\\\\\['\n\nvar TILDES = \"~\\u2053\\u223C\\uFF5E\"; // Regular expression of acceptable punctuation found in phone numbers. This\n// excludes punctuation found as a leading character only. This consists of dash\n// characters, white space characters, full stops, slashes, square brackets,\n// parentheses and tildes. Full-width variants are also present.\n\nexport var VALID_PUNCTUATION = \"\".concat(DASHES).concat(SLASHES).concat(DOTS).concat(WHITESPACE).concat(BRACKETS).concat(TILDES);\nexport var PLUS_CHARS = \"+\\uFF0B\"; // const LEADING_PLUS_CHARS_PATTERN = new RegExp('^[' + PLUS_CHARS + ']+')\n//# sourceMappingURL=constants.js.map","function _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _wrapNativeSuper(Class) { var _cache = typeof Map === \"function\" ? new Map() : undefined; _wrapNativeSuper = function _wrapNativeSuper(Class) { if (Class === null || !_isNativeFunction(Class)) return Class; if (typeof Class !== \"function\") { throw new TypeError(\"Super expression must either be null or a function\"); } if (typeof _cache !== \"undefined\") { if (_cache.has(Class)) return _cache.get(Class); _cache.set(Class, Wrapper); } function Wrapper() { return _construct(Class, arguments, _getPrototypeOf(this).constructor); } Wrapper.prototype = Object.create(Class.prototype, { constructor: { value: Wrapper, enumerable: false, writable: true, configurable: true } }); return _setPrototypeOf(Wrapper, Class); }; return _wrapNativeSuper(Class); }\n\nfunction _construct(Parent, args, Class) { if (_isNativeReflectConstruct()) { _construct = Reflect.construct; } else { _construct = function _construct(Parent, args, Class) { var a = [null]; a.push.apply(a, args); var Constructor = Function.bind.apply(Parent, a); var instance = new Constructor(); if (Class) _setPrototypeOf(instance, Class.prototype); return instance; }; } return _construct.apply(null, arguments); }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _isNativeFunction(fn) { return Function.toString.call(fn).indexOf(\"[native code]\") !== -1; }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n// https://stackoverflow.com/a/46971044/970769\n// \"Breaking changes in Typescript 2.1\"\n// \"Extending built-ins like Error, Array, and Map may no longer work.\"\n// \"As a recommendation, you can manually adjust the prototype immediately after any super(...) calls.\"\n// https://github.com/Microsoft/TypeScript-wiki/blob/main/Breaking-Changes.md#extending-built-ins-like-error-array-and-map-may-no-longer-work\nvar ParseError = /*#__PURE__*/function (_Error) {\n _inherits(ParseError, _Error);\n\n var _super = _createSuper(ParseError);\n\n function ParseError(code) {\n var _this;\n\n _classCallCheck(this, ParseError);\n\n _this = _super.call(this, code); // Set the prototype explicitly.\n // Any subclass of FooError will have to manually set the prototype as well.\n\n Object.setPrototypeOf(_assertThisInitialized(_this), ParseError.prototype);\n _this.name = _this.constructor.name;\n return _this;\n }\n\n return _createClass(ParseError);\n}( /*#__PURE__*/_wrapNativeSuper(Error));\n\nexport { ParseError as default };\n//# sourceMappingURL=ParseError.js.map","// Copy-pasted from:\n// https://github.com/substack/semver-compare/blob/master/index.js\n//\n// Inlining this function because some users reported issues with\n// importing from `semver-compare` in a browser with ES6 \"native\" modules.\n//\n// Fixes `semver-compare` not being able to compare versions with alpha/beta/etc \"tags\".\n// https://github.com/catamphetamine/libphonenumber-js/issues/381\nexport default function (a, b) {\n a = a.split('-');\n b = b.split('-');\n var pa = a[0].split('.');\n var pb = b[0].split('.');\n\n for (var i = 0; i < 3; i++) {\n var na = Number(pa[i]);\n var nb = Number(pb[i]);\n if (na > nb) return 1;\n if (nb > na) return -1;\n if (!isNaN(na) && isNaN(nb)) return 1;\n if (isNaN(na) && !isNaN(nb)) return -1;\n }\n\n if (a[1] && b[1]) {\n return a[1] > b[1] ? 1 : a[1] < b[1] ? -1 : 0;\n }\n\n return !a[1] && b[1] ? 1 : a[1] && !b[1] ? -1 : 0;\n}\n//# sourceMappingURL=semver-compare.js.map","function _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\nimport compare from './tools/semver-compare.js';\nimport isObject from './helpers/isObject.js'; // Added \"possibleLengths\" and renamed\n// \"country_phone_code_to_countries\" to \"country_calling_codes\".\n\nvar V2 = '1.0.18'; // Added \"idd_prefix\" and \"default_idd_prefix\".\n\nvar V3 = '1.2.0'; // Moved `001` country code to \"nonGeographic\" section of metadata.\n\nvar V4 = '1.7.35';\nvar DEFAULT_EXT_PREFIX = ' ext. ';\nvar CALLING_CODE_REG_EXP = /^\\d+$/;\n/**\r\n * See: https://gitlab.com/catamphetamine/libphonenumber-js/blob/master/METADATA.md\r\n */\n\nvar Metadata = /*#__PURE__*/function () {\n function Metadata(metadata) {\n _classCallCheck(this, Metadata);\n\n validateMetadata(metadata);\n this.metadata = metadata;\n setVersion.call(this, metadata);\n }\n\n _createClass(Metadata, [{\n key: \"getCountries\",\n value: function getCountries() {\n return Object.keys(this.metadata.countries).filter(function (_) {\n return _ !== '001';\n });\n }\n }, {\n key: \"getCountryMetadata\",\n value: function getCountryMetadata(countryCode) {\n return this.metadata.countries[countryCode];\n }\n }, {\n key: \"nonGeographic\",\n value: function nonGeographic() {\n if (this.v1 || this.v2 || this.v3) return; // `nonGeographical` was a typo.\n // It's present in metadata generated from `1.7.35` to `1.7.37`.\n // The test case could be found by searching for \"nonGeographical\".\n\n return this.metadata.nonGeographic || this.metadata.nonGeographical;\n }\n }, {\n key: \"hasCountry\",\n value: function hasCountry(country) {\n return this.getCountryMetadata(country) !== undefined;\n }\n }, {\n key: \"hasCallingCode\",\n value: function hasCallingCode(callingCode) {\n if (this.getCountryCodesForCallingCode(callingCode)) {\n return true;\n }\n\n if (this.nonGeographic()) {\n if (this.nonGeographic()[callingCode]) {\n return true;\n }\n } else {\n // A hacky workaround for old custom metadata (generated before V4).\n var countryCodes = this.countryCallingCodes()[callingCode];\n\n if (countryCodes && countryCodes.length === 1 && countryCodes[0] === '001') {\n return true;\n }\n }\n }\n }, {\n key: \"isNonGeographicCallingCode\",\n value: function isNonGeographicCallingCode(callingCode) {\n if (this.nonGeographic()) {\n return this.nonGeographic()[callingCode] ? true : false;\n } else {\n return this.getCountryCodesForCallingCode(callingCode) ? false : true;\n }\n } // Deprecated.\n\n }, {\n key: \"country\",\n value: function country(countryCode) {\n return this.selectNumberingPlan(countryCode);\n }\n }, {\n key: \"selectNumberingPlan\",\n value: function selectNumberingPlan(countryCode, callingCode) {\n // Supports just passing `callingCode` as the first argument.\n if (countryCode && CALLING_CODE_REG_EXP.test(countryCode)) {\n callingCode = countryCode;\n countryCode = null;\n }\n\n if (countryCode && countryCode !== '001') {\n if (!this.hasCountry(countryCode)) {\n throw new Error(\"Unknown country: \".concat(countryCode));\n }\n\n this.numberingPlan = new NumberingPlan(this.getCountryMetadata(countryCode), this);\n } else if (callingCode) {\n if (!this.hasCallingCode(callingCode)) {\n throw new Error(\"Unknown calling code: \".concat(callingCode));\n }\n\n this.numberingPlan = new NumberingPlan(this.getNumberingPlanMetadata(callingCode), this);\n } else {\n this.numberingPlan = undefined;\n }\n\n return this;\n }\n }, {\n key: \"getCountryCodesForCallingCode\",\n value: function getCountryCodesForCallingCode(callingCode) {\n var countryCodes = this.countryCallingCodes()[callingCode];\n\n if (countryCodes) {\n // Metadata before V4 included \"non-geographic entity\" calling codes\n // inside `country_calling_codes` (for example, `\"881\":[\"001\"]`).\n // Now the semantics of `country_calling_codes` has changed:\n // it's specifically for \"countries\" now.\n // Older versions of custom metadata will simply skip parsing\n // \"non-geographic entity\" phone numbers with new versions\n // of this library: it's not considered a bug,\n // because such numbers are extremely rare,\n // and developers extremely rarely use custom metadata.\n if (countryCodes.length === 1 && countryCodes[0].length === 3) {\n return;\n }\n\n return countryCodes;\n }\n }\n }, {\n key: \"getCountryCodeForCallingCode\",\n value: function getCountryCodeForCallingCode(callingCode) {\n var countryCodes = this.getCountryCodesForCallingCode(callingCode);\n\n if (countryCodes) {\n return countryCodes[0];\n }\n }\n }, {\n key: \"getNumberingPlanMetadata\",\n value: function getNumberingPlanMetadata(callingCode) {\n var countryCode = this.getCountryCodeForCallingCode(callingCode);\n\n if (countryCode) {\n return this.getCountryMetadata(countryCode);\n }\n\n if (this.nonGeographic()) {\n var metadata = this.nonGeographic()[callingCode];\n\n if (metadata) {\n return metadata;\n }\n } else {\n // A hacky workaround for old custom metadata (generated before V4).\n // In that metadata, there was no concept of \"non-geographic\" metadata\n // so metadata for `001` country code was stored along with other countries.\n // The test case can be found by searching for:\n // \"should work around `nonGeographic` metadata not existing\".\n var countryCodes = this.countryCallingCodes()[callingCode];\n\n if (countryCodes && countryCodes.length === 1 && countryCodes[0] === '001') {\n return this.metadata.countries['001'];\n }\n }\n } // Deprecated.\n\n }, {\n key: \"countryCallingCode\",\n value: function countryCallingCode() {\n return this.numberingPlan.callingCode();\n } // Deprecated.\n\n }, {\n key: \"IDDPrefix\",\n value: function IDDPrefix() {\n return this.numberingPlan.IDDPrefix();\n } // Deprecated.\n\n }, {\n key: \"defaultIDDPrefix\",\n value: function defaultIDDPrefix() {\n return this.numberingPlan.defaultIDDPrefix();\n } // Deprecated.\n\n }, {\n key: \"nationalNumberPattern\",\n value: function nationalNumberPattern() {\n return this.numberingPlan.nationalNumberPattern();\n } // Deprecated.\n\n }, {\n key: \"possibleLengths\",\n value: function possibleLengths() {\n return this.numberingPlan.possibleLengths();\n } // Deprecated.\n\n }, {\n key: \"formats\",\n value: function formats() {\n return this.numberingPlan.formats();\n } // Deprecated.\n\n }, {\n key: \"nationalPrefixForParsing\",\n value: function nationalPrefixForParsing() {\n return this.numberingPlan.nationalPrefixForParsing();\n } // Deprecated.\n\n }, {\n key: \"nationalPrefixTransformRule\",\n value: function nationalPrefixTransformRule() {\n return this.numberingPlan.nationalPrefixTransformRule();\n } // Deprecated.\n\n }, {\n key: \"leadingDigits\",\n value: function leadingDigits() {\n return this.numberingPlan.leadingDigits();\n } // Deprecated.\n\n }, {\n key: \"hasTypes\",\n value: function hasTypes() {\n return this.numberingPlan.hasTypes();\n } // Deprecated.\n\n }, {\n key: \"type\",\n value: function type(_type) {\n return this.numberingPlan.type(_type);\n } // Deprecated.\n\n }, {\n key: \"ext\",\n value: function ext() {\n return this.numberingPlan.ext();\n }\n }, {\n key: \"countryCallingCodes\",\n value: function countryCallingCodes() {\n if (this.v1) return this.metadata.country_phone_code_to_countries;\n return this.metadata.country_calling_codes;\n } // Deprecated.\n\n }, {\n key: \"chooseCountryByCountryCallingCode\",\n value: function chooseCountryByCountryCallingCode(callingCode) {\n return this.selectNumberingPlan(callingCode);\n }\n }, {\n key: \"hasSelectedNumberingPlan\",\n value: function hasSelectedNumberingPlan() {\n return this.numberingPlan !== undefined;\n }\n }]);\n\n return Metadata;\n}();\n\nexport { Metadata as default };\n\nvar NumberingPlan = /*#__PURE__*/function () {\n function NumberingPlan(metadata, globalMetadataObject) {\n _classCallCheck(this, NumberingPlan);\n\n this.globalMetadataObject = globalMetadataObject;\n this.metadata = metadata;\n setVersion.call(this, globalMetadataObject.metadata);\n }\n\n _createClass(NumberingPlan, [{\n key: \"callingCode\",\n value: function callingCode() {\n return this.metadata[0];\n } // Formatting information for regions which share\n // a country calling code is contained by only one region\n // for performance reasons. For example, for NANPA region\n // (\"North American Numbering Plan Administration\",\n // which includes USA, Canada, Cayman Islands, Bahamas, etc)\n // it will be contained in the metadata for `US`.\n\n }, {\n key: \"getDefaultCountryMetadataForRegion\",\n value: function getDefaultCountryMetadataForRegion() {\n return this.globalMetadataObject.getNumberingPlanMetadata(this.callingCode());\n } // Is always present.\n\n }, {\n key: \"IDDPrefix\",\n value: function IDDPrefix() {\n if (this.v1 || this.v2) return;\n return this.metadata[1];\n } // Is only present when a country supports multiple IDD prefixes.\n\n }, {\n key: \"defaultIDDPrefix\",\n value: function defaultIDDPrefix() {\n if (this.v1 || this.v2) return;\n return this.metadata[12];\n }\n }, {\n key: \"nationalNumberPattern\",\n value: function nationalNumberPattern() {\n if (this.v1 || this.v2) return this.metadata[1];\n return this.metadata[2];\n } // \"possible length\" data is always present in Google's metadata.\n\n }, {\n key: \"possibleLengths\",\n value: function possibleLengths() {\n if (this.v1) return;\n return this.metadata[this.v2 ? 2 : 3];\n }\n }, {\n key: \"_getFormats\",\n value: function _getFormats(metadata) {\n return metadata[this.v1 ? 2 : this.v2 ? 3 : 4];\n } // For countries of the same region (e.g. NANPA)\n // formats are all stored in the \"main\" country for that region.\n // E.g. \"RU\" and \"KZ\", \"US\" and \"CA\".\n\n }, {\n key: \"formats\",\n value: function formats() {\n var _this = this;\n\n var formats = this._getFormats(this.metadata) || this._getFormats(this.getDefaultCountryMetadataForRegion()) || [];\n return formats.map(function (_) {\n return new Format(_, _this);\n });\n }\n }, {\n key: \"nationalPrefix\",\n value: function nationalPrefix() {\n return this.metadata[this.v1 ? 3 : this.v2 ? 4 : 5];\n }\n }, {\n key: \"_getNationalPrefixFormattingRule\",\n value: function _getNationalPrefixFormattingRule(metadata) {\n return metadata[this.v1 ? 4 : this.v2 ? 5 : 6];\n } // For countries of the same region (e.g. NANPA)\n // national prefix formatting rule is stored in the \"main\" country for that region.\n // E.g. \"RU\" and \"KZ\", \"US\" and \"CA\".\n\n }, {\n key: \"nationalPrefixFormattingRule\",\n value: function nationalPrefixFormattingRule() {\n return this._getNationalPrefixFormattingRule(this.metadata) || this._getNationalPrefixFormattingRule(this.getDefaultCountryMetadataForRegion());\n }\n }, {\n key: \"_nationalPrefixForParsing\",\n value: function _nationalPrefixForParsing() {\n return this.metadata[this.v1 ? 5 : this.v2 ? 6 : 7];\n }\n }, {\n key: \"nationalPrefixForParsing\",\n value: function nationalPrefixForParsing() {\n // If `national_prefix_for_parsing` is not set explicitly,\n // then infer it from `national_prefix` (if any)\n return this._nationalPrefixForParsing() || this.nationalPrefix();\n }\n }, {\n key: \"nationalPrefixTransformRule\",\n value: function nationalPrefixTransformRule() {\n return this.metadata[this.v1 ? 6 : this.v2 ? 7 : 8];\n }\n }, {\n key: \"_getNationalPrefixIsOptionalWhenFormatting\",\n value: function _getNationalPrefixIsOptionalWhenFormatting() {\n return !!this.metadata[this.v1 ? 7 : this.v2 ? 8 : 9];\n } // For countries of the same region (e.g. NANPA)\n // \"national prefix is optional when formatting\" flag is\n // stored in the \"main\" country for that region.\n // E.g. \"RU\" and \"KZ\", \"US\" and \"CA\".\n\n }, {\n key: \"nationalPrefixIsOptionalWhenFormattingInNationalFormat\",\n value: function nationalPrefixIsOptionalWhenFormattingInNationalFormat() {\n return this._getNationalPrefixIsOptionalWhenFormatting(this.metadata) || this._getNationalPrefixIsOptionalWhenFormatting(this.getDefaultCountryMetadataForRegion());\n }\n }, {\n key: \"leadingDigits\",\n value: function leadingDigits() {\n return this.metadata[this.v1 ? 8 : this.v2 ? 9 : 10];\n }\n }, {\n key: \"types\",\n value: function types() {\n return this.metadata[this.v1 ? 9 : this.v2 ? 10 : 11];\n }\n }, {\n key: \"hasTypes\",\n value: function hasTypes() {\n // Versions 1.2.0 - 1.2.4: can be `[]`.\n\n /* istanbul ignore next */\n if (this.types() && this.types().length === 0) {\n return false;\n } // Versions <= 1.2.4: can be `undefined`.\n // Version >= 1.2.5: can be `0`.\n\n\n return !!this.types();\n }\n }, {\n key: \"type\",\n value: function type(_type2) {\n if (this.hasTypes() && getType(this.types(), _type2)) {\n return new Type(getType(this.types(), _type2), this);\n }\n }\n }, {\n key: \"ext\",\n value: function ext() {\n if (this.v1 || this.v2) return DEFAULT_EXT_PREFIX;\n return this.metadata[13] || DEFAULT_EXT_PREFIX;\n }\n }]);\n\n return NumberingPlan;\n}();\n\nvar Format = /*#__PURE__*/function () {\n function Format(format, metadata) {\n _classCallCheck(this, Format);\n\n this._format = format;\n this.metadata = metadata;\n }\n\n _createClass(Format, [{\n key: \"pattern\",\n value: function pattern() {\n return this._format[0];\n }\n }, {\n key: \"format\",\n value: function format() {\n return this._format[1];\n }\n }, {\n key: \"leadingDigitsPatterns\",\n value: function leadingDigitsPatterns() {\n return this._format[2] || [];\n }\n }, {\n key: \"nationalPrefixFormattingRule\",\n value: function nationalPrefixFormattingRule() {\n return this._format[3] || this.metadata.nationalPrefixFormattingRule();\n }\n }, {\n key: \"nationalPrefixIsOptionalWhenFormattingInNationalFormat\",\n value: function nationalPrefixIsOptionalWhenFormattingInNationalFormat() {\n return !!this._format[4] || this.metadata.nationalPrefixIsOptionalWhenFormattingInNationalFormat();\n }\n }, {\n key: \"nationalPrefixIsMandatoryWhenFormattingInNationalFormat\",\n value: function nationalPrefixIsMandatoryWhenFormattingInNationalFormat() {\n // National prefix is omitted if there's no national prefix formatting rule\n // set for this country, or when the national prefix formatting rule\n // contains no national prefix itself, or when this rule is set but\n // national prefix is optional for this phone number format\n // (and it is not enforced explicitly)\n return this.usesNationalPrefix() && !this.nationalPrefixIsOptionalWhenFormattingInNationalFormat();\n } // Checks whether national prefix formatting rule contains national prefix.\n\n }, {\n key: \"usesNationalPrefix\",\n value: function usesNationalPrefix() {\n return this.nationalPrefixFormattingRule() && // Check that national prefix formatting rule is not a \"dummy\" one.\n !FIRST_GROUP_ONLY_PREFIX_PATTERN.test(this.nationalPrefixFormattingRule()) // In compressed metadata, `this.nationalPrefixFormattingRule()` is `0`\n // when `national_prefix_formatting_rule` is not present.\n // So, `true` or `false` are returned explicitly here, so that\n // `0` number isn't returned.\n ? true : false;\n }\n }, {\n key: \"internationalFormat\",\n value: function internationalFormat() {\n return this._format[5] || this.format();\n }\n }]);\n\n return Format;\n}();\n/**\r\n * A pattern that is used to determine if the national prefix formatting rule\r\n * has the first group only, i.e., does not start with the national prefix.\r\n * Note that the pattern explicitly allows for unbalanced parentheses.\r\n */\n\n\nvar FIRST_GROUP_ONLY_PREFIX_PATTERN = /^\\(?\\$1\\)?$/;\n\nvar Type = /*#__PURE__*/function () {\n function Type(type, metadata) {\n _classCallCheck(this, Type);\n\n this.type = type;\n this.metadata = metadata;\n }\n\n _createClass(Type, [{\n key: \"pattern\",\n value: function pattern() {\n if (this.metadata.v1) return this.type;\n return this.type[0];\n }\n }, {\n key: \"possibleLengths\",\n value: function possibleLengths() {\n if (this.metadata.v1) return;\n return this.type[1] || this.metadata.possibleLengths();\n }\n }]);\n\n return Type;\n}();\n\nfunction getType(types, type) {\n switch (type) {\n case 'FIXED_LINE':\n return types[0];\n\n case 'MOBILE':\n return types[1];\n\n case 'TOLL_FREE':\n return types[2];\n\n case 'PREMIUM_RATE':\n return types[3];\n\n case 'PERSONAL_NUMBER':\n return types[4];\n\n case 'VOICEMAIL':\n return types[5];\n\n case 'UAN':\n return types[6];\n\n case 'PAGER':\n return types[7];\n\n case 'VOIP':\n return types[8];\n\n case 'SHARED_COST':\n return types[9];\n }\n}\n\nexport function validateMetadata(metadata) {\n if (!metadata) {\n throw new Error('[libphonenumber-js] `metadata` argument not passed. Check your arguments.');\n } // `country_phone_code_to_countries` was renamed to\n // `country_calling_codes` in `1.0.18`.\n\n\n if (!isObject(metadata) || !isObject(metadata.countries)) {\n throw new Error(\"[libphonenumber-js] `metadata` argument was passed but it's not a valid metadata. Must be an object having `.countries` child object property. Got \".concat(isObject(metadata) ? 'an object of shape: { ' + Object.keys(metadata).join(', ') + ' }' : 'a ' + typeOf(metadata) + ': ' + metadata, \".\"));\n }\n} // Babel transforms `typeof` into some \"branches\"\n// so istanbul will show this as \"branch not covered\".\n\n/* istanbul ignore next */\n\nvar typeOf = function typeOf(_) {\n return _typeof(_);\n};\n/**\r\n * Returns extension prefix for a country.\r\n * @param {string} country\r\n * @param {object} metadata\r\n * @return {string?}\r\n * @example\r\n * // Returns \" ext. \"\r\n * getExtPrefix(\"US\")\r\n */\n\n\nexport function getExtPrefix(country, metadata) {\n metadata = new Metadata(metadata);\n\n if (metadata.hasCountry(country)) {\n return metadata.country(country).ext();\n }\n\n return DEFAULT_EXT_PREFIX;\n}\n/**\r\n * Returns \"country calling code\" for a country.\r\n * Throws an error if the country doesn't exist or isn't supported by this library.\r\n * @param {string} country\r\n * @param {object} metadata\r\n * @return {string}\r\n * @example\r\n * // Returns \"44\"\r\n * getCountryCallingCode(\"GB\")\r\n */\n\nexport function getCountryCallingCode(country, metadata) {\n metadata = new Metadata(metadata);\n\n if (metadata.hasCountry(country)) {\n return metadata.country(country).countryCallingCode();\n }\n\n throw new Error(\"Unknown country: \".concat(country));\n}\nexport function isSupportedCountry(country, metadata) {\n // metadata = new Metadata(metadata)\n // return metadata.hasCountry(country)\n return metadata.countries.hasOwnProperty(country);\n}\n\nfunction setVersion(metadata) {\n var version = metadata.version;\n\n if (typeof version === 'number') {\n this.v1 = version === 1;\n this.v2 = version === 2;\n this.v3 = version === 3;\n this.v4 = version === 4;\n } else {\n if (!version) {\n this.v1 = true;\n } else if (compare(version, V3) === -1) {\n this.v2 = true;\n } else if (compare(version, V4) === -1) {\n this.v3 = true;\n } else {\n this.v4 = true;\n }\n }\n} // const ISO_COUNTRY_CODE = /^[A-Z]{2}$/\n// function isCountryCode(countryCode) {\n// \treturn ISO_COUNTRY_CODE.test(countryCodeOrCountryCallingCode)\n// }\n//# sourceMappingURL=metadata.js.map","import { VALID_DIGITS } from '../../constants.js'; // The RFC 3966 format for extensions.\n\nvar RFC3966_EXTN_PREFIX = ';ext=';\n/**\r\n * Helper method for constructing regular expressions for parsing. Creates\r\n * an expression that captures up to max_length digits.\r\n * @return {string} RegEx pattern to capture extension digits.\r\n */\n\nvar getExtensionDigitsPattern = function getExtensionDigitsPattern(maxLength) {\n return \"([\".concat(VALID_DIGITS, \"]{1,\").concat(maxLength, \"})\");\n};\n/**\r\n * Helper initialiser method to create the regular-expression pattern to match\r\n * extensions.\r\n * Copy-pasted from Google's `libphonenumber`:\r\n * https://github.com/google/libphonenumber/blob/55b2646ec9393f4d3d6661b9c82ef9e258e8b829/javascript/i18n/phonenumbers/phonenumberutil.js#L759-L766\r\n * @return {string} RegEx pattern to capture extensions.\r\n */\n\n\nexport default function createExtensionPattern(purpose) {\n // We cap the maximum length of an extension based on the ambiguity of the way\n // the extension is prefixed. As per ITU, the officially allowed length for\n // extensions is actually 40, but we don't support this since we haven't seen real\n // examples and this introduces many false interpretations as the extension labels\n // are not standardized.\n\n /** @type {string} */\n var extLimitAfterExplicitLabel = '20';\n /** @type {string} */\n\n var extLimitAfterLikelyLabel = '15';\n /** @type {string} */\n\n var extLimitAfterAmbiguousChar = '9';\n /** @type {string} */\n\n var extLimitWhenNotSure = '6';\n /** @type {string} */\n\n var possibleSeparatorsBetweenNumberAndExtLabel = \"[ \\xA0\\\\t,]*\"; // Optional full stop (.) or colon, followed by zero or more spaces/tabs/commas.\n\n /** @type {string} */\n\n var possibleCharsAfterExtLabel = \"[:\\\\.\\uFF0E]?[ \\xA0\\\\t,-]*\";\n /** @type {string} */\n\n var optionalExtnSuffix = \"#?\"; // Here the extension is called out in more explicit way, i.e mentioning it obvious\n // patterns like \"ext.\".\n\n /** @type {string} */\n\n var explicitExtLabels = \"(?:e?xt(?:ensi(?:o\\u0301?|\\xF3))?n?|\\uFF45?\\uFF58\\uFF54\\uFF4E?|\\u0434\\u043E\\u0431|anexo)\"; // One-character symbols that can be used to indicate an extension, and less\n // commonly used or more ambiguous extension labels.\n\n /** @type {string} */\n\n var ambiguousExtLabels = \"(?:[x\\uFF58#\\uFF03~\\uFF5E]|int|\\uFF49\\uFF4E\\uFF54)\"; // When extension is not separated clearly.\n\n /** @type {string} */\n\n var ambiguousSeparator = \"[- ]+\"; // This is the same as possibleSeparatorsBetweenNumberAndExtLabel, but not matching\n // comma as extension label may have it.\n\n /** @type {string} */\n\n var possibleSeparatorsNumberExtLabelNoComma = \"[ \\xA0\\\\t]*\"; // \",,\" is commonly used for auto dialling the extension when connected. First\n // comma is matched through possibleSeparatorsBetweenNumberAndExtLabel, so we do\n // not repeat it here. Semi-colon works in Iphone and Android also to pop up a\n // button with the extension number following.\n\n /** @type {string} */\n\n var autoDiallingAndExtLabelsFound = \"(?:,{2}|;)\";\n /** @type {string} */\n\n var rfcExtn = RFC3966_EXTN_PREFIX + getExtensionDigitsPattern(extLimitAfterExplicitLabel);\n /** @type {string} */\n\n var explicitExtn = possibleSeparatorsBetweenNumberAndExtLabel + explicitExtLabels + possibleCharsAfterExtLabel + getExtensionDigitsPattern(extLimitAfterExplicitLabel) + optionalExtnSuffix;\n /** @type {string} */\n\n var ambiguousExtn = possibleSeparatorsBetweenNumberAndExtLabel + ambiguousExtLabels + possibleCharsAfterExtLabel + getExtensionDigitsPattern(extLimitAfterAmbiguousChar) + optionalExtnSuffix;\n /** @type {string} */\n\n var americanStyleExtnWithSuffix = ambiguousSeparator + getExtensionDigitsPattern(extLimitWhenNotSure) + \"#\";\n /** @type {string} */\n\n var autoDiallingExtn = possibleSeparatorsNumberExtLabelNoComma + autoDiallingAndExtLabelsFound + possibleCharsAfterExtLabel + getExtensionDigitsPattern(extLimitAfterLikelyLabel) + optionalExtnSuffix;\n /** @type {string} */\n\n var onlyCommasExtn = possibleSeparatorsNumberExtLabelNoComma + \"(?:,)+\" + possibleCharsAfterExtLabel + getExtensionDigitsPattern(extLimitAfterAmbiguousChar) + optionalExtnSuffix; // The first regular expression covers RFC 3966 format, where the extension is added\n // using \";ext=\". The second more generic where extension is mentioned with explicit\n // labels like \"ext:\". In both the above cases we allow more numbers in extension than\n // any other extension labels. The third one captures when single character extension\n // labels or less commonly used labels are used. In such cases we capture fewer\n // extension digits in order to reduce the chance of falsely interpreting two\n // numbers beside each other as a number + extension. The fourth one covers the\n // special case of American numbers where the extension is written with a hash\n // at the end, such as \"- 503#\". The fifth one is exclusively for extension\n // autodialling formats which are used when dialling and in this case we accept longer\n // extensions. The last one is more liberal on the number of commas that acts as\n // extension labels, so we have a strict cap on the number of digits in such extensions.\n\n return rfcExtn + \"|\" + explicitExtn + \"|\" + ambiguousExtn + \"|\" + americanStyleExtnWithSuffix + \"|\" + autoDiallingExtn + \"|\" + onlyCommasExtn;\n}\n//# sourceMappingURL=createExtensionPattern.js.map","import { MIN_LENGTH_FOR_NSN, VALID_DIGITS, VALID_PUNCTUATION, PLUS_CHARS } from '../constants.js';\nimport createExtensionPattern from './extension/createExtensionPattern.js'; // Regular expression of viable phone numbers. This is location independent.\n// Checks we have at least three leading digits, and only valid punctuation,\n// alpha characters and digits in the phone number. Does not include extension\n// data. The symbol 'x' is allowed here as valid punctuation since it is often\n// used as a placeholder for carrier codes, for example in Brazilian phone\n// numbers. We also allow multiple '+' characters at the start.\n//\n// Corresponds to the following:\n// [digits]{minLengthNsn}|\n// plus_sign*\n// (([punctuation]|[star])*[digits]){3,}([punctuation]|[star]|[digits]|[alpha])*\n//\n// The first reg-ex is to allow short numbers (two digits long) to be parsed if\n// they are entered as \"15\" etc, but only if there is no punctuation in them.\n// The second expression restricts the number of digits to three or more, but\n// then allows them to be in international form, and to have alpha-characters\n// and punctuation. We split up the two reg-exes here and combine them when\n// creating the reg-ex VALID_PHONE_NUMBER_PATTERN itself so we can prefix it\n// with ^ and append $ to each branch.\n//\n// \"Note VALID_PUNCTUATION starts with a -,\n// so must be the first in the range\" (c) Google devs.\n// (wtf did they mean by saying that; probably nothing)\n//\n\nvar MIN_LENGTH_PHONE_NUMBER_PATTERN = '[' + VALID_DIGITS + ']{' + MIN_LENGTH_FOR_NSN + '}'; //\n// And this is the second reg-exp:\n// (see MIN_LENGTH_PHONE_NUMBER_PATTERN for a full description of this reg-exp)\n//\n\nexport var VALID_PHONE_NUMBER = '[' + PLUS_CHARS + ']{0,1}' + '(?:' + '[' + VALID_PUNCTUATION + ']*' + '[' + VALID_DIGITS + ']' + '){3,}' + '[' + VALID_PUNCTUATION + VALID_DIGITS + ']*'; // This regular expression isn't present in Google's `libphonenumber`\n// and is only used to determine whether the phone number being input\n// is too short for it to even consider it a \"valid\" number.\n// This is just a way to differentiate between a really invalid phone\n// number like \"abcde\" and a valid phone number that a user has just\n// started inputting, like \"+1\" or \"1\": both these cases would be\n// considered `NOT_A_NUMBER` by Google's `libphonenumber`, but this\n// library can provide a more detailed error message — whether it's\n// really \"not a number\", or is it just a start of a valid phone number.\n\nvar VALID_PHONE_NUMBER_START_REG_EXP = new RegExp('^' + '[' + PLUS_CHARS + ']{0,1}' + '(?:' + '[' + VALID_PUNCTUATION + ']*' + '[' + VALID_DIGITS + ']' + '){1,2}' + '$', 'i');\nexport var VALID_PHONE_NUMBER_WITH_EXTENSION = VALID_PHONE_NUMBER + // Phone number extensions\n'(?:' + createExtensionPattern() + ')?'; // The combined regular expression for valid phone numbers:\n//\n\nvar VALID_PHONE_NUMBER_PATTERN = new RegExp( // Either a short two-digit-only phone number\n'^' + MIN_LENGTH_PHONE_NUMBER_PATTERN + '$' + '|' + // Or a longer fully parsed phone number (min 3 characters)\n'^' + VALID_PHONE_NUMBER_WITH_EXTENSION + '$', 'i'); // Checks to see if the string of characters could possibly be a phone number at\n// all. At the moment, checks to see that the string begins with at least 2\n// digits, ignoring any punctuation commonly found in phone numbers. This method\n// does not require the number to be normalized in advance - but does assume\n// that leading non-number symbols have been removed, such as by the method\n// `extract_possible_number`.\n//\n\nexport default function isViablePhoneNumber(number) {\n return number.length >= MIN_LENGTH_FOR_NSN && VALID_PHONE_NUMBER_PATTERN.test(number);\n} // This is just a way to differentiate between a really invalid phone\n// number like \"abcde\" and a valid phone number that a user has just\n// started inputting, like \"+1\" or \"1\": both these cases would be\n// considered `NOT_A_NUMBER` by Google's `libphonenumber`, but this\n// library can provide a more detailed error message — whether it's\n// really \"not a number\", or is it just a start of a valid phone number.\n\nexport function isViablePhoneNumberStart(number) {\n return VALID_PHONE_NUMBER_START_REG_EXP.test(number);\n}\n//# sourceMappingURL=isViablePhoneNumber.js.map","import createExtensionPattern from './createExtensionPattern.js'; // Regexp of all known extension prefixes used by different regions followed by\n// 1 or more valid digits, for use when parsing.\n\nvar EXTN_PATTERN = new RegExp('(?:' + createExtensionPattern() + ')$', 'i'); // Strips any extension (as in, the part of the number dialled after the call is\n// connected, usually indicated with extn, ext, x or similar) from the end of\n// the number, and returns it.\n\nexport default function extractExtension(number) {\n var start = number.search(EXTN_PATTERN);\n\n if (start < 0) {\n return {};\n } // If we find a potential extension, and the number preceding this is a viable\n // number, we assume it is an extension.\n\n\n var numberWithoutExtension = number.slice(0, start);\n var matches = number.match(EXTN_PATTERN);\n var i = 1;\n\n while (i < matches.length) {\n if (matches[i]) {\n return {\n number: numberWithoutExtension,\n ext: matches[i]\n };\n }\n\n i++;\n }\n}\n//# sourceMappingURL=extractExtension.js.map","function _createForOfIteratorHelperLoose(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (it) return (it = it.call(o)).next.bind(it); if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\n// These mappings map a character (key) to a specific digit that should\n// replace it for normalization purposes. Non-European digits that\n// may be used in phone numbers are mapped to a European equivalent.\n//\n// E.g. in Iraq they don't write `+442323234` but rather `+٤٤٢٣٢٣٢٣٤`.\n//\nexport var DIGITS = {\n '0': '0',\n '1': '1',\n '2': '2',\n '3': '3',\n '4': '4',\n '5': '5',\n '6': '6',\n '7': '7',\n '8': '8',\n '9': '9',\n \"\\uFF10\": '0',\n // Fullwidth digit 0\n \"\\uFF11\": '1',\n // Fullwidth digit 1\n \"\\uFF12\": '2',\n // Fullwidth digit 2\n \"\\uFF13\": '3',\n // Fullwidth digit 3\n \"\\uFF14\": '4',\n // Fullwidth digit 4\n \"\\uFF15\": '5',\n // Fullwidth digit 5\n \"\\uFF16\": '6',\n // Fullwidth digit 6\n \"\\uFF17\": '7',\n // Fullwidth digit 7\n \"\\uFF18\": '8',\n // Fullwidth digit 8\n \"\\uFF19\": '9',\n // Fullwidth digit 9\n \"\\u0660\": '0',\n // Arabic-indic digit 0\n \"\\u0661\": '1',\n // Arabic-indic digit 1\n \"\\u0662\": '2',\n // Arabic-indic digit 2\n \"\\u0663\": '3',\n // Arabic-indic digit 3\n \"\\u0664\": '4',\n // Arabic-indic digit 4\n \"\\u0665\": '5',\n // Arabic-indic digit 5\n \"\\u0666\": '6',\n // Arabic-indic digit 6\n \"\\u0667\": '7',\n // Arabic-indic digit 7\n \"\\u0668\": '8',\n // Arabic-indic digit 8\n \"\\u0669\": '9',\n // Arabic-indic digit 9\n \"\\u06F0\": '0',\n // Eastern-Arabic digit 0\n \"\\u06F1\": '1',\n // Eastern-Arabic digit 1\n \"\\u06F2\": '2',\n // Eastern-Arabic digit 2\n \"\\u06F3\": '3',\n // Eastern-Arabic digit 3\n \"\\u06F4\": '4',\n // Eastern-Arabic digit 4\n \"\\u06F5\": '5',\n // Eastern-Arabic digit 5\n \"\\u06F6\": '6',\n // Eastern-Arabic digit 6\n \"\\u06F7\": '7',\n // Eastern-Arabic digit 7\n \"\\u06F8\": '8',\n // Eastern-Arabic digit 8\n \"\\u06F9\": '9' // Eastern-Arabic digit 9\n\n};\nexport function parseDigit(character) {\n return DIGITS[character];\n}\n/**\r\n * Parses phone number digits from a string.\r\n * Drops all punctuation leaving only digits.\r\n * Also converts wide-ascii and arabic-indic numerals to conventional numerals.\r\n * E.g. in Iraq they don't write `+442323234` but rather `+٤٤٢٣٢٣٢٣٤`.\r\n * @param {string} string\r\n * @return {string}\r\n * @example\r\n * ```js\r\n * parseDigits('8 (800) 555')\r\n * // Outputs '8800555'.\r\n * ```\r\n */\n\nexport default function parseDigits(string) {\n var result = ''; // Using `.split('')` here instead of normal `for ... of`\n // because the importing application doesn't neccessarily include an ES6 polyfill.\n // The `.split('')` approach discards \"exotic\" UTF-8 characters\n // (the ones consisting of four bytes) but digits\n // (including non-European ones) don't fall into that range\n // so such \"exotic\" characters would be discarded anyway.\n\n for (var _iterator = _createForOfIteratorHelperLoose(string.split('')), _step; !(_step = _iterator()).done;) {\n var character = _step.value;\n var digit = parseDigit(character);\n\n if (digit) {\n result += digit;\n }\n }\n\n return result;\n}\n//# sourceMappingURL=parseDigits.js.map","function _createForOfIteratorHelperLoose(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (it) return (it = it.call(o)).next.bind(it); if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nimport { parseDigit } from './helpers/parseDigits.js';\n/**\r\n * Parses phone number characters from a string.\r\n * Drops all punctuation leaving only digits and the leading `+` sign (if any).\r\n * Also converts wide-ascii and arabic-indic numerals to conventional numerals.\r\n * E.g. in Iraq they don't write `+442323234` but rather `+٤٤٢٣٢٣٢٣٤`.\r\n * @param {string} string\r\n * @return {string}\r\n * @example\r\n * ```js\r\n * // Outputs '8800555'.\r\n * parseIncompletePhoneNumber('8 (800) 555')\r\n * // Outputs '+7800555'.\r\n * parseIncompletePhoneNumber('+7 800 555')\r\n * ```\r\n */\n\nexport default function parseIncompletePhoneNumber(string) {\n var result = ''; // Using `.split('')` here instead of normal `for ... of`\n // because the importing application doesn't neccessarily include an ES6 polyfill.\n // The `.split('')` approach discards \"exotic\" UTF-8 characters\n // (the ones consisting of four bytes) but digits\n // (including non-European ones) don't fall into that range\n // so such \"exotic\" characters would be discarded anyway.\n\n for (var _iterator = _createForOfIteratorHelperLoose(string.split('')), _step; !(_step = _iterator()).done;) {\n var character = _step.value;\n result += parsePhoneNumberCharacter(character, result) || '';\n }\n\n return result;\n}\n/**\r\n * Parses next character while parsing phone number digits (including a `+`)\r\n * from text: discards everything except `+` and digits, and `+` is only allowed\r\n * at the start of a phone number.\r\n * For example, is used in `react-phone-number-input` where it uses\r\n * [`input-format`](https://gitlab.com/catamphetamine/input-format).\r\n * @param {string} character - Yet another character from raw input string.\r\n * @param {string?} prevParsedCharacters - Previous parsed characters.\r\n * @param {function?} emitEvent - An optional \"emit event\" function.\r\n * @return {string?} The parsed character.\r\n */\n\nexport function parsePhoneNumberCharacter(character, prevParsedCharacters, emitEvent) {\n // Only allow a leading `+`.\n if (character === '+') {\n // If this `+` is not the first parsed character\n // then discard it.\n if (prevParsedCharacters) {\n // `emitEvent` argument was added to this `export`ed function on Dec 26th, 2023.\n // Any 3rd-party code that used to `import` and call this function before that\n // won't be passing any `emitEvent` argument.\n //\n // The addition of the `emitEvent` argument was to fix the slightly-weird behavior\n // of parsing an input string when the user inputs something like `\"2+7\"\n // https://github.com/catamphetamine/react-phone-number-input/issues/437\n //\n // If the parser encounters an unexpected `+` in a string being parsed\n // then it simply discards that out-of-place `+` and any following characters.\n //\n if (typeof emitEvent === 'function') {\n emitEvent('end');\n }\n\n return;\n }\n\n return '+';\n } // Allow digits.\n\n\n return parseDigit(character);\n}\n//# sourceMappingURL=parseIncompletePhoneNumber.js.map","function _createForOfIteratorHelperLoose(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (it) return (it = it.call(o)).next.bind(it); if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\n/**\r\n * Merges two arrays.\r\n * @param {*} a\r\n * @param {*} b\r\n * @return {*}\r\n */\nexport default function mergeArrays(a, b) {\n var merged = a.slice();\n\n for (var _iterator = _createForOfIteratorHelperLoose(b), _step; !(_step = _iterator()).done;) {\n var element = _step.value;\n\n if (a.indexOf(element) < 0) {\n merged.push(element);\n }\n }\n\n return merged.sort(function (a, b) {\n return a - b;\n }); // ES6 version, requires Set polyfill.\n // let merged = new Set(a)\n // for (const element of b) {\n // \tmerged.add(i)\n // }\n // return Array.from(merged).sort((a, b) => a - b)\n}\n//# sourceMappingURL=mergeArrays.js.map","import mergeArrays from './mergeArrays.js';\nexport default function checkNumberLength(nationalNumber, metadata) {\n return checkNumberLengthForType(nationalNumber, undefined, metadata);\n} // Checks whether a number is possible for the country based on its length.\n// Should only be called for the \"new\" metadata which has \"possible lengths\".\n\nexport function checkNumberLengthForType(nationalNumber, type, metadata) {\n var type_info = metadata.type(type); // There should always be \"<possiblePengths/>\" set for every type element.\n // This is declared in the XML schema.\n // For size efficiency, where a sub-description (e.g. fixed-line)\n // has the same \"<possiblePengths/>\" as the \"general description\", this is missing,\n // so we fall back to the \"general description\". Where no numbers of the type\n // exist at all, there is one possible length (-1) which is guaranteed\n // not to match the length of any real phone number.\n\n var possible_lengths = type_info && type_info.possibleLengths() || metadata.possibleLengths(); // let local_lengths = type_info && type.possibleLengthsLocal() || metadata.possibleLengthsLocal()\n // Metadata before version `1.0.18` didn't contain `possible_lengths`.\n\n if (!possible_lengths) {\n return 'IS_POSSIBLE';\n }\n\n if (type === 'FIXED_LINE_OR_MOBILE') {\n // No such country in metadata.\n\n /* istanbul ignore next */\n if (!metadata.type('FIXED_LINE')) {\n // The rare case has been encountered where no fixedLine data is available\n // (true for some non-geographic entities), so we just check mobile.\n return checkNumberLengthForType(nationalNumber, 'MOBILE', metadata);\n }\n\n var mobile_type = metadata.type('MOBILE');\n\n if (mobile_type) {\n // Merge the mobile data in if there was any. \"Concat\" creates a new\n // array, it doesn't edit possible_lengths in place, so we don't need a copy.\n // Note that when adding the possible lengths from mobile, we have\n // to again check they aren't empty since if they are this indicates\n // they are the same as the general desc and should be obtained from there.\n possible_lengths = mergeArrays(possible_lengths, mobile_type.possibleLengths()); // The current list is sorted; we need to merge in the new list and\n // re-sort (duplicates are okay). Sorting isn't so expensive because\n // the lists are very small.\n // if (local_lengths) {\n // \tlocal_lengths = mergeArrays(local_lengths, mobile_type.possibleLengthsLocal())\n // } else {\n // \tlocal_lengths = mobile_type.possibleLengthsLocal()\n // }\n }\n } // If the type doesn't exist then return 'INVALID_LENGTH'.\n else if (type && !type_info) {\n return 'INVALID_LENGTH';\n }\n\n var actual_length = nationalNumber.length; // In `libphonenumber-js` all \"local-only\" formats are dropped for simplicity.\n // // This is safe because there is never an overlap beween the possible lengths\n // // and the local-only lengths; this is checked at build time.\n // if (local_lengths && local_lengths.indexOf(nationalNumber.length) >= 0)\n // {\n // \treturn 'IS_POSSIBLE_LOCAL_ONLY'\n // }\n\n var minimum_length = possible_lengths[0];\n\n if (minimum_length === actual_length) {\n return 'IS_POSSIBLE';\n }\n\n if (minimum_length > actual_length) {\n return 'TOO_SHORT';\n }\n\n if (possible_lengths[possible_lengths.length - 1] < actual_length) {\n return 'TOO_LONG';\n } // We skip the first element since we've already checked it.\n\n\n return possible_lengths.indexOf(actual_length, 1) >= 0 ? 'IS_POSSIBLE' : 'INVALID_LENGTH';\n}\n//# sourceMappingURL=checkNumberLength.js.map","import Metadata from './metadata.js';\nimport checkNumberLength from './helpers/checkNumberLength.js';\n/**\r\n * Checks if a phone number is \"possible\" (basically just checks its length).\r\n *\r\n * isPossible(phoneNumberInstance, { ..., v2: true }, metadata)\r\n *\r\n * isPossible({ phone: '8005553535', country: 'RU' }, { ... }, metadata)\r\n * isPossible({ phone: '8005553535', country: 'RU' }, undefined, metadata)\r\n *\r\n * @param {object|PhoneNumber} input — If `options.v2: true` flag is passed, the `input` should be a `PhoneNumber` instance. Otherwise, it should be an object of shape `{ phone: '...', country: '...' }`.\r\n * @param {object} [options]\r\n * @param {object} metadata\r\n * @return {string}\r\n */\n\nexport default function isPossiblePhoneNumber(input, options, metadata) {\n /* istanbul ignore if */\n if (options === undefined) {\n options = {};\n }\n\n metadata = new Metadata(metadata);\n\n if (options.v2) {\n if (!input.countryCallingCode) {\n throw new Error('Invalid phone number object passed');\n }\n\n metadata.selectNumberingPlan(input.countryCallingCode);\n } else {\n if (!input.phone) {\n return false;\n }\n\n if (input.country) {\n if (!metadata.hasCountry(input.country)) {\n throw new Error(\"Unknown country: \".concat(input.country));\n }\n\n metadata.country(input.country);\n } else {\n if (!input.countryCallingCode) {\n throw new Error('Invalid phone number object passed');\n }\n\n metadata.selectNumberingPlan(input.countryCallingCode);\n }\n } // Old metadata (< 1.0.18) had no \"possible length\" data.\n\n\n if (metadata.possibleLengths()) {\n return isPossibleNumber(input.phone || input.nationalNumber, metadata);\n } else {\n // There was a bug between `1.7.35` and `1.7.37` where \"possible_lengths\"\n // were missing for \"non-geographical\" numbering plans.\n // Just assume the number is possible in such cases:\n // it's unlikely that anyone generated their custom metadata\n // in that short period of time (one day).\n // This code can be removed in some future major version update.\n if (input.countryCallingCode && metadata.isNonGeographicCallingCode(input.countryCallingCode)) {\n // \"Non-geographic entities\" did't have `possibleLengths`\n // due to a bug in metadata generation process.\n return true;\n } else {\n throw new Error('Missing \"possibleLengths\" in metadata. Perhaps the metadata has been generated before v1.0.18.');\n }\n }\n}\nexport function isPossibleNumber(nationalNumber, metadata) {\n //, isInternational) {\n switch (checkNumberLength(nationalNumber, metadata)) {\n case 'IS_POSSIBLE':\n return true;\n // This library ignores \"local-only\" phone numbers (for simplicity).\n // See the readme for more info on what are \"local-only\" phone numbers.\n // case 'IS_POSSIBLE_LOCAL_ONLY':\n // \treturn !isInternational\n\n default:\n return false;\n }\n}\n//# sourceMappingURL=isPossible.js.map","/**\r\n * Checks whether the entire input sequence can be matched\r\n * against the regular expression.\r\n * @return {boolean}\r\n */\nexport default function matchesEntirely(text, regular_expression) {\n // If assigning the `''` default value is moved to the arguments above,\n // code coverage would decrease for some weird reason.\n text = text || '';\n return new RegExp('^(?:' + regular_expression + ')$').test(text);\n}\n//# sourceMappingURL=matchesEntirely.js.map","function _createForOfIteratorHelperLoose(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (it) return (it = it.call(o)).next.bind(it); if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nimport Metadata from '../metadata.js';\nimport matchesEntirely from './matchesEntirely.js';\nvar NON_FIXED_LINE_PHONE_TYPES = ['MOBILE', 'PREMIUM_RATE', 'TOLL_FREE', 'SHARED_COST', 'VOIP', 'PERSONAL_NUMBER', 'PAGER', 'UAN', 'VOICEMAIL']; // Finds out national phone number type (fixed line, mobile, etc)\n\nexport default function getNumberType(input, options, metadata) {\n // If assigning the `{}` default value is moved to the arguments above,\n // code coverage would decrease for some weird reason.\n options = options || {}; // When `parse()` returns an empty object — `{}` —\n // that means that the phone number is malformed,\n // so it can't possibly be valid.\n\n if (!input.country && !input.countryCallingCode) {\n return;\n }\n\n metadata = new Metadata(metadata);\n metadata.selectNumberingPlan(input.country, input.countryCallingCode);\n var nationalNumber = options.v2 ? input.nationalNumber : input.phone; // The following is copy-pasted from the original function:\n // https://github.com/googlei18n/libphonenumber/blob/3ea547d4fbaa2d0b67588904dfa5d3f2557c27ff/javascript/i18n/phonenumbers/phonenumberutil.js#L2835\n // Is this national number even valid for this country\n\n if (!matchesEntirely(nationalNumber, metadata.nationalNumberPattern())) {\n return;\n } // Is it fixed line number\n\n\n if (isNumberTypeEqualTo(nationalNumber, 'FIXED_LINE', metadata)) {\n // Because duplicate regular expressions are removed\n // to reduce metadata size, if \"mobile\" pattern is \"\"\n // then it means it was removed due to being a duplicate of the fixed-line pattern.\n //\n if (metadata.type('MOBILE') && metadata.type('MOBILE').pattern() === '') {\n return 'FIXED_LINE_OR_MOBILE';\n } // `MOBILE` type pattern isn't included if it matched `FIXED_LINE` one.\n // For example, for \"US\" country.\n // Old metadata (< `1.0.18`) had a specific \"types\" data structure\n // that happened to be `undefined` for `MOBILE` in that case.\n // Newer metadata (>= `1.0.18`) has another data structure that is\n // not `undefined` for `MOBILE` in that case (it's just an empty array).\n // So this `if` is just for backwards compatibility with old metadata.\n\n\n if (!metadata.type('MOBILE')) {\n return 'FIXED_LINE_OR_MOBILE';\n } // Check if the number happens to qualify as both fixed line and mobile.\n // (no such country in the minimal metadata set)\n\n /* istanbul ignore if */\n\n\n if (isNumberTypeEqualTo(nationalNumber, 'MOBILE', metadata)) {\n return 'FIXED_LINE_OR_MOBILE';\n }\n\n return 'FIXED_LINE';\n }\n\n for (var _iterator = _createForOfIteratorHelperLoose(NON_FIXED_LINE_PHONE_TYPES), _step; !(_step = _iterator()).done;) {\n var type = _step.value;\n\n if (isNumberTypeEqualTo(nationalNumber, type, metadata)) {\n return type;\n }\n }\n}\nexport function isNumberTypeEqualTo(nationalNumber, type, metadata) {\n type = metadata.type(type);\n\n if (!type || !type.pattern()) {\n return false;\n } // Check if any possible number lengths are present;\n // if so, we use them to avoid checking\n // the validation pattern if they don't match.\n // If they are absent, this means they match\n // the general description, which we have\n // already checked before a specific number type.\n\n\n if (type.possibleLengths() && type.possibleLengths().indexOf(nationalNumber.length) < 0) {\n return false;\n }\n\n return matchesEntirely(nationalNumber, type.pattern());\n}\n//# sourceMappingURL=getNumberType.js.map","import Metadata from './metadata.js';\nimport matchesEntirely from './helpers/matchesEntirely.js';\nimport getNumberType from './helpers/getNumberType.js';\n/**\r\n * Checks if a given phone number is valid.\r\n *\r\n * isValid(phoneNumberInstance, { ..., v2: true }, metadata)\r\n *\r\n * isPossible({ phone: '8005553535', country: 'RU' }, { ... }, metadata)\r\n * isPossible({ phone: '8005553535', country: 'RU' }, undefined, metadata)\r\n *\r\n * If the `number` is a string, it will be parsed to an object,\r\n * but only if it contains only valid phone number characters (including punctuation).\r\n * If the `number` is an object, it is used as is.\r\n *\r\n * The optional `defaultCountry` argument is the default country.\r\n * I.e. it does not restrict to just that country,\r\n * e.g. in those cases where several countries share\r\n * the same phone numbering rules (NANPA, Britain, etc).\r\n * For example, even though the number `07624 369230`\r\n * belongs to the Isle of Man (\"IM\" country code)\r\n * calling `isValidNumber('07624369230', 'GB', metadata)`\r\n * still returns `true` because the country is not restricted to `GB`,\r\n * it's just that `GB` is the default one for the phone numbering rules.\r\n * For restricting the country see `isValidNumberForRegion()`\r\n * though restricting a country might not be a good idea.\r\n * https://github.com/googlei18n/libphonenumber/blob/master/FAQ.md#when-should-i-use-isvalidnumberforregion\r\n *\r\n * Examples:\r\n *\r\n * ```js\r\n * isValidNumber('+78005553535', metadata)\r\n * isValidNumber('8005553535', 'RU', metadata)\r\n * isValidNumber('88005553535', 'RU', metadata)\r\n * isValidNumber({ phone: '8005553535', country: 'RU' }, metadata)\r\n * ```\r\n */\n\nexport default function isValidNumber(input, options, metadata) {\n // If assigning the `{}` default value is moved to the arguments above,\n // code coverage would decrease for some weird reason.\n options = options || {};\n metadata = new Metadata(metadata);\n metadata.selectNumberingPlan(input.country, input.countryCallingCode); // By default, countries only have type regexps when it's required for\n // distinguishing different countries having the same `countryCallingCode`.\n\n if (metadata.hasTypes()) {\n return getNumberType(input, options, metadata.metadata) !== undefined;\n } // If there are no type regexps for this country in metadata then use\n // `nationalNumberPattern` as a \"better than nothing\" replacement.\n\n\n var nationalNumber = options.v2 ? input.nationalNumber : input.phone;\n return matchesEntirely(nationalNumber, metadata.nationalNumberPattern());\n}\n//# sourceMappingURL=isValid.js.map","import Metadata from '../metadata.js';\n/**\r\n * Returns a list of countries that the phone number could potentially belong to.\r\n * @param {string} callingCode — Calling code.\r\n * @param {string} nationalNumber — National (significant) number.\r\n * @param {object} metadata — Metadata.\r\n * @return {string[]} A list of possible countries.\r\n */\n\nexport default function getPossibleCountriesForNumber(callingCode, nationalNumber, metadata) {\n var _metadata = new Metadata(metadata);\n\n var possibleCountries = _metadata.getCountryCodesForCallingCode(callingCode);\n\n if (!possibleCountries) {\n return [];\n }\n\n return possibleCountries.filter(function (country) {\n return couldNationalNumberBelongToCountry(nationalNumber, country, metadata);\n });\n}\n\nfunction couldNationalNumberBelongToCountry(nationalNumber, country, metadata) {\n var _metadata = new Metadata(metadata);\n\n _metadata.selectNumberingPlan(country);\n\n if (_metadata.numberingPlan.possibleLengths().indexOf(nationalNumber.length) >= 0) {\n return true;\n }\n\n return false;\n}\n//# sourceMappingURL=getPossibleCountriesForNumber.js.map","import { VALID_PUNCTUATION } from '../constants.js'; // Removes brackets and replaces dashes with spaces.\n//\n// E.g. \"(999) 111-22-33\" -> \"999 111 22 33\"\n//\n// For some reason Google's metadata contains `<intlFormat/>`s with brackets and dashes.\n// Meanwhile, there's no single opinion about using punctuation in international phone numbers.\n//\n// For example, Google's `<intlFormat/>` for USA is `+1 213-373-4253`.\n// And here's a quote from WikiPedia's \"North American Numbering Plan\" page:\n// https://en.wikipedia.org/wiki/North_American_Numbering_Plan\n//\n// \"The country calling code for all countries participating in the NANP is 1.\n// In international format, an NANP number should be listed as +1 301 555 01 00,\n// where 301 is an area code (Maryland).\"\n//\n// I personally prefer the international format without any punctuation.\n// For example, brackets are remnants of the old age, meaning that the\n// phone number part in brackets (so called \"area code\") can be omitted\n// if dialing within the same \"area\".\n// And hyphens were clearly introduced for splitting local numbers into memorizable groups.\n// For example, remembering \"5553535\" is difficult but \"555-35-35\" is much simpler.\n// Imagine a man taking a bus from home to work and seeing an ad with a phone number.\n// He has a couple of seconds to memorize that number until it passes by.\n// If it were spaces instead of hyphens the man wouldn't necessarily get it,\n// but with hyphens instead of spaces the grouping is more explicit.\n// I personally think that hyphens introduce visual clutter,\n// so I prefer replacing them with spaces in international numbers.\n// In the modern age all output is done on displays where spaces are clearly distinguishable\n// so hyphens can be safely replaced with spaces without losing any legibility.\n//\n\nexport default function applyInternationalSeparatorStyle(formattedNumber) {\n return formattedNumber.replace(new RegExp(\"[\".concat(VALID_PUNCTUATION, \"]+\"), 'g'), ' ').trim();\n}\n//# sourceMappingURL=applyInternationalSeparatorStyle.js.map","import applyInternationalSeparatorStyle from './applyInternationalSeparatorStyle.js'; // This was originally set to $1 but there are some countries for which the\n// first group is not used in the national pattern (e.g. Argentina) so the $1\n// group does not match correctly. Therefore, we use `\\d`, so that the first\n// group actually used in the pattern will be matched.\n\nexport var FIRST_GROUP_PATTERN = /(\\$\\d)/;\nexport default function formatNationalNumberUsingFormat(number, format, _ref) {\n var useInternationalFormat = _ref.useInternationalFormat,\n withNationalPrefix = _ref.withNationalPrefix,\n carrierCode = _ref.carrierCode,\n metadata = _ref.metadata;\n var formattedNumber = number.replace(new RegExp(format.pattern()), useInternationalFormat ? format.internationalFormat() : // This library doesn't use `domestic_carrier_code_formatting_rule`,\n // because that one is only used when formatting phone numbers\n // for dialing from a mobile phone, and this is not a dialing library.\n // carrierCode && format.domesticCarrierCodeFormattingRule()\n // \t// First, replace the $CC in the formatting rule with the desired carrier code.\n // \t// Then, replace the $FG in the formatting rule with the first group\n // \t// and the carrier code combined in the appropriate way.\n // \t? format.format().replace(FIRST_GROUP_PATTERN, format.domesticCarrierCodeFormattingRule().replace('$CC', carrierCode))\n // \t: (\n // \t\twithNationalPrefix && format.nationalPrefixFormattingRule()\n // \t\t\t? format.format().replace(FIRST_GROUP_PATTERN, format.nationalPrefixFormattingRule())\n // \t\t\t: format.format()\n // \t)\n withNationalPrefix && format.nationalPrefixFormattingRule() ? format.format().replace(FIRST_GROUP_PATTERN, format.nationalPrefixFormattingRule()) : format.format());\n\n if (useInternationalFormat) {\n return applyInternationalSeparatorStyle(formattedNumber);\n }\n\n return formattedNumber;\n}\n//# sourceMappingURL=formatNationalNumberUsingFormat.js.map","import Metadata from '../metadata.js';\n/**\r\n * Pattern that makes it easy to distinguish whether a region has a single\r\n * international dialing prefix or not. If a region has a single international\r\n * prefix (e.g. 011 in USA), it will be represented as a string that contains\r\n * a sequence of ASCII digits, and possibly a tilde, which signals waiting for\r\n * the tone. If there are multiple available international prefixes in a\r\n * region, they will be represented as a regex string that always contains one\r\n * or more characters that are not ASCII digits or a tilde.\r\n */\n\nvar SINGLE_IDD_PREFIX_REG_EXP = /^[\\d]+(?:[~\\u2053\\u223C\\uFF5E][\\d]+)?$/; // For regions that have multiple IDD prefixes\n// a preferred IDD prefix is returned.\n\nexport default function getIddPrefix(country, callingCode, metadata) {\n var countryMetadata = new Metadata(metadata);\n countryMetadata.selectNumberingPlan(country, callingCode);\n\n if (countryMetadata.defaultIDDPrefix()) {\n return countryMetadata.defaultIDDPrefix();\n }\n\n if (SINGLE_IDD_PREFIX_REG_EXP.test(countryMetadata.IDDPrefix())) {\n return countryMetadata.IDDPrefix();\n }\n}\n//# sourceMappingURL=getIddPrefix.js.map","function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction _createForOfIteratorHelperLoose(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (it) return (it = it.call(o)).next.bind(it); if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nimport isViablePhoneNumber from './isViablePhoneNumber.js'; // https://www.ietf.org/rfc/rfc3966.txt\n\n/**\r\n * @param {string} text - Phone URI (RFC 3966).\r\n * @return {object} `{ ?number, ?ext }`.\r\n */\n\nexport function parseRFC3966(text) {\n var number;\n var ext; // Replace \"tel:\" with \"tel=\" for parsing convenience.\n\n text = text.replace(/^tel:/, 'tel=');\n\n for (var _iterator = _createForOfIteratorHelperLoose(text.split(';')), _step; !(_step = _iterator()).done;) {\n var part = _step.value;\n\n var _part$split = part.split('='),\n _part$split2 = _slicedToArray(_part$split, 2),\n name = _part$split2[0],\n value = _part$split2[1];\n\n switch (name) {\n case 'tel':\n number = value;\n break;\n\n case 'ext':\n ext = value;\n break;\n\n case 'phone-context':\n // Only \"country contexts\" are supported.\n // \"Domain contexts\" are ignored.\n if (value[0] === '+') {\n number = value + number;\n }\n\n break;\n }\n } // If the phone number is not viable, then abort.\n\n\n if (!isViablePhoneNumber(number)) {\n return {};\n }\n\n var result = {\n number: number\n };\n\n if (ext) {\n result.ext = ext;\n }\n\n return result;\n}\n/**\r\n * @param {object} - `{ ?number, ?extension }`.\r\n * @return {string} Phone URI (RFC 3966).\r\n */\n\nexport function formatRFC3966(_ref) {\n var number = _ref.number,\n ext = _ref.ext;\n\n if (!number) {\n return '';\n }\n\n if (number[0] !== '+') {\n throw new Error(\"\\\"formatRFC3966()\\\" expects \\\"number\\\" to be in E.164 format.\");\n }\n\n return \"tel:\".concat(number).concat(ext ? ';ext=' + ext : '');\n}\n//# sourceMappingURL=RFC3966.js.map","function _createForOfIteratorHelperLoose(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (it) return (it = it.call(o)).next.bind(it); if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n// This is a port of Google Android `libphonenumber`'s\n// `phonenumberutil.js` of December 31th, 2018.\n//\n// https://github.com/googlei18n/libphonenumber/commits/master/javascript/i18n/phonenumbers/phonenumberutil.js\nimport matchesEntirely from './helpers/matchesEntirely.js';\nimport formatNationalNumberUsingFormat from './helpers/formatNationalNumberUsingFormat.js';\nimport Metadata, { getCountryCallingCode } from './metadata.js';\nimport getIddPrefix from './helpers/getIddPrefix.js';\nimport { formatRFC3966 } from './helpers/RFC3966.js';\nvar DEFAULT_OPTIONS = {\n formatExtension: function formatExtension(formattedNumber, extension, metadata) {\n return \"\".concat(formattedNumber).concat(metadata.ext()).concat(extension);\n }\n};\n/**\r\n * Formats a phone number.\r\n *\r\n * format(phoneNumberInstance, 'INTERNATIONAL', { ..., v2: true }, metadata)\r\n * format(phoneNumberInstance, 'NATIONAL', { ..., v2: true }, metadata)\r\n *\r\n * format({ phone: '8005553535', country: 'RU' }, 'INTERNATIONAL', { ... }, metadata)\r\n * format({ phone: '8005553535', country: 'RU' }, 'NATIONAL', undefined, metadata)\r\n *\r\n * @param {object|PhoneNumber} input — If `options.v2: true` flag is passed, the `input` should be a `PhoneNumber` instance. Otherwise, it should be an object of shape `{ phone: '...', country: '...' }`.\r\n * @param {string} format\r\n * @param {object} [options]\r\n * @param {object} metadata\r\n * @return {string}\r\n */\n\nexport default function formatNumber(input, format, options, metadata) {\n // Apply default options.\n if (options) {\n options = _objectSpread(_objectSpread({}, DEFAULT_OPTIONS), options);\n } else {\n options = DEFAULT_OPTIONS;\n }\n\n metadata = new Metadata(metadata);\n\n if (input.country && input.country !== '001') {\n // Validate `input.country`.\n if (!metadata.hasCountry(input.country)) {\n throw new Error(\"Unknown country: \".concat(input.country));\n }\n\n metadata.country(input.country);\n } else if (input.countryCallingCode) {\n metadata.selectNumberingPlan(input.countryCallingCode);\n } else return input.phone || '';\n\n var countryCallingCode = metadata.countryCallingCode();\n var nationalNumber = options.v2 ? input.nationalNumber : input.phone; // This variable should have been declared inside `case`s\n // but Babel has a bug and it says \"duplicate variable declaration\".\n\n var number;\n\n switch (format) {\n case 'NATIONAL':\n // Legacy argument support.\n // (`{ country: ..., phone: '' }`)\n if (!nationalNumber) {\n return '';\n }\n\n number = formatNationalNumber(nationalNumber, input.carrierCode, 'NATIONAL', metadata, options);\n return addExtension(number, input.ext, metadata, options.formatExtension);\n\n case 'INTERNATIONAL':\n // Legacy argument support.\n // (`{ country: ..., phone: '' }`)\n if (!nationalNumber) {\n return \"+\".concat(countryCallingCode);\n }\n\n number = formatNationalNumber(nationalNumber, null, 'INTERNATIONAL', metadata, options);\n number = \"+\".concat(countryCallingCode, \" \").concat(number);\n return addExtension(number, input.ext, metadata, options.formatExtension);\n\n case 'E.164':\n // `E.164` doesn't define \"phone number extensions\".\n return \"+\".concat(countryCallingCode).concat(nationalNumber);\n\n case 'RFC3966':\n return formatRFC3966({\n number: \"+\".concat(countryCallingCode).concat(nationalNumber),\n ext: input.ext\n });\n // For reference, here's Google's IDD formatter:\n // https://github.com/google/libphonenumber/blob/32719cf74e68796788d1ca45abc85dcdc63ba5b9/java/libphonenumber/src/com/google/i18n/phonenumbers/PhoneNumberUtil.java#L1546\n // Not saying that this IDD formatter replicates it 1:1, but it seems to work.\n // Who would even need to format phone numbers in IDD format anyway?\n\n case 'IDD':\n if (!options.fromCountry) {\n return; // throw new Error('`fromCountry` option not passed for IDD-prefixed formatting.')\n }\n\n var formattedNumber = formatIDD(nationalNumber, input.carrierCode, countryCallingCode, options.fromCountry, metadata);\n return addExtension(formattedNumber, input.ext, metadata, options.formatExtension);\n\n default:\n throw new Error(\"Unknown \\\"format\\\" argument passed to \\\"formatNumber()\\\": \\\"\".concat(format, \"\\\"\"));\n }\n}\n\nfunction formatNationalNumber(number, carrierCode, formatAs, metadata, options) {\n var format = chooseFormatForNumber(metadata.formats(), number);\n\n if (!format) {\n return number;\n }\n\n return formatNationalNumberUsingFormat(number, format, {\n useInternationalFormat: formatAs === 'INTERNATIONAL',\n withNationalPrefix: format.nationalPrefixIsOptionalWhenFormattingInNationalFormat() && options && options.nationalPrefix === false ? false : true,\n carrierCode: carrierCode,\n metadata: metadata\n });\n}\n\nexport function chooseFormatForNumber(availableFormats, nationalNnumber) {\n for (var _iterator = _createForOfIteratorHelperLoose(availableFormats), _step; !(_step = _iterator()).done;) {\n var format = _step.value;\n\n // Validate leading digits.\n // The test case for \"else path\" could be found by searching for\n // \"format.leadingDigitsPatterns().length === 0\".\n if (format.leadingDigitsPatterns().length > 0) {\n // The last leading_digits_pattern is used here, as it is the most detailed\n var lastLeadingDigitsPattern = format.leadingDigitsPatterns()[format.leadingDigitsPatterns().length - 1]; // If leading digits don't match then move on to the next phone number format\n\n if (nationalNnumber.search(lastLeadingDigitsPattern) !== 0) {\n continue;\n }\n } // Check that the national number matches the phone number format regular expression\n\n\n if (matchesEntirely(nationalNnumber, format.pattern())) {\n return format;\n }\n }\n}\n\nfunction addExtension(formattedNumber, ext, metadata, formatExtension) {\n return ext ? formatExtension(formattedNumber, ext, metadata) : formattedNumber;\n}\n\nfunction formatIDD(nationalNumber, carrierCode, countryCallingCode, fromCountry, metadata) {\n var fromCountryCallingCode = getCountryCallingCode(fromCountry, metadata.metadata); // When calling within the same country calling code.\n\n if (fromCountryCallingCode === countryCallingCode) {\n var formattedNumber = formatNationalNumber(nationalNumber, carrierCode, 'NATIONAL', metadata); // For NANPA regions, return the national format for these regions\n // but prefix it with the country calling code.\n\n if (countryCallingCode === '1') {\n return countryCallingCode + ' ' + formattedNumber;\n } // If regions share a country calling code, the country calling code need\n // not be dialled. This also applies when dialling within a region, so this\n // if clause covers both these cases. Technically this is the case for\n // dialling from La Reunion to other overseas departments of France (French\n // Guiana, Martinique, Guadeloupe), but not vice versa - so we don't cover\n // this edge case for now and for those cases return the version including\n // country calling code. Details here:\n // http://www.petitfute.com/voyage/225-info-pratiques-reunion\n //\n\n\n return formattedNumber;\n }\n\n var iddPrefix = getIddPrefix(fromCountry, undefined, metadata.metadata);\n\n if (iddPrefix) {\n return \"\".concat(iddPrefix, \" \").concat(countryCallingCode, \" \").concat(formatNationalNumber(nationalNumber, null, 'INTERNATIONAL', metadata));\n }\n}\n//# sourceMappingURL=format.js.map","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\nimport Metadata from './metadata.js';\nimport isPossibleNumber from './isPossible.js';\nimport isValidNumber from './isValid.js'; // import checkNumberLength from './helpers/checkNumberLength.js'\n\nimport getNumberType from './helpers/getNumberType.js';\nimport getPossibleCountriesForNumber from './helpers/getPossibleCountriesForNumber.js';\nimport formatNumber from './format.js';\nvar USE_NON_GEOGRAPHIC_COUNTRY_CODE = false;\n\nvar PhoneNumber = /*#__PURE__*/function () {\n /**\r\n * @param {string} countryOrCountryCallingCode\r\n * @param {string} nationalNumber\r\n * @param {object} metadata — Metadata JSON\r\n * @return {PhoneNumber}\r\n */\n function PhoneNumber(countryOrCountryCallingCode, nationalNumber, metadata) {\n _classCallCheck(this, PhoneNumber);\n\n if (!countryOrCountryCallingCode) {\n throw new TypeError('`country` or `countryCallingCode` not passed');\n }\n\n if (!nationalNumber) {\n throw new TypeError('`nationalNumber` not passed');\n }\n\n if (!metadata) {\n throw new TypeError('`metadata` not passed');\n }\n\n var _getCountryAndCountry = getCountryAndCountryCallingCode(countryOrCountryCallingCode, metadata),\n country = _getCountryAndCountry.country,\n countryCallingCode = _getCountryAndCountry.countryCallingCode;\n\n this.country = country;\n this.countryCallingCode = countryCallingCode;\n this.nationalNumber = nationalNumber;\n this.number = '+' + this.countryCallingCode + this.nationalNumber; // Exclude `metadata` property output from `PhoneNumber.toString()`\n // so that it doesn't clutter the console output of Node.js.\n // Previously, when Node.js did `console.log(new PhoneNumber(...))`,\n // it would output the whole internal structure of the `metadata` object.\n\n this.getMetadata = function () {\n return metadata;\n };\n }\n\n _createClass(PhoneNumber, [{\n key: \"setExt\",\n value: function setExt(ext) {\n this.ext = ext;\n }\n }, {\n key: \"getPossibleCountries\",\n value: function getPossibleCountries() {\n if (this.country) {\n return [this.country];\n }\n\n return getPossibleCountriesForNumber(this.countryCallingCode, this.nationalNumber, this.getMetadata());\n }\n }, {\n key: \"isPossible\",\n value: function isPossible() {\n return isPossibleNumber(this, {\n v2: true\n }, this.getMetadata());\n }\n }, {\n key: \"isValid\",\n value: function isValid() {\n return isValidNumber(this, {\n v2: true\n }, this.getMetadata());\n }\n }, {\n key: \"isNonGeographic\",\n value: function isNonGeographic() {\n var metadata = new Metadata(this.getMetadata());\n return metadata.isNonGeographicCallingCode(this.countryCallingCode);\n }\n }, {\n key: \"isEqual\",\n value: function isEqual(phoneNumber) {\n return this.number === phoneNumber.number && this.ext === phoneNumber.ext;\n } // This function was originally meant to be an equivalent for `validatePhoneNumberLength()`,\n // but later it was found out that it doesn't include the possible `TOO_SHORT` result\n // returned from `parsePhoneNumberWithError()` in the original `validatePhoneNumberLength()`,\n // so eventually I simply commented out this method from the `PhoneNumber` class\n // and just left the `validatePhoneNumberLength()` function, even though that one would require\n // and additional step to also validate the actual country / calling code of the phone number.\n // validateLength() {\n // \tconst metadata = new Metadata(this.getMetadata())\n // \tmetadata.selectNumberingPlan(this.countryCallingCode)\n // \tconst result = checkNumberLength(this.nationalNumber, metadata)\n // \tif (result !== 'IS_POSSIBLE') {\n // \t\treturn result\n // \t}\n // }\n\n }, {\n key: \"getType\",\n value: function getType() {\n return getNumberType(this, {\n v2: true\n }, this.getMetadata());\n }\n }, {\n key: \"format\",\n value: function format(_format, options) {\n return formatNumber(this, _format, options ? _objectSpread(_objectSpread({}, options), {}, {\n v2: true\n }) : {\n v2: true\n }, this.getMetadata());\n }\n }, {\n key: \"formatNational\",\n value: function formatNational(options) {\n return this.format('NATIONAL', options);\n }\n }, {\n key: \"formatInternational\",\n value: function formatInternational(options) {\n return this.format('INTERNATIONAL', options);\n }\n }, {\n key: \"getURI\",\n value: function getURI(options) {\n return this.format('RFC3966', options);\n }\n }]);\n\n return PhoneNumber;\n}();\n\nexport { PhoneNumber as default };\n\nvar isCountryCode = function isCountryCode(value) {\n return /^[A-Z]{2}$/.test(value);\n};\n\nfunction getCountryAndCountryCallingCode(countryOrCountryCallingCode, metadataJson) {\n var country;\n var countryCallingCode;\n var metadata = new Metadata(metadataJson); // If country code is passed then derive `countryCallingCode` from it.\n // Also store the country code as `.country`.\n\n if (isCountryCode(countryOrCountryCallingCode)) {\n country = countryOrCountryCallingCode;\n metadata.selectNumberingPlan(country);\n countryCallingCode = metadata.countryCallingCode();\n } else {\n countryCallingCode = countryOrCountryCallingCode;\n /* istanbul ignore if */\n\n if (USE_NON_GEOGRAPHIC_COUNTRY_CODE) {\n if (metadata.isNonGeographicCallingCode(countryCallingCode)) {\n country = '001';\n }\n }\n }\n\n return {\n country: country,\n countryCallingCode: countryCallingCode\n };\n}\n//# sourceMappingURL=PhoneNumber.js.map","import Metadata from '../metadata.js';\nimport { VALID_DIGITS } from '../constants.js';\nvar CAPTURING_DIGIT_PATTERN = new RegExp('([' + VALID_DIGITS + '])');\nexport default function stripIddPrefix(number, country, callingCode, metadata) {\n if (!country) {\n return;\n } // Check if the number is IDD-prefixed.\n\n\n var countryMetadata = new Metadata(metadata);\n countryMetadata.selectNumberingPlan(country, callingCode);\n var IDDPrefixPattern = new RegExp(countryMetadata.IDDPrefix());\n\n if (number.search(IDDPrefixPattern) !== 0) {\n return;\n } // Strip IDD prefix.\n\n\n number = number.slice(number.match(IDDPrefixPattern)[0].length); // If there're any digits after an IDD prefix,\n // then those digits are a country calling code.\n // Since no country code starts with a `0`,\n // the code below validates that the next digit (if present) is not `0`.\n\n var matchedGroups = number.match(CAPTURING_DIGIT_PATTERN);\n\n if (matchedGroups && matchedGroups[1] != null && matchedGroups[1].length > 0) {\n if (matchedGroups[1] === '0') {\n return;\n }\n }\n\n return number;\n}\n//# sourceMappingURL=stripIddPrefix.js.map","/**\r\n * Strips any national prefix (such as 0, 1) present in a\r\n * (possibly incomplete) number provided.\r\n * \"Carrier codes\" are only used in Colombia and Brazil,\r\n * and only when dialing within those countries from a mobile phone to a fixed line number.\r\n * Sometimes it won't actually strip national prefix\r\n * and will instead prepend some digits to the `number`:\r\n * for example, when number `2345678` is passed with `VI` country selected,\r\n * it will return `{ number: \"3402345678\" }`, because `340` area code is prepended.\r\n * @param {string} number — National number digits.\r\n * @param {object} metadata — Metadata with country selected.\r\n * @return {object} `{ nationalNumber: string, nationalPrefix: string? carrierCode: string? }`. Even if a national prefix was extracted, it's not necessarily present in the returned object, so don't rely on its presence in the returned object in order to find out whether a national prefix has been extracted or not.\r\n */\nexport default function extractNationalNumberFromPossiblyIncompleteNumber(number, metadata) {\n if (number && metadata.numberingPlan.nationalPrefixForParsing()) {\n // See METADATA.md for the description of\n // `national_prefix_for_parsing` and `national_prefix_transform_rule`.\n // Attempt to parse the first digits as a national prefix.\n var prefixPattern = new RegExp('^(?:' + metadata.numberingPlan.nationalPrefixForParsing() + ')');\n var prefixMatch = prefixPattern.exec(number);\n\n if (prefixMatch) {\n var nationalNumber;\n var carrierCode; // https://gitlab.com/catamphetamine/libphonenumber-js/-/blob/master/METADATA.md#national_prefix_for_parsing--national_prefix_transform_rule\n // If a `national_prefix_for_parsing` has any \"capturing groups\"\n // then it means that the national (significant) number is equal to\n // those \"capturing groups\" transformed via `national_prefix_transform_rule`,\n // and nothing could be said about the actual national prefix:\n // what is it and was it even there.\n // If a `national_prefix_for_parsing` doesn't have any \"capturing groups\",\n // then everything it matches is a national prefix.\n // To determine whether `national_prefix_for_parsing` matched any\n // \"capturing groups\", the value of the result of calling `.exec()`\n // is looked at, and if it has non-undefined values where there're\n // \"capturing groups\" in the regular expression, then it means\n // that \"capturing groups\" have been matched.\n // It's not possible to tell whether there'll be any \"capturing gropus\"\n // before the matching process, because a `national_prefix_for_parsing`\n // could exhibit both behaviors.\n\n var capturedGroupsCount = prefixMatch.length - 1;\n var hasCapturedGroups = capturedGroupsCount > 0 && prefixMatch[capturedGroupsCount];\n\n if (metadata.nationalPrefixTransformRule() && hasCapturedGroups) {\n nationalNumber = number.replace(prefixPattern, metadata.nationalPrefixTransformRule()); // If there's more than one captured group,\n // then carrier code is the second one.\n\n if (capturedGroupsCount > 1) {\n carrierCode = prefixMatch[1];\n }\n } // If there're no \"capturing groups\",\n // or if there're \"capturing groups\" but no\n // `national_prefix_transform_rule`,\n // then just strip the national prefix from the number,\n // and possibly a carrier code.\n // Seems like there could be more.\n else {\n // `prefixBeforeNationalNumber` is the whole substring matched by\n // the `national_prefix_for_parsing` regular expression.\n // There seem to be no guarantees that it's just a national prefix.\n // For example, if there's a carrier code, it's gonna be a\n // part of `prefixBeforeNationalNumber` too.\n var prefixBeforeNationalNumber = prefixMatch[0];\n nationalNumber = number.slice(prefixBeforeNationalNumber.length); // If there's at least one captured group,\n // then carrier code is the first one.\n\n if (hasCapturedGroups) {\n carrierCode = prefixMatch[1];\n }\n } // Tries to guess whether a national prefix was present in the input.\n // This is not something copy-pasted from Google's library:\n // they don't seem to have an equivalent for that.\n // So this isn't an \"officially approved\" way of doing something like that.\n // But since there seems no other existing method, this library uses it.\n\n\n var nationalPrefix;\n\n if (hasCapturedGroups) {\n var possiblePositionOfTheFirstCapturedGroup = number.indexOf(prefixMatch[1]);\n var possibleNationalPrefix = number.slice(0, possiblePositionOfTheFirstCapturedGroup); // Example: an Argentinian (AR) phone number `0111523456789`.\n // `prefixMatch[0]` is `01115`, and `$1` is `11`,\n // and the rest of the phone number is `23456789`.\n // The national number is transformed via `9$1` to `91123456789`.\n // National prefix `0` is detected being present at the start.\n // if (possibleNationalPrefix.indexOf(metadata.numberingPlan.nationalPrefix()) === 0) {\n\n if (possibleNationalPrefix === metadata.numberingPlan.nationalPrefix()) {\n nationalPrefix = metadata.numberingPlan.nationalPrefix();\n }\n } else {\n nationalPrefix = prefixMatch[0];\n }\n\n return {\n nationalNumber: nationalNumber,\n nationalPrefix: nationalPrefix,\n carrierCode: carrierCode\n };\n }\n }\n\n return {\n nationalNumber: number\n };\n}\n//# sourceMappingURL=extractNationalNumberFromPossiblyIncompleteNumber.js.map","import extractNationalNumberFromPossiblyIncompleteNumber from './extractNationalNumberFromPossiblyIncompleteNumber.js';\nimport matchesEntirely from './matchesEntirely.js';\nimport checkNumberLength from './checkNumberLength.js';\n/**\r\n * Strips national prefix and carrier code from a complete phone number.\r\n * The difference from the non-\"FromCompleteNumber\" function is that\r\n * it won't extract national prefix if the resultant number is too short\r\n * to be a complete number for the selected phone numbering plan.\r\n * @param {string} number — Complete phone number digits.\r\n * @param {Metadata} metadata — Metadata with a phone numbering plan selected.\r\n * @return {object} `{ nationalNumber: string, carrierCode: string? }`.\r\n */\n\nexport default function extractNationalNumber(number, metadata) {\n // Parsing national prefixes and carrier codes\n // is only required for local phone numbers\n // but some people don't understand that\n // and sometimes write international phone numbers\n // with national prefixes (or maybe even carrier codes).\n // http://ucken.blogspot.ru/2016/03/trunk-prefixes-in-skype4b.html\n // Google's original library forgives such mistakes\n // and so does this library, because it has been requested:\n // https://github.com/catamphetamine/libphonenumber-js/issues/127\n var _extractNationalNumbe = extractNationalNumberFromPossiblyIncompleteNumber(number, metadata),\n carrierCode = _extractNationalNumbe.carrierCode,\n nationalNumber = _extractNationalNumbe.nationalNumber;\n\n if (nationalNumber !== number) {\n if (!shouldHaveExtractedNationalPrefix(number, nationalNumber, metadata)) {\n // Don't strip the national prefix.\n return {\n nationalNumber: number\n };\n } // Check the national (significant) number length after extracting national prefix and carrier code.\n // Legacy generated metadata (before `1.0.18`) didn't support the \"possible lengths\" feature.\n\n\n if (metadata.possibleLengths()) {\n // The number remaining after stripping the national prefix and carrier code\n // should be long enough to have a possible length for the country.\n // Otherwise, don't strip the national prefix and carrier code,\n // since the original number could be a valid number.\n // This check has been copy-pasted \"as is\" from Google's original library:\n // https://github.com/google/libphonenumber/blob/876268eb1ad6cdc1b7b5bef17fc5e43052702d57/java/libphonenumber/src/com/google/i18n/phonenumbers/PhoneNumberUtil.java#L3236-L3250\n // It doesn't check for the \"possibility\" of the original `number`.\n // I guess it's fine not checking that one. It works as is anyway.\n if (!isPossibleIncompleteNationalNumber(nationalNumber, metadata)) {\n // Don't strip the national prefix.\n return {\n nationalNumber: number\n };\n }\n }\n }\n\n return {\n nationalNumber: nationalNumber,\n carrierCode: carrierCode\n };\n} // In some countries, the same digit could be a national prefix\n// or a leading digit of a valid phone number.\n// For example, in Russia, national prefix is `8`,\n// and also `800 555 35 35` is a valid number\n// in which `8` is not a national prefix, but the first digit\n// of a national (significant) number.\n// Same's with Belarus:\n// `82004910060` is a valid national (significant) number,\n// but `2004910060` is not.\n// To support such cases (to prevent the code from always stripping\n// national prefix), a condition is imposed: a national prefix\n// is not extracted when the original number is \"viable\" and the\n// resultant number is not, a \"viable\" national number being the one\n// that matches `national_number_pattern`.\n\nfunction shouldHaveExtractedNationalPrefix(nationalNumberBefore, nationalNumberAfter, metadata) {\n // The equivalent in Google's code is:\n // https://github.com/google/libphonenumber/blob/e326fa1fc4283bb05eb35cb3c15c18f98a31af33/java/libphonenumber/src/com/google/i18n/phonenumbers/PhoneNumberUtil.java#L2969-L3004\n if (matchesEntirely(nationalNumberBefore, metadata.nationalNumberPattern()) && !matchesEntirely(nationalNumberAfter, metadata.nationalNumberPattern())) {\n return false;\n } // This \"is possible\" national number (length) check has been commented out\n // because it's superceded by the (effectively) same check done in the\n // `extractNationalNumber()` function after it calls `shouldHaveExtractedNationalPrefix()`.\n // In other words, why run the same check twice if it could only be run once.\n // // Check the national (significant) number length after extracting national prefix and carrier code.\n // // Fixes a minor \"weird behavior\" bug: https://gitlab.com/catamphetamine/libphonenumber-js/-/issues/57\n // // (Legacy generated metadata (before `1.0.18`) didn't support the \"possible lengths\" feature).\n // if (metadata.possibleLengths()) {\n // \tif (isPossibleIncompleteNationalNumber(nationalNumberBefore, metadata) &&\n // \t\t!isPossibleIncompleteNationalNumber(nationalNumberAfter, metadata)) {\n // \t\treturn false\n // \t}\n // }\n\n\n return true;\n}\n\nfunction isPossibleIncompleteNationalNumber(nationalNumber, metadata) {\n switch (checkNumberLength(nationalNumber, metadata)) {\n case 'TOO_SHORT':\n case 'INVALID_LENGTH':\n // This library ignores \"local-only\" phone numbers (for simplicity).\n // See the readme for more info on what are \"local-only\" phone numbers.\n // case 'IS_POSSIBLE_LOCAL_ONLY':\n return false;\n\n default:\n return true;\n }\n}\n//# sourceMappingURL=extractNationalNumber.js.map","import Metadata from '../metadata.js';\nimport matchesEntirely from './matchesEntirely.js';\nimport extractNationalNumber from './extractNationalNumber.js';\nimport checkNumberLength from './checkNumberLength.js';\nimport getCountryCallingCode from '../getCountryCallingCode.js';\n/**\r\n * Sometimes some people incorrectly input international phone numbers\r\n * without the leading `+`. This function corrects such input.\r\n * @param {string} number — Phone number digits.\r\n * @param {string?} country\r\n * @param {string?} callingCode\r\n * @param {object} metadata\r\n * @return {object} `{ countryCallingCode: string?, number: string }`.\r\n */\n\nexport default function extractCountryCallingCodeFromInternationalNumberWithoutPlusSign(number, country, callingCode, metadata) {\n var countryCallingCode = country ? getCountryCallingCode(country, metadata) : callingCode;\n\n if (number.indexOf(countryCallingCode) === 0) {\n metadata = new Metadata(metadata);\n metadata.selectNumberingPlan(country, callingCode);\n var possibleShorterNumber = number.slice(countryCallingCode.length);\n\n var _extractNationalNumbe = extractNationalNumber(possibleShorterNumber, metadata),\n possibleShorterNationalNumber = _extractNationalNumbe.nationalNumber;\n\n var _extractNationalNumbe2 = extractNationalNumber(number, metadata),\n nationalNumber = _extractNationalNumbe2.nationalNumber; // If the number was not valid before but is valid now,\n // or if it was too long before, we consider the number\n // with the country calling code stripped to be a better result\n // and keep that instead.\n // For example, in Germany (+49), `49` is a valid area code,\n // so if a number starts with `49`, it could be both a valid\n // national German number or an international number without\n // a leading `+`.\n\n\n if (!matchesEntirely(nationalNumber, metadata.nationalNumberPattern()) && matchesEntirely(possibleShorterNationalNumber, metadata.nationalNumberPattern()) || checkNumberLength(nationalNumber, metadata) === 'TOO_LONG') {\n return {\n countryCallingCode: countryCallingCode,\n number: possibleShorterNumber\n };\n }\n }\n\n return {\n number: number\n };\n}\n//# sourceMappingURL=extractCountryCallingCodeFromInternationalNumberWithoutPlusSign.js.map","import stripIddPrefix from './stripIddPrefix.js';\nimport extractCountryCallingCodeFromInternationalNumberWithoutPlusSign from './extractCountryCallingCodeFromInternationalNumberWithoutPlusSign.js';\nimport Metadata from '../metadata.js';\nimport { MAX_LENGTH_COUNTRY_CODE } from '../constants.js';\n/**\r\n * Converts a phone number digits (possibly with a `+`)\r\n * into a calling code and the rest phone number digits.\r\n * The \"rest phone number digits\" could include\r\n * a national prefix, carrier code, and national\r\n * (significant) number.\r\n * @param {string} number — Phone number digits (possibly with a `+`).\r\n * @param {string} [country] — Default country.\r\n * @param {string} [callingCode] — Default calling code (some phone numbering plans are non-geographic).\r\n * @param {object} metadata\r\n * @return {object} `{ countryCallingCodeSource: string?, countryCallingCode: string?, number: string }`\r\n * @example\r\n * // Returns `{ countryCallingCode: \"1\", number: \"2133734253\" }`.\r\n * extractCountryCallingCode('2133734253', 'US', null, metadata)\r\n * extractCountryCallingCode('2133734253', null, '1', metadata)\r\n * extractCountryCallingCode('+12133734253', null, null, metadata)\r\n * extractCountryCallingCode('+12133734253', 'RU', null, metadata)\r\n */\n\nexport default function extractCountryCallingCode(number, country, callingCode, metadata) {\n if (!number) {\n return {};\n }\n\n var isNumberWithIddPrefix; // If this is not an international phone number,\n // then either extract an \"IDD\" prefix, or extract a\n // country calling code from a number by autocorrecting it\n // by prepending a leading `+` in cases when it starts\n // with the country calling code.\n // https://wikitravel.org/en/International_dialling_prefix\n // https://github.com/catamphetamine/libphonenumber-js/issues/376\n\n if (number[0] !== '+') {\n // Convert an \"out-of-country\" dialing phone number\n // to a proper international phone number.\n var numberWithoutIDD = stripIddPrefix(number, country, callingCode, metadata); // If an IDD prefix was stripped then\n // convert the number to international one\n // for subsequent parsing.\n\n if (numberWithoutIDD && numberWithoutIDD !== number) {\n isNumberWithIddPrefix = true;\n number = '+' + numberWithoutIDD;\n } else {\n // Check to see if the number starts with the country calling code\n // for the default country. If so, we remove the country calling code,\n // and do some checks on the validity of the number before and after.\n // https://github.com/catamphetamine/libphonenumber-js/issues/376\n if (country || callingCode) {\n var _extractCountryCallin = extractCountryCallingCodeFromInternationalNumberWithoutPlusSign(number, country, callingCode, metadata),\n countryCallingCode = _extractCountryCallin.countryCallingCode,\n shorterNumber = _extractCountryCallin.number;\n\n if (countryCallingCode) {\n return {\n countryCallingCodeSource: 'FROM_NUMBER_WITHOUT_PLUS_SIGN',\n countryCallingCode: countryCallingCode,\n number: shorterNumber\n };\n }\n }\n\n return {\n // No need to set it to `UNSPECIFIED`. It can be just `undefined`.\n // countryCallingCodeSource: 'UNSPECIFIED',\n number: number\n };\n }\n } // Fast abortion: country codes do not begin with a '0'\n\n\n if (number[1] === '0') {\n return {};\n }\n\n metadata = new Metadata(metadata); // The thing with country phone codes\n // is that they are orthogonal to each other\n // i.e. there's no such country phone code A\n // for which country phone code B exists\n // where B starts with A.\n // Therefore, while scanning digits,\n // if a valid country code is found,\n // that means that it is the country code.\n //\n\n var i = 2;\n\n while (i - 1 <= MAX_LENGTH_COUNTRY_CODE && i <= number.length) {\n var _countryCallingCode = number.slice(1, i);\n\n if (metadata.hasCallingCode(_countryCallingCode)) {\n metadata.selectNumberingPlan(_countryCallingCode);\n return {\n countryCallingCodeSource: isNumberWithIddPrefix ? 'FROM_NUMBER_WITH_IDD' : 'FROM_NUMBER_WITH_PLUS_SIGN',\n countryCallingCode: _countryCallingCode,\n number: number.slice(i)\n };\n }\n\n i++;\n }\n\n return {};\n} // The possible values for the returned `countryCallingCodeSource` are:\n//\n// Copy-pasted from:\n// https://github.com/google/libphonenumber/blob/master/resources/phonenumber.proto\n//\n// // The source from which the country_code is derived. This is not set in the\n// // general parsing method, but in the method that parses and keeps raw_input.\n// // New fields could be added upon request.\n// enum CountryCodeSource {\n// // Default value returned if this is not set, because the phone number was\n// // created using parse, not parseAndKeepRawInput. hasCountryCodeSource will\n// // return false if this is the case.\n// UNSPECIFIED = 0;\n//\n// // The country_code is derived based on a phone number with a leading \"+\",\n// // e.g. the French number \"+33 1 42 68 53 00\".\n// FROM_NUMBER_WITH_PLUS_SIGN = 1;\n//\n// // The country_code is derived based on a phone number with a leading IDD,\n// // e.g. the French number \"011 33 1 42 68 53 00\", as it is dialled from US.\n// FROM_NUMBER_WITH_IDD = 5;\n//\n// // The country_code is derived based on a phone number without a leading\n// // \"+\", e.g. the French number \"33 1 42 68 53 00\" when defaultCountry is\n// // supplied as France.\n// FROM_NUMBER_WITHOUT_PLUS_SIGN = 10;\n//\n// // The country_code is derived NOT based on the phone number itself, but\n// // from the defaultCountry parameter provided in the parsing function by the\n// // clients. This happens mostly for numbers written in the national format\n// // (without country code). For example, this would be set when parsing the\n// // French number \"01 42 68 53 00\", when defaultCountry is supplied as\n// // France.\n// FROM_DEFAULT_COUNTRY = 20;\n// }\n//# sourceMappingURL=extractCountryCallingCode.js.map","function _createForOfIteratorHelperLoose(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (it) return (it = it.call(o)).next.bind(it); if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nimport Metadata from '../metadata.js';\nimport getNumberType from './getNumberType.js';\nexport default function getCountryByNationalNumber(nationalPhoneNumber, _ref) {\n var countries = _ref.countries,\n defaultCountry = _ref.defaultCountry,\n metadata = _ref.metadata;\n // Re-create `metadata` because it will be selecting a `country`.\n metadata = new Metadata(metadata); // const matchingCountries = []\n\n for (var _iterator = _createForOfIteratorHelperLoose(countries), _step; !(_step = _iterator()).done;) {\n var country = _step.value;\n metadata.country(country); // \"Leading digits\" patterns are only defined for about 20% of all countries.\n // By definition, matching \"leading digits\" is a sufficient but not a necessary\n // condition for a phone number to belong to a country.\n // The point of \"leading digits\" check is that it's the fastest one to get a match.\n // https://gitlab.com/catamphetamine/libphonenumber-js/blob/master/METADATA.md#leading_digits\n // I'd suppose that \"leading digits\" patterns are mutually exclusive for different countries\n // because of the intended use of that feature.\n\n if (metadata.leadingDigits()) {\n if (nationalPhoneNumber && nationalPhoneNumber.search(metadata.leadingDigits()) === 0) {\n return country;\n }\n } // Else perform full validation with all of those\n // fixed-line/mobile/etc regular expressions.\n else if (getNumberType({\n phone: nationalPhoneNumber,\n country: country\n }, undefined, metadata.metadata)) {\n // If both the `defaultCountry` and the \"main\" one match the phone number,\n // don't prefer the `defaultCountry` over the \"main\" one.\n // https://gitlab.com/catamphetamine/libphonenumber-js/-/issues/154\n return country; // // If the `defaultCountry` is among the `matchingCountries` then return it.\n // if (defaultCountry) {\n // \tif (country === defaultCountry) {\n // \t\treturn country\n // \t}\n // \tmatchingCountries.push(country)\n // } else {\n // \treturn country\n // }\n }\n } // // Return the first (\"main\") one of the `matchingCountries`.\n // if (matchingCountries.length > 0) {\n // \treturn matchingCountries[0]\n // }\n\n}\n//# sourceMappingURL=getCountryByNationalNumber.js.map","import getCountryByNationalNumber from './getCountryByNationalNumber.js';\nvar USE_NON_GEOGRAPHIC_COUNTRY_CODE = false;\nexport default function getCountryByCallingCode(callingCode, _ref) {\n var nationalPhoneNumber = _ref.nationalNumber,\n defaultCountry = _ref.defaultCountry,\n metadata = _ref.metadata;\n\n /* istanbul ignore if */\n if (USE_NON_GEOGRAPHIC_COUNTRY_CODE) {\n if (metadata.isNonGeographicCallingCode(callingCode)) {\n return '001';\n }\n }\n\n var possibleCountries = metadata.getCountryCodesForCallingCode(callingCode);\n\n if (!possibleCountries) {\n return;\n } // If there's just one country corresponding to the country code,\n // then just return it, without further phone number digits validation.\n\n\n if (possibleCountries.length === 1) {\n return possibleCountries[0];\n }\n\n return getCountryByNationalNumber(nationalPhoneNumber, {\n countries: possibleCountries,\n defaultCountry: defaultCountry,\n metadata: metadata.metadata\n });\n}\n//# sourceMappingURL=getCountryByCallingCode.js.map","// When phone numbers are written in `RFC3966` format — `\"tel:+12133734253\"` —\n// they can have their \"calling code\" part written separately in a `phone-context` parameter.\n// Example: `\"tel:12133734253;phone-context=+1\"`.\n// This function parses the full phone number from the local number and the `phone-context`\n// when the `phone-context` contains a `+` sign.\nimport { VALID_DIGITS // PLUS_CHARS\n} from '../constants.js';\nexport var PLUS_SIGN = '+';\nvar RFC3966_VISUAL_SEPARATOR_ = '[\\\\-\\\\.\\\\(\\\\)]?';\nvar RFC3966_PHONE_DIGIT_ = '(' + '[' + VALID_DIGITS + ']' + '|' + RFC3966_VISUAL_SEPARATOR_ + ')';\nvar RFC3966_GLOBAL_NUMBER_DIGITS_ = '^' + '\\\\' + PLUS_SIGN + RFC3966_PHONE_DIGIT_ + '*' + '[' + VALID_DIGITS + ']' + RFC3966_PHONE_DIGIT_ + '*' + '$';\n/**\r\n * Regular expression of valid global-number-digits for the phone-context\r\n * parameter, following the syntax defined in RFC3966.\r\n */\n\nvar RFC3966_GLOBAL_NUMBER_DIGITS_PATTERN_ = new RegExp(RFC3966_GLOBAL_NUMBER_DIGITS_, 'g'); // In this port of Google's library, we don't accept alpha characters in phone numbers.\n// const ALPHANUM_ = VALID_ALPHA_ + VALID_DIGITS\n\nvar ALPHANUM_ = VALID_DIGITS;\nvar RFC3966_DOMAINLABEL_ = '[' + ALPHANUM_ + ']+((\\\\-)*[' + ALPHANUM_ + '])*';\nvar VALID_ALPHA_ = 'a-zA-Z';\nvar RFC3966_TOPLABEL_ = '[' + VALID_ALPHA_ + ']+((\\\\-)*[' + ALPHANUM_ + '])*';\nvar RFC3966_DOMAINNAME_ = '^(' + RFC3966_DOMAINLABEL_ + '\\\\.)*' + RFC3966_TOPLABEL_ + '\\\\.?$';\n/**\r\n * Regular expression of valid domainname for the phone-context parameter,\r\n * following the syntax defined in RFC3966.\r\n */\n\nvar RFC3966_DOMAINNAME_PATTERN_ = new RegExp(RFC3966_DOMAINNAME_, 'g');\nexport var RFC3966_PREFIX_ = 'tel:';\nexport var RFC3966_PHONE_CONTEXT_ = ';phone-context=';\nexport var RFC3966_ISDN_SUBADDRESS_ = ';isub=';\n/**\r\n * Extracts the value of the phone-context parameter of `numberToExtractFrom`,\r\n * following the syntax defined in RFC3966.\r\n *\r\n * @param {string} numberToExtractFrom\r\n * @return {string|null} the extracted string (possibly empty), or `null` if no phone-context parameter is found.\r\n */\n\nexport default function extractPhoneContext(numberToExtractFrom) {\n var indexOfPhoneContext = numberToExtractFrom.indexOf(RFC3966_PHONE_CONTEXT_); // If no phone-context parameter is present\n\n if (indexOfPhoneContext < 0) {\n return null;\n }\n\n var phoneContextStart = indexOfPhoneContext + RFC3966_PHONE_CONTEXT_.length; // If phone-context parameter is empty\n\n if (phoneContextStart >= numberToExtractFrom.length) {\n return '';\n }\n\n var phoneContextEnd = numberToExtractFrom.indexOf(';', phoneContextStart); // If phone-context is not the last parameter\n\n if (phoneContextEnd >= 0) {\n return numberToExtractFrom.substring(phoneContextStart, phoneContextEnd);\n } else {\n return numberToExtractFrom.substring(phoneContextStart);\n }\n}\n/**\r\n * Returns whether the value of phoneContext follows the syntax defined in RFC3966.\r\n *\r\n * @param {string|null} phoneContext\r\n * @return {boolean}\r\n */\n\nexport function isPhoneContextValid(phoneContext) {\n if (phoneContext === null) {\n return true;\n }\n\n if (phoneContext.length === 0) {\n return false;\n } // Does phone-context value match pattern of global-number-digits or domainname.\n\n\n return RFC3966_GLOBAL_NUMBER_DIGITS_PATTERN_.test(phoneContext) || RFC3966_DOMAINNAME_PATTERN_.test(phoneContext);\n}\n//# sourceMappingURL=extractPhoneContext.js.map","import extractPhoneContext, { isPhoneContextValid, PLUS_SIGN, RFC3966_PREFIX_, RFC3966_PHONE_CONTEXT_, RFC3966_ISDN_SUBADDRESS_ } from './extractPhoneContext.js';\nimport ParseError from '../ParseError.js';\n/**\r\n * @param {string} numberToParse\r\n * @param {string} nationalNumber\r\n * @return {}\r\n */\n\nexport default function extractFormattedPhoneNumberFromPossibleRfc3966NumberUri(numberToParse, _ref) {\n var extractFormattedPhoneNumber = _ref.extractFormattedPhoneNumber;\n var phoneContext = extractPhoneContext(numberToParse);\n\n if (!isPhoneContextValid(phoneContext)) {\n throw new ParseError('NOT_A_NUMBER');\n }\n\n var phoneNumberString;\n\n if (phoneContext === null) {\n // Extract a possible number from the string passed in.\n // (this strips leading characters that could not be the start of a phone number)\n phoneNumberString = extractFormattedPhoneNumber(numberToParse) || '';\n } else {\n phoneNumberString = ''; // If the phone context contains a phone number prefix, we need to capture\n // it, whereas domains will be ignored.\n\n if (phoneContext.charAt(0) === PLUS_SIGN) {\n phoneNumberString += phoneContext;\n } // Now append everything between the \"tel:\" prefix and the phone-context.\n // This should include the national number, an optional extension or\n // isdn-subaddress component. Note we also handle the case when \"tel:\" is\n // missing, as we have seen in some of the phone number inputs.\n // In that case, we append everything from the beginning.\n\n\n var indexOfRfc3966Prefix = numberToParse.indexOf(RFC3966_PREFIX_);\n var indexOfNationalNumber; // RFC 3966 \"tel:\" prefix is preset at this stage because\n // `isPhoneContextValid()` requires it to be present.\n\n /* istanbul ignore else */\n\n if (indexOfRfc3966Prefix >= 0) {\n indexOfNationalNumber = indexOfRfc3966Prefix + RFC3966_PREFIX_.length;\n } else {\n indexOfNationalNumber = 0;\n }\n\n var indexOfPhoneContext = numberToParse.indexOf(RFC3966_PHONE_CONTEXT_);\n phoneNumberString += numberToParse.substring(indexOfNationalNumber, indexOfPhoneContext);\n } // Delete the isdn-subaddress and everything after it if it is present.\n // Note extension won't appear at the same time with isdn-subaddress\n // according to paragraph 5.3 of the RFC3966 spec.\n\n\n var indexOfIsdn = phoneNumberString.indexOf(RFC3966_ISDN_SUBADDRESS_);\n\n if (indexOfIsdn > 0) {\n phoneNumberString = phoneNumberString.substring(0, indexOfIsdn);\n } // If both phone context and isdn-subaddress are absent but other\n // parameters are present, the parameters are left in nationalNumber.\n // This is because we are concerned about deleting content from a potential\n // number string when there is no strong evidence that the number is\n // actually written in RFC3966.\n\n\n if (phoneNumberString !== '') {\n return phoneNumberString;\n }\n}\n//# sourceMappingURL=extractFormattedPhoneNumberFromPossibleRfc3966NumberUri.js.map","// This is a port of Google Android `libphonenumber`'s\n// `phonenumberutil.js` of December 31th, 2018.\n//\n// https://github.com/googlei18n/libphonenumber/commits/master/javascript/i18n/phonenumbers/phonenumberutil.js\nimport { VALID_DIGITS, PLUS_CHARS, MIN_LENGTH_FOR_NSN, MAX_LENGTH_FOR_NSN } from './constants.js';\nimport ParseError from './ParseError.js';\nimport Metadata from './metadata.js';\nimport isViablePhoneNumber, { isViablePhoneNumberStart } from './helpers/isViablePhoneNumber.js';\nimport extractExtension from './helpers/extension/extractExtension.js';\nimport parseIncompletePhoneNumber from './parseIncompletePhoneNumber.js';\nimport getCountryCallingCode from './getCountryCallingCode.js';\nimport { isPossibleNumber } from './isPossible.js'; // import { parseRFC3966 } from './helpers/RFC3966.js'\n\nimport PhoneNumber from './PhoneNumber.js';\nimport matchesEntirely from './helpers/matchesEntirely.js';\nimport extractCountryCallingCode from './helpers/extractCountryCallingCode.js';\nimport extractNationalNumber from './helpers/extractNationalNumber.js';\nimport stripIddPrefix from './helpers/stripIddPrefix.js';\nimport getCountryByCallingCode from './helpers/getCountryByCallingCode.js';\nimport extractFormattedPhoneNumberFromPossibleRfc3966NumberUri from './helpers/extractFormattedPhoneNumberFromPossibleRfc3966NumberUri.js'; // We don't allow input strings for parsing to be longer than 250 chars.\n// This prevents malicious input from consuming CPU.\n\nvar MAX_INPUT_STRING_LENGTH = 250; // This consists of the plus symbol, digits, and arabic-indic digits.\n\nvar PHONE_NUMBER_START_PATTERN = new RegExp('[' + PLUS_CHARS + VALID_DIGITS + ']'); // Regular expression of trailing characters that we want to remove.\n// A trailing `#` is sometimes used when writing phone numbers with extensions in US.\n// Example: \"+1 (645) 123 1234-910#\" number has extension \"910\".\n\nvar AFTER_PHONE_NUMBER_END_PATTERN = new RegExp('[^' + VALID_DIGITS + '#' + ']+$');\nvar USE_NON_GEOGRAPHIC_COUNTRY_CODE = false; // Examples:\n//\n// ```js\n// parse('8 (800) 555-35-35', 'RU')\n// parse('8 (800) 555-35-35', 'RU', metadata)\n// parse('8 (800) 555-35-35', { country: { default: 'RU' } })\n// parse('8 (800) 555-35-35', { country: { default: 'RU' } }, metadata)\n// parse('+7 800 555 35 35')\n// parse('+7 800 555 35 35', metadata)\n// ```\n//\n\n/**\r\n * Parses a phone number.\r\n *\r\n * parse('123456789', { defaultCountry: 'RU', v2: true }, metadata)\r\n * parse('123456789', { defaultCountry: 'RU' }, metadata)\r\n * parse('123456789', undefined, metadata)\r\n *\r\n * @param {string} input\r\n * @param {object} [options]\r\n * @param {object} metadata\r\n * @return {object|PhoneNumber?} If `options.v2: true` flag is passed, it returns a `PhoneNumber?` instance. Otherwise, returns an object of shape `{ phone: '...', country: '...' }` (or just `{}` if no phone number was parsed).\r\n */\n\nexport default function parse(text, options, metadata) {\n // If assigning the `{}` default value is moved to the arguments above,\n // code coverage would decrease for some weird reason.\n options = options || {};\n metadata = new Metadata(metadata); // Validate `defaultCountry`.\n\n if (options.defaultCountry && !metadata.hasCountry(options.defaultCountry)) {\n if (options.v2) {\n throw new ParseError('INVALID_COUNTRY');\n }\n\n throw new Error(\"Unknown country: \".concat(options.defaultCountry));\n } // Parse the phone number.\n\n\n var _parseInput = parseInput(text, options.v2, options.extract),\n formattedPhoneNumber = _parseInput.number,\n ext = _parseInput.ext,\n error = _parseInput.error; // If the phone number is not viable then return nothing.\n\n\n if (!formattedPhoneNumber) {\n if (options.v2) {\n if (error === 'TOO_SHORT') {\n throw new ParseError('TOO_SHORT');\n }\n\n throw new ParseError('NOT_A_NUMBER');\n }\n\n return {};\n }\n\n var _parsePhoneNumber = parsePhoneNumber(formattedPhoneNumber, options.defaultCountry, options.defaultCallingCode, metadata),\n country = _parsePhoneNumber.country,\n nationalNumber = _parsePhoneNumber.nationalNumber,\n countryCallingCode = _parsePhoneNumber.countryCallingCode,\n countryCallingCodeSource = _parsePhoneNumber.countryCallingCodeSource,\n carrierCode = _parsePhoneNumber.carrierCode;\n\n if (!metadata.hasSelectedNumberingPlan()) {\n if (options.v2) {\n throw new ParseError('INVALID_COUNTRY');\n }\n\n return {};\n } // Validate national (significant) number length.\n\n\n if (!nationalNumber || nationalNumber.length < MIN_LENGTH_FOR_NSN) {\n // Won't throw here because the regexp already demands length > 1.\n\n /* istanbul ignore if */\n if (options.v2) {\n throw new ParseError('TOO_SHORT');\n } // Google's demo just throws an error in this case.\n\n\n return {};\n } // Validate national (significant) number length.\n //\n // A sidenote:\n //\n // They say that sometimes national (significant) numbers\n // can be longer than `MAX_LENGTH_FOR_NSN` (e.g. in Germany).\n // https://github.com/googlei18n/libphonenumber/blob/7e1748645552da39c4e1ba731e47969d97bdb539/resources/phonenumber.proto#L36\n // Such numbers will just be discarded.\n //\n\n\n if (nationalNumber.length > MAX_LENGTH_FOR_NSN) {\n if (options.v2) {\n throw new ParseError('TOO_LONG');\n } // Google's demo just throws an error in this case.\n\n\n return {};\n }\n\n if (options.v2) {\n var phoneNumber = new PhoneNumber(countryCallingCode, nationalNumber, metadata.metadata);\n\n if (country) {\n phoneNumber.country = country;\n }\n\n if (carrierCode) {\n phoneNumber.carrierCode = carrierCode;\n }\n\n if (ext) {\n phoneNumber.ext = ext;\n }\n\n phoneNumber.__countryCallingCodeSource = countryCallingCodeSource;\n return phoneNumber;\n } // Check if national phone number pattern matches the number.\n // National number pattern is different for each country,\n // even for those ones which are part of the \"NANPA\" group.\n\n\n var valid = (options.extended ? metadata.hasSelectedNumberingPlan() : country) ? matchesEntirely(nationalNumber, metadata.nationalNumberPattern()) : false;\n\n if (!options.extended) {\n return valid ? result(country, nationalNumber, ext) : {};\n } // isInternational: countryCallingCode !== undefined\n\n\n return {\n country: country,\n countryCallingCode: countryCallingCode,\n carrierCode: carrierCode,\n valid: valid,\n possible: valid ? true : options.extended === true && metadata.possibleLengths() && isPossibleNumber(nationalNumber, metadata) ? true : false,\n phone: nationalNumber,\n ext: ext\n };\n}\n/**\r\n * Extracts a formatted phone number from text.\r\n * Doesn't guarantee that the extracted phone number\r\n * is a valid phone number (for example, doesn't validate its length).\r\n * @param {string} text\r\n * @param {boolean} [extract] — If `false`, then will parse the entire `text` as a phone number.\r\n * @param {boolean} [throwOnError] — By default, it won't throw if the text is too long.\r\n * @return {string}\r\n * @example\r\n * // Returns \"(213) 373-4253\".\r\n * extractFormattedPhoneNumber(\"Call (213) 373-4253 for assistance.\")\r\n */\n\nfunction _extractFormattedPhoneNumber(text, extract, throwOnError) {\n if (!text) {\n return;\n }\n\n if (text.length > MAX_INPUT_STRING_LENGTH) {\n if (throwOnError) {\n throw new ParseError('TOO_LONG');\n }\n\n return;\n }\n\n if (extract === false) {\n return text;\n } // Attempt to extract a possible number from the string passed in\n\n\n var startsAt = text.search(PHONE_NUMBER_START_PATTERN);\n\n if (startsAt < 0) {\n return;\n }\n\n return text // Trim everything to the left of the phone number\n .slice(startsAt) // Remove trailing non-numerical characters\n .replace(AFTER_PHONE_NUMBER_END_PATTERN, '');\n}\n/**\r\n * @param {string} text - Input.\r\n * @param {boolean} v2 - Legacy API functions don't pass `v2: true` flag.\r\n * @param {boolean} [extract] - Whether to extract a phone number from `text`, or attempt to parse the entire text as a phone number.\r\n * @return {object} `{ ?number, ?ext }`.\r\n */\n\n\nfunction parseInput(text, v2, extract) {\n // // Parse RFC 3966 phone number URI.\n // if (text && text.indexOf('tel:') === 0) {\n // \treturn parseRFC3966(text)\n // }\n // let number = extractFormattedPhoneNumber(text, extract, v2)\n var number = extractFormattedPhoneNumberFromPossibleRfc3966NumberUri(text, {\n extractFormattedPhoneNumber: function extractFormattedPhoneNumber(text) {\n return _extractFormattedPhoneNumber(text, extract, v2);\n }\n }); // If the phone number is not viable, then abort.\n\n if (!number) {\n return {};\n }\n\n if (!isViablePhoneNumber(number)) {\n if (isViablePhoneNumberStart(number)) {\n return {\n error: 'TOO_SHORT'\n };\n }\n\n return {};\n } // Attempt to parse extension first, since it doesn't require region-specific\n // data and we want to have the non-normalised number here.\n\n\n var withExtensionStripped = extractExtension(number);\n\n if (withExtensionStripped.ext) {\n return withExtensionStripped;\n }\n\n return {\n number: number\n };\n}\n/**\r\n * Creates `parse()` result object.\r\n */\n\n\nfunction result(country, nationalNumber, ext) {\n var result = {\n country: country,\n phone: nationalNumber\n };\n\n if (ext) {\n result.ext = ext;\n }\n\n return result;\n}\n/**\r\n * Parses a viable phone number.\r\n * @param {string} formattedPhoneNumber — Example: \"(213) 373-4253\".\r\n * @param {string} [defaultCountry]\r\n * @param {string} [defaultCallingCode]\r\n * @param {Metadata} metadata\r\n * @return {object} Returns `{ country: string?, countryCallingCode: string?, nationalNumber: string? }`.\r\n */\n\n\nfunction parsePhoneNumber(formattedPhoneNumber, defaultCountry, defaultCallingCode, metadata) {\n // Extract calling code from phone number.\n var _extractCountryCallin = extractCountryCallingCode(parseIncompletePhoneNumber(formattedPhoneNumber), defaultCountry, defaultCallingCode, metadata.metadata),\n countryCallingCodeSource = _extractCountryCallin.countryCallingCodeSource,\n countryCallingCode = _extractCountryCallin.countryCallingCode,\n number = _extractCountryCallin.number; // Choose a country by `countryCallingCode`.\n\n\n var country;\n\n if (countryCallingCode) {\n metadata.selectNumberingPlan(countryCallingCode);\n } // If `formattedPhoneNumber` is passed in \"national\" format\n // then `number` is defined and `countryCallingCode` is `undefined`.\n else if (number && (defaultCountry || defaultCallingCode)) {\n metadata.selectNumberingPlan(defaultCountry, defaultCallingCode);\n\n if (defaultCountry) {\n country = defaultCountry;\n } else {\n /* istanbul ignore if */\n if (USE_NON_GEOGRAPHIC_COUNTRY_CODE) {\n if (metadata.isNonGeographicCallingCode(defaultCallingCode)) {\n country = '001';\n }\n }\n }\n\n countryCallingCode = defaultCallingCode || getCountryCallingCode(defaultCountry, metadata.metadata);\n } else return {};\n\n if (!number) {\n return {\n countryCallingCodeSource: countryCallingCodeSource,\n countryCallingCode: countryCallingCode\n };\n }\n\n var _extractNationalNumbe = extractNationalNumber(parseIncompletePhoneNumber(number), metadata),\n nationalNumber = _extractNationalNumbe.nationalNumber,\n carrierCode = _extractNationalNumbe.carrierCode; // Sometimes there are several countries\n // corresponding to the same country phone code\n // (e.g. NANPA countries all having `1` country phone code).\n // Therefore, to reliably determine the exact country,\n // national (significant) number should have been parsed first.\n //\n // When `metadata.json` is generated, all \"ambiguous\" country phone codes\n // get their countries populated with the full set of\n // \"phone number type\" regular expressions.\n //\n\n\n var exactCountry = getCountryByCallingCode(countryCallingCode, {\n nationalNumber: nationalNumber,\n defaultCountry: defaultCountry,\n metadata: metadata\n });\n\n if (exactCountry) {\n country = exactCountry;\n /* istanbul ignore if */\n\n if (exactCountry === '001') {// Can't happen with `USE_NON_GEOGRAPHIC_COUNTRY_CODE` being `false`.\n // If `USE_NON_GEOGRAPHIC_COUNTRY_CODE` is set to `true` for some reason,\n // then remove the \"istanbul ignore if\".\n } else {\n metadata.country(country);\n }\n }\n\n return {\n country: country,\n countryCallingCode: countryCallingCode,\n countryCallingCodeSource: countryCallingCodeSource,\n nationalNumber: nationalNumber,\n carrierCode: carrierCode\n };\n}\n//# sourceMappingURL=parse.js.map","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport parse from './parse.js';\nexport default function parsePhoneNumberWithError(text, options, metadata) {\n return parse(text, _objectSpread(_objectSpread({}, options), {}, {\n v2: true\n }), metadata);\n}\n//# sourceMappingURL=parsePhoneNumberWithError_.js.map","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport parsePhoneNumberWithError from './parsePhoneNumberWithError_.js';\nimport ParseError from './ParseError.js';\nimport { isSupportedCountry } from './metadata.js';\nexport default function parsePhoneNumber(text, options, metadata) {\n // Validate `defaultCountry`.\n if (options && options.defaultCountry && !isSupportedCountry(options.defaultCountry, metadata)) {\n options = _objectSpread(_objectSpread({}, options), {}, {\n defaultCountry: undefined\n });\n } // Parse phone number.\n\n\n try {\n return parsePhoneNumberWithError(text, options, metadata);\n } catch (error) {\n /* istanbul ignore else */\n if (error instanceof ParseError) {//\n } else {\n throw error;\n }\n }\n}\n//# sourceMappingURL=parsePhoneNumber_.js.map","import normalizeArguments from './normalizeArguments.js';\nimport parsePhoneNumber_ from './parsePhoneNumber_.js';\nexport default function parsePhoneNumber() {\n var _normalizeArguments = normalizeArguments(arguments),\n text = _normalizeArguments.text,\n options = _normalizeArguments.options,\n metadata = _normalizeArguments.metadata;\n\n return parsePhoneNumber_(text, options, metadata);\n}\n//# sourceMappingURL=parsePhoneNumber.js.map","import withMetadataArgument from './withMetadataArgument.js'\r\nimport { default as _parsePhoneNumber } from '../../core/index.js'\r\n\r\nexport function parsePhoneNumber() {\r\n\treturn withMetadataArgument(_parsePhoneNumber, arguments)\r\n}","function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\n// This \"state\" object simply holds the state of the \"AsYouType\" parser:\n//\n// * `country?: string`\n// * `callingCode?: string`\n// * `digits: string`\n// * `international: boolean`\n// * `missingPlus: boolean`\n// * `IDDPrefix?: string`\n// * `carrierCode?: string`\n// * `nationalPrefix?: string`\n// * `nationalSignificantNumber?: string`\n// * `nationalSignificantNumberMatchesInput: boolean`\n// * `complexPrefixBeforeNationalSignificantNumber?: string`\n//\n// `state.country` and `state.callingCode` aren't required to be in sync.\n// For example, `state.country` could be `\"AR\"` and `state.callingCode` could be `undefined`.\n// So `state.country` and `state.callingCode` are totally independent.\n//\nvar AsYouTypeState = /*#__PURE__*/function () {\n function AsYouTypeState(_ref) {\n var onCountryChange = _ref.onCountryChange,\n onCallingCodeChange = _ref.onCallingCodeChange;\n\n _classCallCheck(this, AsYouTypeState);\n\n this.onCountryChange = onCountryChange;\n this.onCallingCodeChange = onCallingCodeChange;\n }\n\n _createClass(AsYouTypeState, [{\n key: \"reset\",\n value: function reset(_ref2) {\n var country = _ref2.country,\n callingCode = _ref2.callingCode;\n this.international = false;\n this.missingPlus = false;\n this.IDDPrefix = undefined;\n this.callingCode = undefined;\n this.digits = '';\n this.resetNationalSignificantNumber();\n this.initCountryAndCallingCode(country, callingCode);\n }\n }, {\n key: \"resetNationalSignificantNumber\",\n value: function resetNationalSignificantNumber() {\n this.nationalSignificantNumber = this.getNationalDigits();\n this.nationalSignificantNumberMatchesInput = true;\n this.nationalPrefix = undefined;\n this.carrierCode = undefined;\n this.complexPrefixBeforeNationalSignificantNumber = undefined;\n }\n }, {\n key: \"update\",\n value: function update(properties) {\n for (var _i = 0, _Object$keys = Object.keys(properties); _i < _Object$keys.length; _i++) {\n var key = _Object$keys[_i];\n this[key] = properties[key];\n }\n }\n }, {\n key: \"initCountryAndCallingCode\",\n value: function initCountryAndCallingCode(country, callingCode) {\n this.setCountry(country);\n this.setCallingCode(callingCode);\n }\n }, {\n key: \"setCountry\",\n value: function setCountry(country) {\n this.country = country;\n this.onCountryChange(country);\n }\n }, {\n key: \"setCallingCode\",\n value: function setCallingCode(callingCode) {\n this.callingCode = callingCode;\n this.onCallingCodeChange(callingCode, this.country);\n }\n }, {\n key: \"startInternationalNumber\",\n value: function startInternationalNumber(country, callingCode) {\n // Prepend the `+` to parsed input.\n this.international = true; // If a default country was set then reset it\n // because an explicitly international phone\n // number is being entered.\n\n this.initCountryAndCallingCode(country, callingCode);\n }\n }, {\n key: \"appendDigits\",\n value: function appendDigits(nextDigits) {\n this.digits += nextDigits;\n }\n }, {\n key: \"appendNationalSignificantNumberDigits\",\n value: function appendNationalSignificantNumberDigits(nextDigits) {\n this.nationalSignificantNumber += nextDigits;\n }\n /**\r\n * Returns the part of `this.digits` that corresponds to the national number.\r\n * Basically, all digits that have been input by the user, except for the\r\n * international prefix and the country calling code part\r\n * (if the number is an international one).\r\n * @return {string}\r\n */\n\n }, {\n key: \"getNationalDigits\",\n value: function getNationalDigits() {\n if (this.international) {\n return this.digits.slice((this.IDDPrefix ? this.IDDPrefix.length : 0) + (this.callingCode ? this.callingCode.length : 0));\n }\n\n return this.digits;\n }\n }, {\n key: \"getDigitsWithoutInternationalPrefix\",\n value: function getDigitsWithoutInternationalPrefix() {\n if (this.international) {\n if (this.IDDPrefix) {\n return this.digits.slice(this.IDDPrefix.length);\n }\n }\n\n return this.digits;\n }\n }]);\n\n return AsYouTypeState;\n}();\n\nexport { AsYouTypeState as default };\n//# sourceMappingURL=AsYouTypeState.js.map","function _createForOfIteratorHelperLoose(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (it) return (it = it.call(o)).next.bind(it); if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\n// Should be the same as `DIGIT_PLACEHOLDER` in `libphonenumber-metadata-generator`.\nexport var DIGIT_PLACEHOLDER = 'x'; // '\\u2008' (punctuation space)\n\nvar DIGIT_PLACEHOLDER_MATCHER = new RegExp(DIGIT_PLACEHOLDER); // Counts all occurences of a symbol in a string.\n// Unicode-unsafe (because using `.split()`).\n\nexport function countOccurences(symbol, string) {\n var count = 0; // Using `.split('')` to iterate through a string here\n // to avoid requiring `Symbol.iterator` polyfill.\n // `.split('')` is generally not safe for Unicode,\n // but in this particular case for counting brackets it is safe.\n // for (const character of string)\n\n for (var _iterator = _createForOfIteratorHelperLoose(string.split('')), _step; !(_step = _iterator()).done;) {\n var character = _step.value;\n\n if (character === symbol) {\n count++;\n }\n }\n\n return count;\n} // Repeats a string (or a symbol) N times.\n// http://stackoverflow.com/questions/202605/repeat-string-javascript\n\nexport function repeat(string, times) {\n if (times < 1) {\n return '';\n }\n\n var result = '';\n\n while (times > 1) {\n if (times & 1) {\n result += string;\n }\n\n times >>= 1;\n string += string;\n }\n\n return result + string;\n}\nexport function cutAndStripNonPairedParens(string, cutBeforeIndex) {\n if (string[cutBeforeIndex] === ')') {\n cutBeforeIndex++;\n }\n\n return stripNonPairedParens(string.slice(0, cutBeforeIndex));\n}\nexport function closeNonPairedParens(template, cut_before) {\n var retained_template = template.slice(0, cut_before);\n var opening_braces = countOccurences('(', retained_template);\n var closing_braces = countOccurences(')', retained_template);\n var dangling_braces = opening_braces - closing_braces;\n\n while (dangling_braces > 0 && cut_before < template.length) {\n if (template[cut_before] === ')') {\n dangling_braces--;\n }\n\n cut_before++;\n }\n\n return template.slice(0, cut_before);\n}\nexport function stripNonPairedParens(string) {\n var dangling_braces = [];\n var i = 0;\n\n while (i < string.length) {\n if (string[i] === '(') {\n dangling_braces.push(i);\n } else if (string[i] === ')') {\n dangling_braces.pop();\n }\n\n i++;\n }\n\n var start = 0;\n var cleared_string = '';\n dangling_braces.push(string.length);\n\n for (var _i = 0, _dangling_braces = dangling_braces; _i < _dangling_braces.length; _i++) {\n var index = _dangling_braces[_i];\n cleared_string += string.slice(start, index);\n start = index + 1;\n }\n\n return cleared_string;\n}\nexport function populateTemplateWithDigits(template, position, digits) {\n // Using `.split('')` to iterate through a string here\n // to avoid requiring `Symbol.iterator` polyfill.\n // `.split('')` is generally not safe for Unicode,\n // but in this particular case for `digits` it is safe.\n // for (const digit of digits)\n for (var _iterator2 = _createForOfIteratorHelperLoose(digits.split('')), _step2; !(_step2 = _iterator2()).done;) {\n var digit = _step2.value;\n\n // If there is room for more digits in current `template`,\n // then set the next digit in the `template`,\n // and return the formatted digits so far.\n // If more digits are entered than the current format could handle.\n if (template.slice(position + 1).search(DIGIT_PLACEHOLDER_MATCHER) < 0) {\n return;\n }\n\n position = template.search(DIGIT_PLACEHOLDER_MATCHER);\n template = template.replace(DIGIT_PLACEHOLDER_MATCHER, digit);\n }\n\n return [template, position];\n}\n//# sourceMappingURL=AsYouTypeFormatter.util.js.map","import checkNumberLength from './helpers/checkNumberLength.js';\nimport parseDigits from './helpers/parseDigits.js';\nimport formatNationalNumberUsingFormat from './helpers/formatNationalNumberUsingFormat.js';\nexport default function formatCompleteNumber(state, format, _ref) {\n var metadata = _ref.metadata,\n shouldTryNationalPrefixFormattingRule = _ref.shouldTryNationalPrefixFormattingRule,\n getSeparatorAfterNationalPrefix = _ref.getSeparatorAfterNationalPrefix;\n var matcher = new RegExp(\"^(?:\".concat(format.pattern(), \")$\"));\n\n if (matcher.test(state.nationalSignificantNumber)) {\n return formatNationalNumberWithAndWithoutNationalPrefixFormattingRule(state, format, {\n metadata: metadata,\n shouldTryNationalPrefixFormattingRule: shouldTryNationalPrefixFormattingRule,\n getSeparatorAfterNationalPrefix: getSeparatorAfterNationalPrefix\n });\n }\n}\nexport function canFormatCompleteNumber(nationalSignificantNumber, metadata) {\n return checkNumberLength(nationalSignificantNumber, metadata) === 'IS_POSSIBLE';\n}\n\nfunction formatNationalNumberWithAndWithoutNationalPrefixFormattingRule(state, format, _ref2) {\n var metadata = _ref2.metadata,\n shouldTryNationalPrefixFormattingRule = _ref2.shouldTryNationalPrefixFormattingRule,\n getSeparatorAfterNationalPrefix = _ref2.getSeparatorAfterNationalPrefix;\n // `format` has already been checked for `nationalPrefix` requirement.\n var nationalSignificantNumber = state.nationalSignificantNumber,\n international = state.international,\n nationalPrefix = state.nationalPrefix,\n carrierCode = state.carrierCode; // Format the number with using `national_prefix_formatting_rule`.\n // If the resulting formatted number is a valid formatted number, then return it.\n //\n // Google's AsYouType formatter is different in a way that it doesn't try\n // to format using the \"national prefix formatting rule\", and instead it\n // simply prepends a national prefix followed by a \" \" character.\n // This code does that too, but as a fallback.\n // The reason is that \"national prefix formatting rule\" may use parentheses,\n // which wouldn't be included has it used the simpler Google's way.\n //\n\n if (shouldTryNationalPrefixFormattingRule(format)) {\n var formattedNumber = formatNationalNumber(state, format, {\n useNationalPrefixFormattingRule: true,\n getSeparatorAfterNationalPrefix: getSeparatorAfterNationalPrefix,\n metadata: metadata\n });\n\n if (formattedNumber) {\n return formattedNumber;\n }\n } // Format the number without using `national_prefix_formatting_rule`.\n\n\n return formatNationalNumber(state, format, {\n useNationalPrefixFormattingRule: false,\n getSeparatorAfterNationalPrefix: getSeparatorAfterNationalPrefix,\n metadata: metadata\n });\n}\n\nfunction formatNationalNumber(state, format, _ref3) {\n var metadata = _ref3.metadata,\n useNationalPrefixFormattingRule = _ref3.useNationalPrefixFormattingRule,\n getSeparatorAfterNationalPrefix = _ref3.getSeparatorAfterNationalPrefix;\n var formattedNationalNumber = formatNationalNumberUsingFormat(state.nationalSignificantNumber, format, {\n carrierCode: state.carrierCode,\n useInternationalFormat: state.international,\n withNationalPrefix: useNationalPrefixFormattingRule,\n metadata: metadata\n });\n\n if (!useNationalPrefixFormattingRule) {\n if (state.nationalPrefix) {\n // If a national prefix was extracted, then just prepend it,\n // followed by a \" \" character.\n formattedNationalNumber = state.nationalPrefix + getSeparatorAfterNationalPrefix(format) + formattedNationalNumber;\n } else if (state.complexPrefixBeforeNationalSignificantNumber) {\n formattedNationalNumber = state.complexPrefixBeforeNationalSignificantNumber + ' ' + formattedNationalNumber;\n }\n }\n\n if (isValidFormattedNationalNumber(formattedNationalNumber, state)) {\n return formattedNationalNumber;\n }\n} // Check that the formatted phone number contains exactly\n// the same digits that have been input by the user.\n// For example, when \"0111523456789\" is input for `AR` country,\n// the extracted `this.nationalSignificantNumber` is \"91123456789\",\n// which means that the national part of `this.digits` isn't simply equal to\n// `this.nationalPrefix` + `this.nationalSignificantNumber`.\n//\n// Also, a `format` can add extra digits to the `this.nationalSignificantNumber`\n// being formatted via `metadata[country].national_prefix_transform_rule`.\n// For example, for `VI` country, it prepends `340` to the national number,\n// and if this check hasn't been implemented, then there would be a bug\n// when `340` \"area coude\" is \"duplicated\" during input for `VI` country:\n// https://github.com/catamphetamine/libphonenumber-js/issues/318\n//\n// So, all these \"gotchas\" are filtered out.\n//\n// In the original Google's code, the comments say:\n// \"Check that we didn't remove nor add any extra digits when we matched\n// this formatting pattern. This usually happens after we entered the last\n// digit during AYTF. Eg: In case of MX, we swallow mobile token (1) when\n// formatted but AYTF should retain all the number entered and not change\n// in order to match a format (of same leading digits and length) display\n// in that way.\"\n// \"If it's the same (i.e entered number and format is same), then it's\n// safe to return this in formatted number as nothing is lost / added.\"\n// Otherwise, don't use this format.\n// https://github.com/google/libphonenumber/commit/3e7c1f04f5e7200f87fb131e6f85c6e99d60f510#diff-9149457fa9f5d608a11bb975c6ef4bc5\n// https://github.com/google/libphonenumber/commit/3ac88c7106e7dcb553bcc794b15f19185928a1c6#diff-2dcb77e833422ee304da348b905cde0b\n//\n\n\nfunction isValidFormattedNationalNumber(formattedNationalNumber, state) {\n return parseDigits(formattedNationalNumber) === state.getNationalDigits();\n}\n//# sourceMappingURL=AsYouTypeFormatter.complete.js.map","function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\nvar PatternParser = /*#__PURE__*/function () {\n function PatternParser() {\n _classCallCheck(this, PatternParser);\n }\n\n _createClass(PatternParser, [{\n key: \"parse\",\n value: function parse(pattern) {\n this.context = [{\n or: true,\n instructions: []\n }];\n this.parsePattern(pattern);\n\n if (this.context.length !== 1) {\n throw new Error('Non-finalized contexts left when pattern parse ended');\n }\n\n var _this$context$ = this.context[0],\n branches = _this$context$.branches,\n instructions = _this$context$.instructions;\n\n if (branches) {\n return {\n op: '|',\n args: branches.concat([expandSingleElementArray(instructions)])\n };\n }\n /* istanbul ignore if */\n\n\n if (instructions.length === 0) {\n throw new Error('Pattern is required');\n }\n\n if (instructions.length === 1) {\n return instructions[0];\n }\n\n return instructions;\n }\n }, {\n key: \"startContext\",\n value: function startContext(context) {\n this.context.push(context);\n }\n }, {\n key: \"endContext\",\n value: function endContext() {\n this.context.pop();\n }\n }, {\n key: \"getContext\",\n value: function getContext() {\n return this.context[this.context.length - 1];\n }\n }, {\n key: \"parsePattern\",\n value: function parsePattern(pattern) {\n if (!pattern) {\n throw new Error('Pattern is required');\n }\n\n var match = pattern.match(OPERATOR);\n\n if (!match) {\n if (ILLEGAL_CHARACTER_REGEXP.test(pattern)) {\n throw new Error(\"Illegal characters found in a pattern: \".concat(pattern));\n }\n\n this.getContext().instructions = this.getContext().instructions.concat(pattern.split(''));\n return;\n }\n\n var operator = match[1];\n var before = pattern.slice(0, match.index);\n var rightPart = pattern.slice(match.index + operator.length);\n\n switch (operator) {\n case '(?:':\n if (before) {\n this.parsePattern(before);\n }\n\n this.startContext({\n or: true,\n instructions: [],\n branches: []\n });\n break;\n\n case ')':\n if (!this.getContext().or) {\n throw new Error('\")\" operator must be preceded by \"(?:\" operator');\n }\n\n if (before) {\n this.parsePattern(before);\n }\n\n if (this.getContext().instructions.length === 0) {\n throw new Error('No instructions found after \"|\" operator in an \"or\" group');\n }\n\n var _this$getContext = this.getContext(),\n branches = _this$getContext.branches;\n\n branches.push(expandSingleElementArray(this.getContext().instructions));\n this.endContext();\n this.getContext().instructions.push({\n op: '|',\n args: branches\n });\n break;\n\n case '|':\n if (!this.getContext().or) {\n throw new Error('\"|\" operator can only be used inside \"or\" groups');\n }\n\n if (before) {\n this.parsePattern(before);\n } // The top-level is an implicit \"or\" group, if required.\n\n\n if (!this.getContext().branches) {\n // `branches` are not defined only for the root implicit \"or\" operator.\n\n /* istanbul ignore else */\n if (this.context.length === 1) {\n this.getContext().branches = [];\n } else {\n throw new Error('\"branches\" not found in an \"or\" group context');\n }\n }\n\n this.getContext().branches.push(expandSingleElementArray(this.getContext().instructions));\n this.getContext().instructions = [];\n break;\n\n case '[':\n if (before) {\n this.parsePattern(before);\n }\n\n this.startContext({\n oneOfSet: true\n });\n break;\n\n case ']':\n if (!this.getContext().oneOfSet) {\n throw new Error('\"]\" operator must be preceded by \"[\" operator');\n }\n\n this.endContext();\n this.getContext().instructions.push({\n op: '[]',\n args: parseOneOfSet(before)\n });\n break;\n\n /* istanbul ignore next */\n\n default:\n throw new Error(\"Unknown operator: \".concat(operator));\n }\n\n if (rightPart) {\n this.parsePattern(rightPart);\n }\n }\n }]);\n\n return PatternParser;\n}();\n\nexport { PatternParser as default };\n\nfunction parseOneOfSet(pattern) {\n var values = [];\n var i = 0;\n\n while (i < pattern.length) {\n if (pattern[i] === '-') {\n if (i === 0 || i === pattern.length - 1) {\n throw new Error(\"Couldn't parse a one-of set pattern: \".concat(pattern));\n }\n\n var prevValue = pattern[i - 1].charCodeAt(0) + 1;\n var nextValue = pattern[i + 1].charCodeAt(0) - 1;\n var value = prevValue;\n\n while (value <= nextValue) {\n values.push(String.fromCharCode(value));\n value++;\n }\n } else {\n values.push(pattern[i]);\n }\n\n i++;\n }\n\n return values;\n}\n\nvar ILLEGAL_CHARACTER_REGEXP = /[\\(\\)\\[\\]\\?\\:\\|]/;\nvar OPERATOR = new RegExp( // any of:\n'(' + // or operator\n'\\\\|' + // or\n'|' + // or group start\n'\\\\(\\\\?\\\\:' + // or\n'|' + // or group end\n'\\\\)' + // or\n'|' + // one-of set start\n'\\\\[' + // or\n'|' + // one-of set end\n'\\\\]' + ')');\n\nfunction expandSingleElementArray(array) {\n if (array.length === 1) {\n return array[0];\n }\n\n return array;\n}\n//# sourceMappingURL=AsYouTypeFormatter.PatternParser.js.map","function _createForOfIteratorHelperLoose(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (it) return (it = it.call(o)).next.bind(it); if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\nimport PatternParser from './AsYouTypeFormatter.PatternParser.js';\n\nvar PatternMatcher = /*#__PURE__*/function () {\n function PatternMatcher(pattern) {\n _classCallCheck(this, PatternMatcher);\n\n this.matchTree = new PatternParser().parse(pattern);\n }\n\n _createClass(PatternMatcher, [{\n key: \"match\",\n value: function match(string) {\n var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n allowOverflow = _ref.allowOverflow;\n\n if (!string) {\n throw new Error('String is required');\n }\n\n var result = _match(string.split(''), this.matchTree, true);\n\n if (result && result.match) {\n delete result.matchedChars;\n }\n\n if (result && result.overflow) {\n if (!allowOverflow) {\n return;\n }\n }\n\n return result;\n }\n }]);\n\n return PatternMatcher;\n}();\n/**\r\n * Matches `characters` against a pattern compiled into a `tree`.\r\n * @param {string[]} characters\r\n * @param {Tree} tree — A pattern compiled into a `tree`. See the `*.d.ts` file for the description of the `tree` structure.\r\n * @param {boolean} last — Whether it's the last (rightmost) subtree on its level of the match tree.\r\n * @return {object} See the `*.d.ts` file for the description of the result object.\r\n */\n\n\nexport { PatternMatcher as default };\n\nfunction _match(characters, tree, last) {\n // If `tree` is a string, then `tree` is a single character.\n // That's because when a pattern is parsed, multi-character-string parts\n // of a pattern are compiled into arrays of single characters.\n // I still wrote this piece of code for a \"general\" hypothetical case\n // when `tree` could be a string of several characters, even though\n // such case is not possible with the current implementation.\n if (typeof tree === 'string') {\n var characterString = characters.join('');\n\n if (tree.indexOf(characterString) === 0) {\n // `tree` is always a single character.\n // If `tree.indexOf(characterString) === 0`\n // then `characters.length === tree.length`.\n\n /* istanbul ignore else */\n if (characters.length === tree.length) {\n return {\n match: true,\n matchedChars: characters\n };\n } // `tree` is always a single character.\n // If `tree.indexOf(characterString) === 0`\n // then `characters.length === tree.length`.\n\n /* istanbul ignore next */\n\n\n return {\n partialMatch: true // matchedChars: characters\n\n };\n }\n\n if (characterString.indexOf(tree) === 0) {\n if (last) {\n // The `else` path is not possible because `tree` is always a single character.\n // The `else` case for `characters.length > tree.length` would be\n // `characters.length <= tree.length` which means `characters.length <= 1`.\n // `characters` array can't be empty, so that means `characters === [tree]`,\n // which would also mean `tree.indexOf(characterString) === 0` and that'd mean\n // that the `if (tree.indexOf(characterString) === 0)` condition before this\n // `if` condition would be entered, and returned from there, not reaching this code.\n\n /* istanbul ignore else */\n if (characters.length > tree.length) {\n return {\n overflow: true\n };\n }\n }\n\n return {\n match: true,\n matchedChars: characters.slice(0, tree.length)\n };\n }\n\n return;\n }\n\n if (Array.isArray(tree)) {\n var restCharacters = characters.slice();\n var i = 0;\n\n while (i < tree.length) {\n var subtree = tree[i];\n\n var result = _match(restCharacters, subtree, last && i === tree.length - 1);\n\n if (!result) {\n return;\n } else if (result.overflow) {\n return result;\n } else if (result.match) {\n // Continue with the next subtree with the rest of the characters.\n restCharacters = restCharacters.slice(result.matchedChars.length);\n\n if (restCharacters.length === 0) {\n if (i === tree.length - 1) {\n return {\n match: true,\n matchedChars: characters\n };\n } else {\n return {\n partialMatch: true // matchedChars: characters\n\n };\n }\n }\n } else {\n /* istanbul ignore else */\n if (result.partialMatch) {\n return {\n partialMatch: true // matchedChars: characters\n\n };\n } else {\n throw new Error(\"Unsupported match result:\\n\".concat(JSON.stringify(result, null, 2)));\n }\n }\n\n i++;\n } // If `last` then overflow has already been checked\n // by the last element of the `tree` array.\n\n /* istanbul ignore if */\n\n\n if (last) {\n return {\n overflow: true\n };\n }\n\n return {\n match: true,\n matchedChars: characters.slice(0, characters.length - restCharacters.length)\n };\n }\n\n switch (tree.op) {\n case '|':\n var partialMatch;\n\n for (var _iterator = _createForOfIteratorHelperLoose(tree.args), _step; !(_step = _iterator()).done;) {\n var branch = _step.value;\n\n var _result = _match(characters, branch, last);\n\n if (_result) {\n if (_result.overflow) {\n return _result;\n } else if (_result.match) {\n return {\n match: true,\n matchedChars: _result.matchedChars\n };\n } else {\n /* istanbul ignore else */\n if (_result.partialMatch) {\n partialMatch = true;\n } else {\n throw new Error(\"Unsupported match result:\\n\".concat(JSON.stringify(_result, null, 2)));\n }\n }\n }\n }\n\n if (partialMatch) {\n return {\n partialMatch: true // matchedChars: ...\n\n };\n } // Not even a partial match.\n\n\n return;\n\n case '[]':\n for (var _iterator2 = _createForOfIteratorHelperLoose(tree.args), _step2; !(_step2 = _iterator2()).done;) {\n var _char = _step2.value;\n\n if (characters[0] === _char) {\n if (characters.length === 1) {\n return {\n match: true,\n matchedChars: characters\n };\n }\n\n if (last) {\n return {\n overflow: true\n };\n }\n\n return {\n match: true,\n matchedChars: [_char]\n };\n }\n } // No character matches.\n\n\n return;\n\n /* istanbul ignore next */\n\n default:\n throw new Error(\"Unsupported instruction tree: \".concat(tree));\n }\n}\n//# sourceMappingURL=AsYouTypeFormatter.PatternMatcher.js.map","function _createForOfIteratorHelperLoose(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (it) return (it = it.call(o)).next.bind(it); if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\nimport { DIGIT_PLACEHOLDER, countOccurences, repeat, cutAndStripNonPairedParens, closeNonPairedParens, stripNonPairedParens, populateTemplateWithDigits } from './AsYouTypeFormatter.util.js';\nimport formatCompleteNumber, { canFormatCompleteNumber } from './AsYouTypeFormatter.complete.js';\nimport PatternMatcher from './AsYouTypeFormatter.PatternMatcher.js';\nimport parseDigits from './helpers/parseDigits.js';\nexport { DIGIT_PLACEHOLDER } from './AsYouTypeFormatter.util.js';\nimport { FIRST_GROUP_PATTERN } from './helpers/formatNationalNumberUsingFormat.js';\nimport { VALID_PUNCTUATION } from './constants.js';\nimport applyInternationalSeparatorStyle from './helpers/applyInternationalSeparatorStyle.js'; // Used in phone number format template creation.\n// Could be any digit, I guess.\n\nvar DUMMY_DIGIT = '9'; // I don't know why is it exactly `15`\n\nvar LONGEST_NATIONAL_PHONE_NUMBER_LENGTH = 15; // Create a phone number consisting only of the digit 9 that matches the\n// `number_pattern` by applying the pattern to the \"longest phone number\" string.\n\nvar LONGEST_DUMMY_PHONE_NUMBER = repeat(DUMMY_DIGIT, LONGEST_NATIONAL_PHONE_NUMBER_LENGTH); // A set of characters that, if found in a national prefix formatting rules, are an indicator to\n// us that we should separate the national prefix from the number when formatting.\n\nvar NATIONAL_PREFIX_SEPARATORS_PATTERN = /[- ]/; // Deprecated: Google has removed some formatting pattern related code from their repo.\n// https://github.com/googlei18n/libphonenumber/commit/a395b4fef3caf57c4bc5f082e1152a4d2bd0ba4c\n// \"We no longer have numbers in formatting matching patterns, only \\d.\"\n// Because this library supports generating custom metadata\n// some users may still be using old metadata so the relevant\n// code seems to stay until some next major version update.\n\nvar SUPPORT_LEGACY_FORMATTING_PATTERNS = true; // A pattern that is used to match character classes in regular expressions.\n// An example of a character class is \"[1-4]\".\n\nvar CREATE_CHARACTER_CLASS_PATTERN = SUPPORT_LEGACY_FORMATTING_PATTERNS && function () {\n return /\\[([^\\[\\]])*\\]/g;\n}; // Any digit in a regular expression that actually denotes a digit. For\n// example, in the regular expression \"80[0-2]\\d{6,10}\", the first 2 digits\n// (8 and 0) are standalone digits, but the rest are not.\n// Two look-aheads are needed because the number following \\\\d could be a\n// two-digit number, since the phone number can be as long as 15 digits.\n\n\nvar CREATE_STANDALONE_DIGIT_PATTERN = SUPPORT_LEGACY_FORMATTING_PATTERNS && function () {\n return /\\d(?=[^,}][^,}])/g;\n}; // A regular expression that is used to determine if a `format` is\n// suitable to be used in the \"as you type formatter\".\n// A `format` is suitable when the resulting formatted number has\n// the same digits as the user has entered.\n//\n// In the simplest case, that would mean that the format\n// doesn't add any additional digits when formatting a number.\n// Google says that it also shouldn't add \"star\" (`*`) characters,\n// like it does in some Israeli formats.\n// Such basic format would only contain \"valid punctuation\"\n// and \"captured group\" identifiers ($1, $2, etc).\n//\n// An example of a format that adds additional digits:\n//\n// Country: `AR` (Argentina).\n// Format:\n// {\n// \"pattern\": \"(\\\\d)(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\n// \"leading_digits_patterns\": [\"91\"],\n// \"national_prefix_formatting_rule\": \"0$1\",\n// \"format\": \"$2 15-$3-$4\",\n// \"international_format\": \"$1 $2 $3-$4\"\n// }\n//\n// In the format above, the `format` adds `15` to the digits when formatting a number.\n// A sidenote: this format actually is suitable because `national_prefix_for_parsing`\n// has previously removed `15` from a national number, so re-adding `15` in `format`\n// doesn't actually result in any extra digits added to user's input.\n// But verifying that would be a complex procedure, so the code chooses a simpler path:\n// it simply filters out all `format`s that contain anything but \"captured group\" ids.\n//\n// This regular expression is called `ELIGIBLE_FORMAT_PATTERN` in Google's\n// `libphonenumber` code.\n//\n\n\nvar NON_ALTERING_FORMAT_REG_EXP = new RegExp('[' + VALID_PUNCTUATION + ']*' + // Google developers say:\n// \"We require that the first matching group is present in the\n// output pattern to ensure no data is lost while formatting.\"\n'\\\\$1' + '[' + VALID_PUNCTUATION + ']*' + '(\\\\$\\\\d[' + VALID_PUNCTUATION + ']*)*' + '$'); // This is the minimum length of the leading digits of a phone number\n// to guarantee the first \"leading digits pattern\" for a phone number format\n// to be preemptive.\n\nvar MIN_LEADING_DIGITS_LENGTH = 3;\n\nvar AsYouTypeFormatter = /*#__PURE__*/function () {\n function AsYouTypeFormatter(_ref) {\n var state = _ref.state,\n metadata = _ref.metadata;\n\n _classCallCheck(this, AsYouTypeFormatter);\n\n this.metadata = metadata;\n this.resetFormat();\n }\n\n _createClass(AsYouTypeFormatter, [{\n key: \"resetFormat\",\n value: function resetFormat() {\n this.chosenFormat = undefined;\n this.template = undefined;\n this.nationalNumberTemplate = undefined;\n this.populatedNationalNumberTemplate = undefined;\n this.populatedNationalNumberTemplatePosition = -1;\n }\n }, {\n key: \"reset\",\n value: function reset(numberingPlan, state) {\n this.resetFormat();\n\n if (numberingPlan) {\n this.isNANP = numberingPlan.callingCode() === '1';\n this.matchingFormats = numberingPlan.formats();\n\n if (state.nationalSignificantNumber) {\n this.narrowDownMatchingFormats(state);\n }\n } else {\n this.isNANP = undefined;\n this.matchingFormats = [];\n }\n }\n /**\r\n * Formats an updated phone number.\r\n * @param {string} nextDigits — Additional phone number digits.\r\n * @param {object} state — `AsYouType` state.\r\n * @return {[string]} Returns undefined if the updated phone number can't be formatted using any of the available formats.\r\n */\n\n }, {\n key: \"format\",\n value: function format(nextDigits, state) {\n var _this = this;\n\n // See if the phone number digits can be formatted as a complete phone number.\n // If not, use the results from `formatNationalNumberWithNextDigits()`,\n // which formats based on the chosen formatting pattern.\n //\n // Attempting to format complete phone number first is how it's done\n // in Google's `libphonenumber`, so this library just follows it.\n // Google's `libphonenumber` code doesn't explain in detail why does it\n // attempt to format digits as a complete phone number\n // instead of just going with a previoulsy (or newly) chosen `format`:\n //\n // \"Checks to see if there is an exact pattern match for these digits.\n // If so, we should use this instead of any other formatting template\n // whose leadingDigitsPattern also matches the input.\"\n //\n if (canFormatCompleteNumber(state.nationalSignificantNumber, this.metadata)) {\n for (var _iterator = _createForOfIteratorHelperLoose(this.matchingFormats), _step; !(_step = _iterator()).done;) {\n var format = _step.value;\n var formattedCompleteNumber = formatCompleteNumber(state, format, {\n metadata: this.metadata,\n shouldTryNationalPrefixFormattingRule: function shouldTryNationalPrefixFormattingRule(format) {\n return _this.shouldTryNationalPrefixFormattingRule(format, {\n international: state.international,\n nationalPrefix: state.nationalPrefix\n });\n },\n getSeparatorAfterNationalPrefix: function getSeparatorAfterNationalPrefix(format) {\n return _this.getSeparatorAfterNationalPrefix(format);\n }\n });\n\n if (formattedCompleteNumber) {\n this.resetFormat();\n this.chosenFormat = format;\n this.setNationalNumberTemplate(formattedCompleteNumber.replace(/\\d/g, DIGIT_PLACEHOLDER), state);\n this.populatedNationalNumberTemplate = formattedCompleteNumber; // With a new formatting template, the matched position\n // using the old template needs to be reset.\n\n this.populatedNationalNumberTemplatePosition = this.template.lastIndexOf(DIGIT_PLACEHOLDER);\n return formattedCompleteNumber;\n }\n }\n } // Format the digits as a partial (incomplete) phone number\n // using the previously chosen formatting pattern (or a newly chosen one).\n\n\n return this.formatNationalNumberWithNextDigits(nextDigits, state);\n } // Formats the next phone number digits.\n\n }, {\n key: \"formatNationalNumberWithNextDigits\",\n value: function formatNationalNumberWithNextDigits(nextDigits, state) {\n var previouslyChosenFormat = this.chosenFormat; // Choose a format from the list of matching ones.\n\n var newlyChosenFormat = this.chooseFormat(state);\n\n if (newlyChosenFormat) {\n if (newlyChosenFormat === previouslyChosenFormat) {\n // If it can format the next (current) digits\n // using the previously chosen phone number format\n // then return the updated formatted number.\n return this.formatNextNationalNumberDigits(nextDigits);\n } else {\n // If a more appropriate phone number format\n // has been chosen for these \"leading digits\",\n // then re-format the national phone number part\n // using the newly selected format.\n return this.formatNextNationalNumberDigits(state.getNationalDigits());\n }\n }\n }\n }, {\n key: \"narrowDownMatchingFormats\",\n value: function narrowDownMatchingFormats(_ref2) {\n var _this2 = this;\n\n var nationalSignificantNumber = _ref2.nationalSignificantNumber,\n nationalPrefix = _ref2.nationalPrefix,\n international = _ref2.international;\n var leadingDigits = nationalSignificantNumber; // \"leading digits\" pattern list starts with a\n // \"leading digits\" pattern fitting a maximum of 3 leading digits.\n // So, after a user inputs 3 digits of a national (significant) phone number\n // this national (significant) number can already be formatted.\n // The next \"leading digits\" pattern is for 4 leading digits max,\n // and the \"leading digits\" pattern after it is for 5 leading digits max, etc.\n // This implementation is different from Google's\n // in that it searches for a fitting format\n // even if the user has entered less than\n // `MIN_LEADING_DIGITS_LENGTH` digits of a national number.\n // Because some leading digit patterns already match for a single first digit.\n\n var leadingDigitsPatternIndex = leadingDigits.length - MIN_LEADING_DIGITS_LENGTH;\n\n if (leadingDigitsPatternIndex < 0) {\n leadingDigitsPatternIndex = 0;\n }\n\n this.matchingFormats = this.matchingFormats.filter(function (format) {\n return _this2.formatSuits(format, international, nationalPrefix) && _this2.formatMatches(format, leadingDigits, leadingDigitsPatternIndex);\n }); // If there was a phone number format chosen\n // and it no longer holds given the new leading digits then reset it.\n // The test for this `if` condition is marked as:\n // \"Reset a chosen format when it no longer holds given the new leading digits\".\n // To construct a valid test case for this one can find a country\n // in `PhoneNumberMetadata.xml` yielding one format for 3 `<leadingDigits>`\n // and yielding another format for 4 `<leadingDigits>` (Australia in this case).\n\n if (this.chosenFormat && this.matchingFormats.indexOf(this.chosenFormat) === -1) {\n this.resetFormat();\n }\n }\n }, {\n key: \"formatSuits\",\n value: function formatSuits(format, international, nationalPrefix) {\n // When a prefix before a national (significant) number is\n // simply a national prefix, then it's parsed as `this.nationalPrefix`.\n // In more complex cases, a prefix before national (significant) number\n // could include a national prefix as well as some \"capturing groups\",\n // and in that case there's no info whether a national prefix has been parsed.\n // If national prefix is not used when formatting a phone number\n // using this format, but a national prefix has been entered by the user,\n // and was extracted, then discard such phone number format.\n // In Google's \"AsYouType\" formatter code, the equivalent would be this part:\n // https://github.com/google/libphonenumber/blob/0a45cfd96e71cad8edb0e162a70fcc8bd9728933/java/libphonenumber/src/com/google/i18n/phonenumbers/AsYouTypeFormatter.java#L175-L184\n if (nationalPrefix && !format.usesNationalPrefix() && // !format.domesticCarrierCodeFormattingRule() &&\n !format.nationalPrefixIsOptionalWhenFormattingInNationalFormat()) {\n return false;\n } // If national prefix is mandatory for this phone number format\n // and there're no guarantees that a national prefix is present in user input\n // then discard this phone number format as not suitable.\n // In Google's \"AsYouType\" formatter code, the equivalent would be this part:\n // https://github.com/google/libphonenumber/blob/0a45cfd96e71cad8edb0e162a70fcc8bd9728933/java/libphonenumber/src/com/google/i18n/phonenumbers/AsYouTypeFormatter.java#L185-L193\n\n\n if (!international && !nationalPrefix && format.nationalPrefixIsMandatoryWhenFormattingInNationalFormat()) {\n return false;\n }\n\n return true;\n }\n }, {\n key: \"formatMatches\",\n value: function formatMatches(format, leadingDigits, leadingDigitsPatternIndex) {\n var leadingDigitsPatternsCount = format.leadingDigitsPatterns().length; // If this format is not restricted to a certain\n // leading digits pattern then it fits.\n // The test case could be found by searching for \"leadingDigitsPatternsCount === 0\".\n\n if (leadingDigitsPatternsCount === 0) {\n return true;\n } // Start narrowing down the list of possible formats based on the leading digits.\n // (only previously matched formats take part in the narrowing down process)\n // `leading_digits_patterns` start with 3 digits min\n // and then go up from there one digit at a time.\n\n\n leadingDigitsPatternIndex = Math.min(leadingDigitsPatternIndex, leadingDigitsPatternsCount - 1);\n var leadingDigitsPattern = format.leadingDigitsPatterns()[leadingDigitsPatternIndex]; // Google imposes a requirement on the leading digits\n // to be minimum 3 digits long in order to be eligible\n // for checking those with a leading digits pattern.\n //\n // Since `leading_digits_patterns` start with 3 digits min,\n // Google's original `libphonenumber` library only starts\n // excluding any non-matching formats only when the\n // national number entered so far is at least 3 digits long,\n // otherwise format matching would give false negatives.\n //\n // For example, when the digits entered so far are `2`\n // and the leading digits pattern is `21` –\n // it's quite obvious in this case that the format could be the one\n // but due to the absence of further digits it would give false negative.\n //\n // Also, `leading_digits_patterns` doesn't always correspond to a single\n // digits count. For example, `60|8` pattern would already match `8`\n // but the `60` part would require having at least two leading digits,\n // so the whole pattern would require inputting two digits first in order to\n // decide on whether it matches the input, even when the input is \"80\".\n //\n // This library — `libphonenumber-js` — allows filtering by `leading_digits_patterns`\n // even when there's only 1 or 2 digits of the national (significant) number.\n // To do that, it uses a non-strict pattern matcher written specifically for that.\n //\n\n if (leadingDigits.length < MIN_LEADING_DIGITS_LENGTH) {\n // Before leading digits < 3 matching was implemented:\n // return true\n //\n // After leading digits < 3 matching was implemented:\n try {\n return new PatternMatcher(leadingDigitsPattern).match(leadingDigits, {\n allowOverflow: true\n }) !== undefined;\n } catch (error)\n /* istanbul ignore next */\n {\n // There's a slight possibility that there could be some undiscovered bug\n // in the pattern matcher code. Since the \"leading digits < 3 matching\"\n // feature is not \"essential\" for operation, it can fall back to the old way\n // in case of any issues rather than halting the application's execution.\n console.error(error);\n return true;\n }\n } // If at least `MIN_LEADING_DIGITS_LENGTH` digits of a national number are\n // available then use the usual regular expression matching.\n //\n // The whole pattern is wrapped in round brackets (`()`) because\n // the pattern can use \"or\" operator (`|`) at the top level of the pattern.\n //\n\n\n return new RegExp(\"^(\".concat(leadingDigitsPattern, \")\")).test(leadingDigits);\n }\n }, {\n key: \"getFormatFormat\",\n value: function getFormatFormat(format, international) {\n return international ? format.internationalFormat() : format.format();\n }\n }, {\n key: \"chooseFormat\",\n value: function chooseFormat(state) {\n var _this3 = this;\n\n var _loop = function _loop() {\n var format = _step2.value;\n\n // If this format is currently being used\n // and is still suitable, then stick to it.\n if (_this3.chosenFormat === format) {\n return \"break\";\n } // Sometimes, a formatting rule inserts additional digits in a phone number,\n // and \"as you type\" formatter can't do that: it should only use the digits\n // that the user has input.\n //\n // For example, in Argentina, there's a format for mobile phone numbers:\n //\n // {\n // \"pattern\": \"(\\\\d)(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\n // \"leading_digits_patterns\": [\"91\"],\n // \"national_prefix_formatting_rule\": \"0$1\",\n // \"format\": \"$2 15-$3-$4\",\n // \"international_format\": \"$1 $2 $3-$4\"\n // }\n //\n // In that format, `international_format` is used instead of `format`\n // because `format` inserts `15` in the formatted number,\n // and `AsYouType` formatter should only use the digits\n // the user has actually input, without adding any extra digits.\n // In this case, it wouldn't make a difference, because the `15`\n // is first stripped when applying `national_prefix_for_parsing`\n // and then re-added when using `format`, so in reality it doesn't\n // add any new digits to the number, but to detect that, the code\n // would have to be more complex: it would have to try formatting\n // the digits using the format and then see if any digits have\n // actually been added or removed, and then, every time a new digit\n // is input, it should re-check whether the chosen format doesn't\n // alter the digits.\n //\n // Google's code doesn't go that far, and so does this library:\n // it simply requires that a `format` doesn't add any additonal\n // digits to user's input.\n //\n // Also, people in general should move from inputting phone numbers\n // in national format (possibly with national prefixes)\n // and use international phone number format instead:\n // it's a logical thing in the modern age of mobile phones,\n // globalization and the internet.\n //\n\n /* istanbul ignore if */\n\n\n if (!NON_ALTERING_FORMAT_REG_EXP.test(_this3.getFormatFormat(format, state.international))) {\n return \"continue\";\n }\n\n if (!_this3.createTemplateForFormat(format, state)) {\n // Remove the format if it can't generate a template.\n _this3.matchingFormats = _this3.matchingFormats.filter(function (_) {\n return _ !== format;\n });\n return \"continue\";\n }\n\n _this3.chosenFormat = format;\n return \"break\";\n };\n\n // When there are multiple available formats, the formatter uses the first\n // format where a formatting template could be created.\n //\n // For some weird reason, `istanbul` says \"else path not taken\"\n // for the `for of` line below. Supposedly that means that\n // the loop doesn't ever go over the last element in the list.\n // That's true because there always is `this.chosenFormat`\n // when `this.matchingFormats` is non-empty.\n // And, for some weird reason, it doesn't think that the case\n // with empty `this.matchingFormats` qualifies for a valid \"else\" path.\n // So simply muting this `istanbul` warning.\n // It doesn't skip the contents of the `for of` loop,\n // it just skips the `for of` line.\n //\n\n /* istanbul ignore next */\n for (var _iterator2 = _createForOfIteratorHelperLoose(this.matchingFormats.slice()), _step2; !(_step2 = _iterator2()).done;) {\n var _ret = _loop();\n\n if (_ret === \"break\") break;\n if (_ret === \"continue\") continue;\n }\n\n if (!this.chosenFormat) {\n // No format matches the national (significant) phone number.\n this.resetFormat();\n }\n\n return this.chosenFormat;\n }\n }, {\n key: \"createTemplateForFormat\",\n value: function createTemplateForFormat(format, state) {\n // The formatter doesn't format numbers when numberPattern contains '|', e.g.\n // (20|3)\\d{4}. In those cases we quickly return.\n // (Though there's no such format in current metadata)\n\n /* istanbul ignore if */\n if (SUPPORT_LEGACY_FORMATTING_PATTERNS && format.pattern().indexOf('|') >= 0) {\n return;\n } // Get formatting template for this phone number format\n\n\n var template = this.getTemplateForFormat(format, state); // If the national number entered is too long\n // for any phone number format, then abort.\n\n if (template) {\n this.setNationalNumberTemplate(template, state);\n return true;\n }\n }\n }, {\n key: \"getSeparatorAfterNationalPrefix\",\n value: function getSeparatorAfterNationalPrefix(format) {\n // `US` metadata doesn't have a `national_prefix_formatting_rule`,\n // so the `if` condition below doesn't apply to `US`,\n // but in reality there shoudl be a separator\n // between a national prefix and a national (significant) number.\n // So `US` national prefix separator is a \"special\" \"hardcoded\" case.\n if (this.isNANP) {\n return ' ';\n } // If a `format` has a `national_prefix_formatting_rule`\n // and that rule has a separator after a national prefix,\n // then it means that there should be a separator\n // between a national prefix and a national (significant) number.\n\n\n if (format && format.nationalPrefixFormattingRule() && NATIONAL_PREFIX_SEPARATORS_PATTERN.test(format.nationalPrefixFormattingRule())) {\n return ' ';\n } // At this point, there seems to be no clear evidence that\n // there should be a separator between a national prefix\n // and a national (significant) number. So don't insert one.\n\n\n return '';\n }\n }, {\n key: \"getInternationalPrefixBeforeCountryCallingCode\",\n value: function getInternationalPrefixBeforeCountryCallingCode(_ref3, options) {\n var IDDPrefix = _ref3.IDDPrefix,\n missingPlus = _ref3.missingPlus;\n\n if (IDDPrefix) {\n return options && options.spacing === false ? IDDPrefix : IDDPrefix + ' ';\n }\n\n if (missingPlus) {\n return '';\n }\n\n return '+';\n }\n }, {\n key: \"getTemplate\",\n value: function getTemplate(state) {\n if (!this.template) {\n return;\n } // `this.template` holds the template for a \"complete\" phone number.\n // The currently entered phone number is most likely not \"complete\",\n // so trim all non-populated digits.\n\n\n var index = -1;\n var i = 0;\n var internationalPrefix = state.international ? this.getInternationalPrefixBeforeCountryCallingCode(state, {\n spacing: false\n }) : '';\n\n while (i < internationalPrefix.length + state.getDigitsWithoutInternationalPrefix().length) {\n index = this.template.indexOf(DIGIT_PLACEHOLDER, index + 1);\n i++;\n }\n\n return cutAndStripNonPairedParens(this.template, index + 1);\n }\n }, {\n key: \"setNationalNumberTemplate\",\n value: function setNationalNumberTemplate(template, state) {\n this.nationalNumberTemplate = template;\n this.populatedNationalNumberTemplate = template; // With a new formatting template, the matched position\n // using the old template needs to be reset.\n\n this.populatedNationalNumberTemplatePosition = -1; // For convenience, the public `.template` property\n // contains the whole international number\n // if the phone number being input is international:\n // 'x' for the '+' sign, 'x'es for the country phone code,\n // a spacebar and then the template for the formatted national number.\n\n if (state.international) {\n this.template = this.getInternationalPrefixBeforeCountryCallingCode(state).replace(/[\\d\\+]/g, DIGIT_PLACEHOLDER) + repeat(DIGIT_PLACEHOLDER, state.callingCode.length) + ' ' + template;\n } else {\n this.template = template;\n }\n }\n /**\r\n * Generates formatting template for a national phone number,\r\n * optionally containing a national prefix, for a format.\r\n * @param {Format} format\r\n * @param {string} nationalPrefix\r\n * @return {string}\r\n */\n\n }, {\n key: \"getTemplateForFormat\",\n value: function getTemplateForFormat(format, _ref4) {\n var nationalSignificantNumber = _ref4.nationalSignificantNumber,\n international = _ref4.international,\n nationalPrefix = _ref4.nationalPrefix,\n complexPrefixBeforeNationalSignificantNumber = _ref4.complexPrefixBeforeNationalSignificantNumber;\n var pattern = format.pattern();\n /* istanbul ignore else */\n\n if (SUPPORT_LEGACY_FORMATTING_PATTERNS) {\n pattern = pattern // Replace anything in the form of [..] with \\d\n .replace(CREATE_CHARACTER_CLASS_PATTERN(), '\\\\d') // Replace any standalone digit (not the one in `{}`) with \\d\n .replace(CREATE_STANDALONE_DIGIT_PATTERN(), '\\\\d');\n } // Generate a dummy national number (consisting of `9`s)\n // that fits this format's `pattern`.\n //\n // This match will always succeed,\n // because the \"longest dummy phone number\"\n // has enough length to accomodate any possible\n // national phone number format pattern.\n //\n\n\n var digits = LONGEST_DUMMY_PHONE_NUMBER.match(pattern)[0]; // If the national number entered is too long\n // for any phone number format, then abort.\n\n if (nationalSignificantNumber.length > digits.length) {\n return;\n } // Get a formatting template which can be used to efficiently format\n // a partial number where digits are added one by one.\n // Below `strictPattern` is used for the\n // regular expression (with `^` and `$`).\n // This wasn't originally in Google's `libphonenumber`\n // and I guess they don't really need it\n // because they're not using \"templates\" to format phone numbers\n // but I added `strictPattern` after encountering\n // South Korean phone number formatting bug.\n //\n // Non-strict regular expression bug demonstration:\n //\n // this.nationalSignificantNumber : `111111111` (9 digits)\n //\n // pattern : (\\d{2})(\\d{3,4})(\\d{4})\n // format : `$1 $2 $3`\n // digits : `9999999999` (10 digits)\n //\n // '9999999999'.replace(new RegExp(/(\\d{2})(\\d{3,4})(\\d{4})/g), '$1 $2 $3') = \"99 9999 9999\"\n //\n // template : xx xxxx xxxx\n //\n // But the correct template in this case is `xx xxx xxxx`.\n // The template was generated incorrectly because of the\n // `{3,4}` variability in the `pattern`.\n //\n // The fix is, if `this.nationalSignificantNumber` has already sufficient length\n // to satisfy the `pattern` completely then `this.nationalSignificantNumber`\n // is used instead of `digits`.\n\n\n var strictPattern = new RegExp('^' + pattern + '$');\n var nationalNumberDummyDigits = nationalSignificantNumber.replace(/\\d/g, DUMMY_DIGIT); // If `this.nationalSignificantNumber` has already sufficient length\n // to satisfy the `pattern` completely then use it\n // instead of `digits`.\n\n if (strictPattern.test(nationalNumberDummyDigits)) {\n digits = nationalNumberDummyDigits;\n }\n\n var numberFormat = this.getFormatFormat(format, international);\n var nationalPrefixIncludedInTemplate; // If a user did input a national prefix (and that's guaranteed),\n // and if a `format` does have a national prefix formatting rule,\n // then see if that national prefix formatting rule\n // prepends exactly the same national prefix the user has input.\n // If that's the case, then use the `format` with the national prefix formatting rule.\n // Otherwise, use the `format` without the national prefix formatting rule,\n // and prepend a national prefix manually to it.\n\n if (this.shouldTryNationalPrefixFormattingRule(format, {\n international: international,\n nationalPrefix: nationalPrefix\n })) {\n var numberFormatWithNationalPrefix = numberFormat.replace(FIRST_GROUP_PATTERN, format.nationalPrefixFormattingRule()); // If `national_prefix_formatting_rule` of a `format` simply prepends\n // national prefix at the start of a national (significant) number,\n // then such formatting can be used with `AsYouType` formatter.\n // There seems to be no `else` case: everywhere in metadata,\n // national prefix formatting rule is national prefix + $1,\n // or `($1)`, in which case such format isn't even considered\n // when the user has input a national prefix.\n\n /* istanbul ignore else */\n\n if (parseDigits(format.nationalPrefixFormattingRule()) === (nationalPrefix || '') + parseDigits('$1')) {\n numberFormat = numberFormatWithNationalPrefix;\n nationalPrefixIncludedInTemplate = true; // Replace all digits of the national prefix in the formatting template\n // with `DIGIT_PLACEHOLDER`s.\n\n if (nationalPrefix) {\n var i = nationalPrefix.length;\n\n while (i > 0) {\n numberFormat = numberFormat.replace(/\\d/, DIGIT_PLACEHOLDER);\n i--;\n }\n }\n }\n } // Generate formatting template for this phone number format.\n\n\n var template = digits // Format the dummy phone number according to the format.\n .replace(new RegExp(pattern), numberFormat) // Replace each dummy digit with a DIGIT_PLACEHOLDER.\n .replace(new RegExp(DUMMY_DIGIT, 'g'), DIGIT_PLACEHOLDER); // If a prefix of a national (significant) number is not as simple\n // as just a basic national prefix, then just prepend such prefix\n // before the national (significant) number, optionally spacing\n // the two with a whitespace.\n\n if (!nationalPrefixIncludedInTemplate) {\n if (complexPrefixBeforeNationalSignificantNumber) {\n // Prepend the prefix to the template manually.\n template = repeat(DIGIT_PLACEHOLDER, complexPrefixBeforeNationalSignificantNumber.length) + ' ' + template;\n } else if (nationalPrefix) {\n // Prepend national prefix to the template manually.\n template = repeat(DIGIT_PLACEHOLDER, nationalPrefix.length) + this.getSeparatorAfterNationalPrefix(format) + template;\n }\n }\n\n if (international) {\n template = applyInternationalSeparatorStyle(template);\n }\n\n return template;\n }\n }, {\n key: \"formatNextNationalNumberDigits\",\n value: function formatNextNationalNumberDigits(digits) {\n var result = populateTemplateWithDigits(this.populatedNationalNumberTemplate, this.populatedNationalNumberTemplatePosition, digits);\n\n if (!result) {\n // Reset the format.\n this.resetFormat();\n return;\n }\n\n this.populatedNationalNumberTemplate = result[0];\n this.populatedNationalNumberTemplatePosition = result[1]; // Return the formatted phone number so far.\n\n return cutAndStripNonPairedParens(this.populatedNationalNumberTemplate, this.populatedNationalNumberTemplatePosition + 1); // The old way which was good for `input-format` but is not so good\n // for `react-phone-number-input`'s default input (`InputBasic`).\n // return closeNonPairedParens(this.populatedNationalNumberTemplate, this.populatedNationalNumberTemplatePosition + 1)\n // \t.replace(new RegExp(DIGIT_PLACEHOLDER, 'g'), ' ')\n }\n }, {\n key: \"shouldTryNationalPrefixFormattingRule\",\n value: function shouldTryNationalPrefixFormattingRule(format, _ref5) {\n var international = _ref5.international,\n nationalPrefix = _ref5.nationalPrefix;\n\n if (format.nationalPrefixFormattingRule()) {\n // In some countries, `national_prefix_formatting_rule` is `($1)`,\n // so it applies even if the user hasn't input a national prefix.\n // `format.usesNationalPrefix()` detects such cases.\n var usesNationalPrefix = format.usesNationalPrefix();\n\n if (usesNationalPrefix && nationalPrefix || !usesNationalPrefix && !international) {\n return true;\n }\n }\n }\n }]);\n\n return AsYouTypeFormatter;\n}();\n\nexport { AsYouTypeFormatter as default };\n//# sourceMappingURL=AsYouTypeFormatter.js.map","function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\nimport _extractCountryCallingCode from './helpers/extractCountryCallingCode.js';\nimport extractCountryCallingCodeFromInternationalNumberWithoutPlusSign from './helpers/extractCountryCallingCodeFromInternationalNumberWithoutPlusSign.js';\nimport extractNationalNumberFromPossiblyIncompleteNumber from './helpers/extractNationalNumberFromPossiblyIncompleteNumber.js';\nimport stripIddPrefix from './helpers/stripIddPrefix.js';\nimport parseDigits from './helpers/parseDigits.js';\nimport { VALID_DIGITS, VALID_PUNCTUATION, PLUS_CHARS } from './constants.js';\nvar VALID_FORMATTED_PHONE_NUMBER_DIGITS_PART = '[' + VALID_PUNCTUATION + VALID_DIGITS + ']+';\nvar VALID_FORMATTED_PHONE_NUMBER_DIGITS_PART_PATTERN = new RegExp('^' + VALID_FORMATTED_PHONE_NUMBER_DIGITS_PART + '$', 'i');\nvar VALID_FORMATTED_PHONE_NUMBER_PART = '(?:' + '[' + PLUS_CHARS + ']' + '[' + VALID_PUNCTUATION + VALID_DIGITS + ']*' + '|' + '[' + VALID_PUNCTUATION + VALID_DIGITS + ']+' + ')';\nvar AFTER_PHONE_NUMBER_DIGITS_END_PATTERN = new RegExp('[^' + VALID_PUNCTUATION + VALID_DIGITS + ']+' + '.*' + '$'); // Tests whether `national_prefix_for_parsing` could match\n// different national prefixes.\n// Matches anything that's not a digit or a square bracket.\n\nvar COMPLEX_NATIONAL_PREFIX = /[^\\d\\[\\]]/;\n\nvar AsYouTypeParser = /*#__PURE__*/function () {\n function AsYouTypeParser(_ref) {\n var defaultCountry = _ref.defaultCountry,\n defaultCallingCode = _ref.defaultCallingCode,\n metadata = _ref.metadata,\n onNationalSignificantNumberChange = _ref.onNationalSignificantNumberChange;\n\n _classCallCheck(this, AsYouTypeParser);\n\n this.defaultCountry = defaultCountry;\n this.defaultCallingCode = defaultCallingCode;\n this.metadata = metadata;\n this.onNationalSignificantNumberChange = onNationalSignificantNumberChange;\n }\n\n _createClass(AsYouTypeParser, [{\n key: \"input\",\n value: function input(text, state) {\n var _extractFormattedDigi = extractFormattedDigitsAndPlus(text),\n _extractFormattedDigi2 = _slicedToArray(_extractFormattedDigi, 2),\n formattedDigits = _extractFormattedDigi2[0],\n hasPlus = _extractFormattedDigi2[1];\n\n var digits = parseDigits(formattedDigits); // Checks for a special case: just a leading `+` has been entered.\n\n var justLeadingPlus;\n\n if (hasPlus) {\n if (!state.digits) {\n state.startInternationalNumber();\n\n if (!digits) {\n justLeadingPlus = true;\n }\n }\n }\n\n if (digits) {\n this.inputDigits(digits, state);\n }\n\n return {\n digits: digits,\n justLeadingPlus: justLeadingPlus\n };\n }\n /**\r\n * Inputs \"next\" phone number digits.\r\n * @param {string} digits\r\n * @return {string} [formattedNumber] Formatted national phone number (if it can be formatted at this stage). Returning `undefined` means \"don't format the national phone number at this stage\".\r\n */\n\n }, {\n key: \"inputDigits\",\n value: function inputDigits(nextDigits, state) {\n var digits = state.digits;\n var hasReceivedThreeLeadingDigits = digits.length < 3 && digits.length + nextDigits.length >= 3; // Append phone number digits.\n\n state.appendDigits(nextDigits); // Attempt to extract IDD prefix:\n // Some users input their phone number in international format,\n // but in an \"out-of-country\" dialing format instead of using the leading `+`.\n // https://github.com/catamphetamine/libphonenumber-js/issues/185\n // Detect such numbers as soon as there're at least 3 digits.\n // Google's library attempts to extract IDD prefix at 3 digits,\n // so this library just copies that behavior.\n // I guess that's because the most commot IDD prefixes are\n // `00` (Europe) and `011` (US).\n // There exist really long IDD prefixes too:\n // for example, in Australia the default IDD prefix is `0011`,\n // and it could even be as long as `14880011`.\n // An IDD prefix is extracted here, and then every time when\n // there's a new digit and the number couldn't be formatted.\n\n if (hasReceivedThreeLeadingDigits) {\n this.extractIddPrefix(state);\n }\n\n if (this.isWaitingForCountryCallingCode(state)) {\n if (!this.extractCountryCallingCode(state)) {\n return;\n }\n } else {\n state.appendNationalSignificantNumberDigits(nextDigits);\n } // If a phone number is being input in international format,\n // then it's not valid for it to have a national prefix.\n // Still, some people incorrectly input such numbers with a national prefix.\n // In such cases, only attempt to strip a national prefix if the number becomes too long.\n // (but that is done later, not here)\n\n\n if (!state.international) {\n if (!this.hasExtractedNationalSignificantNumber) {\n this.extractNationalSignificantNumber(state.getNationalDigits(), function (stateUpdate) {\n return state.update(stateUpdate);\n });\n }\n }\n }\n }, {\n key: \"isWaitingForCountryCallingCode\",\n value: function isWaitingForCountryCallingCode(_ref2) {\n var international = _ref2.international,\n callingCode = _ref2.callingCode;\n return international && !callingCode;\n } // Extracts a country calling code from a number\n // being entered in internatonal format.\n\n }, {\n key: \"extractCountryCallingCode\",\n value: function extractCountryCallingCode(state) {\n var _extractCountryCallin = _extractCountryCallingCode('+' + state.getDigitsWithoutInternationalPrefix(), this.defaultCountry, this.defaultCallingCode, this.metadata.metadata),\n countryCallingCode = _extractCountryCallin.countryCallingCode,\n number = _extractCountryCallin.number;\n\n if (countryCallingCode) {\n state.setCallingCode(countryCallingCode);\n state.update({\n nationalSignificantNumber: number\n });\n return true;\n }\n }\n }, {\n key: \"reset\",\n value: function reset(numberingPlan) {\n if (numberingPlan) {\n this.hasSelectedNumberingPlan = true;\n\n var nationalPrefixForParsing = numberingPlan._nationalPrefixForParsing();\n\n this.couldPossiblyExtractAnotherNationalSignificantNumber = nationalPrefixForParsing && COMPLEX_NATIONAL_PREFIX.test(nationalPrefixForParsing);\n } else {\n this.hasSelectedNumberingPlan = undefined;\n this.couldPossiblyExtractAnotherNationalSignificantNumber = undefined;\n }\n }\n /**\r\n * Extracts a national (significant) number from user input.\r\n * Google's library is different in that it only applies `national_prefix_for_parsing`\r\n * and doesn't apply `national_prefix_transform_rule` after that.\r\n * https://github.com/google/libphonenumber/blob/a3d70b0487875475e6ad659af404943211d26456/java/libphonenumber/src/com/google/i18n/phonenumbers/AsYouTypeFormatter.java#L539\r\n * @return {boolean} [extracted]\r\n */\n\n }, {\n key: \"extractNationalSignificantNumber\",\n value: function extractNationalSignificantNumber(nationalDigits, setState) {\n if (!this.hasSelectedNumberingPlan) {\n return;\n }\n\n var _extractNationalNumbe = extractNationalNumberFromPossiblyIncompleteNumber(nationalDigits, this.metadata),\n nationalPrefix = _extractNationalNumbe.nationalPrefix,\n nationalNumber = _extractNationalNumbe.nationalNumber,\n carrierCode = _extractNationalNumbe.carrierCode;\n\n if (nationalNumber === nationalDigits) {\n return;\n }\n\n this.onExtractedNationalNumber(nationalPrefix, carrierCode, nationalNumber, nationalDigits, setState);\n return true;\n }\n /**\r\n * In Google's code this function is called \"attempt to extract longer NDD\".\r\n * \"Some national prefixes are a substring of others\", they say.\r\n * @return {boolean} [result] — Returns `true` if extracting a national prefix produced different results from what they were.\r\n */\n\n }, {\n key: \"extractAnotherNationalSignificantNumber\",\n value: function extractAnotherNationalSignificantNumber(nationalDigits, prevNationalSignificantNumber, setState) {\n if (!this.hasExtractedNationalSignificantNumber) {\n return this.extractNationalSignificantNumber(nationalDigits, setState);\n }\n\n if (!this.couldPossiblyExtractAnotherNationalSignificantNumber) {\n return;\n }\n\n var _extractNationalNumbe2 = extractNationalNumberFromPossiblyIncompleteNumber(nationalDigits, this.metadata),\n nationalPrefix = _extractNationalNumbe2.nationalPrefix,\n nationalNumber = _extractNationalNumbe2.nationalNumber,\n carrierCode = _extractNationalNumbe2.carrierCode; // If a national prefix has been extracted previously,\n // then it's always extracted as additional digits are added.\n // That's assuming `extractNationalNumberFromPossiblyIncompleteNumber()`\n // doesn't do anything different from what it currently does.\n // So, just in case, here's this check, though it doesn't occur.\n\n /* istanbul ignore if */\n\n\n if (nationalNumber === prevNationalSignificantNumber) {\n return;\n }\n\n this.onExtractedNationalNumber(nationalPrefix, carrierCode, nationalNumber, nationalDigits, setState);\n return true;\n }\n }, {\n key: \"onExtractedNationalNumber\",\n value: function onExtractedNationalNumber(nationalPrefix, carrierCode, nationalSignificantNumber, nationalDigits, setState) {\n var complexPrefixBeforeNationalSignificantNumber;\n var nationalSignificantNumberMatchesInput; // This check also works with empty `this.nationalSignificantNumber`.\n\n var nationalSignificantNumberIndex = nationalDigits.lastIndexOf(nationalSignificantNumber); // If the extracted national (significant) number is the\n // last substring of the `digits`, then it means that it hasn't been altered:\n // no digits have been removed from the national (significant) number\n // while applying `national_prefix_transform_rule`.\n // https://gitlab.com/catamphetamine/libphonenumber-js/-/blob/master/METADATA.md#national_prefix_for_parsing--national_prefix_transform_rule\n\n if (nationalSignificantNumberIndex >= 0 && nationalSignificantNumberIndex === nationalDigits.length - nationalSignificantNumber.length) {\n nationalSignificantNumberMatchesInput = true; // If a prefix of a national (significant) number is not as simple\n // as just a basic national prefix, then such prefix is stored in\n // `this.complexPrefixBeforeNationalSignificantNumber` property and will be\n // prepended \"as is\" to the national (significant) number to produce\n // a formatted result.\n\n var prefixBeforeNationalNumber = nationalDigits.slice(0, nationalSignificantNumberIndex); // `prefixBeforeNationalNumber` is always non-empty,\n // because `onExtractedNationalNumber()` isn't called\n // when a national (significant) number hasn't been actually \"extracted\":\n // when a national (significant) number is equal to the national part of `digits`,\n // then `onExtractedNationalNumber()` doesn't get called.\n\n if (prefixBeforeNationalNumber !== nationalPrefix) {\n complexPrefixBeforeNationalSignificantNumber = prefixBeforeNationalNumber;\n }\n }\n\n setState({\n nationalPrefix: nationalPrefix,\n carrierCode: carrierCode,\n nationalSignificantNumber: nationalSignificantNumber,\n nationalSignificantNumberMatchesInput: nationalSignificantNumberMatchesInput,\n complexPrefixBeforeNationalSignificantNumber: complexPrefixBeforeNationalSignificantNumber\n }); // `onExtractedNationalNumber()` is only called when\n // the national (significant) number actually did change.\n\n this.hasExtractedNationalSignificantNumber = true;\n this.onNationalSignificantNumberChange();\n }\n }, {\n key: \"reExtractNationalSignificantNumber\",\n value: function reExtractNationalSignificantNumber(state) {\n // Attempt to extract a national prefix.\n //\n // Some people incorrectly input national prefix\n // in an international phone number.\n // For example, some people write British phone numbers as `+44(0)...`.\n //\n // Also, in some rare cases, it is valid for a national prefix\n // to be a part of an international phone number.\n // For example, mobile phone numbers in Mexico are supposed to be\n // dialled internationally using a `1` national prefix,\n // so the national prefix will be part of an international number.\n //\n // Quote from:\n // https://www.mexperience.com/dialing-cell-phones-in-mexico/\n //\n // \"Dialing a Mexican cell phone from abroad\n // When you are calling a cell phone number in Mexico from outside Mexico,\n // it’s necessary to dial an additional “1†after Mexico’s country code\n // (which is “52â€) and before the area code.\n // You also ignore the 045, and simply dial the area code and the\n // cell phone’s number.\n //\n // If you don’t add the “1â€, you’ll receive a recorded announcement\n // asking you to redial using it.\n //\n // For example, if you are calling from the USA to a cell phone\n // in Mexico City, you would dial +52 – 1 – 55 – 1234 5678.\n // (Note that this is different to calling a land line in Mexico City\n // from abroad, where the number dialed would be +52 – 55 – 1234 5678)\".\n //\n // Google's demo output:\n // https://libphonenumber.appspot.com/phonenumberparser?number=%2b5215512345678&country=MX\n //\n if (this.extractAnotherNationalSignificantNumber(state.getNationalDigits(), state.nationalSignificantNumber, function (stateUpdate) {\n return state.update(stateUpdate);\n })) {\n return true;\n } // If no format matches the phone number, then it could be\n // \"a really long IDD\" (quote from a comment in Google's library).\n // An IDD prefix is first extracted when the user has entered at least 3 digits,\n // and then here — every time when there's a new digit and the number\n // couldn't be formatted.\n // For example, in Australia the default IDD prefix is `0011`,\n // and it could even be as long as `14880011`.\n //\n // Could also check `!hasReceivedThreeLeadingDigits` here\n // to filter out the case when this check duplicates the one\n // already performed when there're 3 leading digits,\n // but it's not a big deal, and in most cases there\n // will be a suitable `format` when there're 3 leading digits.\n //\n\n\n if (this.extractIddPrefix(state)) {\n this.extractCallingCodeAndNationalSignificantNumber(state);\n return true;\n } // Google's AsYouType formatter supports sort of an \"autocorrection\" feature\n // when it \"autocorrects\" numbers that have been input for a country\n // with that country's calling code.\n // Such \"autocorrection\" feature looks weird, but different people have been requesting it:\n // https://github.com/catamphetamine/libphonenumber-js/issues/376\n // https://github.com/catamphetamine/libphonenumber-js/issues/375\n // https://github.com/catamphetamine/libphonenumber-js/issues/316\n\n\n if (this.fixMissingPlus(state)) {\n this.extractCallingCodeAndNationalSignificantNumber(state);\n return true;\n }\n }\n }, {\n key: \"extractIddPrefix\",\n value: function extractIddPrefix(state) {\n // An IDD prefix can't be present in a number written with a `+`.\n // Also, don't re-extract an IDD prefix if has already been extracted.\n var international = state.international,\n IDDPrefix = state.IDDPrefix,\n digits = state.digits,\n nationalSignificantNumber = state.nationalSignificantNumber;\n\n if (international || IDDPrefix) {\n return;\n } // Some users input their phone number in \"out-of-country\"\n // dialing format instead of using the leading `+`.\n // https://github.com/catamphetamine/libphonenumber-js/issues/185\n // Detect such numbers.\n\n\n var numberWithoutIDD = stripIddPrefix(digits, this.defaultCountry, this.defaultCallingCode, this.metadata.metadata);\n\n if (numberWithoutIDD !== undefined && numberWithoutIDD !== digits) {\n // If an IDD prefix was stripped then convert the IDD-prefixed number\n // to international number for subsequent parsing.\n state.update({\n IDDPrefix: digits.slice(0, digits.length - numberWithoutIDD.length)\n });\n this.startInternationalNumber(state, {\n country: undefined,\n callingCode: undefined\n });\n return true;\n }\n }\n }, {\n key: \"fixMissingPlus\",\n value: function fixMissingPlus(state) {\n if (!state.international) {\n var _extractCountryCallin2 = extractCountryCallingCodeFromInternationalNumberWithoutPlusSign(state.digits, this.defaultCountry, this.defaultCallingCode, this.metadata.metadata),\n newCallingCode = _extractCountryCallin2.countryCallingCode,\n number = _extractCountryCallin2.number;\n\n if (newCallingCode) {\n state.update({\n missingPlus: true\n });\n this.startInternationalNumber(state, {\n country: state.country,\n callingCode: newCallingCode\n });\n return true;\n }\n }\n }\n }, {\n key: \"startInternationalNumber\",\n value: function startInternationalNumber(state, _ref3) {\n var country = _ref3.country,\n callingCode = _ref3.callingCode;\n state.startInternationalNumber(country, callingCode); // If a national (significant) number has been extracted before, reset it.\n\n if (state.nationalSignificantNumber) {\n state.resetNationalSignificantNumber();\n this.onNationalSignificantNumberChange();\n this.hasExtractedNationalSignificantNumber = undefined;\n }\n }\n }, {\n key: \"extractCallingCodeAndNationalSignificantNumber\",\n value: function extractCallingCodeAndNationalSignificantNumber(state) {\n if (this.extractCountryCallingCode(state)) {\n // `this.extractCallingCode()` is currently called when the number\n // couldn't be formatted during the standard procedure.\n // Normally, the national prefix would be re-extracted\n // for an international number if such number couldn't be formatted,\n // but since it's already not able to be formatted,\n // there won't be yet another retry, so also extract national prefix here.\n this.extractNationalSignificantNumber(state.getNationalDigits(), function (stateUpdate) {\n return state.update(stateUpdate);\n });\n }\n }\n }]);\n\n return AsYouTypeParser;\n}();\n/**\r\n * Extracts formatted phone number from text (if there's any).\r\n * @param {string} text\r\n * @return {string} [formattedPhoneNumber]\r\n */\n\n\nexport { AsYouTypeParser as default };\n\nfunction extractFormattedPhoneNumber(text) {\n // Attempt to extract a possible number from the string passed in.\n var startsAt = text.search(VALID_FORMATTED_PHONE_NUMBER_PART);\n\n if (startsAt < 0) {\n return;\n } // Trim everything to the left of the phone number.\n\n\n text = text.slice(startsAt); // Trim the `+`.\n\n var hasPlus;\n\n if (text[0] === '+') {\n hasPlus = true;\n text = text.slice('+'.length);\n } // Trim everything to the right of the phone number.\n\n\n text = text.replace(AFTER_PHONE_NUMBER_DIGITS_END_PATTERN, ''); // Re-add the previously trimmed `+`.\n\n if (hasPlus) {\n text = '+' + text;\n }\n\n return text;\n}\n/**\r\n * Extracts formatted phone number digits (and a `+`) from text (if there're any).\r\n * @param {string} text\r\n * @return {any[]}\r\n */\n\n\nfunction _extractFormattedDigitsAndPlus(text) {\n // Extract a formatted phone number part from text.\n var extractedNumber = extractFormattedPhoneNumber(text) || ''; // Trim a `+`.\n\n if (extractedNumber[0] === '+') {\n return [extractedNumber.slice('+'.length), true];\n }\n\n return [extractedNumber];\n}\n/**\r\n * Extracts formatted phone number digits (and a `+`) from text (if there're any).\r\n * @param {string} text\r\n * @return {any[]}\r\n */\n\n\nexport function extractFormattedDigitsAndPlus(text) {\n var _extractFormattedDigi3 = _extractFormattedDigitsAndPlus(text),\n _extractFormattedDigi4 = _slicedToArray(_extractFormattedDigi3, 2),\n formattedDigits = _extractFormattedDigi4[0],\n hasPlus = _extractFormattedDigi4[1]; // If the extracted phone number part\n // can possibly be a part of some valid phone number\n // then parse phone number characters from a formatted phone number.\n\n\n if (!VALID_FORMATTED_PHONE_NUMBER_DIGITS_PART_PATTERN.test(formattedDigits)) {\n formattedDigits = '';\n }\n\n return [formattedDigits, hasPlus];\n}\n//# sourceMappingURL=AsYouTypeParser.js.map","function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\nimport Metadata from './metadata.js';\nimport PhoneNumber from './PhoneNumber.js';\nimport AsYouTypeState from './AsYouTypeState.js';\nimport AsYouTypeFormatter, { DIGIT_PLACEHOLDER } from './AsYouTypeFormatter.js';\nimport AsYouTypeParser, { extractFormattedDigitsAndPlus } from './AsYouTypeParser.js';\nimport getCountryByCallingCode from './helpers/getCountryByCallingCode.js';\nimport getCountryByNationalNumber from './helpers/getCountryByNationalNumber.js';\nimport isObject from './helpers/isObject.js';\nvar USE_NON_GEOGRAPHIC_COUNTRY_CODE = false;\n\nvar AsYouType = /*#__PURE__*/function () {\n /**\r\n * @param {(string|object)?} [optionsOrDefaultCountry] - The default country used for parsing non-international phone numbers. Can also be an `options` object.\r\n * @param {Object} metadata\r\n */\n function AsYouType(optionsOrDefaultCountry, metadata) {\n _classCallCheck(this, AsYouType);\n\n this.metadata = new Metadata(metadata);\n\n var _this$getCountryAndCa = this.getCountryAndCallingCode(optionsOrDefaultCountry),\n _this$getCountryAndCa2 = _slicedToArray(_this$getCountryAndCa, 2),\n defaultCountry = _this$getCountryAndCa2[0],\n defaultCallingCode = _this$getCountryAndCa2[1]; // `this.defaultCountry` and `this.defaultCallingCode` aren't required to be in sync.\n // For example, `this.defaultCountry` could be `\"AR\"` and `this.defaultCallingCode` could be `undefined`.\n // So `this.defaultCountry` and `this.defaultCallingCode` are totally independent.\n\n\n this.defaultCountry = defaultCountry;\n this.defaultCallingCode = defaultCallingCode;\n this.reset();\n }\n\n _createClass(AsYouType, [{\n key: \"getCountryAndCallingCode\",\n value: function getCountryAndCallingCode(optionsOrDefaultCountry) {\n // Set `defaultCountry` and `defaultCallingCode` options.\n var defaultCountry;\n var defaultCallingCode; // Turns out `null` also has type \"object\". Weird.\n\n if (optionsOrDefaultCountry) {\n if (isObject(optionsOrDefaultCountry)) {\n defaultCountry = optionsOrDefaultCountry.defaultCountry;\n defaultCallingCode = optionsOrDefaultCountry.defaultCallingCode;\n } else {\n defaultCountry = optionsOrDefaultCountry;\n }\n }\n\n if (defaultCountry && !this.metadata.hasCountry(defaultCountry)) {\n defaultCountry = undefined;\n }\n\n if (defaultCallingCode) {\n /* istanbul ignore if */\n if (USE_NON_GEOGRAPHIC_COUNTRY_CODE) {\n if (this.metadata.isNonGeographicCallingCode(defaultCallingCode)) {\n defaultCountry = '001';\n }\n }\n }\n\n return [defaultCountry, defaultCallingCode];\n }\n /**\r\n * Inputs \"next\" phone number characters.\r\n * @param {string} text\r\n * @return {string} Formatted phone number characters that have been input so far.\r\n */\n\n }, {\n key: \"input\",\n value: function input(text) {\n var _this$parser$input = this.parser.input(text, this.state),\n digits = _this$parser$input.digits,\n justLeadingPlus = _this$parser$input.justLeadingPlus;\n\n if (justLeadingPlus) {\n this.formattedOutput = '+';\n } else if (digits) {\n this.determineTheCountryIfNeeded(); // Match the available formats by the currently available leading digits.\n\n if (this.state.nationalSignificantNumber) {\n this.formatter.narrowDownMatchingFormats(this.state);\n }\n\n var formattedNationalNumber;\n\n if (this.metadata.hasSelectedNumberingPlan()) {\n formattedNationalNumber = this.formatter.format(digits, this.state);\n }\n\n if (formattedNationalNumber === undefined) {\n // See if another national (significant) number could be re-extracted.\n if (this.parser.reExtractNationalSignificantNumber(this.state)) {\n this.determineTheCountryIfNeeded(); // If it could, then re-try formatting the new national (significant) number.\n\n var nationalDigits = this.state.getNationalDigits();\n\n if (nationalDigits) {\n formattedNationalNumber = this.formatter.format(nationalDigits, this.state);\n }\n }\n }\n\n this.formattedOutput = formattedNationalNumber ? this.getFullNumber(formattedNationalNumber) : this.getNonFormattedNumber();\n }\n\n return this.formattedOutput;\n }\n }, {\n key: \"reset\",\n value: function reset() {\n var _this = this;\n\n this.state = new AsYouTypeState({\n onCountryChange: function onCountryChange(country) {\n // Before version `1.6.0`, the official `AsYouType` formatter API\n // included the `.country` property of an `AsYouType` instance.\n // Since that property (along with the others) have been moved to\n // `this.state`, `this.country` property is emulated for compatibility\n // with the old versions.\n _this.country = country;\n },\n onCallingCodeChange: function onCallingCodeChange(callingCode, country) {\n _this.metadata.selectNumberingPlan(country, callingCode);\n\n _this.formatter.reset(_this.metadata.numberingPlan, _this.state);\n\n _this.parser.reset(_this.metadata.numberingPlan);\n }\n });\n this.formatter = new AsYouTypeFormatter({\n state: this.state,\n metadata: this.metadata\n });\n this.parser = new AsYouTypeParser({\n defaultCountry: this.defaultCountry,\n defaultCallingCode: this.defaultCallingCode,\n metadata: this.metadata,\n state: this.state,\n onNationalSignificantNumberChange: function onNationalSignificantNumberChange() {\n _this.determineTheCountryIfNeeded();\n\n _this.formatter.reset(_this.metadata.numberingPlan, _this.state);\n }\n });\n this.state.reset({\n country: this.defaultCountry,\n callingCode: this.defaultCallingCode\n });\n this.formattedOutput = '';\n return this;\n }\n /**\r\n * Returns `true` if the phone number is being input in international format.\r\n * In other words, returns `true` if and only if the parsed phone number starts with a `\"+\"`.\r\n * @return {boolean}\r\n */\n\n }, {\n key: \"isInternational\",\n value: function isInternational() {\n return this.state.international;\n }\n /**\r\n * Returns the \"calling code\" part of the phone number when it's being input\r\n * in an international format.\r\n * If no valid calling code has been entered so far, returns `undefined`.\r\n * @return {string} [callingCode]\r\n */\n\n }, {\n key: \"getCallingCode\",\n value: function getCallingCode() {\n // If the number is being input in national format and some \"default calling code\"\n // has been passed to `AsYouType` constructor, then `this.state.callingCode`\n // is equal to that \"default calling code\".\n //\n // If the number is being input in national format and no \"default calling code\"\n // has been passed to `AsYouType` constructor, then returns `undefined`,\n // even if a \"default country\" has been passed to `AsYouType` constructor.\n //\n if (this.isInternational()) {\n return this.state.callingCode;\n }\n } // A legacy alias.\n\n }, {\n key: \"getCountryCallingCode\",\n value: function getCountryCallingCode() {\n return this.getCallingCode();\n }\n /**\r\n * Returns a two-letter country code of the phone number.\r\n * Returns `undefined` for \"non-geographic\" phone numbering plans.\r\n * Returns `undefined` if no phone number has been input yet.\r\n * @return {string} [country]\r\n */\n\n }, {\n key: \"getCountry\",\n value: function getCountry() {\n var digits = this.state.digits; // Return `undefined` if no digits have been input yet.\n\n if (digits) {\n return this._getCountry();\n }\n }\n /**\r\n * Returns a two-letter country code of the phone number.\r\n * Returns `undefined` for \"non-geographic\" phone numbering plans.\r\n * @return {string} [country]\r\n */\n\n }, {\n key: \"_getCountry\",\n value: function _getCountry() {\n var country = this.state.country;\n /* istanbul ignore if */\n\n if (USE_NON_GEOGRAPHIC_COUNTRY_CODE) {\n // `AsYouType.getCountry()` returns `undefined`\n // for \"non-geographic\" phone numbering plans.\n if (country === '001') {\n return;\n }\n }\n\n return country;\n }\n }, {\n key: \"determineTheCountryIfNeeded\",\n value: function determineTheCountryIfNeeded() {\n // Suppose a user enters a phone number in international format,\n // and there're several countries corresponding to that country calling code,\n // and a country has been derived from the number, and then\n // a user enters one more digit and the number is no longer\n // valid for the derived country, so the country should be re-derived\n // on every new digit in those cases.\n //\n // If the phone number is being input in national format,\n // then it could be a case when `defaultCountry` wasn't specified\n // when creating `AsYouType` instance, and just `defaultCallingCode` was specified,\n // and that \"calling code\" could correspond to a \"non-geographic entity\",\n // or there could be several countries corresponding to that country calling code.\n // In those cases, `this.country` is `undefined` and should be derived\n // from the number. Again, if country calling code is ambiguous, then\n // `this.country` should be re-derived with each new digit.\n //\n if (!this.state.country || this.isCountryCallingCodeAmbiguous()) {\n this.determineTheCountry();\n }\n } // Prepends `+CountryCode ` in case of an international phone number\n\n }, {\n key: \"getFullNumber\",\n value: function getFullNumber(formattedNationalNumber) {\n var _this2 = this;\n\n if (this.isInternational()) {\n var prefix = function prefix(text) {\n return _this2.formatter.getInternationalPrefixBeforeCountryCallingCode(_this2.state, {\n spacing: text ? true : false\n }) + text;\n };\n\n var callingCode = this.state.callingCode;\n\n if (!callingCode) {\n return prefix(\"\".concat(this.state.getDigitsWithoutInternationalPrefix()));\n }\n\n if (!formattedNationalNumber) {\n return prefix(callingCode);\n }\n\n return prefix(\"\".concat(callingCode, \" \").concat(formattedNationalNumber));\n }\n\n return formattedNationalNumber;\n }\n }, {\n key: \"getNonFormattedNationalNumberWithPrefix\",\n value: function getNonFormattedNationalNumberWithPrefix() {\n var _this$state = this.state,\n nationalSignificantNumber = _this$state.nationalSignificantNumber,\n complexPrefixBeforeNationalSignificantNumber = _this$state.complexPrefixBeforeNationalSignificantNumber,\n nationalPrefix = _this$state.nationalPrefix;\n var number = nationalSignificantNumber;\n var prefix = complexPrefixBeforeNationalSignificantNumber || nationalPrefix;\n\n if (prefix) {\n number = prefix + number;\n }\n\n return number;\n }\n }, {\n key: \"getNonFormattedNumber\",\n value: function getNonFormattedNumber() {\n var nationalSignificantNumberMatchesInput = this.state.nationalSignificantNumberMatchesInput;\n return this.getFullNumber(nationalSignificantNumberMatchesInput ? this.getNonFormattedNationalNumberWithPrefix() : this.state.getNationalDigits());\n }\n }, {\n key: \"getNonFormattedTemplate\",\n value: function getNonFormattedTemplate() {\n var number = this.getNonFormattedNumber();\n\n if (number) {\n return number.replace(/[\\+\\d]/g, DIGIT_PLACEHOLDER);\n }\n }\n }, {\n key: \"isCountryCallingCodeAmbiguous\",\n value: function isCountryCallingCodeAmbiguous() {\n var callingCode = this.state.callingCode;\n var countryCodes = this.metadata.getCountryCodesForCallingCode(callingCode);\n return countryCodes && countryCodes.length > 1;\n } // Determines the country of the phone number\n // entered so far based on the country phone code\n // and the national phone number.\n\n }, {\n key: \"determineTheCountry\",\n value: function determineTheCountry() {\n this.state.setCountry(getCountryByCallingCode(this.isInternational() ? this.state.callingCode : this.defaultCallingCode, {\n nationalNumber: this.state.nationalSignificantNumber,\n defaultCountry: this.defaultCountry,\n metadata: this.metadata\n }));\n }\n /**\r\n * Returns a E.164 phone number value for the user's input.\r\n *\r\n * For example, for country `\"US\"` and input `\"(222) 333-4444\"`\r\n * it will return `\"+12223334444\"`.\r\n *\r\n * For international phone number input, it will also auto-correct\r\n * some minor errors such as using a national prefix when writing\r\n * an international phone number. For example, if the user inputs\r\n * `\"+44 0 7400 000000\"` then it will return an auto-corrected\r\n * `\"+447400000000\"` phone number value.\r\n *\r\n * Will return `undefined` if no digits have been input,\r\n * or when inputting a phone number in national format and no\r\n * default country or default \"country calling code\" have been set.\r\n *\r\n * @return {string} [value]\r\n */\n\n }, {\n key: \"getNumberValue\",\n value: function getNumberValue() {\n var _this$state2 = this.state,\n digits = _this$state2.digits,\n callingCode = _this$state2.callingCode,\n country = _this$state2.country,\n nationalSignificantNumber = _this$state2.nationalSignificantNumber; // Will return `undefined` if no digits have been input.\n\n if (!digits) {\n return;\n }\n\n if (this.isInternational()) {\n if (callingCode) {\n return '+' + callingCode + nationalSignificantNumber;\n } else {\n return '+' + digits;\n }\n } else {\n if (country || callingCode) {\n var callingCode_ = country ? this.metadata.countryCallingCode() : callingCode;\n return '+' + callingCode_ + nationalSignificantNumber;\n }\n }\n }\n /**\r\n * Returns an instance of `PhoneNumber` class.\r\n * Will return `undefined` if no national (significant) number\r\n * digits have been entered so far, or if no `defaultCountry` has been\r\n * set and the user enters a phone number not in international format.\r\n */\n\n }, {\n key: \"getNumber\",\n value: function getNumber() {\n var _this$state3 = this.state,\n nationalSignificantNumber = _this$state3.nationalSignificantNumber,\n carrierCode = _this$state3.carrierCode,\n callingCode = _this$state3.callingCode; // `this._getCountry()` is basically same as `this.state.country`\n // with the only change that it return `undefined` in case of a\n // \"non-geographic\" numbering plan instead of `\"001\"` \"internal use\" value.\n\n var country = this._getCountry();\n\n if (!nationalSignificantNumber) {\n return;\n } // `state.country` and `state.callingCode` aren't required to be in sync.\n // For example, `country` could be `\"AR\"` and `callingCode` could be `undefined`.\n // So `country` and `callingCode` are totally independent.\n\n\n if (!country && !callingCode) {\n return;\n } // By default, if `defaultCountry` parameter was passed when\n // creating `AsYouType` instance, `state.country` is gonna be\n // that `defaultCountry`, which doesn't entirely conform with\n // `parsePhoneNumber()`'s behavior where it attempts to determine\n // the country more precisely in cases when multiple countries\n // could correspond to the same `countryCallingCode`.\n // https://gitlab.com/catamphetamine/libphonenumber-js/-/issues/103#note_1417192969\n //\n // Because `AsYouType.getNumber()` method is supposed to be a 1:1\n // equivalent for `parsePhoneNumber(AsYouType.getNumberValue())`,\n // then it should also behave accordingly in cases of `country` ambiguity.\n // That's how users of this library would expect it to behave anyway.\n //\n\n\n if (country) {\n if (country === this.defaultCountry) {\n // `state.country` and `state.callingCode` aren't required to be in sync.\n // For example, `state.country` could be `\"AR\"` and `state.callingCode` could be `undefined`.\n // So `state.country` and `state.callingCode` are totally independent.\n var metadata = new Metadata(this.metadata.metadata);\n metadata.selectNumberingPlan(country);\n\n var _callingCode = metadata.numberingPlan.callingCode();\n\n var ambiguousCountries = this.metadata.getCountryCodesForCallingCode(_callingCode);\n\n if (ambiguousCountries.length > 1) {\n var exactCountry = getCountryByNationalNumber(nationalSignificantNumber, {\n countries: ambiguousCountries,\n defaultCountry: this.defaultCountry,\n metadata: this.metadata.metadata\n });\n\n if (exactCountry) {\n country = exactCountry;\n }\n }\n }\n }\n\n var phoneNumber = new PhoneNumber(country || callingCode, nationalSignificantNumber, this.metadata.metadata);\n\n if (carrierCode) {\n phoneNumber.carrierCode = carrierCode;\n } // Phone number extensions are not supported by \"As You Type\" formatter.\n\n\n return phoneNumber;\n }\n /**\r\n * Returns `true` if the phone number is \"possible\".\r\n * Is just a shortcut for `PhoneNumber.isPossible()`.\r\n * @return {boolean}\r\n */\n\n }, {\n key: \"isPossible\",\n value: function isPossible() {\n var phoneNumber = this.getNumber();\n\n if (!phoneNumber) {\n return false;\n }\n\n return phoneNumber.isPossible();\n }\n /**\r\n * Returns `true` if the phone number is \"valid\".\r\n * Is just a shortcut for `PhoneNumber.isValid()`.\r\n * @return {boolean}\r\n */\n\n }, {\n key: \"isValid\",\n value: function isValid() {\n var phoneNumber = this.getNumber();\n\n if (!phoneNumber) {\n return false;\n }\n\n return phoneNumber.isValid();\n }\n /**\r\n * @deprecated\r\n * This method is used in `react-phone-number-input/source/input-control.js`\r\n * in versions before `3.0.16`.\r\n */\n\n }, {\n key: \"getNationalNumber\",\n value: function getNationalNumber() {\n return this.state.nationalSignificantNumber;\n }\n /**\r\n * Returns the phone number characters entered by the user.\r\n * @return {string}\r\n */\n\n }, {\n key: \"getChars\",\n value: function getChars() {\n return (this.state.international ? '+' : '') + this.state.digits;\n }\n /**\r\n * Returns the template for the formatted phone number.\r\n * @return {string}\r\n */\n\n }, {\n key: \"getTemplate\",\n value: function getTemplate() {\n return this.formatter.getTemplate(this.state) || this.getNonFormattedTemplate() || '';\n }\n }]);\n\n return AsYouType;\n}();\n\nexport { AsYouType as default };\n//# sourceMappingURL=AsYouType.js.map","// Importing from a \".js\" file is a workaround for Node.js \"ES Modules\"\r\n// importing system which is even uncapable of importing \"*.json\" files.\r\nimport metadata from '../../metadata.min.json.js'\r\n\r\nimport { AsYouType as _AsYouType } from '../../core/index.js'\r\n\r\nexport function AsYouType(country) {\r\n\treturn _AsYouType.call(this, country, metadata)\r\n}\r\n\r\nAsYouType.prototype = Object.create(_AsYouType.prototype, {})\r\nAsYouType.prototype.constructor = AsYouType","import { FC, useContext, useEffect, useRef, useState } from 'react';\nimport { useQuery } from '@apollo/client';\nimport clsx from 'clsx';\nimport { Text } from '@marriott/mi-ui-library';\nimport parsePhoneNumber, { AsYouType } from 'libphonenumber-js';\nimport { PageParamsContext } from '../../../../modules/context/PageContext';\nimport { countryCodeDetails } from '../../../../modules/graphql/index';\nimport { size, tags } from '../../../../modules/utils/enums/enums';\nimport { submitDynamicForm } from '../../utils/handler';\nimport { InternetBarReqAccessModalProps } from './InternetBarModal.types';\nimport { Button, InputTextField } from '@marriott/mi-ui-library';\nimport { ButtonTypeVariation } from '../../../../modules/utils/enums/enums';\nimport { GuidLinkType } from '../../InternetBar.types';\n\nexport const InternetBarReqAccessModal: FC<InternetBarReqAccessModalProps> = (\n props: InternetBarReqAccessModalProps\n) => {\n const {\n reqAccess,\n reqAccessModal,\n internetBarDataValues,\n reqAccessModalType,\n showDropdown,\n setShowDropdown,\n dropdownRef,\n } = props;\n const [returnToLogin, setReturnToLogin] = useState<string>('');\n\n const [DropdownSearchValue, setDropdownSearchValue] = useState('');\n const [ButtonValue, setButtonValue] = useState(reqAccess?.defaultOption);\n const [countryCode, setCountryCode] = useState('');\n const [mobileNumber, setMobileNumber] = useState('');\n const [reqSMSModalError, setReqSMSModalError] = useState<boolean>(reqAccessModalType === 'REQSMSERR' ? true : false);\n const [reqSMSError, setReqSMSError] = useState<boolean>(reqAccessModalType === 'REQSMSERR' ? true : false);\n const [phoneFormatError, setPhoneFormatError] = useState<boolean>(false);\n const [isButtonLoading, setIsButtonLoading] = useState<boolean>(false);\n\n const [countriesArray, setCountriesArray] = useState(reqAccess?.guidLinks);\n const [filterCountriesArray, setFilterCountriesArray] = useState(reqAccess?.guidLinks);\n\n const inputRef = useRef<HTMLInputElement>(null);\n const countryCodeRef = useRef(null);\n\n const isServer = !(typeof window != 'undefined' && window.document);\n const { preProcessorResponse, sessionID, requestId, lang } = useContext(PageParamsContext);\n\n const { data } = useQuery(countryCodeDetails, {\n fetchPolicy: isServer ? 'network-only' : 'cache-first',\n variables: {\n propertyId: preProcessorResponse?.marsha ?? '',\n filter: 'PHONE',\n },\n context: {\n headers: {\n //Update the variables of AriesReservation for ppv5\n 'accept-language': lang ?? 'en-US',\n 'x-b3-traceId': sessionID ?? 'fallback-token',\n 'x-b3-spanId': requestId !== '' ? requestId : `${Date.now()}`,\n 'correlation-id': sessionID ?? 'fallback-token',\n },\n },\n });\n\n const {\n ACTION = '',\n MARSHA = '',\n postEndpoint = '',\n LR = '',\n Z = '',\n DOMAIN = '',\n MS,\n APS,\n zoneMapping = '',\n } = internetBarDataValues || {};\n\n useEffect(() => {\n const handleQueryParamUpdate = (paramName: string, paramValue: string) => {\n const accessParams = new URLSearchParams(window.location.search);\n accessParams.set(paramName, paramValue);\n return `?${accessParams.toString()}`;\n };\n\n const hrefURL = handleQueryParamUpdate('MV', 'LOGIN');\n setReturnToLogin(hrefURL);\n }, []);\n\n useEffect(() => {\n const timeout = setTimeout(() => {\n if (countryCodeRef && countryCodeRef?.current) {\n (countryCodeRef?.current as HTMLInputElement)?.focus();\n }\n }, 20);\n return () => clearTimeout(timeout);\n }, []);\n\n const reqSMStBtnTrigger = () => {\n setIsButtonLoading(true);\n if (postEndpoint && countryCode) {\n const phoneNumber = (`+${countryCode}` ?? '') + (mobileNumber ?? '');\n const number = parsePhoneNumber(phoneNumber);\n try {\n const obj = {\n MARSHA: MARSHA ? MARSHA : undefined,\n LR: LR,\n Z: Z,\n ACTION: ACTION ? ACTION : undefined,\n DOMAIN: DOMAIN ? DOMAIN : undefined,\n MS: MS || MS === '' ? MS : undefined,\n APS: APS,\n CODE: number?.countryCallingCode,\n PHONE_NUMBER: number?.nationalNumber,\n TIERS: zoneMapping[Z ?? ''] ?? undefined,\n };\n const body = JSON.stringify(obj);\n submitDynamicForm(body, postEndpoint);\n } catch (error) {\n // ignore\n }\n }\n };\n\n const handleDropdownSearch = (value: string) => {\n const tempArray =\n countriesArray &&\n countriesArray?.filter(item => {\n return item?.guidDecode?.toLowerCase()?.startsWith(value?.toLowerCase());\n });\n setFilterCountriesArray(tempArray);\n };\n\n useEffect(() => {\n if (reqAccessModalType === 'REQSMS' || reqAccessModalType === 'REQSMSERR') {\n const countryCode = data?.property?.contactInformation?.address?.country?.code || '';\n const prorityList = reqAccess?.priorityCountries ?? [];\n const countriesList: Array<{\n guidDecode: string;\n guidCode: string;\n guidAltDecode: string;\n 'jcr:primaryType': string;\n }> = reqAccess?.guidLinks ?? [];\n const prorityCountryObject =\n prorityList?.find(\n (item: { guidAltDecode: string }) => item?.guidAltDecode?.toUpperCase() === countryCode?.toUpperCase()\n ) || '';\n const chinaCountry = prorityCountryObject\n ? prorityList?.find((item: { guidAltDecode: string }) => item?.guidAltDecode?.toUpperCase() === 'CN')\n : '';\n if (prorityCountryObject && chinaCountry) {\n if (prorityCountryObject?.guidAltDecode === chinaCountry?.guidAltDecode) {\n setCountriesArray([chinaCountry, ...countriesList]);\n setFilterCountriesArray([chinaCountry, ...countriesList]);\n } else {\n setCountriesArray([chinaCountry, prorityCountryObject, ...countriesList]);\n setFilterCountriesArray([chinaCountry, prorityCountryObject, ...countriesList]);\n }\n }\n }\n }, [data]);\n\n useEffect(() => {\n showDropdown && inputRef && inputRef?.current && inputRef?.current?.focus();\n }, [showDropdown]);\n\n return (\n <>\n {/* 1. Internet Bar Req Access Modal Default Configuration */}\n <div className=\"d-flex flex-column\">\n {/* 1.1 Internet Bar Req Access Modal Error */}\n {reqAccessModal?.racErrorMessage && reqSMSModalError && (\n <div className=\"d-flex pb-2\">\n <span className={clsx(`col-12 px-3 py-3 mb-4 t-font-s internetbarmodal__error`)}>\n {reqAccess?.racErrorMessage}\n </span>\n </div>\n )}\n <span className=\"t-subtitle-m pb-2\">{reqAccess?.requestAccessCodeLabel}</span>\n <Text\n customClass=\"pb-4\"\n copyText={reqAccess?.requiredLabel || ''}\n fontSize={size?.extraSmall}\n element={tags?.span}\n />\n <div ref={dropdownRef}>\n <div className=\"m-form-group pb-5 mb-3\">\n <label htmlFor={reqAccess?.countryCode} className=\"t-overline-normal mb-2\">\n {reqAccess?.countryCode}\n </label>\n <div data-search-placeholder={reqAccess?.searchCountryRegionLabel} data-search-country=\"true\">\n <Button\n isLink={false}\n type={ButtonTypeVariation?.Button}\n className={clsx(\n `d-flex justify-content-between pt-0 pb-2 px-0 internetbarmodal-${reqAccessModalType} internetbarmodal-${reqAccessModalType}__dropdownbtn`\n )}\n callback={() => {\n setIsButtonLoading(false);\n if (showDropdown) {\n setShowDropdown !== undefined && setShowDropdown(false);\n } else {\n setShowDropdown !== undefined && setShowDropdown(true);\n }\n }}\n ref={countryCodeRef}\n testId=\"country-code-btn\"\n children={\n <>\n <span className=\"t-font-m pb-1\">{ButtonValue}</span>\n <span className={clsx(showDropdown ? 'icon-arrow-down' : 'icon-arrow-up')}></span>\n </>\n }\n />\n {showDropdown && (\n <ul\n className={clsx(\n `mt-3 p-0 mb-0 internetbarmodal-${reqAccessModalType} internetbarmodal-${reqAccessModalType}__dropdownlist`\n )}\n data-testid=\"country-code-list\"\n >\n <div\n className={clsx(\n `pt-3 pb-3 px-4 internetbarmodal-${reqAccessModalType} internetbarmodal-${reqAccessModalType}__dropdownsearch`\n )}\n >\n <input\n className={clsx(\n `internetbarmodal-${reqAccessModalType} internetbarmodal-${reqAccessModalType}__searchinput`\n )}\n placeholder={reqAccess?.searchCountryRegionLabel}\n ref={inputRef}\n value={DropdownSearchValue}\n onChange={event => {\n event?.stopPropagation();\n setDropdownSearchValue(event?.target?.value);\n handleDropdownSearch(event?.target?.value);\n }}\n data-testid=\"country-search\"\n />\n <span\n className={clsx(\n `icon-clear internetbarmodal-${reqAccessModalType} internetbarmodal-${reqAccessModalType}__dropdownclosebtn`\n )}\n onClick={event => {\n event?.stopPropagation();\n setDropdownSearchValue('');\n setFilterCountriesArray(countriesArray);\n }}\n ></span>\n </div>\n {filterCountriesArray &&\n filterCountriesArray?.map((element: GuidLinkType, filteredCountryIndex: number) => {\n return (\n <li\n className={clsx(\n `pt-3 pb-3 d-flex justify-content-between align-items-center internetbarmodal-${reqAccessModalType} internetbarmodal-${reqAccessModalType}__dropdownitems`\n )}\n onClick={event => {\n event?.stopPropagation();\n setButtonValue(element?.guidDecode);\n setCountryCode(element?.guidCode);\n setShowDropdown !== undefined && setShowDropdown(false);\n setMobileNumber('');\n setReqSMSModalError(false);\n }}\n tabIndex={0}\n onKeyDown={event => {\n if (event?.code?.toLowerCase() === 'enter') {\n event?.stopPropagation();\n setButtonValue(element?.guidDecode);\n setCountryCode(element?.guidCode);\n setShowDropdown !== undefined && setShowDropdown(false);\n setMobileNumber('');\n setReqSMSModalError(false);\n } else if (\n filteredCountryIndex === filterCountriesArray?.length - 1 &&\n event?.code?.toLowerCase() === 'tab'\n ) {\n setShowDropdown !== undefined && setShowDropdown(false);\n }\n }}\n >\n <span data-code={element?.guidCode}>{element?.guidDecode}</span>\n <span className=\"icon-forward-arrow arrow ml-2 pr-3\"></span>\n </li>\n );\n })}\n </ul>\n )}\n </div>\n </div>\n </div>\n <div\n className={clsx(\n `m-form-group pb-5 mb-3 internetbarmodal-${reqAccessModalType} internetbarmodal-${reqAccessModalType}__phonenumbercontainer`\n )}\n >\n {countryCode !== '' ? (\n <>\n <label htmlFor=\"phoneNumber\" className=\"t-overline-normal\">\n {reqAccess?.enterYourPhoneNumber}\n </label>\n <div className=\"d-flex\">\n <InputTextField\n type=\"text\"\n inputTextFieldClassName={`t-font-m px-0 pb-2 internetbarmodal-${reqAccessModalType} internetbarmodal-${reqAccessModalType}__countrycode`}\n showIcon={false}\n variation=\"line-type\"\n showUnderline={true}\n hideFontClass={true}\n getLabelProps={() => ({\n className: 'd-none',\n })}\n inputValue={`+${countryCode}`}\n assignInputValue={true}\n testId=\"country-code\"\n onFocus={() => setIsButtonLoading(false)}\n />\n <InputTextField\n type=\"text\"\n testId=\"req-sms-phone\"\n getInputValue={value => {\n const updatedValue = value?.replace(/[^0-9]/g, '').trim();\n const combinedNumber = (`+${countryCode}` ?? '') + updatedValue;\n const number = parsePhoneNumber(combinedNumber);\n const formattedNumber = new AsYouType().input(combinedNumber);\n const updatedNumber = formattedNumber.replace(`+${countryCode}` ?? '', '');\n if (number?.isPossible()) {\n setPhoneFormatError(false);\n } else {\n setPhoneFormatError(true);\n }\n setMobileNumber(updatedNumber);\n }}\n onFocus={() => setIsButtonLoading(false)}\n getLabelProps={() => ({\n className: 'd-none',\n })}\n classNameForLineType=\"flex-fill\"\n inputTextFieldClassName={clsx(`t-font-m pb-2 px-0`)}\n showIcon={false}\n variation=\"line-type\"\n showUnderline={true}\n hideFontClass={true}\n inputValue={mobileNumber}\n assignInputValue={true}\n />\n </div>\n </>\n ) : (\n <InputTextField\n type=\"number\"\n getInputValue={value => {\n setMobileNumber(value);\n }}\n getLabelProps={() => ({\n className: 't-overline-normal',\n })}\n onBlur={() => {\n if (reqSMSModalError) {\n setReqSMSError(true);\n } else {\n setReqSMSError(false);\n }\n }}\n onFocus={() => {\n setReqSMSError(false);\n }}\n classNameForLineType=\"m-form-group mb-0\"\n inputTextFieldClassName={`t-font-m px-0 pb-2 ${reqSMSError ? 'is-error' : ''}`}\n showIcon={false}\n showErrorMessage={reqSMSError}\n label={reqAccess?.enterYourPhoneNumber}\n variation=\"line-type\"\n showUnderline={true}\n hideFontClass={true}\n inputValue={mobileNumber}\n assignInputValue={true}\n />\n )}\n </div>\n <Button\n isLink={false}\n type={ButtonTypeVariation.Button}\n className={clsx(\n `m-button-m m-button-primary t-font-m`,\n ButtonValue === reqAccess?.defaultOption || mobileNumber === '' || isButtonLoading ? 'disabled' : '',\n phoneFormatError ? 'disabled' : ''\n )}\n isDisabled={\n ButtonValue === reqAccess?.defaultOption || mobileNumber === '' || phoneFormatError || isButtonLoading\n }\n testId=\"request-sms-btn\"\n children={\n isButtonLoading ? (\n <div className=\"m-spinner-s\" data-testid=\"activate-spinner\"></div>\n ) : (\n reqAccess?.racContinueButtonLabel\n )\n }\n callback={reqSMStBtnTrigger}\n />\n </div>\n <div className=\"d-flex flex-column\">\n {/* 2. Internet Bar Req Access Modal Separator Configuration */}\n <span className=\"py-2 my-1 d-flex flex-row align-items-center justify-content-center\">\n <span className=\"w-100 internetbarmodal__seperator\"></span>\n <span className=\"px-2 mx-1 t-font-xs\">{reqAccess?.racSeparatorLabel}</span>\n <span className=\"w-100 internetbarmodal__seperator\"></span>\n </span>\n {/* 3. Internet Bar Access Modal Return Code Configuration */}\n <div className=\"d-flex flex-column mx-auto\">\n <a href={returnToLogin} className=\"t-font-s mb-1 internetbarmodal__link\">\n {reqAccess?.racReturnLabel}\n </a>\n </div>\n </div>\n </>\n );\n};\n","// Styles for InternetBarModal go here.\nimport styled from 'styled-components';\nimport rtl from 'styled-components-rtl';\nimport { baseVariables, contextualVariable, toRem } from '@marriott/mi-ui-library';\n\nexport const StyledInternetBarModal = styled.div`\n ${rtl`\n .internetbarmodal {\n &__link {\n text-decoration: underline;\n &:hover {\n text-decoration: none;\n font-weight: inherit;\n color: inherit;\n cursor: pointer;\n }\n }\n &__error {\n border: ${toRem(1)} solid ${baseVariables.color['alert50']};\n border-radius: ${toRem(8)};\n background-color: ${baseVariables.color['alert10']};\n color: ${baseVariables.color['alert50']};\n }\n &__seperator {\n width: 25%;\n height: ${toRem(1)};\n background-color: ${baseVariables.color['alert20']};\n }\n &-REQSMS,\n &-REQSMSERR,\n &-C_PRICE,\n &-U_PRICE {\n &__dropdownclosebtn {\n position: absolute;\n right: ${toRem(16)};\n cursor: pointer;\n }\n &__dropdownbtn {\n background: none;\n width: 100%;\n border-bottom: ${baseVariables.color['alert20']} solid ${toRem(2)};\n\n &:focus {\n border-bottom: ${baseVariables.color.brandedFontColor} solid ${toRem(2)};\n }\n }\n &__dropdownlist {\n width: 100%;\n position: absolute;\n max-height: ${toRem(412)};\n z-index: 1;\n border: ${toRem(1)} solid ${baseVariables.color['neutral20']};\n border-radius: ${toRem(14)};\n background-color: ${baseVariables.color['alert10']};\n box-shadow: ${contextualVariable.linkIconFocusBoxShadow};\n overflow-y: auto;\n }\n &__dropdownitems {\n span {\n background-color: ${baseVariables.color['alert10']};\n }\n list-style-type: none;\n margin: 0 ${toRem(24)};\n border-bottom: solid ${toRem(1)} ${baseVariables.color['alert20']};\n min-height: ${toRem(68)};\n cursor: pointer;\n &:hover,\n &:focus {\n outline: solid ${toRem(1)} ${baseVariables.color['alert20']};\n background-color: ${baseVariables.color['memberSolidAlt']};\n border-bottom: none;\n margin: 0;\n padding: ${toRem(16)} ${toRem(24)};\n\n span {\n background-color: transparent;\n }\n }\n & {\n span[class*='arrow'] {\n visibility: hidden;\n }\n }\n &:hover,\n &:focus {\n span[class*='arrow'] {\n visibility: visible;\n }\n }\n }\n &__dropdownsearch {\n position: sticky;\n border-bottom: solid ${toRem(1)} ${baseVariables.color['alert20']};\n top: 0;\n background: ${baseVariables.color['alert10']};\n }\n &__searchinput {\n width: 100%;\n }\n &__phonenumbercontainer div label {\n margin-bottom: ${toRem(6)};\n font-weight: ${baseVariables.font['fontWeightMedium']};\n }\n &__countrycode {\n width: 100%;\n max-width: ${toRem(50)};\n }\n }\n }\n .mdc-dialog {\n background-color: rgba(0, 0, 0, 0.75);\n z-index: 150;\n overflow-y: auto;\n max-height: none;\n display: block;\n min-height: 100%;\n transform: none;\n opacity: 1;\n position: fixed;\n top: 0;\n left: 0;\n box-sizing: border-box;\n width: 100vw;\n height: 100%;\n &__scrim {\n position: fixed;\n pointer-events: auto;\n }\n }\n .ppv5modal {\n &__container {\n position: relative;\n overflow: visible;\n box-sizing: border-box;\n pointer-events: auto;\n border: 0 solid ${baseVariables.color.base10};\n }\n }\n .m-input-text-field-no-border {\n &:after {\n display: none;\n }\n label {\n text-transform: uppercase;\n letter-spacing: ${toRem(1.296)};\n color: ${baseVariables.color.base10};\n }\n input {\n box-sizing: border-box;\n width: 100%;\n background-color: transparent;\n border-bottom: ${toRem(2)} solid ${baseVariables.color['neutral30']} !important;\n }\n .is-error,\n .is-error:focus {\n border-color: ${contextualVariable.formErrorColor} !important;\n }\n }\n .m-input-text-field-no-border\n input:not([type='submit']):not([type='button']):not([type='checkbox']):not([type='radio']) {\n font-size: ${baseVariables.font['fontM']};\n }\n .m-input-text-field-no-border\n input:not([type='submit']):not([type='button']):not([type='checkbox']):not([type='radio']).is-error:focus {\n border-bottom: ${toRem(2)} solid ${contextualVariable.formErrorColor} !important;\n }\n .m-input-text-field-no-border\n input:not([type='submit']):not([type='button']):not([type='checkbox']):not([type='radio']):focus {\n border-bottom: ${toRem(2)} solid ${contextualVariable.inputBorderFocusColor} !important;\n }\n .internet-bar-component {\n &__header {\n border: ${toRem(1)} solid ${baseVariables.color.neutral20};\n border-radius: ${toRem(8)};\n &--free {\n @media ${baseVariables.mediaQuery.xl} {\n margin-bottom: ${toRem(40)};\n }\n }\n }\n &__title {\n display: block;\n width: 100%;\n border-bottom: ${toRem(1)} solid ${baseVariables.color.neutral20};\n border-radius: ${toRem(8)} ${toRem(8)} 0 0;\n background-color: ${baseVariables.color.memberSolidAlt};\n color: ${baseVariables.color['merch30']};\n }\n .modal-label {\n font-size: ${toRem(40)};\n line-height: ${toRem(32)};\n }\n &-seperator-line {\n width: ${toRem(79)};\n height: ${toRem(1)};\n background-color: ${contextualVariable?.accentColor};\n }\n &-desc {\n text-transform: none;\n font-weight: ${baseVariables.font['fontWeightRegular']};\n }\n }\n`}\n`;\n\nexport const StyledErrorBody = styled.div`\n ${rtl`\n .errorbody__container {\n border: ${toRem(1)} solid ${baseVariables.color['alert50']};\n border-radius: ${toRem(8)};\n background-color: ${baseVariables.color['alert10']};\n color: ${baseVariables.color['alert50']};\n span {\n color: ${baseVariables.color['alert50']};\n }\n }\n `}\n`;\n\nexport const StyledNoErrorBody = styled.div`\n ${rtl`\n .noerrorbody__container {\n border: ${toRem(1)} solid ${baseVariables.color['alert20']};\n border-radius: ${toRem(8)};\n background-color: ${baseVariables.color['alert10']};\n }\n `}\n`;\n","import { FC } from 'react';\nimport { InternetBarErrorModalProps } from './InternetBarModal.types';\nimport { StyledErrorBody } from './InternetBarModal.styles';\n\nexport const InternetBarErrorModal: FC<InternetBarErrorModalProps> = (props: InternetBarErrorModalProps) => {\n const getErrorBody = (message: string, description: string) => {\n return (\n <StyledErrorBody>\n <div className=\"body-container d-flex flex-column \">\n {/* 1.1 Internet Bar Modal Error */}\n <div className=\"d-flex\">\n <span className={`col-12 px-3 py-3 mb-4 d-flex align-items-center errorbody__container`}>\n {' '}\n <span className=\"t-font-s\">{message}</span>\n </span>\n </div>\n <span className=\"t-font-xs pt-2\">{description}</span>\n </div>\n </StyledErrorBody>\n );\n };\n\n const {\n wifiUpgradeGENError,\n wifiUpgradeLR,\n wifiUpgradeMAX,\n wifiUpgradeNoCC,\n wifiUpgradePMS,\n internetBarDataValues,\n showSettlementCurrencyErrorModal = false,\n currencyUxlFailureErrorFieldsBean,\n invalidCurrencyErrorFieldsBean,\n } = props;\n\n const { ERR = '' } = internetBarDataValues || {};\n\n const getErrorModal = () => {\n let modalBody: JSX.Element | JSX.Element[] | null = null;\n switch (ERR) {\n case 'GEN':\n modalBody =\n props?.currentStateMapping?.showUpgradeGenErr && wifiUpgradeGENError\n ? getErrorBody(wifiUpgradeGENError?.upgradeErrorMessage, wifiUpgradeGENError?.upgradeErrorDescription)\n : null;\n break;\n\n case 'LR':\n modalBody =\n props?.currentStateMapping?.showUpgradeLRErr && wifiUpgradeLR\n ? getErrorBody(wifiUpgradeLR?.errorMessageLr, wifiUpgradeLR?.descriptionLr)\n : null;\n break;\n\n case 'PMS':\n modalBody =\n props?.currentStateMapping?.showUpgradePMSErr && wifiUpgradePMS\n ? getErrorBody(wifiUpgradePMS?.errorMessagePms, wifiUpgradePMS?.descriptionPms)\n : null;\n break;\n\n case 'MAX':\n modalBody =\n props?.currentStateMapping?.showUpgradeMaxErr && wifiUpgradeMAX\n ? getErrorBody(wifiUpgradeMAX?.errorMessageMax, wifiUpgradeMAX?.descriptionMax)\n : null;\n break;\n\n case 'NOCC':\n modalBody =\n props?.currentStateMapping?.showUpgradeNoCCErr && wifiUpgradeNoCC\n ? getErrorBody(wifiUpgradeNoCC?.upgradeMessage, wifiUpgradeNoCC?.description1)\n : null;\n break;\n\n case 'UXL':\n /* modalBody =\n showSettlementCurrencyErrorModal && currencyUxlFailureErrorFieldsBean\n ? getErrorBody(\n currencyUxlFailureErrorFieldsBean?.errorMessageForCuf,\n currencyUxlFailureErrorFieldsBean?.descriptionForCuf\n )\n : null;\n break; */\n modalBody =\n showSettlementCurrencyErrorModal && currencyUxlFailureErrorFieldsBean\n ? getErrorBody(wifiUpgradePMS?.errorMessagePms, wifiUpgradePMS?.descriptionPms)\n : null;\n break;\n\n case 'INVALID_PRICING':\n /* modalBody =\n showSettlementCurrencyErrorModal && invalidCurrencyErrorFieldsBean\n ? getErrorBody(\n invalidCurrencyErrorFieldsBean?.errorMessageForIc,\n invalidCurrencyErrorFieldsBean?.descriptionForIc\n )\n : null;\n break; */\n modalBody =\n showSettlementCurrencyErrorModal && invalidCurrencyErrorFieldsBean\n ? getErrorBody(wifiUpgradePMS?.errorMessagePms, wifiUpgradePMS?.descriptionPms)\n : null;\n break;\n }\n\n return modalBody;\n };\n\n return <>{getErrorModal()}</>;\n};\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { FC, useContext, useEffect, useRef, useState } from 'react';\nimport clsx from 'clsx';\nimport { Button } from '@marriott/mi-ui-library';\nimport { PageParamsContext } from '../../../../modules/context/PageContext';\nimport { ButtonTypeVariation } from '../../../../modules/utils/enums/enums';\nimport { Constants, DEFAULT_LOCALE, LOCALE_SUPPORT_NO_SPACE_C_PRICE_MODAL } from '../../utils/constant';\nimport { handleDurationDropdownKeyDownEvent, submitDynamicForm } from '../../utils/handler';\nimport { formatCurrency } from '../../../../modules/utils/common';\nimport { InternetBarPricingModalProps } from './InternetBarModal.types';\nimport { InternetBarPricingProps } from '../../InternetBar.types';\n\nexport const InternetBarPricingModal: FC<InternetBarPricingModalProps> = (props: InternetBarPricingModalProps) => {\n const { preProcessorResponse } = useContext(PageParamsContext);\n const { experienceSegment = '', state = '', locale } = preProcessorResponse || {};\n const {\n internetPricingModel,\n showDropdownFirstTier,\n showDropdownSecondTier,\n setShowDropdownFirstTier,\n setShowDropdownSecondTier,\n dropdownRefFirst,\n dropdownRefSecond,\n } = props;\n const { internetPricingInfo } = internetPricingModel as InternetBarPricingProps;\n const pricingConnectNowButtonRef = useRef(null);\n const pricingConnectNowButtonRefTwo = useRef(null);\n const pricingDurationDropdownRef = useRef(null);\n const pricingDurationDropdownRefTwo = useRef(null);\n const dropdownListOne = useRef(null);\n const dropdownListTwo = useRef(null);\n const [connectOneBtnDisable, setConnectOneBtnDisable] = useState(false);\n const [connectTwoBtnDisable, setConnectTwoBtnDisable] = useState(false);\n\n const {\n APS = undefined,\n DD = '',\n DOMAIN = '',\n DURATION = '',\n LR = '',\n MARSHA = '',\n MS,\n Z = '',\n usageAttr = '',\n zoneMapping = '',\n postEndpoint = '',\n } = props?.internetBarDataValues || {};\n\n const durationDropdownSpacingIssue: boolean = LOCALE_SUPPORT_NO_SPACE_C_PRICE_MODAL?.includes(locale?.toLowerCase());\n\n const MAX_DURATION = 31;\n\n type IDuration = {\n key: string;\n value: string;\n };\n\n const durations: IDuration[] = [];\n\n for (let i = 0; i < MAX_DURATION; i++) {\n if (i) {\n durations.push({\n key: `${i + 1}-days`,\n value: durationDropdownSpacingIssue\n ? `${i + 1}${props?.internetPricingModel?.justDaysLabel}`\n : `${i + 1} ${props?.internetPricingModel?.justDaysLabel}`,\n });\n } else {\n durations.push({\n key: `${i + 1}-day`,\n value: durationDropdownSpacingIssue\n ? `${i + 1}${props?.internetPricingModel?.justDayLabel}`\n : `${i + 1} ${props?.internetPricingModel?.justDayLabel}`,\n });\n }\n }\n\n const [durationOne, setDurationOne] = useState(\n DD && parseInt(DD) ? durations[parseInt(DD) - 1].value : durations[0].value\n );\n const [durationTwo, setDurationTwo] = useState(\n DD && parseInt(DD) ? durations[parseInt(DD) - 1].value : durations[0].value\n );\n const [dataIsFirstTier, setDataIsFirstTier] = useState<boolean>(false);\n\n const pricingModalLabels = [\n {\n title: 'internetPricingTitle',\n generalDescription: 'internetPricingDescription',\n resortDescription: 'resortDescription',\n destinationDescription: 'destinationDescription',\n buttonLabel: 'internetPricingConnectNowLabel',\n plan: 'PLAN1',\n destinationDescriptionPP: 'destinationDescriptionPP',\n resortDescriptionPP: 'resortDescriptionPP',\n },\n {\n title: 'title2',\n generalDescription: 'description2',\n resortDescription: 'resortDescription2',\n destinationDescription: 'destinationDescription2',\n buttonLabel: 'connectNowLabel2',\n plan: 'PLAN2',\n },\n ];\n\n if (\n experienceSegment?.toLowerCase()?.includes('basic') ||\n (experienceSegment?.toLowerCase()?.includes('member') && !experienceSegment?.toLowerCase()?.includes('elite')) ||\n (state.toLowerCase() === 'upgrade' &&\n (experienceSegment?.toLowerCase()?.includes('basic') ||\n (experienceSegment?.toLowerCase()?.includes('member') &&\n !experienceSegment?.toLowerCase()?.includes('elite')) ||\n experienceSegment?.toLowerCase()?.includes('unknown')))\n ) {\n if (\n parseFloat(internetPricingInfo?.tierTwoFee) &&\n parseFloat(internetPricingInfo?.tierOneFee) &&\n parseFloat(internetPricingInfo?.tierTwoFee) > parseFloat(internetPricingInfo?.tierOneFee) &&\n Z === 'GUEST'\n ) {\n internetPricingInfo.tierTwoFee = (\n parseFloat(internetPricingInfo?.tierTwoFee) - parseFloat(internetPricingInfo?.tierOneFee)\n ).toFixed(2);\n\n internetPricingInfo.tierOneFee = '0';\n }\n internetPricingInfo.tierOneFee = '0';\n\n // @todo:: Handle this scenario tierTwoFee < tierOneFee via error modal\n if (parseFloat(internetPricingInfo?.tierTwoFee) < parseFloat(internetPricingInfo?.tierOneFee)) {\n internetPricingInfo.tierOneFee = '0';\n internetPricingInfo.tierTwoFee = '0';\n }\n } else if (experienceSegment?.toLowerCase()?.includes('elite')) {\n internetPricingInfo.tierOneFee = '0';\n internetPricingInfo.tierTwoFee = '0';\n }\n\n const updatedPricingModalLabels: any[] = [];\n if (internetPricingInfo?.hasTierOne) {\n updatedPricingModalLabels.push({\n ...pricingModalLabels[0],\n tierName: internetPricingInfo?.tierOneName ?? '',\n tierId: internetPricingInfo?.tierOneId,\n tierFee: internetPricingInfo?.tierOneFee ?? undefined,\n tierCurrency: internetPricingInfo?.currencyOne ?? internetPricingModel?.currency,\n isFree:\n internetPricingInfo?.tierOneFee === undefined || parseFloat(internetPricingInfo?.tierOneFee).toFixed(0) === '0',\n });\n }\n\n if (internetPricingInfo?.hasTierTwo) {\n updatedPricingModalLabels.push({\n ...pricingModalLabels[1],\n tierName: internetPricingInfo?.tierTwoName ?? '',\n tierId: internetPricingInfo?.tierTwoId,\n tierFee: internetPricingInfo?.tierTwoFee ?? undefined,\n tierCurrency: internetPricingInfo?.currencyTwo ?? internetPricingModel?.currency,\n isFree:\n internetPricingInfo?.tierTwoFee === undefined || parseFloat(internetPricingInfo?.tierTwoFee).toFixed(0) === '0',\n });\n }\n\n useEffect(() => {\n let isTier1 = false;\n if (internetPricingInfo?.hasTierOne === true && internetPricingInfo?.hasTierTwo === false) {\n isTier1 = true;\n } else if (internetPricingInfo?.hasTierOne === true && internetPricingInfo?.hasTierTwo === true) {\n isTier1 = false;\n }\n setDataIsFirstTier(isTier1);\n }, [internetPricingInfo]);\n\n useEffect(() => {\n const timeout = setTimeout(() => {\n if (pricingDurationDropdownRef && pricingDurationDropdownRef?.current) {\n (pricingDurationDropdownRef?.current as HTMLInputElement)?.focus();\n } else if (pricingConnectNowButtonRef && pricingConnectNowButtonRef?.current) {\n (pricingConnectNowButtonRef?.current as HTMLInputElement)?.focus();\n }\n }, 20);\n return () => clearTimeout(timeout);\n }, []);\n\n const tierConnect = (evt: any) => {\n const dataSPValue = evt.target.getAttribute('data-sp-value');\n let tierDurationValue = DURATION;\n if (dataSPValue === 'PLAN1') {\n setConnectOneBtnDisable(true);\n tierDurationValue =\n updatedPricingModalLabels[0]?.tierFee === undefined || updatedPricingModalLabels[0].tierFee === '0'\n ? DURATION\n : durationOne.includes(props?.internetPricingModel?.justDaysLabel)\n ? durationOne?.replace(props?.internetPricingModel?.justDaysLabel, '')?.trim()\n : durationOne?.split(' ')?.[0];\n } else {\n setConnectTwoBtnDisable(true);\n tierDurationValue =\n updatedPricingModalLabels[1]?.tierFee === undefined || updatedPricingModalLabels[1].tierFee === '0'\n ? DURATION\n : durationTwo.includes(props?.internetPricingModel?.justDaysLabel)\n ? durationTwo?.replace(props?.internetPricingModel?.justDaysLabel, '')?.trim()\n : durationTwo?.split(' ')?.[0];\n }\n const isFirstTier = dataIsFirstTier;\n const currencyOne = internetPricingModel?.internetPricingInfo?.currencyOne ?? internetPricingModel?.currency ?? '';\n const currencyTwo = internetPricingModel?.internetPricingInfo?.currencyTwo ?? internetPricingModel?.currency ?? '';\n const currency = dataSPValue === 'PLAN1' ? currencyOne : currencyTwo;\n const price = dataSPValue === 'PLAN1' ? updatedPricingModalLabels[0].tierFee : updatedPricingModalLabels[1].tierFee;\n let spValue = evt?.target?.getAttribute('data-sp-value') ?? Constants.plan.PLAN1;\n let usageValue = Constants.usageAEM[usageAttr] ?? Constants.usage.PURCHASED;\n const pricing = usageAttr === Constants.usage.MEMBER && zoneMapping[Z ?? 'GUEST'] === 'PP' ? true : false;\n\n // //added condition for tier1 and no price applicable and not a member\n if (!parseFloat(price) && isFirstTier && !usageAttr && !pricing) {\n usageValue = Constants.usage.FREE;\n }\n\n // // if usageAttr is elite and tier2\n if (!isFirstTier && usageAttr === Constants.usage.ELITE && parseFloat(price)) {\n spValue = Constants.plan.PLAN2;\n }\n\n // // if usage is member & connect button clicked in PLAN2. payload to send as PURCHASED\n if (usageAttr === Constants.usage.MEMBER && spValue === Constants.plan.PLAN2) {\n usageValue = Constants.usage.PURCHASED;\n }\n\n if (!parseFloat(price) && !isFirstTier && spValue === Constants.plan.PLAN1) {\n if (pricing) {\n usageValue = Constants.usage.MEMBER;\n } else {\n usageValue = Constants.usage.FREE;\n }\n }\n\n if (postEndpoint && tierDurationValue) {\n try {\n const obj = {\n MARSHA: MARSHA ? MARSHA : undefined,\n LR: LR,\n Z: Z,\n ACTION: 'CONNECTED',\n DOMAIN: DOMAIN ? DOMAIN : undefined,\n MS: MS || MS === '' ? MS : undefined,\n APS: APS,\n USAGE: usageValue,\n SP: spValue,\n DURATION: tierDurationValue ? tierDurationValue : undefined,\n CURRENCY: price && price !== '0' ? (currency ? currency : undefined) : undefined,\n PRICE: price && price !== '0' ? price : undefined,\n TIERS: zoneMapping[Z ?? ''] ?? undefined,\n };\n const body = JSON.stringify(obj);\n submitDynamicForm(body, postEndpoint);\n } catch (error) {\n // ignore\n }\n }\n };\n\n const handleListKeyPress = (event: KeyboardEvent, itemValue: string, updatedPricingModalIndex: number) => {\n if (event?.code?.toLowerCase() === 'enter' || event?.code?.toLowerCase() === 'space') {\n event?.stopPropagation();\n if (!updatedPricingModalIndex) {\n setDurationOne(itemValue);\n setShowDropdownFirstTier !== undefined && setShowDropdownFirstTier(false);\n\n setTimeout(() => {\n if (pricingDurationDropdownRef && pricingDurationDropdownRef?.current) {\n (pricingDurationDropdownRef?.current as HTMLButtonElement)?.focus();\n }\n }, 20);\n } else {\n setDurationTwo(itemValue);\n setShowDropdownSecondTier !== undefined && setShowDropdownSecondTier(false);\n\n setTimeout(() => {\n if (pricingDurationDropdownRefTwo && pricingDurationDropdownRefTwo?.current) {\n (pricingDurationDropdownRefTwo?.current as HTMLButtonElement)?.focus();\n }\n }, 20);\n }\n } else {\n if (!updatedPricingModalIndex) {\n handleDurationDropdownKeyDownEvent(event as unknown as KeyboardEvent, dropdownListOne, durations, {\n value: itemValue,\n key: itemValue,\n });\n } else {\n handleDurationDropdownKeyDownEvent(event as unknown as KeyboardEvent, dropdownListTwo, durations, {\n value: itemValue,\n key: itemValue,\n });\n }\n }\n };\n\n const setFocusToCurrentValue = (dropdownList: HTMLElement, duration: string) => {\n if (dropdownList) {\n const list = (dropdownList as HTMLElement)?.children;\n const dIndex = durations.findIndex(d => d.value === duration);\n const dValue = list[dIndex];\n (dValue as HTMLElement)?.focus();\n }\n };\n\n const handleDurationDropdownClick = (e: any, updatedPricingModalIndex: number) => {\n if (e.screenX === 0 && e.screenY === 0) {\n if (!updatedPricingModalIndex) {\n if (showDropdownFirstTier) {\n setShowDropdownFirstTier !== undefined && setShowDropdownFirstTier(false);\n } else {\n setShowDropdownFirstTier !== undefined && setShowDropdownFirstTier(true);\n setTimeout(() => {\n if (dropdownListOne && dropdownListOne?.current) {\n setFocusToCurrentValue(dropdownListOne?.current, durationOne);\n }\n }, 20);\n }\n } else {\n if (showDropdownSecondTier) {\n setShowDropdownSecondTier !== undefined && setShowDropdownSecondTier(false);\n } else {\n setShowDropdownSecondTier !== undefined && setShowDropdownSecondTier(true);\n setTimeout(() => {\n if (dropdownListTwo && dropdownListTwo?.current) {\n setFocusToCurrentValue(dropdownListTwo?.current, durationTwo);\n }\n }, 20);\n }\n }\n } else {\n if (!updatedPricingModalIndex) {\n showDropdownFirstTier\n ? setShowDropdownFirstTier !== undefined && setShowDropdownFirstTier(false)\n : setShowDropdownFirstTier !== undefined && setShowDropdownFirstTier(true);\n } else {\n showDropdownSecondTier\n ? setShowDropdownSecondTier !== undefined && setShowDropdownSecondTier(false)\n : setShowDropdownSecondTier !== undefined && setShowDropdownSecondTier(true);\n }\n }\n };\n\n const getPricingModal = (pricingProps: any, updatedPricingModalIndex: number, tierLength: number = 1) => {\n return (\n <div\n className={clsx(\n `internet-bar-component ${\n (pricingProps?.isFree && updatedPricingModalLabels?.length === 1) ||\n !(internetPricingInfo?.hasTierOne && internetPricingInfo?.hasTierTwo)\n ? 'my-3 px-2'\n : 'px-xl-0 my-3 my-xl-0 px-2'\n }`\n )}\n >\n <div className=\"internet-bar-component__body d-flex flex-column justify-content-between\">\n <div\n className={`'d-flex flex-column internet-bar-component__header internet-bar-component flex-grow-1 ${\n pricingProps?.isFree || !(internetPricingInfo?.hasTierOne && internetPricingInfo?.hasTierTwo)\n ? updatedPricingModalLabels?.length === 2 &&\n (updatedPricingModalLabels?.[0]?.isFree || updatedPricingModalLabels?.[1]?.isFree)\n ? 'mt-xl-4 internet-bar-component__header--free'\n : 'mb-xl-0'\n : 'mb-xl-0 mt-xl-4'\n }`}\n >\n <span className=\"t-label-s py-2 d-block text-center internet-bar-component__title\">\n {internetPricingModel?.[pricingProps?.title as keyof InternetBarPricingProps]}\n </span>\n <div className=\"d-flex flex-column text-center align-items-center\">\n {pricingProps?.isFree ? (\n <div className=\"d-flex flex-column align-items-center\">\n <span\n className={clsx(\n `t-font-m modal-label ${\n pricingProps?.isFree\n ? updatedPricingModalLabels?.length === 2 &&\n (updatedPricingModalLabels?.[0]?.isFree || updatedPricingModalLabels?.[1]?.isFree)\n ? 'pt-2 pt-xl-4 my-1 mt-xl-0'\n : 'pt-2 my-1'\n : 'pt-2 pt-xl-4 my-1 mt-xl-0'\n }`\n )}\n >\n {internetPricingModel?.freeLabel}\n </span>\n <span className=\"internet-bar-component-seperator-line t-accent-color mt-2\"></span>\n </div>\n ) : (\n <div className=\"d-flex flex-column align-items-center\">\n <span\n className={clsx(\n `t-font-m modal-label ${\n internetPricingInfo?.hasTierOne && internetPricingInfo?.hasTierTwo\n ? 'pt-2 pt-xl-4 my-1 mt-xl-0'\n : 'pt-2 my-1'\n }`\n )}\n >\n {formatCurrency(\n parseFloat(pricingProps?.tierFee).toString()?.includes('.')\n ? parseFloat(pricingProps?.tierFee)\n : parseFloat(parseFloat(pricingProps?.tierFee).toFixed(2)),\n locale ?? DEFAULT_LOCALE,\n pricingProps?.tierCurrency ?? internetPricingModel?.currency\n )}\n </span>\n <span className=\"t-font-xs pt-2\">\n {pricingProps?.tierCurrency ?? internetPricingModel?.currency}\n {internetPricingModel?.dayLabel}\n </span>\n <span className=\"internet-bar-component-seperator-line t-accent-color mt-2\"></span>\n </div>\n )}\n <div className=\"d-flex flex-column\">\n {pricingProps?.isFree ? (\n <span\n className={clsx(\n `t-overline-normal pt-2 pb-3 px-3 mx-2 mx-md-0 internet-bar-component-desc modal-price-desc general-description`\n )}\n >\n {dataIsFirstTier\n ? internetPricingModel?.internetPricingDescription\n : internetPricingModel?.freeDescription}\n </span>\n ) : (\n <>\n {DD?.toUpperCase() !== 'R' && DD?.toUpperCase() !== 'D' && (\n <span\n className={clsx(\n `t-overline-normal pt-2 pb-3 px-3 mx-2 mx-md-0 internet-bar-component-desc modal-price-desc general-description`\n )}\n >\n {internetPricingModel?.[pricingProps?.generalDescription as keyof InternetBarPricingProps]}\n </span>\n )}\n\n {DD?.toUpperCase() === 'R' &&\n (tierLength === 2 && pricingProps?.plan === 'PLAN1' ? (\n <span className=\"t-overline-normal pt-2 pb-3 px-3 mx-2 mx-md-0 internet-bar-component-desc modal-price-desc resort-description\">\n {internetPricingModel?.resortDescriptionPP}\n </span>\n ) : (\n <span className=\"t-overline-normal pt-2 pb-3 px-3 mx-2 mx-md-0 internet-bar-component-desc modal-price-desc resort-description\">\n {internetPricingModel?.[pricingProps?.resortDescription as keyof InternetBarPricingProps]}\n </span>\n ))}\n\n {DD?.toUpperCase() === 'D' &&\n (tierLength === 2 && pricingProps?.plan === 'PLAN1' ? (\n <span className=\"t-overline-normal pt-2 pb-3 px-3 mx-2 mx-md-0 internet-bar-component-desc modal-price-desc desctination-description\">\n {internetPricingModel?.destinationDescriptionPP}\n </span>\n ) : (\n <span className=\"t-overline-normal pt-2 pb-3 px-3 mx-2 mx-md-0 internet-bar-component-desc modal-price-desc desctination-description\">\n {\n internetPricingModel?.[\n pricingProps?.destinationDescription as keyof InternetBarPricingProps\n ]\n }\n </span>\n ))}\n </>\n )}\n </div>\n </div>\n </div>\n {!pricingProps?.isFree && (\n <div\n className={clsx(\n `m-form-group ${\n internetPricingInfo?.hasTierOne && internetPricingInfo?.hasTierTwo\n ? updatedPricingModalLabels?.length === 2\n ? 'py-5 my-3 mb-0'\n : 'py-5 my-3 mb-0 pb-xl-3 mb-xl-4'\n : 'py-5 my-3 mb-0'\n }`\n )}\n >\n <div className=\"t-font-s mb-2\">{internetPricingModel?.choosedurationlabel}</div>\n <div ref={!updatedPricingModalIndex ? dropdownRefFirst : dropdownRefSecond}>\n <Button\n isLink={false}\n type={ButtonTypeVariation?.Button}\n className={clsx(\n `d-flex justify-content-between pt-0 pb-2 px-0 internetbarmodal-${props?.modalType} internetbarmodal-${props?.modalType}__dropdownbtn`\n )}\n callback={e => {\n setConnectOneBtnDisable(false);\n setConnectTwoBtnDisable(false);\n handleDurationDropdownClick(e, updatedPricingModalIndex);\n }}\n ref={pricingProps?.plan === 'PLAN1' ? pricingDurationDropdownRef : pricingDurationDropdownRefTwo}\n children={\n <>\n <span className=\"t-font-m pb-1\" data-testid=\"duration-value\">\n {!updatedPricingModalIndex ? durationOne : durationTwo}\n </span>\n <span\n className={clsx(\n showDropdownFirstTier || showDropdownSecondTier ? 'icon-arrow-down' : 'icon-arrow-up'\n )}\n ></span>\n </>\n }\n testId={!updatedPricingModalIndex ? 'tier-one-dropdown' : 'tier-two-dropdown'}\n />\n {(!updatedPricingModalIndex ? showDropdownFirstTier : showDropdownSecondTier) && (\n <ul\n data-testid=\"duration-dropdown\"\n className={clsx(\n `mt-3 p-0 mb-0 internetbarmodal-${props?.modalType} internetbarmodal-${props?.modalType}__dropdownlist`\n )}\n ref={!updatedPricingModalIndex ? dropdownListOne : dropdownListTwo}\n >\n {durations.map(item => {\n return (\n <li\n // eslint-disable-next-line jsx-a11y/no-noninteractive-element-to-interactive-role\n role={'button'}\n key={item.key}\n className={`pt-3 pb-3 d-flex justify-content-between align-items-center internetbarmodal-${props?.modalType} internetbarmodal-${props?.modalType}__dropdownitems`}\n tabIndex={0}\n onClick={event => {\n event.stopPropagation();\n if (!updatedPricingModalIndex) {\n setDurationOne(item.value);\n setShowDropdownFirstTier !== undefined && setShowDropdownFirstTier(false);\n } else {\n setDurationTwo(item.value);\n setShowDropdownSecondTier !== undefined && setShowDropdownSecondTier(false);\n }\n }}\n onKeyDown={(event: KeyboardEvent | any) =>\n handleListKeyPress(event, item.value, updatedPricingModalIndex)\n }\n >\n <span className=\"value\" data-code={item.value}>\n {item.value}\n </span>\n <span className=\"icon-forward-arrow arrow ml-2 pr-3\"></span>\n </li>\n );\n })}\n </ul>\n )}\n </div>\n </div>\n )}\n <button\n className={clsx(\n `m-button m-button-m m-button-primary t-font-m internet-bar-component-button w-100 ${\n internetPricingInfo?.hasTierOne && internetPricingInfo?.hasTierTwo && !pricingProps?.isFree\n ? 'mb-3'\n : pricingProps?.isFree\n ? updatedPricingModalLabels?.length === 2 &&\n (updatedPricingModalLabels?.[0]?.isFree || updatedPricingModalLabels?.[1]?.isFree)\n ? 'mb-3 mt-5 mt-xl-0'\n : 'mt-4'\n : ''\n } ${\n (pricingProps?.plan === 'PLAN1' && connectOneBtnDisable === true) ||\n (pricingProps?.plan === 'PLAN2' && connectTwoBtnDisable)\n ? 'disabled'\n : ''\n } `\n )}\n role={'button'}\n ref={pricingProps?.plan === 'PLAN1' ? pricingConnectNowButtonRef : pricingConnectNowButtonRefTwo}\n data-sp-value={pricingProps?.plan}\n onClick={e => tierConnect(e)}\n onFocus={() => {\n if (!updatedPricingModalIndex) {\n setShowDropdownFirstTier !== undefined && setShowDropdownFirstTier(false);\n } else {\n setShowDropdownSecondTier !== undefined && setShowDropdownSecondTier(false);\n }\n }}\n disabled={\n (pricingProps?.plan === 'PLAN1' && connectOneBtnDisable === true) ||\n (pricingProps?.plan === 'PLAN2' && connectTwoBtnDisable)\n ? true\n : false\n }\n data-testid={pricingProps?.plan === 'PLAN1' ? 'connect-one-btn' : 'connect-two-btn'}\n >\n {(pricingProps?.plan === 'PLAN1' && connectOneBtnDisable === true) ||\n (pricingProps?.plan === 'PLAN2' && connectTwoBtnDisable) ? (\n <div className=\"m-spinner-s\" data-testid=\"activate-spinner\"></div>\n ) : (\n internetPricingModel?.[pricingProps?.buttonLabel as keyof InternetBarPricingProps]\n )}\n </button>\n </div>\n </div>\n );\n };\n\n return (\n <div\n className={clsx(\n updatedPricingModalLabels?.length === 1 || !(internetPricingInfo?.hasTierOne && internetPricingInfo?.hasTierTwo)\n ? 'px-4 py-3 d-flex flex-column'\n : 'px-4 py-3 pb-xl-4 pt-xl-0 d-flex flex-column'\n )}\n >\n {updatedPricingModalLabels && updatedPricingModalLabels?.length\n ? updatedPricingModalLabels.map((updatedPricingModal, updatedPricingModalIndex) =>\n getPricingModal(updatedPricingModal, updatedPricingModalIndex, updatedPricingModalLabels?.length)\n )\n : null}\n </div>\n );\n};\n","import { FC, useContext, useEffect, useState, useRef } from 'react';\nimport clsx from 'clsx';\nimport { Button } from '@marriott/mi-ui-library';\nimport { PageParamsContext } from '../../../../modules/context/PageContext';\nimport { ButtonTypeVariation } from '../../../../modules/utils/enums/enums';\nimport { handleDurationDropdownKeyDownEvent, submitDynamicForm } from '../../utils/handler';\nimport { InternetBarPricingModalProps, IDuration } from './InternetBarModal.types';\nimport { formatCurrency } from '../../../../modules/utils/common';\nimport { DEFAULT_LOCALE } from '../../utils/constant';\n\nexport const InternetBarUpgradeModal: FC<InternetBarPricingModalProps> = (props: InternetBarPricingModalProps) => {\n const { preProcessorResponse } = useContext(PageParamsContext);\n const { experienceSegment = '', state = '', locale } = preProcessorResponse || {};\n const { internetPricingModel, dropdownRef, setShowDropdown, showDropdown, setShowModal, showModal } = props;\n const internetPricingInfoUpgrade = { ...internetPricingModel?.internetPricingInfo };\n const upgradeModalRef = useRef(null);\n const dropdownListRef = useRef(null);\n\n const {\n APS,\n DD = '',\n DOMAIN = '',\n DURATION = '',\n MARSHA = '',\n MS,\n Z = '',\n zoneMapping = '',\n postEndpoint = '',\n } = props?.internetBarDataValues || {};\n\n const upgradeConnectionButtonRef = useRef(null);\n const upgradeDurationDropdownRef = useRef(null);\n\n const MAX_DURATION = 31;\n\n const [isButtonLoading, setIsButtonLoading] = useState<boolean>(false);\n\n const durations: IDuration[] = [];\n\n for (let i = 0; i < MAX_DURATION; i++) {\n if (i) {\n durations.push({ key: `${i + 1}-days`, value: `${i + 1} ${props?.internetPricingModel?.justDaysLabel}` });\n } else {\n durations.push({ key: `${i + 1}-day`, value: `${i + 1} ${props?.internetPricingModel?.justDayLabel}` });\n }\n }\n\n const [duration, setDuration] = useState(DD && parseInt(DD) ? durations[parseInt(DD) - 1].value : durations[0].value);\n\n if (\n experienceSegment?.toLowerCase()?.includes('basic') ||\n experienceSegment?.toLowerCase()?.includes('member') ||\n (state.toLowerCase() === 'upgrade' &&\n (experienceSegment?.toLowerCase()?.includes('basic') ||\n experienceSegment?.toLowerCase()?.includes('member') ||\n experienceSegment?.toLowerCase()?.includes('unknown')))\n ) {\n if (\n parseFloat(internetPricingInfoUpgrade?.tierTwoFee) &&\n parseFloat(internetPricingInfoUpgrade?.tierOneFee) &&\n parseFloat(internetPricingInfoUpgrade?.tierTwoFee) > parseFloat(internetPricingInfoUpgrade?.tierOneFee) &&\n Z === 'GUEST'\n ) {\n internetPricingInfoUpgrade.tierTwoFee = (\n parseFloat(internetPricingInfoUpgrade?.tierTwoFee) - parseFloat(internetPricingInfoUpgrade?.tierOneFee)\n ).toFixed(2);\n } else if (\n parseFloat(internetPricingInfoUpgrade?.tierTwoFee) < parseFloat(internetPricingInfoUpgrade?.tierOneFee)\n ) {\n internetPricingInfoUpgrade.tierTwoFee = '0';\n }\n } else if (experienceSegment?.toLowerCase()?.includes('elite')) {\n internetPricingInfoUpgrade.tierTwoFee = '0';\n }\n\n const isFree =\n internetPricingInfoUpgrade.tierTwoFee === '' ||\n internetPricingInfoUpgrade.tierTwoFee === undefined ||\n parseFloat(internetPricingInfoUpgrade.tierTwoFee).toFixed(0) === '0';\n\n /**\n * @description upgrade modal and it's post data OSD-1280, 1299\n * @param evt any\n */\n /* eslint-disable-next-line @typescript-eslint/no-explicit-any */\n const upgradeConnection = () => {\n const upgradeDurationValue = internetPricingInfoUpgrade?.tierTwoFee ? duration ?? DURATION : '7';\n const currency = internetPricingInfoUpgrade?.currencyTwo ?? props?.internetPricingModel?.currency;\n const price = internetPricingInfoUpgrade?.tierTwoFee;\n setIsButtonLoading(true);\n\n if (postEndpoint && upgradeDurationValue) {\n try {\n const obj = {\n MARSHA: MARSHA ? MARSHA : undefined,\n ACTION: 'UPGRADED',\n DOMAIN: DOMAIN ? DOMAIN : undefined,\n MS: MS || MS === '' ? MS : undefined,\n APS: APS || APS === '' ? APS : undefined,\n DURATION: isFree\n ? '7'\n : upgradeDurationValue\n ? upgradeDurationValue.includes(props?.internetPricingModel?.justDaysLabel)\n ? upgradeDurationValue?.replace(props?.internetPricingModel?.justDaysLabel, '')?.trim()\n : upgradeDurationValue?.replace(props?.internetPricingModel?.justDayLabel, '')?.trim()\n : undefined,\n CURRENCY: price && price !== '0' ? (currency ? currency : undefined) : undefined,\n PRICE: price && price !== '0' ? price : undefined,\n TIERS: zoneMapping[Z ?? ''] ?? undefined,\n };\n const body = JSON.stringify(obj);\n submitDynamicForm(body, postEndpoint);\n } catch (error) {\n // ignore\n }\n }\n };\n\n useEffect(() => {\n if (upgradeModalRef && upgradeModalRef?.current) {\n if (!(upgradeModalRef?.current as HTMLElement)?.ariaLabel?.trim()) {\n (upgradeModalRef.current as HTMLElement).setAttribute(\n 'aria-label',\n `${props?.internetPricingModel?.intUpgNoThanksLink ?? ''}`\n );\n }\n }\n }, []);\n\n useEffect(() => {\n const timeout = setTimeout(() => {\n if (upgradeDurationDropdownRef && upgradeDurationDropdownRef?.current) {\n (upgradeDurationDropdownRef?.current as HTMLInputElement)?.focus();\n } else if (upgradeConnectionButtonRef && upgradeConnectionButtonRef?.current) {\n (upgradeConnectionButtonRef?.current as HTMLInputElement)?.focus();\n }\n }, 20);\n return () => clearTimeout(timeout);\n }, []);\n\n return showModal ? (\n <div className=\"internet-bar-component p-4 m-2\">\n <div className=\"internet-bar-component__body d-flex flex-column\">\n <div className={`d-flex flex-column internet-bar-component__header internet-bar-component`}>\n <span className=\"internet-bar-component__title t-label-s w-100 py-2 text-center\">\n {props?.internetPricingModel?.intUpgTierTitle}\n </span>\n <div className=\"d-flex flex-column text-center align-items-center\">\n {isFree ? (\n <div className=\"d-flex flex-column align-items-center\">\n <span className=\"t-font-m modal-label pt-2 my-1 text-center\">\n {props?.internetPricingModel?.intUpgFreeLabel}\n </span>\n <span className=\"internet-bar-component-seperator-line t-accent-color mt-2\"></span>\n </div>\n ) : (\n <div className=\"d-flex flex-column align-items-center\">\n <span className=\"t-font-m modal-label pt-2 my-1\">\n {formatCurrency(\n parseFloat(internetPricingInfoUpgrade?.tierTwoFee),\n locale ?? DEFAULT_LOCALE,\n internetPricingInfoUpgrade?.currencyTwo ?? internetPricingModel?.currency\n )}\n </span>\n <span className=\"t-font-xs pt-2\">\n {internetPricingInfoUpgrade?.currencyTwo ?? internetPricingModel?.currency}\n {props?.internetPricingModel?.dayLabel}\n </span>\n <span className=\"internet-bar-component-seperator-line t-accent-color mt-2\"></span>\n </div>\n )}\n <div className=\"d-flex flex-column\">\n {DD?.toUpperCase() !== 'R' && DD?.toUpperCase() !== 'D' && (\n <span className=\"t-overline-normal pt-2 pb-3 px-3 internet-bar-component-desc modal-price-desc general-description\">\n {props?.internetPricingModel?.intUpgDescription}\n </span>\n )}\n {DD?.toUpperCase() === 'R' && (\n <span className=\"t-overline-normal pt-2 pb-3 px-3 mx-2 mx-md-0 internet-bar-component-desc modal-price-desc resort-description\">\n {props?.internetPricingModel?.intUpgResortDescription}\n </span>\n )}\n {DD?.toUpperCase() === 'D' && (\n <span className=\"t-overline-normal pt-2 pb-3 px-3 mx-2 mx-md-0 internet-bar-component-desc modal-price-desc desctination-description\">\n {props?.internetPricingModel?.intUpgDestinationDescription}\n </span>\n )}\n </div>\n </div>\n </div>\n {!isFree && (\n <div className=\"m-form-group py-5 mt-3 mb-0 internet-bar-component-duration\">\n <div className=\"t-font-s mb-2\">{props?.internetPricingModel?.intUpgDurationLabel}</div>\n <div ref={dropdownRef}>\n <Button\n isLink={false}\n type={ButtonTypeVariation?.Button}\n className={clsx(\n `d-flex justify-content-between pt-0 pb-2 px-0 internetbarmodal-${props?.modalType} internetbarmodal-${props?.modalType}__dropdownbtn`\n )}\n ref={upgradeDurationDropdownRef}\n testId=\"upgrade-dropdown\"\n callback={event => {\n event?.stopPropagation();\n setIsButtonLoading(false);\n showDropdown\n ? setShowDropdown !== undefined && setShowDropdown(false)\n : setShowDropdown !== undefined && setShowDropdown(true);\n\n setTimeout(() => {\n const dropdownList = dropdownListRef?.current;\n if (dropdownList) {\n const list = (dropdownList as HTMLElement)?.children;\n const dIndex = durations.findIndex(d => d.value === duration);\n const dValue = list[dIndex];\n (dValue as HTMLElement)?.focus();\n }\n }, 20);\n }}\n children={\n <>\n <span className=\"t-font-m pb-1\">{duration}</span>\n <span className={clsx(showDropdown ? 'icon-arrow-down' : 'icon-arrow-up')}></span>\n </>\n }\n />\n {showDropdown && (\n <ul\n className={clsx(\n `mt-3 p-0 mb-0 internetbarmodal-${props?.modalType} internetbarmodal-${props?.modalType}__dropdownlist`\n )}\n ref={dropdownListRef}\n >\n {durations.map(item => {\n return (\n <li\n // eslint-disable-next-line jsx-a11y/no-noninteractive-element-to-interactive-role\n role={'button'}\n key={item.key}\n id={item.value}\n data-testid={item.value}\n className={`pt-3 pb-3 d-flex justify-content-between align-items-center internetbarmodal-${props?.modalType} internetbarmodal-${props?.modalType}__dropdownitems`}\n tabIndex={0}\n onClick={event => {\n event?.stopPropagation();\n setDuration(item.value);\n setShowDropdown !== undefined && setShowDropdown(false);\n }}\n onKeyDown={event => {\n if (event?.code?.toLowerCase() === 'enter' || event?.code?.toLowerCase() === 'space') {\n event?.stopPropagation();\n setDuration(item.value);\n setShowDropdown !== undefined && setShowDropdown(false);\n setTimeout(() => {\n if (upgradeDurationDropdownRef && upgradeDurationDropdownRef?.current) {\n (upgradeDurationDropdownRef?.current as HTMLButtonElement)?.focus();\n }\n }, 20);\n } else {\n handleDurationDropdownKeyDownEvent(\n event as unknown as KeyboardEvent,\n dropdownListRef,\n durations,\n item\n );\n }\n }}\n >\n <span className=\"value\" data-code={item.value}>\n {item.value}\n </span>\n <span className=\"icon-forward-arrow arrow ml-2 pr-3\"></span>\n </li>\n );\n })}\n </ul>\n )}\n </div>\n </div>\n )}\n <button\n className={`m-button m-button-m m-button-primary t-font-m internet-bar-component-button mt-4 ${\n isButtonLoading ? 'disabled' : ''\n }`}\n data-sp-value=\"PLAN2\"\n onClick={upgradeConnection}\n onFocus={() => {\n setShowDropdown !== undefined && setShowDropdown(false);\n }}\n disabled={isButtonLoading}\n ref={upgradeConnectionButtonRef}\n data-testid=\"upgrade-btn\"\n >\n {isButtonLoading ? (\n <div className=\"m-spinner-s\" data-testid=\"activate-spinner\"></div>\n ) : (\n props?.internetPricingModel?.intUpgConnectionLabel\n )}\n </button>\n\n <Button\n isLink={true}\n callback={(e: MouseEvent | unknown) => {\n (e as MouseEvent).preventDefault();\n setShowModal !== undefined && setShowModal(false);\n }}\n ref={upgradeModalRef}\n className={`t-font-xs mt-3 text-center internet-bar-component-dialog-return_connection internetbarmodal__link`}\n children={props?.internetPricingModel?.intUpgNoThanksLink}\n href=\"\"\n />\n </div>\n </div>\n ) : (\n <div className=\"d-none\"></div>\n );\n};\n","import { FC, useEffect, useState, useRef } from 'react';\nimport { connectBtnTrigger, getEnrolledUserFlag } from '../../utils/handler';\nimport { LoginModalType } from '../../InternetBar.types';\nimport { InternetBarLoginModalProps } from './InternetBarModal.types';\nimport { Button } from '@marriott/mi-ui-library';\nimport { ButtonTypeVariation } from '../../../../modules/utils/enums/enums';\n\nexport const InternetBarLoyaltyWelcomeModal: FC<InternetBarLoginModalProps> = (props: InternetBarLoginModalProps) => {\n const { internetBarDataValues, currentStateMapping } = props;\n const login = props?.login as LoginModalType;\n const isNoLoginInterfaceModal = currentStateMapping?.noLoginInterfaceModal ?? false;\n const loyaltyLoginConnectNowButtonRef = useRef(null);\n\n const [isUserEnrolled, setIsUserEnrolled] = useState(false);\n const [isButtonLoading, setIsButtonLoading] = useState<boolean>(false);\n\n const { ppv5Enrollment = false, loyaltyEnrollmentSourceCode } = internetBarDataValues || {};\n\n useEffect(() => {\n const enrolled = getEnrolledUserFlag(loyaltyEnrollmentSourceCode);\n setIsUserEnrolled(enrolled);\n\n const timeout = setTimeout(() => {\n if (loyaltyLoginConnectNowButtonRef && loyaltyLoginConnectNowButtonRef.current) {\n (loyaltyLoginConnectNowButtonRef?.current as HTMLInputElement)?.focus();\n }\n }, 20);\n\n return () => clearTimeout(timeout);\n }, []);\n\n return (\n <div className=\"body-container d-flex flex-column\">\n {isUserEnrolled && ppv5Enrollment ? (\n <>\n {login?.loyaltyLoginWelcomeText && <h6 className=\"t-subtitle-m\">{login?.loyaltyLoginWelcomeText}</h6>}\n {login?.loyaltyLoginDescription && <p className=\"t-font-xs pb-3\">{login?.loyaltyLoginDescription}</p>}\n </>\n ) : null}\n\n <Button\n isLink={false}\n type={ButtonTypeVariation.Button}\n className={`m-button-m m-button-primary t-font-m ${isButtonLoading ? 'disabled' : ''}`}\n isDisabled={isButtonLoading}\n testId=\"loyalty-login-connect-now-btn\"\n children={\n isButtonLoading ? (\n <div className=\"m-spinner-s\" data-testid=\"activate-spinner\"></div>\n ) : (\n login?.loyaltyLoginConnectNowButton\n )\n }\n ref={loyaltyLoginConnectNowButtonRef}\n callback={() => {\n setIsButtonLoading(true);\n connectBtnTrigger(isNoLoginInterfaceModal, internetBarDataValues);\n }}\n />\n </div>\n );\n};\n","// Imports for external libraries go here.\nimport { FC, useState, useRef, useEffect } from 'react';\nimport { AccessModal, LoginModal, RequestAccessModal } from '../../InternetBar.types';\nimport { Ppv5Modal } from '../../../Ppv5Modal';\nimport { useServiceStore, serviceStore } from '../../../../modules/store/serviceStore';\nimport { InternetBarLoginModal } from './InternetBarLoginModal';\nimport { InternetBarAccessModal } from './InternetBarAccessModal';\nimport { InternetBarReqAccessModal } from './InternetBarReqAccessModal';\nimport { InternetBarErrorModal } from './InternetBarErrorModal';\nimport { InternetBarPricingModal } from './InternetBarPricingModal';\nimport { InternetBarUpgradeModal } from './InternetBarUpgradeModal';\nimport { InternetBarLoyaltyWelcomeModal } from './InternetBarLoyaltyWelcomeModal';\nimport { InternetBarModalProps } from './InternetBarModal.types';\nimport { StyledInternetBarModal, StyledNoErrorBody } from './InternetBarModal.styles';\n\nexport const InternetBarModal: FC<InternetBarModalProps> = (props: InternetBarModalProps) => {\n const setServiceData = useServiceStore((state: serviceStore) => state.setservice);\n const [showModal, setShowModal] = useState<boolean>(props?.showInternetBarModal);\n const [showDropdown, setShowDropdown] = useState<boolean>(false);\n const [showDropdownFirstTier, setShowDropdownFirstTier] = useState<boolean>(false);\n const [showDropdownSecondTier, setShowDropdownSecondTier] = useState<boolean>(false);\n\n const dropdownRef = useRef<HTMLDivElement>(null);\n const dropdownRefFirst = useRef<HTMLDivElement>(null);\n const dropdownRefSecond = useRef<HTMLDivElement>(null);\n\n const { ERR = '' } = props?.internetBarDataValues || {};\n\n const getNoErrorBody = (message: string, description: string) => {\n return (\n <StyledNoErrorBody>\n <div className=\"body-container d-flex flex-column \">\n {/* 1.1 Internet Bar Upgrade No Error Modal */}\n <div className=\"d-flex\">\n <span className={`col-12 px-3 py-3 mb-4 d-flex align-items-center noerrorbody__container`}>\n {' '}\n <span className=\"icon-information mr-3\"></span>\n <span className=\"t-font-s\"> {message}</span>\n </span>\n </div>\n <span className=\"t-font-xs pt-2\">{description}</span>\n </div>\n </StyledNoErrorBody>\n );\n };\n\n const getModalContent = (): JSX.Element | JSX.Element[] => {\n let modalBody: JSX.Element | JSX.Element[] = (\n <div>{/* {Empty Fragment in case modal contenjt is not available} */}</div>\n );\n switch (props?.modalType) {\n case 'LOGIN':\n case 'LOGERR':\n case 'UPGRADE_LOGIN':\n // eslint-disable-next-line no-case-declarations\n const loginModal =\n props?.currentStateMapping &&\n props?.currentStateMapping?.showLoginModal &&\n props?.currentStateMapping?.loginModal;\n\n if (loginModal) {\n modalBody = (\n <InternetBarLoginModal\n login={props?.login}\n loginModal={props?.currentStateMapping?.loginModal as LoginModal}\n internetBarDataValues={props?.internetBarDataValues}\n loginModalType={props?.modalType}\n currentStateMapping={props?.currentStateMapping}\n />\n );\n }\n break;\n\n case 'ACCESS':\n case 'ACCESSERR':\n // eslint-disable-next-line no-case-declarations\n const accessModal =\n props?.currentStateMapping &&\n props?.currentStateMapping?.showAccessModal &&\n props?.currentStateMapping?.accessModal;\n\n if (accessModal) {\n modalBody = (\n <InternetBarAccessModal\n access={props?.accessModal}\n accessModal={props?.currentStateMapping?.accessModal as AccessModal}\n internetBarDataValues={props?.internetBarDataValues}\n accessModalType={props?.modalType}\n />\n );\n }\n break;\n\n case 'REQSMS':\n case 'REQSMSERR':\n // eslint-disable-next-line no-case-declarations\n const reqAccessModal =\n props?.currentStateMapping &&\n props?.currentStateMapping?.showReqAccessModal &&\n props?.currentStateMapping?.reqAccessModal;\n\n if (reqAccessModal) {\n modalBody = (\n <InternetBarReqAccessModal\n reqAccess={props?.requestAccessCodeModal}\n reqAccessModal={props?.currentStateMapping?.reqAccessModal as RequestAccessModal}\n internetBarDataValues={props?.internetBarDataValues}\n reqAccessModalType={props?.modalType}\n dropdownRef={props?.modalType === 'REQSMS' || props?.modalType === 'REQSMSERR' ? dropdownRef : undefined}\n setShowDropdown={\n props?.modalType === 'REQSMS' || props?.modalType === 'REQSMSERR' ? setShowDropdown : undefined\n }\n showDropdown={\n props?.modalType === 'REQSMS' || props?.modalType === 'REQSMSERR' ? showDropdown : undefined\n }\n />\n );\n }\n break;\n\n case 'INT_ERR':\n modalBody = (\n <InternetBarErrorModal\n wifiUpgradeGENError={props?.wifiUpgradeGENError}\n wifiUpgradeLR={props?.wifiUpgradeLR}\n wifiUpgradeMAX={props?.wifiUpgradeMAX}\n wifiUpgradeNoCC={props?.wifiUpgradeNoCC}\n wifiUpgradePMS={props?.wifiUpgradePMS}\n internetBarDataValues={props?.internetBarDataValues}\n currentStateMapping={props?.currentStateMapping}\n showSettlementCurrencyErrorModal={props?.showSettlementCurrencyErrorModal && showModal}\n currencyUxlFailureErrorFieldsBean={props?.currencyUxlFailureErrorFieldsBean}\n invalidCurrencyErrorFieldsBean={props?.invalidCurrencyErrorFieldsBean}\n />\n );\n break;\n\n case 'U_MAX':\n if (props?.currentStateMapping?.showUpgradeSuccessMAXInfo && props?.wifiUpgradeSuccessMAX) {\n modalBody = getNoErrorBody(\n props?.wifiUpgradeSuccessMAX?.upgradeMessageSmax,\n props?.wifiUpgradeSuccessMAX?.descriptionSmax\n );\n }\n break;\n\n case 'U_NA':\n if (props?.currentStateMapping?.showUpgradeSuccessNAInfo && props?.wifiUpgradeSuccessNA) {\n modalBody = getNoErrorBody(\n props?.wifiUpgradeSuccessNA?.upgradeMessageSna,\n props?.wifiUpgradeSuccessNA?.descriptionSna\n );\n }\n break;\n\n case 'C_PRICE':\n if (props?.currentStateMapping?.showPricingModal && props?.internetPricingModel) {\n modalBody = (\n <InternetBarPricingModal\n internetPricingModel={{ ...props?.internetPricingModel }}\n internetBarDataValues={props?.internetBarDataValues}\n modalType={props?.modalType}\n dropdownRefFirst={props?.modalType === 'C_PRICE' ? dropdownRefFirst : undefined}\n dropdownRefSecond={props?.modalType === 'C_PRICE' ? dropdownRefSecond : undefined}\n setShowDropdownFirstTier={props?.modalType === 'C_PRICE' ? setShowDropdownFirstTier : undefined}\n setShowDropdownSecondTier={props?.modalType === 'C_PRICE' ? setShowDropdownSecondTier : undefined}\n showDropdownFirstTier={props?.modalType === 'C_PRICE' ? showDropdownFirstTier : undefined}\n showDropdownSecondTier={props?.modalType === 'C_PRICE' ? showDropdownSecondTier : undefined}\n />\n );\n }\n\n break;\n\n case 'U_PRICE':\n if (props?.currentStateMapping?.showUpgradeModal && props?.internetPricingModel) {\n modalBody = (\n <InternetBarUpgradeModal\n internetPricingModel={{ ...props?.internetPricingModel }}\n internetBarDataValues={props?.internetBarDataValues}\n modalType={props?.modalType}\n dropdownRef={props?.modalType === 'U_PRICE' ? dropdownRef : undefined}\n showModal={showModal}\n setShowDropdown={props?.modalType === 'U_PRICE' ? setShowDropdown : undefined}\n showDropdown={props?.modalType === 'U_PRICE' ? showDropdown : undefined}\n setShowModal={props?.modalType === 'U_PRICE' ? setShowModal : undefined}\n />\n );\n }\n break;\n\n case 'LOYALTY_WELCOME':\n modalBody = (\n <InternetBarLoyaltyWelcomeModal\n login={props?.login}\n loginModal={props?.currentStateMapping?.loginModal as LoginModal}\n internetBarDataValues={props?.internetBarDataValues}\n loginModalType={props?.modalType}\n currentStateMapping={props?.currentStateMapping}\n />\n );\n break;\n }\n return modalBody;\n };\n\n const getModalTitle = (): string => {\n let modalTitle = '';\n switch (props?.modalType) {\n case 'LOGIN':\n case 'LOGERR':\n case 'LOYALTY_WELCOME':\n modalTitle = props?.login?.title;\n break;\n case 'UPGRADE_LOGIN':\n modalTitle = props?.login?.loginUpgradeText;\n break;\n case 'ACCESS':\n case 'ACCESSERR':\n modalTitle = props?.accessModal?.acTitle;\n break;\n\n case 'REQSMS':\n case 'REQSMSERR':\n modalTitle = props?.requestAccessCodeModal?.racTitle;\n break;\n\n case 'INT_ERR':\n switch (ERR) {\n case 'GEN':\n // wifiUpgradeErrorFieldsBean\n modalTitle = props?.wifiUpgradeGENError?.headingtext;\n break;\n\n case 'LR':\n // wifiUpgradeLrFieldsBean\n modalTitle = props?.wifiUpgradeLR?.headingtextLr;\n break;\n\n case 'PMS':\n // wifiUpgradePmsFieldsBean\n modalTitle = props?.wifiUpgradePMS?.headingtextPms;\n break;\n\n case 'MAX':\n // wifiUpgradeMaxFieldsBean\n modalTitle = props?.wifiUpgradeMAX?.headingtextMax;\n break;\n\n case 'NOCC':\n // wifiUpgradeCreditFieldsBean\n modalTitle = props?.wifiUpgradeNoCC?.headingtext1;\n break;\n\n case 'UXL':\n // modalTitle = props?.currencyUxlFailureErrorFieldsBean?.headingForCuf;\n modalTitle = props?.wifiUpgradePMS?.headingtextPms;\n break;\n\n case 'INVALID_PRICING':\n // modalTitle = props?.invalidCurrencyErrorFieldsBean?.headingForIc;\n modalTitle = props?.wifiUpgradePMS?.headingtextPms;\n break;\n }\n break;\n\n case 'U_MAX':\n modalTitle = props?.wifiUpgradeSuccessMAX?.headingtextSmax;\n break;\n\n case 'U_NA':\n modalTitle = props?.wifiUpgradeSuccessNA?.headingtextSna;\n break;\n\n case 'C_PRICE':\n modalTitle = props?.internetPricingModel?.connectlabelTier1 ?? '';\n break;\n\n case 'U_PRICE':\n modalTitle = props?.internetPricingModel?.intUpgConnectLabel ?? '';\n break;\n }\n return modalTitle;\n };\n\n const closeButtonHandler = () => {\n setShowModal(false);\n setServiceData(\n {\n connectBtnClick: false,\n },\n false,\n false,\n {}\n );\n };\n\n useEffect(() => {\n if (!showModal) {\n props?.handleCloseBtnClick();\n }\n }, [props, showModal]);\n\n return (\n <StyledInternetBarModal>\n {showModal && (\n <Ppv5Modal\n showModal={showModal}\n modalTitle={getModalTitle()}\n diningModal={false}\n accessModal={false}\n errorModal={\n props?.modalType === 'U_NA' || props?.modalType === 'U_MAX' || props?.modalType === 'INT_ERR' ? true : false\n }\n priceModal={props?.modalType === 'C_PRICE' ? true : false}\n upgradeModal={props?.modalType === 'U_PRICE' ? true : false}\n modalContent={getModalContent()}\n closeBtnHandler={() => closeButtonHandler()}\n dropdownRef={\n props?.modalType === 'REQSMS' || props?.modalType === 'REQSMSERR' || props?.modalType === 'U_PRICE'\n ? dropdownRef\n : undefined\n }\n dropdownRefFirst={props?.modalType === 'C_PRICE' ? dropdownRefFirst : undefined}\n dropdownRefSecond={props?.modalType === 'C_PRICE' ? dropdownRefSecond : undefined}\n setShowDropdown={\n props?.modalType === 'REQSMS' || props?.modalType === 'REQSMSERR' || props?.modalType === 'U_PRICE'\n ? setShowDropdown\n : undefined\n }\n setShowDropdownFirstTier={props?.modalType === 'C_PRICE' ? setShowDropdownFirstTier : undefined}\n setShowDropdownSecondTier={props?.modalType === 'C_PRICE' ? setShowDropdownSecondTier : undefined}\n />\n )}\n </StyledInternetBarModal>\n );\n};\n","export type StateCSS = {\n internetBarContent: string;\n internetBarContentContainer: string;\n internetBarContentDescriptionContainer: string;\n internetBarButtonContainer: string;\n internetBarButtonContentContainer: string;\n internetBarFooterContainer: string;\n internetBarIcon: string;\n internetBarNotWelcomeTitle: string;\n internetBarWelcomeText: string;\n internetBarDescription: string;\n internetBarSigninButton: string;\n internetBarJoinNowButton: string;\n internetBarConnectButton: string;\n internetBarTermsAndConditions: string;\n internetBarLoyaltyContainer: string;\n internetBarLoyaltyDescription: string;\n internetBarLoyaltySubDescription: string;\n internetBarLoyaltyButtons: string;\n};\n\nconst STATE_CSS_INITIAL = {\n internetBarContent: '',\n internetBarContentContainer: '',\n internetBarContentDescriptionContainer: '',\n internetBarButtonContainer: '',\n internetBarButtonContentContainer: '',\n internetBarFooterContainer: '',\n internetBarIcon: '',\n internetBarNotWelcomeTitle: '',\n internetBarWelcomeText: '',\n internetBarDescription: '',\n internetBarSigninButton: '',\n internetBarJoinNowButton: '',\n internetBarConnectButton: '',\n internetBarTermsAndConditions: '',\n internetBarLoyaltyContainer: '',\n internetBarLoyaltyDescription: '',\n internetBarLoyaltySubDescription: '',\n internetBarLoyaltyButtons: '',\n};\n\nexport const getInternetBarStateSpecificClasses = (\n userSegment: string,\n state: string,\n experienceSegment: string,\n unknownFreeConnection: boolean\n): StateCSS => {\n const stateCSS = {\n ...STATE_CSS_INITIAL,\n };\n switch (state) {\n case 'in_stay':\n stateCSS.internetBarContent =\n userSegment === 'NOT Logged In'\n ? `internet-bar-content-${state}-signed-out`\n : `internet-bar-content-${state}-signed-in`;\n\n stateCSS.internetBarContentContainer =\n userSegment === 'NOT Logged In' ? '' : 'px-4 px-xl-0 pb-4 pb-xl-0 mb-4 mt-4 pt-2 mt-xl-0 pt-xl-1';\n stateCSS.internetBarIcon = 'my-4';\n stateCSS.internetBarNotWelcomeTitle = 'pb-2 mb-1 pb-xl-4 mb-xl-1 px-1 px-xl-0';\n stateCSS.internetBarContentDescriptionContainer =\n userSegment === 'NOT Logged In' ? 'pt-2 pt-xl-0' : 'pt-3 pt-xl-2';\n stateCSS.internetBarWelcomeText = 'mb-4';\n stateCSS.internetBarDescription = 'mb-4 pb-xl-3';\n stateCSS.internetBarButtonContentContainer = userSegment === 'NOT Logged In' ? 'mb-4 pb-xl-2' : '';\n stateCSS.internetBarSigninButton = 'm-button m-button-primary d-flex align-items-center justify-content-center';\n stateCSS.internetBarJoinNowButton = 'm-button-primary d-flex align-items-center justify-content-center';\n stateCSS.internetBarConnectButton = 'px-2 px-xl-0 mb-4 pb-xl-2';\n stateCSS.internetBarTermsAndConditions = 'pb-4 pb-xl-3 mb-xl-1';\n break;\n\n case 'connected':\n stateCSS.internetBarContentContainer = 'px-0 m-0 pt-xl-1 pt-2 pb-2 pb-xl-0';\n stateCSS.internetBarIcon = 'my-3';\n stateCSS.internetBarNotWelcomeTitle = 'pb-2 pb-xl-4 px-1 px-xl-0 mb-0 pt-xl-1';\n stateCSS.internetBarContentDescriptionContainer = 'pt-3 pt-xl-0 px-xl-4';\n stateCSS.internetBarWelcomeText = 'mb-4 mx-xl-3';\n stateCSS.internetBarDescription = `${experienceSegment.includes('-Unknown') ? 'mx-xl-3' : ''}`;\n stateCSS.internetBarSigninButton =\n experienceSegment === 'Connected-Elite-Tier1-Public-Bonvoy-RememberMe'\n ? 'm-button-secondary d-flex justify-content-center pt-2'\n : 'm-button-secondary d-flex justify-content-center pt-2';\n stateCSS.internetBarTermsAndConditions = 'pb-2 pb-xl-3';\n stateCSS.internetBarJoinNowButton = 'm-button-secondary d-flex justify-content-center';\n stateCSS.internetBarConnectButton = 'mb-2 px-2 px-xl-0 pb-xl-2 pt-2'; //mb-2 mt-3\n break;\n\n case 'upgrade':\n stateCSS.internetBarContentContainer =\n experienceSegment === 'Upgrade-Basic-UPrice-Public' ||\n experienceSegment === 'Upgrade-Elite-UPrice-Public-Device' ||\n experienceSegment === 'Upgrade-Elite-UPrice-Public-RememberMe' ||\n experienceSegment === 'Upgrade-Unknown-UPrice-Public'\n ? 'pt-xl-1 pt-2 pb-2 pb-xl-0'\n : 'pt-xl-1 pt-2 pb-3';\n stateCSS.internetBarIcon = 'my-3';\n stateCSS.internetBarNotWelcomeTitle = 'pb-4 mb-0 px-1 px-xl-0 pt-xl-1';\n stateCSS.internetBarContentDescriptionContainer = 'px-0 px-xl-4';\n stateCSS.internetBarWelcomeText = 'mb-4 mx-xl-3';\n stateCSS.internetBarDescription =\n experienceSegment.includes('RememberMe') || experienceSegment.includes('Unknown') ? 'mb-4 mx-xl-3' : '';\n\n stateCSS.internetBarButtonContentContainer =\n experienceSegment === 'Upgrade-Basic-UPrice-Public-Device' ||\n experienceSegment === 'Upgrade-Basic-UPrice-Public-RememberMe' ||\n experienceSegment === 'Upgrade-Elite-UPrice-Public-Device' ||\n experienceSegment === 'Upgrade-Elite-UPrice-Public-RememberMe' ||\n experienceSegment === 'Upgrade-Unknown-UPrice-Public'\n ? 'mb-3'\n : '';\n stateCSS.internetBarSigninButton =\n experienceSegment === 'Upgrade-Basic-UPrice-Public-Device' ||\n experienceSegment === 'Upgrade-Basic-UPrice-Public-RememberMe' ||\n experienceSegment === 'Upgrade-Elite-UPrice-Public-Device' ||\n experienceSegment === 'Upgrade-Elite-UPrice-Public-RememberMe'\n ? 'm-button-secondary mb-5 pt-2'\n : 'm-button-secondary pt-2 mb-3 mb-xl-2';\n stateCSS.internetBarJoinNowButton =\n experienceSegment === 'Upgrade-Unknown-UPrice-Public'\n ? 'm-button-secondary mb-5 pt-2'\n : experienceSegment === 'Upgrade-Unknown-Login' ||\n experienceSegment === 'Upgrade-Unknown-LoginError' ||\n experienceSegment === 'Upgrade-Unknown-UPrice-Guest'\n ? 'm-button-secondary mb-3 mb-xl-2'\n : 'm-button-secondary';\n stateCSS.internetBarConnectButton = 'm-button mb-2';\n stateCSS.internetBarTermsAndConditions = '';\n break;\n\n case 'upgraded':\n stateCSS.internetBarContentContainer = 'pt-xl-1 pt-2 pb-2 pb-xl-0';\n stateCSS.internetBarNotWelcomeTitle = 'pb-4 mb-0 px-1 px-xl-0 pt-xl-1';\n stateCSS.internetBarIcon = 'my-3';\n stateCSS.internetBarContentDescriptionContainer = 'px-0 px-xl-4';\n stateCSS.internetBarWelcomeText = 'mb-4 mx-xl-3';\n stateCSS.internetBarDescription =\n experienceSegment.includes('RememberMe') || experienceSegment.includes('Unknown') ? 'mb-4 mx-xl-3' : '';\n stateCSS.internetBarButtonContentContainer =\n experienceSegment === 'Upgraded-Basic-Device' ||\n experienceSegment === 'Upgraded-Basic-RememberMe' ||\n experienceSegment === 'Upgraded-Elite-Device' ||\n experienceSegment === 'Upgraded-Unknown'\n ? 'mb-3'\n : '';\n stateCSS.internetBarSigninButton =\n experienceSegment === 'Upgraded-Basic-Device' ||\n experienceSegment === 'Upgraded-Basic-RememberMe' ||\n experienceSegment === 'Upgraded-Elite-Device' ||\n experienceSegment === 'Upgraded-Elite-RememberMe'\n ? 'm-button-secondary mb-5 pt-2'\n : '';\n stateCSS.internetBarJoinNowButton =\n experienceSegment === 'Upgraded-Unknown' ? 'm-button-secondary mb-5 ' : 'm-button-secondary';\n stateCSS.internetBarConnectButton = 'px-2 px-xl-0 mb-4 pb-xl-2';\n stateCSS.internetBarTermsAndConditions = 'pb-4 pb-xl-3 mb-xl-1';\n break;\n\n case 'preconnect':\n stateCSS.internetBarNotWelcomeTitle = unknownFreeConnection\n ? 'pb-2 pb-md-4'\n : 'pb-2 mb-1 pb-xl-4 mb-xl-1 px-1 px-xl-0';\n stateCSS.internetBarIcon = unknownFreeConnection ? 'mt-5 mb-3' : 'my-4';\n stateCSS.internetBarContentDescriptionContainer = 'mb-3 pb-3 pb-xl-3 mb-xl-1 px-0 mx-xl-4 px-xl-2';\n stateCSS.internetBarButtonContainer = 'px-0';\n stateCSS.internetBarButtonContentContainer = 'pb-3 px-xl-4 mx-xl-1';\n stateCSS.internetBarConnectButton = 'm-button';\n stateCSS.internetBarFooterContainer = userSegment === 'NOT Logged In' ? 'px-0' : 'px-0 pb-4 mb-1 mb-xl-0';\n stateCSS.internetBarTermsAndConditions = unknownFreeConnection\n ? 'pb-3 pb-md-4'\n : 'pb-4 pb-xl-3 mb-xl-1 t-font-xs';\n stateCSS.internetBarDescription =\n userSegment === 'NOT Logged In' &&\n (experienceSegment.includes('RememberMe') || experienceSegment.includes('Unknown'))\n ? 'mb-0'\n : '';\n break;\n }\n\n return stateCSS;\n};\n","// Styles for InternetBar go here.\nimport styled from 'styled-components';\nimport rtl from 'styled-components-rtl';\nimport { toRem, baseVariables, contextualVariable } from '@marriott/mi-ui-library';\n\nexport const StyledInternetBar = styled.div`\n ${rtl`\n .internet-bar-container {\n font-family: ${contextualVariable.brandedFontFamily};\n position: absolute;\n width: fit-content;\n height: fit-content;\n top: 0;\n bottom: 0;\n right: 0;\n left: 0;\n inset: 0;\n margin: auto;\n border-radius: ${toRem(15)};\n\n\n a[disabled] {\n pointer-events: none;\n cursor: not-allowed;\n }\n\n button.disable-join-now {\n pointer-events: none;\n cursor: not-allowed;\n }\n \n button.enable-join-now {\n pointer-events: auto;\n cursor: pointer;\n }\n\n .internet-bar-content {\n border-bottom: ${toRem(10)} solid ${contextualVariable.accentColor};\n border-radius: ${toRem(15)};\n\n .loyalty-container {\n &-card1 {\n @media ${baseVariables.mediaQuery.md} {\n padding-right: ${toRem(12)} !important;\n }\n @media ${baseVariables.mediaQuery.xl} {\n padding-right: ${toRem(8)} !important;\n }\n }\n &-card2 {\n padding-left: ${toRem(8)} !important;\n @media ${baseVariables.mediaQuery.md} {\n padding-left: ${toRem(12)} !important;\n }\n @media ${baseVariables.mediaQuery.xl} {\n padding-left: ${toRem(8)} !important;\n }\n }\n }\n &__icon {\n border-radius: 50%;\n padding: ${toRem(8)} ${toRem(10)} ${toRem(6)};\n border: ${toRem(1)} solid ${contextualVariable.accentColor};\n font-size: ${baseVariables.font['fontXxl']};\n }\n\n &__separator {\n width: ${toRem(100)};\n border-bottom: ${toRem(2)} solid ${contextualVariable.accentColor};\n margin: auto;\n }\n }\n }\n\n .internet-bar-container {\n .internet-bar-content-in_stay {\n padding: 0 ${toRem(24)};\n margin-bottom: ${toRem(-3)};\n min-width: ${toRem(280)};\n \n @media ${baseVariables.mediaQuery.xl} {\n width: ${toRem(555)};\n }\n \n &-signed-in{\n @media ${baseVariables.mediaQuery.xl} {\n padding 0 ${toRem(110)} !important;\n }\n }\n\n &__description-container{\n p a {\n text-decoration: underline;\n }\n }\n\n &-signed-out{\n @media ${baseVariables.mediaQuery.xl} {\n padding 0 ${toRem(70)} !important;\n }\n }\n \n &__button-container{\n @media ${baseVariables.mediaQuery.xl} {\n padding 0 ${toRem(80)} !important;\n }\n }\n }\n\n .internet-bar-content-upgrade, .internet-bar-content-upgraded {\n padding: 0 ${toRem(24)};\n min-width: ${toRem(280)};\n \n @media ${baseVariables.mediaQuery.xl} {\n width: ${toRem(555)};\n padding: 0 ${toRem(49)} !important;\n }\n &__description-container {\n p a {\n text-decoration: underline;\n }\n }\n &__button-container{\n @media ${baseVariables.mediaQuery.xl} {\n padding 0 ${toRem(102)} !important;\n }\n }\n &__footer-container {\n p a {\n text-decoration: underline;\n }\n }\n }\n }\n\n .internet-bar-container {\n .internet-bar-content-connected {\n padding: 0 ${toRem(24)};\n min-width: ${toRem(280)};\n position: relative;\n top: 0;\n bottom: 0;\n right: 0;\n left: 0;\n margin-bottom: ${toRem(-3)};\n\n @media ${baseVariables.mediaQuery.xl} {\n width: ${toRem(555)};\n padding 0 ${toRem(49)} !important;\n }\n &__description-container{\n p a {\n text-decoration: underline;\n }\n }\n &__button-container {\n @media ${baseVariables.mediaQuery.xl} {\n padding: 0 ${toRem(102)};\n }\n }\n\n &__button-content {\n > a:only-child {\n margin-bottom: ${toRem(48)};\n }\n\n > :first-child:not(:only-child) {\n margin-bottom: ${toRem(16)};\n\n @media ${baseVariables.mediaQuery.xl} {\n margin-bottom: ${toRem(8)};\n }\n }\n }\n }\n }\n\n .internet-bar-container {\n .internet-bar-content-preconnect {\n padding: 0 ${toRem(24)};\n min-width: ${toRem(280)};\n\n @media ${baseVariables.mediaQuery.xl} {\n padding: 0 ${toRem(42)};\n width: ${toRem(555)};\n }\n &__description-container {\n p a {\n text-decoration: underline;\n }\n }\n &__footer-container { \n p a {\n text-decoration: underline;\n }\n }\n }\n }\n }\n\n .internet-bar-container {\n .internet-bar-content-preconnect-loyalty {\n padding: 0 ${toRem(16)};\n min-width: ${toRem(280)};\n\n @media ${baseVariables.mediaQuery.md} {\n padding: 0 ${toRem(32)};\n width: ${toRem(584)};\n }\n\n @media ${baseVariables.mediaQuery.xl} {\n padding: 0 ${toRem(32)};\n width: ${toRem(650)};\n }\n\n .internet-bar-content__footer-container {\n &__tnc-text a {\n text-decoration: underline;\n }\n }\n \n .loyalty-buttons { \n &:lang(EN){\n width: ${toRem(160)};\n }\n }\n }\n }\n\n .flex-1 {\n flex: 1;\n }\n `}\n`;\n","export const mockInternetBar = {\n isAuthorMode: false,\n upgradeButtonLabel: 'Upgrade',\n welcomeTitle: 'Welcome',\n signInButtonLink: '/sign-in.mi?returnTo=_PPV5URL_',\n memberUpgradedDescription:\n 'Welcome back! Please <a href=\"/sign-in.mi?returnTo=_PPV5URL_\" target=\"_blank\">sign in</a> to your Marriott Bonvoyâ„¢ account so that we can apply your member benefits.',\n wifiUpgradePmsFieldsBean: {\n errorMessagePms: \"We can't connect you to the internet\",\n descriptionPms: \"Please try again. If you're still having trouble, contact the front desk\",\n closingLabelPms: 'Close Dialog',\n headingtextPms: \"We're Sorry\",\n },\n wifiUpgradeSuccessNaFieldsBean: {\n descriptionSna: 'Please contact the front desk to see if an upgrade from your current plan is available.',\n upgradeMessageSna: 'Upgrade Not Available',\n closingLabelSna: 'Close Dialog',\n headingtextSna: \"We're Sorry\",\n },\n eliteMACDescription:\n \"<p>As an elite Marriott Bonvoyâ„¢ member, you mean the world to us. You'll receive our fastest internet option at no charge.</p>\\r\\n\",\n uknownUpgradedDescription:\n 'Marriott Bonvoy members who book direct receive a complimentary internet connection. <a href=\"/sign-in.mi?returnTo=_PPV5URL_\" target=\"_blank\">Sign in</a> or <a href=\"/loyalty/createAccount/createAccountPage1.mi\" target=\"_blank\">join now</a> - it\\'s free!',\n accessCodeModel: {\n returnLabel: 'Return to Login',\n accessCodePlaceholder: null,\n requiredLabel: 'All fields are required',\n accessCodeLabel: 'ACCESS CODE',\n acErrorMessage: 'Invalid Access Code: Please Try Again',\n acTitle: 'Connect to the Internet',\n acClosingLabel: 'Close',\n acSeparatorLabel: 'OR',\n accessCodeTitle: 'Please Enter Your Access Code',\n continueButtonLabel: 'Continue',\n },\n ':type': 'mi-aem-ppv5-spa/components/content/internet-box',\n loginModel: {\n roomNumberPlaceHolder: 'Enter Room Number',\n requestAccessCodeLabel: 'Request Access Code via SMS',\n errorMessage: 'Room Number/Last Name Not Found: Please Try Again',\n loginButtonLabel: 'Submit',\n title: 'Connect to the Internet',\n connectNowLabel: 'Connect for Free',\n lastNameLabel: 'LAST NAME',\n userAccessCodeLabel: 'Use an Access Code ',\n roomNumberLabel: 'ROOM NUMBER',\n closingLabel: 'Close Dialog',\n guestLoginLabel: 'Please Enter Your Information Below',\n requiredLabel: 'All fields are required',\n lastNamePlaceHolder: 'Enter Last Name',\n separatorLabel: 'OR',\n },\n upgradeButtonLinkInNewTab: '_self',\n signInButtonLabel: 'Sign In',\n memberNSDescription:\n 'Welcome back! Please <a href=\"/sign-in.mi?returnTo=_PPV5URL_\" target=\"_blank\">sign in</a> to your Marriott Bonvoyâ„¢ account so that we can apply your member benefits.',\n memberInStayDescription:\n 'Welcome back! Please <a href=\"/sign-in.mi?returnTo=_PPV5URL_\" target=\"_blank\">sign in</a> to your Marriott Bonvoyâ„¢ account so that we can apply your member benefits.',\n internetPricingModel: {\n connectNowLabel2: 'Connect Now',\n internetPricingClosingLabel: 'Close Dialog',\n choosedurationlabel: 'Choose Duration',\n pricelabel1: 'Price',\n resortDescription: 'Free for Marriott Bonvoy Members. Included with Resort Fee.',\n pricelabel2: 'Price',\n description2:\n 'Free for Marriott Bonvoy Gold and Higher Status Members. Best for: Streaming, Video Conferencing. On-line video games',\n pricingInfo: {\n GuestRoom: {\n tierTwoFee: '19.95',\n tierOneFee: '16.95',\n tierOneName: 'Tier 1 (basic)',\n tierTwoName: 'Tier 2',\n tierTwoId: 5546937,\n tierOneId: 5439670,\n hasTierTwo: true,\n hasTierOne: true,\n },\n PublicArea: {\n tierTwoId: 0,\n tierOneId: 0,\n hasTierTwo: false,\n hasTierOne: true,\n },\n },\n intUpgResortDescription:\n 'Added to your current connection plan. Enhanced Internet is included with the Resort Fee and is always free for Marriott Bonvoy Gold and higher Elite Members.',\n durationlabel2: 'Choose Duration',\n destinationDescription2: 'Free for Marriott Bonvoy Gold and Higher Status Members. Included with Destination Fee.',\n intUpgConnectLabel: 'Upgrade your Connection',\n intUpgDestinationDescription:\n 'Added to your current connection plan. Enhanced Internet is included with the Destination Fee and is always free for Marriott Bonvoy Gold and higher Elite Members.',\n currency: 'USD',\n intUpgDurationLabel: 'CHOOSE DURATION',\n intUpgClosingLabel: 'Close',\n internetPricingConnectNowLabel: 'Connect Now',\n intUpgFreeLabel: 'Free',\n intUpgNoThanksLink: 'No thanks, Keep my current connection.',\n description2label: 'Description',\n intUpgTierTitle: 'Enhanced Internet',\n freeDescription: 'Connect to free internet',\n resortDescription2: 'Free for Marriott Bonvoy Gold and Higher Status Members. Included with Resort Fee.',\n intUpgDescription:\n 'Added to your current connection plan. Marriott Bonvoy Members receive free internet as a benefit. Gold and higher Elite Members receive free Enhanced Internet service as an Elite benefit.',\n title2: 'Enhanced Internet',\n dayLabel: '/day',\n intUpgConnectionLabel: 'Upgrade Connection',\n internetPricingDescription: 'Free for Marriott Bonvoy Members. Best for: Web browsing and Email',\n internetPricingTitle: 'Internet',\n destinationDescription: 'Free for Marriott Bonvoy Members. Included with Destination Fee.',\n description1label: 'Description',\n connectlabelTier1: 'Connect to the Internet',\n freeLabel: 'Free',\n },\n wifiUpgradeLrFieldsBean: {\n headingtextLr: \"We're Sorry\",\n errorMessageLr: \"We can't connect you to the internet\",\n closingLabelLr: 'Close Dialog',\n descriptionLr: \"Please try again. If you're still having trouble, contact the front desk\",\n },\n basicInStayMACDescription: 'Welcome back! And thank you for being a Marriott Bonvoyâ„¢ member.',\n joinButtonLinkInNewTab: '_blank',\n upgradeTitle: 'Upgrade Your Connection',\n eliteInStayMACDescription: 'Welcome back! And thank you for being an elite Marriott Bonvoyâ„¢ member.',\n tier1Title: 'Connected to the Internet',\n unknownConnectedDescription:\n 'Marriott Bonvoy members who book direct receive a complimentary internet connection. <a href=\"/sign-in.mi?returnTo=_PPV5URL_\" target=\"_blank\">Sign in</a> or <a href=\"/loyalty/createAccount/createAccountPage1.mi\" target=\"_blank\">join now</a> - it\\'s free!',\n connectButtonLabel: 'Connect',\n eliteMACUgradedDescription: '<p>Welcome back! And thank you for being an elite Marriott Bonvoyâ„¢ member.</p>\\r\\n',\n memberTierUnknownDescription: '<p>Thank you for being a Marriott Bonvoyâ„¢ member.</p>\\r\\n',\n basicUpgradeDescription: '<p>Welcome back! And thank you for being a Marriott Bonvoyâ„¢ member.</p>\\r\\n',\n eliteUpgradedDescription: '<p>Welcome back! And thank you for being an elite Marriott Bonvoyâ„¢ member.</p>\\r\\n',\n unknownDescription:\n 'Marriott Bonvoy members who book direct receive a complimentary internet connection. <a href=\"/sign-in.mi?returnTo=_PPV5URL_\" target=\"_blank\">Sign in</a> or <a href=\"/loyalty/createAccount/createAccountPage1.mi\" target=\"_blank\">Join now</a> - it\\'s free!',\n eliteDescription:\n \"<p>As an elite Marriott Bonvoyâ„¢ member, you mean the world to us. You'll receive our fastest internet option at no charge.</p>\\r\\n\",\n eliteInStayDescription: 'Welcome back! And thank you for being an elite Marriott Bonvoyâ„¢ member.',\n basicDescription:\n \"<p>Welcome back! As a valued Marriott Bonvoyâ„¢ member, you'll receive a complimentary internet connection.</p>\\r\\n\",\n signInButtonLinkInNewTab: '_blank',\n deviceTitle: 'Device Added to Your Internet Plan',\n title: 'Connect to the Internet',\n requestAccessCodeModel: {\n frequentCountry: [],\n racSeparatorLabel: 'OR',\n searchCountryRegionLabel: 'Search Country/Region',\n racTitle: 'Connect to the Internet',\n racContinueButtonLabel: 'Continue',\n phoneNumberPlaceholder: null,\n defaultOption: 'Select Country/Region Code',\n racReturnLabel: 'Return to Login',\n enterYourPhoneNumber: 'ENTER YOUR PHONE NUMBER',\n racClosingLabel: 'Close',\n guidLinks: [\n {\n guidAltDecode: 'AF',\n guidDecode: 'Afghanistan',\n guidCode: '93',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'AX',\n guidDecode: 'Aland Islands',\n guidCode: '358',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'AL',\n guidDecode: 'Albania',\n guidCode: '355',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'DZ',\n guidDecode: 'Algeria',\n guidCode: '213',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'AD',\n guidDecode: 'Andorra',\n guidCode: '376',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'AO',\n guidDecode: 'Angola',\n guidCode: '244',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'AI',\n guidDecode: 'Anguilla',\n guidCode: '1',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'AQ',\n guidDecode: 'Antarctica',\n guidCode: '672',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'AG',\n guidDecode: 'Antigua',\n guidCode: '1',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'AR',\n guidDecode: 'Argentina',\n guidCode: '54',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'AM',\n guidDecode: 'Armenia',\n guidCode: '374',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'AW',\n guidDecode: 'Aruba',\n guidCode: '297',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'AU',\n guidDecode: 'Australia',\n guidCode: '61',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'AT',\n guidDecode: 'Austria',\n guidCode: '43',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'AZ',\n guidDecode: 'Azerbaijan',\n guidCode: '994',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'BS',\n guidDecode: 'Bahamas',\n guidCode: '1',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'BH',\n guidDecode: 'Bahrain',\n guidCode: '973',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'BD',\n guidDecode: 'Bangladesh',\n guidCode: '880',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'BB',\n guidDecode: 'Barbados',\n guidCode: '1',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'BY',\n guidDecode: 'Belarus',\n guidCode: '375',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'BE',\n guidDecode: 'Belgium',\n guidCode: '32',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'BZ',\n guidDecode: 'Belize',\n guidCode: '501',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'BJ',\n guidDecode: 'Benin',\n guidCode: '229',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'BM',\n guidDecode: 'Bermuda',\n guidCode: '1',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'BT',\n guidDecode: 'Bhutan',\n guidCode: '975',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'BO',\n guidDecode: 'Bolivia',\n guidCode: '591',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'BQ',\n guidDecode: 'Bonaire',\n guidCode: '599',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'BA',\n guidDecode: 'Bosnia Hercegovina',\n guidCode: '387',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'BW',\n guidDecode: 'Botswana',\n guidCode: '267',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'BV',\n guidDecode: 'Bouvet Island',\n guidCode: '55',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'IO',\n guidDecode: 'Br Indian Ocean Terr',\n guidCode: '246',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'BR',\n guidDecode: 'Brazil',\n guidCode: '55',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'VG',\n guidDecode: 'British Virgin Islands',\n guidCode: '1',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'BN',\n guidDecode: 'Brunei Darussalam',\n guidCode: '673',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'BG',\n guidDecode: 'Bulgaria',\n guidCode: '359',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'BF',\n guidDecode: 'Burkina Faso',\n guidCode: '226',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'BI',\n guidDecode: 'Burundi',\n guidCode: '257',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'CB',\n guidDecode: 'Cambodia',\n guidCode: '855',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'CM',\n guidDecode: 'Cameroon',\n guidCode: '237',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'CA',\n guidDecode: 'Canada',\n guidCode: '1',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'CV',\n guidDecode: 'Cape Verde',\n guidCode: '238',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'KY',\n guidDecode: 'Cayman Islands',\n guidCode: '1',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'CF',\n guidDecode: 'Cent Africa Republic',\n guidCode: '236',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'TD',\n guidDecode: 'Chad',\n guidCode: '235',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'CL',\n guidDecode: 'Chile',\n guidCode: '56',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'CN',\n guidDecode: 'China',\n guidCode: '86',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'CX',\n guidDecode: 'Christmas Island',\n guidCode: '61',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'CC',\n guidDecode: 'Cocos Islands',\n guidCode: '891',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'CO',\n guidDecode: 'Colombia',\n guidCode: '57',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'KM',\n guidDecode: 'Comoro Islands',\n guidCode: '269',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'CG',\n guidDecode: 'Congo',\n guidCode: '242',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'CD',\n guidDecode: 'Congo, Dem. Republic',\n guidCode: '243',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'CK',\n guidDecode: 'Cook Islands',\n guidCode: '682',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'CR',\n guidDecode: 'Costa Rica',\n guidCode: '506',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'HR',\n guidDecode: 'Croatia',\n guidCode: '385',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'CU',\n guidDecode: 'Cuba',\n guidCode: '53',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'CW',\n guidDecode: 'Curacao',\n guidCode: '599',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'CY',\n guidDecode: 'Cyprus',\n guidCode: '357',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'CZ',\n guidDecode: 'Czech Republic',\n guidCode: '420',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'DK',\n guidDecode: 'Denmark',\n guidCode: '45',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'DJ',\n guidDecode: 'Djibouti',\n guidCode: '253',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'DM',\n guidDecode: 'Dominica',\n guidCode: '1',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'DO',\n guidDecode: 'Dominican Republic',\n guidCode: '1',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'EC',\n guidDecode: 'Ecuador',\n guidCode: '593',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'EG',\n guidDecode: 'Egypt',\n guidCode: '20',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'SV',\n guidDecode: 'El Salvador',\n guidCode: '503',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'GQ',\n guidDecode: 'Equatorial Guinea',\n guidCode: '240',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'ER',\n guidDecode: 'Eritrea',\n guidCode: '291',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'EE',\n guidDecode: 'Estonia',\n guidCode: '372',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'ET',\n guidDecode: 'Ethiopia',\n guidCode: '251',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'FO',\n guidDecode: 'Faeroe Islands',\n guidCode: '298',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'FK',\n guidDecode: 'Falkland Islands',\n guidCode: '500',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'FJ',\n guidDecode: 'Fiji',\n guidCode: '679',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'FI',\n guidDecode: 'Finland',\n guidCode: '358',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'FR',\n guidDecode: 'France',\n guidCode: '33',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'GF',\n guidDecode: 'French Guiana',\n guidCode: '594',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'PF',\n guidDecode: 'French Polynesia',\n guidCode: '689',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'TF',\n guidDecode: 'French Southern Terr',\n guidCode: '262',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'GA',\n guidDecode: 'Gabon',\n guidCode: '241',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'GM',\n guidDecode: 'Gambia',\n guidCode: '220',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'XA',\n guidDecode: 'Gaza',\n guidCode: '970',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'GE',\n guidDecode: 'Georgia',\n guidCode: '995',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'DE',\n guidDecode: 'Germany',\n guidCode: '49',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'GH',\n guidDecode: 'Ghana',\n guidCode: '233',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'GI',\n guidDecode: 'Gibraltar',\n guidCode: '350',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'GR',\n guidDecode: 'Greece',\n guidCode: '30',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'GL',\n guidDecode: 'Greenland',\n guidCode: '299',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'GD',\n guidDecode: 'Grenada',\n guidCode: '1',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'GP',\n guidDecode: 'Guadeloupe',\n guidCode: '33',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'GT',\n guidDecode: 'Guatemala',\n guidCode: '502',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'GG',\n guidDecode: 'Guernsey',\n guidCode: '44',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'GN',\n guidDecode: 'Guinea',\n guidCode: '224',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'GW',\n guidDecode: 'Guinea-Bissau',\n guidCode: '245',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'GY',\n guidDecode: 'Guyana',\n guidCode: '592',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'HT',\n guidDecode: 'Haiti',\n guidCode: '509',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'HM',\n guidDecode: 'Heard & McDonald Island',\n guidCode: '+0',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'HN',\n guidDecode: 'Honduras',\n guidCode: '504',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'HK',\n guidDecode: 'Hong Kong',\n guidCode: '852',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'HU',\n guidDecode: 'Hungary',\n guidCode: '36',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'IS',\n guidDecode: 'Iceland',\n guidCode: '354',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'IN',\n guidDecode: 'India',\n guidCode: '91',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'XI',\n guidDecode: 'Indian Ocean Islands',\n guidCode: '61',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'ID',\n guidDecode: 'Indonesia',\n guidCode: '62',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'IR',\n guidDecode: 'Iran',\n guidCode: '98',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'IQ',\n guidDecode: 'Iraq',\n guidCode: '964',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'IE',\n guidDecode: 'Ireland',\n guidCode: '353',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'IM',\n guidDecode: 'Isle of Man',\n guidCode: '44',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'IL',\n guidDecode: 'Israel',\n guidCode: '972',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'IT',\n guidDecode: 'Italy',\n guidCode: '39',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'CI',\n guidDecode: 'Ivory Coast',\n guidCode: '225',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'JM',\n guidDecode: 'Jamaica',\n guidCode: '1',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'JP',\n guidDecode: 'Japan',\n guidCode: '81',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'JE',\n guidDecode: 'Jersey',\n guidCode: '44',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'JO',\n guidDecode: 'Jordan',\n guidCode: '962',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'KZ',\n guidDecode: 'Kazakhstan',\n guidCode: '7',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'KE',\n guidDecode: 'Kenya',\n guidCode: '254',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'KI',\n guidDecode: 'Kiribati',\n guidCode: '686',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'KP',\n guidDecode: 'Korea, Dem. Peoples',\n guidCode: '850',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'KR',\n guidDecode: 'Korea, Republic of',\n guidCode: '82',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'CS',\n guidDecode: 'Kosovo',\n guidCode: '383',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'KW',\n guidDecode: 'Kuwait',\n guidCode: '965',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'KG',\n guidDecode: 'Kyrgyzstan',\n guidCode: '996',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'LP',\n guidDecode: 'Lao P D R',\n guidCode: '856',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'LA',\n guidDecode: 'Laos',\n guidCode: '856',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'LV',\n guidDecode: 'Latvia',\n guidCode: '371',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'LB',\n guidDecode: 'Lebanon',\n guidCode: '961',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'LW',\n guidDecode: 'Leeward Islands',\n guidCode: '1',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'LS',\n guidDecode: 'Lesotho',\n guidCode: '266',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'LR',\n guidDecode: 'Liberia',\n guidCode: '231',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'LY',\n guidDecode: 'Libya',\n guidCode: '218',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'LI',\n guidDecode: 'Liechtenstein',\n guidCode: '423',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'LT',\n guidDecode: 'Lithuania',\n guidCode: '370',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'LU',\n guidDecode: 'Luxembourg',\n guidCode: '352',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'MO',\n guidDecode: 'Macau',\n guidCode: '853',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'MK',\n guidDecode: 'Macedonia',\n guidCode: '389',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'MG',\n guidDecode: 'Madagascar',\n guidCode: '261',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'MW',\n guidDecode: 'Malawi',\n guidCode: '265',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'MY',\n guidDecode: 'Malaysia',\n guidCode: '60',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'MV',\n guidDecode: 'Maldives',\n guidCode: '960',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'ML',\n guidDecode: 'Mali',\n guidCode: '223',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'MT',\n guidDecode: 'Malta',\n guidCode: '356',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'MQ',\n guidDecode: 'Martinique',\n guidCode: '596',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'MR',\n guidDecode: 'Mauritania',\n guidCode: '222',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'MU',\n guidDecode: 'Mauritius',\n guidCode: '230',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'YT',\n guidDecode: 'Mayotte',\n guidCode: '33',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'MX',\n guidDecode: 'Mexico',\n guidCode: '52',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'MD',\n guidDecode: 'Moldova, Republic of',\n guidCode: '373',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'MC',\n guidDecode: 'Monaco',\n guidCode: '377',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'MN',\n guidDecode: 'Mongolia',\n guidCode: '976',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'ME',\n guidDecode: 'Montenegro',\n guidCode: '382',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'MS',\n guidDecode: 'Montserrat',\n guidCode: '1',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'MA',\n guidDecode: 'Morocco',\n guidCode: '212',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'MZ',\n guidDecode: 'Mozambique',\n guidCode: '258',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'MM',\n guidDecode: 'Myanmar',\n guidCode: '95',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'NA',\n guidDecode: 'Namibia',\n guidCode: '264',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'NR',\n guidDecode: 'Nauru',\n guidCode: '674',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'NP',\n guidDecode: 'Nepal',\n guidCode: '977',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'AN',\n guidDecode: 'Netherland Antilles',\n guidCode: '599',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'NL',\n guidDecode: 'Netherlands',\n guidCode: '31',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'NC',\n guidDecode: 'New Caledonia',\n guidCode: '687',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'NZ',\n guidDecode: 'New Zealand',\n guidCode: '64',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'NI',\n guidDecode: 'Nicaragua',\n guidCode: '505',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'NE',\n guidDecode: 'Niger',\n guidCode: '227',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'NG',\n guidDecode: 'Nigeria',\n guidCode: '234',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'NU',\n guidDecode: 'Niue',\n guidCode: '683',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'NF',\n guidDecode: 'Norfolk Island',\n guidCode: '672',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'NO',\n guidDecode: 'Norway',\n guidCode: '47',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'OM',\n guidDecode: 'Oman',\n guidCode: '968',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'PK',\n guidDecode: 'Pakistan',\n guidCode: '92',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'PA',\n guidDecode: 'Panama',\n guidCode: '507',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'PG',\n guidDecode: 'Papua New Guinea',\n guidCode: '675',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'PY',\n guidDecode: 'Paraguay',\n guidCode: '595',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'PE',\n guidDecode: 'Peru',\n guidCode: '51',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'PH',\n guidDecode: 'Philippines',\n guidCode: '63',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'PN',\n guidDecode: 'Pitcairn Island',\n guidCode: '64',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'PL',\n guidDecode: 'Poland',\n guidCode: '48',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'PT',\n guidDecode: 'Portugal',\n guidCode: '351',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'QA',\n guidDecode: 'Qatar',\n guidCode: '974',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'RE',\n guidDecode: 'Reunion',\n guidCode: '262',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'RO',\n guidDecode: 'Romania',\n guidCode: '40',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'RU',\n guidDecode: 'Russia',\n guidCode: '7',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'RW',\n guidDecode: 'Rwanda',\n guidCode: '250',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'GS',\n guidDecode: 'S Georgia-S Sandwich',\n guidCode: '500',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'BL',\n guidDecode: 'Saint Barthelemy',\n guidCode: '590',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'LC',\n guidDecode: 'Saint Lucia',\n guidCode: '1',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'MF',\n guidDecode: 'Saint Martin',\n guidCode: '590',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'WS',\n guidDecode: 'Samoa, Ind. State of',\n guidCode: '685',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'SM',\n guidDecode: 'San Marino',\n guidCode: '378',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'ST',\n guidDecode: 'Sao Tome-Principe',\n guidCode: '239',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'SA',\n guidDecode: 'Saudi Arabia',\n guidCode: '966',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'SN',\n guidDecode: 'Senegal',\n guidCode: '221',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'RS',\n guidDecode: 'Serbia',\n guidCode: '381',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'SC',\n guidDecode: 'Seychelles',\n guidCode: '248',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'SL',\n guidDecode: 'Sierra Leone',\n guidCode: '232',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'SG',\n guidDecode: 'Singapore',\n guidCode: '65',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'SK',\n guidDecode: 'Slovakia',\n guidCode: '421',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'SI',\n guidDecode: 'Slovenia',\n guidCode: '386',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'SB',\n guidDecode: 'Solomon Islands',\n guidCode: '677',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'SO',\n guidDecode: 'Somalia',\n guidCode: '252',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'ZA',\n guidDecode: 'South Africa',\n guidCode: '27',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'SS',\n guidDecode: 'South Sudan',\n guidCode: '211',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'ES',\n guidDecode: 'Spain',\n guidCode: '34',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'LK',\n guidDecode: 'Sri Lanka',\n guidCode: '94',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'SH',\n guidDecode: 'St Helena',\n guidCode: '247',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'KN',\n guidDecode: 'St Kitts-Nevis',\n guidCode: '1',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'SX',\n guidDecode: 'St Maarten',\n guidCode: '599',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'PM',\n guidDecode: 'St Pierre & Miquelon',\n guidCode: '508',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'VC',\n guidDecode: 'St Vincent & The Gre',\n guidCode: '1',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'SD',\n guidDecode: 'Sudan',\n guidCode: '249',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'SR',\n guidDecode: 'Suriname',\n guidCode: '597',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'SJ',\n guidDecode: 'Svalbard & Jan Mayen',\n guidCode: '47',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'SZ',\n guidDecode: 'Swaziland',\n guidCode: '268',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'SE',\n guidDecode: 'Sweden',\n guidCode: '46',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'CH',\n guidDecode: 'Switzerland ',\n guidCode: '41',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'SY',\n guidDecode: 'Syrian Arab Republic',\n guidCode: '963',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'TW',\n guidDecode: 'Taiwan',\n guidCode: '886',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'TJ',\n guidDecode: 'Tajikstan',\n guidCode: '992',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'TZ',\n guidDecode: 'Tanzania',\n guidCode: '255',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'TH',\n guidDecode: 'Thailand',\n guidCode: '66',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'TL',\n guidDecode: 'Timor-Leste',\n guidCode: '670',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'TG',\n guidDecode: 'Togo',\n guidCode: '228',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'TK',\n guidDecode: 'Tokelau',\n guidCode: '690',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'TO',\n guidDecode: 'Tonga',\n guidCode: '676',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'TT',\n guidDecode: 'Trinidad & Tobago',\n guidCode: '1',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'TN',\n guidDecode: 'Tunisia',\n guidCode: '216',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'TR',\n guidDecode: 'Turkey',\n guidCode: '90',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'TM',\n guidDecode: 'Turkmenistan',\n guidCode: '993',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'TC',\n guidDecode: 'Turks & Caicos',\n guidCode: '1',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'TV',\n guidDecode: 'Tuvalu',\n guidCode: '688',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'US',\n guidDecode: 'USA',\n guidCode: '1',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'UG',\n guidDecode: 'Uganda',\n guidCode: '256',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'UA',\n guidDecode: 'Ukraine',\n guidCode: '380',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'AE',\n guidDecode: 'United Arab Emirates',\n guidCode: '971',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'GB',\n guidDecode: 'United Kingdom',\n guidCode: '44',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'UV',\n guidDecode: 'Upper Volta',\n guidCode: '226',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'UY',\n guidDecode: 'Uruguay',\n guidCode: '598',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'UZ',\n guidDecode: 'Uzbekistan',\n guidCode: '998',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'VU',\n guidDecode: 'Vanuatu',\n guidCode: '678',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'VA',\n guidDecode: 'Vatican City',\n guidCode: '379',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'VE',\n guidDecode: 'Venezuela',\n guidCode: '58',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'VN',\n guidDecode: 'Vietnam',\n guidCode: '84',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'WF',\n guidDecode: 'Wallis & Futuna',\n guidCode: '681',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'PS',\n guidDecode: 'West Bank',\n guidCode: '970',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'EH',\n guidDecode: 'Western Sahara',\n guidCode: '212',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'YE',\n guidDecode: 'Yemen, Republic of',\n guidCode: '967',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'ZM',\n guidDecode: 'Zambia',\n guidCode: '260',\n 'jcr:primaryType': 'nt:unstructured',\n },\n {\n guidAltDecode: 'ZW',\n guidDecode: 'Zimbabwe',\n guidCode: '263',\n 'jcr:primaryType': 'nt:unstructured',\n },\n ],\n requiredLabel: 'All fields are required',\n countryCode: 'SELECT YOUR COUNTRY/REGION CODE',\n priorityCountries: [],\n requestAccessCodeTitle: null,\n racErrorMessage: 'Invalid Phone Number: Please Try Again',\n },\n dataLists: {\n lrParamList: 'AF_AC,AF_MO,STRICT_AS,STRICT_A,STRICT_N,TCTC',\n mSParamList: 'E,N',\n debounce: '5000',\n mVParamList: 'LOGIN,LOGERR,C_PRICE,REQSMS,REQSMSERR,ACCESS,ACCESSERR,U_PRICE,U_NA,U_MAX,U_CONF,INT_ERR',\n zoneValues: {\n CONFERENCE: 'SF',\n GUEST: 'PP',\n PUBLIC: 'SF',\n },\n zParamList: 'PUBLIC,GUEST,MEETING,LOBBY,CONFERENCE',\n enrollmentSourceCode: 'MRPI',\n segmentId: 'elite.nonrewards',\n },\n termsAndConditions:\n 'By connecting, you accept our <a href=\"/marriott/internet-access/termsofuse.mi\" target=\"_blank\">Terms of Use</a>',\n basicInStayDescription: 'Welcome back! And thank you for being a Marriott Bonvoyâ„¢ member.',\n signInText: 'Already a member? <a href=\"/sign-in.mi?returnTo=_PPV5URL_\" target=\"_blank\">Sign in</a>',\n wifiUpgradeMaxFieldsBean: {\n errorMessageMax: \"We can't connect you to the internet\",\n descriptionMax: \"Please try again. If you're still having trouble, contact the front desk\",\n closingLabelMax: 'Close Dialog',\n headingtextMax: \"We're Sorry\",\n },\n joinButtonLabel: 'Join Now',\n eliteTier1Description:\n '<p>Your internet connection is complimentary, in recognition of your Marriott Bonvoyâ„¢ membership.</p>\\r\\n',\n eliteTier2Description:\n '<p>Your Enhanced Internet connection is complimentary, in recognition of your Elite Marriott Bonvoyâ„¢ membership.</p>\\r\\n',\n wifiUpgradeSuccessMaxFieldsBean: {\n upgradeMessageSmax: \"You're Already Connected at our Highest Speed\",\n closingLabelSmax: 'Close Dialog',\n headingtextSmax: \"We're Sorry\",\n descriptionSmax: 'Your device is already connected at our highest-level internet option.',\n },\n joinButtonLink: '/loyalty/createAccount/createAccountPage1.mi',\n uknownInStayDescription:\n 'Marriott Bonvoy members who book direct receive a complimentary internet connection. <a href=\"/sign-in.mi?returnTo=_PPV5URL_\" target=\"_blank\">Sign in</a> or <a href=\"/loyalty/createAccount/createAccountPage1.mi\" target=\"_blank\">join now</a> - it\\'s free! ',\n eliteMACUgradeDescription: '<p>Welcome back! And thank you for being an elite Marriott Bonvoyâ„¢ member.</p>\\r\\n',\n basicMACUpgradeDescription: '<p>Welcome back! And thank you for being a Marriott Bonvoyâ„¢ member.</p>\\r\\n',\n eliteUpgradeDescription: '<p>Welcome back! And thank you for being an elite Marriott Bonvoyâ„¢ member.</p>\\r\\n',\n welcomeText:\n 'Your stay starts here. Browse our services below and explore all you can enjoy during your time with us.',\n wifiUpgradeCreditFieldsBean: {\n headingtext1: \"We're Sorry\",\n upgradeMessage: \"We can't complete your request\",\n closingLabel1: 'Close Dialog',\n description1:\n 'We do not have a valid credit card on file to enable your internet access. Please contact the front desk to make payment arrangements.',\n },\n basicMACUpgradedDescription: '<p>Welcome back! And thank you for being a Marriott Bonvoyâ„¢ member.</p>\\r\\n',\n basicMACDescription:\n \"<p>Welcome back! As a valued Marriott Bonvoyâ„¢ member, you'll receive a complimentary internet connection.</p>\\r\\n\",\n uknownUpgradeDescription:\n 'Marriott Bonvoy members who book direct receive a complimentary internet connection. <a href=\"/sign-in.mi?returnTo=_PPV5URL_\" target=\"_blank\">Sign in</a> or <a href=\"/loyalty/createAccount/createAccountPage1.mi\" target=\"_blank\">join now</a> - it\\'s free!',\n upgradedTitle: 'Connection Upgraded',\n basicUpgradedDescription: '<p>Welcome back! And thank you for being a Marriott Bonvoyâ„¢ member.</p>\\r\\n',\n tier2Title: 'Connected to Enhanced Internet',\n wifiUpgradeErrorFieldsBean: {\n upgradeErrorMessage: \"We can't connect you to the internet\",\n headingtext: \"We're Sorry\",\n upgradeErrorClosingLabel: 'Close Dialog',\n upgradeErrorDescription: \"Please try again. If you're still having trouble, contact the front desk\",\n },\n upgradeButtonLink: 'https://internetupgrade.marriott.com/',\n memberMACDescription: '<p>Thank you for being a Marriott Bonvoyâ„¢ member.</p>\\r\\n',\n memberUpgradeDescription:\n 'Welcome back! Please <a href=\"/sign-in.mi?returnTo=_PPV5URL_\" target=\"_blank\">sign in</a> to your Marriott Bonvoyâ„¢ account so that we can apply your member benefits.',\n basicTier1Description:\n '<p>Your internet connection is complimentary, in recognition of your Marriott Bonvoyâ„¢ membership.</p>\\r\\n',\n};\n\nexport const mockPageParamContext = {\n preProcessorResponse: {\n userSegment: 'NOT Logged In',\n validMarsha: true,\n status: 'SUCCESS',\n message: '',\n statusCode: '200',\n brandCode: 'MC',\n experienceSegment: 'In_Stay-Unknown',\n locale: 'en-US',\n subDirectory: 'en-US',\n currentStateMapping: {\n title: 'welcomeTitle',\n welcomeText: 'welcomeText',\n description: 'uknownInStayDescription',\n isConnectState: false,\n connectUpgradeBtn: '',\n signInButton: {\n signInButtonLink: '',\n signInButtonLabel: '',\n signInButtonLinkInNewTab: '',\n },\n joinNowButton: {\n joinButtonLabel: 'joinButtonLabel',\n joinButtonLink: 'joinButtonLink',\n joinButtonLinkInNewTab: 'joinButtonLinkInNewTab',\n },\n termsAndConditions: '',\n signInText: '',\n noLoginInterfaceModal: true,\n showLoginModal: false,\n loginModal: {\n default: false,\n separatorLabel: false,\n userAccessCodeLabel: false,\n requestAccessCodeLabel: false,\n errorMessage: false,\n connectNowLabel: false,\n },\n showAccessModal: false,\n accessModal: {\n default: false,\n acErrorMessage: false,\n },\n showReqAccessModal: false,\n reqAccessModal: {\n default: false,\n racErrorMessage: false,\n },\n showUpgradeGenErr: false,\n showUpgradeLRErr: false,\n showUpgradeMaxErr: false,\n showUpgradeNoCCErr: false,\n showUpgradePMSErr: false,\n showUpgradeSuccessNAInfo: false,\n showUpgradeSuccessMAXInfo: false,\n showPricingModal: false,\n showUpgradeModal: false,\n },\n mac: false,\n cna: false,\n sameTab: false,\n marsha: 'nycmq',\n state: 'in_stay',\n userState: 'unknown',\n cookie: 'sessionID=5D1BCBAF-D0F1-57EA-9CB1-849694666C83',\n },\n};\n\nexport const inStayMockResponse = {\n title: 'welcomeTitle',\n welcomeText: 'welcomeText',\n description: 'uknownInStayDescription',\n isConnectState: false,\n connectUpgradeBtn: '',\n signInButton: {\n signInButtonLink: '',\n signInButtonLabel: '',\n signInButtonLinkInNewTab: '',\n },\n joinNowButton: {\n joinButtonLabel: 'joinButtonLabel',\n joinButtonLink: 'joinButtonLink',\n joinButtonLinkInNewTab: 'joinButtonLinkInNewTab',\n },\n termsAndConditions: '',\n signInText: '',\n noLoginInterfaceModal: true,\n showLoginModal: false,\n loginModal: {\n default: false,\n separatorLabel: false,\n userAccessCodeLabel: false,\n requestAccessCodeLabel: false,\n errorMessage: false,\n connectNowLabel: false,\n },\n showAccessModal: false,\n accessModal: {\n default: false,\n acErrorMessage: false,\n },\n showReqAccessModal: false,\n reqAccessModal: {\n default: false,\n racErrorMessage: false,\n },\n showUpgradeGenErr: false,\n showUpgradeLRErr: false,\n showUpgradeMaxErr: false,\n showUpgradeNoCCErr: false,\n showUpgradePMSErr: false,\n showUpgradeSuccessNAInfo: false,\n showUpgradeSuccessMAXInfo: false,\n showPricingModal: false,\n showUpgradeModal: false,\n};\n\nexport const mockPageParamConnectNoLogin = {\n preProcessorResponse: {\n userSegment: 'NOT Logged In',\n validMarsha: true,\n status: 'SUCCESS',\n message: '',\n statusCode: '200',\n brandCode: 'MC',\n experienceSegment: 'PreConnect-Basic-Login',\n locale: 'en-US',\n subDirectory: 'en-US',\n currentStateMapping: {\n title: 'title',\n welcomeText: '',\n description: 'unknownDescription',\n isConnectState: true,\n connectUpgradeBtn: 'connectButtonLabel',\n signInButton: {\n signInButtonLink: '',\n signInButtonLabel: '',\n signInButtonLinkInNewTab: '',\n },\n joinNowButton: {\n joinButtonLabel: '',\n joinButtonLink: '',\n joinButtonLinkInNewTab: '',\n },\n termsAndConditions: 'termsAndConditions',\n signInText: 'signInText',\n noLoginInterfaceModal: false,\n showLoginModal: true,\n loginModal: {\n default: true,\n },\n showAccessModal: false,\n accessModal: {\n default: false,\n acErrorMessage: false,\n },\n showReqAccessModal: false,\n reqAccessModal: {\n default: false,\n racErrorMessage: false,\n },\n showUpgradeGenErr: false,\n showUpgradeLRErr: false,\n showUpgradeMaxErr: false,\n showUpgradeNoCCErr: false,\n showUpgradePMSErr: false,\n showUpgradeSuccessNAInfo: false,\n showUpgradeSuccessMAXInfo: false,\n showPricingModal: false,\n showUpgradeModal: false,\n },\n mac: false,\n cna: false,\n sameTab: true,\n marsha: 'nycmq',\n state: 'preconnect',\n userState: 'unknown',\n cookie: 'sessionID=3005DD4B-E88F-55E9-8121-11000350065E',\n },\n};\n\nexport const mockPageParamUpgrade = {\n preProcessorResponse: {\n userSegment: 'NOT Logged In',\n validMarsha: true,\n status: 'SUCCESS',\n message: '',\n statusCode: '200',\n brandCode: 'JW',\n experienceSegment: 'Upgrade-Elite-UPrice-Guest',\n locale: 'en-US',\n subDirectory: 'en-US',\n currentStateMapping: {\n title: 'upgradeTitle',\n welcomeText: 'welcomeText',\n description: 'uknownUpgradeDescription',\n isConnectState: false,\n connectUpgradeBtn: 'upgradeButtonLabel',\n signInButton: {\n signInButtonLink: '',\n signInButtonLabel: '',\n signInButtonLinkInNewTab: '',\n },\n joinNowButton: {\n joinButtonLabel: 'joinButtonLabel',\n joinButtonLink: 'joinButtonLink',\n joinButtonLinkInNewTab: 'joinButtonLinkInNewTab',\n },\n termsAndConditions: 'termsAndConditions',\n signInText: '',\n noLoginInterfaceModal: false,\n showLoginModal: false,\n loginModal: {\n default: false,\n separatorLabel: false,\n userAccessCodeLabel: false,\n requestAccessCodeLabel: false,\n errorMessage: false,\n connectNowLabel: false,\n },\n showAccessModal: false,\n accessModal: {\n default: false,\n acErrorMessage: false,\n },\n showReqAccessModal: false,\n reqAccessModal: {\n default: false,\n racErrorMessage: false,\n },\n showUpgradeGenErr: false,\n showUpgradeLRErr: false,\n showUpgradeMaxErr: false,\n showUpgradeNoCCErr: false,\n showUpgradePMSErr: false,\n showUpgradeSuccessNAInfo: false,\n showUpgradeSuccessMAXInfo: false,\n showPricingModal: false,\n showUpgradeModal: true,\n },\n mac: false,\n cna: false,\n sameTab: false,\n marsha: 'phxdr',\n state: 'upgrade',\n userState: 'unknown',\n cookie: 'sessionID=39C7006B-7E45-5826-A938-137927E49324',\n },\n};\n\nexport const settlementCurrenyDetailsMock = {\n data: {\n property: {\n basicInformation: {\n globalDivision: 'Caribbean Latin America',\n currency: 'USD',\n region: 'US East',\n },\n contactInformation: {\n address: {\n country: {\n code: 'CB',\n },\n stateProvince: {\n code: 'NY',\n description: 'New York',\n enumCode: null,\n label: null,\n },\n },\n },\n internet: {\n connectionPricingDetails: [\n {\n externalRecordId: 5443201,\n hasOtherThanHotelQuotingCurrency: true,\n isCompForBonvoyElite: null,\n isCompForBonvoyMember: null,\n tierType: 'Tier1',\n type: 'public_area_room_conn_pricing',\n feeDetails: {\n fee: 27,\n feeInterval: 'PD',\n feeType: 'F',\n settlementFee: 232,\n settlementCurrency: {\n description: 'Bermudian Dollar',\n code: 'BMD',\n },\n },\n },\n {\n externalRecordId: 299285,\n hasOtherThanHotelQuotingCurrency: true,\n isCompForBonvoyElite: null,\n isCompForBonvoyMember: null,\n tierType: 'Tier2',\n type: 'public_area_room_conn_pricing',\n feeDetails: {\n fee: 51,\n feeInterval: 'PD',\n feeType: 'F',\n settlementFee: 5000,\n settlementCurrency: {\n description: 'Bahamian Dollar',\n code: 'BSD',\n },\n },\n },\n {\n externalRecordId: 5439670,\n hasOtherThanHotelQuotingCurrency: true,\n isCompForBonvoyElite: false,\n isCompForBonvoyMember: true,\n tierType: 'Tier1',\n type: 'guest_room_conn_pricing',\n feeDetails: {\n fee: 15.7,\n feeInterval: 'PH',\n feeType: 'F',\n settlementFee: 150,\n settlementCurrency: {\n description: 'UAE Dirham',\n code: 'AED',\n },\n },\n },\n {\n externalRecordId: 299286,\n hasOtherThanHotelQuotingCurrency: false,\n isCompForBonvoyElite: true,\n isCompForBonvoyMember: false,\n tierType: 'Tier2',\n type: 'guest_room_conn_pricing',\n feeDetails: {\n fee: 22,\n feeInterval: 'PH',\n feeType: 'F',\n settlementFee: null,\n settlementCurrency: null,\n },\n },\n ],\n },\n },\n },\n};\n\nexport const mockInternetBarForRegion = {\n upgradeButtonLabel: 'Upgrade',\n welcomeTitle: 'Welcome',\n signInButtonLink: '/sign-in.mi?layeredEncoding=true&returnTo=_PPV5URL_',\n loyaltyConnectNowButton: 'Connect Now',\n loyaltyJoinnowScenarioText: 'Not a Marriott Bonvoy® Member?',\n memberUpgradedDescription:\n 'Welcome back! Please <a href=\"/sign-in.mi?layeredEncoding=true&returnTo=_PPV5URL_\" target=\"_blank\">sign in</a> to your Marriott Bonvoyâ„¢ account so that we can apply your member benefits.',\n loyaltyConnectScenarioText: 'Already a Marriott Bonvoy® Member?',\n wifiUpgradePmsFieldsBean: {\n errorMessagePms: \"We can't connect you to the internet\",\n descriptionPms: \"Please try again. If you're still having trouble, contact the front desk\",\n closingLabelPms: 'Close Dialog',\n headingtextPms: \"We're Sorry\",\n },\n wifiUpgradeSuccessNaFieldsBean: {\n descriptionSna: 'Please contact the front desk to see if an upgrade from your current plan is available.',\n upgradeMessageSna: 'Upgrade Not Available',\n closingLabelSna: 'Close Dialog',\n headingtextSna: \"We're Sorry\",\n },\n eliteMACDescription:\n \"As an Elite Marriott Bonvoyâ„¢ member, you mean the world to us. You'll receive our fastest internet option at no charge.\",\n uknownUpgradedDescription:\n 'Marriott Bonvoy members who book direct receive a complimentary internet connection. <a href=\"/sign-in.mi?layeredEncoding=true&returnTo=_PPV5URL_\" target=\"_blank\">Sign in</a> or <a href=\"/loyalty/createAccount/createAccountPage1.mi\" target=\"_blank\">join now</a> - it\\'s free!',\n accessCodeModel: {\n returnLabel: 'Return to Login',\n accessCodePlaceholder: null,\n requiredLabel: 'All fields are required',\n accessCodeLabel: 'ACCESS CODE',\n acErrorMessage: 'Invalid Access Code: Please Try Again',\n acTitle: 'Connect to the Internet',\n acClosingLabel: 'Close',\n acSeparatorLabel: 'OR',\n accessCodeTitle: 'Please Enter Your Access Code',\n continueButtonLabel: 'Continue',\n },\n ':type': 'mi-aem-ppv5-spa/components/content/internet-box',\n loginModel: {\n loyaltyContinueAsMemberCta: 'Continue as a Member',\n roomNumberPlaceHolder: 'Enter Room Number',\n requestAccessCodeLabel: 'Request Access Code via SMS',\n loyaltyLoginDescriptionPublicZone: 'Connect now to the internet.',\n loyaltyConnectAsMemberCta: 'Connect as Member',\n errorMessage: 'Room Number/Last Name Not Found: Please Try Again',\n loyaltyLoginConnectNowButton: 'Connect Now',\n loyaltyConnectAsGuestCta: 'Connect as Guest',\n loginButtonLabel: 'Submit',\n title: 'Connect to the Internet',\n connectNowLabel: 'Connect for Free',\n lastNameLabel: 'LAST NAME',\n userAccessCodeLabel: 'Use an Access Code ',\n loyaltyLoginWelcomeText: 'Welcome to Marriott Bonvoy®',\n loyaltyLoginThankYouText: 'Thank you for being Marriott Bonvoy® Member.',\n loyaltyGuestAtHotelDescription: 'For guests at the hotel, please enter your information below.',\n roomNumberLabel: 'ROOM NUMBER',\n loyaltyLoginDescription: \"We'll email your Marriott Bonvoy® membership details.\",\n closingLabel: 'Close Dialog',\n guestLoginLabel: 'Please Enter Your Information Below',\n requiredLabel: 'All fields are required',\n loginContinueButtonLabel: 'Continue',\n lastNamePlaceHolder: 'Enter Last Name',\n separatorLabel: 'OR',\n },\n upgradeButtonLinkInNewTab: '_self',\n signInButtonLabel: 'Sign In',\n memberNSDescription:\n 'Welcome back! Please <a href=\"/sign-in.mi?layeredEncoding=true&returnTo=_PPV5URL_\" target=\"_blank\">sign in</a> to your Marriott Bonvoyâ„¢ account so that we can apply your member benefits.',\n memberInStayDescription:\n 'Welcome back! Please <a href=\"/sign-in.mi?layeredEncoding=true&returnTo=_PPV5URL_\" target=\"_blank\">sign in</a> to your Marriott Bonvoyâ„¢ account so that we can apply your member benefits.',\n internetPricingModel: {\n connectNowLabel2: 'Connect Now',\n internetPricingClosingLabel: 'Close Dialog',\n choosedurationlabel: 'Choose Duration',\n pricelabel1: 'Price',\n resortDescription: 'Free for Marriott Bonvoy Members. Included with Resort Fee.',\n pricelabel2: 'Price',\n description2:\n 'Free for Marriott Bonvoy Gold and Higher Status Members. Best for: Streaming, Video Conferencing and On-line video games',\n pricingInfo: {\n GuestRoom: {\n tierTwoFee: '4.95',\n tierTwoName: 'Tier 2',\n tierTwoId: 6057621,\n tierOneId: 0,\n hasTierTwo: true,\n hasTierOne: true,\n },\n PublicArea: {\n tierTwoId: 0,\n tierOneId: 0,\n hasTierTwo: false,\n hasTierOne: true,\n },\n },\n intUpgResortDescription:\n 'Added to your current connection plan. Enhanced Internet is included with the Resort Fee and is always free for Marriott Bonvoy Gold and higher Elite Members.',\n durationlabel2: 'Choose Duration',\n destinationDescription2: 'Free for Marriott Bonvoy Gold and Higher Status Members. Included with Destination Fee.',\n intUpgConnectLabel: 'Upgrade your Connection',\n intUpgDestinationDescription:\n 'Added to your current connection plan. Enhanced Internet is included with the Destination Fee and is always free for Marriott Bonvoy Gold and higher Elite Members.',\n currency: 'USD',\n intUpgDurationLabel: 'CHOOSE DURATION',\n resortDescriptionPP: 'Free for Marriott Bonvoy Members. Best for: Web browsing and Email',\n intUpgClosingLabel: 'Close',\n internetPricingConnectNowLabel: 'Connect Now',\n destinationDescriptionPP: 'Free for Marriott Bonvoy Members. Best for: Web browsing and Email',\n intUpgFreeLabel: 'Free',\n intUpgNoThanksLink: 'No thanks, Keep my current connection.',\n description2label: 'Description',\n intUpgTierTitle: 'Enhanced Internet',\n freeDescription: 'Connect to free internet',\n resortDescription2: 'Free for Marriott Bonvoy Gold and Higher Status Members. Included with Resort Fee.',\n intUpgDescription:\n 'Added to your current connection plan. Marriott Bonvoy Members receive free internet as a benefit. Gold and higher Elite Members receive free Enhanced Internet service as an Elite benefit.',\n title2: 'Enhanced Internet',\n dayLabel: '/day',\n intUpgConnectionLabel: 'Upgrade Connection',\n justDaysLabel: 'Days',\n internetPricingDescription: 'Free for Marriott Bonvoy Members. Best for: Web browsing and Email',\n justDayLabel: 'Day',\n internetPricingTitle: 'Internet',\n destinationDescription: 'Free for Marriott Bonvoy Members. Included with Destination Fee.',\n description1label: 'Description',\n connectlabelTier1: 'Connect to the Internet',\n freeLabel: 'Free',\n },\n calaProperty: false,\n wifiUpgradeLrFieldsBean: {\n headingtextLr: \"We're Sorry\",\n errorMessageLr: \"We can't connect you to the internet\",\n closingLabelLr: 'Close Dialog',\n descriptionLr: \"Please try again. If you're still having trouble, contact the front desk\",\n },\n basicInStayMACDescription: 'Welcome back! And thank you for being a Marriott Bonvoyâ„¢ member.',\n joinButtonLinkInNewTab: '_blank',\n upgradeTitle: 'Upgrade Your Connection',\n eliteInStayMACDescription: 'Welcome back! And thank you for being an Elite Marriott Bonvoyâ„¢ member.',\n tier1Title: 'Connected to the Internet',\n unknownConnectedDescription:\n 'Marriott Bonvoy members who book direct receive a complimentary internet connection. <a href=\"/sign-in.mi?layeredEncoding=true&returnTo=_PPV5URL_\" target=\"_blank\">Sign in</a> or <a href=\"/loyalty/createAccount/createAccountPage1.mi\" target=\"_blank\">join now</a> - it\\'s free!',\n connectButtonLabel: 'Connect',\n eliteMACUgradedDescription: 'Welcome back! And thank you for being an Elite Marriott Bonvoyâ„¢ member.',\n memberTierUnknownDescription: '<p>Thank you for being a Marriott Bonvoyâ„¢ member.</p>\\r\\n',\n loyaltyConnectScenarioDescription: 'Enjoy your complimentary Wi-Fi benefit, and thank you for your loyalty.',\n basicUpgradeDescription: '<p>Welcome back! And thank you for being a Marriott Bonvoyâ„¢ member.</p>\\r\\n',\n eliteUpgradedDescription: 'Welcome back! And thank you for being an Elite Marriott Bonvoyâ„¢ member.',\n unknownDescription:\n 'Marriott Bonvoy members who book direct receive a complimentary internet connection. <a href=\"/sign-in.mi?layeredEncoding=true&returnTo=_PPV5URL_\" target=\"_blank\">Sign in</a> or <a href=\"/loyalty/createAccount/createAccountPage1.mi\" target=\"_blank\">Join now</a> - it\\'s free!',\n eliteDescription:\n \"As an Elite Marriott Bonvoyâ„¢ member, you mean the world to us. You'll receive our fastest internet option at no charge.\",\n eliteInStayDescription: 'Welcome back! And thank you for being an Elite Marriott Bonvoyâ„¢ member.',\n basicDescription:\n \"<p>Welcome back! As a valued Marriott Bonvoyâ„¢ member, you'll receive a complimentary internet connection.</p>\\r\\n\",\n signInButtonLinkInNewTab: '_blank',\n deviceTitle: 'Device Added to Your Internet Plan',\n title: 'Connect to the Internet',\n dataLists: {\n lrParamList: 'AF_AC,AF_MO,STRICT_AS,STRICT_A,STRICT_N,TCTC,STRICT_S,AF_AO',\n mSParamList: 'E,N',\n debounce: '5000',\n mVParamList: 'LOGIN,LOGERR,C_PRICE,REQSMS,REQSMSERR,ACCESS,ACCESSERR,U_PRICE,U_NA,U_MAX,U_CONF,INT_ERR',\n zoneValues: {\n CONFERENCE: 'SF',\n GUEST: 'FP',\n PUBLIC: 'SF',\n },\n zParamList: 'PUBLIC,GUEST,MEETING,LOBBY,CONFERENCE',\n enrollmentSourceCode: 'MRPI',\n segmentId: 'elite.nonrewards',\n loyaltyEnrollmentSourceCode: 'WFS8',\n calaLoyaltyEnrollmentSourceCode: 'WFC5',\n },\n termsAndConditions:\n 'By connecting, you accept our <a href=\"/marriott/internet-access/termsofuse.mi\" target=\"_blank\">Terms of Use</a>',\n basicInStayDescription: 'Welcome back! And thank you for being a Marriott Bonvoyâ„¢ member.',\n signInText:\n 'Already a member? <a href=\"/sign-in.mi?layeredEncoding=true&returnTo=_PPV5URL_\" target=\"_blank\">Sign in</a>',\n wifiUpgradeMaxFieldsBean: {\n errorMessageMax: \"We can't connect you to the internet\",\n descriptionMax: \"Please try again. If you're still having trouble, contact the front desk\",\n closingLabelMax: 'Close Dialog',\n headingtextMax: \"We're Sorry\",\n },\n joinButtonLabel: 'Join Now',\n eliteTier1Description:\n '<p>Your internet connection is complimentary, in recognition of your Marriott Bonvoyâ„¢ membership.</p>\\r\\n',\n loyaltyJoinnowScenarioDescription: 'Join for free to access complimentary Wi-Fi.',\n eliteTier2Description:\n '<p>Your Enhanced Internet connection is complimentary, in recognition of your Elite Marriott Bonvoyâ„¢ membership.</p>\\r\\n',\n wifiUpgradeSuccessMaxFieldsBean: {\n upgradeMessageSmax: \"You're Already Connected at our Highest Speed\",\n closingLabelSmax: 'Close Dialog',\n headingtextSmax: \"We're Sorry\",\n descriptionSmax: 'Your device is already connected at our highest-level internet option.',\n },\n joinButtonLink: '/loyalty/createAccount/createAccountPage1.mi',\n uknownInStayDescription:\n 'Marriott Bonvoy members who book direct receive a complimentary internet connection. <a href=\"/sign-in.mi?layeredEncoding=true&returnTo=_PPV5URL_\" target=\"_blank\">Sign in</a> or <a href=\"/loyalty/createAccount/createAccountPage1.mi\" target=\"_blank\">join now</a> - it\\'s free! ',\n eliteMACUgradeDescription: 'Welcome back! And thank you for being an Elite Marriott Bonvoyâ„¢ member.',\n basicMACUpgradeDescription: '<p>Welcome back! And thank you for being a Marriott Bonvoyâ„¢ member.</p>\\r\\n',\n eliteUpgradeDescription: 'Welcome back! And thank you for being an Elite Marriott Bonvoyâ„¢ member.',\n welcomeText:\n 'Your stay starts here. Browse our services below and explore all you can enjoy during your time with us.',\n wifiUpgradeCreditFieldsBean: {\n headingtext1: \"We're Sorry\",\n upgradeMessage: \"We can't complete your request\",\n closingLabel1: 'Close Dialog',\n description1:\n 'We do not have a valid credit card on file to enable your internet access. Please contact the front desk to make payment arrangements.',\n },\n basicMACUpgradedDescription: '<p>Welcome back! And thank you for being a Marriott Bonvoyâ„¢ member.</p>\\r\\n',\n basicMACDescription:\n \"<p>Welcome back! As a valued Marriott Bonvoyâ„¢ member, you'll receive a complimentary internet connection.</p>\\r\\n\",\n uknownUpgradeDescription:\n 'Marriott Bonvoy members who book direct receive a complimentary internet connection. <a href=\"/sign-in.mi?layeredEncoding=true&returnTo=_PPV5URL_\" target=\"_blank\">Sign in</a> or <a href=\"/loyalty/createAccount/createAccountPage1.mi\" target=\"_blank\">join now</a> - it\\'s free!',\n upgradedTitle: 'Connection Upgraded',\n basicUpgradedDescription: '<p>Welcome back! And thank you for being a Marriott Bonvoyâ„¢ member.</p>\\r\\n',\n tier2Title: 'Connected to Enhanced Internet',\n wifiUpgradeErrorFieldsBean: {\n upgradeErrorMessage: \"We can't connect you to the internet\",\n headingtext: \"We're Sorry\",\n upgradeErrorClosingLabel: 'Close Dialog',\n upgradeErrorDescription: \"Please try again. If you're still having trouble, contact the front desk\",\n },\n upgradeButtonLink: 'https://internetupgrade.marriott.com/',\n memberMACDescription: '<p>Thank you for being a Marriott Bonvoyâ„¢ member.</p>\\r\\n',\n memberUpgradeDescription:\n 'Welcome back! Please <a href=\"/sign-in.mi?layeredEncoding=true&returnTo=_PPV5URL_\" target=\"_blank\">sign in</a> to your Marriott Bonvoyâ„¢ account so that we can apply your member benefits.',\n basicTier1Description:\n '<p>Your internet connection is complimentary, in recognition of your Marriott Bonvoyâ„¢ membership.</p>\\r\\n',\n};\n\nexport const mockPageParam = {\n preProcessorResponse: {\n userSegment: 'NOT Logged In',\n validMarsha: true,\n status: 'SUCCESS',\n message: '',\n statusCode: '200',\n brandCode: 'RI',\n experienceSegment: 'PreConnect-Unknown-Internet-Plan-Public',\n locale: 'en-US',\n subDirectory: 'en',\n enrollmentSourceCodeMapping: `{\"nonloyalty\":[{\"globalDivision\":[\"US Canada\"],\"countryCode\":[\"US\"],\"pricingTier\":[{\"value\":\"WFS8\",\"key\":\"*\"}]},{\"globalDivision\":[\"US Canada\"],\"countryCode\":[],\"pricingTier\":[{\"value\":\"WFS8\",\"key\":\"*\"}]},{\"globalDivision\":[\"Caribbean Latin America\"],\"countryCode\":[\"CB\"],\"pricingTier\":[{\"value\":\"CALA_BS_CODE_FP\",\"key\":\"FP\"},{\"value\":\"CALA_BS_CODE_SF\",\"key\":\"SF\"},{\"value\":\"CALA_BS_CODE_SP\",\"key\":\"SP\"},{\"value\":\"CALA-PP\",\"key\":\"PP\"}]},{\"globalDivision\":[\"Caribbean Latin America\"],\"countryCode\":[],\"pricingTier\":[{\"value\":\"WFC5\",\"key\":\"*\"}]},{\"globalDivision\":[\"Greater China\"],\"countryCode\":[\"HK\"],\"pricingTier\":[{\"value\":\"WFS6\",\"key\":\"*\"}]}],\"loyalty\":[{\"globalDivision\":[\"US Canada\"],\"countryCode\":[\"US\"],\"pricingTier\":[{\"value\":\"WFS8\",\"key\":\"*\"},{\"value\":\"CALA_BS_CODE_FP\",\"key\":\"FP\"},{\"value\":\"CALA_BS_CODE_SF\",\"key\":\"SF\"},{\"value\":\"CALA_BS_CODE_SP\",\"key\":\"SP\"}]},{\"globalDivision\":[\"US Canada\"],\"countryCode\":[],\"pricingTier\":[{\"value\":\"WFS8\",\"key\":\"*\"}]},{\"globalDivision\":[\"Caribbean Latin America\"],\"countryCode\":[\"CB\"],\"pricingTier\":[{\"value\":\"CALA_BS_CODE_FP\",\"key\":\"FP\"},{\"value\":\"CALA_BS_CODE_SF\",\"key\":\"SF\"},{\"value\":\"CALA_BS_CODE_SP\",\"key\":\"SP\"},{\"value\":\"CALA-PP\",\"key\":\"PP\"}]},{\"globalDivision\":[\"Caribbean Latin America\"],\"countryCode\":[],\"pricingTier\":[{\"value\":\"WFC5\",\"key\":\"*\"}]},{\"globalDivision\":[\"Greater China\"],\"countryCode\":[\"HK\"],\"pricingTier\":[{\"value\":\"WFS6\",\"key\":\"*\"}]}]}`,\n currentStateMapping: {\n title: 'title',\n welcomeText: '',\n description: 'unknownDescription',\n isConnectState: true,\n connectUpgradeBtn: 'connectButtonLabel',\n signInButton: {\n signInButtonLink: '',\n signInButtonLabel: '',\n signInButtonLinkInNewTab: '',\n },\n joinNowButton: {\n joinButtonLabel: '',\n joinButtonLink: '',\n joinButtonLinkInNewTab: '',\n },\n termsAndConditions: 'termsAndConditions',\n signInText: 'signInText',\n noLoginInterfaceModal: false,\n showLoginModal: true,\n loginModal: {\n default: true,\n },\n showAccessModal: false,\n accessModal: {\n default: false,\n acErrorMessage: false,\n },\n showReqAccessModal: false,\n reqAccessModal: {\n default: false,\n racErrorMessage: false,\n },\n showUpgradeGenErr: false,\n showUpgradeLRErr: false,\n showUpgradeMaxErr: false,\n showUpgradeNoCCErr: false,\n showUpgradePMSErr: false,\n showUpgradeSuccessNAInfo: false,\n showUpgradeSuccessMAXInfo: false,\n showPricingModal: true,\n showUpgradeModal: false,\n showLoyaltyWelcomeModal: false,\n },\n appId: 'mi-aem-ppv5-spa',\n offeredPlan: 'SF',\n disableImageModifier: false,\n unknownFreeConnection: true,\n mac: false,\n cna: false,\n sameTab: false,\n loyaltyFlip: false,\n marsha: 'MIANM',\n state: 'preconnect',\n userState: 'unknown',\n cookie: 'sessionID=D8349FDB-BC50-55BC-BBED-643153FAF2E1',\n headersData: {},\n },\n};\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { FC, useCallback, useContext, useEffect, useState } from 'react';\nimport { useQuery } from '@apollo/client';\nimport { useRouter } from 'next/router';\nimport { Button } from '@marriott/mi-ui-library';\nimport clsx from 'clsx';\nimport DOMPurify from 'isomorphic-dompurify';\nimport { Config, EditableComponent, MappedComponentProperties } from '@adobe/aem-react-editable-components';\nimport { PageParamsContext } from '../../modules/context/PageContext';\nimport { settlementCurrenyDetails } from '../../modules/graphql';\nimport { internetBarIcons, statesConstant } from '../../modules/utils/constants';\nimport { useServiceStore, serviceStore } from '../../modules/store/serviceStore';\nimport { useStore, ppv5Store } from '../../modules/store/ppv5Store';\nimport { InternetBarModal } from './components/InternetBarModal';\nimport {\n connectBtnTrigger,\n getEnrolledUserFlag,\n settlementCurrencyHandler,\n getRegionEnrollmentSourceCode,\n} from './utils/handler';\nimport {\n INTERNET_BAR_INITIAL_STATE,\n INTERNETBAR_PRICING_TIER_OPTIONS,\n INTERNETBAR_PRICING_ZONE_OPTIONS,\n LOYALTY_DISABLED_ZONES,\n} from './utils/constant';\nimport { getInternetBarStateSpecificClasses, StateCSS } from './internetBar.helper';\nimport {\n InternetBarProps,\n AEMInternetBarProps,\n InternetBarStateTypes,\n PricingInfoProps,\n EnrollmentSourceCodeMapping,\n} from './InternetBar.types';\nimport { StyledInternetBar } from './InternetBar.styles';\nimport { inStayMockResponse, settlementCurrenyDetailsMock } from './__mock__/InternetBar.model';\n\nconst { NEXT_PUBLIC_AEM_SITE } = process.env;\n\nexport const InternetBar: FC<InternetBarProps> = (pageProps: InternetBarProps) => {\n const isServer = !(typeof window != 'undefined' && window?.document);\n const { preProcessorResponse, sessionID, requestId, lang } = useContext(PageParamsContext);\n const { asPath } = useRouter();\n const serviceData = useServiceStore((state: serviceStore) => state.serviceData);\n const setPropertyPortalData = useStore((state: ppv5Store) => state.setPpv5Data);\n\n const router = useRouter();\n const urlQueryParams: Record<string, any> = router.query;\n\n const {\n experienceSegment = '',\n userSegment = '',\n state = '',\n marsha = '',\n cna = '',\n sameTab = '',\n unknownFreeConnection = false as boolean,\n unknownFreeConnectionForPostConnect = false as boolean,\n enrollmentSourceCodeMapping = {} as EnrollmentSourceCodeMapping,\n ppv5Enrollment = false,\n loyaltyFlip = false,\n currentStateMapping = {\n ...(pageProps?.isAuthorMode ? inStayMockResponse : (INTERNET_BAR_INITIAL_STATE as InternetBarStateTypes)),\n },\n } = preProcessorResponse || {};\n\n const [showIcon] = useState<boolean>(\n internetBarIcons && internetBarIcons?.[state] ? internetBarIcons?.[state]?.showIcon : false\n );\n const [internetBarDataValues, setInternetBarDataValues] = useState<Record<string, any>>({});\n const [showInternetBarModal, setShowInternetBarModal] = useState<boolean>(false);\n const [currentStateHasModalOption, setCurrentStateHasModalOption] = useState<boolean>(false);\n const [loyaltyCurrentStateMapping, setLoyaltyCurrentStateMapping] = useState({\n ...currentStateMapping,\n });\n const [isNoLoginInterfaceModal, setIsNoLoginInterfaceModal] = useState<boolean>(\n currentStateMapping?.noLoginInterfaceModal ?? false\n );\n const [modalType, setModalType] = useState('');\n const [loyaltyJoinNow, setLoyaltyJoinNow] = useState<string>('');\n const [defaultJoinNow, setDefaultJoinNow] = useState<string>('');\n const [isLoyaltyConnectNowBtnLoading, setLoyaltyConnectNowBtnLoading] = useState<boolean>(false);\n const [isDefaultConnectNowBtnLoading, setDefaultConnectNowBtnLoading] = useState<boolean>(false);\n const [settlementCurrencyData, setSettlementCurrencyData] = useState<PricingInfoProps>();\n const [showSettlementCurrencyErrorModal, setShowSettlementCurrencyErrorModal] = useState<boolean>(false);\n const [updatedEnrollmentSourceCode, setUpdatedEnrollmentSourceCode] = useState<string>(\n (unknownFreeConnection || unknownFreeConnectionForPostConnect\n ? pageProps?.dataLists?.loyaltyEnrollmentSourceCode\n : pageProps?.dataLists?.enrollmentSourceCode) ?? ''\n );\n const [isJoinNowBtnLoading, setIsJoinNowBtnLoading] = useState<boolean>(pageProps?.isAuthorMode ? false : true);\n const [v5Redirect, setV5Redirect] = useState<boolean>(urlQueryParams?.['v5Redirect'] === 'true' || false);\n const [isMBVUser, setIsMBVState] = useState<boolean>(false);\n\n // Get the HTML content sanitized for below HTML\n const welcomeSanitizedNode = DOMPurify.sanitize(\n (pageProps?.[currentStateMapping?.welcomeText as keyof AEMInternetBarProps] || '')\n .toString()\n .replace(/<\\/?p>/g, ''),\n { ADD_ATTR: ['target'], RETURN_DOM: true }\n );\n const welcomeText = welcomeSanitizedNode.innerHTML;\n\n const descriptionSanitizedNode = DOMPurify.sanitize(\n (pageProps?.[currentStateMapping?.description as keyof AEMInternetBarProps] || '')\n ?.toString()\n ?.replace(/<\\/?p>/g, ''),\n { ADD_ATTR: ['target'], RETURN_DOM: true }\n );\n const descriptionText = descriptionSanitizedNode.innerHTML;\n\n const termsAndConditionsSanitizedNode = DOMPurify.sanitize(\n (\n currentStateMapping?.termsAndConditions &&\n pageProps?.[currentStateMapping?.termsAndConditions as keyof AEMInternetBarProps]\n )?.toString() || '',\n { ADD_ATTR: ['target'], RETURN_DOM: true }\n );\n const termsAndConditionsText = termsAndConditionsSanitizedNode.innerHTML;\n\n const signInTextSanitizedNode = DOMPurify.sanitize(\n (\n currentStateMapping?.signInText && pageProps?.[currentStateMapping?.signInText as keyof AEMInternetBarProps]\n )?.toString() || '',\n { ADD_ATTR: ['target'], RETURN_DOM: true }\n );\n const signInText = signInTextSanitizedNode.innerHTML;\n\n const isWelcomeTitle: boolean = currentStateMapping && currentStateMapping?.title === 'welcomeTitle';\n const showButtonContainer =\n currentStateMapping &&\n (currentStateMapping?.joinNowButton?.joinButtonLabel ||\n currentStateMapping?.signInButton?.signInButtonLabel ||\n currentStateMapping?.connectUpgradeBtn);\n\n const stateCSS: StateCSS = getInternetBarStateSpecificClasses(\n userSegment,\n state,\n experienceSegment,\n unknownFreeConnection\n );\n\n const handleBtnClick = useCallback(\n (btnName: string) => {\n const internetbarInitialValue = initializeInternetBarData();\n const zoneValue = internetbarInitialValue['Z'] ?? '';\n const localRequirement = internetbarInitialValue['LR'] ?? '';\n const U_URLEndpoint = internetbarInitialValue['U_URLEndpoint'] ?? '';\n const ACTION = internetbarInitialValue['ACTION'] ?? '';\n const property = internetbarInitialValue['zoneMapping']?.['GUEST'] ?? '';\n const loyaltyEnrollmentSourceCode = updatedEnrollmentSourceCode\n ? updatedEnrollmentSourceCode\n : internetbarInitialValue['loyaltyEnrollmentSourceCode'];\n const isUserEnrolled: boolean = getEnrolledUserFlag(loyaltyEnrollmentSourceCode);\n\n switch (btnName) {\n case 'connect':\n if (isUserEnrolled && internetbarInitialValue?.ppv5Enrollment) {\n if (currentStateMapping?.showLoginModal) {\n setShowInternetBarModal(true);\n setModalType('LOGIN');\n } else {\n setShowInternetBarModal(false);\n setModalType('');\n }\n setDefaultConnectNowBtnLoading(currentStateMapping?.noLoginInterfaceModal ? true : false);\n connectBtnTrigger(currentStateMapping?.noLoginInterfaceModal, { ...internetbarInitialValue });\n } else {\n if (unknownFreeConnection) {\n setLoyaltyConnectNowBtnLoading(isNoLoginInterfaceModal ? true : false);\n } else {\n setDefaultConnectNowBtnLoading(isNoLoginInterfaceModal ? true : false);\n }\n setShowInternetBarModal(true);\n if (localRequirement?.toUpperCase() === 'AF_AO' && zoneValue !== 'GUEST') {\n setCurrentStateHasModalOption(!isNoLoginInterfaceModal);\n setModalType('ACCESS');\n connectBtnTrigger(isNoLoginInterfaceModal, { ...internetbarInitialValue });\n } else {\n setModalType('LOGIN');\n connectBtnTrigger(isNoLoginInterfaceModal, { ...internetbarInitialValue });\n }\n }\n break;\n\n case 'upgrade':\n if (currentStateMapping?.showUpgradeModal) {\n setShowInternetBarModal(true);\n currentStateMapping?.showLoginModal ? setModalType('LOGIN') : setModalType('U_PRICE');\n setCurrentStateHasModalOption(true);\n } else if (\n ACTION === 'CONNECTED' &&\n zoneValue?.toUpperCase() === 'GUEST' &&\n U_URLEndpoint !== '' &&\n (property === 'FP' || property === 'PP')\n ) {\n setShowInternetBarModal(true);\n setModalType('UPGRADE_LOGIN');\n setCurrentStateHasModalOption(true);\n }\n break;\n\n case 'connectnow':\n if (zoneValue?.toUpperCase() === 'GUEST') {\n setShowInternetBarModal(true);\n setModalType('LOGIN');\n setCurrentStateHasModalOption(true);\n if (isNoLoginInterfaceModal) {\n connectBtnTrigger(isNoLoginInterfaceModal, { ...internetbarInitialValue });\n }\n } else if (zoneValue?.toUpperCase() === 'PUBLIC' || zoneValue?.toUpperCase() === 'LOBBY') {\n if (isUserEnrolled && ppv5Enrollment) {\n setShowInternetBarModal(true);\n setModalType('LOYALTY_WELCOME');\n setCurrentStateHasModalOption(true);\n setIsNoLoginInterfaceModal(false);\n } else {\n if (localRequirement && localRequirement !== 'TCTC') {\n if (localRequirement === 'AF_AO') {\n setModalType('ACCESS');\n setShowInternetBarModal(true);\n setCurrentStateHasModalOption(true);\n } else {\n setModalType('LOGIN');\n setShowInternetBarModal(true);\n connectBtnTrigger(isNoLoginInterfaceModal, { ...internetbarInitialValue });\n }\n } else {\n setModalType('');\n setShowInternetBarModal(false);\n setLoyaltyConnectNowBtnLoading(true);\n connectBtnTrigger(true, { ...internetbarInitialValue });\n }\n }\n }\n\n break;\n\n case 'signin':\n break;\n\n case 'joinnow':\n break;\n }\n },\n [updatedEnrollmentSourceCode]\n );\n\n const handleCloseBtnClick = () => {\n setShowInternetBarModal(false);\n setModalType('');\n };\n\n let { data, loading, error } = useQuery(settlementCurrenyDetails, {\n fetchPolicy: isServer ? 'network-only' : 'cache-first',\n variables: {\n propertyId: preProcessorResponse?.marsha ?? '',\n version: 'V2',\n connectionPricingFilter: {\n pricingType: [INTERNETBAR_PRICING_ZONE_OPTIONS.guest, INTERNETBAR_PRICING_ZONE_OPTIONS.public],\n tierType: [INTERNETBAR_PRICING_TIER_OPTIONS.tierOne, INTERNETBAR_PRICING_TIER_OPTIONS.tierTwo],\n },\n },\n context: {\n headers: {\n 'accept-language': lang ?? 'en-US',\n 'x-b3-traceId': sessionID ?? 'fallback-token',\n 'x-b3-spanId': requestId !== '' ? requestId : `${Date.now()}`,\n 'correlation-id': sessionID ?? 'fallback-token',\n },\n },\n skip: pageProps?.isAuthorMode,\n });\n\n if (pageProps?.isAuthorMode) {\n loading = false;\n data = { ...settlementCurrenyDetailsMock };\n error = undefined;\n }\n\n useEffect(() => {\n const dataLists = pageProps?.dataLists;\n const mvList = (dataLists?.mVParamList?.toUpperCase() ?? '').split(',');\n\n let MV = '';\n if (urlQueryParams['MV'] !== null && mvList.includes((urlQueryParams['MV'] ?? '').toUpperCase())) {\n MV = (urlQueryParams['MV'] ?? '').toUpperCase();\n }\n\n setIsJoinNowBtnLoading(loading);\n\n if (!pageProps?.isAuthorMode && data) {\n setPropertyPortalData({ settlementCurrenyDetails: { ...data } }, loading, false, {});\n let Z = '';\n const zList = (dataLists?.zParamList?.toUpperCase() ?? '').split(',');\n\n if (urlQueryParams['Z'] !== null && zList.includes((urlQueryParams['Z'] ?? '').toUpperCase())) {\n Z = (urlQueryParams['Z'] ?? 'GUEST').toUpperCase();\n } else {\n Z = 'GUEST';\n }\n const zoneMapping: Record<string, any> = {\n ...dataLists?.zoneValues,\n };\n const { enrollmentSourceCode, loyaltyEnrollmentSourceCode } = dataLists;\n const propertyTier = zoneMapping?.['GUEST'];\n const value: EnrollmentSourceCodeMapping = enrollmentSourceCodeMapping ?? {};\n const updatedRegionEnrollmentSourceCode = getRegionEnrollmentSourceCode(\n value,\n data?.property,\n unknownFreeConnection || unknownFreeConnectionForPostConnect\n ? unknownFreeConnection || unknownFreeConnectionForPostConnect\n : urlQueryParams['ppv5Enrollment']?.toString()?.toLowerCase() === 'true',\n propertyTier,\n loyaltyEnrollmentSourceCode ?? '',\n enrollmentSourceCode ?? ''\n );\n setUpdatedEnrollmentSourceCode(updatedRegionEnrollmentSourceCode);\n\n const settlementData = settlementCurrencyHandler({ ...data }, Z, pageProps?.internetPricingModel?.currency);\n\n const { pricingInfo, hasError = false } = settlementData;\n\n if (!pricingInfo && hasError && MV && (MV === 'C_PRICE' || MV === 'U_PRICE')) {\n // setPropertyPortalData(null, false, true, {});\n setModalType('INT_ERR');\n setShowSettlementCurrencyErrorModal(true);\n setInternetBarDataValues({\n ...internetBarDataValues,\n ERR: 'INVALID_PRICING',\n });\n }\n\n if (pricingInfo) {\n setSettlementCurrencyData({\n ...(pricingInfo as PricingInfoProps),\n });\n }\n } else if (error && MV && (MV === 'C_PRICE' || MV === 'U_PRICE')) {\n setModalType('INT_ERR');\n setShowSettlementCurrencyErrorModal(true);\n setInternetBarDataValues({\n ...internetBarDataValues,\n ERR: 'UXL',\n });\n }\n }, [\n data,\n enrollmentSourceCodeMapping,\n error,\n internetBarDataValues,\n loading,\n pageProps,\n setPropertyPortalData,\n unknownFreeConnection,\n unknownFreeConnectionForPostConnect,\n urlQueryParams,\n ]);\n\n const initializeInternetBarData = useCallback(() => {\n // function to validate if the URL query params are as per the AEM current state mapping\n const urlAsPerMapping = (MV: string = '', ERR: string = '') => {\n if (MV || ERR) {\n let hasModalOption = false;\n\n switch (MV) {\n case 'LOGIN':\n case 'LOGERR':\n hasModalOption = currentStateMapping && currentStateMapping?.showLoginModal ? true : false;\n break;\n\n case 'ACCESS':\n case 'ACCESSERR':\n hasModalOption = currentStateMapping && currentStateMapping?.showAccessModal ? true : false;\n break;\n\n case 'REQSMS':\n case 'REQSMSERR':\n hasModalOption = currentStateMapping && currentStateMapping?.showReqAccessModal ? true : false;\n break;\n\n case 'INT_ERR':\n hasModalOption =\n (currentStateMapping &&\n (currentStateMapping?.showUpgradeGenErr ||\n currentStateMapping?.showUpgradeLRErr ||\n currentStateMapping?.showUpgradeMaxErr ||\n currentStateMapping?.showUpgradeNoCCErr ||\n currentStateMapping?.showUpgradePMSErr)) ||\n showSettlementCurrencyErrorModal\n ? true\n : false;\n break;\n\n case 'C_PRICE':\n hasModalOption = currentStateMapping && currentStateMapping?.showPricingModal ? true : false;\n break;\n\n case 'U_PRICE':\n hasModalOption = currentStateMapping && currentStateMapping?.showUpgradeModal ? true : false;\n break;\n\n case 'U_MAX':\n hasModalOption = currentStateMapping && currentStateMapping?.showUpgradeSuccessMAXInfo ? true : false;\n break;\n\n case 'U_NA':\n hasModalOption = currentStateMapping && currentStateMapping?.showUpgradeSuccessNAInfo ? true : false;\n break;\n }\n setCurrentStateHasModalOption(hasModalOption);\n }\n };\n\n const { dataLists } = pageProps;\n const MARSHA: string = marsha.toUpperCase() ?? '';\n const zList = (dataLists?.zParamList?.toUpperCase() ?? '').split(',');\n const mvList = (dataLists?.mVParamList?.toUpperCase() ?? '').split(',');\n // const msList = (dataLists?.mSParamList ?? '').split(', ');\n const zoneMapping: Record<string, any> = {\n ...dataLists?.zoneValues,\n };\n\n // reading usage value from data attr from AEM to send correct USAGE in LSP payload for Tier1&2.\n // Also mapping correct SP value in all scenarios payload\n let usageAttr = '';\n\n if (experienceSegment.toLowerCase().includes('basic')) {\n usageAttr = 'MEMBER';\n } else if (experienceSegment.toLowerCase().includes('elite')) {\n usageAttr = 'ELITE';\n }\n\n // reading valid Z values from data attr to match and assign Z value, in case of invalid or null \"GUEST\" is default value\n let Z = '';\n if (urlQueryParams['Z'] !== null && zList.includes((urlQueryParams['Z'] ?? '').toUpperCase())) {\n Z = (urlQueryParams['Z'] ?? 'GUEST').toUpperCase();\n } else {\n Z = 'GUEST';\n }\n\n const lrList =\n Z === 'GUEST'\n ? (dataLists?.lrParamList ?? '')\n ?.toUpperCase()\n .split(',')\n ?.filter(lr => lr !== 'AF_AO')\n : (dataLists?.lrParamList ?? '')?.toUpperCase().split(',');\n\n // reading valid LR values from data attr to match and assign LR value\n let LR = '';\n if (urlQueryParams['LR'] && lrList?.includes((urlQueryParams['LR'] ?? '').toUpperCase())) {\n LR = (urlQueryParams['LR'] ?? '').toUpperCase();\n }\n\n // reading valid MV values from data attr to match and assign MV value\n let MV = '';\n if (urlQueryParams['MV'] !== null && mvList.includes((urlQueryParams['MV'] ?? '').toUpperCase())) {\n MV = (urlQueryParams['MV'] ?? '').toUpperCase();\n }\n\n const updatedState = state && state === 'preconnect' ? 'CONNECT' : state;\n const ACTION = (urlQueryParams['AT'] as string)?.toUpperCase() ?? updatedState?.toUpperCase() ?? '';\n // reading valid USAGE from URL. Required for payload in nologin/freeconnection&access LSP payload\n const USAGE = (urlQueryParams['U'] as string)?.toUpperCase() ?? '';\n // reading duration value from url, default value is 7\n const DURATION = urlQueryParams['DURATION'] ?? '7';\n // reading duration initial value from url, default is 1\n const DD = (urlQueryParams['DD'] as string)?.toUpperCase() ?? '1';\n const ERR = (urlQueryParams['ERR'] as string)?.toUpperCase() ?? '';\n const DOMAIN = (window?.location?.href ?? '').split('einterface')[0];\n const MS: string | null = (urlQueryParams['MS'] as string)?.toUpperCase() ?? null;\n const postEndpoint = urlQueryParams['L_URL'] ?? '';\n const U_URLEndpoint = urlQueryParams['U_URL'] ?? '';\n const SP = (urlQueryParams['SP'] as string)?.toUpperCase() ?? '';\n const ppv5Enrollment = urlQueryParams['ppv5Enrollment'] ?? '';\n\n let APS: string | undefined = undefined;\n\n //reading valid MS values from data attr to match with URL value and send to LSP Payload\n if ((ACTION === 'PRECONNECT' || ACTION === 'CONNECT' || ACTION === 'CONNECTED') && MS === null) {\n // calculate apsValue\n let apsValue: string | undefined = undefined;\n if (experienceSegment?.toLowerCase()?.includes('member-')) {\n apsValue = 'N';\n } else if (experienceSegment?.toLowerCase()?.includes('basic-')) {\n apsValue = 'N';\n } else if (experienceSegment?.toLowerCase()?.includes('elite-')) {\n apsValue = 'E';\n } else {\n apsValue = '';\n }\n APS = apsValue;\n }\n\n if (MV || ERR) {\n setShowInternetBarModal(true);\n if (MV) {\n setModalType(MV);\n urlAsPerMapping(MV, ERR);\n }\n } else {\n if (currentStateMapping && currentStateMapping?.showLoginModal) {\n setCurrentStateHasModalOption(true);\n }\n }\n\n const loyaltyEnrollmentSourceCode =\n (updatedEnrollmentSourceCode ? updatedEnrollmentSourceCode : dataLists?.loyaltyEnrollmentSourceCode) ?? '';\n\n if (ppv5Enrollment?.toString()?.toLowerCase() === 'true' && getEnrolledUserFlag(loyaltyEnrollmentSourceCode)) {\n setCurrentStateHasModalOption(true);\n setIsNoLoginInterfaceModal(false);\n if (Z?.toUpperCase() === 'GUEST') {\n setShowInternetBarModal(true);\n if (zoneMapping[Z ?? ''] === 'SF') {\n if (!(LR?.toString()?.toUpperCase() === 'AF_AC' || LR?.toString()?.toUpperCase() === 'AF_MO')) {\n setModalType(MV ? MV : 'LOGIN');\n let showSeparator = true;\n if (LR) {\n showSeparator =\n currentStateMapping.loginModal.userAccessCodeLabel ||\n currentStateMapping.loginModal.requestAccessCodeLabel;\n }\n setLoyaltyCurrentStateMapping({\n ...currentStateMapping,\n showLoginModal: MV ? currentStateMapping?.showLoginModal : true,\n loginModal: {\n ...currentStateMapping.loginModal,\n connectNowLabel: true,\n default: true,\n separatorLabel: showSeparator,\n },\n });\n } else {\n setModalType(MV ? MV : 'LOYALTY_WELCOME');\n }\n } else if (zoneMapping[Z ?? ''] === 'SP') {\n setShowInternetBarModal(true);\n if (currentStateMapping?.noLoginInterfaceModal) {\n if (LR) {\n setModalType(MV ? MV : 'LOGIN');\n let showSeparator = true;\n if (LR?.toString()?.toUpperCase() === 'AF_MO') {\n showSeparator = false;\n }\n setLoyaltyCurrentStateMapping({\n ...currentStateMapping,\n showLoginModal: MV ? currentStateMapping?.showLoginModal : true,\n loginModal: {\n ...currentStateMapping.loginModal,\n connectNowLabel: true,\n default: true,\n separatorLabel: showSeparator,\n userAccessCodeLabel: LR?.toString()?.toUpperCase() === 'AF_AC',\n },\n });\n } else {\n setModalType('LOYALTY_WELCOME');\n }\n } else {\n setModalType(MV ? MV : 'LOGIN');\n }\n } else if (zoneMapping[Z ?? ''] === 'FP' || zoneMapping[Z ?? ''] === 'PP') {\n setModalType(MV ? MV : 'LOGIN');\n setLoyaltyCurrentStateMapping({\n ...currentStateMapping,\n showLoginModal: MV ? currentStateMapping?.showLoginModal : true,\n loginModal: {\n ...currentStateMapping.loginModal,\n default: true,\n },\n });\n }\n } else if (Z?.toUpperCase() === 'PUBLIC' || Z?.toUpperCase() === 'LOBBY') {\n if (!(LR && LR.toUpperCase() !== 'TCTC') || currentStateMapping?.noLoginInterfaceModal) {\n setShowInternetBarModal(true);\n setModalType('LOYALTY_WELCOME');\n } else {\n setShowInternetBarModal(true);\n if (LR?.toUpperCase() === 'AF_AO') {\n setModalType('ACCESS');\n } else {\n setModalType(MV ? MV : 'LOGIN');\n }\n }\n }\n }\n\n return {\n ACTION,\n APS,\n DD,\n DOMAIN,\n DURATION,\n ERR,\n LR,\n MS,\n MV,\n ppv5Enrollment: ppv5Enrollment === 'true' || false,\n SP,\n USAGE,\n Z,\n MARSHA,\n postEndpoint,\n U_URLEndpoint,\n zoneMapping,\n usageAttr,\n loyaltyEnrollmentSourceCode,\n };\n }, [updatedEnrollmentSourceCode]);\n\n useEffect(() => {\n if (pageProps) {\n const internetbarInitialValues = initializeInternetBarData();\n setInternetBarDataValues({\n ...internetbarInitialValues,\n });\n }\n }, [initializeInternetBarData, pageProps, preProcessorResponse]);\n\n useEffect(() => {\n if (serviceData?.connectBtnClick) {\n handleBtnClick('connect');\n }\n }, [handleBtnClick, serviceData?.connectBtnClick]);\n\n useEffect(() => {\n const checkPropertyLinks = (item: string): boolean => {\n return (\n item.length > 1 &&\n !item.includes('einterface/v5') &&\n !item.includes('tel:') &&\n // eslint-disable-next-line no-script-url\n !item.includes('javascript:void(0)')\n );\n };\n\n const anchorList = (document.getElementsByTagName('a') ?? []) as unknown as HTMLAnchorElement[];\n if (cna || sameTab) {\n for (const element of anchorList) {\n if (element?.hasAttribute('target')) {\n element?.removeAttribute('target');\n }\n }\n } else {\n const bottomFoldElements: NodeListOf<HTMLElement> = document.querySelectorAll(\n '.amenities-list, .key-amenities, .nearby-things-to-do'\n );\n bottomFoldElements?.forEach((ele: HTMLElement) => {\n const elements = (ele.getElementsByTagName('a') ?? []) as unknown as HTMLAnchorElement[];\n for (const element of elements) {\n const item = element.getAttribute('href') ?? '';\n // check if link is not ppv5 or telephone\n if (checkPropertyLinks(item)) {\n element.setAttribute('target', '_blank');\n }\n }\n });\n }\n }, [cna, sameTab]);\n\n useEffect(() => {\n const { dataLists } = pageProps;\n const { segmentId } = dataLists;\n\n const replaceEnrollmentSourceCode = (joinNowLink: string, updatedEnrollmentSourceCode: string) => {\n let updatedJoinNowLinkWithEnrollment = '';\n if (joinNowLink && joinNowLink?.includes('&enrollmentSourceCode=')) {\n const urlQueryParams = joinNowLink?.split('&');\n const updatedURLQueryParams = urlQueryParams?.map(urlQueryParam => {\n if (urlQueryParam?.includes('enrollmentSourceCode')) {\n const enrollment = urlQueryParam?.split('=');\n return `${enrollment[0]}=${updatedEnrollmentSourceCode}`;\n } else {\n return urlQueryParam;\n }\n });\n updatedJoinNowLinkWithEnrollment = updatedURLQueryParams.join('&');\n }\n\n if (updatedJoinNowLinkWithEnrollment && updatedJoinNowLinkWithEnrollment?.includes('&returnToUrl=')) {\n const urlQueryParams = updatedJoinNowLinkWithEnrollment?.split('&');\n const returnToURL = unknownFreeConnection ? `${asPath}&ppv5Enrollment=true` : `${asPath}`;\n const updatedURLQueryParams = urlQueryParams?.map(urlQueryParam => {\n if (urlQueryParam?.includes('returnToUrl')) {\n const returnTo = urlQueryParam?.split('=');\n return `${returnTo[0]}=${encodeURIComponent(returnToURL)}`;\n } else {\n return urlQueryParam;\n }\n });\n updatedJoinNowLinkWithEnrollment = updatedURLQueryParams.join('&');\n }\n return updatedJoinNowLinkWithEnrollment;\n };\n\n const anchorList = (document.getElementsByTagName('a') ?? []) as unknown as HTMLAnchorElement[];\n for (const element of anchorList) {\n let description = element?.getAttribute('href') ?? '';\n if (description && description?.toString()?.includes('/loyalty/createAccount/createAccountPage1.mi')) {\n if (dataLists && dataLists?.sourceSystem && !description?.toString()?.includes('sourceSystem=')) {\n description = description?.toString()?.includes('/loyalty/createAccount/createAccountPage1.mi?')\n ? `${description?.toString()}&sourceSystem=${dataLists?.sourceSystem}`\n : `${description?.toString()}?sourceSystem=${dataLists?.sourceSystem}`;\n }\n\n if (unknownFreeConnection) {\n let joinNowLink = pageProps?.joinButtonLink;\n if (dataLists && dataLists?.sourceSystem) {\n joinNowLink = joinNowLink?.toString()?.includes('/loyalty/createAccount/createAccountPage1.mi?')\n ? `${joinNowLink?.toString()}&sourceSystem=${dataLists?.sourceSystem}`\n : `${joinNowLink?.toString()}?sourceSystem=${dataLists?.sourceSystem}`;\n }\n\n const returnToURL = `${asPath}&ppv5Enrollment=true`;\n if (joinNowLink && joinNowLink?.toString()?.includes('/loyalty/createAccount/createAccountPage1.mi')) {\n joinNowLink =\n joinNowLink && joinNowLink?.toString()?.includes('/loyalty/createAccount/createAccountPage1.mi?')\n ? joinNowLink &&\n (joinNowLink?.toString()?.includes('&enrollmentSourceCode=') ||\n joinNowLink?.toString()?.includes('&returnToUrl='))\n ? replaceEnrollmentSourceCode(joinNowLink, updatedEnrollmentSourceCode as unknown as string)\n : `${joinNowLink}&enrollmentSourceCode=${updatedEnrollmentSourceCode}&returnToUrl=${encodeURIComponent(\n returnToURL\n )}`\n : joinNowLink &&\n (joinNowLink?.toString()?.includes('&enrollmentSourceCode=') ||\n joinNowLink?.toString()?.includes('&returnToUrl='))\n ? replaceEnrollmentSourceCode(joinNowLink, updatedEnrollmentSourceCode as unknown as string)\n : `${joinNowLink}?enrollmentSourceCode=${updatedEnrollmentSourceCode}&returnToUrl=${encodeURIComponent(\n returnToURL\n )}`;\n }\n setLoyaltyJoinNow(joinNowLink);\n } else {\n let defaultjoinNowLink = pageProps?.[\n currentStateMapping?.joinNowButton?.joinButtonLink as keyof AEMInternetBarProps\n ] as string;\n if (dataLists && dataLists?.sourceSystem && !defaultjoinNowLink?.includes('sourceSystem=')) {\n defaultjoinNowLink = defaultjoinNowLink\n ?.toString()\n ?.includes('/loyalty/createAccount/createAccountPage1.mi?')\n ? `${defaultjoinNowLink?.toString()}&sourceSystem=${dataLists?.sourceSystem}`\n : `${defaultjoinNowLink?.toString()}?sourceSystem=${dataLists?.sourceSystem}`;\n }\n defaultjoinNowLink =\n defaultjoinNowLink &&\n defaultjoinNowLink?.toString()?.includes('/loyalty/createAccount/createAccountPage1.mi?')\n ? defaultjoinNowLink &&\n (defaultjoinNowLink?.toString()?.includes('&enrollmentSourceCode=') ||\n defaultjoinNowLink?.toString()?.includes('&returnToUrl='))\n ? replaceEnrollmentSourceCode(defaultjoinNowLink, updatedEnrollmentSourceCode as unknown as string)\n : `${defaultjoinNowLink}&segmentId=${segmentId}&enrollmentSourceCode=${updatedEnrollmentSourceCode}&returnToUrl=${encodeURIComponent(\n asPath\n )}`\n : defaultjoinNowLink &&\n (defaultjoinNowLink?.toString()?.includes('&enrollmentSourceCode=') ||\n defaultjoinNowLink?.toString()?.includes('&returnToUrl='))\n ? replaceEnrollmentSourceCode(defaultjoinNowLink, updatedEnrollmentSourceCode as unknown as string)\n : `${defaultjoinNowLink}?segmentId=${segmentId}&enrollmentSourceCode=${updatedEnrollmentSourceCode}&returnToUrl=${encodeURIComponent(\n asPath\n )}`;\n setDefaultJoinNow(defaultjoinNowLink);\n\n element?.setAttribute(\n 'href',\n `${\n description && description?.toString()?.includes('/loyalty/createAccount/createAccountPage1.mi?')\n ? description &&\n (description?.toString()?.includes('&enrollmentSourceCode=') ||\n description?.toString()?.includes('&returnToUrl='))\n ? replaceEnrollmentSourceCode(description, updatedEnrollmentSourceCode as unknown as string)\n : `${description}&segmentId=${segmentId}&enrollmentSourceCode=${updatedEnrollmentSourceCode}&returnToUrl=${encodeURIComponent(\n asPath\n )}`\n : description &&\n (description?.toString()?.includes('&enrollmentSourceCode=') ||\n description?.toString()?.includes('&returnToUrl='))\n ? replaceEnrollmentSourceCode(description, updatedEnrollmentSourceCode as unknown as string)\n : `${description}?segmentId=${segmentId}&enrollmentSourceCode=${updatedEnrollmentSourceCode}&returnToUrl=${encodeURIComponent(\n asPath\n )}`\n }`\n );\n setDefaultJoinNow(defaultjoinNowLink);\n }\n } else if (description && description?.toString()?.includes('/sign-in.mi')) {\n if (description.toString()?.includes('_PPV5URL_')) {\n element?.setAttribute(\n 'href',\n `${description.toString()?.replace(/_PPV5URL_/g, encodeURIComponent(encodeURIComponent(asPath)))}`\n );\n }\n }\n }\n }, [\n asPath,\n currentStateMapping?.joinNowButton?.joinButtonLink,\n pageProps,\n unknownFreeConnection,\n updatedEnrollmentSourceCode,\n ]);\n\n useEffect(() => {\n document.querySelector('.m-global-nav-top-center')?.querySelector('a')?.querySelector('.lazy-image')?.remove();\n const globalNav = document.querySelector('.m-global-nav-top-center')?.querySelector('a');\n globalNav?.setAttribute('aria-label', 'Marriott Bonvoy');\n const globalNavLogo = document.createElement('DIV');\n document.querySelector('.m-global-nav-main-menu')?.querySelector('a')?.querySelector('.lazy-image')?.remove();\n const globalNavMenu = document.querySelector('.m-global-nav-main-menu')?.querySelector('a');\n globalNavMenu?.setAttribute('aria-label', 'Marriott Bonvoy');\n const globalNavMenuLogo = document.createElement('DIV');\n if (document.documentElement.lang.toUpperCase().indexOf('CN') > -1) {\n globalNavLogo.setAttribute('class', 't-program-logo-cn-s');\n globalNavMenuLogo.setAttribute('class', 't-program-logo-cn-s');\n } else {\n globalNavLogo.setAttribute('class', 't-program-logo-xs');\n globalNavMenuLogo.setAttribute('class', 't-program-logo-xs');\n }\n globalNav?.appendChild(globalNavLogo);\n globalNavMenu?.appendChild(globalNavMenuLogo);\n }, []);\n\n useEffect(() => {\n // @TODO - remove the globalNavLanguageClosebtn logic once it is fixed from AEM\n const globalNavLanguageClosebtn = document\n .querySelector('.m-global-nav-language-container .m-global-nav-language-content')\n ?.querySelector('.m-global-nav-language-close .icon-clear.icon-inverse + .sr-only');\n if (globalNavLanguageClosebtn) {\n (globalNavLanguageClosebtn as HTMLElement).textContent =\n pageProps?.requestAccessCodeModel?.racClosingLabel ?? 'Close';\n }\n }, [pageProps?.requestAccessCodeModel?.racClosingLabel]);\n\n const getConnectUpgradeBtn = () => {\n const { ACTION, Z, zoneMapping, U_URLEndpoint } = internetBarDataValues;\n const property = zoneMapping?.['GUEST'];\n if (\n !currentStateMapping?.isConnectState &&\n (!currentStateMapping?.showUpgradeModal || state === statesConstant?.connected) &&\n !(ACTION === 'CONNECTED' && Z === 'GUEST' && U_URLEndpoint !== '' && (property === 'FP' || property === 'PP'))\n ) {\n return (\n <Button\n className={clsx('m-button-primary', `${stateCSS?.internetBarConnectButton}`)}\n isLink={true}\n href={pageProps?.upgradeButtonLink}\n trackingProperties={pageProps?.trackingProperties}\n target={sameTab || cna ? '_self' : '_blank'}\n custom_click_track_value={`Internet Bar|${\n currentStateMapping?.isConnectState ? 'Connect' : 'Upgrade'\n }|internal`}\n data-custom_click_track_value={`Internet Bar|${\n currentStateMapping?.isConnectState ? 'Connect' : 'Upgrade'\n }|internal`}\n data-is-click-track={true}\n ariaLabel={\n ((currentStateMapping?.connectUpgradeBtn &&\n pageProps?.[currentStateMapping?.connectUpgradeBtn as keyof AEMInternetBarProps]) ||\n pageProps?.connectButtonLabel) as string\n }\n >\n <span data-testid=\"internet-bar-upgrade-link\">\n {(currentStateMapping?.connectUpgradeBtn &&\n pageProps?.[currentStateMapping?.connectUpgradeBtn as keyof AEMInternetBarProps]) ||\n pageProps?.connectButtonLabel}\n </span>\n </Button>\n );\n } else {\n return (\n <Button\n className={clsx(\n 'm-button-primary',\n `${stateCSS?.internetBarConnectButton}`,\n `${isDefaultConnectNowBtnLoading && currentStateMapping?.isConnectState ? 'disabled' : ''}`\n )}\n isDisabled={isDefaultConnectNowBtnLoading && currentStateMapping?.isConnectState}\n callback={() => {\n currentStateMapping?.isConnectState ? handleBtnClick('connect') : handleBtnClick('upgrade');\n }}\n trackingProperties={pageProps?.trackingProperties}\n custom_click_track_value={`Internet Bar|${\n currentStateMapping?.isConnectState ? 'Connect' : 'Upgrade'\n }|internal`}\n data-custom_click_track_value={`Internet Bar|${\n currentStateMapping?.isConnectState ? 'Connect' : 'Upgrade'\n }|internal`}\n data-is-click-track={true}\n ariaLabel={\n ((currentStateMapping?.connectUpgradeBtn &&\n pageProps?.[currentStateMapping?.connectUpgradeBtn as keyof AEMInternetBarProps]) ||\n pageProps?.connectButtonLabel) as string\n }\n >\n {isDefaultConnectNowBtnLoading ? (\n <div className=\"m-spinner-s\" data-testid=\"activate-spinner\"></div>\n ) : (\n <span data-testid=\"internet-bar-connect-upgrade-btn\">\n {(currentStateMapping?.connectUpgradeBtn &&\n pageProps?.[currentStateMapping?.connectUpgradeBtn as keyof AEMInternetBarProps]) ||\n pageProps?.connectButtonLabel}\n </span>\n )}\n </Button>\n );\n }\n };\n\n useEffect(() => {\n if (urlQueryParams && urlQueryParams?.['v5Redirect'] === 'true') {\n setV5Redirect(true);\n }\n }, [urlQueryParams]);\n\n useEffect(() => {\n if (\n preProcessorResponse?.userState?.toLowerCase() === 'basic' ||\n preProcessorResponse?.userState?.toLowerCase() === 'elite'\n ) {\n setIsMBVState(true);\n }\n }, [preProcessorResponse]);\n\n const defaultLayout = (\n <>\n <div\n className={clsx(\n `col-12 pr-0 pl-0 t-font-s internet-bar-content__description-container internet-bar-content-${state}__description-container`,\n `${stateCSS?.internetBarContentDescriptionContainer}`\n )}\n >\n {/* 3. Welcome Text */}\n {currentStateMapping?.welcomeText && (\n <p\n className={clsx(\n 'internet-bar-content__description-container__description',\n `${stateCSS?.internetBarWelcomeText}`\n )}\n data-testid=\"internet-bar-welcome-text\"\n dangerouslySetInnerHTML={{\n __html: welcomeText,\n }}\n ></p>\n )}\n {/* 4. Description */}\n {currentStateMapping?.description && (\n <p\n className={clsx(\n 'internet-bar-content__description-container__description',\n `${stateCSS?.internetBarDescription}`\n )}\n data-testid=\"internet-bar-description\"\n dangerouslySetInnerHTML={{\n __html: descriptionText,\n }}\n ></p>\n )}\n </div>\n {showButtonContainer && (\n <div\n className={clsx(\n `col-12 internet-bar-content__button-container internet-bar-content-${state}__button-container`,\n `${stateCSS?.internetBarButtonContainer}`\n )}\n >\n <div\n className={clsx(\n `d-flex flex-column justify-content-center px-2 px-xl-0 internet-bar-content-${state}__button-content internet-bar-content__button-container-item`,\n `${stateCSS?.internetBarButtonContentContainer}`\n )}\n >\n {/* 5. Sign In - Primary Button */}\n {((v5Redirect && !isMBVUser) || !v5Redirect) &&\n currentStateMapping?.signInButton?.signInButtonLabel &&\n currentStateMapping?.signInButton?.signInButtonLink && (\n <Button\n className={`internet-bar-content-${state}__button m-button ${\n stateCSS.internetBarSigninButton ? stateCSS.internetBarSigninButton : 'm-button-secondary'\n }`}\n custom_click_track_value=\"Internet Bar|Sign In|internal\"\n data-custom_click_track_value=\"Internet Bar|Sign In|internal\"\n data-is-click-track={true}\n isLink={true}\n target=\"_blank\"\n trackingProperties={pageProps?.trackingProperties}\n href={(\n pageProps?.[\n currentStateMapping?.signInButton?.signInButtonLink as keyof AEMInternetBarProps\n ] as string\n )?.toString()}\n ariaLabel={\n (pageProps?.[currentStateMapping?.signInText as keyof AEMInternetBarProps] ||\n pageProps?.signInButtonLabel) as string\n }\n >\n <span data-testid=\"internet-bar-sign-in\">\n {pageProps?.[currentStateMapping?.signInText as keyof AEMInternetBarProps] ||\n pageProps?.signInButtonLabel}\n </span>\n </Button>\n )}\n\n {/* 6. Join Now - Primary / Secondary Button */}\n {currentStateMapping?.joinNowButton?.joinButtonLabel &&\n currentStateMapping?.joinNowButton?.joinButtonLink && (\n <Button\n className={`m-button d-flex align-items-center justify-content-center mb-4 ${\n stateCSS.internetBarJoinNowButton ? stateCSS.internetBarJoinNowButton : 'm-button-primary'\n } ${isJoinNowBtnLoading ? 'disable-join-now' : 'enable-join-now'}`}\n isLink={!isJoinNowBtnLoading}\n custom_click_track_value={`Internet Bar|Join Now|internal`}\n data-custom_click_track_value={`Internet Bar|Join Now|internal`}\n data-is-click-track={true}\n href={\n defaultJoinNow !== ''\n ? defaultJoinNow\n : (pageProps?.[\n currentStateMapping?.joinNowButton?.joinButtonLink as keyof AEMInternetBarProps\n ] as string)\n }\n target={\n pageProps?.[\n currentStateMapping?.joinNowButton?.joinButtonLinkInNewTab as keyof AEMInternetBarProps\n ] as string\n }\n ariaLabel={\n (pageProps?.[currentStateMapping?.joinNowButton?.joinButtonLabel as keyof AEMInternetBarProps] ||\n pageProps?.joinButtonLabel) as string\n }\n >\n <span data-testid=\"internet-bar-join-now\">\n {pageProps?.[currentStateMapping?.joinNowButton?.joinButtonLabel as keyof AEMInternetBarProps] ||\n pageProps?.joinButtonLabel}\n </span>\n </Button>\n )}\n\n {/* 7. Connect / Upgrade - Primary Button */}\n {currentStateMapping?.connectUpgradeBtn && getConnectUpgradeBtn()}\n </div>\n </div>\n )}\n <div\n className={clsx(\n `col-12 internet-bar-content__footer-container internet-bar-content-${state}__footer-container`,\n `${stateCSS?.internetBarFooterContainer}`\n )}\n >\n {/* 8. Terms and Condition Text */}\n {currentStateMapping?.termsAndConditions && (\n <p\n className={clsx(\n `mb-0 t-font-xs internet-bar-content__footer-container__tnc-text`,\n `${stateCSS?.internetBarTermsAndConditions}`\n )}\n data-testid=\"internet-bar-terms-condition\"\n dangerouslySetInnerHTML={{\n __html: termsAndConditionsText,\n }}\n ></p>\n )}\n {/* 9. Sign In text */}\n {currentStateMapping?.signInText && (\n <p\n className=\"t-font-xs pb-4 mb-1 mb-xl-0 internet-bar-content__footer-container__signin-text\"\n dangerouslySetInnerHTML={{\n __html: signInText,\n }}\n data-testid=\"internet-bar-sign-in-text\"\n ></p>\n )}\n </div>\n </>\n );\n\n const loyaltyLayout = (\n <div className={clsx('loyalty-container', `${stateCSS?.internetBarLoyaltyContainer}`)}>\n <div\n className={clsx(\n 'd-flex mb-5',\n `${loyaltyFlip ? 'flex-column-reverse flex-md-row-reverse' : 'flex-column flex-md-row'}`\n )}\n >\n <div className=\"loyalty-container-card1 col-12 col-md-6 p-0 d-flex flex-column justify-content-between align-items-center\">\n <div className={clsx('d-flex flex-column', `${loyaltyFlip ? 'pt-5 pt-md-0' : ''}`)}>\n <p\n className={clsx(\n 't-font-s mb-0 loyalty-description t-font-weight-m pb-2',\n `${stateCSS?.internetBarLoyaltyDescription}`\n )}\n >\n {pageProps?.loyaltyJoinnowScenarioText}\n </p>\n <p className={clsx('t-font-s', `${stateCSS?.internetBarLoyaltySubDescription}`)}>\n {pageProps?.loyaltyJoinnowScenarioDescription}\n </p>\n </div>\n <Button\n className={clsx(\n 'm-button-primary pt-2 loyalty-buttons',\n `${stateCSS?.internetBarLoyaltyButtons} ${\n isJoinNowBtnLoading ? 'disable-join-now' : 'enable-join-now'\n } d-flex justify-content-center`\n )}\n isLink={!isJoinNowBtnLoading}\n href={loyaltyJoinNow}\n trackingProperties={pageProps?.trackingProperties}\n target={pageProps?.joinButtonLinkInNewTab}\n custom_click_track_value={`Internet Bar|${pageProps?.joinButtonLabel}|external`}\n data-custom_click_track_value={`Internet Bar|${pageProps?.joinButtonLabel}|external`}\n data-is-click-track={true}\n ariaLabel={pageProps?.joinButtonLabel}\n >\n <span>{pageProps?.joinButtonLabel}</span>\n </Button>\n </div>\n <div className=\"loyalty-container-card2 col-12 col-md-6 d-flex flex-column justify-content-between align-items-center\">\n <div\n className={`${\n loyaltyFlip ? '' : 'd-flex flex-column justify-content-between align-items-center flex-1 pt-5 pt-md-0'\n }`}\n >\n <p\n className={clsx(\n 't-font-s mb-0 loyalty-description t-font-weight-m pb-2',\n `${stateCSS?.internetBarLoyaltyDescription}`\n )}\n >\n {pageProps?.loyaltyConnectScenarioText}\n </p>\n <p className={clsx('t-font-s', `${stateCSS?.internetBarLoyaltySubDescription}`)}>\n {pageProps?.loyaltyConnectScenarioDescription}\n </p>\n <Button\n className={clsx(\n 'm-button-primary loyalty-buttons',\n `${stateCSS?.internetBarLoyaltyButtons}`,\n `${isLoyaltyConnectNowBtnLoading ? 'disabled' : ''}`\n )}\n isDisabled={isLoyaltyConnectNowBtnLoading}\n trackingProperties={pageProps?.trackingProperties}\n data-custom_click_track_value={`Internet Bar|${pageProps?.loyaltyConnectNowButton}|internal`}\n custom_click_track_value={`Internet Bar|${pageProps?.loyaltyConnectNowButton}|internal`}\n data-is-click-track={true}\n ariaLabel={pageProps?.loyaltyConnectNowButton}\n callback={() => {\n handleBtnClick('connectnow');\n }}\n >\n {isLoyaltyConnectNowBtnLoading ? (\n <div className=\"m-spinner-s\" data-testid=\"activate-spinner\"></div>\n ) : (\n <span>{pageProps?.loyaltyConnectNowButton}</span>\n )}\n </Button>\n </div>\n </div>\n </div>\n\n {currentStateMapping?.termsAndConditions && (\n <p\n className={clsx(\n `mb-0 t-font-xs internet-bar-content__footer-container__tnc-text`,\n `${stateCSS?.internetBarTermsAndConditions}`\n )}\n data-testid=\"internet-bar-terms-condition\"\n dangerouslySetInnerHTML={{\n __html: termsAndConditionsText,\n }}\n ></p>\n )}\n </div>\n );\n\n const renderInternetBarComponent = () => {\n return (\n <InternetBarModal\n showInternetBarModal={showInternetBarModal}\n internetBarDataValues={{ ...internetBarDataValues }}\n modalType={modalType}\n accessModal={pageProps?.accessCodeModel}\n login={pageProps?.loginModel}\n currentStateMapping={\n urlQueryParams['ppv5Enrollment']?.toString()?.toLowerCase() === 'true' &&\n getEnrolledUserFlag(internetBarDataValues?.['loyaltyEnrollmentSourceCode'])\n ? { ...loyaltyCurrentStateMapping }\n : { ...currentStateMapping }\n }\n handleCloseBtnClick={handleCloseBtnClick}\n wifiUpgradeGENError={pageProps?.wifiUpgradeErrorFieldsBean}\n wifiUpgradeLR={pageProps?.wifiUpgradeLrFieldsBean}\n wifiUpgradeMAX={pageProps?.wifiUpgradeMaxFieldsBean}\n wifiUpgradeNoCC={pageProps?.wifiUpgradeCreditFieldsBean}\n wifiUpgradePMS={pageProps?.wifiUpgradePmsFieldsBean}\n wifiUpgradeSuccessMAX={pageProps?.wifiUpgradeSuccessMaxFieldsBean}\n wifiUpgradeSuccessNA={pageProps?.wifiUpgradeSuccessNaFieldsBean}\n requestAccessCodeModal={pageProps?.requestAccessCodeModel}\n showSettlementCurrencyErrorModal={showSettlementCurrencyErrorModal}\n internetPricingModel={{\n ...pageProps?.internetPricingModel,\n internetPricingInfo:\n modalType === 'C_PRICE' || modalType === 'U_PRICE'\n ? { ...(settlementCurrencyData as PricingInfoProps) }\n : {\n tierOneFee: '0',\n tierTwoFee: '0',\n },\n }}\n currencyUxlFailureErrorFieldsBean={pageProps?.currencyUxlFailureErrorFieldsBean}\n invalidCurrencyErrorFieldsBean={pageProps?.invalidCurrencyErrorFieldsBean}\n />\n );\n };\n\n return (\n <StyledInternetBar data-testid=\"internet-box\" data-component-name=\"o-ppv5-internet-box\" className=\"relative\">\n {currentStateHasModalOption &&\n !isNoLoginInterfaceModal &&\n modalType &&\n (modalType === 'C_PRICE' || modalType === 'U_PRICE' ? (\n settlementCurrencyData && (\n <div data-testid={`internet-bar-modal-${state}`}>{renderInternetBarComponent()}</div>\n )\n ) : (\n <div data-testid={`internet-bar-modal-${state}`}>{renderInternetBarComponent()}</div>\n ))}\n {currentStateMapping && pageProps && (\n <div className=\"internet-bar-container color-scheme1 mx-5 mx-md-auto\">\n <div\n className={clsx(\n `container internet-bar-content ${\n unknownFreeConnection && !LOYALTY_DISABLED_ZONES?.includes(urlQueryParams['Z']?.toUpperCase())\n ? `internet-bar-content-${state}-loyalty`\n : `internet-bar-content-${state}`\n }`,\n `${stateCSS?.internetBarContent}`\n )}\n >\n <div\n className={clsx(\n 'col-12 d-flex flex-column justify-content-center px-0 text-center align-items-center',\n `${stateCSS?.internetBarContentContainer}`\n )}\n >\n {/* 1. Internet Bar Icon Configuration */}\n {showIcon && (\n <span\n className={clsx(\n `t-accent-color d-inline-block ${internetBarIcons?.[state]?.iconName} internet-bar-content__icon internet-bar-content-${state}__icon`,\n `${stateCSS?.internetBarIcon}`\n )}\n data-testid=\"internet-bar-icon\"\n ></span>\n )}\n {/* 2. Title */}\n {isWelcomeTitle ? (\n <>\n <h3\n className={`mt-4 mb-3 pt-xl-4 internet-bar-content__title internet-bar-content-${state}__title`}\n data-testid=\"internet-bar-welcome-title\"\n >\n {v5Redirect\n ? pageProps?.tier1Title\n : pageProps?.[currentStateMapping?.title as keyof AEMInternetBarProps] || ''}\n </h3>\n {/* Separator */}\n <div\n className={`t-accent-color mb-3 mb-xl-4 internet-bar-content__separator internet-bar-content-${state}__separator`}\n ></div>\n </>\n ) : (\n <h3\n className={clsx('col-12 internet-bar-content__title', `${stateCSS?.internetBarNotWelcomeTitle}`)}\n data-testid=\"internet-bar-welcome-title\"\n >\n {pageProps?.[currentStateMapping?.title as keyof AEMInternetBarProps] ?? ''}\n </h3>\n )}\n\n {!(unknownFreeConnection && !LOYALTY_DISABLED_ZONES?.includes(urlQueryParams['Z']?.toUpperCase()))\n ? defaultLayout\n : loyaltyLayout}\n </div>\n </div>\n </div>\n )}\n </StyledInternetBar>\n );\n};\n\nexport const InternetBarConfig = {\n emptyLabel: 'InternetBarComponent',\n isEmpty: (_props: MappedComponentProperties) => false,\n resourceType: `${NEXT_PUBLIC_AEM_SITE}/components/content/hero-banner`,\n} as Config<MappedComponentProperties>;\n\nexport const InternetBarEditable = (props: InternetBarProps) => (\n <EditableComponent config={InternetBarConfig} {...props}>\n <InternetBar {...props} />\n </EditableComponent>\n);\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { FC, useContext, useEffect } from 'react';\nimport { useQuery } from '@apollo/client';\nimport { heroBannerQuery } from '../../../modules/graphql/index';\nimport { cacheURL } from '../../../modules/utils/constants/constants';\nimport { HeroBannerImageProps, heroBannerImageType, RenditionsProps } from '../HeroBanner.types';\nimport { imageQueryParam } from '../../LocalServices/LocalServices.types';\nimport { PageParamsContext } from '../../../modules/context/PageContext';\n\nexport const HeroBannerImage: FC<HeroBannerImageProps> = ({\n isAuthorMode,\n onHeroBannerImageDataFetched,\n heroBannerPageProps,\n heroBannerImage = null,\n}) => {\n const { preProcessorResponse, sessionID, requestId, lang } = useContext(PageParamsContext);\n const isServer = !(typeof window != 'undefined' && window?.document);\n\n const { data, loading, error } = useQuery(heroBannerQuery, {\n fetchPolicy: isServer ? 'network-only' : 'cache-first',\n variables: {\n propertyId: preProcessorResponse?.marsha ?? '',\n },\n context: {\n headers: {\n 'accept-language': lang ?? 'en-US',\n 'x-b3-traceId': sessionID ?? 'fallback-token',\n 'x-b3-spanId': requestId !== '' ? requestId : `${Date.now()}`,\n 'correlation-id': sessionID ?? 'fallback-token',\n },\n },\n skip: isAuthorMode || !!heroBannerImage,\n });\n\n useEffect(() => {\n let heroImage = null;\n if (!loading) {\n if (data && !error) {\n const imagedata = data?.property?.media?.internetPortalPrimaryImage;\n if (imagedata && imagedata.length > 0 && imagedata?.[0]?.imageUrls?.classicHorizontal) {\n const dacImageQueryParamsHeroBanner: Array<imageQueryParam> =\n heroBannerPageProps?.imageQueryParamsHeroBanner ?? [];\n const wideHorizontal = imagedata?.[0]?.imageUrls?.wideHorizontal;\n const classicHorizontal = imagedata?.[0]?.imageUrls?.classicHorizontal;\n const square = imagedata?.[0]?.imageUrls?.square;\n\n heroImage = {\n altText: imagedata?.[0]?.alternateDescription,\n assetPath: imagedata?.[0]?.imageSrc,\n dynamic: false,\n renditions: dacImageQueryParamsHeroBanner.map(imageQueryParams => {\n const viewportQuery = imageQueryParams?.viewPortName?.split(':')[0];\n const viewportValue = imageQueryParams?.viewPortName?.split(':')[1];\n const mediaVal = Number(viewportValue.slice(0, imageQueryParams?.viewPortName?.split(':')[1].length - 2));\n const imagePath =\n mediaVal >= 992\n ? wideHorizontal\n : mediaVal === 576 && viewportQuery === 'min-width'\n ? classicHorizontal\n : mediaVal === 576 && viewportQuery === 'max-width'\n ? square\n : '';\n return {\n mediaQuery: viewportQuery,\n mediaValue: viewportValue,\n dynamic: false,\n renditionPath: `${cacheURL}${imagePath}?${imageQueryParams?.nonRetinaDisplayParams}, ${cacheURL}${imagePath}?${imageQueryParams?.retinaDisplayParams}`,\n };\n }),\n };\n }\n }\n\n if (!heroImage || error) {\n if (\n heroBannerPageProps?.authoredImage &&\n heroBannerPageProps?.authoredImage?.renditions &&\n heroBannerPageProps?.authoredImage?.renditions?.length > 0\n ) {\n heroImage = { ...heroBannerPageProps?.authoredImage };\n } else if (\n heroBannerPageProps?.fallbackBrandImage &&\n heroBannerPageProps?.fallbackBrandImage?.renditions &&\n heroBannerPageProps?.fallbackBrandImage?.renditions?.length > 0\n ) {\n heroImage = { ...heroBannerPageProps?.fallbackBrandImage };\n } else if (\n heroBannerPageProps?.dynamicImageFileReference &&\n heroBannerPageProps?.dynamicImageFileReference?.renditions &&\n heroBannerPageProps?.dynamicImageFileReference?.renditions?.length > 0\n ) {\n heroImage = { ...heroBannerPageProps?.dynamicImageFileReference };\n }\n }\n\n if (heroImage && heroImage?.assetPath && heroImage?.assetPath?.includes('/is/')) {\n const imageQueryParamsHeroBanner: Array<imageQueryParam> =\n heroBannerPageProps?.imageQueryParamsHeroBanner ?? [];\n const imageData: heroBannerImageType = { ...heroImage };\n const renditions = imageData?.renditions;\n const newRenditions: Array<RenditionsProps> | null = [];\n imageQueryParamsHeroBanner?.forEach(imageQueryParamHeroBanner => {\n let queryValue = imageQueryParamHeroBanner?.viewPortName?.split(': ')[1] ?? '';\n if (imageQueryParamHeroBanner?.viewPortName?.split(':')[0] === 'min-width' && queryValue === '576px') {\n queryValue = '577px';\n }\n let matchMedia = renditions?.find(rend => rend?.mediaValue === queryValue);\n\n if (matchMedia) {\n matchMedia = {\n ...matchMedia,\n renditionPath: `${matchMedia?.renditionPath}?${imageQueryParamHeroBanner?.nonRetinaDisplayParams}, ${matchMedia?.renditionPath}?${imageQueryParamHeroBanner?.retinaDisplayParams}`,\n };\n newRenditions.push(matchMedia);\n }\n });\n heroImage = { ...imageData, renditions: newRenditions };\n }\n onHeroBannerImageDataFetched(heroImage);\n }\n }, [heroBannerPageProps, loading, onHeroBannerImageDataFetched, data, error]);\n\n return null;\n};\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport React, { FC, useLayoutEffect, useRef, useState } from 'react';\nimport {\n Config,\n EditableComponent,\n MappedComponentProperties,\n ResponsiveGrid,\n} from '@adobe/aem-react-editable-components';\nimport { HeroBannerProps, heroBannerImageType } from './HeroBanner.types';\nimport { StyledHeroBanner } from './HeroBanner.styles';\nimport { Image } from '@marriott/mi-ui-library';\nimport { constants, internetBarHeight } from '../../modules/utils/constants/constants';\nimport { InternetBar } from '../InternetBar';\nimport { HeroBannerImage } from './components/HeroBannerImage';\n\nconst { NEXT_PUBLIC_AEM_SITE } = process.env;\n\nexport const HeroBanner: FC<HeroBannerProps> = pageProps => {\n const [heroBannerImage, setHeroBannerImage] = useState<heroBannerImageType | null>(null);\n const internetBarContainerRef = useRef(null);\n const heroBannerContainerRef = useRef(null);\n\n //Method for returning Responsive Grid for showing parsys in Author mode\n const InternetBarContainer = () => {\n return (\n <div data-testid=\"brand-container-component\">\n <ResponsiveGrid\n gridClassNames={`col-12`}\n columnClassNames={{\n responsivegrid: `col-12`,\n }}\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n pagePath={pageProps?.pagePath}\n itemPath={`${pageProps?.itemPath}/container-0`}\n config={{\n isEmpty: () => true,\n resourceType: 'mi-aem-common-spa/components/container',\n }}\n />\n </div>\n );\n };\n\n //Method for returning components to be rendering at end point URL\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const InternetBarContainerWrapper = (cardName: string, jsonData: any) => {\n const returnable = [];\n // eslint-disable-next-line no-prototype-builtins\n if (jsonData?.hasOwnProperty(cardName)) {\n const card = jsonData[cardName];\n const cardItems = card[':items'];\n for (const itemKey in cardItems) {\n // eslint-disable-next-line no-prototype-builtins\n if (cardItems?.hasOwnProperty(itemKey)) {\n const item = cardItems[itemKey];\n returnable.push(<InternetBar {...item} key={itemKey} />);\n }\n }\n return <div data-testid=\"brand-container-component-wrapper\">{returnable}</div>;\n }\n return null;\n };\n\n const showInternetBarContainer = pageProps.isAuthorMode ? (\n <div>{Array.from({ length: 1 }, _ => InternetBarContainer())}</div>\n ) : (\n <div>\n {pageProps?.cqItemsOrder && InternetBarContainerWrapper(pageProps?.cqItemsOrder?.[0], pageProps?.cqItems)}\n </div>\n );\n\n const onHeroBannerImageDataFetched = (imageData: any) => {\n if (imageData) {\n setHeroBannerImage({ ...imageData });\n }\n };\n\n useLayoutEffect(() => {\n if (heroBannerImage) {\n const internetBarContainerHeight =\n (internetBarContainerRef?.current as unknown as HTMLElement)?.querySelector('.internet-bar-container')\n ?.clientHeight ?? 0;\n const heroBannerContainerHeight = (heroBannerContainerRef?.current as unknown as HTMLElement)?.clientHeight ?? 0;\n const heroBannerImageStyle = (heroBannerContainerRef?.current as unknown as HTMLElement)?.querySelector(\n 'picture img'\n );\n if (heroBannerContainerHeight < internetBarContainerHeight + internetBarHeight / 2) {\n (heroBannerContainerRef?.current as unknown as HTMLElement).style.height = `${\n internetBarContainerHeight + internetBarHeight\n }px`;\n\n if (heroBannerImageStyle) {\n (heroBannerImageStyle as HTMLElement).style.height = `${internetBarContainerHeight + internetBarHeight}px`;\n }\n }\n }\n }, [heroBannerImage]);\n\n return (\n <StyledHeroBanner data-testid=\"hero-banner\" data-component-name=\"o-ppv5-hero-banner\">\n <div className=\"hero-component\">\n <div className=\"hero-component-container\" ref={heroBannerContainerRef}>\n {!heroBannerImage && (\n <HeroBannerImage\n onHeroBannerImageDataFetched={onHeroBannerImageDataFetched}\n isAuthorMode={pageProps?.isAuthorMode}\n heroBannerPageProps={pageProps}\n heroBannerImage={heroBannerImage}\n />\n )}\n {heroBannerImage && (\n <Image\n defaultImageURL={constants.BASE_IMG_URL}\n altText={heroBannerImage.altText}\n dynamic={true}\n renditions={heroBannerImage?.renditions ?? []}\n loading=\"eager\"\n customClass=\"hero-component-img col-12 p-0 loaded\"\n ></Image>\n )}\n <div className=\"hero-component__internetbar\" ref={internetBarContainerRef}>\n {showInternetBarContainer}\n </div>\n </div>\n </div>\n </StyledHeroBanner>\n );\n};\n\nexport const HeroBannerConfig = {\n emptyLabel: 'HeroBanner',\n isEmpty: (_props: MappedComponentProperties) => false,\n resourceType: `${NEXT_PUBLIC_AEM_SITE}/components/content/hero-banner`,\n} as Config<MappedComponentProperties>;\n\nexport const HeroBannerEditable = (props: HeroBannerProps) => (\n <EditableComponent config={HeroBannerConfig} {...props}>\n <HeroBanner {...props} />\n </EditableComponent>\n);\n","// Styles for ConnectContainer go here.\nimport styled from 'styled-components';\nimport rtl from 'styled-components-rtl';\nimport { toRem } from '@marriott/mi-ui-library';\n\nexport const StyledConnectContainer = styled.div`\n ${rtl`\n .nearby-outlet__filters {\n margin-bottom: ${toRem(48)} !important;\n }\n `}\n`;\n","// Imports for external libraries go here.\nimport { FC, useEffect, useRef } from 'react';\nimport { Config, EditableComponent, MappedComponentProperties } from '@adobe/aem-react-editable-components';\n\n// Imports for internal (to the monorepo) libraries go here,\n// separated by a blank line from external imports.\n// The closer the import is to the file the lower it should be in this list.\nimport { ConnectContainerProps } from './ConnectContainer.types';\nimport { StyledConnectContainer } from './ConnectContainer.styles';\n\nconst { NEXT_PUBLIC_AEM_SITE } = process.env;\n\n// Use named rather than default exports.\nexport const ConnectContainer: FC<ConnectContainerProps> = (pageProps: ConnectContainerProps) => {\n const contentContainerRef = useRef(null);\n\n useEffect(() => {\n if (contentContainerRef && contentContainerRef?.current) {\n const propertyDetails = (contentContainerRef?.current as Element)?.querySelector('.chinese-separator');\n if (propertyDetails && propertyDetails?.parentElement) {\n propertyDetails?.parentElement?.remove();\n }\n }\n }, []);\n\n //Method for returning Responsive Grid for showing parsys in Author mode\n const ConnectContainer = () => {\n return (\n <div data-testid=\"connect-container\" data-component-name=\"o-ppv5-staticwrapper\">\n <StyledConnectContainer>\n <section\n dangerouslySetInnerHTML={{ __html: pageProps?.referencePath }}\n ref={contentContainerRef}\n className=\"authorBorder\"\n />\n </StyledConnectContainer>\n </div>\n );\n };\n\n //Method for returning components to be rendering at end point URL\n const ConnectContainerStaticWrapper = (props: ConnectContainerProps) => {\n const { referencePath } = props;\n return (\n <StyledConnectContainer id={pageProps?.contentID}>\n <section dangerouslySetInnerHTML={{ __html: referencePath }} ref={contentContainerRef} />\n </StyledConnectContainer>\n );\n };\n\n const showConnectContainer = pageProps.isAuthorMode ? (\n <div>{ConnectContainer()}</div>\n ) : (\n <div>{<ConnectContainerStaticWrapper {...pageProps} />}</div>\n );\n\n return <StyledConnectContainer>{showConnectContainer}</StyledConnectContainer>;\n};\n\nexport const ConnectContainerConfig = {\n emptyLabel: 'ConnectContainer',\n isEmpty: (_props: MappedComponentProperties) => false,\n resourceType: `${NEXT_PUBLIC_AEM_SITE}/components/common/staticwrapper`,\n} as Config<MappedComponentProperties>;\n\nexport const ConnectContainerEditable = (props: ConnectContainerProps) => (\n <EditableComponent config={ConnectContainerConfig} {...props}>\n <ConnectContainer {...props} />\n </EditableComponent>\n);\n","import { toRem } from '@marriott/mi-ui-library';\n\n//Adding some styles here as they are removed from shared/mi-ui-library\n//Moving forward we should not use these mediaqueries. Use mediaqueries only from shared/mi-ui-library and follow mobile first approach\n//TODO: Code needs to be updated where we are using these. These mediaqueries should be removed and what is imported from shared/mi-ui-library should be used.\n//TODO: we can move these mediaqueries and fonts and alphaColor to common\nexport const mediaQuery = {\n desktop: ` screen and (min-width: ${toRem(992)})`,\n mobileOnly: ` screen and (max-width: ${toRem(767)})`,\n minDesktop: ` screen and (min-width: ${toRem(1200)})`,\n tabletOnly: ` (min-width:${toRem(768)}) and (max-width:${toRem(991)})`,\n smallMobileOnly: ` screen and (max-width: ${toRem(350)})`,\n tablet: ` screen and (min-width:${toRem(768)})`,\n tabletMax: ` screen and (max-width: ${toRem(1199)})`,\n allTablets: ` screen and (min-width: ${toRem(768)}) and (max-width: ${toRem(1025)}) `,\n mobileTablet: ` screen and (max-width: ${toRem(991)})`,\n mobile: ` screen and (max-width: ${toRem(576)})`,\n};\n\nexport const font = {\n Swiss721BTRegular: 'Swiss721-BT-Regular, Helvetica, Arial, sans-serif',\n Swiss721BTMedium: 'Swiss721-BT-Medium, Helvetica, Arial, sans-serif',\n};\n","import styled from 'styled-components';\n\nimport { toRem, baseVariables } from '@marriott/mi-ui-library';\nimport { font, mediaQuery } from '../../utils/styles';\n\nexport const StyledOfferCarouselContainer = styled.div`\n .cardWrapper {\n .container {\n padding: 0 0.5rem;\n }\n .icon-arrow-right-external {\n position: initial;\n }\n .chevronContainer[class*='icon-arrow-']::before {\n color: ${baseVariables.color['base20']};\n }\n .glide__slides_authoring {\n width: 101% !important;\n }\n }\n\n .m-badge-overlay-merch {\n background-color: rgb(255, 153, 98);\n }\n .t-overline-overlay {\n text-transform: none;\n color: ${baseVariables.color['base20']};\n }\n .feature-header {\n line-height: 1;\n }\n\n .cardTitle {\n font-size: ${toRem(22)};\n font-weight: 700;\n text-transform: none;\n color: ${baseVariables.color['base20']};\n font-family: ${font.Swiss721BTRegular};\n @media ${mediaQuery.tabletOnly} {\n line-height: ${toRem(20)};\n font-size: ${toRem(18)};\n }\n @media ${mediaQuery.mobileOnly} {\n line-height: ${toRem(20)};\n font-size: ${toRem(18)};\n }\n }\n\n .hideCarousel {\n display: none;\n }\n`;\n\nexport const StyledOfferCardsDivPreviewMode = styled.div`\n pointer-events: none;\n .glide__arrow--right {\n display: none;\n }\n .center-align {\n display: none !important;\n }\n`;\n","/* eslint-disable @typescript-eslint/no-explicit-any */\n/* eslint-disable @typescript-eslint/ban-ts-comment */\n/* eslint-disable @typescript-eslint/no-var-requires */\n// @ts-ignore\nimport { getTargetOffers } from './targetClientOffers';\nimport createMappingOffersModelJSON from './mappingTemplate';\n\nimport { dcaDynamicContent } from '@marriott/mi-merch-graphql';\nimport { getNextMiApolloClient } from '@marriott/mi-apollo-client-utils';\nimport { useClientEnvVarsStore } from '@marriott/mi-store-utils';\nimport { inspect } from 'util';\nimport { logger } from './../logger';\nimport { generateRandomNumber } from '@marriott/shared/mi-helper-utils';\n\nconst transformJSON = require('json-map-transform');\n\nexport const fetchImageAsset = async (assetId: string) => {\n const { log } = logger({})('fetchImageAsset');\n\n const MiApolloClient = getNextMiApolloClient([], '');\n try {\n const { data } = await MiApolloClient.query({\n query: dcaDynamicContent,\n fetchPolicy: 'network-only',\n errorPolicy: 'all',\n variables: { assetId },\n context: {\n headers: {},\n },\n });\n\n log.debug(`Dac call success, ${JSON.stringify(data)}`);\n\n return (\n //If the dac returns null, convert the dac id to path and pass it back\n data?.digitalAsset?.imageByAssetId || {\n imageSrc: atob(assetId),\n }\n );\n } catch (error) {\n log.error(`Dac call error, ${JSON.stringify(error)}`);\n //If the dac api fails, convert the dac id to path and pass it back\n return {\n imageSrc: atob(assetId),\n };\n }\n};\n\nconst imageDomain = useClientEnvVarsStore.getState().envVarsObject['DAC_IMG_DOMAIN'] || 'https://cache.marriott.com';\n\nexport interface TrackingPropsInterface {\n trackingContentPosition?: string;\n trackingOfferType?: string;\n atCCeVar48?: string;\n trackingDescription?: string;\n trackingTag?: string;\n isCoBrand?: boolean;\n clickTrack?: boolean;\n impressionTrack?: boolean;\n impressionCount?: boolean;\n impressionEventType?: string;\n merchandisingCategory?: string;\n additionalTrackingVariables?: string;\n location?: string;\n payloadType?: string;\n compName?: string;\n enableScrollingBehavior?: boolean;\n isAuth?: boolean;\n clickTrackValSeparator?: string;\n cell?: string;\n spid?: string;\n rpcCode?: string;\n isDCAEnabled?: boolean;\n offerCode?: string;\n}\n\nexport function generateRandomString() {\n const characters = '0123456789ABCDEF';\n let randomString = '';\n for (let i = 0; i < 32; i++) {\n randomString += characters.charAt(Math.floor(generateRandomNumber() * characters.length));\n if (i === 7 || i === 11 || i === 15 || i === 19) randomString += '-';\n }\n return randomString;\n}\n\nconst dynamicMediaTransformation = (compModel: any, mBopDynamicMedia: any) => {\n let defaultImg: string = '';\n const renditions = mBopDynamicMedia?.imageUrls // Check if mBopDynamicMedia.renditions is defined\n ? compModel.renditions.map((rend: any) => {\n // Map over each rendition in compModel.renditions\n const renditionUrl = rend?.smartCropType\n ? mBopDynamicMedia?.imageUrls[rend?.smartCropType]\n : mBopDynamicMedia.imageSrc; // Get the URL for this rendition based on its smartCropType\n const params2x = rend.dynamic ? `?wid=${rend.width * 2}&hei=${rend.height * 2} 2x` : ''; // Construct parameters for dynamic resizing if needed\n const params1x = rend.dynamic ? `?wid=${rend.width}&hei=${rend.height}` : ''; // Construct parameters for dynamic resizing if needed\n // Combine image domain, rendition URL, and params to get the rendition path\n const renditionPath = renditionUrl?.length\n ? rend.dynamic\n ? `${imageDomain}${renditionUrl}${params1x}, ${imageDomain}${renditionUrl}${params2x}` // adding 1x and 2x params if dynamic is true\n : imageDomain + renditionUrl // forming url wihtout params if dynamic is false\n : ''; // return empty string if any rendition is not present to fallback to next srcset\n defaultImg = defaultImg || imageDomain + renditionUrl;\n return {\n ...rend, // Spread the properties of the original rendition\n renditionPath,\n damPath: mBopDynamicMedia?.imageSrc, // Assign the DAM path from mBopDynamicMedia\n };\n })\n : []; // If mBopDynamicMedia.renditions is not defined, return an empty array\n const imageSrc = mBopDynamicMedia?.imageSrc;\n\n const aemDynamicJSON = {\n ...compModel,\n altText: mBopDynamicMedia?.alternateDescription,\n damPath: mBopDynamicMedia?.imageSrc,\n assetPath: imageSrc?.indexOf('.tif') > -1 ? defaultImg : imageDomain + imageSrc,\n renditions: renditions,\n };\n return aemDynamicJSON;\n};\n\nexport const transformTargetModel = (componentModel: any, mBopResp: any) => {\n const { log } = logger({})('transformTargetModel');\n try {\n const updatedComponentModel = { ...componentModel }; // Create a copy to avoid modifying the original object directly\n for (const [key, value] of Object.entries(mBopResp)) {\n if (key === 'image') {\n // Check if 'image' key exists in componentModel and perform transformation\n updatedComponentModel[key] = componentModel[key]\n ? dynamicMediaTransformation(componentModel[key], value)\n : value;\n } else if (key === 'logo') {\n // Assert the type of 'value' to a specific type if you know its structure\n const logoValue = value as { imageSrc?: string; alternateDescription?: string };\n // Transform the 'logo' property and update the imageSrc if it exists\n if (logoValue && logoValue.imageSrc) {\n const updatedLogo = {\n ...logoValue,\n imageSrc: imageDomain + logoValue.imageSrc,\n altText: logoValue.alternateDescription,\n };\n updatedComponentModel[key] = updatedLogo;\n } else {\n // Handle case where 'logo' object or 'imageSrc' property is undefined\n log.error(\"'logo' object or 'imageSrc' property is undefined\");\n }\n } else {\n // Assign other properties directly\n updatedComponentModel[key] = value;\n }\n }\n // Set isTargetContentLoaded property after transformation is complete\n updatedComponentModel.isTargetContentLoaded = true;\n\n return updatedComponentModel;\n } catch (error) {\n // Log the error\n console.error('Error occurred during transformation====', error);\n // Return the original componentModel in case of error\n return componentModel;\n }\n};\n\nexport async function dynamicContentDataSource(req: any) {\n const locale: string = req.locale;\n const { log } = logger({})('dynamicContentDataSource');\n try {\n const { response, responseTokens } = await getTargetOffers(req.targetPayload);\n const jsonResp = response?.execute?.mboxes[0]?.options[0] || {};\n let contentData;\n if (jsonResp.type === 'json') {\n contentData = jsonResp.content;\n } else {\n contentData = JSON.parse(jsonResp.content);\n }\n\n log.debug(`Target call success', ${JSON.stringify(contentData)}`);\n\n const { content, metadata } = contentData?.offer || {};\n content.metadata = metadata;\n content.responseTokens = responseTokens;\n let logoAsset, imageAsset;\n\n if (content?.logo?.assetId) {\n logoAsset = await fetchImageAsset(content?.logo?.assetId);\n }\n if (content?.image?.assetId) {\n imageAsset = await fetchImageAsset(content?.image?.assetId);\n }\n\n if (content?.logo?.assetId && logoAsset) {\n content.logo =\n (useClientEnvVarsStore.getState().envVarsObject['DAC_IMG_DOMAIN'] || 'https://cache.marriott.com') +\n logoAsset.imageSrc;\n content.logoAltText = logoAsset?.alternateDescription;\n }\n\n if (content?.image?.assetId && imageAsset) {\n content.image = {\n ...content.image,\n renditions: imageAsset.imageUrls,\n altText: imageAsset.alternateDescription,\n imageSrc: imageAsset.imageSrc,\n };\n }\n\n log.debug(`Mbop Content Logo', ${content.logo}`);\n log.debug(`Mbop Content Image', ${content.image}`);\n\n const mappingOffersModelJSON = createMappingOffersModelJSON(locale);\n\n log.debug(`mappingOffersModelJSON', ${inspect(mappingOffersModelJSON)}`);\n\n return transformJSON(content, mappingOffersModelJSON);\n } catch (error) {\n throw new Error(`Error fetching target data: ${error}`);\n }\n}\n\nexport async function fetchTargetSegment(req: any) {\n try {\n const { response } = await getTargetOffers(req.targetReqPayload);\n\n return response;\n } catch (error) {\n throw new Error('Failed to fetch target data');\n }\n}\n\nexport function atGetSPID(arr: Array<string>) {\n let spid = '';\n\n window?.mvpOffers?.specialMessage?.split(',').forEach(function (mvpSpid: string) {\n arr.forEach(function (metaDataSpid: string) {\n if (mvpSpid === metaDataSpid) {\n spid = mvpSpid;\n }\n });\n });\n\n return spid;\n}\n\nexport const getSPID = (targetData: Record<string, any>) => {\n const preQual = targetData?.['metaData']?.prequal || '';\n const prequalSpids = targetData?.['metaData']?.spid || '';\n if (String(preQual) === 'true') {\n const spidList = prequalSpids ? prequalSpids?.split(',') : [];\n const preQualSPID = atGetSPID(spidList);\n return preQualSPID;\n }\n return prequalSpids;\n};\n\nexport const getEVAR48 = (targetData: Record<string, any>): string => {\n const countryCode = targetData?.['metaData']?.countryCode || '';\n const issuerCode = targetData?.['metaData']?.issuerCode || '';\n const rpcCode = targetData?.['metaData']?.rpcCode || '';\n const offerCode = targetData?.['metaData']?.offerCode || '';\n const cell = targetData?.['metaData']?.cell || '';\n const preQual = targetData?.['metaData']?.prequal;\n const trackingContentPosition = targetData?.['mboxName']?.replace(/-mbox$/, '');\n let evar48: string = `CCOFFER-${countryCode}-${issuerCode}-${trackingContentPosition}-${rpcCode}-${offerCode}`;\n if (\n (targetData?.['metaData']?.rpcCode === '0513' || targetData?.['metaData']?.rpcCode === '0532') &&\n targetData?.['metaData']?.offerCode.includes('ACQ')\n ) {\n evar48 = evar48 + `-${cell}`;\n }\n const spid = getSPID(targetData);\n if (spid) {\n evar48 = evar48 + '-' + spid;\n }\n if (String(preQual) === 'true') {\n evar48 = evar48 + '-PQO';\n }\n return evar48;\n};\n\nexport function findKeysWithMatchingValues(obj: any, target: string) {\n let matchingKey = '';\n function search(obj: any, currentKey: string | null = null) {\n for (const key in obj) {\n if (typeof obj[key] === 'object' && obj[key] !== null && !Array.isArray(obj[key])) {\n // If it's a nested object, search recursively\n search(obj[key], key);\n } else if (obj[key] === target) {\n // If the value matches the target, add the key to the list\n if (currentKey) matchingKey = currentKey;\n }\n }\n }\n search(obj);\n return matchingKey;\n}\n\nexport function findKeysWithMatchingValuesAndObject(obj: any, target: string) {\n let paths = '';\n function search(obj: any, path: string[] = []) {\n for (const key in obj) {\n if (typeof obj[key] === 'object' && obj[key] !== null && !Array.isArray(obj[key])) {\n search(obj[key], path.concat(key));\n } else if (obj[key] === target) {\n paths = path.join('.');\n }\n }\n }\n search(obj);\n return paths;\n}\n\nexport function getDataFromPath(obj: any, path: string): any {\n if (typeof path !== 'string' || !path) return undefined;\n return path.split('.').reduce((currentObj, key) => {\n if (currentObj && typeof currentObj === 'object' && key in currentObj) {\n return currentObj[key];\n }\n return undefined;\n }, obj);\n}\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { generateRandomString } from '.';\nimport { cleanObject, mtGC, mtGCV } from '../helpers';\nimport { DCA_CONSTANTS } from '../constants';\nimport Cookies from 'js-cookie';\n\ndeclare global {\n interface Window {\n dataLayer?: Record<string, unknown>;\n Visitor: {\n getInstance(gcv: string): {\n getMarketingCloudVisitorID(): string;\n getLocationHint(): string;\n getAudienceManagerBlob(): string;\n getSupplementalDataID(mboxName: string): string;\n _generateID(): string;\n };\n };\n }\n}\n\nexport function targetPayloadRequest(\n req: any,\n datalayer: Record<string, unknown> = window?.['dataLayer'] || {},\n mvpOffers: any = window?.['mvpOffers'] || {}\n): any {\n const sessionData = window?.sessionData || {};\n const satellite = window?._satellite;\n const visitor = window?.['Visitor']?.getInstance(DCA_CONSTANTS.orgId);\n const isUxl = req.isUxl === 'false' ? false : true;\n const targetParameters = targetRequestPayload([\n 'env_is_prod',\n 'env_site_id',\n 'env_platform',\n 'env_site_name',\n 'env_server_id',\n 'mr_prof_authentication_state',\n 'search_advance_purchase_days',\n 'prop_address_city_state_country',\n 'search_google_places_destination',\n 'country',\n 'canBuyPoints',\n 'daysSinceJoining',\n 'daysToCheckin',\n 'miRecentlyViewedProperties',\n 'mr_prof_upcoming_stay_consolidated',\n 'search_cluster_code',\n 'page_url_query_string',\n 'cookie_merchViewed',\n 'firstTimeUserCopy',\n 'rpcCode',\n 'offerCode',\n 'specialMessage',\n 'memState',\n 'invokeFlushErrors',\n 'device_language_preferred',\n 'page_url_path_branch',\n 'browser_akamai_loc_country',\n 'ensighten_settings',\n 'browser_akamai_loc_long',\n 'rk_enabled',\n 'page_requested_uri',\n 'env_img_path',\n 'prof_address_state',\n 'env_jacket',\n 'session_jsession_id',\n 'cookie_mi_site',\n 'sessionId',\n 'mr_isLinkedUser',\n 'browser_akamai_loc_lat',\n 'env_date_time',\n 'mvp_prequal_endpoint',\n 'brwsrLang',\n 'page_domain_name',\n 'cookie_mi_visitor',\n 'request_id',\n 'page_data_layer_ready',\n 'previous_page',\n 'browser_akamai_loc_state',\n 'mr_prof_cc_all',\n 'mr_prof_address_country',\n 'browser_akamai_loc_city',\n 'mr_prof_nights_to_next_level',\n 'mr_prof_points_balance',\n 'mr_prof_member_program_level',\n 'mvpOffers_source',\n 'promoIDsRegistered',\n ]);\n\n function getWEBGLRenderer() {\n const gl = document.createElement('canvas').getContext('webgl');\n if (!gl) {\n return '';\n }\n const debugInfo = gl.getExtension('WEBGL_debug_renderer_info');\n return debugInfo ? gl.getParameter(debugInfo.UNMASKED_RENDERER_WEBGL) : '';\n }\n\n function getTnTId() {\n const MI_Visitor = mtGC('MI_Visitor') || datalayer?.['cookie_mi_visitor'];\n return MI_Visitor;\n }\n function getTnTIdforNonUxl() {\n const mboxCookieLength = Cookies?.get('mbox')?.split('#')?.length;\n if (Cookies?.get('mbox') && mboxCookieLength && mboxCookieLength > 2) {\n return Cookies?.get('mbox')?.split('#')?.[3] ?? getTnTId() ?? '';\n } else {\n return getTnTId();\n }\n }\n\n function getThirdPartyId() {\n const consumerID = sessionData?.cacheData?.data?.consumerID ?? sessionData?.data?.consumerID;\n const loginState = datalayer['memState'];\n const isUnAuthenticated = !(loginState === 'authenticated' || loginState === 'remembered');\n return isUnAuthenticated ? null : consumerID;\n }\n\n function targetRequestPayload(variables: any) {\n const result: any = {};\n const parameters = variables.map((variable: string) => {\n let value: any = ''; // Default value if no valid value found\n const getSatelliteVar = satellite?.['getVar'];\n if (satellite && satellite?.['getVar'] && getSatelliteVar(variable)?.length) {\n value = getSatelliteVar(variable);\n } else if (Array.isArray(datalayer?.[variable]) || typeof datalayer?.[variable] === 'string') {\n value = datalayer[variable];\n }\n if (variable === 'mvpOffers_source' && mvpOffers?.source) {\n value = mvpOffers.source;\n }\n if (variable === 'mr_prof_authentication_state') {\n value = value || 'unauthenticated'; // Set default value 'unauthenticated' if value is falsy\n }\n\n if (variable === 'previous_page') {\n value = value ? value : '';\n datalayer[variable] = value ? value : '';\n }\n result[variable] = value;\n return { name: variable, value: value };\n });\n if (!isUxl) {\n if (datalayer && Object.keys(datalayer)?.length > 0) {\n const combinedObj = { ...result, ...datalayer };\n Object.keys(combinedObj).forEach(function (key) {\n if (combinedObj[key] === null) {\n combinedObj[key] = '';\n }\n });\n return combinedObj;\n } else {\n return result;\n }\n } else {\n return parameters;\n }\n }\n\n const tempPayload: any = {\n context: {\n userAgent: window?.navigator?.userAgent || 'test',\n channel: 'WEB',\n screen: {\n width: window?.screen?.width,\n height: window?.screen?.height,\n orientation: window?.screen?.orientation?.type?.split('-')[0].toUpperCase(),\n colorDepth: window?.screen?.colorDepth,\n pixelRatio: window?.screen?.pixelDepth,\n },\n window: {\n width: window?.innerWidth,\n height: window?.innerHeight,\n },\n browser: {\n host: window?.location?.host,\n webGLRenderer: getWEBGLRenderer(),\n },\n address: {\n url: window?.location?.href,\n referringUrl: window?.location?.origin,\n },\n timeOffsetInMinutes: -new Date().getTimezoneOffset(),\n },\n id: cleanObject({\n tntId: getTnTIdforNonUxl(),\n thirdPartyId: getThirdPartyId(),\n marketingCloudVisitorId:\n mtGCV(encodeURIComponent(DCA_CONSTANTS.gcv)) || visitor?.getMarketingCloudVisitorID() || '',\n }),\n property: {\n token: req.propertyToken,\n },\n experienceCloud: {\n audienceManager: {\n locationHint: visitor?.getLocationHint()?.toString() || null,\n // : (mtGC(encodeURIComponent(DCA_CONSTANTS.gcv)) &&\n // mtGC(encodeURIComponent(DCA_CONSTANTS.gcv)).split('|')[4] !== 'NONE' &&\n // mtGC(encodeURIComponent(DCA_CONSTANTS.gcv)).split('|')[4]) ||\n // visitor.getLocationHint() ||\n // '',\n blob: visitor?.getAudienceManagerBlob() || null,\n // : (mtGC(encodeURIComponent(DCA_CONSTANTS.gcv)) &&\n // mtGC(encodeURIComponent(DCA_CONSTANTS.gcv)).split('|')[6]) ||\n // visitor.getAudienceManagerBlob() ||\n // '',\n },\n analytics: {\n trackingServer: process.env['TARGET_TRACKING_SERVER'] || DCA_CONSTANTS.trackingServer,\n trackingServerSecure: process.env['TARGET_TRACKING_SERVER_SECURE'] || DCA_CONSTANTS.trackingServerSecure,\n // logging: process.env['TARGET_TRACKING_SERVER_LOGGING'] || 'server_side',\n supplementalDataId: visitor?.getSupplementalDataID(visitor?._generateID()) || generateRandomString(),\n },\n },\n mboxes: [],\n execute: {},\n };\n\n // Conditionally add mboxes or execute\n if (isUxl) {\n const updatedParameters = [\n ...targetParameters,\n { name: 'trackingDescription', value: DCA_CONSTANTS.DCA },\n { name: 'trackingContentPosition', value: req?.mboxName?.split('-mbox')?.[0] },\n { name: 'trackingDisplayCode', value: req?.cellCodes },\n ];\n tempPayload.mboxes = [\n {\n name: req.mboxName,\n localeOfContent: req.locale,\n parameters: updatedParameters,\n },\n ];\n delete tempPayload.execute;\n } else {\n tempPayload.execute = {\n mboxes: [\n {\n name: req.mboxName,\n index: 0,\n parameters: targetParameters,\n },\n ],\n };\n delete tempPayload.mboxes;\n }\n return tempPayload;\n}\n","export const constants = {\n DEFAULT_LANG: 'en_US',\n DEFAULT_COUNTRY: 'US',\n ITEM_PATH_ROOT: 'root/responsivegrid',\n ITEM_PATH_HEADER: 'root/header-responsivegrid',\n ITEM_PATH_FOOTER: 'root/footer-responsivegrid',\n PAGE_LOADED: 'Page Loaded',\n PAGE_LOADING: 'Page Loading',\n ROUTING_CONFIG: 'routingConfig',\n APPLICATION_NAME: 'shop',\n EXPERIENCE_SEGMENT: ['NOT Logged In'],\n INDEX_FOLLOW: 'index,follow',\n NO_INDEX_NO_FOLLOW: 'noindex,nofollow',\n NO_INDEX_FOLLOW: 'noindex,follow',\n MARRIOTT_DEALS: 'marriottDeals',\n REQUIRED_ASPECT_RATIO: 'CLASSIC',\n ASSET_VARIATION_ICON: 'iconfont',\n IMPERIAL: 'imperial',\n CAMPAIGN_ACTIVE: 'active',\n CAMPAIGN_INACTIVE: 'inactive',\n CHINESE_LANG: 'zh-CN',\n};\n\nexport const LOCALE_LANGCODE_MAPPING = {\n 'it-IT': 'it_IT',\n 'ru-RU': 'ru_RU',\n 'en-GB': 'en_GB',\n 'ko-KR': 'ko_KR',\n 'en-US': 'en_US',\n 'pt-BR': 'pt_BR',\n 'zh-CN': 'zh_CN',\n 'fr-FR': 'fr_FR',\n 'ja-JP': 'ja_JP',\n 'de-DE': 'de_DE',\n 'pt-PT': 'pt_PT',\n 'es-ES': 'es_ES',\n};\n\nexport const LOCALE_DOMAIN_MAPPING = {\n it_IT: { domain: '.it', hreflang: 'it-IT' },\n ru_RU: { domain: '.com.ru', hreflang: 'ru-RU' },\n en_GB: { domain: '.co.uk', hreflang: 'en-GB' },\n ko_KR: { domain: '.co.kr', hreflang: 'ko-KR' },\n en_US: { domain: '.com', hreflang: 'en-US' },\n pt_BR: { domain: '.com.br', hreflang: 'pt-BR' },\n zh_CN: { domain: '.com.cn', hreflang: 'zh-CN' },\n fr_FR: { domain: '.fr', hreflang: 'fr-FR' },\n ja_JP: { domain: '.co.jp', hreflang: 'ja-JP' },\n de_DE: { domain: '.de', hreflang: 'de-DE' },\n pt_PT: { domain: '.pt', hreflang: 'pt-PT' },\n es_ES: { domain: '.com', hreflang: 'es' },\n};\n\nexport const LOCALE_SPECIFIC_MAPPING = {\n en_US: { url: 'https://www.marriott.com', hreflang: 'en-US' },\n it_IT: { url: 'https://www.marriott.com/it', hreflang: 'it-IT' },\n ru_RU: { url: 'https://www.marriott.com/ru', hreflang: 'ru-RU' },\n en_GB: { url: 'https://www.marriott.com/en-gb', hreflang: 'en-GB' },\n ko_KR: { url: 'https://www.marriott.com/ko', hreflang: 'ko-KR' },\n pt_BR: { url: 'https://www.marriott.com/pt-br', hreflang: 'pt-BR' },\n zh_CN: { url: 'https://www.marriott.com.cn', hreflang: 'zh-CN' },\n fr_FR: { url: 'https://www.marriott.com/fr', hreflang: 'fr-FR' },\n ja_JP: { url: 'https://www.marriott.com/ja', hreflang: 'ja-JP' },\n de_DE: { url: 'https://www.marriott.com/de', hreflang: 'de-DE' },\n pt_PT: { url: 'https://www.marriott.com/pt-br', hreflang: 'pt-PT' },\n es_ES: { url: 'https://www.marriott.com/es', hreflang: 'es' },\n};\n\nexport const OFFERS_UXL_CLIENT_NAME = 'phoenix_offers';\nexport const OFFERS_UXL_CLIENT_VERSION = 'V1';\nexport const BREAKPOINT_TABLET = 767;\nexport const BREAKPOINT_DESKTOP = 991;\nexport const DATE_FORMAT_YEAR_MONTH_DAY = 'YYYY-MM-DD';\n//commenting details_logger. Since there is build error as m is declared but it's value never read\n// export const DETAILS_LOGGER = {\n// debug: (m: string): void => console.log(''), //eslint-disable-line no-console\n// error: (m: string): void => console.log(''), //eslint-disable-line no-console\n// info: (m: string): void => console.log(''), //eslint-disable-line no-console\n// };\n\nexport const ADD_BUDDHIST_YEAR_VALUE = 543;\nexport const KO_KR_LOCALE = 'ko-KR';\nexport const TH_TH_LOCALE = 'th';\nexport const CN_LOCALE = 'zh-CN';\nexport const JA_LOCALE = 'ja-JP';\nexport const DE_LOCALE = 'de-DE';\nexport const ES_LOCALE = 'es-ES';\nexport const FR_LOCALE = 'fr-FR';\nexport const EN_GB_LOCALE = 'en-GB';\nexport const IT_LOCALE = 'it-IT';\nexport const PT_LOCALE = 'pt-BR';\nexport const RU_LOCALE = 'ru-RU';\nexport const MOCK_SESSION_ID = '7FC3A108-DF69-5E10-B767-6D2FB461B924';\nexport const IMAGE_CACHE_DOMAIN = 'https://cache.marriott.com';\nexport const IMAGE_CACHE_DOMAIN_CN = 'https://cache.marriott.com.cn';\nexport const RZ_HOTEL_DOMAIN = 'https://www.ritzcarlton.com';\n\nexport const LOCALE_SUBDIRECTORY_MAPPING = {\n 'it-IT': '/it',\n 'ru-RU': '/ru',\n 'en-GB': '/en-gb',\n 'ko-KR': '/ko',\n 'en-US': '',\n 'pt-BR': '/pt-br',\n 'zh-CN': '',\n 'fr-FR': '/fr',\n 'ja-JP': '/ja',\n 'de-DE': '/de',\n 'pt-PT': '/pt',\n 'es-ES': '/es',\n};\n\nexport const MONTHSHORTVALUE = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];\nexport const WEEKSDAYSSHORT = ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'];\nexport const WEEKDAYSLONGNAME = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'];\n\nexport const INTERNAL_CTA_TYPE = 'Internal';\nexport const EXTERNAL_CTA_TYPE = 'External';\n\nexport const errorTypes = ['invalidDealMsg', 'invalidUserMsg', 'invalidPreviewOffer', 'notEligible'];\n\nexport const PRIMARY_MEDIA = 'primary';\nexport const SECONDARY_MEDIA = 'secondary';\n\nexport const ASPECT_RATIO_UXL_FIELD_MAPPING = {\n 'Wide-Hor': 'wideHorizontal',\n 'Pano-Hor': 'panoramicHorizontal',\n 'Pano-Ver': 'panoramicVertical',\n 'Wide-Ver': 'wideVertical',\n 'Feature-Hor': 'featureHorizontal',\n 'Feature-Ver': 'featureVertical',\n 'Classic-Hor': 'classicHorizontal',\n 'Classic-Ver': 'classicVertical',\n Square: 'square',\n};\nexport const ASSET_VARIATION = {\n IMAGE: 'image',\n};\n\nexport const NEXT_PUBLIC_ENV_KEYS = [\n 'NEXT_PUBLIC_SUBMIT_OSERP_URL',\n 'NEXT_PUBLIC_SUBMIT_SEARCH_URL',\n 'SESSION_GET_CALL_URL_CLIENT',\n 'NEXT_PUBLIC_AVAILABILITY_SEARCH_URL',\n 'UXL_IMAGE_CACHE_DOMAIN',\n 'TARGET_PROPERTY_TOKEN',\n 'NEXT_PUBLIC_SUBMIT_MBE_URL',\n];\nexport const HOTEL_VIEW = 'hotelView';\nexport const BREAKPOINT_LARGER_MOBILE = 650;\nexport const BREAKPOINT_DESKTOP_1023 = 1023;\nexport const ALLOWED_TAGS_IN_DESCRIPTION = [\n 'b',\n 'strong',\n 'i',\n 'em',\n 'u',\n 's',\n 'del',\n 'sub',\n 'sup',\n 'mark',\n 'small',\n 'big',\n 'ul',\n 'ol',\n 'li',\n 'dl',\n 'dt',\n 'dd',\n 'table',\n 'tr',\n 'td',\n 'th',\n 'thead',\n 'tbody',\n 'tfoot',\n 'colgroup',\n 'col',\n 'caption',\n 'p',\n 'br',\n 'hr',\n 'blockquote',\n 'pre',\n 'a',\n 'code',\n 'span',\n 'div',\n 'img',\n 'h1',\n 'h2',\n 'h3',\n 'h4',\n 'h5',\n 'h6',\n];\nexport const PANO_HOR_IMG = 'Pano-Hor';\nexport const WIDE_HOR_IMG = 'Wide-Hor';\nexport const SQUARE_IMG = 'Square';\nexport const CLASSIC_VER_IMG = 'Classic-Ver';\nexport const PARAM_PAGENO = 'pg';\n","import { generateRandomNumber } from '@marriott/shared/mi-helper-utils';\nimport {\n LOCALE_DOMAIN_MAPPING,\n LOCALE_SPECIFIC_MAPPING,\n LOCALE_LANGCODE_MAPPING,\n BREAKPOINT_TABLET,\n BREAKPOINT_DESKTOP,\n} from '../constants/CommonConstants';\nimport { ADOBE_COOKIE, MBOX_COOKIE } from '../constants/OfferCardConstants';\n\nimport { ASPECT_RATIO, IMG_TYPE_JPG } from '../constants/OffersHeroConstants';\nimport { OfferObj } from '../index.types';\nimport { MILESTOMETERS } from '../organisms/OffersSearchForm/constants/ApplicationConstants';\n\nexport const canUseDOM = !!(typeof window !== 'undefined' && window.document);\n\nexport const getProcessEnvs = () => {\n if (canUseDOM) {\n const envTag = document.getElementById('__SERVERENV__');\n if (envTag) {\n const envObject = JSON.parse(envTag.innerHTML);\n return envObject;\n }\n return process.env;\n }\n return process.env;\n};\n\nexport const generateTitle = (\n offerObj: OfferObj,\n titleHelpers: {\n marriottDeals: string;\n inText: string;\n }\n): string => {\n if (parseInt(offerObj?.numProperties) > 1) {\n return `${offerObj?.title} | ${titleHelpers.marriottDeals}`;\n } else {\n return `${offerObj?.title ?? ''} ${\n showCompleteTitle(offerObj?.participatingProperties, titleHelpers.inText).inVal\n } ${offerObj?.participatingProperties?.city ?? ''}, ${\n offerObj?.participatingProperties?.stateProvince ?? offerObj?.participatingProperties?.country ?? ''\n } ${showCompleteTitle(offerObj?.participatingProperties, titleHelpers.inText).brandLine} ${\n offerObj?.participatingProperties?.brandName ?? ''\n }`;\n }\n};\n\nexport const generateI18Title = (\n offerObj: OfferObj,\n template: {\n name: string;\n value: string;\n }\n): string => {\n if (parseInt(offerObj?.numProperties) > 1) {\n return template?.value?.replace('$title', offerObj?.title);\n } else {\n let title = template?.value?.replace('$title', offerObj?.title);\n if (offerObj?.participatingProperties?.city) {\n title = title?.replace('$city', offerObj.participatingProperties.city);\n } else {\n title = title?.replace('$city', '');\n }\n if (offerObj?.participatingProperties?.stateProvince) {\n title = title?.replace('$country', offerObj.participatingProperties.stateProvince);\n } else {\n if (offerObj?.participatingProperties?.country) {\n title = title?.replace('$country', offerObj.participatingProperties.country);\n } else {\n title = title?.replace('$country', '');\n }\n }\n if (offerObj?.participatingProperties?.brandName) {\n title = title?.replace('$brandName', offerObj.participatingProperties.brandName);\n } else {\n title = title?.replace('| $brandName', '');\n }\n return title;\n }\n};\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport const showCompleteTitle = (locationObj: any, inTextLoalised: string): { inVal: string; brandLine: string } => {\n const completeTitleHelper = {\n inVal: '',\n brandLine: '',\n };\n if (locationObj?.city || locationObj?.stateProvince || locationObj?.country) {\n completeTitleHelper.inVal = inTextLoalised;\n }\n if (locationObj?.brandName) {\n completeTitleHelper.brandLine = '|';\n }\n return completeTitleHelper;\n};\n\nexport const getFallbackImg = (url: string, imgAspectRatio: string): string => {\n const aspectRatio = imgAspectRatio.toUpperCase();\n switch (aspectRatio) {\n case 'WIDE':\n return `${url}-${ASPECT_RATIO['Wide']}${IMG_TYPE_JPG}`;\n\n case 'FEATURE':\n return `${url}-${ASPECT_RATIO['Feature']}${IMG_TYPE_JPG}`;\n\n case 'CLASSIC':\n return `${url}-${ASPECT_RATIO['Classic']}${IMG_TYPE_JPG}`;\n\n case 'PANO':\n return `${url}-${ASPECT_RATIO['Pano']}${IMG_TYPE_JPG}`;\n\n default:\n return `${url}-${ASPECT_RATIO['Square']}${IMG_TYPE_JPG}`;\n }\n};\nexport const updateDomain = (languageCodes: string[]): { url: string; hreflang: string }[] => {\n const urlSet: { url: string; hreflang: string }[] = [];\n for (let i = 0; i < languageCodes.length; i++) {\n const langCode = languageCodes[i];\n const key = langCode as keyof typeof LOCALE_DOMAIN_MAPPING;\n const obj = LOCALE_SPECIFIC_MAPPING[key];\n if (obj !== undefined) {\n urlSet.push(obj);\n }\n }\n return urlSet;\n};\n\nexport const generateOfferUrl = (\n urlTitle: string,\n id: string,\n seoNickname: string,\n numProperties: string,\n marshaCode: string,\n languageCodes: string[],\n acceptLanguage: string,\n isPreview?: boolean\n): { url: string; hreflang: string }[] => {\n if (numProperties && parseInt(numProperties) > 1) {\n if (languageCodes?.length) {\n const domainUrls = updateDomain(languageCodes);\n const updatedHreflang = domainUrls.map((item: { url: string; hreflang: string }) => {\n return {\n url: `${item['url']}/offers/${urlTitle}-${id}`,\n hreflang: item['hreflang'],\n };\n });\n return updatedHreflang;\n } else {\n const key = acceptLanguage as keyof typeof LOCALE_LANGCODE_MAPPING;\n const value = LOCALE_LANGCODE_MAPPING[key];\n const domainUrls = updateDomain([value]);\n const updatedHreflang = domainUrls.map((item: { url: string; hreflang: string }) => {\n const url = isPreview ? `${item['url']}/offers/preview/${id}` : `${item['url']}/offers/${urlTitle}-${id}`;\n return {\n url: url,\n hreflang: item['hreflang'],\n };\n });\n return updatedHreflang;\n }\n } else {\n return generateOfferDetailUrl(\n urlTitle,\n id,\n seoNickname,\n marshaCode,\n languageCodes,\n acceptLanguage,\n isPreview,\n false\n );\n }\n};\n\nexport const generateOfferDetailUrl = (\n urlTitle: string,\n id: string,\n seoNickname: string,\n marshaCode: string,\n languageCodes: string[],\n acceptLanguage: string,\n isPreview?: boolean,\n isCTAUrl?: boolean\n): { url: string; hreflang: string }[] => {\n if (languageCodes?.length) {\n console.log('isPreview ', isPreview);\n const domainUrls = updateDomain(languageCodes);\n const updatedHreflang = domainUrls.map((item: { url: string; hreflang: string }) => {\n return {\n url: `${item['url']}/offers/${urlTitle}-${id}/${marshaCode}-${seoNickname}`,\n hreflang: item['hreflang'],\n };\n });\n return updatedHreflang;\n } else {\n const key = acceptLanguage as keyof typeof LOCALE_LANGCODE_MAPPING;\n const value = LOCALE_LANGCODE_MAPPING[key];\n const domainUrls = updateDomain([value]);\n const updatedHreflang = domainUrls.map((item: { url: string; hreflang: string }) => {\n const url = `${isCTAUrl ? '' : item['url']}/offers/${urlTitle}-${id}/${marshaCode}-${seoNickname}`;\n return {\n url: url,\n hreflang: item['hreflang'],\n };\n });\n return updatedHreflang;\n }\n};\n\nexport function convertMetersToMiles(num: number | undefined | null) {\n if (num) {\n return num / MILESTOMETERS;\n }\n return num;\n}\nexport const extractValue = (str: string, key: string, strDelimeter: string) => {\n const startIndex = str.indexOf(key);\n\n if (startIndex === -1) {\n return null;\n }\n const firstHashIndex = startIndex + key.length;\n const secondHashIndex = str.indexOf(strDelimeter, firstHashIndex);\n if (secondHashIndex === -1) {\n return null;\n }\n return str.substring(firstHashIndex, secondHashIndex);\n};\nexport const getCookieValue = (cookieString: string, cookieName: string): string => {\n const mbox =\n cookieString.split(';').length > 1\n ? cookieString.split(';').filter(cookie => {\n const [key, value] = cookie.trim().split('=');\n if (key && value) {\n return key === cookieName;\n }\n return false;\n })\n : [];\n\n const str1 =\n mbox.length && mbox.length > 0\n ? mbox[0].split('=').length && mbox[0].split('=').length > 1\n ? mbox[0].split('=')[1]\n : ''\n : '';\n return str1;\n};\nexport const getMbopCookie = (cookies: string, cookieName: string): string => {\n const cookieString = decodeURIComponent(cookies);\n let cookievalue = '';\n const strValue = getCookieValue(cookieString, cookieName);\n if (cookieName === MBOX_COOKIE) {\n cookievalue = extractValue(strValue, 'session#', '#') ?? '';\n } else if (cookieName === ADOBE_COOKIE) {\n cookievalue = extractValue(strValue, 'MCMID%', '%') ?? '';\n }\n return cookievalue;\n};\nexport const useGetBreakpoint = (): string | undefined => {\n if (typeof window !== 'undefined' && window?.screen && window?.screen?.width) {\n return window.innerWidth > BREAKPOINT_DESKTOP\n ? 'desktop'\n : window.innerWidth > BREAKPOINT_TABLET\n ? 'tablet'\n : 'mobile';\n } else {\n return undefined;\n }\n};\n\nexport const generateSeoFriendlyText = (text: string) => {\n return text ? text.toLocaleLowerCase().replace(/[` ~!@#$%^&*()_|+\\-=?;:'\",.<>{}[\\]\\\\/]/gi, '-') : '';\n};\n\nexport const generateRandomAlphaNumericString = () => {\n return 'generated-'.concat(\n Math.floor(generateRandomNumber() * 1e32)\n .toString(36)\n .toLowerCase()\n );\n};\n\nexport const getNthOccurence = (str: string, subStr: string, index: number) => {\n return str?.split(subStr, index)?.join(subStr)?.length;\n};\n\n// Utility function to determine if mock data should be returned\nexport const shouldUseMockData = (isAuthorMode: boolean) => {\n return process.env['NODE_ENV'] === 'development' || isAuthorMode;\n};\n","export const PANORAMIC_ASPECT_RATIO = 'PANO';\nexport const ANCILLARY_PRODUCT_OFFER = 'Ancillary Product Offer';\nexport const SINGLE_PROPERTY_OFFER = 'single-property-offer';\nexport const BUTTON_CLICK_TRACK_VALUE = 'AncillaryOffer|Book Now|external';\nexport const SHOP_NOW = 'shopNow';\nexport const BOOK_NOW = 'Book Now';\nexport const API_TIMEOUT = 2500;\nexport const DEFAULT_API_ACCEPT_LANGUAGE = 'en-US';\nexport const API_SSL_CHECK_FALSE = 'FALSE';\nexport const ARROW_UP = 'icon-arrow-up';\nexport const ARROW_DOWN = 'icon-arrow-down';\nexport const DETAILS_SHOWN = 'details-visible';\nexport const DETAILS_HIDDEN = 'details-hidden';\nexport const OFFER_DETAILS_OPERATION_SIGNATURE = '';\nexport const DATE_FORMAT_YEAR_MONTH_DAY = 'YYYY-MM-DD';\nexport const OFFER_DETAILS_OPERATION_NAME = 'phoenixOfferDetails';\nexport const OFFER_SEARCH_CLIENT_NAME = 'phoenix_offers';\nexport const OFFER_DETAILS_PREVIEW_OPERATION_NAME = '';\n\nexport const ASPECT_RATIO = {\n Wide: 'hor-wide',\n Feature: 'hor-feat',\n Classic: 'hor-clsc',\n Pano: 'hor-pano',\n Square: 'sq',\n};\nexport const IMG_TYPE_JPG = '.jpg';\nexport const CLASSIC_ASPECT_RATIO = 'CLASSIC';\nexport const WIDE_ASPECT_RATIO = 'WIDE';\nexport const SQUARE_ASPECT_RATIO = 'SQUARE';\nexport const EXPLORE_THIS_OFFER = 'Explore this Offer';\nexport const LOCALE_SPECIFIC_MAPPING = {\n en_US: { url: 'https://www.marriott.com', hreflang: 'en-US' },\n it_IT: { url: 'https://www.marriott.it', hreflang: 'it-IT' },\n ru_RU: { url: 'https://www.marriott.com.ru', hreflang: 'ru-RU' },\n en_GB: { url: 'https://www.marriott.co.uk', hreflang: 'en-GB' },\n ko_KR: { url: 'https://www.marriott.co.kr', hreflang: 'ko-KR' },\n pt_BR: { url: 'https://www.marriott.com.br', hreflang: 'pt-BR' },\n zh_CN: { url: 'https://www.marriott.com.cn', hreflang: 'zh-CN' },\n fr_FR: { url: 'https://www.marriott.fr', hreflang: 'fr-FR' },\n ja_JP: { url: 'https://www.marriott.co.jp', hreflang: 'ja-JP' },\n de_DE: { url: 'https://www.marriott.de', hreflang: 'de-DE' },\n pt_PT: { url: 'https://www.marriott.pt', hreflang: 'pt-PT' },\n es_ES: { url: 'https://www.espanol.marriott.com', hreflang: 'es' },\n};\nexport const SINGLE_BRAND_MULTI_PROP_OFFER = 'single-brand-multi-property-offer';\nexport const MULTI_BRAND_MULTI_PROP_OFFER = 'multi-brand-multi-property-offer';\nexport const MPO_SBO_BUTTON = 'mpo-sbo-button';\nexport const MPO_MBO_BUTTON = 'mpo-mbo-button';\nexport const MPO_MBO_STYLES = 'mpo-mbo-styles';\nexport const COLOR_SCHEME_7 = 'color-scheme7';\n","export default {\n FALLBACK_IMG_URI: process.env['FALLBACK_IMG_URI'] ?? '/marriottassets/marriott/Stock/stock-woman-sunset-1069700',\n FALLBACK_CN_IMG_URI:\n process.env['FALLBACK_CN_IMG_URI'] ?? '/content/dam/marriott-renditions/Stock/stock-woman-sunset-1069700',\n playServicePath: process.env['NODE_ENV'] === 'development' ? process.env['PLAY_SERVICE_URL'] : '',\n autoSuggestionLocationDetailsAPI: '/aries-search/v2/autoComplete.comp',\n searchFormDataAPI: '/aries-search/v2/searchForm.comp',\n searchFormDefaultActionURLSPO: '/reservation/availabilitySearch.mi',\n searchFormDefaultActionURL: '/search/submitSearch.mi',\n searchFormGroupActionURL: '/meetings/search-hotels.mi?isTransient=true',\n searchFormMeetingURL: '/meetings-events/search/find-hotels.mi',\n MAX_OFFERS_COUNT: '10',\n FALLBACK_OFFERS_COUNT: '3',\n API_TIMEOUT: 2500,\n OFFERS_BASE_URL: '/offers/submitOfferSearch.mi',\n};\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport moment from 'moment';\nimport { ASPECT_RATIO, IMG_TYPE_JPG, WIDE_ASPECT_RATIO } from '../constants/OffersHeroConstants';\nimport {\n ASPECT_RATIO_UXL_FIELD_MAPPING,\n constants,\n IMAGE_CACHE_DOMAIN,\n PRIMARY_MEDIA,\n SECONDARY_MEDIA,\n ALLOWED_TAGS_IN_DESCRIPTION,\n WIDE_HOR_IMG,\n LOCALE_SUBDIRECTORY_MAPPING,\n} from '../constants/CommonConstants';\nimport { generateI18Title, generateTitle, generateOfferUrl, getCookieValue, extractValue } from './CommonUtils';\nimport { useTranslation } from 'react-i18next';\nimport {\n MARRIOTT_DOMAIN_CN,\n MBOX_COOKIE,\n ASPECT_RATIO_SQUARE,\n ASPECT_RATIO_WIDE,\n CARD_LAYERED_VARIATION,\n CARD_LAYERED_WIDE,\n CARDSTYPE_VERTICAL,\n DESTINATION_OFFERS_RECIPE,\n IMAGE_ALT_TEXT,\n IMPRESSION_TRACK,\n LAYERED_WIDE,\n MERCHANDISING_CATEGORY,\n MEMBER_EXCLUSIVE,\n MERCHANDISING_OFFER,\n} from '../constants/OfferCardConstants';\nimport DOMPurify from 'isomorphic-dompurify';\nimport { TimeLeft } from '../organisms/OffersMBEHero/OffersMBEHero.types';\nimport { CardVerticalVariations } from '@marriott/mi-ui-library';\nimport { OffersSearchInputVar, ResortRequestVariables } from '../organisms/OfferCardCarousel/OfferCardCarousel.types';\nimport config from '../../src/lib/config';\n\n//SEO dynamic expression pattern for AEM model values\nconst { MARRIOTT_DEALS, REQUIRED_ASPECT_RATIO, NO_INDEX_NO_FOLLOW, NO_INDEX_FOLLOW, CHINESE_LANG } = constants;\nconst imageDomain = IMAGE_CACHE_DOMAIN;\nexport const canUseDOM = !!(typeof window !== 'undefined' && window.document);\n\nexport const validateDetailsField = (value?: string): boolean => {\n if (value === null || value === '' || value === 'No Message Found') {\n return false;\n } else {\n return true;\n }\n};\n\nexport const getFallbackImg = (url: string, imgAspectRatio: string): string => {\n const aspectRatio = imgAspectRatio.toUpperCase();\n switch (aspectRatio) {\n case 'WIDE':\n return `${url}-${ASPECT_RATIO['Wide']}${IMG_TYPE_JPG}`;\n\n case 'FEATURE':\n return `${url}-${ASPECT_RATIO['Feature']}${IMG_TYPE_JPG}`;\n\n case 'CLASSIC':\n return `${url}-${ASPECT_RATIO['Classic']}${IMG_TYPE_JPG}`;\n\n case 'PANO':\n return `${url}-${ASPECT_RATIO['Pano']}${IMG_TYPE_JPG}`;\n\n default:\n return `${url}-${ASPECT_RATIO['Square']}${IMG_TYPE_JPG}`;\n }\n};\n\nexport const decodeHtml = (text: string): string => {\n if (typeof document !== 'undefined') {\n const fragment = DOMPurify.sanitize(text, {\n ALLOWED_TAGS: [\n 'b',\n 'strong',\n 'i',\n 'em',\n 'u',\n 's',\n 'del',\n 'sub',\n 'sup',\n 'mark',\n 'small',\n 'big',\n 'ul',\n 'ol',\n 'li',\n 'dl',\n 'dt',\n 'dd',\n 'table',\n 'tr',\n 'td',\n 'th',\n 'thead',\n 'tbody',\n 'tfoot',\n 'colgroup',\n 'col',\n 'caption',\n 'p',\n 'br',\n 'hr',\n 'blockquote',\n 'pre',\n 'a',\n 'code',\n 'span',\n 'div',\n 'img',\n 'h1',\n 'h2',\n 'h3',\n 'h4',\n 'h5',\n 'h6',\n ],\n RETURN_DOM: true,\n });\n // Convert the DOM Fragment to string\n let sanitizedHtml = fragment.innerHTML ?? '';\n // Replace sequences of multiple spaces with corresponding number of non-breaking spaces\n sanitizedHtml = sanitizedHtml.replace(/ {2,}/g, match => ' '.repeat(match.length));\n return sanitizedHtml;\n }\n return text;\n};\n\nexport const returnDecodedString = (input: string): string => {\n return input.replaceAll('&', ' &');\n};\n\nexport const getLocalizedDate = (date: string, lang: string | undefined, yearText: string, OfText: string): string => {\n let day = moment(date).format('DD').trim();\n const year = moment(date).format('YYYY').trim();\n let month;\n let updatedDate = '';\n\n if (\n lang === 'en-US' ||\n lang === 'it-IT' ||\n lang === 'fr-FR' ||\n lang === 'de-DE' ||\n lang === 'ru-RU' ||\n lang === 'en-GB'\n ) {\n month = moment(date).format('MMMM').trim();\n if (lang === 'en-US') {\n updatedDate = `${month} ${day}, ${year}`;\n } else if (lang === 'de-DE') {\n updatedDate = `${day}. ${month} ${year}`;\n } else if (lang === 'ru-RU') {\n updatedDate = `${day} ${month} ${year} r.`;\n } else if (lang === 'it-IT' || lang === 'fr-FR' || lang === 'en-GB') {\n updatedDate = `${day} ${month} ${year}`;\n }\n } else if (lang === 'zh-CN' || lang === 'ja-JP') {\n month = moment(date).format('MMM').trim();\n updatedDate = `${year}${yearText}${month}${day}æ—¥`;\n } else if (lang === 'ko-KR') {\n day = moment(date).format('D').trim();\n month = moment(date).format('MMM').trim();\n updatedDate = `${year}${yearText} ${month} ${day}ì¼`;\n } else if (lang === 'es-ES' || lang === 'pt-BR') {\n month = moment(date).format('MMMM').trim();\n updatedDate = `${day} ${OfText} ${month} ${OfText} ${year}`;\n }\n return updatedDate;\n};\n\nexport const processDynamicProps = (props: any) => {\n // eslint-disable-next-line react-hooks/rules-of-hooks\n const { t } = useTranslation();\n const marriottDealsLocalisedValues = {\n marriottDeals: t(MARRIOTT_DEALS),\n inText: t('in'),\n };\n const seoData = props?.productSpecificResponse;\n const apiData = props.productSpecificResponse?.responseObject?.edges[0]?.node;\n const facetData = props.productSpecificResponse?.responseObject?.facets;\n const languageCodes = props?.isPreview\n ? []\n : facetData?.filter((obj: any) => obj?.type?.description === 'locale')[0]?.buckets?.map((obj: any) => obj.code);\n const titleFormat = props.model?.metaProperties?.filter(\n (obj: any) => obj.name === 'og:title' && obj?.value?.trim() !== ''\n );\n const title = titleFormat?.length\n ? generateI18Title(apiData, titleFormat[0])\n : generateTitle(apiData, marriottDealsLocalisedValues);\n const imageArr = apiData?.photos?.images ?? [];\n const image = imageArr.find((img: any) => img.aspectRatio.toUpperCase() === REQUIRED_ASPECT_RATIO);\n\n if (seoData?.marsha) {\n if (props?.sessionData?.cacheData?.data) {\n const sessionDataObj = props.sessionData.cacheData;\n const propHeaderObj = sessionDataObj.data;\n const ariesResObj = {\n propertyId: seoData.marsha,\n marshaRate: false,\n searchCriteriaChanged: false,\n numberOfRooms: 1,\n lengthOfStay: '1',\n rateListMenuViewType: 'rooms',\n singleDateLimit: 1728259199999,\n groupDateLimit: 1728259199999,\n availabilitySearchSourceHWS: false,\n };\n props['sessionData']['locale'] = props?.headersData[`accept-language`]\n ? props.headersData[`accept-language`].split(',')?.[0]\n : null;\n props['sessionData']['brandCode'] = props?.productSpecificResponse?.brand ?? '';\n propHeaderObj['AriesReservation'] = ariesResObj;\n sessionDataObj['data'] = propHeaderObj;\n props['sessionData']['cacheData'] = sessionDataObj;\n }\n }\n const updatedUrl: {\n url: string;\n hreflang: string;\n }[] = generateOfferUrl(\n apiData.urlTitle ?? '',\n apiData.id ?? '',\n apiData.seoNickname ?? '',\n apiData.numProperties ?? '',\n seoData?.marsha ?? '',\n [],\n seoData?.locale,\n seoData?.isPreview === 'true'\n );\n\n const hreflangList: {\n url: string;\n hreflang: string;\n }[] = generateOfferUrl(\n apiData.urlTitle ?? '',\n apiData.id ?? '',\n apiData.seoNickname ?? '',\n apiData.numProperties ?? '',\n seoData.marsha ?? '',\n languageCodes,\n seoData.locale,\n seoData?.isPreview === 'true'\n );\n\n //temp mocking seo metadata\n const metaProperties = props.model?.metaProperties ?? [\n {\n name: 'og:title',\n value: '$title',\n },\n {\n name: 'og:description',\n value: '',\n },\n {\n name: 'imageURL',\n value: '',\n },\n {\n name: 'og:url',\n value: '',\n },\n {\n name: 'og:type',\n value: 'website',\n },\n {\n name: 'og:site_name',\n value: 'Marriott International',\n },\n {\n name: 'fbAppId',\n value: '311568359040551',\n },\n ];\n\n const metaNames = props.model?.metaNames ?? [\n {\n name: 'keyword',\n value: '',\n },\n {\n name: 'msapplication-TileColor',\n value: '',\n },\n {\n name: 'msapplication-TileImage',\n value: '',\n },\n {\n name: 'onLoadLightboxURI',\n value: '',\n },\n {\n name: 'description',\n value: '',\n },\n {\n name: 'showLightboxOnLoad',\n value: '',\n },\n {\n name: 'robots',\n value: 'index,follow',\n },\n ];\n\n const mappedProperties = metaProperties.map((meta: { name: string; value: string }) => {\n if (meta.name.includes('og:title')) {\n meta.value = title;\n return meta;\n }\n if (/og:description|description/.test(meta.name)) {\n meta.value = apiData?.descriptionTeaser ?? '';\n return meta;\n }\n if (/og:image|imageURL/.test(meta.name)) {\n meta.value = `${imageDomain}${image?.url}`;\n return meta;\n }\n if (/og:url/.test(meta.name)) {\n meta.value = updatedUrl ? updatedUrl[0]['url'] : '';\n return meta;\n }\n if (meta.value.trim() === '' && apiData[`${meta.name}`]) {\n meta.value = apiData[`${meta.name}`];\n }\n return meta;\n });\n\n const mappedMetaNames = metaNames.map((meta: { name: string; value: string }) => {\n //AEM send \"index,follow\" by default\n if (meta.name === 'robots' && !apiData.searchable) {\n meta.value = NO_INDEX_NO_FOLLOW;\n return meta;\n }\n if (/og:description|description/.test(meta.name)) {\n meta.value = apiData?.descriptionTeaser ?? '';\n return meta;\n }\n if (meta.value.trim() === '' && apiData[`${meta.name}`]) {\n meta.value = apiData[`${meta.name}`];\n }\n return meta;\n });\n const hreflangUrls = hreflangList?.map(item => ({\n href: item.url,\n hreflang: item.hreflang,\n }));\n props.model['metaProperties'] = mappedProperties;\n props.model['metaNames'] = mappedMetaNames;\n props.model['title'] = title;\n props.model['canonical'] = updatedUrl ? updatedUrl[0]['url'] : '';\n props.model['hreflangList'] = hreflangUrls;\n};\n\nexport const updateDataLayer = (servicedata: any) => {\n const dataLayer: any = {};\n const apiData = servicedata?.responseObject?.edges[0]?.node;\n const uri = servicedata?.uri ?? null;\n const partProperties = apiData?.participatingProperties ?? {};\n\n dataLayer['brndCode'] = servicedata?.brand;\n dataLayer['hotelLoc'] = Object.keys(partProperties)?.length ? processLoc(partProperties, ',') : '';\n dataLayer['mrshaCode'] = servicedata?.marsha;\n dataLayer['offer_title'] = apiData?.title;\n dataLayer['promo_single_or_multi_property'] = uri !== null ? checkOfferType(uri) : '';\n dataLayer['promo_special_offer_id'] = servicedata?.offerId;\n\n dataLayer['prop_address_city'] = partProperties?.city;\n dataLayer['prop_address_city_state_country'] = Object.keys(partProperties)?.length\n ? processLoc(partProperties, '|')\n : '';\n dataLayer['prop_address_country_abbr'] = partProperties?.countryCode ?? '';\n dataLayer['prop_brand_code'] = servicedata?.brand;\n dataLayer['prop_brand_name'] = Object.keys(partProperties)?.length ? partProperties.brandName : '';\n dataLayer['prop_marsha_code'] = servicedata?.marsha;\n dataLayer['prop_name'] = partProperties?.properties?.[0]?.basicInformation?.name;\n dataLayer['prop_currency_type'] = partProperties?.properties?.[0]?.basicInformation?.currency;\n dataLayer['prop_address_state_abbr'] = partProperties?.stateCode ?? '';\n dataLayer['prop_address_state_name'] = partProperties?.stateProvince ?? '';\n\n dataLayer['search_cluster_code'] = apiData?.clusterCode;\n return dataLayer;\n};\n\nconst processLoc = (obj: any, separator: string) => {\n const locArr: string[] = [];\n ['city', 'state', 'country'].forEach(item => {\n if (obj[item] && obj[item].trim() !== '') {\n locArr.push(obj[item]);\n }\n });\n return locArr.join(separator);\n};\n\nconst checkOfferType = (uri: string) => {\n if (uri.toLowerCase().indexOf('offers-spo') > -1) {\n return 'SPO_OFFER';\n }\n if (uri.toLowerCase().indexOf('offers-mpo') > -1) {\n return 'MPO_OFFER';\n }\n if (uri.toLowerCase().indexOf('offers-apo') > -1) {\n return 'ANC_OFFER';\n }\n return '';\n};\n\nexport const isValidUrl = (urlString: string) => {\n try {\n return Boolean(new URL(urlString));\n } catch (e) {\n return false;\n }\n};\n\nexport const processDomainUrl = (url: string) => {\n let modUrl = url;\n if (isValidUrl(url)) {\n if (url.includes('/offers/')) {\n modUrl = '/offers/' + url.split('/offers/').pop();\n }\n }\n return modUrl;\n};\n\nexport const makeDomainSpecificContent = (content = '') => {\n // CNWEB-3177 To mitigate issue for .CN urls\n // needs to be revisited for a proper fix for all URLs\n if (content?.includes(MARRIOTT_DOMAIN_CN)) {\n return content.replace(MARRIOTT_DOMAIN_CN, '');\n }\n\n return content && content.includes('https://www.marriott.com')\n ? content.replace('https://www.marriott.com', '')\n : content;\n};\n\nlet SUBDIRECTORY_PREFIX = '';\n\nexport const setOffersSubDirectoryPrefix = (prefix = '') => (SUBDIRECTORY_PREFIX = prefix);\n\nexport const addSubDirectoryPrefix = (url = '') =>\n SUBDIRECTORY_PREFIX &&\n url?.startsWith('/') &&\n url?.substring(1, findNthOccurence(url, 1, '/'))?.toLowerCase() !== SUBDIRECTORY_PREFIX?.toLowerCase()\n ? SUBDIRECTORY_PREFIX\n ? '/' + SUBDIRECTORY_PREFIX + url\n : url\n : url;\n\nconst findNthOccurence = (str: string, nth: number, char: string) => {\n let index = 0;\n for (let i = 0; i < nth; i += 1) {\n if (index !== -1) index = str.indexOf(char, index + 1);\n }\n return index;\n};\n\nexport const setSessionKey = (key: string, value: string) => {\n if (canUseDOM) {\n sessionStorage.removeItem(key);\n sessionStorage.setItem(key, value);\n }\n};\n\nexport const processAcceptLang = (locale: string) => {\n return locale ? (locale?.includes(',') ? locale?.split(',')[0] : locale?.replace('_', '-')) : locale;\n};\n\nexport const checkEliteUser = (datalayer: any) => {\n let rewardMemberLevel =\n datalayer?.['mr_id'] && datalayer?.['mr_prof_rewards_level'] ? datalayer?.['mr_prof_rewards_level'] : '';\n let isEliteUser = false;\n if (rewardMemberLevel) {\n rewardMemberLevel = (rewardMemberLevel as string).split(' ')?.map((item: string) => item.trim())[0];\n isEliteUser = true;\n }\n return { isEliteUser, memberLevel: rewardMemberLevel };\n};\n\nconst getPosition = (string: string, subString: string, index: number) => {\n return string?.split(subString, index).join(subString).length;\n};\nconst getImagePath = (ren: any, imagePath: string, imageDomainVal: any) => {\n const imageDomainPath = imageDomainVal ?? imageDomain;\n let referencePath = ren?.renditionPath.slice(0, ren?.renditionPath.indexOf(','));\n referencePath = referencePath.includes('https') ? referencePath : `${imageDomainPath}${referencePath}`;\n const urlParams = new URL(referencePath).searchParams;\n const width = ren?.width && ren?.width !== 0 ? ren?.width : urlParams.get('wid');\n const height = ren?.height && ren?.height !== 0 ? ren?.height : urlParams.get('hei') ?? '';\n const fit = urlParams.get('fit');\n const rendition =\n imageDomainPath + imagePath + '?wid=' + width + (height ? '&hei=' + height : '') + (fit ? '&fit=' + fit : '');\n const rendition2x =\n imageDomainPath +\n imagePath +\n '?wid=' +\n 2 * width +\n (height ? '&hei=' + 2 * height : '') +\n (fit ? '&fit=' + fit : '');\n return `${rendition}, ${rendition2x} 2x`;\n};\n\nexport const getMediaSource = (offersDataMedia: any, expectedSource: any, aspectRatio?: any): string => {\n //updated logic\n if (expectedSource == PRIMARY_MEDIA) {\n let primaryMatchCount = 0;\n for (let i = 0; i <= aspectRatio?.length; i++) {\n if (offersDataMedia?.primaryImage?.imageUrls?.[aspectRatio[i]]) {\n primaryMatchCount++;\n }\n }\n if (primaryMatchCount) {\n return PRIMARY_MEDIA;\n } else {\n return 'model';\n }\n } else {\n if (offersDataMedia?.secondaryImage?.imageSrc) {\n return SECONDARY_MEDIA;\n } else {\n return 'model';\n }\n }\n};\n\nexport const getUXLMediaSource = (uxlMedia: any, expectedSource: string): string => {\n if (expectedSource == SECONDARY_MEDIA) {\n if (uxlMedia?.secondaryImage?.imageSrc) {\n return SECONDARY_MEDIA;\n } else if (uxlMedia?.primaryImage?.imageSrc) {\n return PRIMARY_MEDIA;\n } else {\n return 'model';\n }\n } else if (expectedSource == PRIMARY_MEDIA) {\n if (uxlMedia?.primaryImage?.imageSrc) {\n return PRIMARY_MEDIA;\n } else {\n return 'model';\n }\n } else {\n return 'model';\n }\n};\n\nexport const getMediaDataSecondary = (media: any, model: any, imageDomainVal: any, mediaSource: string) => {\n const imageDomainPath = imageDomainVal ?? imageDomain;\n const isChinaDomain = imageDomainPath === 'https://cache.marriott.com.cn';\n const imgSrcPath = isChinaDomain\n ? media?.secondaryImage?.imageSrc?.includes('zh_cn')\n ? media?.secondaryImage?.imageSrc\n : getFallbackImg(config.FALLBACK_CN_IMG_URI, WIDE_ASPECT_RATIO)\n : media?.secondaryImage?.imageSrc ?? '';\n return {\n renditions: [],\n fileReferenceBackgroundImage: mediaSource == SECONDARY_MEDIA ? media?.secondaryImage?.imageSrc : '',\n altText:\n mediaSource == PRIMARY_MEDIA\n ? media?.primaryImage?.alternateDescription\n : mediaSource == SECONDARY_MEDIA\n ? media?.secondaryImage?.alternateDescription\n : '',\n dynamic: true,\n assetPath: imgSrcPath ? `${imageDomainPath}${imgSrcPath}` : model?.assetPath,\n };\n};\n\nexport const getMediaData = (\n media: any,\n model: any,\n mediaSource: string,\n expectedMedia: string,\n imageDomainVal: any,\n asptRatio?: string\n) => {\n const mediaData =\n mediaSource == PRIMARY_MEDIA ? media?.primaryImage : mediaSource == SECONDARY_MEDIA ? media?.secondaryImage : null;\n const imgAspectRatio = asptRatio ?? WIDE_HOR_IMG;\n const imageDomainPath = imageDomainVal ?? imageDomain;\n const renditionsArr = [];\n let imgSrcPath = '';\n if (expectedMedia == PRIMARY_MEDIA) {\n for (let i = 0; i < model?.renditions?.length; i++) {\n const ren = model?.renditions[i];\n const aspectRatio = ren?.renditionPath?.slice(\n getPosition(ren?.renditionPath, ':', 2) + 1,\n ren?.renditionPath?.indexOf('?')\n );\n const key = aspectRatio as keyof typeof ASPECT_RATIO_UXL_FIELD_MAPPING;\n const imagePath = mediaData?.imageUrls?.[ASPECT_RATIO_UXL_FIELD_MAPPING?.[key]];\n const renditionObj = {\n renditionPath: getImagePath(ren, imagePath, imageDomainPath),\n mediaValue: ren?.mediaValue,\n width: ren?.width,\n dynamic: ren?.dynamic,\n mediaQuery: ren?.mediaQuery,\n height: ren?.height,\n damPath: '',\n };\n renditionsArr.push(renditionObj);\n }\n }\n\n const key = imgAspectRatio as keyof typeof ASPECT_RATIO_UXL_FIELD_MAPPING;\n const isChinaDomain = imageDomainPath === 'https://cache.marriott.com.cn';\n imgSrcPath =\n mediaSource === PRIMARY_MEDIA\n ? mediaData?.imageUrls?.[ASPECT_RATIO_UXL_FIELD_MAPPING?.[key]] ??\n renditionsArr?.[0]?.renditionPath?.slice(0, getPosition(renditionsArr[0]?.renditionPath, ':', 2)) ??\n mediaData?.imageSrc\n : mediaSource === SECONDARY_MEDIA\n ? isChinaDomain\n ? media?.secondaryImage?.imageSrc?.includes('zh_cn')\n ? media?.secondaryImage?.imageSrc\n : getFallbackImg(config.FALLBACK_CN_IMG_URI, WIDE_ASPECT_RATIO)\n : media?.secondaryImage?.imageSrc ?? ''\n : '';\n return {\n renditions: renditionsArr,\n fileReferenceBackgroundImage:\n mediaSource == PRIMARY_MEDIA\n ? media?.primaryImage?.imageSrc\n : mediaSource == SECONDARY_MEDIA\n ? media?.secondaryImage?.imageSrc\n : '',\n altText:\n mediaSource == PRIMARY_MEDIA\n ? media?.primaryImage?.alternateDescription\n : mediaSource == SECONDARY_MEDIA\n ? media?.secondaryImage?.alternateDescription\n : '',\n dynamic: true,\n assetPath: imgSrcPath ? `${imageDomainPath}${imgSrcPath}` : model?.assetPath,\n };\n};\nexport const getEdgeHost = (cookies: string) => {\n const cookieString = decodeURIComponent(cookies);\n const strValue = getCookieValue(cookieString, MBOX_COOKIE);\n const match = extractValue(strValue, 'PC#', '#') ?? '';\n let edgeValue = '';\n if (match.split('.').length > 1 && match.split('.')[1].split('_').length > 1) {\n edgeValue = match.split('.')[1].split('_')[0];\n\n return edgeValue;\n } else return null;\n};\n\nexport const getImageWithDomain = (imgSrc: string, imageDomainVal: any): string => {\n if (imgSrc) {\n return `${imageDomainVal ?? imageDomain + imgSrc}`;\n } else {\n return '';\n }\n};\n\nexport const getParamValue = (urlParams: any, paramVal: string) => {\n return urlParams?.has(paramVal) && urlParams?.get(paramVal) !== null && urlParams?.get(paramVal) !== ''\n ? urlParams?.get(paramVal)\n : '';\n};\n\nexport const checkParamValue = (paramVal: string, urlParams?: any) => {\n if (urlParams) {\n return urlParams?.has(paramVal) && urlParams?.get(paramVal) !== null && urlParams?.get(paramVal) !== ''\n ? true\n : false;\n } else {\n return paramVal !== null && paramVal !== '' && paramVal !== undefined ? true : false;\n }\n};\n\nexport const getDeepLinkParams = (urlParams: any, ariesSearch?: any) => {\n let searchByGeoLoc: boolean = false;\n let searchBystate: boolean = false;\n let searchBycountry: boolean = false;\n let searchByOffersIds: boolean = false;\n let offerIds: string[] | undefined = [];\n let isEmptyOfferIds: boolean = false;\n let propertyCodes: string[] | undefined = [];\n let searchByPropertyCodes: boolean = false;\n let isEmptyPropertyCodes: boolean = false;\n let searchByStayBasedOfferFlag: boolean = false;\n let isEmptyStayBasedOfferFlag: boolean = false;\n let destinationCitySearched: string | null = '';\n let hasPlaceId: string | null = '';\n let destinationSearched: string | null = null;\n let notEligible: boolean = false;\n let invalidUser: boolean = false;\n let invalidDeal: boolean = false;\n let numAdultsPerRoom: string | null = '1';\n let numChildrenPerRoom: string | null = '0';\n let numGuestsPerRoom: string | null = '1';\n let numRooms: string | null = '1';\n notEligible = urlParams?.has('notEligible') ? true : false;\n invalidUser = urlParams?.has('invalidUserMsg') ? true : false;\n invalidDeal = urlParams?.has('invalidDealMsg') ? true : false;\n hasPlaceId = getParamValue(urlParams, 'destinationAddress.placeId');\n destinationSearched = getParamValue(urlParams, 'destinationAddress.destination');\n destinationCitySearched = getParamValue(urlParams, 'destinationAddress.city');\n searchByGeoLoc =\n (checkParamValue('destinationAddress.latitude', urlParams) &&\n checkParamValue('destinationAddress.longitude', urlParams)) ||\n (checkParamValue(ariesSearch?.latitude) && checkParamValue(ariesSearch?.longitude));\n searchBystate =\n checkParamValue(ariesSearch?.stateProvince) || checkParamValue('destinationAddress.stateProvince', urlParams);\n searchBycountry = checkParamValue(ariesSearch?.country) || checkParamValue('destinationAddress.country', urlParams);\n offerIds = urlParams?.has('offers') && urlParams?.get('offers') !== '' ? urlParams?.get('offers')?.split(',') : [];\n searchByOffersIds =\n urlParams?.has('offers') && urlParams?.get('offers') !== '' && urlParams?.get('offers')?.split(',')?.length\n ? true\n : false;\n isEmptyOfferIds = urlParams?.has('offers') && urlParams?.get('offers') === '';\n propertyCodes =\n urlParams?.has('propertycodes') && urlParams?.get('propertycodes') !== ''\n ? urlParams?.get('propertycodes')?.split(',')\n : urlParams?.has('propertyCode') && urlParams?.get('propertyCode') !== ''\n ? urlParams?.get('propertyCode')?.split(',')\n : [];\n\n searchByPropertyCodes =\n (urlParams?.has('propertycodes') &&\n urlParams?.get('propertycodes') !== '' &&\n urlParams?.get('propertycodes')?.split(',').length) ||\n (urlParams?.has('propertyCode') &&\n urlParams?.get('propertyCode') !== '' &&\n urlParams?.get('propertyCode')?.split(',').length)\n ? true\n : false;\n isEmptyPropertyCodes =\n (urlParams?.has('propertycodes') && urlParams?.get('propertycodes') === '') ||\n (urlParams?.has('propertyCode') && urlParams?.get('propertyCode') === '');\n searchByStayBasedOfferFlag = urlParams?.has('stayBasedOffer') && urlParams?.get('stayBasedOffer') == 'false';\n isEmptyStayBasedOfferFlag = urlParams?.has('stayBasedOffer') && urlParams?.get('stayBasedOffer') === '';\n numAdultsPerRoom = urlParams?.has('numAdultsPerRoom') ? urlParams?.get('numAdultsPerRoom') : '1';\n numChildrenPerRoom = urlParams?.has('childrenCount') ? urlParams?.get('childrenCount') : '0';\n numGuestsPerRoom = urlParams?.has('guestCountBox') ? urlParams?.get('guestCountBox') : '1';\n numRooms = urlParams?.has('roomCount') ? urlParams?.get('roomCount') : '1';\n const deepLinkParamObj = {\n isEmptyStayBasedOfferFlag: isEmptyStayBasedOfferFlag,\n searchByStayBasedOfferFlag: searchByStayBasedOfferFlag,\n isEmptyPropertyCodes: isEmptyPropertyCodes,\n searchByPropertyCodes: searchByPropertyCodes,\n propertyCodes: propertyCodes,\n isEmptyOfferIds: isEmptyOfferIds,\n searchByOffersIds: searchByOffersIds,\n offerIds: offerIds,\n searchBycountry: searchBycountry,\n searchBystate: searchBystate,\n searchByGeoLoc: searchByGeoLoc,\n destinationCitySearched: destinationCitySearched,\n destinationSearched: destinationSearched,\n hasPlaceId: hasPlaceId,\n notEligible: notEligible,\n invalidUser: invalidUser,\n invalidDeal: invalidDeal,\n numAdultsPerRoom: numAdultsPerRoom,\n numChildrenPerRoom: numChildrenPerRoom,\n numGuestsPerRoom: numGuestsPerRoom,\n numRooms: numRooms,\n };\n return deepLinkParamObj;\n};\n\nexport const generateUXLVariablesForDestination = (\n latitude: string,\n longitude: string,\n stateCode: any,\n countryCode: any,\n isStateEnabled: any,\n isCountryEnabled: any,\n isPOI: any\n) => {\n const obj: any = {\n limit: 15,\n offset: 0,\n participatingPropertiesLimit2: 1,\n };\n if (isPOI || (!isStateEnabled && !isCountryEnabled)) {\n return {\n ...obj,\n input: {\n latitude: parseFloat(latitude),\n longitude: parseFloat(longitude),\n },\n sort: {\n field: 'OFFER_DISTANCE',\n },\n };\n } else if (isStateEnabled && !isCountryEnabled) {\n return {\n ...obj,\n input: {\n state: stateCode,\n country: countryCode,\n },\n sort: {\n field: 'BOOKING_END_DATE',\n },\n };\n } else if (!isStateEnabled && isCountryEnabled) {\n return {\n ...obj,\n input: {\n country: countryCode,\n },\n sort: {\n field: 'BOOKING_END_DATE',\n },\n };\n }\n};\nconst brandLabelMappings: Record<string, string> = {\n luxuryBrands: 'offersSelectAllLuxuryBrands',\n premiumBrands: 'offersSelectAllPremiumBrands',\n selectBrands: 'offersSelectAllSelectBrands',\n longerStayBrands: 'offersSelectAllLongerStaysBrands',\n};\nexport const getBrandCategorySelectAllLabel = (category: string): string => {\n return brandLabelMappings[category] || '';\n};\n\nexport const getControlsData = (currentFilterData: any) => {\n const desiredKeys = ['code', 'count', 'label', 'description'];\n const updatedFilterOptions = currentFilterData?.map((obj: any) => {\n const newFilterOptionsObj: any = {};\n desiredKeys?.forEach(key => {\n newFilterOptionsObj[key] = obj[key];\n });\n const modifiedLabel = obj?.description;\n return { ...newFilterOptionsObj, label: modifiedLabel };\n });\n return updatedFilterOptions;\n};\nexport const getCurrentDate = () => {\n const today = new Date();\n const year = today.getFullYear();\n const month = String(today.getMonth() + 1).padStart(2, '0'); // Months are zero-based\n const day = String(today.getDate()).padStart(2, '0'); // Ensure two digits\n\n return `${year}-${month}-${day}`;\n};\nexport const getTomorrowDate = (fromOSERP: boolean = false) => {\n const today = new Date();\n const tomorrow = new Date(today);\n tomorrow.setDate(today.getDate() + 1); // Add one day\n\n const year = tomorrow.getFullYear();\n const month = String(tomorrow.getMonth() + 1).padStart(2, '0'); // Months are zero-based\n const day = String(tomorrow.getDate()).padStart(2, '0'); // Ensure two digits\n\n return fromOSERP ? `${year}/${month}/${day}` : `${year}-${month}-${day}`;\n};\n\nexport const getOffersDateFormatted = (date: any): string => {\n return date?.format('MM/DD/YYYY') ?? '';\n};\n\nexport const calculateTimeLeft = (startDate: string, isAuthorMode: boolean): TimeLeft => {\n if (isAuthorMode) return { days: 0, hours: 0, minutes: 0, seconds: 0 };\n\n const start = new Date(startDate);\n const now = new Date();\n const difference = start.getTime() - now.getTime();\n\n if (difference <= 0) return { days: 0, hours: 0, minutes: 0, seconds: 0 };\n\n return {\n days: Math.floor(difference / (1000 * 60 * 60 * 24)),\n hours: Math.floor((difference / (1000 * 60 * 60)) % 24),\n minutes: Math.floor((difference / 1000 / 60) % 60),\n seconds: Math.floor((difference / 1000) % 60),\n };\n};\n\nexport const checkCampaignStatus = (campaignStartDate: string, campaignEndDate: string): string => {\n const localTime = new Date();\n const startTime = new Date(Date.parse(campaignStartDate)).getTime();\n const endTime = new Date(Date.parse(campaignEndDate)).getTime();\n const currentTime = localTime.getTime();\n\n // First, check if it's within the campaign period (active)\n const state =\n currentTime >= startTime && currentTime < endTime ? constants.CAMPAIGN_ACTIVE : constants.CAMPAIGN_INACTIVE;\n\n return state;\n};\n\nexport const isUserAuthenticated = (data: any) => {\n if (!data) {\n return false;\n }\n\n const { memState = '', mr_id = null } = data;\n return mr_id !== null && memState === 'authenticated';\n}; // Default to unauthenticated\n\n// common functions for offercard and offercardCarousel\nexport const trackingPropertiesObj = (modelProp: any) => {\n const {\n trackingContentPosition,\n trackingOfferType,\n atCCeVar48,\n trackingDescription,\n trackingTag,\n clickTrack,\n impressionEventType,\n merchandisingCategory,\n additionalTrackingVariables,\n location,\n payloadType,\n compName,\n enableScrollingBehavior,\n cardLocation,\n leftArrowDesc,\n rightArrowDesc,\n description,\n } = modelProp?.trackingProperties || {};\n\n return {\n trackingContentPosition,\n trackingOfferType,\n atCCeVar48,\n trackingDescription,\n trackingTag,\n isCoBrand: false,\n clickTrack,\n impressionTrack: true,\n impressionCount: true,\n impressionEventType,\n merchandisingCategory,\n additionalTrackingVariables,\n location,\n payloadType,\n compName,\n enableScrollingBehavior,\n cardLocation,\n leftArrowDesc,\n rightArrowDesc,\n description,\n };\n};\nexport const isMemberExclusive = (memberLevel: Array<string>): boolean => {\n if (memberLevel?.find(ele => MEMBER_EXCLUSIVE.includes(ele))) {\n return true;\n }\n return false;\n};\nexport const processOfferCarousel = (\n data: any,\n model: any,\n isRecipeEliteExclusive: any,\n envVarsObject: any,\n cardType: string,\n openInaNewTab: any,\n isPreview?: boolean\n) => {\n const count = data?.offersData?.length;\n const cardKeys = Object?.keys(data?.offersData);\n const imageDomainVal = envVarsObject?.['UXL_IMAGE_CACHE_DOMAIN'] ?? imageDomain;\n\n const offerMap = data?.offersData?.map((card: any, index: number) => {\n let imageUri = null;\n let imageUriLg = null;\n const sizeParams = isPreview ? ' 2x' : '';\n const baseUri = `${imageDomainVal}${card.image}`;\n if (card.image.includes('/is/image')) {\n imageUri = `${baseUri}?wid=365&fit=constrain${sizeParams}`;\n imageUriLg = `${baseUri}?wid=800&fit=constrain${sizeParams}`;\n } else {\n imageUri = `${baseUri}?downsize=365px:*${sizeParams}`;\n imageUriLg = `${baseUri}?downsize=800px:*${sizeParams}`;\n }\n\n const isMerchandisingOffer = card.parentOfferType === MERCHANDISING_OFFER;\n const eyeBrowText = isMerchandisingOffer\n ? card?.descriptionTeaser\n : card.propertiesCount === 1\n ? card.propertyName\n : model?.eyebrow;\n\n const MemberExclusive = isMemberExclusive(card.memberLevel) ?? false;\n const badgeText = isMerchandisingOffer ? card?.offerCategory : MemberExclusive ? model?.memberExclusive : '';\n const cardLocDetails = model?.trackingProperties?.location\n ? `${model.trackingProperties.location}-card-${index}`\n : `card-${index}`;\n const cardTrackingTag = model?.trackingProperties?.trackingTag\n ? `${model?.trackingProperties?.trackingTag}-${card.catalogId}`\n : card.catalogId || null;\n const cardTrackingOfferType = model?.trackingProperties?.trackingOfferType\n ? `${model?.trackingProperties?.trackingOfferType}-${card.parentOfferType}`\n : card.parentOfferType || null;\n const isCardVertical = cardType === CARDSTYPE_VERTICAL;\n const cardObj = {\n ...(isCardVertical && {\n cardVerticalVariations: CardVerticalVariations.Tall1x1,\n ':type': 'mi-aem-common-spa/components/content/cardvertical',\n description: card.description,\n ctaLinkText: model?.readMore || 'Read More',\n }),\n ...(!isCardVertical && {\n cardVerticalVariations: CardVerticalVariations.Standard,\n cardLayeredVariations: cardType === LAYERED_WIDE ? CARD_LAYERED_WIDE : CARD_LAYERED_VARIATION,\n ':type': 'mi-aem-common-spa/components/content/cardlayered',\n description: card?.header,\n eyebrow: eyeBrowText,\n }),\n };\n\n return {\n ':items': {\n cardlayered_copy: {\n trackingProperties: {\n atCCeVar48: model?.trackingProperties?.atCCeVar48 || null,\n additionalTrackingVariables: model?.trackingProperties?.additionalTrackingVariables || null,\n trackingDescription: card?.header,\n description: card?.header,\n clickTrack: model?.trackingProperties?.clickTrack ? true : false,\n impressionTrack: false,\n location: cardLocDetails,\n trackingContentPosition: cardLocDetails,\n merchandisingCategory: model?.trackingProperties?.merchandisingCategory\n ? model.trackingProperties.merchandisingCategory\n : 'nonCobrand',\n impressionCount: false,\n trackingTag: cardTrackingTag,\n trackingOfferType: cardTrackingOfferType,\n },\n styleclass: model?.cardTheme,\n headerTag: 'h3',\n icon: '',\n impressionTrack: IMPRESSION_TRACK,\n badgeIcon: !isRecipeEliteExclusive ? 'icon-lock' : '',\n imgAltText: card?.header ? card.header : IMAGE_ALT_TEXT,\n clickTrack: model?.trackingProperties?.clickTrack ? true : false,\n fileReferenceImage: `${imageDomainVal}${card.image}`,\n header: card.header,\n fontSize: 't-subtitle-l',\n [cardType === LAYERED_WIDE ? 'dynamicMediaWide' : 'dynamicMedia']: {\n altText: card?.header ? card.header : IMAGE_ALT_TEXT,\n assetPath: `${imageDomainVal}${card.image}`,\n dynamic: true,\n renditions: [\n {\n renditionPath: imageUriLg,\n mediaValue: '992px',\n width: 0,\n dynamic: true,\n damPath: `${imageDomainVal}${card.image}`,\n mediaQuery: 'min-width',\n height: 0,\n },\n {\n renditionPath: imageUri,\n mediaValue: '576px',\n width: 0,\n dynamic: true,\n damPath: `${imageDomainVal}${card.image}`,\n mediaQuery: 'min-width',\n height: 0,\n },\n {\n renditionPath: imageUri,\n mediaValue: '576px',\n width: 0,\n dynamic: true,\n damPath: `${imageDomainVal}${card.image}`,\n mediaQuery: 'max-width',\n height: 0,\n },\n ],\n damPath: card.image,\n },\n merchandisingCategory: MERCHANDISING_CATEGORY,\n impressionCount: IMPRESSION_TRACK,\n ctaLink: addSubDirectoryPrefix(makeDomainSpecificContent(card.ctaUrl)),\n badgeText: badgeText,\n logoIcon: '',\n openInNewTab: openInaNewTab,\n ...cardObj,\n },\n },\n };\n });\n return { count, cardKeys, offerMap };\n};\n\nexport const processUxlData = (\n uxlData: any,\n isFallback?: boolean,\n cardType?: string,\n model?: { maxOffersCount?: number },\n isPOI = false,\n isStateEnabled = false,\n isCountryEnabled = false,\n destinationName = '',\n imageDomain?: string\n): { data: any; concatenatedOfferIds?: string } => {\n let response;\n let experienceId;\n let concatenatedOfferIds = '';\n if (isFallback) {\n response = uxlData?.fallbackOffers?.offerCollection || [];\n } else if (destinationName) {\n if (isPOI || (!isStateEnabled && !isCountryEnabled)) {\n response = uxlData?.offersSearchByGeolocation?.edges || [];\n } else {\n response = uxlData?.offersSearchByArea?.edges || [];\n }\n } else {\n response = (uxlData?.offersCarousel?.length && uxlData?.offersCarousel[0]?.offerCollection) || [];\n experienceId = uxlData?.offersCarousel?.length ? uxlData?.offersCarousel[0]?.experienceId : '';\n }\n\n const maxOffersCount = model?.maxOffersCount ?? response?.length;\n const ASPECT_RATIO_UXL_FIELD_MAPPING = {\n Wide: 'wideHorizontal',\n Square: 'square',\n };\n const imageRatio = cardType === LAYERED_WIDE ? ASPECT_RATIO_WIDE : ASPECT_RATIO_SQUARE;\n const isChinaDomain = imageDomain === 'https://cache.marriott.com.cn';\n const defaultOffers = response\n ?.filter((offer: any) => offer?.offer?.title || offer?.node?.title)\n .slice(0, maxOffersCount)\n .map((item: any, index: number) => {\n const objKey = imageRatio as keyof typeof ASPECT_RATIO_UXL_FIELD_MAPPING;\n const primaryImageSrc = item?.offer?.media?.primaryImage?.imageSrc || item?.node?.media?.primaryImage?.imageSrc;\n const isValidCnImg = primaryImageSrc?.includes('zh_cn');\n const fallbackImg = getFallbackImg(\n config.FALLBACK_CN_IMG_URI,\n cardType === LAYERED_WIDE ? ASPECT_RATIO_WIDE : ASPECT_RATIO_SQUARE\n );\n const DACImagePath = isChinaDomain\n ? isValidCnImg\n ? item?.offer?.media?.primaryImage?.imageUrls?.[ASPECT_RATIO_UXL_FIELD_MAPPING?.[objKey]] ||\n item?.node?.media?.primaryImage?.imageUrls?.[ASPECT_RATIO_UXL_FIELD_MAPPING?.[objKey]]\n : fallbackImg\n : item?.offer?.media?.primaryImage?.imageUrls?.[ASPECT_RATIO_UXL_FIELD_MAPPING?.[objKey]] ||\n item?.node?.media?.primaryImage?.imageUrls?.[ASPECT_RATIO_UXL_FIELD_MAPPING?.[objKey]];\n let imageUrl = '';\n\n if (DACImagePath) {\n imageUrl = DACImagePath;\n } else {\n const keyData = item?.offer?.photos?.images ?? item?.node?.photos?.images;\n keyData?.map((key: any) => {\n if (key.aspectRatio === imageRatio) {\n imageUrl = key.url;\n }\n });\n }\n\n if (index !== 0) {\n concatenatedOfferIds += ',';\n }\n concatenatedOfferIds += item?.offer?.id ?? item?.node?.id;\n return {\n image: imageUrl,\n header: item?.offer?.title || item?.node?.title,\n propertyName:\n item?.offer?.participatingProperties?.properties?.[0]?.basicInformation?.name ||\n item?.node?.participatingProperties?.properties?.[0]?.basicInformation?.name,\n ctaUrl: item?.offer?.url || item?.node?.url,\n propertiesCount: item?.offer?.numProperties || item?.node?.numProperties,\n memberLevel: item?.offer?.memberLevel || item?.node.memberLevel,\n description: item?.offer?.description || item?.node.description,\n catalogId: item?.catalogId,\n parentOfferType: item?.offer?.parentOfferType || item?.node?.parentOfferType,\n descriptionTeaser: item?.offer?.descriptionTeaser || item?.node?.descriptionTeaser,\n offerCategory: item?.offer?.offerCategory || item?.node?.offerCategory,\n };\n });\n\n return {\n data: { offersData: defaultOffers, isFallback, experienceId },\n concatenatedOfferIds: !destinationName ? concatenatedOfferIds : '',\n };\n};\nexport const checkNoDataAvailable = (\n queryData: any,\n isPreview?: boolean,\n defaultOffersReceipe?: any,\n noOfCards?: any,\n isPOI = false,\n isStateEnabled = false,\n isCountryEnabled = false\n) => {\n if (isPreview) {\n if (!queryData) return true;\n else return false;\n } else {\n //fallback query called when main recipe returns cards less than authored packs instead of hard coded 3 value\n if (defaultOffersReceipe !== DESTINATION_OFFERS_RECIPE) {\n if (!queryData?.offersCarousel?.length || queryData?.offersCarousel?.[0]?.offerCollection.length < noOfCards) {\n return true;\n } else return false;\n } else if (isPOI || (!isStateEnabled && !isCountryEnabled)) {\n if (queryData?.offersSearchByGeolocation?.edges.length < noOfCards) {\n return true;\n } else return false;\n } else if ((!isStateEnabled && isCountryEnabled) || (isStateEnabled && !isCountryEnabled)) {\n if (queryData?.offersSearchByArea?.edges.length < noOfCards) {\n return true;\n } else return false;\n } else {\n return false;\n }\n }\n};\n\nexport const removeAfterParagraph = (htmlString: string): string => {\n const parts = htmlString.split('</p>');\n return parts[0] + '</p>';\n};\n\nexport const objectToArray = (data: any) => {\n return Object.keys(data).map(key => ({\n name: key,\n value: String(data[key]), // Convert each value to a string\n }));\n};\n\n// Utility function to update Robot metaName\nexport const updateRobotMetaNames = (metaNames: { name: string; value: string }[]) => {\n return metaNames.map(meta => {\n if (meta.name === 'robots') {\n return { ...meta, value: NO_INDEX_FOLLOW };\n }\n return meta;\n });\n};\n\n// Utility function for targetting criteria\nexport const getTargettingCriteria = (\n workspaceId: string | number,\n isRecipePropNonStayOffers: boolean,\n propsMarshCode: any,\n resortRequestVariables: ResortRequestVariables,\n isRecipeEliteExclusive: boolean,\n isEliteUser: boolean,\n memberLevel: string,\n edgeHost: any,\n modifiedDataLayerPayload: any\n) => {\n return {\n targetingCriteria: {\n workspaceId: workspaceId, // Adobe Target Locale specific workspace Id\n ...(isRecipePropNonStayOffers && { propertyIds: propsMarshCode }),\n ...resortRequestVariables,\n ...(isRecipeEliteExclusive && isEliteUser && { memberLevel }),\n ...(edgeHost && { edgeHost }),\n ...(modifiedDataLayerPayload && { parameters: modifiedDataLayerPayload }),\n },\n };\n};\n\n// Utility function for generating request Variables\nexport const generateRequestVariables = (\n defaultOffersReceipe: string,\n OFFER_CAROUSEL_CHANNEL: string,\n sourceUrl: any,\n OFFER_CAROUSEL_URL_REFERRER: string,\n searchCriteria: string,\n isEliteUser: boolean,\n isRecipeEliteExclusive: boolean,\n targetingCriteria: any,\n offersSearchInputVar: OffersSearchInputVar\n) => {\n return {\n optimizedOffersInput: {\n action: defaultOffersReceipe,\n source: {\n channel: OFFER_CAROUSEL_CHANNEL,\n url: sourceUrl,\n urlReferrer: OFFER_CAROUSEL_URL_REFERRER,\n },\n searchCriteria: {\n id: searchCriteria,\n ...(isEliteUser && isRecipeEliteExclusive && { isIncludeGatedOffer: true }),\n },\n ...targetingCriteria,\n },\n ...offersSearchInputVar,\n };\n};\n\nexport const isAllowedForLocale = (locale: keyof typeof LOCALE_SUBDIRECTORY_MAPPING) => {\n return !CHINESE_LANG.includes(locale as string);\n};\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { Suspense, lazy, useEffect, useMemo, useRef, useState, useId } from 'react';\nimport clsx from 'clsx';\nimport { CardCarouselContainer } from '@marriott/mi-ui-library';\nimport { useQuery, useLazyQuery } from '@apollo/client';\n\nimport { useClientEnvVarsStore } from '@marriott/mi-store-utils';\nimport { getWCMModeFlagValue, isNonEmptyString } from '@marriott/shared/mi-helper-utils';\nimport { DEFAULT_ACCEPT_LANGUAGE, useSession, targetPayloadRequest } from '@marriott/mi-headless-utils';\n\nimport {\n phoenixOffersCarousel,\n phoenixOffersFallbackOffers,\n phoenixOfferPreview,\n PhoenixDestinationOffersSearchByArea,\n PhoenixDestinationOffersSearchByGeolocation,\n} from '@marriott/mi-offers-graphql';\n\nimport { getMbopCookie, useGetBreakpoint } from '../../utils/CommonUtils';\nimport {\n addSubDirectoryPrefix,\n makeDomainSpecificContent,\n checkEliteUser,\n getEdgeHost,\n generateUXLVariablesForDestination,\n processUxlData,\n processOfferCarousel,\n checkNoDataAvailable,\n trackingPropertiesObj,\n objectToArray,\n getTargettingCriteria,\n generateRequestVariables,\n} from '../../utils/OfferUtils';\nimport {\n MBOX_COOKIE,\n CARD_LAYERED_VARIATION,\n NO_OF_CARDS_TABLET,\n OFFER_RECIPE_NONE,\n OFFER_CAROUSEL_URL,\n OFFER_CAROUSEL_URL_REFERRER,\n OFFER_CAROUSEL_CHANNEL,\n OFFER_CAROUSEL_ERROR_POLICY,\n LAYERED_WIDE,\n VARIATION_INVERSE,\n OFFER_RECIPE_PROPERTY_NON_STAY,\n RESORT_OFFERS_RECIPE,\n OFFER_RECIPE_ELITE_EXCLUSIVE,\n CARD_SQUARE,\n DESTINATION_OFFERS_RECIPE,\n} from '../../constants/OfferCardConstants';\n\nimport { OfferCardsProps } from './OfferCardCarousel.types';\nimport { StyledOfferCarouselContainer } from './OfferCardCaousel.styles';\n\nexport const CardCarousel: React.FC<OfferCardsProps> = props => {\n const { model, acceptLanguage, isAuthorMode, requestId, DestinationDetails } = props;\n const { datalayer } = useSession();\n const {\n latitude = '',\n longitude = '',\n stateCode = '',\n countryCode = '',\n isStateEnabled = false,\n isCountryEnabled = false,\n destinationName = '',\n isPOI = false,\n city = '',\n } = DestinationDetails ?? {};\n const {\n openInaNewTab: openInaNewTabStr = 'false',\n noOfCards,\n ctaLink = '',\n cardsType = CARD_LAYERED_VARIATION,\n variation,\n } = model;\n const isPreview = props?.offersData?.isPreview === 'true' ? true : false;\n const defaultOffersReceipe = model?.offersRecipe;\n const isOfferRecipeNone = defaultOffersReceipe === OFFER_RECIPE_NONE;\n const isRecipePropNonStayOffers = defaultOffersReceipe === OFFER_RECIPE_PROPERTY_NON_STAY;\n const listjson = model?.fallbackOfferIdsList;\n const offerslistjson = listjson?.map((object: { offersId: string }) => object.offersId);\n const [offerResult, setResultOffer] = useState<any>([]);\n const [cardCount, setCardCount] = useState(0);\n const [dataLayerOnLoad, setDataLayerOnLoad] = useState<boolean>(false);\n const [keys, setKeys] = useState<any>([]);\n const [moreCTALink, setMoreCTALink] = useState(ctaLink);\n const [isMobileViewPort, setIsMobileViewPort] = useState(useGetBreakpoint() === 'mobile');\n const acceptLang = isNonEmptyString(acceptLanguage) ? acceptLanguage : DEFAULT_ACCEPT_LANGUAGE;\n const openInaNewTab = JSON.parse(openInaNewTabStr);\n const isServer = !(typeof window != 'undefined' && window.document);\n const { envVarsObject } = useClientEnvVarsStore();\n const propsMarshCode = typeof window !== 'undefined' ? [datalayer?.['prop_marsha_code']] : [];\n const timestamp = useId(); // This id won't change with new component renders.\n const dataLoaded = useRef<boolean>(false);\n const { isEliteUser, memberLevel } =\n typeof window !== 'undefined' ? checkEliteUser(datalayer) : { isEliteUser: false, memberLevel: '' };\n const isRecipeEliteExclusive = isEliteUser ? defaultOffersReceipe === OFFER_RECIPE_ELITE_EXCLUSIVE : false;\n let searchCriteria = `generated-${timestamp}`;\n let cookieSearchCriteria = null;\n let sessionId = null;\n let cookie = null;\n\n cookie = isServer ? props?.cookie : document?.cookie;\n sessionId = cookie ? getMbopCookie(cookie, MBOX_COOKIE) : null;\n\n const OffersCardCarouselSkeletonLoader = lazy(() => import('./OffersCardCarouselSkeletonLoader'));\n\n const checkIsWCMModeResortOffers = () => {\n return getWCMModeFlagValue() && defaultOffersReceipe === RESORT_OFFERS_RECIPE;\n };\n // WEB-70169 - using this to excude the mock file from production build\n const GetCarouselUXLMockJson = async (isAuthorMode: boolean) => {\n if (process.env['NODE_ENV'] === 'development' || isAuthorMode) {\n if (noOfCards === 2 && cardsType === LAYERED_WIDE) {\n const CarouselUXLMockJson = await import('./__mock__/OfferCarouselWideCardUXL.mock.json'); //Load mock model dynamically only for dev mode\n return CarouselUXLMockJson;\n } else if (noOfCards === 3 && cardsType === CARD_SQUARE) {\n const CarouselUXLMockJson = await import('./__mock__/OfferCarouselSquareCardUXL.mock.json'); //Load mock model dynamically only for dev mode\n return CarouselUXLMockJson;\n } else if (noOfCards === 4 && cardsType === CARD_SQUARE) {\n const CarouselUXLMockJson = await import('./__mock__/OfferCarouselUXL.mock.json'); //Load mock model dynamically only for dev mode\n return CarouselUXLMockJson;\n } else if (variation === 'combo') {\n const CarouselUXLMockJson = await import('./__mock__/OfferCarouselComboCardUXL.mock.json'); //Load mock model dynamically only for dev mode\n return CarouselUXLMockJson;\n }\n }\n return {};\n };\n const isWcmModeDisabledFlag = checkIsWCMModeResortOffers();\n\n //to identify locale and activities are returned respective of that locale\n const workspaceId =\n typeof window !== 'undefined'\n ? window?._satellite?.['_container']?.dataElements?.at_property?.settings?.source?.call()\n : null;\n //to retrieve the latest user profile attributes cached on the edge servers\n const edgeHost = cookie ? getEdgeHost(cookie) : null;\n\n const resortRequestVariables =\n defaultOffersReceipe === RESORT_OFFERS_RECIPE\n ? {\n region: model?.regionControl,\n resortTypes: model?.activities,\n }\n : {};\n\n const destinationRequestVariables =\n defaultOffersReceipe === DESTINATION_OFFERS_RECIPE\n ? generateUXLVariablesForDestination(\n latitude,\n longitude,\n stateCode,\n countryCode,\n isStateEnabled,\n isCountryEnabled,\n isPOI\n )\n : {};\n\n const datalayerPayload =\n typeof window !== 'undefined' && datalayer\n ? targetPayloadRequest(\n {\n isUxl: 'false',\n },\n datalayer\n )\n : {};\n\n const modifiedDataLayerPayload =\n datalayerPayload?.execute?.mboxes[0]?.parameters &&\n Object.keys(datalayerPayload?.execute?.mboxes[0]?.parameters).length > 0\n ? objectToArray(datalayerPayload?.execute?.mboxes[0]?.parameters)\n : null;\n\n const targetingCriteria = getTargettingCriteria(\n workspaceId,\n isRecipePropNonStayOffers,\n propsMarshCode,\n resortRequestVariables,\n isRecipeEliteExclusive,\n isEliteUser,\n memberLevel,\n edgeHost,\n modifiedDataLayerPayload\n );\n\n const offersSearchInputVar = {\n offersSearchInput: {\n queries: [\n {\n id: 'offers',\n values: offerslistjson && offerslistjson.length > 0 ? JSON.parse(JSON.stringify(offerslistjson)) : '[]',\n },\n ],\n },\n };\n\n // Memoize all variables that affect the query,\n // to prevent re-triggering useQuery if component re-renders.\n const skipQuery =\n useMemo(() => {\n return (!isAuthorMode && dataLoaded.current) || (isAuthorMode && isWcmModeDisabledFlag && dataLoaded.current);\n }, [isAuthorMode, dataLoaded.current]) ||\n (isAuthorMode && !isWcmModeDisabledFlag) ||\n dataLoaded.current ||\n isOfferRecipeNone ||\n (!isAuthorMode && !dataLayerOnLoad) ||\n !isNonEmptyString(acceptLang);\n // Do not execute query unless Mbox-Session-ID is available.\n // Would require a workaround for local dev where there won't be a cookie.\n // || !sessionId;\n\n cookieSearchCriteria =\n typeof window !== 'undefined'\n ? window?._satellite?.['getVisitorId']()?._fields?.MCMID?.length === 38\n ? window._satellite?.['getVisitorId']()._fields.MCMID\n : searchCriteria\n : searchCriteria;\n\n if (cookieSearchCriteria) {\n searchCriteria = cookieSearchCriteria;\n }\n\n const sourceUrl = typeof window !== 'undefined' ? window.location.href : '';\n const requestVariables = generateRequestVariables(\n defaultOffersReceipe,\n OFFER_CAROUSEL_CHANNEL,\n sourceUrl,\n OFFER_CAROUSEL_URL_REFERRER,\n searchCriteria,\n isEliteUser,\n isRecipeEliteExclusive,\n targetingCriteria,\n offersSearchInputVar\n );\n\n const fallbackRequestVariables = {\n ...offersSearchInputVar,\n };\n\n const getDestinationOffersQuery = () => {\n if (isPOI || (!isStateEnabled && !isCountryEnabled)) {\n return PhoenixDestinationOffersSearchByGeolocation;\n } else {\n return PhoenixDestinationOffersSearchByArea;\n }\n };\n const queryGQ = isPreview\n ? phoenixOfferPreview\n : defaultOffersReceipe === DESTINATION_OFFERS_RECIPE\n ? getDestinationOffersQuery()\n : phoenixOffersCarousel;\n\n //Recipe useQuery\n const { loading: isDataLoading } = useQuery(queryGQ, {\n fetchPolicy: isServer ? 'network-only' : 'cache-first',\n errorPolicy: OFFER_CAROUSEL_ERROR_POLICY,\n variables: isPreview\n ? { offerPreviewId: props?.offersData?.offerId }\n : defaultOffersReceipe === DESTINATION_OFFERS_RECIPE\n ? destinationRequestVariables\n : requestVariables,\n onCompleted: async queryData => {\n dataLoaded.current = true;\n if ((queryData && !isAuthorMode) || (queryData && isAuthorMode && isWcmModeDisabledFlag)) {\n if (\n checkNoDataAvailable(\n queryData,\n isPreview,\n defaultOffersReceipe,\n noOfCards,\n isPOI,\n isStateEnabled,\n isCountryEnabled\n )\n ) {\n loadFallbackQuery();\n } else {\n if (defaultOffersReceipe === DESTINATION_OFFERS_RECIPE) {\n const { data } = processUxlData(\n queryData,\n false,\n cardsType,\n model,\n isPOI,\n isStateEnabled,\n isCountryEnabled,\n destinationName\n );\n const updatedMoreCTALink = moreCTALink?.replace('{destinationName}', destinationName);\n setMoreCTALink(updatedMoreCTALink);\n const { count, cardKeys, offerMap } = processOfferCarousel(\n data,\n model,\n isRecipeEliteExclusive,\n envVarsObject,\n cardsType,\n openInaNewTab,\n isPreview\n );\n setCardCount(count);\n setKeys(cardKeys);\n setResultOffer(offerMap);\n } else {\n const { data, concatenatedOfferIds } = processUxlData(\n isPreview ? reformPreviewResponse(queryData) : queryData,\n false,\n cardsType,\n model\n );\n const updatedMoreCTALink = moreCTALink?.replace('{offerids}', concatenatedOfferIds);\n setMoreCTALink(updatedMoreCTALink);\n const { count, cardKeys, offerMap } = processOfferCarousel(\n data,\n model,\n isRecipeEliteExclusive,\n envVarsObject,\n cardsType,\n openInaNewTab,\n isPreview\n );\n setCardCount(count);\n setKeys(cardKeys);\n setResultOffer(offerMap);\n }\n }\n } else if (isAuthorMode && !isWcmModeDisabledFlag) {\n const CarouselMockUXL = await GetCarouselUXLMockJson(isAuthorMode);\n const { data, concatenatedOfferIds } = processUxlData(CarouselMockUXL, false, cardsType, model);\n const updatedMoreCTALink = moreCTALink?.replace('{offerids}', concatenatedOfferIds);\n setMoreCTALink(updatedMoreCTALink);\n const { count, cardKeys, offerMap } = processOfferCarousel(\n data,\n model,\n isRecipeEliteExclusive,\n envVarsObject,\n cardsType,\n openInaNewTab,\n isPreview\n );\n setCardCount(count);\n setKeys(cardKeys);\n setResultOffer(offerMap);\n } else if (!searchCriteria) {\n loadFallbackQuery();\n }\n },\n\n context: {\n headers: {\n // Only attach headers if they are not null or empty strings,\n // since anything passed on the query will override defaults.\n ...(requestId?.length > 0 && { 'x-request-id': requestId }),\n ...(sessionId && sessionId?.length > 0 && { 'Mbox-Session-ID': sessionId }),\n ...(acceptLang?.length > 0 && { 'accept-language': acceptLang }),\n ...(envVarsObject?.['NEXT_PUBLIC_UAT_AUTH_TOKEN'] &&\n isWcmModeDisabledFlag && { Authorization: envVarsObject?.['NEXT_PUBLIC_UAT_AUTH_TOKEN'] }),\n },\n },\n skip: skipQuery,\n });\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const fallbackComplete = (fallbackData: any) => {\n if (fallbackData) {\n if (fallbackData?.fallbackOffers?.offerCollection) {\n if (defaultOffersReceipe === DESTINATION_OFFERS_RECIPE) {\n const { data } = processUxlData(\n fallbackData,\n true,\n cardsType,\n model,\n isPOI,\n isStateEnabled,\n isCountryEnabled,\n destinationName\n );\n const updatedMoreCTALink = moreCTALink?.replace('{destinationName}', destinationName);\n setMoreCTALink(updatedMoreCTALink);\n const { count, cardKeys, offerMap } = processOfferCarousel(\n data,\n model,\n isRecipeEliteExclusive,\n envVarsObject,\n cardsType,\n openInaNewTab,\n isPreview\n );\n setCardCount(count);\n setKeys(cardKeys);\n setResultOffer(offerMap);\n } else {\n const { data, concatenatedOfferIds } = processUxlData(fallbackData, true, cardsType, model);\n const updatedMoreCTALink = moreCTALink?.replace('{offerids}', concatenatedOfferIds);\n setMoreCTALink(updatedMoreCTALink);\n const { count, cardKeys, offerMap } = processOfferCarousel(\n data,\n model,\n isRecipeEliteExclusive,\n envVarsObject,\n cardsType,\n openInaNewTab,\n isPreview\n );\n setCardCount(count);\n setKeys(cardKeys);\n setResultOffer(offerMap);\n }\n }\n }\n };\n\n //fallback query\n const [\n loadFallbackQuery,\n { data: _fallbackResults, error: _fallbackError, called: fallbackCalled, loading: isLazyLoading },\n ] = useLazyQuery(phoenixOffersFallbackOffers, {\n fetchPolicy: isServer ? 'network-only' : 'cache-first',\n errorPolicy: OFFER_CAROUSEL_ERROR_POLICY,\n variables: fallbackRequestVariables,\n context: {\n headers: {\n // Only attach headers if they are not null or empty strings,\n // since anything passed on the query will override mi-apollo-client-utils defaults.\n ...(requestId?.length > 0 && { 'x-request-id': requestId }),\n ...(acceptLang?.length > 0 && { 'accept-language': acceptLang }),\n },\n },\n onCompleted: fallbackComplete,\n });\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const reformPreviewResponse = (response: any) => {\n return {\n offersCarousel: [\n {\n __typename: response?.offerPreview['__typename'],\n experienceId: response?.offerPreview['id'],\n offerCollection: [\n {\n catalogId: response?.offerPreview['id'],\n offer: response?.offerPreview?.offer,\n },\n ],\n },\n ],\n };\n };\n\n useEffect(() => {\n if (datalayer) {\n setDataLayerOnLoad(true);\n }\n }, [datalayer]);\n useEffect(() => {\n function handleResize() {\n // eslint-disable-next-line react-hooks/rules-of-hooks\n setIsMobileViewPort(useGetBreakpoint() === 'mobile');\n }\n window.addEventListener('resize', handleResize);\n return () => window.removeEventListener('resize', handleResize);\n }, []);\n\n // CNWEB-2078 - Invoke the fallback query if the offer recipe is set to `none`\n useEffect(() => {\n if (isOfferRecipeNone && !fallbackCalled) {\n loadFallbackQuery();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const GetOfferCardsInAuthorMode = async () => {\n try {\n const CarouselUXLMock = await GetCarouselUXLMockJson(isAuthorMode);\n const { data, concatenatedOfferIds } = processUxlData(CarouselUXLMock, false, cardsType, model);\n const updatedMoreCTALink = moreCTALink?.replace('{offerids}', concatenatedOfferIds);\n setMoreCTALink(updatedMoreCTALink);\n const { count, cardKeys, offerMap } = processOfferCarousel(\n data,\n model,\n isRecipeEliteExclusive,\n envVarsObject,\n cardsType,\n openInaNewTab,\n isPreview\n );\n setCardCount(count);\n setKeys(cardKeys);\n setResultOffer(offerMap);\n } catch (error) {\n console.error('Error fetching offer cards from mocks:', error);\n }\n };\n\n //WEB-74989 Load offer cards in author mode\n useEffect(() => {\n const fetchData = async () => {\n if (isAuthorMode && !isWcmModeDisabledFlag) {\n await GetOfferCardsInAuthorMode();\n }\n };\n\n fetchData();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [isAuthorMode, isWcmModeDisabledFlag]);\n\n const allowedComponents = [\n {\n path: '/jcr:content/root/responsivegrid/mi-aem-common-spa/components/content/cardlayered',\n title: 'Card Layered',\n },\n {\n path: '/jcr:content/root/responsivegrid/mi-aem-common-spa/components/content/cardvertical',\n title: 'Card Vertical',\n },\n ];\n\n const carouselHeaderText = (text: any) => {\n if (defaultOffersReceipe === DESTINATION_OFFERS_RECIPE) {\n const updatedHeaderText = text?.replace('{Destination Name}', city);\n return updatedHeaderText;\n } else {\n return text;\n }\n };\n return (\n <StyledOfferCarouselContainer>\n <div>\n {!isDataLoading && !isLazyLoading ? (\n <div className={clsx(cardCount > 0 ? '' : 'hideCarousel', 'container cardWrapper')}>\n {offerResult?.length > 0 && (\n <CardCarouselContainer\n headerText={\n !isMobileViewPort ? carouselHeaderText(model?.headerText) : carouselHeaderText(model?.mobileTitle)\n }\n subHeaderText={model?.subHeaderText}\n noOfCards={noOfCards}\n ctaLabel={model?.ctaLabel}\n ctaLink={addSubDirectoryPrefix(makeDomainSpecificContent(moreCTALink))}\n ctaType={model?.ctaType}\n cardCount={cardCount}\n openInaNewTab={openInaNewTab}\n totalNumberOfCards={keys}\n trackingProperties={trackingPropertiesObj(model)}\n styleclass={model?.styleclass}\n cqItems={offerResult}\n componentId={model?.componentId}\n pagePath={''}\n itemPath={''}\n wcmMode={model?.wcmMode}\n isAuthorMode={false}\n noOfCardsTablet={NO_OF_CARDS_TABLET}\n allowedComponents={allowedComponents}\n variation={variation ?? VARIATION_INVERSE}\n isControlType2={model?.styleclass?.includes('phoenix-luxury') && true}\n />\n )}\n </div>\n ) : (\n <div className=\"container\">\n <Suspense fallback={<></>}>\n <OffersCardCarouselSkeletonLoader cardType={cardsType} numberOfCards={noOfCards} />\n </Suspense>\n </div>\n )}\n </div>\n </StyledOfferCarouselContainer>\n );\n};\n\nexport default CardCarousel;\n","import { EditableComponent } from '@adobe/aem-react-editable-components';\nimport { StyledOfferCarouselContainer, StyledOfferCardsDivPreviewMode } from './OfferCardCaousel.styles';\nimport { OfferCardsProps } from './OfferCardCarousel.types';\nimport { CardCarousel } from './CardCarousel';\n\nexport const OfferCardCarouselWrapperConfig = {\n emptyLabel: 'OfferCardCarousel',\n isEmpty: false,\n resourceType: `mi-aem-offers-spa/components/offers-cards`,\n};\n\nexport const OfferCardCarouselWrapper: React.FC<OfferCardsProps> = props => {\n return <CardCarousel {...props} />;\n};\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport const OfferCardCarousel = (props: any) => (\n <div>\n <EditableComponent config={OfferCardCarouselWrapperConfig} {...props}>\n {props?.offersData?.isPreview === 'true' ? (\n <StyledOfferCardsDivPreviewMode data-component-name=\"o-offers-cards\" data-testid=\"offers-cards\">\n <OfferCardCarouselWrapper {...props} />\n </StyledOfferCardsDivPreviewMode>\n ) : (\n <StyledOfferCarouselContainer data-component-name=\"o-offers-cards\" data-testid=\"offers-cards\">\n <OfferCardCarouselWrapper {...props} />\n </StyledOfferCarouselContainer>\n )}\n </EditableComponent>\n </div>\n);\n","// Styles for LocalHeader go here.\nimport styled from 'styled-components';\nimport rtl from 'styled-components-rtl';\nimport { toRem, baseVariables, contextualVariable } from '@marriott/mi-ui-library';\n\nexport const StyledLocalServicesMenu = styled.div`\n ${rtl`\n .local-service-wrapper {\n div[class*='color-scheme'] {\n background-color: ${contextualVariable.brandedBackgroundColor};\n color: ${contextualVariable.brandedFontColor};\n }\n .local-services-content {\n &-backdrop {\n position: absolute;\n height: ${toRem(36)};\n width: 100%;\n margin-left: ${toRem(-16)};\n background: ${baseVariables.color.base10};\n top: ${toRem(-1)};\n }\n ul {\n list-style-type: none;\n padding: 0;\n margin: 0;\n li {\n color: inherit;\n list-style-type: none;\n }\n }\n &-item {\n height: inherit;\n }\n &-link {\n box-sizing: border-box;\n border: 0 solid ${baseVariables.color.neutral20};\n border-radius: 0;\n background-color: transparent;\n box-shadow: none;\n height: 100%;\n color: ${contextualVariable.brandedFontColor};\n cursor: pointer;\n\n @media ${baseVariables.mediaQuery.md} {\n padding-top: ${toRem(1)};\n padding-bottom: ${toRem(1)};\n }\n\n @media ${(baseVariables.mediaQuery.lg, baseVariables.mediaQuery.xl)} {\n padding-top: 0;\n padding-bottom: 0;\n }\n\n span[class^='icon-'],\n span[class^='icon-']::before {\n color: ${contextualVariable.brandedFontColor};\n }\n\n .menu-icon-arrow:before {\n content: '\\u{e942}';\n position: relative;\n transform: rotate(-45deg);\n transition: all 0.15s ease-in;\n font-size: ${toRem(18)};\n right: unset;\n }\n p {\n color: ${contextualVariable.brandedFontColor};\n }\n }\n &-options {\n [class*='icon-'],\n [class*='icon-']::before {\n color: ${baseVariables.color.linkNavBorderColor};\n }\n &-item {\n .arrow {\n visibility: hidden;\n }\n &-link {\n min-height: ${toRem(72)};\n border-bottom: ${toRem(1)} solid ${baseVariables.color.neutral30};\n &.last {\n border-bottom: none;\n }\n &.extra {\n border-bottom: ${toRem(1)} solid ${baseVariables.color.neutral30};\n }\n }\n &:last-child {\n @media ${baseVariables.mediaQuery.md} {\n a {\n border-bottom: ${toRem(0)} solid ${baseVariables.color.neutral30};\n }\n }\n }\n &:hover,\n &:focus {\n outline: ${toRem(1)} solid ${baseVariables.color.neutral30};\n background-color: ${baseVariables.color.neutral10};\n .arrow {\n visibility: visible;\n }\n .local-services-content-options-item-link {\n border-bottom: none;\n &-text {\n font-weight: ${baseVariables.font.fontWeightMedium};\n }\n }\n }\n }\n }\n }\n .mdc-dialog {\n background-color: rgba(0, 0, 0, 0.75);\n z-index: 150;\n overflow-y: auto;\n overflow-x: hidden;\n max-height: none;\n display: block;\n min-height: 100%;\n transform: none;\n opacity: 1;\n pointer-events: none;\n position: fixed;\n top: 0;\n left: 0;\n box-sizing: border-box;\n width: 100%;\n height: 100%;\n &__scrim {\n position: fixed;\n pointer-events: auto;\n }\n }\n\n .ppv5modal {\n &__container {\n position: relative;\n overflow: visible;\n min-width: ${toRem(280)};\n box-sizing: border-box;\n pointer-events: auto;\n border: 0 solid ${baseVariables.color.base10};\n @media ${baseVariables.mediaQuery.md} {\n &-dining.col-md-10 {\n flex: 0 0 83.3333333333%;\n max-width: 83.3333333333%;\n }\n }\n @media ${baseVariables.mediaQuery.xl} {\n &-dining.col-xl-8 {\n flex: 0 0 66.66667%;\n max-width: 66.66667%;\n }\n }\n }\n &__header {\n border: ${toRem(1)} solid ${baseVariables.color.base10};\n h2 {\n height: ${toRem(20)};\n }\n }\n &__close-btn {\n margin-right: 0 !important;\n }\n }\n }\n `}\n`;\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { FC, useEffect, useState, useContext, useRef } from 'react';\n\nimport Glide from '@glidejs/glide';\nimport { useServiceStore, serviceStore } from '../../../modules/store/serviceStore';\nimport { LocalServicesMenuProps, ServicesMenuProps, restaurantProps } from './LocalServicesMenu.types';\nimport { PageParamsContext } from '../../../modules/context/PageContext';\nimport { StyledLocalServicesMenu } from './LocalServicesMenu.styles';\nimport { serviceIcons } from '../../../modules/utils/constants/constants';\nimport { Ppv5Modal } from '../../Ppv5Modal/Ppv5Modal';\nimport { statesConstant, localServiceConstants } from '../../../modules/utils/constants';\nimport { Link } from '@marriott/mi-ui-library';\n\nexport const LocalServicesMenu: FC<LocalServicesMenuProps> = pageProps => {\n const { preProcessorResponse } = useContext(PageParamsContext);\n const setServiceData = useServiceStore((state: serviceStore) => state.setservice);\n const [localServicesCount, setLocalServicesCount] = useState(0);\n const [services, setServices] = useState<Array<ServicesMenuProps>>([]);\n const [dinningRestaurants, setDinningRestaurants] = useState<Array<restaurantProps>>([\n { restaurantsTitle: '', restaurantsURL: '' },\n ]);\n const [showDinningModal, setshowDinningModal] = useState(false);\n const [modalBody, setModalBody] = useState(<div></div>);\n\n const [scrollPosition, setScrollPosition] = useState(0);\n\n const { state = '', cna = false, sameTab = false } = preProcessorResponse || {};\n const firstdiningMenuRef = useRef(null);\n\n useEffect(() => {\n if (\n state?.toLowerCase() === statesConstant.connected &&\n sessionStorage.getItem('amenityClicked') &&\n !sessionStorage.getItem('reloadConnectedUrl')\n ) {\n setServiceData(\n {\n serviceClicked: true,\n },\n false,\n false,\n {}\n );\n }\n }, []);\n\n useEffect(() => {\n let service: string | any[] | ((prevState: ServicesMenuProps[]) => ServicesMenuProps[]) = [];\n if (pageProps?.property?.basicInformation?.isOrderFoodAndBeverageByMobileSupported) {\n service = [\n ...service,\n {\n id: localServiceConstants.foodAndBeverage,\n onProperty: true,\n bookNowURL: pageProps?.fnBorderingURL ?? `${pageProps?.foodBeverageCard?.foodBeverageCtaLink}`,\n iconClass: serviceIcons.iconDining,\n title: pageProps?.fnbTitle,\n target: sameTab || cna ? '_self' : '_blank',\n },\n ];\n }\n const spaData = pageProps?.property?.spa?.edges.find(\n edge => edge?.node?.onProperty === true && edge?.node?.bookNowURL\n );\n if (spaData?.node) {\n service = [\n ...service,\n {\n id: localServiceConstants.spa,\n onProperty: spaData?.node?.onProperty,\n bookNowURL: spaData?.node?.bookNowURL,\n iconClass: serviceIcons.iconSpa,\n title: pageProps?.spaTitle,\n target: sameTab || cna ? '_self' : '_blank',\n },\n ];\n }\n if (pageProps?.golfReservationURL) {\n service = [\n ...service,\n {\n id: localServiceConstants.golf,\n onProperty: true,\n bookNowURL: pageProps?.golfReservationURL,\n iconClass: serviceIcons.iconGolf,\n title: pageProps?.golfTitle,\n target: sameTab || cna ? '_self' : '_blank',\n },\n ];\n }\n const dinningData = pageProps?.property?.restaurants?.edges.filter(\n edge => edge?.node?.onProperty === true && edge?.node?.reservationURL\n );\n if (dinningData?.length === 1) {\n service = [\n ...service,\n {\n id: localServiceConstants.dinning,\n onProperty: true,\n bookNowURL: dinningData[0].node?.reservationURL,\n iconClass: serviceIcons.iconDiningChopsticks,\n title: pageProps?.diningTitle,\n target: sameTab || cna ? '_self' : '_blank',\n },\n ];\n } else if (dinningData?.length && dinningData?.length > 1) {\n service = [\n ...service,\n {\n id: localServiceConstants.dinning,\n onProperty: true,\n bookNowURL: '#',\n iconClass: serviceIcons.iconDiningChopsticks,\n title: pageProps?.diningTitle,\n },\n ];\n let restaurants: Array<restaurantProps> = [];\n dinningData?.forEach(restaurant => {\n restaurants = [\n ...restaurants,\n {\n restaurantsTitle: restaurant?.node?.name ?? '',\n restaurantsURL: restaurant?.node?.reservationURL ?? '',\n },\n ];\n });\n setDinningRestaurants(restaurants);\n }\n\n if (pageProps?.property?.basicInformation) {\n setServices(service);\n setLocalServicesCount(service?.length);\n }\n }, [\n cna,\n pageProps?.diningTitle,\n pageProps?.fnBorderingURL,\n pageProps?.fnbTitle,\n pageProps?.foodBeverageCard?.foodBeverageCtaLink,\n pageProps?.golfReservationURL,\n pageProps?.golfTitle,\n pageProps?.property,\n pageProps?.spaTitle,\n sameTab,\n ]);\n\n useEffect(() => {\n if (localServicesCount > 3) {\n try {\n new Glide('#localServices', {\n type: 'slider',\n bound: true,\n startAt: 0,\n rewind: false,\n gap: 16,\n keyboard: false,\n autoplay: false,\n hoverpause: true,\n perView: localServicesCount,\n peek: {\n before: 0,\n after: 0,\n },\n breakpoints: {\n 1199: {\n perView: localServicesCount,\n peek: {\n before: 0,\n after: 0,\n },\n },\n 767: {\n perView: localServicesCount === 4 ? 2 : localServicesCount,\n peek: {\n before: 0,\n after: localServicesCount === 4 ? 80 : 0,\n },\n },\n },\n }).mount({ ArrowDisabler });\n } catch (error) {\n // log.error(`Error in initializing Glide for ${componentId}`, error);\n }\n }\n }, [localServicesCount]);\n\n const ArrowDisabler = function (Glide: any, Components: any) {\n return {\n mount() {\n // Only in effect when rewinding is disabled\n if (Glide.settings.rewind) {\n return;\n }\n Glide.on(['mount.after', 'run'], () => {\n // Filter out arrows_control\n for (const controlItem of Components.Controls.items) {\n if (controlItem.className !== 'glide__arrows') {\n continue;\n }\n\n // Set left arrow state\n const left = controlItem?.querySelector('.glide__arrow--left');\n if (left) {\n if (Glide.index === 0) {\n left.classList.add('.is-disabled'); // Disable on first slide\n } else {\n left.classList.remove('.is-disabled'); // Enable on other slides\n }\n }\n\n // Set right arrow state\n const right = controlItem?.querySelector('.glide__arrow--right');\n if (right) {\n if (Glide.index === Components.Sizes.length - Glide.settings.perView) {\n right.classList.add('.is-disabled'); // Disable on last slide\n } else {\n right.classList.remove('.is-disabled'); // Disable on other slides\n }\n }\n }\n });\n },\n };\n };\n\n const handleClick = (id: string, bookNowURL = '') => {\n if (id === localServiceConstants.dinning && dinningRestaurants.length > 1) {\n setTimeout(() => {\n setModalBody(\n <div className={dinningRestaurants.length > 4 ? 'd-flex flex-column flex-md-row' : ''}>\n <div\n className={`local-services-content-options d-flex flex-column col-12 ${\n dinningRestaurants.length > 4 ? 'col-md-6' : ''\n } p-0`}\n >\n {dinningRestaurants?.map((restaurant, index) => {\n if (index < 4) {\n return (\n <div className=\"local-services-content-options-item\">\n <Link\n linkHref={restaurant?.restaurantsURL ?? ''}\n linkClassName=\"custom_click_track local-services-content-options-item-link body-list mx-3 py-3 d-flex align-items-center justify-content-between first track-completed\"\n target={sameTab || cna ? '_self' : '_blank'}\n data-custom_click_track_value={`Service Bar|Dining Reservation|external|${restaurant?.restaurantsTitle}`}\n custom_click_track_value={`Service Bar|Dining Reservation|external|${restaurant?.restaurantsTitle}`}\n data-is-click-track={true}\n rel=\"noreferrer\"\n ref={firstdiningMenuRef}\n callback={e => {\n (state?.toLowerCase() === statesConstant.preconnect ||\n state?.toLowerCase() === statesConstant.connect) &&\n e.preventDefault();\n initLetsGetConnected(restaurant?.restaurantsURL ?? '');\n }}\n trackingProperties={pageProps?.trackingProperties}\n >\n <span className=\"t-font-s pl-3 local-services-content-options-item-link__text\">\n {restaurant.restaurantsTitle}\n </span>\n <span className=\"icon-forward-arrow arrow ml-2 pr-3\"></span>\n </Link>\n </div>\n );\n }\n return null;\n })}\n </div>\n {dinningRestaurants.length > 4 && (\n <div\n className={`local-services-content-options d-flex flex-column col-12 ${\n dinningRestaurants.length > 4 ? 'col-md-6' : ''\n } p-0`}\n >\n {dinningRestaurants?.map((restaurant, index) => {\n if (index >= 4) {\n return (\n <div className=\"local-services-content-options-item\">\n <Link\n linkHref={restaurant?.restaurantsURL ?? ''}\n data-custom_click_track_value={`Service Bar|Dining Reservation|external|${restaurant?.restaurantsTitle}`}\n custom_click_track_value={`Service Bar|Dining Reservation|external|${restaurant?.restaurantsTitle}`}\n data-is-click-track={true}\n linkClassName=\"custom_click_track local-services-content-options-item-link body-list mx-3 py-3 d-flex align-items-center justify-content-between first track-completed\"\n target={sameTab || cna ? '_self' : '_blank'}\n rel=\"noreferrer\"\n callback={e => {\n (state?.toLowerCase() === statesConstant.preconnect ||\n state?.toLowerCase() === statesConstant.connect) &&\n e.preventDefault();\n initLetsGetConnected(restaurant?.restaurantsURL ?? '');\n }}\n trackingProperties={pageProps?.trackingProperties}\n >\n <span className=\"t-font-s pl-3 local-services-content-options-item-link__text\">\n {restaurant?.restaurantsTitle}\n </span>\n <span className=\"icon-forward-arrow arrow ml-2 pr-3\"></span>\n </Link>\n </div>\n );\n }\n return null;\n })}\n </div>\n )}\n </div>\n );\n\n setshowDinningModal(true);\n document.querySelector('body')?.classList.add('mdc-dialog-scroll-lock');\n }, 200);\n setScrollPosition(window.scrollY);\n } else {\n setshowDinningModal(false);\n initLetsGetConnected(bookNowURL);\n }\n };\n\n const initLetsGetConnected = (bookNowURL: string | null | undefined) => {\n if (state?.toLowerCase() === statesConstant.preconnect || state?.toLowerCase() === statesConstant.connect) {\n setshowDinningModal(false);\n setServiceData(\n {\n serviceClicked: true,\n serviceUXL: bookNowURL,\n },\n false,\n false,\n {}\n );\n sessionStorage.setItem('amenityClicked', bookNowURL ?? '');\n } else {\n if (dinningRestaurants.length === 1) {\n window.open(bookNowURL ? bookNowURL : '#', sameTab || cna ? '_self' : '_blank');\n }\n }\n };\n\n useEffect(() => {\n if (!showDinningModal) {\n // Scroll to the previous position when the modal is closed\n window.scrollTo(0, scrollPosition);\n }\n }, [showDinningModal, scrollPosition]);\n\n useEffect(() => {\n if (showDinningModal) {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const timeout = setTimeout(() => {\n if (firstdiningMenuRef && firstdiningMenuRef?.current) {\n (firstdiningMenuRef?.current as HTMLInputElement)?.focus();\n }\n }, 20);\n }\n }, [showDinningModal]);\n\n const closeDinningModal = () => {\n setshowDinningModal(false);\n document.querySelector('body')?.classList.remove('mdc-dialog-scroll-lock');\n };\n\n return (\n <StyledLocalServicesMenu>\n {services && services?.length > 0 && localServicesCount > 0 && (\n <div className=\"local-service-wrapper\">\n <div\n className={`local-services-content container-fluid color-scheme4 p-0 ${\n localServicesCount === 4 ? 'mobile-carousel' : ''\n } ${localServicesCount > 4 ? 'custom-carousel' : ''} ${localServicesCount > 6 ? 'desktop' : ''}`}\n >\n <div className=\"local-services-content-backdrop d-none d-md-none\"></div>\n <div\n id=\"localServices\"\n className={`${localServicesCount > 3 ? 'glide' : ''} local-services-content-component container px-md-0`}\n data-items={localServicesCount}\n data-desktopperview={localServicesCount}\n data-tabletperview={localServicesCount}\n data-mobileperview={localServicesCount === 4 ? 2 : localServicesCount}\n data-desktoprightpeak={0}\n data-tabletrightpeak={0}\n data-mobilerightpeak={localServicesCount === 4 ? 80 : 0}\n >\n <div className=\"glide__arrows d-none\" data-glide-el=\"controls\">\n <button\n className=\"glide__arrow prev local-services-content__left\"\n data-glide-dir=\"<\"\n aria-label=\"left-arrow\"\n >\n <span className=\"icon-back-arrow\"></span>\n </button>\n <button\n className=\"glide__arrow next local-services-content__right\"\n data-glide-dir=\">\"\n aria-label=\"right-arrow\"\n >\n <span className=\"icon-forward-arrow\"></span>\n </button>\n </div>\n <div className={`${localServicesCount > 3 ? 'glide__track' : ''}`} data-glide-el=\"track\">\n <ul className={`${localServicesCount > 3 ? 'glide__slides' : ''} d-flex`}>\n {services.map(service => {\n if (service.onProperty) {\n return (\n <li\n className={`${localServicesCount === 1 ? 'col-12 col-md-6 offset-md-3' : ''} ${\n localServicesCount === 2 ? 'col-6' : ''\n } ${localServicesCount === 3 ? 'col-4' : ''} ${\n localServicesCount > 3 ? 'glide__slide' : ''\n } local-services-content-item`}\n key={service.title}\n onClick={e => {\n if (\n state?.toLowerCase() === statesConstant.preconnect ||\n state?.toLowerCase() === statesConstant.connect ||\n service?.id === localServiceConstants.dinning\n ) {\n e.preventDefault();\n handleClick(service?.id ?? '', service?.bookNowURL ?? '');\n }\n }}\n >\n <span className=\"d-flex py-4 align-items-center justify-content-center\">\n <Link\n linkHref={service.bookNowURL ?? ''}\n linkClassName={`d-flex px-2 px-xl-3 px-md-3 mx-0 mx-xl-0 mx-md-1 align-items-center justify-content-center local-services-content-link local-services-content-link-fandb ${\n localServicesCount > 1 ? 'flex-column' : ''\n } ${localServicesCount === 1 ? 'flex-row' : ''} ${\n localServicesCount === 2 ? 'flex-md-row' : ''\n } ${localServicesCount === 3 || localServicesCount === 4 ? 'flex-xl-row' : ''}`}\n target={sameTab || cna ? '_self' : service?.target}\n data-custom_click_track_value={\n service?.id?.includes(localServiceConstants.spa)\n ? 'Service Bar|Spa Reservation|external'\n : service?.id?.includes(localServiceConstants.golf)\n ? 'Service Bar|Golf Reservation|external'\n : service?.id?.includes(localServiceConstants.foodAndBeverage)\n ? 'Service Bar|Order F&B|external'\n : ''\n }\n custom_click_track_value={\n service?.id?.includes(localServiceConstants.spa)\n ? 'Service Bar|Spa Reservation|external'\n : service?.id?.includes(localServiceConstants.golf)\n ? 'Service Bar|Golf Reservation|external'\n : service?.id?.includes(localServiceConstants.foodAndBeverage)\n ? 'Service Bar|Order F&B|external'\n : ''\n }\n data-is-click-track={true}\n trackingProperties={pageProps?.trackingProperties}\n >\n <span className={service.iconClass}></span>\n <p\n className={`t-label-s pr-2 ${localServicesCount === 1 ? 'pl-3' : ''} ${\n localServicesCount === 2 ? 'pt-2 mt-1 pl-md-3 pt-md-0 mt-md-0' : ''\n } ${\n localServicesCount === 3 || localServicesCount === 4\n ? 'pt-2 mt-1 mt-md-0 pt-xl-0 pl-xl-3'\n : ''\n } pl-0 mb-0 text-center`}\n >\n {service.title}\n </p>\n <span className=\"menu-icon-arrow icon-arrow-right-external d-none d-xl-inline-flex\"></span>\n </Link>\n </span>\n </li>\n );\n }\n return null;\n })}\n </ul>\n </div>\n </div>\n </div>\n {showDinningModal && (\n <Ppv5Modal\n showModal={showDinningModal}\n modalTitle={pageProps.diningModalTitle}\n modalContent={modalBody}\n diningModal={true}\n diningModalClass={dinningRestaurants.length > 4 ? 'col-md-10 col-xl-8' : ''}\n closeBtnHandler={closeDinningModal}\n />\n )}\n </div>\n )}\n </StyledLocalServicesMenu>\n );\n};\n","// Styles for LocalHeader go here.\nimport styled from 'styled-components';\nimport rtl from 'styled-components-rtl';\nimport { toRem, baseVariables, contextualVariable } from '@marriott/mi-ui-library';\nimport '@glidejs/glide/dist/css/glide.core.min.css';\nimport '@glidejs/glide/dist/css/glide.theme.min.css';\n\nconst $glideBulletBgColor = '#8c8c8c';\nconst $activeGlideBulletBgColor = '#51555a';\n\nexport const StyledLocalServicesCards = styled.div`\n ${rtl`\n .card-component {\n height: 100%;\n &-content {\n &-line-seperator {\n background-color: ${contextualVariable.linkNavBorderColor};\n height: ${toRem(1)};\n width: ${toRem(42)};\n }\n &-cta {\n height: ${toRem(32)};\n width: 100%;\n white-space: nowrap;\n &-anchor {\n position: absolute;\n bottom: ${toRem(32)};\n left: 50%;\n transform: translateX(-50%);\n }\n }\n }\n &-container {\n position: relative;\n height: inherit;\n border: ${toRem(1)} solid ${baseVariables.color.neutral20};\n border-radius: ${toRem(14)};\n background-color: ${baseVariables.color.base20};\n box-shadow: 0 ${toRem(4)} ${toRem(20)} 0 rgba(0, 0, 0, 0.07);\n border-bottom: ${toRem(10)} solid ${contextualVariable.linkNavBorderColor};\n &-image {\n position: relative;\n width: 100%;\n padding-top: 56.25%;\n overflow: hidden;\n }\n &-img {\n border-top-left-radius: ${toRem(14)};\n border-top-right-radius: ${toRem(14)};\n position: absolute;\n top: 0;\n width: 100%;\n height: 100%;\n object-fit: cover;\n }\n }\n }\n .services-carousel-content {\n &-component {\n overflow: visible;\n .glide__arrows {\n position: relative;\n top: 50%;\n bottom: 50%;\n left: ${toRem(-20)};\n right: ${toRem(-20)};\n .glide__arrow {\n box-sizing: border-box;\n height: ${toRem(40)};\n width: ${toRem(40)};\n border-radius: 50%;\n padding: ${toRem(9)} ${toRem(12)};\n border: ${toRem(1)} solid ${baseVariables.color.neutral20};\n background-color: ${baseVariables.color.base20};\n box-shadow: 0 ${toRem(2)} ${toRem(20)} 0 rgba(0, 0, 0, 0.09);\n position: absolute;\n margin-top: ${toRem(256)};\n margin-right: ${toRem(-40)};\n\n [class*='icon-'],\n [class*='icon-']::before {\n color: ${baseVariables.color.neutral00};\n }\n &:hover {\n box-shadow: 0 ${toRem(4)} ${toRem(10)} 0 rgba(0, 0, 0, 0.3);\n }\n &.prev {\n left: 0;\n }\n &.next {\n right: 0;\n }\n }\n }\n .glide__track {\n width: 100%;\n .glide__slide {\n height: auto;\n }\n }\n }\n }\n .v2-amenity-cards-wrapper {\n .services-carousel-content {\n &-component {\n .glide__arrows {\n .glide__arrow {\n box-shadow: 0 ${toRem(2)} ${toRem(20)} 0 rgba(0, 0, 0, 0.09);\n position: absolute;\n margin-top: ${toRem(256)};\n margin-right: ${toRem(-40)};\n\n [class*='icon-'],\n [class*='icon-']::before {\n color: ${contextualVariable.linkNavBorderColor};\n }\n\n &.glide__arrow--disabled {\n opacity: 0;\n }\n }\n }\n .glide__bullets {\n justify-content: center;\n position: relative;\n margin-top: ${toRem(48)};\n\n .glide__bullet {\n background-color: ${$glideBulletBgColor};\n &.glide__bullet--active {\n background-color: ${$activeGlideBulletBgColor};\n }\n }\n }\n }\n }\n }\n\n .v2-amenity-cards-wrapper .services-carousel-content .services-carousel-content-component.glide--rtl .glide__arrows .glide__arrow {\n opacity: 0;\n\n &.glide__arrow--disabled,\n &.glide__arrow--show {\n opacity: 1;\n }\n }\n\n .v2-amenity-cards-wrapper .services-carousel-content .services-carousel-content-component.glide--rtl .glide__bullets {\n transform: translateX(-50%);\n }\n\n .services-card-skeleton {\n &_title {\n height: ${toRem(33)};\n }\n &_label {\n height: ${toRem(22)};\n }\n &_seperator {\n background-color: ${baseVariables.color.neutral20};\n }\n &_description {\n height: ${toRem(80)};\n }\n &_cta {\n width: ${toRem(130)};\n height: ${toRem(24)};\n }\n }\n `}\n`;\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { FC, useEffect, useContext, useState } from 'react';\nimport Glide from '@glidejs/glide';\nimport { useServiceStore, serviceStore } from '../../../modules/store/serviceStore';\nimport { PageParamsContext } from '../../../modules/context/PageContext';\nimport { LocalServicesCardsProps, Node, imageNodeProps, ImageProps, RenditionsProps } from './LocalServicesCards.types';\nimport { imageQueryParam } from '../LocalServices.types';\nimport { StyledLocalServicesCards } from './LocalServicesCards.styles';\nimport { Button, Image, useCheckBreakpoint } from '@marriott/mi-ui-library';\nimport { common_words, localServiceAnalyticsTrackConstant } from '../../../modules/utils/constants/constants';\nimport { statesConstant, localServiceConstants, cacheURL } from '../../../modules/utils/constants';\n\nexport const LocalServicesCards: FC<LocalServicesCardsProps> = pageProps => {\n const setServiceData = useServiceStore((state: serviceStore) => state.setservice);\n const [servicesCards, setServicesCards] = useState<any[]>([]);\n const [servicesCardsCount, setServicesCardsCount] = useState(0);\n const [currentSlideIndex, setCurrentSlideIndex] = useState<number>(0);\n const { preProcessorResponse, direction = 'ltr' } = useContext(PageParamsContext);\n const { state = '', sameTab = false, cna = false, disableImageModifier = false } = preProcessorResponse ?? {};\n const isMobileAndAboveViewPort = useCheckBreakpoint('viewportXS'); // check if viewport is Mobile and above\n const isTabletAndAboveViewPort = useCheckBreakpoint('viewportM'); // check if viewport is Tablet and above\n const isDesktopAndAboveViewPort = useCheckBreakpoint('viewportXl'); // check if viewport is medium desktop and above\n const DESKTOP_VIEWPORT_PER_VIEW = 3;\n const TABLET_VIEWPORT_PER_VIEW = 2;\n const MOBILE_VIEWPORT_PER_VIEW = 1;\n\n useEffect(() => {\n const calculateRenditions = (serviceCards: any[]) => {\n if (!disableImageModifier && serviceCards && serviceCards?.length) {\n const updatedServiceCards: any[] = [];\n serviceCards.forEach(serviceCard => {\n const imageQueryParamsAmenities: Array<imageQueryParam> = pageProps?.imageQueryParamsAmenities ?? [];\n if (serviceCard?.dynamicMedia?.renditions && serviceCard?.dynamicMedia?.renditions?.length) {\n updatedServiceCards.push({\n ...serviceCard,\n });\n } else {\n const renditions: Array<RenditionsProps> = [];\n if (serviceCard?.defaultImageURL?.includes('/is/image')) {\n updatedServiceCards.push({\n ...serviceCard,\n defaultImageURL: `${serviceCard?.defaultImageURL}?wid=400&fit=constrain`,\n });\n } else {\n imageQueryParamsAmenities.forEach(imageQueryParamsAmenity => {\n renditions.push({\n mediaQuery: imageQueryParamsAmenity?.viewPortName?.split(':')[0],\n mediaValue: imageQueryParamsAmenity?.viewPortName?.split(':')[1],\n width: 400,\n dynamic: true,\n renditionPath: `${serviceCard?.defaultImageURL}?${imageQueryParamsAmenity?.nonRetinaDisplayParams}, ${serviceCard?.defaultImageURL}?${imageQueryParamsAmenity?.retinaDisplayParams}`,\n });\n });\n updatedServiceCards.push({\n ...serviceCard,\n dynamicMedia: {\n ...serviceCard.dynamicMedia,\n renditions: renditions,\n },\n });\n }\n }\n });\n return updatedServiceCards;\n }\n return serviceCards;\n };\n\n let card: any[] = [];\n if (pageProps?.property?.basicInformation?.isOrderFoodAndBeverageByMobileSupported) {\n card = [\n ...card,\n {\n id: localServiceConstants.foodAndBeverage,\n title: pageProps?.foodBeverageCard?.foodBeverageCardLabel,\n label: pageProps?.foodBeverageCard?.foodBeverageTitle,\n description: pageProps?.foodBeverageCard?.foodBeverageDescription,\n dynamicMedia: pageProps?.foodBeverageCard?.dynamicMedia,\n defaultImageURL: pageProps?.foodBeverageCard?.foodBeverageImageSrc,\n altText: pageProps?.foodBeverageCard?.altText ?? pageProps?.foodBeverageCard?.dynamicMedia?.altText,\n ctaLink: pageProps?.foodBeverageCard?.foodBeverageCtaLink,\n ctaLabel: pageProps?.foodBeverageCard?.foodBeverageCtaLabel,\n },\n ];\n }\n const reservations = pageProps?.property?.restaurants?.edges.filter(\n edge => edge?.node?.onProperty === true && edge?.node?.reservationURL\n );\n\n const AEMDinningImages = pageProps?.diningReservationsCard;\n\n const reservationImages = restaurantImageValidation(AEMDinningImages, reservations);\n\n if (reservations?.length) {\n reservations?.forEach((reservation, index) => {\n const hasImage =\n addImagePref(reservationImages?.[index]?.dynamicMedia?.damPath) ??\n addImagePref(reservationImages?.[index]?.classicHorizontal);\n card = [\n ...card,\n {\n id: localServiceConstants.dinning,\n title: pageProps?.diningCardLabel,\n label: reservation?.node?.name,\n description: reservation?.node?.description,\n dynamicMedia:\n addImagePref(reservationImages?.[index]?.dynamicMedia) ??\n (!hasImage ? addImagePref(pageProps?.diningFallbackImage) : []),\n defaultImageURL:\n addImagePref(reservationImages?.[index]?.dynamicMedia?.damPath) ??\n addImagePref(reservationImages?.[index]?.classicHorizontal) ??\n addImagePref(pageProps?.diningFallbackImage?.damPath),\n altText:\n reservationImages?.[index]?.dynamicMedia?.altText ?? reservationImages?.[index]?.alternateDescription,\n ctaLink: reservation?.node?.reservationURL,\n ctaLabel: pageProps?.diningCtaLabel,\n },\n ];\n });\n }\n\n const spaData = pageProps?.property?.spa?.edges?.find(\n edge => edge?.node?.onProperty === true && edge?.node?.bookNowURL\n );\n\n const AEMSpaImages = pageProps?.spaCard;\n\n const spaMedia = pageProps?.property?.media?.photoGallery?.spa?.edges;\n\n const spaImages = SpaImageValidation(AEMSpaImages, spaMedia, spaData);\n const dynamicMedia =\n spaImages && (spaImages?.dynamicMedia ?? spaImages?.classicHorizontal)\n ? addImagePref(spaImages?.dynamicMedia) ?? addImagePref(spaImages?.classicHorizontal)\n : pageProps?.spaFallbackImage\n ? addImagePref(pageProps?.spaFallbackImage)\n : '';\n\n const defaultImageURL =\n spaImages && (spaImages?.dynamicMedia ?? spaImages?.classicHorizontal)\n ? addImagePref(spaImages?.dynamicMedia?.damPath) ?? addImagePref(spaImages?.classicHorizontal)\n : pageProps?.spaFallbackImage\n ? addImagePref(pageProps?.spaFallbackImage?.damPath)\n : '';\n\n if (spaData && spaData?.node?.onProperty) {\n card = [\n ...card,\n {\n id: localServiceConstants.spa,\n title: pageProps?.spaCardLabel,\n label: spaData?.node?.name,\n description: spaData?.node?.description,\n\n dynamicMedia: dynamicMedia,\n defaultImageURL: defaultImageURL,\n altText: spaImages?.dynamicMedia?.altText ?? spaImages?.alternateDescription,\n ctaLink: spaData?.node?.bookNowURL,\n ctaLabel: pageProps?.spaCtaLabel,\n },\n ];\n }\n\n pageProps?.epicgolfCardList?.forEach(golfCard => {\n card = [\n ...card,\n {\n id: localServiceConstants.golf,\n title: pageProps?.golfCardLabel,\n label: golfCard?.title,\n description: golfCard?.description,\n dynamicMedia: addImagePref(golfCard?.dynamicServiceCardImage) ?? addImagePref(pageProps?.golfFallbackImage),\n defaultImageURL: addImagePref(golfCard?.imageSrc) ?? addImagePref(pageProps?.spaFallbackImage?.damPath),\n altText: golfCard?.dynamicServiceCardImage?.altText,\n ctaLink: golfCard?.ctaLink,\n ctaLabel: pageProps?.golfCtaLabel,\n },\n ];\n });\n if (!pageProps?.loading && pageProps?.property?.basicInformation) {\n const updatedCards = calculateRenditions(card);\n setServicesCards([...updatedCards]);\n setServicesCardsCount(updatedCards?.length);\n }\n }, [pageProps?.loading]);\n\n useEffect(() => {\n let glide: any;\n if (servicesCardsCount > 1) {\n glide = new Glide('#ServiceCarousel', {\n type: 'slider',\n gap: 16,\n perView: DESKTOP_VIEWPORT_PER_VIEW,\n keyboard: false,\n autoplay: false,\n hoverpause: true,\n direction: direction,\n rewind: false,\n startAt: 0,\n bound: true,\n breakpoints: {\n 1199: {\n perView: TABLET_VIEWPORT_PER_VIEW,\n peek: {\n before: 0,\n after: 0,\n },\n },\n 767: {\n rewind: true,\n type: 'carousel',\n perView: MOBILE_VIEWPORT_PER_VIEW,\n peek: {\n before: 16,\n after: 16,\n },\n },\n },\n });\n glide.on('run', () => {\n setCurrentSlideIndex(glide.index);\n });\n glide.mount();\n setServiceData(\n {\n servicesLoaded: true,\n },\n false,\n false,\n {}\n );\n }\n\n return () => {\n if (glide) {\n glide?.destroy();\n }\n };\n }, [servicesCardsCount, servicesCards]);\n\n const getImageLoadingType = (imageIndex: number) => {\n if (isDesktopAndAboveViewPort) {\n return imageIndex < DESKTOP_VIEWPORT_PER_VIEW ? 'eager' : 'lazy';\n } else if (isTabletAndAboveViewPort) {\n return imageIndex < TABLET_VIEWPORT_PER_VIEW ? 'eager' : 'lazy';\n } else if (isMobileAndAboveViewPort) {\n return imageIndex < MOBILE_VIEWPORT_PER_VIEW ? 'eager' : 'lazy';\n }\n return 'lazy';\n };\n\n const getRTLClass = (dir: 'left' | 'right') => {\n switch (dir) {\n case 'left':\n if (isDesktopAndAboveViewPort) {\n return servicesCardsCount - DESKTOP_VIEWPORT_PER_VIEW + 1 > currentSlideIndex;\n }\n if (isTabletAndAboveViewPort) {\n return servicesCardsCount - TABLET_VIEWPORT_PER_VIEW + 1 > currentSlideIndex;\n }\n return false;\n\n case 'right':\n if (isDesktopAndAboveViewPort) {\n return servicesCardsCount - DESKTOP_VIEWPORT_PER_VIEW > currentSlideIndex;\n }\n if (isTabletAndAboveViewPort) {\n return servicesCardsCount - TABLET_VIEWPORT_PER_VIEW > currentSlideIndex;\n }\n return false;\n }\n };\n\n const addImagePref = (rendition: ImageProps | string | undefined) => {\n if (rendition && typeof rendition !== 'string' && rendition?.renditions && rendition?.renditions?.length > 0) {\n rendition?.renditions?.forEach((ren: RenditionsProps) => {\n if (ren?.renditionPath?.indexOf('https://') === -1) {\n ren.renditionPath = `${cacheURL}${ren?.renditionPath}`;\n }\n if (ren?.damPath?.indexOf('https://') === -1) {\n ren.damPath = `${cacheURL}${ren?.damPath}`;\n }\n });\n } else {\n if (rendition && typeof rendition === 'string') {\n if (rendition?.indexOf('https://') === -1) {\n rendition = `${cacheURL}${rendition}`;\n }\n }\n }\n return rendition;\n };\n\n const restaurantImageValidation = (AEMImages: any[], uxlArray: any[] | undefined) => {\n const reservationImg: any = new Array(uxlArray?.length ?? 0).fill(null);\n\n // Step I :: Match the productID\n uxlArray?.forEach((uxlItem, index) => {\n const productIdIndex = AEMImages?.findIndex(\n aem => aem?.productId && (aem?.productId ?? '').includes(uxlItem?.node?.productId)\n );\n\n if (productIdIndex !== -1) {\n reservationImg[index] = AEMImages[productIdIndex];\n AEMImages?.splice(productIdIndex, 1);\n } else {\n reservationImg[index] = null;\n }\n });\n\n // For Non-EN Locale FCFS (First Come First Serve Basis)\n if (preProcessorResponse?.locale?.includes('en')) {\n // Step II :: Identify the AEMImages that are most closely correlated with the reservations.\n AEMImages?.forEach((aem, index) => {\n let percentage = 0;\n let maxpercentage = 0;\n let altTextIndex: number | null = null;\n uxlArray?.forEach((uxlItem, uxlIndex) => {\n if (!reservationImg[uxlIndex]) {\n percentage = fuzzySearch(uxlItem?.node?.name, aem?.altText ?? aem?.dynamicMedia?.altText);\n if (maxpercentage < percentage) {\n maxpercentage = percentage;\n altTextIndex = uxlIndex;\n }\n }\n });\n\n if (altTextIndex || altTextIndex === 0) {\n reservationImg[altTextIndex] = AEMImages[index];\n AEMImages?.splice(index, 1);\n }\n });\n }\n\n // Step III :: Check if we have additional AEMImages left in the array and update it to reservation that does not have one\n reservationImg?.forEach((_reservation: any, index: number) => {\n if (AEMImages.length && !reservationImg[index]) {\n reservationImg[index] = AEMImages[0];\n AEMImages?.splice(0, 1);\n }\n });\n\n // Step IV :: Call the UXL Logic if number of reservations > AEM Images, to get missing images from UXL\n reservationImg?.forEach((_reservation: any, index: number) => {\n if (!reservationImg[index]) {\n reservationImg[index] = uxlLogic(uxlArray?.[index]);\n }\n });\n\n return [...reservationImg];\n };\n\n const SpaImageValidation = (AEMImages: string | any[], uxlArray: any[] | undefined, spaData: Node | undefined) => {\n if (AEMImages?.length > 0) {\n return AEMImages[0];\n } else {\n if (preProcessorResponse?.locale?.includes('en')) {\n let percentage = 0;\n let maxpercentage = 0;\n let selectedUXLItem: imageNodeProps | undefined;\n uxlArray?.forEach(item => {\n percentage = fuzzySearch(item?.node?.caption, spaData?.node?.name ?? '');\n if (maxpercentage < percentage && item?.node?.imageUrls?.classicHorizontal) {\n maxpercentage = percentage;\n selectedUXLItem = item;\n }\n });\n if (selectedUXLItem) {\n return {\n classicHorizontal: selectedUXLItem?.node?.imageUrls?.classicHorizontal,\n alternateDescription: selectedUXLItem?.node?.alternateDescription,\n };\n } else {\n return {\n classicHorizontal: uxlArray?.[0]?.node?.imageUrls?.classicHorizontal,\n alternateDescription: uxlArray?.[0]?.node?.alternateDescription,\n };\n }\n } else {\n return {\n classicHorizontal: uxlArray?.[0]?.node?.imageUrls?.classicHorizontal,\n alternateDescription: uxlArray?.[0]?.node?.alternateDescription,\n };\n }\n }\n };\n\n const uxlLogic = (item: { node: { media: { imageConnection: { edges: any[] } }; name: any } }) => {\n let selectedUXLItem;\n if (preProcessorResponse?.locale?.includes('en')) {\n selectedUXLItem = item?.node?.media?.imageConnection?.edges?.find(\n edge =>\n edge?.node?.isPrimaryServices === true &&\n edge?.node?.imageUrls?.classicHorizontal &&\n edge?.node?.imageUrls?.square\n );\n if (selectedUXLItem) {\n return {\n classicHorizontal: selectedUXLItem?.node?.imageUrls?.classicHorizontal,\n square: selectedUXLItem?.node?.imageUrls?.square,\n alternateDescription: selectedUXLItem?.node?.alternateDescription,\n };\n } else {\n selectedUXLItem = item?.node?.media?.imageConnection?.edges?.find(\n edge =>\n edge?.node?.defaultImage === true &&\n edge?.node?.imageUrls?.classicHorizontal &&\n edge?.node?.imageUrls?.square\n );\n if (selectedUXLItem) {\n return {\n classicHorizontal: selectedUXLItem?.node?.imageUrls?.classicHorizontal,\n square: selectedUXLItem?.node?.imageUrls?.square,\n alternateDescription: selectedUXLItem?.node?.alternateDescription,\n };\n } else {\n let percentage = 0;\n let maxpercentage = 0;\n let selectedUXLItem: imageNodeProps | undefined;\n item?.node?.media?.imageConnection?.edges?.forEach(edge => {\n percentage = fuzzySearch(item?.node?.name, edge?.node?.alternateDescription);\n if (\n maxpercentage < percentage &&\n edge?.node?.imageUrls?.classicHorizontal &&\n edge?.node?.imageUrls?.square\n ) {\n maxpercentage = percentage;\n selectedUXLItem = edge;\n }\n });\n if (selectedUXLItem) {\n return {\n classicHorizontal: selectedUXLItem?.node?.imageUrls?.classicHorizontal,\n square: selectedUXLItem?.node?.imageUrls?.square,\n alternateDescription: selectedUXLItem?.node?.alternateDescription,\n };\n } else {\n return {\n classicHorizontal: item?.node?.media?.imageConnection?.edges?.[0]?.node?.imageUrls?.classicHorizontal,\n square: item?.node?.media?.imageConnection?.edges?.[0]?.node?.imageUrls?.square,\n alternateDescription: item?.node?.media?.imageConnection?.edges?.[0]?.node?.alternateDescription,\n };\n }\n }\n }\n } else {\n return {\n classicHorizontal: item?.node?.media?.imageConnection?.edges?.[0]?.node?.imageUrls?.classicHorizontal,\n square: item?.node?.media?.imageConnection?.edges?.[0]?.node?.imageUrls?.square,\n alternateDescription: item?.node?.media?.imageConnection?.edges?.[0]?.node?.alternateDescription,\n };\n }\n };\n\n const initLetsGetConnected = (event: any, bookNowURL = '') => {\n if (state?.toLowerCase() === statesConstant.preconnect || state?.toLowerCase() === statesConstant.connect) {\n event.preventDefault();\n setServiceData(\n {\n serviceClicked: true,\n serviceUXL: bookNowURL,\n },\n false,\n false,\n {}\n );\n sessionStorage.setItem('amenityClicked', bookNowURL);\n }\n };\n\n const fuzzySearch = (name: string, altText: string) => {\n const updatedName = name?.replaceAll(common_words, '') ?? '';\n const updatedAltText = altText?.replaceAll(common_words, '') ?? '';\n const a = prep(updatedName);\n const b = prep(updatedAltText);\n const bg1 = bigrams(a);\n const bg2 = bigrams(b);\n const c1 = count(bg1);\n const c2 = count(bg2);\n const combined: number = [...new Set([...bg1, ...bg2])]?.reduce((t, k) => t + Math.min(c1[k] || 0, c2[k] || 0), 0);\n return (2 * combined) / Math.max(bg1.length + bg2.length, 1);\n };\n\n //logic for fuzzy search starts here\n const prep = (str: string) =>\n str\n ?.toLowerCase()\n ?.replace(/[^\\w\\s]/g, ' ')\n ?.replace(/\\s+/g, ' ');\n\n const bigrams = (str: string) => [...str]?.slice(0, -1)?.map((c, i) => c + str[i + 1]);\n\n const count = (xs: any[]) => xs?.reduce((a, x) => ((a[x] = (a[x] || 0) + 1), a), {});\n //logic for fuzzy search ends here\n\n const cardSkeletonComponent = (\n <div className=\"pt-5 mt-3 pb-4 mb-3 v2-amenity-cards-wrapper\">\n <div className=\"container py-1\">\n <ul className=\"d-md-flex justify-content-md-center\">\n {Array.from(\n {\n length: 3,\n },\n (_, index) => (\n <li\n className={`col-12 px-3 px-md-2 col-md-6 col-xl-4 mb-0 services-card-skeleton ${\n index === 0 ? 'd-block' : index === 1 ? 'd-none d-md-block' : index === 2 ? 'd-none d-xl-block' : ''\n }`}\n >\n <div className=\"card-component\">\n <div className=\"container px-0 card-component-container\">\n <div className=\"skeleton-loader mx-sm-auto mx-md-0 card-component-container-image services-card-skeleton_img\"></div>\n <div className=\"card-component-content py-4 my-2 px-4 mx-2 align-items-center d-flex flex-column justify-content-center\">\n <div className=\"skeleton-loader mx-sm-auto mx-md-0 mb-5 text-center align-self-stretch services-card-skeleton_title\"></div>\n <div className=\"skeleton-loader mx-sm-auto mx-md-0 card-component-content-line-seperator mb-3 services-card-skeleton_seperator\"></div>\n <div className=\"skeleton-loader mx-sm-auto mx-md-0 mt-4 mb-3 text-center align-self-stretch services-card-skeleton_label\"></div>\n <div className=\"skeleton-loader mx-sm-auto mx-md-0 text-center pb-4 mb-2 align-self-stretch services-card-skeleton_description\"></div>\n <div className=\"card-component-content-cta\">\n <div className=\"skeleton-loader mx-sm-auto mx-md-0 card-component-content-cta-anchor services-card-skeleton_cta\"></div>\n </div>\n </div>\n </div>\n </div>\n </li>\n )\n )}\n </ul>\n </div>\n </div>\n );\n\n const cardCarouselComponent = (\n <div\n id={pageProps?.contentID}\n className={`pt-5 mt-4 pb-4 v2-amenity-cards-wrapper ${\n servicesCards.length <= DESKTOP_VIEWPORT_PER_VIEW ? 'mb-xl-3' : ''\n }\n ${servicesCards.length <= TABLET_VIEWPORT_PER_VIEW ? 'mb-md-3' : ''}\n ${servicesCards.length === MOBILE_VIEWPORT_PER_VIEW ? 'mb-3' : ''}`}\n >\n <div className=\"py-1\">\n <div className=\"heading-container-component d-flex justify-content-center align-items-center container pb-5 mb-3 px-xl-0\">\n <div className=\"d-flex flex-column col-10 col-xl-6 align-items-center justify-content-center px-0\">\n {pageProps.heading && (\n <h3 className=\"t-title-s heading-container-component__headline text-center mb-0\">{pageProps.heading}</h3>\n )}\n {pageProps?.description && (\n <p className=\"heading-container-component__description t-font-s mb-0 mt-2 text-center\">\n {pageProps.description}\n </p>\n )}\n </div>\n </div>\n <div className=\"services-carousel-content\">\n <div className=\"container services-carousel-content-container px-0 px-md-2\">\n <div\n id=\"ServiceCarousel\"\n className={`services-carousel-content-component ${\n servicesCardsCount > 1 ? 'glide glide--carousel' : ''\n } `}\n data-cards={servicesCardsCount}\n >\n <div\n data-glide-el=\"controls\"\n className={`glide__arrows d-none ${\n servicesCardsCount > DESKTOP_VIEWPORT_PER_VIEW ? 'd-md-block' : ''\n } ${servicesCardsCount < DESKTOP_VIEWPORT_PER_VIEW ? '' : ''} ${\n servicesCardsCount === DESKTOP_VIEWPORT_PER_VIEW ? 'd-md-block d-xl-none' : ''\n }`}\n >\n <button\n className={`glide__arrow prev services-carousel-content__left ${\n direction === 'rtl' && currentSlideIndex !== 0 && getRTLClass('left') ? 'glide__arrow--show' : ''\n }`}\n data-glide-dir={direction === 'rtl' ? '>' : '<'}\n aria-label=\"left-arrow\"\n >\n <span className=\"icon-arrow-left\"></span>\n </button>\n <button\n className={`glide__arrow next services-carousel-content__right ${\n direction === 'rtl' && (currentSlideIndex === 0 || getRTLClass('right')) ? 'glide__arrow--show' : ''\n }`}\n data-glide-dir={direction === 'rtl' ? '<' : '>'}\n aria-label=\"right-arrow\"\n >\n <span className=\"icon-arrow-right\"></span>\n </button>\n </div>\n <div\n className={`${\n servicesCardsCount < DESKTOP_VIEWPORT_PER_VIEW ? 'd-md-flex justify-content-md-center' : ''\n } glide__track`}\n data-glide-el=\"track\"\n >\n <ul\n className={`${\n servicesCardsCount < TABLET_VIEWPORT_PER_VIEW ? 'col-12 px-3 px-md-1 col-md-6 col-xl-4' : ''\n } glide__slides mb-0`}\n >\n {servicesCards.map((card, index: number) => {\n return (\n <li className=\"glide__slide\" key={index}>\n <div className=\"card-component\">\n <div className=\"container px-0 card-component-container\">\n {/* Image to be updated */}\n <div className=\"card-component-container-image\">\n <Image\n dynamic={true}\n loading={getImageLoadingType(index)}\n defaultImageURL={card?.defaultImageURL}\n altText={card?.altText}\n renditions={card?.dynamicMedia?.renditions || []}\n customClass=\"card-component-container-img\"\n />\n </div>\n <div className=\"card-component-content py-4 my-2 px-4 mx-2 align-items-center d-flex flex-column justify-content-center\">\n <h4 className=\"t-subtitle-xl pb-4 text-center align-self-stretch\">{card.title}</h4>\n <div className=\"card-component-content-line-seperator mb-3\"></div>\n <div className=\"t-subtitle-m pt-4 pb-3 text-center align-self-stretch\">{card.label}</div>\n <div className=\"t-font-s text-center pb-4 mb-2 align-self-stretch\">\n {card.description}\n </div>\n <div className=\"card-component-content-cta\">\n <Button\n isLink={true}\n href={`${card?.ctaLink}`}\n title=\"card-link\"\n target={sameTab || cna ? '_self' : '_blank'}\n className=\"card-component-content-cta-anchor m-button-s m-button-secondary text-center custom_click_track\"\n trackingProperties={pageProps?.trackingProperties}\n data-custom_click_track_value={`Expanded Service|${\n card?.id?.includes(localServiceConstants.dinning)\n ? `${localServiceAnalyticsTrackConstant?.dinning}`\n : card?.id?.includes(localServiceConstants.golf)\n ? localServiceAnalyticsTrackConstant?.golf\n : card?.id?.includes(localServiceConstants.spa)\n ? localServiceAnalyticsTrackConstant?.spa\n : localServiceAnalyticsTrackConstant?.foodAndBeverage\n }|external${\n card?.id?.includes(localServiceConstants.dinning) ? `|${card?.label}` : ''\n }`}\n custom_click_track_value={`Expanded Service|${\n card?.id?.includes(localServiceConstants.dinning)\n ? `${localServiceAnalyticsTrackConstant?.dinning}`\n : card?.id?.includes(localServiceConstants.golf)\n ? localServiceAnalyticsTrackConstant?.golf\n : card?.id?.includes(localServiceConstants.spa)\n ? localServiceAnalyticsTrackConstant?.spa\n : localServiceAnalyticsTrackConstant?.foodAndBeverage\n }|external${\n card?.id?.includes(localServiceConstants.dinning) ? `|${card?.label}` : ''\n }`}\n data-is-click-track={true}\n callback={e => initLetsGetConnected(e, `${card?.ctaLink}`)}\n linkType={'external'}\n >\n {card.ctaLabel}\n </Button>\n </div>\n </div>\n </div>\n </div>\n </li>\n );\n })}\n </ul>\n </div>\n <div className=\"mt-4\">\n <ul\n className={`glide__bullets ${servicesCards.length <= DESKTOP_VIEWPORT_PER_VIEW ? 'd-xl-none' : ''}\n ${servicesCards.length <= TABLET_VIEWPORT_PER_VIEW ? 'd-md-none' : ''}\n ${servicesCards.length === MOBILE_VIEWPORT_PER_VIEW ? 'd-none' : ''}`}\n data-glide-el=\"controls[nav]\"\n >\n {servicesCards.map((_, index) => {\n return (\n <li key={`glide__bullet-${index}`} className=\"glide__bullet\" data-glide-dir={`=${index}`}></li>\n );\n })}\n </ul>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n );\n\n return (\n <StyledLocalServicesCards>\n {pageProps?.loading && !servicesCardsCount ? cardSkeletonComponent : null}\n {!pageProps?.loading && servicesCardsCount > 0 && servicesCards && servicesCards?.length\n ? cardCarouselComponent\n : null}\n </StyledLocalServicesCards>\n );\n};\n","export const localServicesMock = {\n diningCardLabel: 'Reservations',\n golfCtaLabel: 'Reserve Tee Time',\n diningCtaLabel: 'Make a Dining Reservation',\n heading: 'Our Services',\n diningTitle: 'Make a Dining Reservation',\n cardsCount: 0,\n diningModalTitle: 'Select a Restaurant',\n golfCardList: [],\n spaTitle: 'Book Spa Service',\n fnbTitle: 'Order Food & Beverage',\n diningReservationsCard: [],\n spaCardLabel: 'SPA',\n ':type': 'mi-aem-ppv5-spa/components/content/services-carousel',\n spaCard: [],\n golfReservationURL: '',\n closeModalTitle: 'Close Dialog',\n fnBorderingURL: 'https://www.taptastego.com/NYCMQ?lang=eng-usa',\n fnbOpenInNewTab: '_blank',\n hasCards: false,\n spaCtaLabel: 'Book Spa Service',\n golfTitle: 'Reserve Tee Time',\n golfCardLabel: 'GOLF',\n foodBeverageCard: {\n foodBeverageCtaLink: 'https://www.taptastego.com',\n foodBeverageCtaLabel: 'Order Food & Beverage',\n foodBeverageDescription:\n \"See what's available from our hotel restaurants. Browse our menus, and where available, place your order or schedule one for later.\",\n foodBeverageTitle: 'Browse, Tap, Eat',\n foodBeverageCardLabel: 'Ordering',\n foodBeverageImageSrc: '/content/dam/marriott/global/en/dining/merLAXMErf.1066653.jpg',\n },\n epicgolfCardList: [],\n trackingProperties: {\n additionalTrackingVariables: '',\n enableScrollingBehavior: false,\n trackingDescription: '',\n impressionTrack: false,\n trackingContentPosition: '',\n atCCeVar48: '',\n rightArrowDesc: '',\n leftArrowDesc: '',\n clickTrack: true,\n location: '',\n merchandisingCategory: 'nonCobrand',\n impressionCount: false,\n trackingOfferType: '',\n trackingTag: '',\n },\n};\n\nexport const localServicesMockUXL = {\n data: {\n property: {\n restaurants: {\n edges: [\n {\n node: {\n description:\n 'Savor fresh, locally-sourced food on-the-go or from the comfort of your room. All orders include eco-friendly utensils, napkins, and cups; call “Fresh Bites†from your room to place your order.',\n name: 'Fresh Bites: In-Room or On-the-Go',\n onProperty: true,\n reservationURL: null,\n media: {\n imageConnection: null,\n __typename: 'ProductMedia',\n },\n productId: '5900776',\n __typename: 'Restaurant',\n },\n __typename: 'RestaurantEdge',\n },\n {\n node: {\n description:\n 'Bond 45 has a wide-ranging Italian menu including steak, seafood & an antipasti bar served in a sprawling space in the heart of the theater district.',\n name: 'Bond 45',\n onProperty: false,\n reservationURL: null,\n media: {\n imageConnection: null,\n __typename: 'ProductMedia',\n },\n productId: '6087094',\n __typename: 'Restaurant',\n },\n __typename: 'RestaurantEdge',\n },\n {\n node: {\n description:\n 'Settle into the heart of Times Square and experience our redesigned Broadway Lounge. Our quintessential New York restaurant serves up floor-to-ceiling views, classic cocktails, and contagious energy.',\n name: 'Broadway Lounge',\n onProperty: true,\n reservationURL: 'http://www.opentable.com/restaurant/profile/1221586/reserve?restref=1221586',\n media: {\n imageConnection: {\n edges: [\n {\n node: {\n imageUrls: {\n classicHorizontal: '/is/image/marriotts7prod/mc-nycmq-broadway-lounge-67908:Classic-Hor',\n square: '/is/image/marriotts7prod/mc-nycmq-broadway-lounge-67908:Square',\n __typename: 'ImageRendition',\n },\n alternateDescription: 'Lounge',\n isPrimaryServices: false,\n defaultImage: false,\n __typename: 'ProductImage',\n },\n __typename: 'ProductImageConnectionEdge',\n },\n {\n node: {\n imageUrls: {\n classicHorizontal:\n '/content/dam/marriott-renditions/NYCMQ/nycmq-broadway-lounge-2360-hor-clsc.jpg',\n square: '/content/dam/marriott-renditions/NYCMQ/nycmq-broadway-lounge-2360-sq.jpg',\n __typename: 'ImageRendition',\n },\n alternateDescription: 'Broadway Lounge',\n isPrimaryServices: false,\n defaultImage: false,\n __typename: 'ProductImage',\n },\n __typename: 'ProductImageConnectionEdge',\n },\n {\n node: {\n imageUrls: {\n classicHorizontal:\n '/content/dam/marriott-renditions/NYCMQ/nycmq-broadway-lounge-6077-hor-clsc.jpg',\n square: '/content/dam/marriott-renditions/NYCMQ/nycmq-broadway-lounge-6077-sq.jpg',\n __typename: 'ImageRendition',\n },\n alternateDescription: 'Broadway Lounge - Perch Terrace North',\n isPrimaryServices: false,\n defaultImage: false,\n __typename: 'ProductImage',\n },\n __typename: 'ProductImageConnectionEdge',\n },\n {\n node: {\n imageUrls: {\n classicHorizontal:\n '/is/image/marriotts7prod/mc-nycmq-broadway-lounge-pizza-47040:Classic-Hor',\n square: '/is/image/marriotts7prod/mc-nycmq-broadway-lounge-pizza-47040:Square',\n __typename: 'ImageRendition',\n },\n alternateDescription: 'Broadway Lounge Pizza Show Kitchen view',\n isPrimaryServices: false,\n defaultImage: false,\n __typename: 'ProductImage',\n },\n __typename: 'ProductImageConnectionEdge',\n },\n {\n node: {\n imageUrls: {\n classicHorizontal:\n '/content/dam/marriott-renditions/NYCMQ/nycmq-broadway-lounge-6090-hor-clsc.jpg',\n square: '/content/dam/marriott-renditions/NYCMQ/nycmq-broadway-lounge-6090-sq.jpg',\n __typename: 'ImageRendition',\n },\n alternateDescription: 'Broadway Lounge - View',\n isPrimaryServices: false,\n defaultImage: false,\n __typename: 'ProductImage',\n },\n __typename: 'ProductImageConnectionEdge',\n },\n {\n node: {\n imageUrls: {\n classicHorizontal: '/content/dam/marriott-renditions/NYCMQ/nycmq-lounge-0114-hor-clsc.jpg',\n square: '/content/dam/marriott-renditions/NYCMQ/nycmq-lounge-0114-sq.jpg',\n __typename: 'ImageRendition',\n },\n alternateDescription: 'Times Square events',\n isPrimaryServices: false,\n defaultImage: false,\n __typename: 'ProductImage',\n },\n __typename: 'ProductImageConnectionEdge',\n },\n ],\n __typename: 'ProductImageConnection',\n },\n __typename: 'ProductMedia',\n },\n productId: '6669111',\n __typename: 'Restaurant',\n },\n __typename: 'RestaurantEdge',\n },\n {\n node: {\n description: 'Enjoy a variety of beverages and hot and cold food options on-the-go.',\n name: \"Travel Trader's Gift Shop Cafe\",\n onProperty: true,\n reservationURL: null,\n media: {\n imageConnection: {\n edges: [\n {\n node: {\n imageUrls: {\n classicHorizontal: '/content/dam/marriott-renditions/NYCMQ/nycmq-gift-shop-6083-hor-clsc.jpg',\n square: '/content/dam/marriott-renditions/NYCMQ/nycmq-gift-shop-6083-sq.jpg',\n __typename: 'ImageRendition',\n },\n alternateDescription: \"Travel Trader's Gift Shop Cafe\",\n isPrimaryServices: false,\n defaultImage: false,\n __typename: 'ProductImage',\n },\n __typename: 'ProductImageConnectionEdge',\n },\n ],\n __typename: 'ProductImageConnection',\n },\n __typename: 'ProductMedia',\n },\n productId: '6783407',\n __typename: 'Restaurant',\n },\n __typename: 'RestaurantEdge',\n },\n {\n node: {\n description:\n 'Familiar, comforting and sneakily sophisticated, our new Revel & Rye Bar & Restaurant offers up an intimate dining experience tucked away from the hustle and bustle of Broadway.',\n name: 'Revel & Rye Bar and Restaurant',\n onProperty: true,\n reservationURL: 'http://www.opentable.com/restaurant/profile/1221583/reserve?restref=1221583',\n media: {\n imageConnection: {\n edges: [\n {\n node: {\n imageUrls: {\n classicHorizontal: '/content/dam/marriott-renditions/NYCMQ/nycmq-revel-rye-2363-hor-clsc.jpg',\n square: '/content/dam/marriott-renditions/NYCMQ/nycmq-revel-rye-2363-sq.jpg',\n __typename: 'ImageRendition',\n },\n alternateDescription: 'Revel & Rye Bar & Restaurant',\n isPrimaryServices: false,\n defaultImage: false,\n __typename: 'ProductImage',\n },\n __typename: 'ProductImageConnectionEdge',\n },\n {\n node: {\n imageUrls: {\n classicHorizontal: '/content/dam/marriott-renditions/NYCMQ/nycmq-revel-rye-2357-hor-clsc.jpg',\n square: '/content/dam/marriott-renditions/NYCMQ/nycmq-revel-rye-2357-sq.jpg',\n __typename: 'ImageRendition',\n },\n alternateDescription: 'Revel & Rye - Atrium Dining',\n isPrimaryServices: false,\n defaultImage: false,\n __typename: 'ProductImage',\n },\n __typename: 'ProductImageConnectionEdge',\n },\n {\n node: {\n imageUrls: {\n classicHorizontal:\n '/is/image/marriotts7prod/mc-nycmq-the-marquis-mentalist-18550:Classic-Hor',\n square: '/is/image/marriotts7prod/mc-nycmq-the-marquis-mentalist-18550:Square',\n __typename: 'ImageRendition',\n },\n alternateDescription: 'Illusionist with floating cards and tea pot.',\n isPrimaryServices: false,\n defaultImage: false,\n __typename: 'ProductImage',\n },\n __typename: 'ProductImageConnectionEdge',\n },\n {\n node: {\n imageUrls: {\n classicHorizontal: '/is/image/marriotts7prod/mc-nycmq-revel-and-rye-view-90197:Classic-Hor',\n square: '/is/image/marriotts7prod/mc-nycmq-revel-and-rye-view-90197:Square',\n __typename: 'ImageRendition',\n },\n alternateDescription: 'Revel & Rye sits under the 37 story atrium. Breakf',\n isPrimaryServices: false,\n defaultImage: false,\n __typename: 'ProductImage',\n },\n __typename: 'ProductImageConnectionEdge',\n },\n {\n node: {\n imageUrls: {\n classicHorizontal: '/is/image/marriotts7prod/mc-nycmq-lifestyle-31309:Classic-Hor',\n square: '/is/image/marriotts7prod/mc-nycmq-lifestyle-31309:Square',\n __typename: 'ImageRendition',\n },\n alternateDescription: 'breakfast, pancakes, guest, family',\n isPrimaryServices: false,\n defaultImage: false,\n __typename: 'ProductImage',\n },\n __typename: 'ProductImageConnectionEdge',\n },\n ],\n __typename: 'ProductImageConnection',\n },\n __typename: 'ProductMedia',\n },\n productId: '6792365',\n __typename: 'Restaurant',\n },\n __typename: 'RestaurantEdge',\n },\n {\n node: {\n description:\n 'Nestled eight floors above the heart of Times Square, enjoy exciting views of NYC from our newly redesigned outdoor terraces. The Perch Terraces at Broadway Lounge offer modern outdoor space for dining and events with sweeping views of New York City.',\n name: 'Perch Outdoor Terraces',\n onProperty: true,\n reservationURL: null,\n media: {\n imageConnection: {\n edges: [\n {\n node: {\n imageUrls: {\n classicHorizontal:\n '/content/dam/marriott-renditions/NYCMQ/nycmq-broadway-lounge-6076-hor-clsc.jpg',\n square: '/content/dam/marriott-renditions/NYCMQ/nycmq-broadway-lounge-6076-sq.jpg',\n __typename: 'ImageRendition',\n },\n alternateDescription: 'Broadway Lounge - Perch Terrace South',\n isPrimaryServices: false,\n defaultImage: false,\n __typename: 'ProductImage',\n },\n __typename: 'ProductImageConnectionEdge',\n },\n ],\n __typename: 'ProductImageConnection',\n },\n __typename: 'ProductMedia',\n },\n productId: '6798199',\n __typename: 'Restaurant',\n },\n __typename: 'RestaurantEdge',\n },\n {\n node: {\n description: \"Bistro for dry-aged steaks & other French fare, with a bar that's strong on absinthe.\",\n name: 'Boucherie Union Square',\n onProperty: false,\n reservationURL: null,\n media: {\n imageConnection: null,\n __typename: 'ProductMedia',\n },\n productId: '6839447',\n __typename: 'Restaurant',\n },\n __typename: 'RestaurantEdge',\n },\n {\n node: {\n description: 'No-frills counter-serve establishment serving New York-style slices & pies since 1975.',\n name: \"Joe's Pizza\",\n onProperty: false,\n reservationURL: null,\n media: {\n imageConnection: null,\n __typename: 'ProductMedia',\n },\n productId: '6839460',\n __typename: 'Restaurant',\n },\n __typename: 'RestaurantEdge',\n },\n {\n node: {\n description:\n 'Featuring breathtaking panoramic views of Times Square, Executive Chef Anthony Paris has created a Contemporary American Grill. The restaurant is the perfect location for pre and post theater dining.',\n name: 'R Lounge at Two Times Square',\n onProperty: false,\n reservationURL: null,\n media: {\n imageConnection: null,\n __typename: 'ProductMedia',\n },\n productId: '125817',\n __typename: 'Restaurant',\n },\n __typename: 'RestaurantEdge',\n },\n {\n node: {\n description:\n 'Balthazar serves traditional bistro fare from breakfast through late-night supper. Opened by Keith McNally in the spring of 1997, Balthazar offers a French menu prepared by chefs de cuisine Riad Nasr and Lee Hanson.',\n name: 'Balthazar',\n onProperty: false,\n reservationURL: null,\n media: {\n imageConnection: null,\n __typename: 'ProductMedia',\n },\n productId: '110289',\n __typename: 'Restaurant',\n },\n __typename: 'RestaurantEdge',\n },\n {\n node: {\n description:\n 'Since the 1950’s, Junior’s has been famous for great food, great fun, great service and of course the best cheesecake in town.',\n name: 'Junior’s – Deli /American',\n onProperty: false,\n reservationURL: null,\n media: {\n imageConnection: null,\n __typename: 'ProductMedia',\n },\n productId: '110292',\n __typename: 'Restaurant',\n },\n __typename: 'RestaurantEdge',\n },\n {\n node: {\n description:\n 'An augmented reality dining experience that immerses all the senses. Be delighted as an animated chef prepares a 4-course meal in front of your eyes. Enjoy whimsical animations showcasing the story behind each course in a unique presentation that amazes.',\n name: 'The View Restaurant Le Petit Chef',\n onProperty: true,\n reservationURL: 'https://www.opentable.com/the-view-restaurant?page=1',\n media: {\n imageConnection: {\n edges: [\n {\n node: {\n imageUrls: {\n classicHorizontal: '/is/image/marriotts7prod/mc-nycmq-le-petit-chef-33669:Classic-Hor',\n square: '/is/image/marriotts7prod/mc-nycmq-le-petit-chef-33669:Square',\n __typename: 'ImageRendition',\n },\n alternateDescription: 'Le Petit Chef at The View Restaurant',\n isPrimaryServices: false,\n defaultImage: false,\n __typename: 'ProductImage',\n },\n __typename: 'ProductImageConnectionEdge',\n },\n ],\n __typename: 'ProductImageConnection',\n },\n __typename: 'ProductMedia',\n },\n productId: '87227',\n __typename: 'Restaurant',\n },\n __typename: 'RestaurantEdge',\n },\n {\n node: {\n description:\n \"Located on the Ground Floor Level of the hotel, re-energize during your stay on Broadway with a visit to our on-site Starbucks®. Get your favorite beverage along with the coffee house's well-known pastries, breakfast foods and more.\",\n name: 'Starbucks®',\n onProperty: true,\n reservationURL: null,\n media: {\n imageConnection: null,\n __typename: 'ProductMedia',\n },\n productId: '77875',\n __typename: 'Restaurant',\n },\n __typename: 'RestaurantEdge',\n },\n {\n node: {\n description:\n 'Located on New York’s famed Restaurant Row in the heart of the theater district, Becco is open 7 days a week for both lunch & dinner.',\n name: 'Becco',\n onProperty: false,\n reservationURL: null,\n media: {\n imageConnection: null,\n __typename: 'ProductMedia',\n },\n productId: '110293',\n __typename: 'Restaurant',\n },\n __typename: 'RestaurantEdge',\n },\n {\n node: {\n description:\n 'Famous circa-1929 Village pizzeria slings trademark thin-crust pies in a soaring Midtown space.',\n name: \"John's Pizzeria\",\n onProperty: false,\n reservationURL: null,\n media: {\n imageConnection: null,\n __typename: 'ProductMedia',\n },\n productId: '71637',\n __typename: 'Restaurant',\n },\n __typename: 'RestaurantEdge',\n },\n {\n node: {\n description:\n 'Del Frisco’s of New York is an energetic, sprawling, three-story restaurant located in the heart of Mid-town Manhattan.',\n name: 'Del Frisco’s Double Eagle Steak House',\n onProperty: false,\n reservationURL: null,\n media: {\n imageConnection: null,\n __typename: 'ProductMedia',\n },\n productId: '71635',\n __typename: 'Restaurant',\n },\n __typename: 'RestaurantEdge',\n },\n {\n node: {\n description:\n 'BLT Steak is our interpretation of the American Steakhouse and combines bistro ambiance with steakhouse fare.',\n name: 'BLT Steak',\n onProperty: false,\n reservationURL: null,\n media: {\n imageConnection: null,\n __typename: 'ProductMedia',\n },\n productId: '110286',\n __typename: 'Restaurant',\n },\n __typename: 'RestaurantEdge',\n },\n {\n node: {\n description:\n 'After enjoying quintessential New York City fare at Revel & Rye Bar and Restaurant, experience an up close and personal show as Ken Salaz reads your mind, predicts the future and amazed all with his brilliant illusions.',\n name: 'The Marquis Mentalist - A Unique Dining Experience (Temp Closed)',\n onProperty: true,\n reservationURL: 'https://www.opentable.com/r/revel-and-rye-bar-and-restaurant-new-york',\n media: {\n imageConnection: null,\n __typename: 'ProductMedia',\n },\n productId: '6836140',\n __typename: 'Restaurant',\n },\n __typename: 'RestaurantEdge',\n },\n ],\n __typename: 'RestaurantConnection',\n },\n spa: {\n edges: [\n {\n node: {\n name: 'Allure Day Spa & Hair Design',\n description:\n 'Allure Day Spa in NYC is renowned for its friendly, unpretentious staff, esthetically pleasing and soothing atmosphere, and more notably for its qualified and certified professional estheticians and therapists.',\n bookNowURL: null,\n id: 'nycmq.6755594',\n onProperty: false,\n __typename: 'PropertySpa',\n },\n __typename: 'PropertySpaEdge',\n },\n ],\n __typename: 'PropertySpaConnection',\n },\n basicInformation: {\n isOrderFoodAndBeverageByMobileSupported: true,\n __typename: 'HotelBasicInformation',\n },\n media: {\n photoGallery: {\n spa: null,\n __typename: 'PhotoGalleryImageConnection',\n },\n __typename: 'HotelMediaContent',\n },\n __typename: 'Hotel',\n },\n spa: {\n edges: [\n {\n node: {\n name: 'SAI SPA Munchen',\n description:\n 'SAI SPA focuses on a classic selection of excellent massages from Europe and Asia, whose origins have been handed down for generations. All treatments are aimed at relaxing the body and allowing guests a moment of rest.',\n bookNowURL: null,\n id: 'mucwi.6497142',\n onProperty: false,\n },\n },\n {\n node: {\n name: 'ISARspa',\n description:\n 'Inspired by the recreational value of the ISAR with its quiet natural reserves you will find your perfect personal time-out here.Please note kids are only allowed in the spa until 06:00pm.',\n bookNowURL: null,\n id: 'mucwi.6029909',\n onProperty: true,\n },\n },\n {\n node: {\n name: 'Medius Spa and Fitness at Four Points by Sheraton Munich Arabellapark',\n description:\n 'Experience wellness and fitness from a completely new perspective at your Spa Hotel in Munich. Our 800m² large wellness area, including pool, sauna and spa awaits you on the 22nd and 23rd floor. Enjoy the unique view over the rooftops of Munich.',\n bookNowURL: null,\n id: 'mucwi.6710854',\n onProperty: false,\n },\n },\n ],\n },\n basicInformation: {\n isOrderFoodAndBeverageByMobileSupported: false,\n },\n },\n};\n\nexport const localServicesMockUXLStorybook = {\n property: {\n restaurants: {\n edges: [\n {\n node: {\n description:\n 'Sample Bavarian cuisine served by our friendly staff, dressed in traditional dirndl and lederhose, amidst a traditional ambiance. Enjoy a cold draught beer in Munich, Germany, in the attached beer garden, charmingly laid out with large chestnut trees.',\n name: \"Paulaner's Wirtshaus & Beer Garden\",\n onProperty: true,\n reservationURL: \"https://www.tableresmarriott.com/paulaner's-restaurant-munich\",\n productId: '6029906',\n },\n },\n {\n node: {\n description:\n \"Munich's Greenhouse Restaurant offers a large, international breakfast, giving you the energy you need to start your day. Enjoy a variety of healthy dishes, along with classics such as pancakes and local specialties. The breakfast is 32€ per person.\",\n name: 'Greenhouse Restaurant & Eventlocation',\n onProperty: true,\n reservationURL: null,\n productId: '6029907',\n },\n },\n {\n node: {\n description:\n 'Make The Drop Botanical Bar & Eatery your all-day hotspot for homemade pastries, barista-quality coffees, healthy bowls, expertly mixed cocktails and revitalizing juices from Westin Fresh by The Juicery.',\n name: 'The Drop - Botanical Bar & Eatery',\n onProperty: true,\n reservationURL: null,\n productId: '6482848',\n },\n },\n {\n node: {\n description:\n 'Rediscover the Bavarian cuisine and enjoy the flair of Munich at Schwarzreiter Tagesbar & Restaurant.',\n name: 'Schwarzreiter Tagesbar & Restaurant',\n onProperty: false,\n reservationURL: null,\n productId: '6496947',\n },\n },\n {\n node: {\n description:\n 'Ristorante Cupido is an Italian gourmet restaurant in Munich. Enjoy fine Italian food and wines.',\n name: 'Ristorante Cupido',\n onProperty: false,\n reservationURL: null,\n productId: '6496948',\n },\n },\n {\n node: {\n description:\n 'Experience exquisite fine French dining at Restaurant Atelier Gourmet. Our set menu is beautifully prepared, and you can choose from three, four or five course meals.',\n name: 'Restaurant Atelier Gourmet',\n onProperty: false,\n reservationURL: null,\n productId: '6498253',\n },\n },\n {\n node: {\n description:\n 'Bring the whole family to visit little Italy in the heart of Munich! Enjoy pizza, pasta and other delicious Italian recipes.',\n name: 'Il Sogno',\n onProperty: false,\n reservationURL: null,\n productId: '6498254',\n },\n },\n {\n node: {\n description: 'The first Malaysian restaurant in Germany',\n name: 'Champor',\n onProperty: false,\n reservationURL: 'https://www.champor.de',\n productId: '6585764',\n },\n },\n ],\n },\n spa: {\n edges: [\n {\n node: {\n name: 'SAI SPA Munchen',\n description:\n 'SAI SPA focuses on a classic selection of excellent massages from Europe and Asia, whose origins have been handed down for generations. All treatments are aimed at relaxing the body and allowing guests a moment of rest.',\n bookNowURL: null,\n id: 'mucwi.6497142',\n onProperty: false,\n },\n },\n {\n node: {\n name: 'ISARspa',\n description:\n 'Inspired by the recreational value of the ISAR with its quiet natural reserves you will find your perfect personal time-out here.Please note kids are only allowed in the spa until 06:00pm.',\n bookNowURL: null,\n id: 'mucwi.6029909',\n onProperty: true,\n },\n },\n {\n node: {\n name: 'Medius Spa and Fitness at Four Points by Sheraton Munich Arabellapark',\n description:\n 'Experience wellness and fitness from a completely new perspective at your Spa Hotel in Munich. Our 800m² large wellness area, including pool, sauna and spa awaits you on the 22nd and 23rd floor. Enjoy the unique view over the rooftops of Munich.',\n bookNowURL: null,\n id: 'mucwi.6710854',\n onProperty: false,\n },\n },\n ],\n },\n basicInformation: {\n isOrderFoodAndBeverageByMobileSupported: true,\n },\n },\n};\n","import React, { FC, useEffect, useContext } from 'react';\nimport { Config, EditableComponent, MappedComponentProperties } from '@adobe/aem-react-editable-components';\nimport { useQuery } from '@apollo/client';\nimport { PageParamsContext } from '../../modules/context/PageContext';\n\nimport { phoenixPpv5Services } from '../../modules/graphql/index';\nimport { LocalServicesProps } from './LocalServices.types';\nimport { useServiceStore, serviceStore } from '../../modules/store/serviceStore';\n\nimport { LocalServicesMenu } from './LocalServicesMenu/LocalServicesMenu';\nimport { LocalServicesCards } from './LocalServicesCards/LocalServicesCards';\nimport { statesConstant } from '../../modules/utils/constants';\nimport { LocalServicesCardsProps } from './LocalServicesCards';\n\nimport { localServicesMockUXL } from './__mock__/LocalServicesMock';\n\nconst { NEXT_PUBLIC_AEM_SITE } = process.env;\n\nexport const LocalServices: FC<LocalServicesProps> = pageProps => {\n const isServer = !(typeof window != 'undefined' && window.document);\n const { preProcessorResponse, sessionID, requestId, lang } = useContext(PageParamsContext);\n const { state = '' } = preProcessorResponse || {};\n const setServiceData = useServiceStore((state: serviceStore) => state.setservice);\n let { data, loading } = useQuery(phoenixPpv5Services, {\n fetchPolicy: isServer ? 'network-only' : 'cache-first',\n variables: {\n propertyId: preProcessorResponse?.marsha ?? '',\n },\n context: {\n headers: {\n 'accept-language': lang ?? 'en-US',\n 'x-b3-traceId': sessionID ?? 'fallback-token',\n 'x-b3-spanId': requestId !== '' ? requestId : `${Date.now()}`,\n 'correlation-id': sessionID ?? 'fallback-token',\n },\n },\n skip: pageProps.isAuthorMode,\n });\n\n if (pageProps.isAuthorMode) {\n loading = false;\n data = localServicesMockUXL.data;\n }\n\n useEffect(() => {\n if (\n state?.toLowerCase() === statesConstant.connected &&\n sessionStorage.getItem('amenityClicked') &&\n !sessionStorage.getItem('reloadConnectedUrl')\n ) {\n setServiceData(\n {\n serviceClicked: true,\n },\n false,\n false,\n {}\n );\n }\n }, []);\n\n return (\n <>\n {!loading && data && data?.property ? (\n <LocalServicesMenu data-component-name=\"o-ppv5-LocalServices\" {...pageProps} {...data} />\n ) : null}\n <LocalServicesCards\n data-component-name=\"o-ppv5-LocalServices\"\n {...(pageProps as LocalServicesCardsProps)}\n loading={loading}\n {...data}\n />\n </>\n );\n};\n\nexport const LocalServicesConfig = {\n emptyLabel: 'services_carousel',\n isEmpty: (_props: MappedComponentProperties) => false,\n resourceType: `${NEXT_PUBLIC_AEM_SITE}/components/content/services-carousel`,\n} as Config<MappedComponentProperties>;\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport const LocalServicesEditable = (props: any) => (\n <EditableComponent config={LocalServicesConfig} {...props}>\n <LocalServices {...props} />\n </EditableComponent>\n);\n","// Styles for LetsConnect go here.\nimport styled from 'styled-components';\nimport rtl from 'styled-components-rtl';\nimport { toRem } from '@marriott/mi-ui-library';\n\nexport const StyledLetsConnect = styled.div`\n ${rtl`\n .mdc-dialog {\n display: flex;\n background-color: rgba(0, 0, 0, 0.75);\n z-index: 150;\n overflow-y: auto;\n overflow-x: hidden;\n max-height: none;\n display: block;\n min-height: 100%;\n transform: none;\n opacity: 1;\n position: fixed;\n top: 0;\n left: 0;\n box-sizing: border-box;\n width: 100%;\n height: 100%;\n &__scrim {\n position: fixed;\n pointer-events: auto;\n }\n\n .ppv5modal__header h2 {\n text-transform: capitalize;\n }\n\n .ppv5modal__body {\n margin-bottom: ${toRem(16)} !important;\n padding-bottom: 0 !important;\n }\n .lets-connect-close-button,\n .you-are-connected-close-button {\n text-decoration: underline;\n }\n }\n `}\n`;\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { FC, useEffect, useState, useContext, useRef } from 'react';\nimport { Config, EditableComponent, MappedComponentProperties } from '@adobe/aem-react-editable-components';\nimport { PageParamsContext } from '../../modules/context/PageContext';\n\nimport { Ppv5Modal } from '../Ppv5Modal';\nimport { useServiceStore, serviceStore } from '../../modules/store/serviceStore';\n\nimport { LetsConnectProps } from './LetsConnect.types';\nimport { StyledLetsConnect } from './LetsConnect.styles';\nimport { statesConstant } from '../../modules/utils/constants';\n\nconst { NEXT_PUBLIC_AEM_SITE } = process.env;\n\nexport const LetsConnect: FC<LetsConnectProps> = pageProps => {\n const { preProcessorResponse } = useContext(PageParamsContext);\n const serviceData = useServiceStore((state: serviceStore) => state.serviceData);\n const setServiceData = useServiceStore((state: serviceStore) => state.setservice);\n\n const continueButtonRef = useRef(null);\n\n const [showModal, setShowModal] = useState<boolean>(false);\n const { state = '', currentStateMapping, sameTab = false, cna = false } = preProcessorResponse || {};\n const [modalTitle, setModalTitle] = useState('');\n const [modalBody, setModalBody] = useState(<div></div>);\n\n useEffect(() => {\n if (state?.toLowerCase() === statesConstant.preconnect || state?.toLowerCase() === statesConstant.connect) {\n setModalTitle(pageProps?.letsConnectTitle);\n setModalBody(\n <div className=\"body m-2 amenities-connect\">\n <div className=\"body-container d-flex flex-column internet-bar-component-dialog\">\n <div className=\"d-flex flex-column\">\n <h6 className=\"t-subtitle-m mb-4\">{pageProps?.letsConnectDescription}</h6>\n <p className=\"mb-4 pb-4 t-font-s\">{pageProps?.letsConnectSubDescription}</p>\n </div>\n <button\n className=\"m-button-m m-button-primary t-font-m lets-connect-button m-dialog-btn mb-4\"\n data-dialog-id=\"login-modal\"\n data-testid=\"lets-connect-btn\"\n ref={continueButtonRef}\n onClick={e => {\n if (!(currentStateMapping && currentStateMapping?.noLoginInterfaceModal)) {\n closeButtonHandler();\n }\n connectBtnTrigger(e);\n }}\n >\n {pageProps?.letsConnectButton}\n </button>\n <a\n href=\"#\"\n className=\"t-font-s pt-3 pb-md-3 text-center internet-bar-component-modal-link lets-connect-close-button m-dialog-btn\"\n onClick={e => {\n e.preventDefault();\n closeButtonHandler();\n }}\n data-testid=\"lets-connect-tertiary-btn\"\n >\n {pageProps?.letsConnectTertiaryButton}\n </a>\n </div>\n </div>\n );\n } else if (\n state?.toLowerCase() === statesConstant.connected &&\n sessionStorage.getItem('amenityClicked') &&\n !sessionStorage.getItem('reloadConnectedUrl')\n ) {\n setModalTitle(pageProps?.youAreConnectedTitle);\n setModalBody(\n <div className=\"body mx-2 amenities-connect\">\n <div className=\"body-container d-flex flex-column internet-bar-component-dialog\">\n <div className=\"d-flex flex-column\">\n <h6 className=\"t-subtitle-m mb-md-3 mb-4\">{pageProps?.youAreConnectedDescription}</h6>\n <p className=\"mb-4 pb-4 t-font-s\">{pageProps?.youAreConnectedSubDescription}</p>\n </div>\n <button\n className=\"m-button-m m-button-primary t-font-m mb-4 mt-3\"\n id=\"openExternalAmenityPage\"\n onClick={continueButtonHandle}\n ref={continueButtonRef}\n data-testid=\"you-are-connected-btn\"\n >\n {pageProps?.youAreConnectedButton}\n </button>\n <a\n href=\"#\"\n className=\"t-font-s pt-3 pb-md-3 text-center you-are-connected-close-button m-dialog-btn\"\n onClick={() => {\n closeButtonHandler();\n sessionStorage.setItem('reloadConnectedUrl', 'true');\n }}\n data-testid=\"you-are-connected-close-button\"\n >\n {pageProps?.youAreConnectedTertiaryButton}\n </a>\n </div>\n </div>\n );\n }\n }, []);\n\n useEffect(() => {\n if (serviceData?.serviceClicked) {\n setShowModal(true);\n }\n const timeout = setTimeout(() => {\n if (continueButtonRef && continueButtonRef?.current) {\n (continueButtonRef?.current as HTMLInputElement)?.focus();\n }\n }, 20);\n return () => clearTimeout(timeout);\n }, [serviceData]);\n\n const closeButtonHandler = () => {\n setShowModal(false);\n setServiceData(\n {\n serviceClicked: false,\n },\n false,\n false,\n {}\n );\n };\n\n const continueButtonHandle = () => {\n const url: string = sessionStorage.getItem('amenityClicked') ?? '';\n closeButtonHandler();\n sessionStorage.setItem('reloadConnectedUrl', 'true');\n window.open(url, sameTab || cna ? '_self' : '_blank');\n };\n\n const connectBtnTrigger = (e: any) => {\n e.stopPropagation();\n setServiceData(\n {\n connectBtnClick: true,\n },\n false,\n false,\n {}\n );\n };\n\n return (\n <StyledLetsConnect data-testid=\"lets-connect-modal\" data-component-name=\"o-ppv5-lets-connect-modal\">\n {showModal && (\n <Ppv5Modal\n showModal={showModal}\n modalTitle={modalTitle}\n modalContent={modalBody}\n closeBtnHandler={() => closeButtonHandler()}\n />\n )}\n </StyledLetsConnect>\n );\n};\n\nexport const LetsConnectConfig = {\n emptyLabel: 'LetsConnect',\n isEmpty: (_props: MappedComponentProperties) => false,\n resourceType: `${NEXT_PUBLIC_AEM_SITE}/components/content/letsConnect`,\n} as Config<MappedComponentProperties>;\n\nexport const LetsConnectEditable = (props: any) => (\n <EditableComponent config={LetsConnectConfig} {...props}>\n <LetsConnect {...props} />\n </EditableComponent>\n);\n","import styled from 'styled-components';\nimport rtl from 'styled-components-rtl';\n\nexport const StyledBonvoyApplicationAd = styled.div`\n ${rtl`\n .bonvoyapplication-ad__section {\n .icon-arrow-right-external {\n :lang(ar-AE), \n :lang(ar) {\n &::before {\n right: 1rem !important;\n }\n }\n }\n }\n `}\n`;\n","import { FC, useEffect } from 'react';\nimport { Config, EditableComponent, MappedComponentProperties } from '@adobe/aem-react-editable-components';\nimport { CardHorizontalMini } from '@marriott/mi-ui-library';\nimport { BonvoyApplicationAdProps } from './BonvoyApplicationAd.types';\nimport { StyledBonvoyApplicationAd } from './BonvoyApplicationAd.styles';\n\nexport const BonvoyApplicationAd: FC<BonvoyApplicationAdProps> = (pageProps: BonvoyApplicationAdProps) => {\n useEffect(() => {\n const element = document?.getElementsByClassName(\n 'minicardlink t-background-color icon-arrow-right-external t-font-alt-s custom_click_track track-completed'\n );\n if (element) {\n element?.[0]?.setAttribute(\n 'data-custom_click_track_value',\n 'PPV5 - Bonvoy Application Ad|Unlock extraordinary experiences with the Marriott Bonvoyâ„¢ app.|external'\n );\n element?.[0]?.setAttribute(\n 'custom_click_track_value',\n 'PPV5 - Bonvoy Application Ad|Unlock extraordinary experiences with the Marriott Bonvoyâ„¢ app.|external'\n );\n element?.[0]?.children?.[1]?.setAttribute('data-is-click-track', 'true');\n }\n }, []);\n return (\n <StyledBonvoyApplicationAd data-testid=\"cardhorizontalmini\" data-component-name=\"o-ppv5-cardhorizontalmini\">\n <div className=\"content-container\">\n <div className=\"bonvoyapplication-ad standard\">\n <section className=\"container-sm px-3 px-md-2 px-xl-2 mb-0 mt-3 mt-md-5 bonvoyapplication-ad__section\">\n <div className=\"row\">\n <div className=\"col-12 mb-0 mb-md-2 mb-lg-0\">\n <CardHorizontalMini {...pageProps?.model} />\n </div>\n </div>\n </section>\n </div>\n </div>\n </StyledBonvoyApplicationAd>\n );\n};\n\nexport const BonvoyApplicationAdConfig = {\n emptyLabel: 'BonvoyApplicationAdComponent',\n isEmpty: (_props: MappedComponentProperties) => false,\n resourceType: `mi-aem-common-spa/components/content/cardhorizontalmini`,\n} as Config<MappedComponentProperties>;\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport const BonvoyApplicationAdEditable = (props: any) => {\n return (\n <div data-testid=\"bonvoy-app-editable\" className=\"standard\">\n {props?.cqPath?.includes('experiencefragment') ? (\n <BonvoyApplicationAd {...props} />\n ) : (\n <EditableComponent config={BonvoyApplicationAdConfig} {...props}>\n <BonvoyApplicationAd {...props} />\n </EditableComponent>\n )}\n </div>\n );\n};\n","// Styles for JoinBanner go here.\nimport styled from 'styled-components';\nimport rtl from 'styled-components-rtl';\n\nexport const StyledJoinBanner = styled.div`\n ${rtl`\n overflow: hidden;\n `}\n`;\n","// Imports for external libraries go here.\nimport { FC, useEffect, useState } from 'react';\nimport { useRouter } from 'next/router';\nimport { Config, EditableComponent, MappedComponentProperties } from '@adobe/aem-react-editable-components';\nimport { BannerLayered, BannerLayeredProps } from '@marriott/mi-ui-library';\n\nimport { useServiceStore, serviceStore } from '../../modules/store/serviceStore';\n// Imports for internal (to the monorepo) libraries go here,\n// separated by a blank line from external imports.\n// The closer the import is to the file the lower it should be in this list.\nimport { JoinBannerProps } from './JoinBanner.types';\nimport { StyledJoinBanner } from './JoinBanner.styles';\n\n// Use named rather than default exports.\nexport const JoinBanner: FC<JoinBannerProps> = (pageProps: JoinBannerProps) => {\n const router = useRouter();\n const returnURL = router?.asPath;\n const serviceData = useServiceStore((state: serviceStore) => state.serviceData);\n const [updateReturnUrl, setUpdateReturnUrl] = useState<string>('');\n const [topSpacing, setTopSpacing] = useState(false);\n\n useEffect(() => {\n const element = document?.getElementsByClassName('bl_cta-wrapper bl_cta-center');\n if (element) {\n element?.[0]?.children?.[1]?.setAttribute(\n 'data-custom_click_track_value',\n 'Become a Marriott Bonvoy Member|Sign In|external'\n );\n element?.[0]?.children?.[1]?.setAttribute(\n 'custom_click_track_value',\n 'Become a Marriott Bonvoy Member|Sign In|external'\n );\n element?.[0]?.children?.[1]?.setAttribute('data-is-click-track', 'true');\n }\n }, []);\n\n useEffect(() => {\n if (serviceData && serviceData.merchandisingAvailable && !serviceData.servicesLoaded) {\n setTopSpacing(true);\n } else {\n setTopSpacing(false);\n }\n }, [serviceData]);\n\n useEffect(() => {\n const bannerLayeredModel: BannerLayeredProps = pageProps && pageProps.model;\n const secondaryCtaLink: BannerLayeredProps['secondaryCtaLink'] = bannerLayeredModel?.secondaryCtaLink;\n const updateReturnUrl: string | undefined =\n secondaryCtaLink && secondaryCtaLink?.includes('_PAGEURL_')\n ? secondaryCtaLink?.replace('_PAGEURL_', encodeURIComponent(encodeURIComponent(returnURL)))\n : secondaryCtaLink;\n setUpdateReturnUrl(updateReturnUrl ?? '');\n }, [pageProps, returnURL]);\n\n return (\n <StyledJoinBanner\n data-testid=\"bannerlayered\"\n data-component-name=\"o-ppv5-bannerlayered\"\n className={`${topSpacing ? 'mt-3 pt-4' : ''}`}\n >\n <BannerLayered\n {...pageProps?.model}\n secondaryCtaLink={updateReturnUrl}\n styleclass={'inverse'}\n custom_click_track_value_primary=\"Become a Marriott Bonvoy Member|Unlock extraordinary experiences with the Marriott Bonvoyâ„¢ app.|external\"\n />\n </StyledJoinBanner>\n );\n};\n\nexport const JoinBannerConfig = {\n emptyLabel: 'MarriottBonvoyBannerComponent',\n isEmpty: (_props: MappedComponentProperties) => false,\n resourceType: `mi-aem-common-spa/components/content/bannerlayered`,\n} as Config<MappedComponentProperties>;\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport const JoinBannerExperienceEditable = (props: any) => {\n return (\n <div data-testid=\"join-banner-editable\" className=\"standard\">\n {props?.cqPath?.includes('experiencefragment') ? (\n <JoinBanner {...props} />\n ) : (\n <EditableComponent config={JoinBannerConfig} {...props}>\n <JoinBanner {...props} />\n </EditableComponent>\n )}\n </div>\n );\n};\n","import styled from 'styled-components';\nimport rtl from 'styled-components-rtl';\n\nexport const StyledMMNComponent = styled.div`\n ${rtl``}\n`;\n","import React, { FC } from 'react';\nimport { Config, EditableComponent, MappedComponentProperties } from '@adobe/aem-react-editable-components';\nimport clsx from 'clsx';\nimport { MMNComponentProps } from './MMNComponent.types';\nimport { StyledMMNComponent } from './MMNComponent.styles';\n\nexport const MMNComponent: FC<MMNComponentProps> = pageProps => {\n const { bottomspacing, topspacing, posidesktop, posidmobile, dcnid } = { ...pageProps?.model };\n return (\n <StyledMMNComponent data-testid=\"mmn-container\" data-component-name=\"o-ppv5-mmn-container\">\n <div\n className={clsx(\n 'mmn-ads-container text-center',\n bottomspacing ? 'mmn-bottom-spacing' : topspacing ? 'mmn-top-spacing' : ''\n )}\n data-pos-id-desktop={posidesktop}\n data-pos-id-mobile={posidmobile}\n data-dcn-id={dcnid}\n ></div>\n </StyledMMNComponent>\n );\n};\n\nexport const MMNComponentConfig = {\n emptyLabel: 'MMNComponent',\n isEmpty: (_props: MappedComponentProperties) => false,\n resourceType: `mi-aem-common-spa/components/content/mmn-container`,\n} as Config<MappedComponentProperties>;\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport const MMNComponentEditable = (props: any) => {\n return (\n <EditableComponent config={MMNComponentConfig} {...props}>\n <MMNComponent {...props} />\n </EditableComponent>\n );\n};\n","// Styles for PropertyPortalMerchandising go here.\nimport styled from 'styled-components';\n\nexport const StyledPropertyPortalMerchandising = styled.div``;\n","/* eslint-disable @nx/enforce-module-boundaries */\n/* eslint-disable @typescript-eslint/no-explicit-any */\n\nimport { FC, useEffect, useState } from 'react';\nimport { CardCarouselContainer } from '@marriott/mi-common-static-components';\nimport { getOffers } from '@marriott/mi-headless-utils';\n\nimport { PropertyPortalMerchandisingProps } from './PropertyPortalMerchandising.types';\nimport { StyledPropertyPortalMerchandising } from './PropertyPortalMerchandising.styles';\nimport { experienceFragmentComponentTypes } from '../../modules/utils/constants';\n\nexport const PropertyPortalMerchandising: FC<PropertyPortalMerchandisingProps> = ({ componentProps, type }) => {\n const [targetContent, setTargetContent] = useState<any>({});\n\n const allowedComponents = [\n {\n path: '/jcr:content/root/responsivegrid/mi-aem-common-spa/components/content/cardlayered',\n title: 'Card Layered',\n },\n ];\n\n useEffect(() => {\n const getOffersData = async () => {\n const response = await getOffers('target-propertyPortal-mbox');\n const responseItem = { ...response?.[':items'] };\n if (responseItem && Object.keys(responseItem).length > 0) {\n for (const itemKey in responseItem) {\n if (\n responseItem[itemKey]?.[':type'] === experienceFragmentComponentTypes.cardCarousel &&\n Object.keys(responseItem[itemKey]?.[':items']).length > 0\n ) {\n const target = {\n model: responseItem[itemKey],\n };\n if (!target['model'].cqType) {\n target['model'].cqType = type;\n }\n setTargetContent({ ...target });\n }\n }\n } else {\n if (componentProps && componentProps?.['model'] && !componentProps?.['model']?.cqType) {\n componentProps['model'].cqType = type;\n }\n setTargetContent({ ...componentProps });\n }\n };\n\n getOffersData();\n }, [componentProps, type]);\n\n return (\n <StyledPropertyPortalMerchandising\n data-component-name=\"o-ppv5-PropertyPortalMerchandising\"\n data-testid=\"o-ppv5-PropertyPortalMerchandising\"\n className=\"px-3 pt-md-3 \"\n >\n {Object.keys(targetContent).length ? (\n <CardCarouselContainer\n {...targetContent}\n headerText={targetContent?.['model']?.headerText}\n subHeaderText={targetContent?.['model']?.subTitleText}\n noOfCards={targetContent?.['model']?.noOfCards}\n ctaLabel={targetContent?.['model']?.ctaLabel}\n ctaLink={targetContent?.['model']?.ctaLink}\n ctaType={targetContent?.['model']?.ctaType}\n cardCount={targetContent?.['model']?.cardCount}\n openInaNewTab={false}\n totalNumberOfCards={2}\n trackingProperties={targetContent?.['model']?.trackingProperties}\n styleclass={targetContent?.['model']?.styleclass}\n cqItems={targetContent?.['model']?.[':items']}\n componentId={targetContent?.['model']?.componentId}\n pagePath={''}\n itemPath={''}\n wcmMode={targetContent?.['model']?.wcmMode}\n isAuthorMode={targetContent?.['model']?.isAuthor}\n noOfCardsTablet={targetContent?.['model']?.noOfCardsTablet}\n allowedComponents={allowedComponents}\n variation={targetContent?.['model']?.variation}\n />\n ) : null}\n </StyledPropertyPortalMerchandising>\n );\n};\n","// Styles for PropertyPortalExperienceFragment go here.\nimport styled from 'styled-components';\nimport rtl from 'styled-components-rtl';\n\nexport const StyledPropertyPortalExperienceFragment = styled.div`\n ${rtl`\n .glide__arrows {\n [class^=icon-] {\n color: inherit;\n }\n }`}\n`;\n","/* eslint-disable @nx/enforce-module-boundaries */\n/* eslint-disable @typescript-eslint/no-explicit-any */\n\nimport { FC, useContext } from 'react';\nimport { canUseDOM } from '@marriott/shared/mi-helper-utils';\nimport { OfferCardCarousel } from '@marriott/mi-offers-components';\nimport { Footer } from '@marriott/mi-common-static-components';\n\nimport { experienceFragmentComponentTypes, merchandisingContectID } from '../../modules/utils/constants';\nimport { useServiceStore, serviceStore } from '../../modules/store/serviceStore';\nimport { PageParamsContext } from '../../modules/context/PageContext';\nimport { AccuWeather, AccuWeatherProps } from '../AccuWeather';\nimport { BonvoyApplicationAd, BonvoyApplicationAdProps } from '../BonvoyApplicationAd';\nimport { JoinBanner, JoinBannerProps } from '../JoinBanner';\nimport { MMNComponent, MMNComponentProps } from '../MMNComponent';\nimport { PropertyPortalMerchandising } from '../PropertyPortalMerchandising';\nimport { PropertyPortalExperienceFragmentProps } from './PropertyPortalExperienceFragment.types';\nimport { StyledPropertyPortalExperienceFragment } from './PropertyPortalExperienceFragment.styles';\n\nexport const PropertyPortalExperienceFragment: FC<PropertyPortalExperienceFragmentProps> = (\n pageProps: PropertyPortalExperienceFragmentProps\n) => {\n const { preProcessorResponse, requestId } = useContext(PageParamsContext);\n const setServiceData = useServiceStore((state: serviceStore) => state.setservice);\n const getExperienceFragmentComponent = (type: string, componentProps: any) => {\n let experienceFragmentComponent = null;\n switch (type) {\n case experienceFragmentComponentTypes.accuWeather:\n experienceFragmentComponent = <AccuWeather {...(componentProps?.model as AccuWeatherProps)} />;\n break;\n\n case experienceFragmentComponentTypes.cardHorizontalMini:\n experienceFragmentComponent = <BonvoyApplicationAd {...(componentProps as BonvoyApplicationAdProps)} />;\n break;\n\n case experienceFragmentComponentTypes.bannerLayered:\n experienceFragmentComponent = <JoinBanner {...(componentProps as JoinBannerProps)} />;\n break;\n\n case experienceFragmentComponentTypes.mmnContainer:\n experienceFragmentComponent = <MMNComponent {...(componentProps as MMNComponentProps)} />;\n break;\n\n case experienceFragmentComponentTypes?.offers:\n experienceFragmentComponent = (\n <OfferCardCarousel\n {...componentProps}\n key={type}\n offersData={componentProps?.model?.fallbackOfferIdsList ?? []}\n isAuthorMode={componentProps?.model?.isAuthor}\n acceptLanguage={preProcessorResponse?.locale ?? 'en-US'}\n requestId={requestId}\n cookie={canUseDOM ? document?.cookie : preProcessorResponse?.headersData.cookie}\n className=\" pt-md-3\"\n />\n );\n break;\n\n case experienceFragmentComponentTypes.universalFooter:\n experienceFragmentComponent = <Footer {...componentProps} />;\n break;\n\n case experienceFragmentComponentTypes?.cardCarousel:\n experienceFragmentComponent = <PropertyPortalMerchandising componentProps={componentProps} type={type} />;\n break;\n\n case experienceFragmentComponentTypes.responsive:\n break;\n\n case experienceFragmentComponentTypes.text:\n experienceFragmentComponent = (\n <div className=\"heading-container-component d-flex justify-content-start align-items-start container mb-3 px-md-0\">\n <div className=\"d-flex flex-column col-10 col-xl-6 align-items-start justify-content-start px-0\">\n <p className=\"heading-container-component__description t-font-s mb-0 mt-2 text-left\">\n {(componentProps?.model?.text || '').toString().replace(/<\\/?p>/g, '')}\n </p>\n </div>\n </div>\n );\n break;\n\n case experienceFragmentComponentTypes.title:\n experienceFragmentComponent = (\n <div className=\"pt-4\" id={pageProps?.contentID}>\n <div className=\"heading-container-component d-flex justify-content-start align-items-start container px-md-0\">\n <div className=\"d-flex flex-column col-10 col-xl-6 align-items-start justify-content-start px-0\">\n <h2 className=\"heading-container-component__title t-title-s text-left mb-0 mt-2 mb-3 mb-md-0 pb-3\">\n {componentProps?.model?.text}\n </h2>\n </div>\n </div>\n </div>\n );\n break;\n }\n\n return experienceFragmentComponent;\n };\n\n const getComponent = () => {\n const itemsOrder = pageProps?.[':itemsOrder'];\n const cardItems: Record<string, any> = pageProps?.[':items'];\n const component = [];\n if (\n pageProps?.contentID === merchandisingContectID &&\n Object.keys(cardItems).length === 0 &&\n itemsOrder.length === 0\n ) {\n setServiceData(\n {\n merchandisingAvailable: true,\n },\n false,\n false,\n {}\n );\n }\n\n if (itemsOrder && itemsOrder?.length && cardItems) {\n for (const itemKey of itemsOrder) {\n if (cardItems[itemKey] && cardItems[itemKey]?.[':type']) {\n component.push(\n <div key={itemKey}>\n {getExperienceFragmentComponent(cardItems[itemKey]?.[':type'], { model: cardItems[itemKey] })}\n </div>\n );\n }\n }\n }\n return component;\n };\n\n return (\n <StyledPropertyPortalExperienceFragment data-component-name=\"o-ppv5-PropertyPortalExperienceFragment\">\n <>{getComponent()}</>\n </StyledPropertyPortalExperienceFragment>\n );\n};\n","// Styles for PropertyPortalContainer go here.\nimport styled from 'styled-components';\nimport rtl from 'styled-components-rtl';\nimport { toRem } from '@marriott/mi-ui-library';\n\nexport const StyledPropertyPortalContainer = styled.div`\n ${rtl`\n .carousal_header {\n h3 {\n margin-bottom: ${toRem(16)};\n }\n }\n .glide__track__pt3 {\n padding-top: 0;\n }\n `}\n`;\n","/* eslint-disable @typescript-eslint/no-explicit-any */\n// Imports for external libraries go here.\nimport { FC, useContext, useEffect, useState } from 'react';\nimport {\n Config,\n EditableComponent,\n MappedComponentProperties,\n ResponsiveGrid,\n} from '@adobe/aem-react-editable-components';\n// eslint-disable-next-line @nx/enforce-module-boundaries\nimport { OfferCardCarousel } from '@marriott/mi-offers-components';\nimport { canUseDOM } from '@marriott/shared/mi-helper-utils';\n// Imports for internal (to the monorepo) libraries go here,\n// separated by a blank line from external imports.\n// The closer the import is to the file the lower it should be in this list.\n\nimport {\n experienceFragmentComponentTypes,\n merchandisingContectID,\n merchandisingLuxuryBrand,\n} from '../../modules/utils/constants';\nimport { PageParamsContext } from '../../modules/context/PageContext';\nimport { useServiceStore, serviceStore } from '../../modules/store/serviceStore';\nimport { LocalServices } from '../LocalServices';\nimport { LetsConnect } from '../LetsConnect';\nimport { PropertyPortalExperienceFragment } from '../PropertyPortalExperienceFragment';\nimport { PropertyPortalContainerProps } from './PropertyPortalContainer.types';\nimport { StyledPropertyPortalContainer } from './PropertyPortalContainer.styles';\nimport { ConnectContainer } from '../ConnectContainer';\n\nconst { NEXT_PUBLIC_AEM_SITE } = process.env;\n\n// Use named rather than default exports.\nexport const PropertyPortalContainer: FC<PropertyPortalContainerProps> = (pageProps: PropertyPortalContainerProps) => {\n const { preProcessorResponse, requestId } = useContext(PageParamsContext);\n const { state, mac, cna, userSegment, brandCode, marsha, headersData, locale, userState } =\n preProcessorResponse || {};\n const setServiceData = useServiceStore((state: serviceStore) => state.setservice);\n const [showContainer, setShowContainer] = useState<boolean>(true);\n const [hideMerchandising, setHideMerchandising] = useState(false);\n //Method for returning Responsive Grid for showing parsys in Author mode\n const PropertyPortalContainer = () => {\n const resourceType = `mi-aem-ppv5-spa/components/content/experiencefragment`;\n\n return (\n <div data-testid=\"property-portal-container-component\">\n <ResponsiveGrid\n gridClassNames={`col-12`}\n columnClassNames={{\n responsivegrid: `col-12`,\n }}\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n pagePath={pageProps?.pagePath}\n itemPath={`${pageProps?.itemPath}/container-0`}\n config={{\n isEmpty: () => true,\n resourceType: resourceType,\n }}\n />\n </div>\n );\n };\n\n //Method for returning components to be rendering at end point URL\n const PropertyPortalContainerWrapper = (cardName: string, jsonData: any, contentID: string | undefined) => {\n const returnable: Array<any> = [];\n // eslint-disable-next-line no-prototype-builtins\n if (jsonData?.hasOwnProperty(cardName)) {\n const card = jsonData[cardName];\n const cardItems = card[':items'];\n for (const itemKey in cardItems) {\n const item = cardItems[itemKey];\n const type = cardItems?.[itemKey]?.[':type'];\n const referencePath = cardItems?.[itemKey]?.['referencePath'];\n if (type === experienceFragmentComponentTypes?.experiencefragment) {\n returnable.push(<PropertyPortalExperienceFragment {...item} key={itemKey} contentID={contentID} />);\n // eslint-disable-next-line no-prototype-builtins\n } else if (type === experienceFragmentComponentTypes?.letsConnect) {\n returnable.push(<LetsConnect {...item} key={itemKey} />);\n } else if (type === experienceFragmentComponentTypes?.staticwrapper && !referencePath) {\n returnable.push(<PropertyPortalExperienceFragment {...item} key={`${item?.id}`} contentID={contentID} />);\n } else if (type === experienceFragmentComponentTypes?.serviceCarousel) {\n returnable.push(<LocalServices {...item} key={itemKey} contentID={contentID} />);\n } else if (type === experienceFragmentComponentTypes?.offers) {\n const obj = {\n model: item,\n };\n returnable.push(\n <OfferCardCarousel\n {...obj}\n key={itemKey}\n offersData={item?.productSpecificResponse ?? item?.fallbackOfferIdsList ?? []}\n isAuthorMode={pageProps?.isAuthorMode}\n acceptLanguage={locale ?? 'en-US'}\n requestId={requestId}\n cookie={canUseDOM ? document?.cookie : headersData.cookie}\n />\n );\n } else if (cardItems?.[itemKey]) {\n returnable.push(<ConnectContainer {...item} key={itemKey} contentID={contentID} />);\n }\n }\n return <div data-testid=\"brand-container-component-wrapper\">{returnable}</div>;\n }\n return null;\n };\n\n // Property Portal Brand Container Rules\n // Brand Config always has precedence over the global doHide and selected-states\n // If any condition in the brand-config is true then ignore doHide and selected-states\n // Else any condition in the brand-config is false then check doHide and selected-state\n useEffect(() => {\n if (!pageProps?.isAuthorMode) {\n const { brandConfigCards = [], doHide = false, selectedStates = [] } = pageProps ?? {};\n let brandConfigCardMatch = false;\n const updatedState = state?.replace('_', '-');\n const isCNA = cna;\n const isMAC = mac;\n const updatedUserSegment = userSegment?.toLowerCase()?.replaceAll(' ', '');\n\n if (brandConfigCards && brandConfigCards?.length) {\n for (let i = 0; i < brandConfigCards?.length; i++) {\n const brandConfigCard = { ...brandConfigCards[i] };\n const stateSelector = brandConfigCard?.stateSelector?.toLowerCase();\n\n const brandStateMatch =\n stateSelector === updatedState ||\n (isCNA && stateSelector === 'cna') ||\n (isMAC && stateSelector === 'mac') ||\n (updatedUserSegment === 'loggedin' && stateSelector === 'loggedin') ||\n (updatedUserSegment === 'notloggedin' && stateSelector === 'nonloggedin') ||\n (userState === 'basic' && stateSelector === 'userstate-basic') ||\n (userState === 'elite' && stateSelector === 'userstate-elite');\n\n const selectorBrandCodes = brandConfigCard?.selectorBrandCodes?.toLowerCase()?.split(',');\n const brandCodeMatch = selectorBrandCodes?.includes(brandCode?.toLowerCase());\n\n const brandMarshaCodes = brandConfigCard?.brandMarshaCodes?.split(',');\n const marshaCodeMatch = brandMarshaCodes?.includes(marsha?.toLowerCase());\n\n if ((brandStateMatch && marshaCodeMatch) || (brandStateMatch && brandCodeMatch)) {\n if (brandConfigCard?.brandSelectVisibilityMarsha?.toLowerCase() === 'hide') {\n setShowContainer(false);\n setHideMerchandising(true);\n } else {\n setShowContainer(true);\n }\n brandConfigCardMatch = true;\n break;\n }\n }\n }\n\n if (!brandConfigCardMatch) {\n const stateMatch =\n selectedStates?.includes(updatedState) ||\n (isCNA && selectedStates?.includes('cna')) ||\n (isMAC && selectedStates?.includes('mac')) ||\n (updatedUserSegment === 'loggedin' && selectedStates?.includes('loggedin')) ||\n (updatedUserSegment === 'notloggedin' && selectedStates?.includes('nonloggedin')) ||\n (userState === 'basic' && selectedStates?.includes('userstate-basic')) ||\n (userState === 'elite' && selectedStates?.includes('userstate-elite'));\n\n if (stateMatch) {\n if (doHide) {\n setShowContainer(false);\n setHideMerchandising(true);\n } else {\n setShowContainer(true);\n }\n }\n }\n\n if (pageProps?.contentID === merchandisingContectID) {\n if (brandCode && merchandisingLuxuryBrand.includes(brandCode)) {\n setShowContainer(false);\n setHideMerchandising(true);\n }\n }\n }\n }, []);\n\n useEffect(() => {\n if (hideMerchandising && pageProps?.contentID === merchandisingContectID) {\n setServiceData(\n {\n merchandisingAvailable: true,\n },\n false,\n false,\n {}\n );\n }\n }, [hideMerchandising]);\n\n const showPropertyPortalContainer = pageProps.isAuthorMode ? (\n <div>{Array.from({ length: 1 }, _ => PropertyPortalContainer())}</div>\n ) : (\n showContainer && (\n <div className={`${pageProps?.styleclass ?? ''}`}>\n {pageProps?.cqItemsOrder &&\n PropertyPortalContainerWrapper(pageProps?.cqItemsOrder?.[0], pageProps?.cqItems, pageProps?.contentID)}\n </div>\n )\n );\n\n return (\n <StyledPropertyPortalContainer data-component-name=\"o-ppv5-brandedcontainer\">\n <div className={pageProps?.styleclass}>{showPropertyPortalContainer}</div>\n </StyledPropertyPortalContainer>\n );\n};\n\nexport const PropertyPortalConfig = {\n emptyLabel: 'PropertyPortalContainerComponent',\n isEmpty: (_props: MappedComponentProperties) => false,\n resourceType: `${NEXT_PUBLIC_AEM_SITE}/components/content/brandedcontainer`,\n} as Config<MappedComponentProperties>;\n\nexport const PropertyPortalContainerEditable = (props: PropertyPortalContainerProps) => (\n <EditableComponent config={PropertyPortalConfig} {...props}>\n <PropertyPortalContainer {...props} />\n </EditableComponent>\n);\n","/* eslint-disable */\n// Do not edit this file, it is auto-generated at build time!\nimport React from 'react';\nimport { MapTo, Container } from '@adobe/aem-react-editable-components';\nimport '../../libs/aemComponents/Container';\nimport '../../libs/aemComponents/ExperienceFragment';\nimport {\n EditableHTLWrapper,\n // CardCarouselContainer,\n StaticWrapper,\n CardLayered,\n NavigationContainerWrapper,\n NavigationUtilityLinkWrapper,\n NavigationWrapper,\n Footer,\n} from '@marriott/mi-common-static-components';\nimport {\n ConnectContainerEditable,\n JoinBannerExperienceEditable,\n BonvoyApplicationAdEditable,\n LocalHeaderEditable,\n HeroBannerEditable,\n InternetBarEditable,\n AccuWeatherEditable,\n PropertyPortalContainerEditable,\n LocalServicesEditable,\n LetsConnectEditable,\n MMNComponentEditable,\n} from '@marriott/mi-ppv5-components';\nimport { OfferCardCarousel } from '@marriott/mi-offers-components';\nimport { respGridUtil } from '@marriott/mi-headless-utils';\nimport { Text, Heading } from '@marriott/mi-ui-library';\n\nexport const AEM_REACT_MAPPING = {\n [`mi-aem-common-spa/components/common/staticwrapper`]: StaticWrapper,\n [`mi-aem-ppv5-spa/components/content/localheader`]: LocalHeaderEditable,\n [`mi-aem-ppv5-spa/components/content/hero-banner`]: HeroBannerEditable,\n [`mi-aem-common-spa/components/experiencefragment`]: Container,\n [`mi-aem-common-spa/components/experiencefragment`]: Container,\n ['mi-aem-ppv5-spa/components/content/experiencefragment']: Container,\n [`mi-aem-ppv5-spa/components/common/staticwrapper`]: ConnectContainerEditable,\n [`mi-aem-ppv5-spa/components/content/internet-box`]: InternetBarEditable,\n [`mi-aem-ppv5-spa/components/content/accuWeather`]: AccuWeatherEditable,\n [`mi-aem-ppv5-spa/components/content/brandedcontainer`]: PropertyPortalContainerEditable,\n [`mi-aem-ppv5-spa/components/content/services-carousel`]: LocalServicesEditable,\n [`mi-aem-ppv5-spa/components/content/lets-connect-modal`]: LetsConnectEditable,\n [`mi-aem-offers-spa/components/offers-cards`]: OfferCardCarousel,\n [`mi-aem-homepage-spa/components/content/universal-footer`]: Footer,\n [`mi-aem-common-spa/components/content/mmn-container`]: MMNComponentEditable,\n [`mi-aem-common-spa/components/content/bannerlayerer`]: JoinBannerExperienceEditable,\n [`mi-aem-common-spa/components/text`]: Text,\n [`mi-aem-common-spa/components/title`]: Heading,\n // [`mi-aem-common-spa/components/content/cardcarouselcontainer`]: CardCarouselContainer,\n [`mi-aem-common-spa/components/content/bannerlayered`]: JoinBannerExperienceEditable,\n [`mi-aem-common-spa/components/content/cardhorizontalmini`]: BonvoyApplicationAdEditable,\n [`mi-aem-common-spa/components/content/cardlayered`]: CardLayered,\n [`mi-aem-homepage-spa/components/content/global-navigation`]: NavigationContainerWrapper,\n [`mi-aem-homepage-spa/components/content/utilityNavigation`]: NavigationUtilityLinkWrapper,\n [`mi-aem-homepage-spa/components/content/primaryNavigation`]: NavigationWrapper,\n};\n\nexport const defineComponentMapping = (allowedComponents, isAuthorMode, pageProps) => {\n MapTo(`mi-aem-offers-spa/components/offers-cards`)(\n props => (\n // Rename to address broken homepage build caused by DXP-7950\n <OfferCardCarousel\n {...props}\n offersData={pageProps.productSpecificResponse ?? []}\n isAuthorMode={isAuthorMode}\n acceptLanguage={pageProps.headersData['accept-language']}\n requestId={pageProps?.requestId}\n cookie={pageProps?.headersData['cookie']}\n />\n ),\n {\n emptyLabel: 'Offers Card Carousel',\n isEmpty: false,\n }\n );\n MapTo(`mi-aem-homepage-spa/components/content/universal-footer`)(\n props => <Footer {...props} isAuthorMode={isAuthorMode} />,\n {\n emptyLabel: 'Footer',\n isEmpty: false,\n }\n );\n MapTo(`mi-aem-common-spa/components/text`)(Text);\n MapTo(`mi-aem-common-spa/components/title`)(Heading);\n // MapTo(`mi-aem-common-spa/components/content/cardcarouselcontainer`)(props => (\n // <CardCarouselContainer {...props} isAuthorMode={isAuthorMode} allowedComponents={allowedComponents} />\n // ));\n MapTo(`mi-aem-common-spa/components/content/cardlayered`)(CardLayered, {\n emptyLabel: 'CardLayered',\n isEmpty: false,\n });\n MapTo(`mi-aem-common-spa/components/common/staticwrapper`)(StaticWrapper, {\n emptyLabel: 'StaticWrapper',\n isEmpty: false,\n });\n\n MapTo(`mi-aem-ppv5-spa/components/content/localheader`)(\n props => <LocalHeaderEditable {...props} isAuthorMode={isAuthorMode} />,\n {\n emptyLabel: 'LocalHeader',\n isEmpty: false,\n }\n );\n\n MapTo(`mi-aem-ppv5-spa/components/content/hero-banner`)(\n props => <HeroBannerEditable {...props} isAuthorMode={isAuthorMode} />,\n {\n emptyLabel: 'HeroBanner',\n isEmpty: false,\n }\n );\n MapTo(`mi-aem-ppv5-spa/components/content/accuWeather`)(\n props => <AccuWeatherEditable {...props} isAuthorMode={isAuthorMode} />,\n {\n emptyLabel: 'AccuWeather',\n isEmpty: false,\n }\n );\n\n MapTo(`mi-aem-ppv5-spa/components/content/internet-box`)(\n props => <InternetBarEditable {...props} isAuthorMode={isAuthorMode} />,\n {\n emptyLabel: 'InternetBarComponent',\n isEmpty: false,\n }\n );\n\n MapTo(`mi-aem-ppv5-spa/components/common/staticwrapper`)(\n props => <ConnectContainerEditable {...props} isAuthorMode={isAuthorMode} readyToMount={false} />,\n {\n emptyLabel: 'ConnectContainer',\n isEmpty: false,\n }\n );\n\n MapTo(`mi-aem-ppv5-spa/components/content/brandedcontainer`)(\n props => <PropertyPortalContainerEditable {...props} isAuthorMode={isAuthorMode} />,\n {\n emptyLabel: 'PropertyPortalContainer',\n isEmpty: false,\n }\n );\n\n MapTo(`mi-aem-common-spa/components/content/cardhorizontalmini`)(\n props => <BonvoyApplicationAdEditable {...props} isAuthorMode={isAuthorMode} />,\n {\n emptyLabel: 'BonvoyApplicationAdComponent',\n isEmpty: false,\n }\n );\n\n MapTo(`mi-aem-common-spa/components/content/bannerlayered`)(\n props => <JoinBannerExperienceEditable {...props} isAuthorMode={isAuthorMode} />,\n {\n emptyLabel: 'JoinBannerExperience',\n isEmpty: false,\n }\n );\n\n MapTo(`mi-aem-common-spa/components/content/mmn-container`)(\n props => <MMNComponentEditable {...props} isAuthorMode={isAuthorMode} />,\n {\n emptyLabel: 'MMNComponent',\n isEmpty: false,\n }\n );\n\n MapTo(`mi-aem-ppv5-spa/components/content/services-carousel`)(\n props => <LocalServicesEditable {...props} isAuthorMode={isAuthorMode} />,\n {\n emptyLabel: 'services_carousel',\n isEmpty: false,\n }\n );\n MapTo(`mi-aem-ppv5-spa/components/content/lets-connect-modal`)(\n props => <LetsConnectEditable {...props} isAuthorMode={isAuthorMode} />,\n {\n emptyLabel: 'letsConnect',\n isEmpty: false,\n }\n );\n\n const ExperienceFragmentVariationConfig = {\n emptyLabel: 'Experience Fragment',\n\n isEmpty: function (props) {\n return !props || !props.configured;\n },\n };\n\n MapTo(`mi-aem-ppv5-spa/components/content/experiencefragment`)(props => {\n return <Container isInEditor {...props} isPage={false} model={respGridUtil(props?.model)} />;\n }, ExperienceFragmentVariationConfig);\n\n MapTo(`mi-aem-homepage-spa/components/content/global-navigation`)(\n props => <NavigationContainerWrapper {...props} isAuthorMode={isAuthorMode} />,\n {\n emptyLabel: 'NavigationContainerWrapper',\n isEmpty: false,\n }\n );\n MapTo(`mi-aem-homepage-spa/components/content/utilityNavigation`)(NavigationUtilityLinkWrapper);\n MapTo(`mi-aem-homepage-spa/components/content/primaryNavigation`)(NavigationWrapper);\n\n const existingMappings = Object.keys(AEM_REACT_MAPPING);\n if (allowedComponents) {\n allowedComponents.forEach(mapping => {\n const baseModelPath = '/jcr:content/root/responsivegrid/';\n const componentPath = mapping.path.split(baseModelPath)[1];\n\n if (existingMappings.indexOf(componentPath) === -1) {\n MapTo(componentPath)(EditableHTLWrapper, {\n emptyLabel: mapping.title,\n isEmpty: false,\n });\n } else {\n console.log('mapping exists', componentPath);\n }\n });\n }\n};\n","/*\n * Copyright 2022 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n *\n */\n\nimport { ModelClient, AuthoringUtils } from '@adobe/aem-spa-page-model-manager';\n\n/**\n * Custom ModelClient meant to demonstrate how to customize the request sent to the AEM instance\n */\nexport class CustomModelClient extends ModelClient {\n /**\n * Fetches a model using the given a resource path\n *\n * @param {string} modelPath - Path to the model\n * @return {*}\n */\n override fetch(modelPath: string) {\n if (!modelPath) {\n const err = 'Fetching model rejected for path: ' + modelPath;\n return Promise.reject(new Error(err));\n }\n // Either the API host has been provided or we make an absolute request relative to the current host\n const url = this.apiHost ? `${this.apiHost}${modelPath}` : modelPath;\n\n return AuthoringUtils.isInEditor()\n ? fetch(url)\n .then(response => {\n if (response.status >= 200 && response.status < 300) {\n return response.json();\n }\n throw { response };\n })\n .catch(error => {\n return Promise.reject(error);\n })\n : Promise.resolve();\n }\n}\n","import { createStore, useStore } from 'zustand';\nimport { produce } from 'immer';\nimport { createContext, useContext } from 'react';\n\nexport interface PageModelState {\n pageModel: unknown;\n setPageModel?: (pageModel: unknown) => void;\n updateComponent?: (componentKey: string, data: unknown) => void;\n}\n\nconst initialState: PageModelState = {\n pageModel: {},\n};\nexport type PageModelStoreType = ReturnType<typeof createPageModelStore>;\n\nexport const createPageModelStore = (initProps?: PageModelState) => {\n //creating vanila zustand store instead of react zustand store so that initial state can be passed. As per Zustand recommendation: https://docs.pmnd.rs/zustand/guides/initialize-state-with-props\n\n return createStore<PageModelState>()(set => ({\n ...initialState,\n ...initProps,\n setPageModel: (data: unknown) => {\n set({ pageModel: data });\n },\n updateComponent: (componentKey: string, data: unknown) => {\n set((state: PageModelState) =>\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n produce(state, (draft: any) => {\n if (draft.pageModel.cqItems[componentKey]) {\n draft.pageModel.cqItems[componentKey] = data;\n }\n })\n );\n },\n }));\n};\n\nexport const PageModelContext = createContext<PageModelStoreType | null>(null);\n\nexport function usePageModelStore<T>(selector: (state: PageModelState) => T): T {\n //mimicing the actual zustand hook so that we can pass inital state with pue re-renderer\n const store = useContext(PageModelContext);\n if (!store) throw new Error('Missing usePageModelStore.Provider in the tree');\n return useStore(store, selector);\n}\n","import React, { useRef } from 'react';\nimport rtlPlugin from 'stylis-plugin-rtl';\nimport { StyleSheetManager } from 'styled-components';\nimport { ModelManager } from '@adobe/aem-spa-page-model-manager';\nimport path from 'path';\n\nimport { defineComponentMapping } from '../import-components';\nimport { canUseDOM, CustomModelClient, respGridUtil, UserSessionProvider } from '@marriott/mi-headless-utils';\nimport { createPageModelStore, PageModelContext, PageModelState, StoreApi } from '@marriott/mi-store-utils';\nimport { useClientEnvVarsStore } from '@marriott/mi-store-utils';\nimport './styles.scss';\n\npath.resolve('./next.config.js');\ndeclare global {\n interface Window {\n jQuery: unknown;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n $: any;\n deployedEnvType: string;\n }\n}\n\nif (canUseDOM) window.$ = window.jQuery = require('jquery-slim/dist/jquery.slim.min.js');\n\nconst modelClient = new CustomModelClient(process.env.NEXT_PUBLIC_AEM_HOST);\n\nif (process.env.NODE_ENV !== 'test') {\n ModelManager.initializeAsync({\n modelClient,\n });\n}\n\nconst App = function (props) {\n const { Component, pageProps } = props;\n const { model, isAuthorMode } = pageProps;\n const allowedComponents = model?.cqItems?.root?.[':items']?.responsivegrid?.allowedComponents?.components;\n const respGridModel = respGridUtil(model?.cqItems?.root?.[':items']?.responsivegrid);\n const store = useRef<StoreApi<PageModelState>>();\n const initialPageModel = {\n pageModel: respGridModel,\n };\n\n if (!store.current) {\n store.current = createPageModelStore(initialPageModel);\n }\n\n const rtlPluginTs = (...args: unknown[]) => {\n return rtlPlugin(args[0] as number, args[1] as string);\n };\n\n const setEnvVars = useClientEnvVarsStore(state => state.setEnvVars);\n const envVars = {\n PPv5: 'true',\n };\n setEnvVars?.(envVars);\n\n defineComponentMapping(allowedComponents, isAuthorMode, pageProps);\n\n Object.defineProperty(rtlPluginTs, 'name', { value: 'rtlPluginMonorepo' });\n\n return (\n <UserSessionProvider pageProps={pageProps}>\n <PageModelContext.Provider value={store.current}>\n <StyleSheetManager\n stylisPlugins={model?.rtlEnable === 'true' || pageProps?.rtlEnable === 'true' ? [rtlPluginTs] : []}\n >\n <Component {...pageProps} />\n </StyleSheetManager>\n </PageModelContext.Provider>\n </UserSessionProvider>\n );\n};\n\nexport default App;\n","// Styles for LanguageSelector go here.\nimport styled from 'styled-components';\nimport { baseVariables, toRem, Modal } from '@marriott/mi-ui-library';\n\nexport const StyledLanguageSelector = styled.div`\n .modal-popup-container {\n @media ${baseVariables.mediaQuery.sm} {\n position: fixed;\n }\n }\n\n .modal-main-container {\n position: relative;\n padding-bottom: ${toRem(16)};\n @media ${baseVariables.mediaQuery.lg} {\n max-width: ${toRem(1140)};\n }\n }\n\n .modal-header {\n height: ${toRem(32)};\n h4 {\n color: ${baseVariables.color['base10']};\n }\n .popup-close {\n max-height: ${toRem(32)};\n max-width: ${toRem(32)};\n }\n }\n\n .modal-body {\n height: auto;\n max-height: calc(100vh - ${toRem(87)});\n @media ${baseVariables.mediaQuery.sm} {\n padding: ${toRem(24)} 0;\n max-height: calc(100vh - ${toRem(81)});\n }\n @media ${baseVariables.mediaQuery.md} {\n max-height: calc(100vh - ${toRem(184)});\n }\n }\n\n .custom-header-font h2 {\n color: ${baseVariables.color['base10']};\n }\n\n .custom-link a {\n color: ${baseVariables.color['base10']};\n }\n\n .mobile-border-2 {\n display: none;\n }\n`;\n\n// Overriding styles from linkscollection until those styles have been updated\nexport const StyledModalBody = styled(Modal.Body)`\n display: flex;\n flex-wrap: wrap;\n\n .header-international {\n margin-top: ${toRem(8)};\n }\n .custom-header-font {\n @media ${baseVariables.mediaQuery.smallMobile} {\n padding-left: ${toRem(0)};\n padding-right: ${toRem(0)};\n\n li {\n padding: 0;\n }\n .region-header {\n padding-left: 0 !important;\n }\n }\n @media ${baseVariables.mediaQuery.sm} {\n .region-header {\n padding-top: 0 !important;\n }\n }\n }\n .custom-header-font:not(:last-child) {\n @media ${baseVariables.mediaQuery.sm} {\n padding-top: 0;\n padding-bottom: 0;\n border-right: thin ${baseVariables.color['neutral30']} solid;\n padding-left: ${toRem(32)};\n padding-right: ${toRem(24)};\n }\n }\n\n .custom-header-font:last-child {\n @media ${baseVariables.mediaQuery.sm} {\n padding-left: ${toRem(32)};\n padding-right: ${toRem(24)};\n }\n }\n\n .custom-header-font:first-child {\n @media ${baseVariables.mediaQuery.sm} {\n padding-left: ${toRem(24)};\n }\n }\n\n .custom-header-font {\n padding-top: 0 !important;\n }\n ul {\n padding-left: 0 !important;\n margin-bottom: 0 !important;\n margin-left: ${toRem(-8)} !important;\n border-top: none !important;\n width: calc(100% + ${toRem(8)}) !important;\n }\n li {\n border-radius: ${toRem(8)};\n padding-left: ${toRem(8)} !important;\n }\n li:hover {\n background: ${baseVariables.color['neutral10']};\n\n a:hover {\n text-decoration: none;\n }\n }\n li a {\n min-width: -webkit-fill-available;\n }\n .t-subtitle-xl {\n font-size: 22px;\n font-style: normal;\n line-height: 125%;\n color: ${baseVariables.color['base10']};\n font-weight: 700;\n padding-top: 0 !important;\n }\n`;\n\nexport const StyledModalHeader = styled(Modal.Header)`\n @media ${baseVariables.mediaQuery.lg} {\n margin-top: ${toRem(40)};\n }\n`;\n\nexport const StyledBorder = styled.div`\n border-bottom: thin ${baseVariables.color['neutral30']} solid;\n margin-top: ${toRem(24)};\n margin-bottom: ${toRem(24)};\n`;\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport React, { FC, useState, useEffect } from 'react';\n\nimport { LanguageSelectorProps } from './LanguageSelector.types';\nimport { useLanguageSelectorContext } from './LanguageSelectorContextProvider';\n\nimport { LinksCollection, Button, Modal, useWindowSize } from '@marriott/mi-ui-library';\nimport { StyledLanguageSelector, StyledModalBody, StyledModalHeader, StyledBorder } from './LanguageSelector.styles';\nimport { getClickTrackValue } from '../../../utils/TrackingPropertyUtils';\nimport { DEFAULT_TRACKING_VALUES } from '../../../utils/constants';\n\n// Use named rather than default exports.\nexport const LanguageSelector: FC<React.PropsWithChildren<LanguageSelectorProps>> = ({\n restProps,\n renderUtilityLink,\n buttonClassName,\n}) => {\n const { width } = useWindowSize();\n\n const { setIsLanguageSelectorOpen } = useLanguageSelectorContext();\n const [isOpen, setIsOpen] = useState(false);\n\n const { resourceProperties } = restProps;\n const toggleHandler = () => {\n setIsOpen(!isOpen);\n };\n\n useEffect(() => {\n setIsLanguageSelectorOpen(isOpen);\n }, [isOpen, setIsLanguageSelectorOpen]);\n\n type JsonArray = any[];\n type JsonObject = { [key: string]: any };\n const isObject = (o: any): o is object => typeof o === 'object' && o !== null;\n\n const sortJSON = (o: string): any => {\n if (Array.isArray(o)) {\n return o.sort().map((item: any) => sortJSON(item)) as JsonArray;\n } else if (isObject(o)) {\n return Object.keys(o)\n .sort()\n .reduce((acc: JsonObject, key: string) => {\n acc[key] = sortJSON(o[key]);\n return acc;\n }, {}) as JsonObject;\n }\n return o;\n };\n\n const regionData = Object.values(sortJSON(restProps?.regions || {}));\n\n return (\n <>\n <Button\n ariaLabel={restProps['cq:panelTitle'] || restProps?.resourceProperties['cq:panelTitle']}\n className={`utility-language-selector-button ${buttonClassName}`}\n callback={toggleHandler}\n custom_click_track_value={getClickTrackValue({\n trackingProperties: {\n trackingContentPosition: restProps.trackingContentPosition,\n trackingDescription: restProps.trackingProperties?.trackingDescription,\n },\n url: restProps['cq:panelUrl'],\n fallbacks: {\n description: restProps['cq:panelTitle'],\n position: DEFAULT_TRACKING_VALUES.GLOBAL_NAV,\n },\n })}\n >\n {restProps?.resourceProperties && renderUtilityLink(restProps.resourceProperties, 'globe')}\n </Button>\n {!resourceProperties ? null : (\n <StyledLanguageSelector>\n <Modal\n className=\"modal-popup-container\"\n secondaryClassName=\"modal-main-container\"\n show={isOpen}\n popupOpenState={isOpen}\n handleBlur={true}\n setPopupOpenState={setIsOpen}\n >\n <StyledModalHeader\n className=\"modal-header px-4\"\n labelText={restProps?.resourceProperties?.title || ''}\n popupHeaderOnCLoseFunc={setIsOpen}\n ></StyledModalHeader>\n <StyledModalBody className=\"modal-body\">\n {regionData?.map((column: any, index) => (\n <div key={index} className=\"col-12 col-sm-4 col-lg-4 custom-header-font\">\n {Object.keys(column)?.map(title => (\n <>\n <LinksCollection\n {...column}\n linkListData={column && column[title]}\n heading={title\n .replace('-', ' ')\n .split('')\n .map((char, index) => (index === 0 ? char.toUpperCase() : char))\n .join('')}\n headingClassName={`region-header pt-4 t-subtitle-xl header-${title}`}\n listCollectionClassname=\"custom-link\"\n listItemClassName=\"py-3\"\n hasIconArrow={false}\n key={title}\n />\n {width && width <= 575 && <StyledBorder className={`mobile-border-${index}`} />}\n </>\n ))}\n </div>\n ))}\n </StyledModalBody>\n </Modal>\n </StyledLanguageSelector>\n )}\n </>\n );\n};\n","/* eslint-disable @typescript-eslint/no-explicit-any */\n\nimport { createContext, useContext, type Dispatch, type SetStateAction } from 'react';\n\nexport const LanguageSelectorContext = createContext<{\n isLanguageSelectorOpen: boolean;\n setIsLanguageSelectorOpen: Dispatch<SetStateAction<boolean>>;\n}>({\n isLanguageSelectorOpen: false,\n setIsLanguageSelectorOpen: () => false,\n});\n\nexport const useLanguageSelectorContext = () => {\n return useContext(LanguageSelectorContext);\n};\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { EditableComponent, ResponsiveGrid } from '@adobe/aem-react-editable-components';\nimport {\n AEMReactCompMap,\n VanilaCardCarouselContainer as CardCarouselContainerMolecule,\n updateAEMCQKeys,\n} from '@marriott/mi-ui-library';\nimport clsx from 'clsx';\nimport { FC, lazy, Suspense, useEffect, ReactElement } from 'react';\nimport { CardCarouselProps, CarouselContainerProps } from './CardCarouselContainer.types';\n\nexport const CardCarouselContainerConfig = {\n emptyLabel: 'CardCarousalContainer',\n isEmpty: () => true,\n resourceType: `${process.env['NEXT_PUBLIC_AEM_SITE']}/components/content/cardcarouselcontainer`,\n};\n\nexport const CardCarouselContainerComp: FC<CardCarouselProps> = (props: CardCarouselProps) => {\n const {\n headerText,\n subHeaderText,\n ctaLabel,\n ctaLink,\n eyebrow,\n ctaType,\n cardCount,\n openInaNewTab,\n totalNumberOfCards,\n trackingProperties,\n styleclass,\n componentId,\n pagePath,\n itemPath,\n isAuthorMode,\n variation,\n enableTabletBreakpoint,\n isRTL = false,\n } = props;\n\n let { noOfCards, noOfCardsTablet } = props;\n const updatedProps = updateAEMCQKeys(props);\n const cqItems = updatedProps['cqItems'];\n\n const isCombo = (): boolean => {\n return variation === 'combo';\n };\n\n if (isCombo()) {\n noOfCards = 2;\n noOfCardsTablet = 2;\n }\n\n const mapper = AEMReactCompMap(props?.allowedComponents);\n\n useEffect(() => {\n const pageWcmMode = document.getElementsByTagName('html')[0];\n const updateStyleComponent = document.getElementById(`${componentId}__slides`);\n const observer = new MutationObserver(mutations => {\n mutations.forEach(mutation => {\n if (mutation.attributeName === 'class') {\n const currWcmMode = pageWcmMode?.getAttribute('class');\n if (currWcmMode?.includes('Edit')) {\n updateStyleComponent?.classList.add('glide__slides_authoring');\n } else if (currWcmMode?.includes('Preview')) {\n updateStyleComponent?.classList.remove('glide__slides_authoring');\n }\n }\n });\n });\n observer.observe(pageWcmMode, { attributes: true });\n\n return () => {\n observer.disconnect();\n };\n }, []);\n\n // This function is used to render the component in authoring mode authorCardWrapper\n const authorCardWrapper = (index: number) => {\n return (\n <ResponsiveGrid\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n pagePath={pagePath}\n itemPath={`${itemPath}/${totalNumberOfCards[index]}`}\n columnCount=\"12\"\n gridClassNames={''}\n config={{\n isEmpty: () => true,\n resourceType: 'mi-aem-common-spa/components/container',\n }}\n />\n );\n };\n\n // This function is used to render the component in end-user mode\n const PublishCardWrapper = (cardName: string, jsonData: any): ReactElement | null => {\n // eslint-disable-next-line no-prototype-builtins\n if (jsonData?.hasOwnProperty(cardName)) {\n const card = jsonData[cardName];\n const cardItems = card[':items'];\n for (const itemKey in cardItems) {\n if (Object.prototype.hasOwnProperty.call(cardItems, itemKey)) {\n const item = cardItems[itemKey];\n const key = item?.componentId;\n const itemType = item[':type']?.split('/').pop();\n if (Object.prototype.hasOwnProperty.call(mapper, itemType)) {\n const innerComp = mapper[itemType];\n const Component = lazy(() =>\n import(`../${innerComp}/index`).then(module => ({\n default: module[`${innerComp}`],\n }))\n );\n\n return (\n <li key={key}>\n <Suspense fallback={<></>}>\n <Component {...item} />\n </Suspense>\n </li>\n );\n }\n return null;\n }\n }\n }\n return null;\n };\n\n const customAttributes = trackingProperties?.enableScrollingBehavior ? { 'data-section-tracking': componentId } : {};\n\n return (\n <CardCarouselContainerMolecule\n componentId={componentId}\n subHeaderText={subHeaderText}\n styleclass={styleclass}\n variation={variation}\n eyebrow={eyebrow}\n cardCount={cardCount}\n trackingProperties={trackingProperties}\n ctaLabel={ctaLabel}\n headerText={headerText}\n ctaLink={ctaLink}\n openInaNewTab={openInaNewTab}\n ctaType={ctaType}\n isCombo={isCombo}\n noOfCards={noOfCards}\n noOfCardsTablet={noOfCardsTablet}\n enableTabletBreakpoint={enableTabletBreakpoint}\n customAttributes={customAttributes}\n isDirectionRightToLeft={isRTL}\n >\n {isAuthorMode && Array.from({ length: totalNumberOfCards?.length }, (_, i) => authorCardWrapper(i))}\n {!isAuthorMode && totalNumberOfCards?.map((cardName: string) => PublishCardWrapper(cardName, cqItems))}\n </CardCarouselContainerMolecule>\n );\n};\n\nexport const CarouselEditableComponent = (props: any) => {\n const { model } = props;\n const cqType = model?.cqType || model[':type'];\n return (\n <EditableComponent config={CardCarouselContainerConfig} {...props}>\n <CardCarouselContainerComp {...props} componentName={props?.model?.cqType?.split('/').pop()} />\n </EditableComponent>\n );\n};\n\nexport const CardCarouselContainer = (props: CarouselContainerProps) => {\n const { model } = props;\n\n if (model.variation === 'combo' && !model.styleclass?.includes('fullbleed')) {\n model.styleclass += ' fullbleed';\n }\n return (\n <div\n className={clsx({\n standard: model.styleclass?.includes('standard'),\n inverse: model.styleclass?.includes('inverse'),\n alternate: model.styleclass?.includes('alternate'),\n 'm-container-fullbleed': model.styleclass?.includes('fullbleed'),\n })}\n data-testid=\"card-carousel\"\n data-component-name=\"o-common-static-cardcarouselcontainer\"\n >\n <div className={clsx('container', { 'p-0': !model.styleclass?.includes('fullbleed') })}>\n <CarouselEditableComponent {...props} />\n </div>\n </div>\n );\n};\n","import styled from 'styled-components';\n\nexport const StyledSection = styled.div`\n .authorBorder {\n border: 2px solid orange;\n }\n`;\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { FC } from 'react';\nimport { EditableComponent } from '@adobe/aem-react-editable-components';\nimport { AuthoringUtils } from '@adobe/aem-spa-page-model-manager';\nimport { StyledSection } from './styles';\nimport clsx from 'clsx';\n\nconst StaticWrapperReact: FC = (props: any) => {\n const { referencePath } = props;\n return (\n <StyledSection data-component-name=\"o-common-static-staticwrapper\">\n <section\n dangerouslySetInnerHTML={{ __html: referencePath }}\n className={`${AuthoringUtils.isInEditor() ? 'authorBorder' : ''}`}\n />\n </StyledSection>\n );\n};\n\nexport const StaticWrapperConfig = {\n emptyLabel: 'staticWrapper',\n isEmpty: false,\n resourceType: `mi-aem-common-spa/components/common/staticwrapper`,\n};\n\nexport const StaticWrapperEditable = (props: any) => {\n return (\n <EditableComponent\n config={StaticWrapperConfig}\n {...props}\n isInEditor={!props.cqPath.includes('experiencefragment')}\n >\n <StaticWrapperReact />\n </EditableComponent>\n );\n};\n\nexport const StaticWrapper = (props: any) => {\n return props?.model?.styleclass ? (\n <div\n className={clsx(\n props?.model?.styleclass,\n props?.model?.styleclass.includes('fullbleed') ? 'm-container-fullbleed' : ''\n )}\n >\n <StaticWrapperEditable {...props} />\n </div>\n ) : (\n <StaticWrapperEditable {...props} />\n );\n};\n","import { Types } from '@marriott/mi-ui-library';\nimport { TRACKING_SEARCH_URL } from './constants';\n\nconst { INTERNAL, EXTERNAL } = Types.LinkTargetType;\n\nexport type ClickTrackingProps = {\n fallbacks: {\n position: string;\n description: string;\n };\n url?: string | null;\n trackingProperties?: Types.TrackingPropsInterface;\n};\n\nexport const getClickTrackValue = (\n { fallbacks, url, trackingProperties }: ClickTrackingProps,\n\n /* TODO: remove this. this is temporary to achieve parity with prod values. eventually we should use actual\n position (e.g. GlobalNav, Footer) and description (e.g. Help, Careers, Privacy Policy) */\n labelOverride?: string\n) => {\n return [\n labelOverride || trackingProperties?.trackingContentPosition || fallbacks.position,\n labelOverride || trackingProperties?.trackingDescription || fallbacks.description,\n url && !url.includes(TRACKING_SEARCH_URL) ? EXTERNAL : INTERNAL,\n ].join('|');\n};\n","export const TRACKING_SEARCH_URL = 'marriott.com';\n\nexport const DEFAULT_TRACKING_VALUES = {\n GLOBAL_NAV: 'Global Nav',\n LABEL_NULLISH: 'Label unknown',\n};\n\nexport const CACHE_MARRIOTT_URL = 'https://cache.marriott.com';\n\nexport const HOTEL_LOGO_ALT_TEXT = 'hotel logo';\n","export const DETAILS_SHOWN = 'details-visible';\nexport const DETAILS_HIDDEN = 'details-hidden';\nexport const DETAILS = 'See Details';\nexport const SHOW_MORE = 'Show More';\nexport const SHOW_LESS = 'Show Less';\nexport const LIST_HEADING = 'More Offers At This Property';\nexport const OFFER_VIEW_ALL_OFFERS =\n '/offers/submitOfferSearch.mi?destinationAddress.placeId=&includeUnknownRateCategoryForAssociate=&autoSuggestItemType=&destinationAddress.types=&destinationAddress.latitude=$lat&for-hotels-nearme=Near&suggestionsPropertyCode=&destinationAddress.stateProvinceShort=$state&isInternalSearch=true&destinationAddress.country=$country&destinationAddress.name=&poiCity=&destinationAddress.cityPopulation=&destinationAddress.countryShort=$country&vsInitialRequest=false&marriottBrands=&searchType=InCity&poiName=&destinationAddress.address=&search-countryRegion=&collapseAccordian=is-hidden&destinationAddress.locality=&destinationAddress.stateProvinceDisplayName=&singleSearch=true&destinationAddress.destinationPageDestinationAddress=&destinationAddress.cityPopulationDensity=&destinationAddress.secondaryText=&destinationAddress.postalCode=&destinationAddress.city=$city&destinationAddress.mainText=&countryName=&destinationAddress.longitude=$long&destinationAddress.stateProvince=$state&initialRequest=false&singleSearchAutoSuggest=false&destinationAddress.website=&search-locality=&js-location-nearme-values=&destinationAddress.destination=$destination&fromToDate=&fromToDate_submit=&fromDate=$from&toDate=$to&toDateDefaultFormat=&fromDateDefaultFormat=&flexibleDateSearch=false&t-start=null&t-end=null&lengthOfStay=1&keywords=';\nexport const DATE_FORMAT_VALUE = 'MM/DD/YYYY';\nexport const DATE_FORMAT_YEAR_MONTH_DAY = 'YYYY-MM-DD';\nexport const OFFERS_CARDS_ALLOWED_NUM = 4;\nexport const API_QUERY_LIMIT = 40;\nexport const API_FETCH_POLICY = 'cache-and-network';\nexport const API_SSL_CHECK_FALSE = 'FALSE';\nexport const API_ACCEPT_LANGUAGE = 'en-US';\nexport const API_ACCEPT_CAPTION_LENGTH = 'MEDIUM';\nexport const API_ACCEPT_ASPECT_RATIO_SQUARE = 'SQUARE';\nexport const API_ACCEPT_ASPECT_RATIO_WIDE = 'WIDE';\nexport const SERVER_SEARCH_BY_DESTINATION = 'DESTINATION';\nexport const IMAGE_SQUARE_COMPRESS_PARAM = '?resize=*:232';\nexport const IMAGE_CLASSIC_COMPRESS_PARAM = '?resize=632:*';\nexport const OFFER_VIEW_GRID = 'GRID_VIEW';\nexport const OFFER_VIEW_GALLERY = 'CAROUSEL_VIEW';\nexport const NO_OF_CARDS_TABLET = 2;\nexport const OFFER_CAROUSEL_URL = 'https://www.marriott.com/offers.mi';\nexport const OFFER_CAROUSEL_URL_REFERRER = 'www.marriott.com';\nexport const OFFER_CAROUSEL_ERROR_POLICY = 'ignore';\nexport const OFFER_CARDLIST_ERROR_POLICY = 'ignore';\nexport const OFFER_CAROUSEL_CHANNEL = 'web';\nexport const OFFER_RECIPE_NONE = 'none';\nexport const OFFER_RECIPE_PROPERTY_NON_STAY = 'popularPropertyNonStayOffers';\nexport const API_TIMEOUT = 2500;\nexport const ASPECT_RATIO_SQUARE = 'Square';\nexport const ASPECT_RATIO_WIDE = 'Wide';\nexport const CARD_LAYERED = 'cardlayered';\nexport const THREE_PACK_CARDS = 3;\nexport const FOUR_PACK_CARDS = 4;\nexport const TWO_PACK_CARDS = 2;\nexport const IMAGE_ALT_TEXT = 'Sunrise over the clouds';\nexport const IMPRESSION_TRACK = false;\nexport const CLICK_TRACK = false;\nexport const CARD_LAYERED_VARIATION = 'square';\nexport const CARD_LAYERED_WIDE = 'wide';\nexport const MERCHANDISING_CATEGORY = 'nonCobrand';\nexport const DEFAULT_API_ACCEPT_LANGUAGE = 'en-US';\nexport const OFFER_SEARCH_CLIENT_NAME = 'phoenix_offers';\nexport const MBOX_COOKIE = 'mbox';\nexport const ADOBE_COOKIE = 'AMCV_664516D751E565010A490D4C@AdobeOrg';\nexport const CARD_CONTENTS_LEFT = 'left';\nexport const API_ACCEPT_ASPECT_RATIO_CLASSIC = 'CLASSIC';\nexport const IMAGE_LEFT = 'left';\nexport const CARD_HORIZONTAL = 'horizontalFeatureList';\nexport const CARD_SQUARE = 'layeredSquare';\nexport const CARDSTYPE_LAYERED = 'cardlayered';\nexport const CARDSTYPE_VERTICAL = 'cardvertical';\nexport const MEMBER_EXCLUSIVE = ['A', 'G', 'M', 'P', 'S', 'T'];\nexport const PREVIEW_LIST_HEADING = 'Horizontal Offer Cards';\nexport const PREVIEW_LIST_DESC =\n 'These card will appear on Single Property Offer pages, linking to other offers found at the same hotel. They may also be used across other parts of Marriott websites to showcase offers';\nexport const LAYERED_WIDE = 'layeredWide';\nexport const VARIATION_INVERSE = 'inverse';\nexport const RESORT_OFFERS_RECIPE = 'resortOffers';\nexport const DESTINATION_OFFERS_RECIPE = 'destinationOffers';\nexport const OFFER_RECIPE_ELITE_EXCLUSIVE = 'eliteExclusiveOffers';\nexport const MERCHANDISING_OFFER = 'Merchandising Offer';\nexport const MARRIOTT_DOMAIN_CN = 'https://www.marriott.com.cn';\n","/* eslint-disable @typescript-eslint/no-explicit-any */\n\nimport { createContext } from 'react';\nexport const PageParamsContext = createContext<any>({});\n","export const constants = {\n DEFAULT_LANG: 'en_US',\n DEFAULT_COUNTRY: 'US',\n APAC_COUNTRY: ['CN', 'VN', 'JP', 'KR'],\n ITEM_PATH_ROOT: 'root/responsivegrid',\n ITEM_PATH_HEADER: 'root/header-responsivegrid',\n ITEM_PATH_FOOTER: 'root/footer-responsivegrid',\n PAGE_LOADED: 'Page Loaded',\n PAGE_LOADING: 'Page Loading',\n ROUTING_CONFIG: 'routingConfig',\n APPLICATION_NAME: 'contactless-spa',\n EXPERIENCE_SEGMENT: ['NOT Logged In', 'In_Stay-Unknown'],\n BASE_IMG_URL:\n 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR4nGNiOAMAANUAz5n+TlUAAAAASUVORK5CYII=',\n};\n\nexport const DATALAYER_CONSTANT = {\n headerKeys: [\n 'accept-language',\n 'user-agent',\n 'x-request-id',\n 'x-service-id',\n 'x-forwarded-host',\n 'x-host',\n 'x-xm-site-id',\n 'x-lite-site',\n 'x-request-uri',\n 'x-request-host',\n 'sec-fetch-user',\n 'x-forwarded-for',\n 'x-schema',\n 'sec-fetch-mode',\n 'x-forwarded-port',\n 'sec-fetch-site',\n 'sec-fetch-dest',\n 'x-forwarded-proto',\n 'referer',\n 'forwarded',\n 'messageid',\n 'x-akamai-edgescape',\n 'x-akamai-device-characteristics',\n 'x-client-ip',\n 'x-akamai-config-log-detail',\n 'akamai-origin-hop',\n 'digitalserviceswitch',\n ],\n};\n\nexport const HYBRID_CONFIG_CONSTANTS = {\n ROUTING_CONFIG: 'routingConfig',\n EXPERIENCE_SEGMENT: ['NOT Logged In', 'In_Stay-Unknown'],\n MOCK_SESSION_ID: '7FC3A108-DF69-5E10-B767-6D2FB461B924',\n};\n\nexport const monthsArray = [\n { monthLabel: 'Jan' },\n { monthLabel: 'Feb' },\n { monthLabel: 'Mar' },\n { monthLabel: 'Apr' },\n { monthLabel: 'May' },\n { monthLabel: 'Jun' },\n { monthLabel: 'Jul' },\n { monthLabel: 'Aug' },\n { monthLabel: 'Sep' },\n { monthLabel: 'Oct' },\n { monthLabel: 'Nov' },\n { monthLabel: 'Dec' },\n];\n\nexport const EEO_MEMBER_CORP_CODE: Record<string, string> = {\n P: 'E0P',\n G: 'E0G',\n S: 'E0S',\n};\n\nexport const EEO_MEMBER_CODE = ['E0P', 'E0S', 'E0G'];\n\n// adding default locale\nexport enum hardCodedAllLocale {\n en = 'en-US',\n}\n\nexport const DEFAULT_LANG = 'en_US';\n\nexport const TRACKING_CONSTANT = {\n INTERNAL_LINK: 'internal',\n EXTERNAL_LINK: 'external',\n OUTLET_DETAILS: 'Outlet Primary Details',\n RESERVE_BUTTON: 'R&B Reserve Button',\n OUTLET_ADDITIONAL_SECTION: 'Outlet Additional Section',\n OUTLET_WEBSITE_LINK: 'R&B Website Link',\n OUTLET_RESERVATION_LINK: 'R&B Hotel Reservation Link',\n OUTLET_LOCATION_MAP: 'R&B Location on Map Link',\n OUTLET_PHONE_CONTACT: 'R&B Phone Link',\n OUTLET_EMAIL_CONTACT: 'R&B Email Link',\n OUTLET_AUXILIARY_SECTION: 'Outlet Auxiliary Section',\n OUTLET_BONVOY_FIND_MORE_LINK: 'R&B Bonvoy Find More Link',\n OUTLET_RECOMMENDATION_SECTION: 'Outlet Recommendation',\n EXPLORE_NEARBY: 'R&B Explore Nearby Link',\n MINI_CARD: 'Mini Card',\n HOME_PAGE_RECOMMENDATION_SECTION: 'Home Page Recommendation',\n HOME_PAGE_SEARCH_FORM: 'Home Search Form',\n SEARCH_RESULTS_SEARCH_FORM: 'Search Results Search Form',\n SEARCH_BUTTON: 'Search',\n UPDATE_SEARCH_BUTTON: 'Update Search',\n EDITORIAL_FEATURE: 'Editorial Feature',\n READ_MORE_BUTTON: 'R&B Read More',\n COLLAGE_EDITORIAL: 'Collage Editorial',\n LEARN_MORE_BUTTON: 'R&B Learn More',\n BONVOY_MEMBER_BANNER: 'Bonvoy Member Banner',\n JOIN_NOW_BUTTON: 'R&B Join Now',\n SIGN_IN_BUTTON: 'R&B Sign In',\n SEARCH_RESULTS_PAGINATION: 'Search Results Pagination',\n PREVIOUS_BUTTON: 'Previous',\n NEXT_BUTTON: 'Next',\n PAGE_BUTTON: 'Page Number',\n SEARCH_RESULT_PAGE: 'Search Result Page',\n FILTER_BUTTON: 'R&B Filter Button',\n SEARCH_RESULT_CARD: 'Search Result Card',\n RESTAURANT_DETAILS_BUTTON: 'Restaurant Details',\n SEARCH_FILTER_MODAL: 'R&B Search Filter Modal',\n BONVOY_FILTER: 'Bonvoy Filter',\n BRAND_FILTER: 'Brand Filter',\n CUISINE_FILTER: 'Cuisine Filter',\n DISTANCE_FILTER: 'Distance Filter',\n HOURS_FILTER: 'Hours Filter',\n SEATING_FILTER: 'Seating Filter',\n FILTER_OPTION: 'Option',\n SELECTED_FILTER_PILL: 'Selected Filter Pill',\n};\n\nexport const trackingDetailArr = [\n { text: 'trackingContentPosition', pre: '' },\n { text: 'trackingDescription', pre: 'msg=' },\n { text: 'trackingOfferType', pre: 'type=' },\n { text: 'trackingTag', pre: 'tag=' },\n];\n\nexport const mapURL = 'https://www.google.com/maps/search/';\n\nexport const baiduMapURL = 'https://map.baidu.com/search/';\n\nexport type InternetBarIcon = {\n showIcon: boolean;\n iconName: string;\n iconText: string;\n};\n\nexport const internetBarIcons: Record<string, InternetBarIcon> = {\n preconnect: {\n showIcon: true,\n iconName: 'icon-wifi',\n iconText: 'Connect to the Internet',\n },\n in_stay: {\n showIcon: false,\n iconName: '',\n iconText: '',\n },\n upgrade: {\n showIcon: true,\n iconName: 'icon-success',\n iconText: 'Upgrade your connection',\n },\n upgraded: {\n showIcon: true,\n iconName: 'icon-success',\n iconText: 'Connection Upgraded',\n },\n connected: {\n showIcon: true,\n iconName: 'icon-success',\n iconText: 'Connected to the Internet',\n },\n};\n\nexport const cna = 'cna';\n\nexport const weatherIcons = [\n { iconClass: 'icon-sunny', iconKey: 1 },\n { iconClass: 'icon-partly-sunny', iconKey: 2 },\n { iconClass: 'icon-partly-sunny', iconKey: 3 },\n { iconClass: 'icon-partly-sunny', iconKey: 4 },\n { iconClass: 'icon-cloud-fog', iconKey: 5 },\n\n { iconClass: 'icon-partly-cloudy', iconKey: 6 },\n { iconClass: 'icon-cloudy', iconKey: 7 },\n { iconClass: 'icon-cloudy', iconKey: 8 },\n { iconClass: 'icon-cloud-fog', iconKey: 9 },\n { iconClass: 'icon-light-showers', iconKey: 10 },\n\n { iconClass: 'icon-scattered-showers', iconKey: 11 },\n { iconClass: 'icon-scattered-showers', iconKey: 12 },\n { iconClass: 'icon-storm-lightning', iconKey: 13 },\n { iconClass: 'icon-storm-day', iconKey: 14 },\n { iconClass: 'icon-storm-day', iconKey: 15 },\n\n { iconClass: 'icon-rain', iconKey: 16 },\n { iconClass: 'icon-snow', iconKey: 17 },\n { iconClass: 'icon-snow', iconKey: 18 },\n { iconClass: 'icon-snow', iconKey: 19 },\n { iconClass: 'icon-snow-heavy', iconKey: 20 },\n\n { iconClass: 'icon-snow-medium', iconKey: 21 },\n { iconClass: 'icon-hail', iconKey: 22 },\n { iconClass: 'icon-hail', iconKey: 23 },\n { iconClass: 'icon-cloud-hail', iconKey: 24 },\n { iconClass: 'icon-cloud-hail', iconKey: 25 },\n\n { iconClass: 'icon-hot', iconKey: 26 },\n { iconClass: 'icon-cold', iconKey: 27 },\n { iconClass: 'icon-windy', iconKey: 28 },\n { iconClass: 'icon-moon', iconKey: 29 },\n { iconClass: 'icon-moon', iconKey: 30 },\n\n { iconClass: 'icon-night-cloud', iconKey: 31 },\n { iconClass: 'icon-night-cloud', iconKey: 32 },\n { iconClass: 'icon-night-cloud', iconKey: 33 },\n { iconClass: 'icon-night-cloud', iconKey: 34 },\n { iconClass: 'icon-rain-night', iconKey: 35 },\n\n { iconClass: 'icon-rain-night', iconKey: 36 },\n { iconClass: 'icon-storm-night', iconKey: 37 },\n { iconClass: 'icon-storm-night', iconKey: 38 },\n { iconClass: 'icon-snow-night', iconKey: 39 },\n { iconClass: 'icon-snow-night', iconKey: 40 },\n];\n\nexport const serviceIcons = {\n iconDining: 'icon-dining',\n iconSpa: 'icon-spa',\n iconGolf: 'icon-golf',\n iconDiningChopsticks: 'icon-dining-chopsticks',\n};\n\nexport const ModalValues = {\n LOGIN: 'LOGIN',\n LOGERR: 'LOGERR',\n ACCESS: 'ACCESS',\n ACCESSERR: 'ACCESSERR',\n REQSMS: 'REQSMS',\n REQSMSERR: 'REQSMSERR',\n};\n\nexport const experienceFragmentComponentTypes = {\n mmnContainer: 'mi-aem-common-spa/components/content/mmn-container',\n bannerLayered: 'mi-aem-common-spa/components/content/bannerlayered',\n accuWeather: 'mi-aem-ppv5-spa/components/content/accuWeather',\n cardHorizontalMini: 'mi-aem-common-spa/components/content/cardhorizontalmini',\n experiencefragment: 'mi-aem-ppv5-spa/components/content/experiencefragment',\n staticwrapper: 'mi-aem-ppv5-spa/components/common/staticwrapper',\n offers: 'mi-aem-offers-spa/components/offers-cards',\n serviceCarousel: 'mi-aem-ppv5-spa/components/content/services-carousel',\n letsConnect: 'mi-aem-ppv5-spa/components/content/lets-connect-modal',\n responsive: 'nt:unstructured',\n cardCarousel: 'mi-aem-common-spa/components/content/cardcarouselcontainer',\n text: 'mi-aem-common-spa/components/text',\n title: 'mi-aem-common-spa/components/title',\n universalFooter: 'mi-aem-homepage-spa/components/content/universal-footer',\n};\n\n//Common words to remove for fuzzy search\nexport const common_words =\n /\\b(a|an|and|are|as|at|be|but|by|for|if|in|into|is|it|no|not|of|on|or|such|that|the|their|then|there|these|they|this|to|was|will and with|breakfast|restaurant|lounge|bar)\\b/gi;\n\nexport const statesConstant = {\n preconnect: 'preconnect',\n connect: 'connect',\n connected: 'connected',\n upgrade: 'upgrade',\n upgraded: 'upgraded',\n in_stay: 'in_stay',\n};\n\nexport const chineseLocations = ['CN', 'HK', 'MO', 'TW'];\n\nexport const servicesAmenitiesContectID = 'services-amenities';\nexport const merchandisingContectID = 'merchandising';\nexport const localOffersContectID = 'local-offers';\n\nexport const merchandisingLuxuryBrand = ['RC', 'XR', 'LC', 'WH', 'EB', 'JW', 'RZ'];\n\nexport const localServiceConstants = {\n foodAndBeverage: 'FoodAndBeverage',\n spa: 'Spa',\n golf: 'Golf',\n dinning: 'Dinning',\n};\n\nexport const localServiceAnalyticsTrackConstant = {\n foodAndBeverage: 'Order F&B',\n spa: 'Spa Reservation',\n golf: 'Golf Reservation',\n dinning: 'Dining Reservation',\n};\n\nexport const cacheURL = 'https://cache.marriott.com';\n\nexport const internetBarHeight = 64;\n\nexport const modalHorizontalSpacing = 68;\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nexport const getOffers = async (mboxParam: string) => {\n //Trigger target call based on mbox parameter\n if (!(window as any).adobe || !(window as any).adobe.target) {\n return;\n }\n const offerResponse = await (window as any).adobe.target.getOffers({\n request: {\n execute: {\n mboxes: [\n {\n index: 0,\n name: mboxParam,\n },\n ],\n },\n },\n });\n return offerResponse?.execute?.mboxes?.[0]?.options?.[0]?.content;\n};\n","export const MOCK_SESSION_ID = '7FC3A108-DF69-5E10-B767-6D2FB461B924';\nexport const AUTHENTICATED = 'authenticated';\n\nexport const DATALAYER_CONSTANT = {\n headerKeys: [\n 'accept-language',\n 'user-agent',\n 'x-request-id',\n 'x-service-id',\n 'x-forwarded-host',\n 'x-host',\n 'x-xm-site-id',\n 'x-lite-site',\n 'x-request-uri',\n 'x-request-host',\n 'sec-fetch-user',\n 'x-forwarded-for',\n 'x-schema',\n 'sec-fetch-mode',\n 'x-forwarded-port',\n 'sec-fetch-site',\n 'sec-fetch-dest',\n 'x-forwarded-proto',\n 'referer',\n 'forwarded',\n 'messageid',\n 'x-akamai-edgescape',\n 'x-akamai-device-characteristics',\n 'x-client-ip',\n 'x-akamai-config-log-detail',\n 'akamai-origin-hop',\n 'digitalserviceswitch',\n ],\n};\n\nexport const HYBRID_CONFIG_CONSTANTS = {\n ROUTING_CONFIG: 'routingConfig',\n EXPERIENCE_SEGMENT: ['NOT Logged In'],\n EXPERIENCE_SEGMENT_AUTHENTICATED: ['Logged In'],\n MOCK_SESSION_ID: '7FC3A108-DF69-5E10-B767-6D2FB461B924',\n};\n\nexport const PPV5_URL_FORMAT = 'einterface/v5';\n\nexport const DCA_CONSTANTS = {\n DCA: 'dca',\n gcv: 'AMCV_664516D751E565010A490D4C@AdobeOrg',\n MCMID_COOKIE: 'MCMID',\n orgId: '664516D751E565010A490D4C@AdobeOrg',\n trackingServer: 'metrics.marriott.com',\n trackingServerSecure: 'smetrics.marriott.com',\n marketingCloudServer: 'metrics.marriott.com',\n marketingCloudServerSecure: 'smetrics.marriott.com',\n};\n\nexport const DEFAULT_ACCEPT_LANGUAGE = 'en-US';\nexport const ACCEPT_LANGUAGE_TEST_REGEX = /^[a-z]{2}(-[A-Z]{2})?$/;\n\nexport const DATA_LAYER_ATTRIBUTES = {\n cookie_mi_site: '',\n request_id: '',\n browser_akamai_loc_country: '',\n env_date_time: '',\n env_is_prod: '', // AEM\n env_platform: '', // AEM\n env_server_id: '',\n env_site_id: '',\n page_requested_uri: '',\n page_url_query_string: '',\n sessionId: '',\n browser_akamai_loc_lat: '',\n browser_akamai_loc_long: '',\n browser_akamai_loc_city: '',\n cookie_personalization_guid: '',\n device_language_preferred: '',\n env_language: '',\n site_id: '',\n bot_cookie_info: '',\n browser_akamai_loc_state: '',\n previous_page: '',\n};\n\nexport const DATA_LAYER_IGNORE_LIST = [\n 'roomkey_api_key',\n 'roomkey_api_version',\n 'ensighten_settings',\n 'rk_enabled',\n 'rk_errorMessage',\n 'rk_roomKeyBaseURL',\n 'invokeFlushErrors',\n 'rk_isProfileAuthenticated',\n 'rk_currency',\n 'rk_cList',\n 'deals_special_offer_id',\n];\n\nexport const DATA_LAYER_CAN_BE_NULL_LIST = ['browser_akamai_loc_city'];\n\nexport const COOKIE_KEYS = {\n personalization: 'Personalization',\n miCnSite: 'MI_CN_SITE',\n miSite: 'MI_SITE',\n merchViewed: 'merchViewed',\n miVisitor: 'MI_Visitor',\n sessionID: 'sessionID',\n};\n\n// keys in this object are datalayer keys and values are cookie names\nexport const PI_DATA = {\n altCustId: 'dtm_user_id, customerId',\n mr_id_alternate: 'dtm_user_id, customerId',\n sessionId: 'sessionID',\n session_jsession_id: 'sessionID',\n cookie_mi_visitor: 'sessionID',\n};\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport axios from 'axios';\nimport { Model } from '@adobe/aem-spa-page-model-manager';\n\nimport {\n DCA_CONSTANTS,\n HYBRID_CONFIG_CONSTANTS,\n DEFAULT_ACCEPT_LANGUAGE,\n ACCEPT_LANGUAGE_TEST_REGEX,\n PI_DATA as dataLayerFilterList,\n} from './constants';\nimport { mockSessionData } from '../mocks/sessionData';\nimport { logger } from './logger';\nimport { useClientEnvVarsStore } from '@marriott/mi-store-utils';\nimport { NonEmptyString } from './helpers.types';\nimport { SessionData } from './session';\n\nconst { NEXT_PUBLIC_DYNAMIC_ROUTING_URL, SESSION_APP_CALL_URL, NEXT_PUBLIC_FEATURE_FLAG_URL } = process.env;\nexport const canUseDOM = !!(typeof window !== 'undefined' && window.document);\n\nexport const getProcessEnvs = () => {\n const processENV = process.env && { ...process.env };\n delete processENV['NEXT_AEM_AUTH'];\n delete processENV['NEXT_PUBLIC_AEM_AUTH'];\n if (canUseDOM) {\n const envTag = document.getElementById('__SERVERENV__');\n if (envTag) {\n const envObject = JSON.parse(envTag.innerHTML);\n return envObject;\n }\n return processENV;\n }\n return processENV;\n};\n\nexport async function getPageModel(\n path: string,\n locale: string,\n sessionID: string,\n applicationName: string,\n selector: string,\n isAuthenticated = false,\n eaaPageIndicator = '',\n PREPROCESSOR_EXPERIENCE_SEGMENT: Array<string>,\n productSpecificSeoUrl = null\n) {\n const { log, pLog } = global.loggerInstance('ModelCall');\n const { ROUTING_CONFIG, EXPERIENCE_SEGMENT, EXPERIENCE_SEGMENT_AUTHENTICATED } = HYBRID_CONFIG_CONSTANTS;\n locale = locale?.replace('_', '-');\n const pagePath = path.split('?')[0];\n\n const getCMSTemplateReqBody: {\n requestType: string;\n seoUrl: string;\n localeKey: string;\n experienceSegment: Array<string>;\n applicationName: string;\n sessionToken: string;\n selector?: string;\n eaaPageIndicator?: string;\n selectors?: string;\n } = {\n requestType: ROUTING_CONFIG,\n seoUrl: productSpecificSeoUrl ? productSpecificSeoUrl : pagePath,\n localeKey: locale,\n experienceSegment: PREPROCESSOR_EXPERIENCE_SEGMENT\n ? PREPROCESSOR_EXPERIENCE_SEGMENT\n : isAuthenticated\n ? [...EXPERIENCE_SEGMENT_AUTHENTICATED]\n : [...EXPERIENCE_SEGMENT],\n applicationName: applicationName,\n sessionToken: sessionID,\n };\n\n if (selector) {\n getCMSTemplateReqBody['selectors'] = selector;\n }\n if (eaaPageIndicator) {\n getCMSTemplateReqBody['experienceSegment'] = [...getCMSTemplateReqBody['experienceSegment'], eaaPageIndicator];\n }\n\n let pageModel = {};\n const apiStartTime = new Date().getTime();\n try {\n log.debug(`NEXT_PUBLIC_DYNAMIC_ROUTING_URL: ${NEXT_PUBLIC_DYNAMIC_ROUTING_URL}`);\n log.debug(`getCMSTemplateReqBody: ${JSON.stringify(getCMSTemplateReqBody)}`);\n const response = await axios.post(`${NEXT_PUBLIC_DYNAMIC_ROUTING_URL}`, getCMSTemplateReqBody);\n if (response) {\n pageModel = response.data.data;\n } else {\n log.error('AEM model failure:', response);\n pageModel = {};\n }\n } catch (err) {\n log.error('API call failed:', err);\n //returing page model and logging error\n return pageModel;\n }\n pLog.log('API call performance timing', apiStartTime, new Date().getTime());\n return pageModel;\n}\n//converts \":items\" format to \"cqItems\" format.\nexport function transformToCQ(propKey: string) {\n const tempKey = propKey.substring(1);\n\n return 'cq' + tempKey.substring(0, 1).toUpperCase() + tempKey.substring(1);\n}\n\n//To format mock model in local dev, in other envs this formatting is taken care by OOTB fetchModel utility\nexport const respGridUtil = (item: Model) => {\n if (!item || !Object.keys(item).length) {\n return { cqPath: '' };\n }\n\n const keys = Object.getOwnPropertyNames(item);\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const props: any = {};\n\n keys.forEach((key: string) => {\n const propKey = key.startsWith(':') ? transformToCQ(key) : key;\n props[propKey] = item[key as keyof Model] || '';\n });\n\n return props;\n};\n\nexport async function getSessionData(sessionIDVal: string, isLocalDev: boolean, isAuthorMode: boolean) {\n return new Promise((resolve, reject) => {\n let sessionData;\n let sessionHeader: any = {};\n const { log, pLog } = global.loggerInstance('SessionCall');\n const sessionGetCallUrl =\n SESSION_APP_CALL_URL || useClientEnvVarsStore.getState().envVarsObject['SESSION_GET_CALL_URL_CLIENT'];\n\n if (isLocalDev || isAuthorMode) {\n resolve({ sessionData: mockSessionData, sessionHeader: '' });\n } else {\n const apiStartTime = new Date().getTime();\n log.debug(JSON.stringify({ SESSION_APP_CALL_URL: sessionGetCallUrl, sessionIDVal }));\n axios\n .get(`${sessionGetCallUrl}`, {\n headers: {\n Cookie: `sessionID=${sessionIDVal}`,\n 'Cache-Control': 'no-store, no-cache, private',\n },\n })\n .then(resp => {\n sessionHeader = resp?.headers;\n sessionData = resp?.data;\n resolve({ sessionData, sessionHeader });\n })\n .catch(e => {\n log.error('Error with session route!', e);\n reject('session');\n });\n pLog.log(`API call performance timing start: ${apiStartTime} end: ${new Date().getTime()}`);\n }\n });\n}\n\nexport async function getSessionDataWithParams(\n preHeader: Record<string, string>,\n isLocalDev: boolean,\n isAuthorMode: boolean\n) {\n return new Promise((resolve, reject) => {\n let sessionData;\n let sessionHeader: any = {};\n const { log, pLog } = global.loggerInstance('SessionCall');\n\n const sessionBody = { keys: process.env['NEXT_PUBLIC_SESSION_KEYS'] };\n\n if (isLocalDev || isAuthorMode) {\n resolve({ sessionData: mockSessionData, sessionHeader: '' });\n } else {\n const apiStartTime = new Date().getTime();\n log.debug(JSON.stringify({ SESSION_APP_CALL_URL, token: preHeader }));\n axios\n .post(`${SESSION_APP_CALL_URL}`, sessionBody, {\n headers: preHeader,\n })\n .then(resp => {\n sessionHeader = resp?.headers;\n sessionData = resp?.data;\n resolve({ sessionData, sessionHeader });\n })\n .catch(e => {\n log.error('Error with session route!', e);\n reject('session');\n });\n pLog.log(`API call performance timing start: ${apiStartTime} end: ${new Date().getTime()}`);\n }\n });\n}\n\nexport async function getV1SessionData(\n sessionIDVal: string,\n isLocalDev: boolean,\n isAuthorMode: boolean,\n searchKeys: string\n) {\n return new Promise((resolve, reject) => {\n let sessionData;\n let sessionHeader: any = {};\n const { log } = logger({ requestID: '', sessionID: '' })('SessionCall');\n\n const sessionApiUrl =\n process.env['SESSION_APP_GET_CALL_V1_URL'] ||\n useClientEnvVarsStore.getState().envVarsObject['SESSION_APP_GET_CALL_V1_URL'];\n if (isLocalDev || isAuthorMode) {\n log.debug(`Detected local or Author mode, using mock session`);\n resolve({ sessionData: mockSessionData, sessionHeader: '' });\n } else {\n const apiStartTime = new Date().getTime();\n log.debug(`sessionApiUrl: ${sessionApiUrl}`);\n log.debug(`session token: ${sessionIDVal}`);\n axios\n .post(\n `${sessionApiUrl}`,\n {\n keys: searchKeys,\n },\n {\n headers: {\n Cookie: `sessionID=${sessionIDVal}`,\n },\n }\n )\n .then(resp => {\n sessionHeader = resp?.headers;\n sessionData = resp?.data;\n resolve({ sessionData, sessionHeader });\n })\n .catch(e => {\n log.debug('Error with session route!', e);\n reject('session');\n });\n log.debug('API call performance timing', apiStartTime, new Date().getTime());\n }\n });\n}\n\n/**\n * Populates the PI data layer with values from cookies based on the provided dataLayerFilterList.\n *\n * @param {boolean} isAcdl - A flag indicating whether to store the data in sessionStorage (true) or in window.dataLayer (false).\n * @returns {Record<string, string>} - The populated PI object if isAcdl is true, otherwise an empty object.\n */\nexport function populatePIdataLayer(sessionData: SessionData = {}) {\n const isEnableWebSDK = useClientEnvVarsStore.getState()?.envVarsObject?.['NEXT_PUBLIC_ENABLE_WEBSDK'];\n /**\n * Retrieves the value of a specified cookie.\n *\n * @param {string} name - The name of the cookie to retrieve.\n * @returns {string | null} - The value of the cookie, or null if not found.\n */\n\n function getCookieValue(name: string): string | null {\n const cookies = cookieString.split('; ');\n\n for (const cookie of cookies) {\n const [key, value] = cookie.split('=');\n if (key === name) {\n return value;\n }\n }\n\n return null;\n }\n\n const cookieString = document.cookie;\n const piObj: Record<string, string> = {};\n const memState: string = window?.dataLayer?.['memState']?.toString()?.toLowerCase() ?? '';\n const isAnonymousUser: boolean = memState !== 'authenticated' && memState !== 'remembered';\n\n // Iterate over each key-value pair in dataLayerFilterList\n for (const [key, val] of Object.entries(dataLayerFilterList)) {\n // Split the value by commas to handle multiple cookie names\n const cookieNames = val.split(',');\n // Iterate through each cookie name and assign the first found value to piObj\n // for acdl off scenario sessiondata shold be read from window object, for on scenario - should be from session store\n const sessionDataObj = isEnableWebSDK ? sessionData : window.sessionData;\n for (const cookieName of cookieNames) {\n const value = getCookieValue(cookieName.trim());\n if (value) {\n piObj[key] = value;\n break; // Stop checking after the first valid cookie value is found\n }\n // if cookie is not present, get it from session data,\n // TODO: clean up code after current consumer ID cookie issue is fixed\n // shop page sessionData is without cacheData added fallback for home/shop/cobrand\n // (!isAnonymousUser || isEnableWebSDK) - isAnonymousUser check will beused for flag off scenario here\n // isEnableWebSDK will be ised for flag on.\n //for acdl true, session data will always be updated so anonymous check is not required.\n else if (\n (key === 'altCustId' || key === 'mr_id_alternate') &&\n (sessionDataObj?.cacheData?.data?.consumerID || sessionDataObj?.data?.consumerID) &&\n (!isAnonymousUser || isEnableWebSDK)\n ) {\n piObj[key] = sessionDataObj?.cacheData?.data?.consumerID ?? sessionDataObj?.data?.consumerID;\n }\n }\n }\n\n // Store the data in sessionStorage if isAcdl is true, otherwise in window.dataLayer\n if (isEnableWebSDK) {\n const oldDataLayer = JSON.parse(window.sessionStorage.getItem('oldDataLayer') || '{}');\n window.sessionStorage.setItem('oldDataLayer', JSON.stringify({ ...oldDataLayer, ...piObj }));\n return piObj;\n } else {\n window.dataLayer = { ...window.dataLayer, ...piObj };\n return {};\n }\n}\n\nexport function getDataLayerScript(dataLayer: { data: any; mvpOffersData: string }) {\n return `var dataLayer = ${dataLayer?.data ? JSON.stringify(dataLayer?.data[0]) : '{}'}; var mvpOffers = ${\n dataLayer?.mvpOffersData && dataLayer?.mvpOffersData !== 'null' ? dataLayer?.mvpOffersData : '{}'\n };`;\n}\n\nexport function getSessionDataScript(sessionData: Record<string, string>) {\n return `var sessionData = ${sessionData ? JSON.stringify(sessionData) : '{}'};`;\n}\n\nexport async function getFeatureFlagData() {\n const { log } = global.loggerInstance('FeatureFlag');\n log.debug(`API url: ${NEXT_PUBLIC_FEATURE_FLAG_URL}`);\n return new Promise((resolve, reject) => {\n axios\n .get(`${NEXT_PUBLIC_FEATURE_FLAG_URL}`)\n .then(res => {\n resolve(res.data);\n })\n .catch(e => {\n log.error('Error with feature flag route!', e);\n reject('featureflag');\n });\n });\n}\n\nexport const mtGC = (cname: string): string => {\n const name = cname + '=';\n const ca = document.cookie.split(';');\n for (let i = 0; i < ca.length; i++) {\n let c = ca[i];\n while (c.charAt(0) === ' ') {\n c = c.substring(1);\n }\n if (c.indexOf(name) === 0) {\n const cnameValue = c.substring(name.length, c.length);\n try {\n return decodeURIComponent(cnameValue);\n } catch {\n return cnameValue;\n }\n }\n }\n return '';\n};\n\nexport const mtGCV = (cname: string): string => {\n const x: Array<string> = mtGC(cname).split('|');\n let i;\n for (i = 0; i < x.length; i++) {\n if (x[i] === DCA_CONSTANTS.MCMID_COOKIE) {\n return x[i + 1];\n }\n }\n return '';\n};\n\nexport const cleanObject = (input: object): object => {\n if (typeof input === 'object' && input !== null) {\n if (Array.isArray(input)) {\n return input?.map(cleanObject)?.filter(item => item !== null && item !== undefined && item?.toString() !== '');\n }\n\n return Object.fromEntries(\n Object.entries(input)\n .map(([key, val]) => [key, cleanObject(val)])\n .filter(([k, v]) => v !== null && v !== undefined && v !== '' && k)\n );\n }\n\n return input;\n};\n\n/**\n * Validates accept-language header against a regex\n * @param header string\n * @returns boolean\n */\nexport const isValidAcceptLanguageHeader = (header: string): boolean => {\n const regex = ACCEPT_LANGUAGE_TEST_REGEX;\n return regex.test(header);\n};\n\n/**\n * Pulls accept-language header out of request object and validates it.\n * @param req Request object with (presumably) some heades on it\n * @returns string Valid accept-language header\n */\nexport const processAcceptLanguage = (locale: string): string => {\n // Remove underscore, remove spaces, split and take whaever's before the comma.\n let parsedAccLang = locale?.replace(/\\s+/g, '')?.replace('_', '-').split(';')[0].split(',')[0] as NonEmptyString;\n // If a region designation is present, attempt to uppercase it.\n if (parsedAccLang?.length === 5) {\n parsedAccLang = `${parsedAccLang.split('-')[0]}-${parsedAccLang.split('-')[1].toUpperCase()}` as NonEmptyString;\n }\n // If parsed value truthy and valid, return, else return default.\n return parsedAccLang && isValidAcceptLanguageHeader(parsedAccLang)\n ? parsedAccLang\n : (DEFAULT_ACCEPT_LANGUAGE as NonEmptyString);\n};\n\n/**\n * @description Prop resolver for Server and Client\n * @param name Key of the process env variable to access\n * @returns {string|undefined} return env variable form either paeg props or process\n */\nexport const getEnvProp = (name: string): string | undefined => {\n if (typeof window !== 'undefined') {\n return JSON.parse(window.__NEXT_DATA__?.props?.['pageProps']?.['serverENV'] || '{}')?.[name] || '';\n }\n return process.env[name] || '';\n};\n","let LoggerClass;\n\nconst config = {\n MI_LOG_LEVEL: 'DEBUG', // will be override by ENV variable\n PERF_LOGGING_ENABLED: 'true',\n};\n\n// process.browser is deprecated, checking if clientside using window object\nif (typeof window !== 'undefined') {\n LoggerClass = class Logger {\n constructor(identifiers) {\n this.identifiers = identifiers;\n }\n\n getLogger(loggerName) {\n const enableLogger = () => {\n const LOGS_ENABLED = localStorage.getItem('ENABLE_LOGS') === 'true';\n return LOGS_ENABLED;\n };\n return {\n log: (...args) => {\n if (enableLogger()) {\n console.log('%s | %s | LOG |', loggerName, this.getTimeStampFormat(), ...args);\n }\n },\n warn: (...args) => {\n if (enableLogger()) {\n console.warn('%s | %s | WARN |', loggerName, this.getTimeStampFormat(), ...args);\n }\n },\n info: (...args) => {\n if (enableLogger()) {\n console.info('%s | %s | INFO |', loggerName, this.getTimeStampFormat(), ...args);\n }\n },\n error: (...args) => {\n if (enableLogger()) {\n console.error('%s | %s | ERROR |', loggerName, this.getTimeStampFormat(), ...args);\n }\n },\n debug: (...args) => {\n if (enableLogger()) {\n console.debug('%s | %s | DEBUG |', loggerName, this.getTimeStampFormat(), ...args);\n }\n },\n };\n // }\n }\n\n /**\n * Achieve the following format for timestamp:\n * 2017-05-23 11:35:43.673\n *\n * @returns {String} Formatted Date string\n */\n getTimeStampFormat() {\n return new Date().toISOString().replace('Z', '').split('T').join(' ');\n }\n };\n} else {\n // server side logic\n /* eslint-disable global-require */\n const os = require('os');\n const Winston = require('winston');\n const { createLogger, format, transports } = Winston;\n const { combine, timestamp, label, errors, printf } = format;\n /* eslint-enable global-require */\n\n /**\n\n * Logger class to fetch instances for logging with custom formatting enabled\n\n */\n\n LoggerClass = class Logger {\n constructor(requestIdentifiers) {\n this.logPrefix = this.getLogPrefix();\n this.requestIdString = this.getRequestIdentifierString(requestIdentifiers || {});\n }\n\n /**\n * Get the prefix for the log statement containing the log prefix from environment\n * (if available) and the hostname\n *\n * @returns {String} Prefix for the logging statement\n */\n getLogPrefix() {\n const hostName = os.hostname().toUpperCase();\n const logPrefix = process.env.LOG_PREFIX;\n\n return logPrefix ? `${logPrefix}|${hostName}` : hostName;\n }\n\n /**\n * Get the request identifier string for the log statement\n * consisting of the session id and the request id\n *\n * @param {Object} requestIdentifiers Request identifiers as received in the constructor\n * @returns {String} String consisting of session id and request id as available\n */\n getRequestIdentifierString(requestIdentifiers) {\n let requestIdString = '';\n const { sessionID, requestID } = requestIdentifiers;\n\n if (sessionID && requestID) {\n requestIdString += sessionID ? ` [SESSION ID: ${sessionID}]` : '';\n requestIdString += requestID ? ` [REQUEST ID: ${requestID}]` : '';\n }\n\n return requestIdString;\n }\n\n /**\n * Achieve the following format for timestamp:\n * 2017-05-23 11:35:43.673\n *\n * @returns {String} Formatted Date string\n */\n getTimeStampFormat() {\n return new Date().toISOString().replace('Z', '').split('T').join(' ');\n }\n\n /**\n * Achieve the following format for the log statement:\n * 2017-05-23 12:25:54.292 [<LOG_PREFIX>] [SESSION ID: <SESSION_ID>] [REQUEST ID: <REQUEST_ID>] [<LOG_LEVEL>] [<LOGGER_NAME>] - <MESSAGE>\n *\n * @param {Object} options Winston options for custom formatting\n * @returns {String} Custom logging format\n */\n // getFormatterString(options) {\n // return `|LOG_LINE| ${options.timestamp()} [${options.level.toUpperCase()}] [${this.logPrefix}]${this.requestIdString} [${this.loggerName}] - ${options.message ? options.message : ''}`;\n // }\n\n getFormatterString = printf(\n ({\n // eslint-disable-next-line no-shadow\n level,\n message,\n label,\n timestamp,\n stack,\n }) =>\n `|LOG_LINE| ${timestamp} [${level.toUpperCase()}] [${this.logPrefix}]${this.requestIdString} [${label}] - ${\n message || ''\n } ${stack || ''}`\n );\n\n /**\n * Get the logger instance with request identifiers as part of formatter\n *\n * @param {String} loggerName Name to identify the log initiator\n */\n getLogger(loggerName) {\n return createLogger({\n level: (process.env.MI_LOG_LEVEL ?? config.MI_LOG_LEVEL).toLowerCase(),\n format: combine(\n label({ label: loggerName }),\n timestamp({\n format: this.getTimeStampFormat,\n }),\n errors({ stack: true }),\n this.getFormatterString\n ),\n transports: [new transports.Console()],\n });\n }\n };\n}\n\n/**\n * Constructor for PerfLogger\n *\n * @param {Object} logger Logger instance to be used\n * @constructor\n */\nclass PerfLogger {\n constructor(log) {\n this.logger = log;\n // turn on/off perf logging\n this.isPerfLoggingEnabled = (process.env.PERF_LOGGING_ENABLED || config.PERF_LOGGING_ENABLED) === 'true';\n }\n\n /**\n * End and return the ops time\n *\n * @param {String} start Perf logging start time\n * @param {Number} end Perf logging end time\n * @returns {Number} Time difference for ops involved\n * @private\n */\n getOpsTime(start, end) {\n return ((end - start) / 1000).toFixed(3);\n }\n\n /**\n * End timer and log response time\n *\n * @param {String} message Primary message for logger\n * @param {Number} start Perf logging start time\n * @param {Number} end Perf logging end time\n */\n log(message, start, end) {\n if (!this.isPerfLoggingEnabled) return;\n\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n const self = this;\n process.nextTick(() => {\n self.logger.error(`[PERFLOG] ${message} ${self.getOpsTime(start, end)} secs.`);\n });\n }\n}\n\nexport const logger = ids => loggerName => {\n const log = new LoggerClass(ids).getLogger(loggerName);\n return {\n log,\n pLog: new PerfLogger(log),\n };\n};\n","import dayjs from 'dayjs';\nimport utc from 'dayjs/plugin/utc';\nimport { canUseDOM } from '../helpers';\nimport Cookies from 'js-cookie';\nimport { COOKIE_KEYS } from '../constants';\nimport { DATA_LAYER_ATTRIBUTES as datalayerAttrList } from '../constants';\nimport { GlobalPageProps, SessionData } from '../session';\n\nexport const getCurrentDateTime = () => {\n dayjs.extend(utc);\n return dayjs.utc().format('MM/DD/YY HH:mm:ss');\n};\n\nexport const getCurrentLocale = (pageProps: GlobalPageProps) => {\n if (canUseDOM) {\n return pageProps?.['currentLocale'] || 'en-US';\n }\n return '';\n};\n\nexport const propertyResolver = <T extends string | unknown>(value: T) => {\n return value ? value : '';\n};\n\nexport const getEnvServerId = () => {\n if (Cookies.get(COOKIE_KEYS.miCnSite)) {\n return propertyResolver(Cookies.get(COOKIE_KEYS.miCnSite));\n } else {\n return propertyResolver(Cookies.get(COOKIE_KEYS.miSite));\n }\n};\n\nexport const getCountryFromLocale = (pageProps: GlobalPageProps) => {\n const currentLocale = getCurrentLocale(pageProps);\n return currentLocale?.split('-')?.[1] || '';\n};\n\nexport const getEnvSiteId = (pageProps: GlobalPageProps) => {\n const currentCountry = getCountryFromLocale(pageProps);\n if (currentCountry === 'LACA') {\n return 'ES';\n } else return currentCountry;\n};\n\nexport const getAkamaiLocationAttrs = (headerValue?: string) => {\n if (headerValue?.length) {\n return headerValue.split(',').reduce((acc: Record<string, string>, pair) => {\n const [key, value] = pair.split('=');\n acc[key] = value;\n return acc;\n }, {});\n } else\n return {\n country_code: '',\n lat: '',\n long: '',\n city: '',\n region_code: '',\n };\n};\n\nexport const getDatalayerAttrList = (pageProps: GlobalPageProps) => {\n if (canUseDOM) {\n return pageProps?.['model']?.['dataLayerStaticElements'] || datalayerAttrList;\n } else {\n return datalayerAttrList;\n }\n};\n\nexport const getPreviousPageUrl = () => {\n // removing http from referrer\n return canUseDOM ? document.referrer?.replace(/(^\\w+:|^)\\/\\//, '')?.split('?')?.[0] : '';\n};\n\n/**\n *\n * @returns return PersonalizationGUID\n * @description this fucntion first it will fetch Personalization cookie which is encrypted\n * and then if that cookie value contains particular code then\n * we have to decode that value and then\n * from the decoded value we should return a string\n * eg: let string = 'haubsdf;guid:\"personalizationCookieValue\"', then will return personalizationCookieValue\n */\nexport const getCookiePersonalizationGuid = () => {\n const personalizationCookie = Cookies.get(COOKIE_KEYS.personalization);\n if (!personalizationCookie) return;\n const decodedValue = decodeURI(personalizationCookie);\n const [, substringAfterGuid] = decodedValue.split('guid');\n const substringAfterColon = substringAfterGuid?.slice(substringAfterGuid?.indexOf(':\"') + 2);\n const finalvalue = substringAfterColon?.slice(0, substringAfterColon?.indexOf('\"'));\n return propertyResolver(finalvalue);\n};\n\n/**\n *\n * @param sessionData\n * @returns promoSpecialOfferId\n * @description if url.pathname == '/search/default' then it will return\n * sessionData?.data?.AriesCommon?.promo_special_offer_id\n * else sessionData?.data?.AriesSearch?.marrOfferId\n */\nexport const getPromoSpecialOfferId = (sessionData: SessionData) => {\n if (window?.location?.pathname?.replace('.mi', '') == '/search/default') {\n return propertyResolver(sessionData?.data?.AriesCommon?.promo_special_offer_id);\n }\n return propertyResolver(sessionData?.data?.AriesSearch?.searchCriteria?.marrOfferId);\n};\n\n/**\n *\n * @param sessionData\n * @returns AriesError object as string\n * @description if session data contans wsErrors\n * then it will construct error that erro object\n */\nexport const getAriesErrorObj = (sessionData: SessionData): string => {\n const wsErrors = sessionData?.data?.AriesErrors?.wsErrors;\n const API_PREFIX = 'API|302';\n\n if (wsErrors && wsErrors.length > 0) {\n let errorString = `${API_PREFIX}|${wsErrors[0].componentName}`;\n wsErrors.forEach(errorObj => {\n errorString += `|${getStandardizedAPIEndPoint(errorObj.apiName as string)}_${errorObj.statusCode}`;\n // Adding optional fields to the error string\n if (errorObj.wsErrorCode) errorString += `_${errorObj.wsErrorCode}`;\n if (errorObj.message) errorString += `_${errorObj.message}`;\n });\n\n return errorString;\n }\n return '';\n};\n\n// Function to process the final API endpoint string\nconst getStandardizedAPIEndPoint = (apiEndpoint: string): string => {\n if (!apiEndpoint) return '';\n let method = '';\n let path = apiEndpoint;\n if (apiEndpoint.includes(' ')) {\n [method, path] = apiEndpoint.split(' ', 2);\n }\n // appending API method in the string if it is present in api name\n const standardizedAPIEndPoint = method ? `${method} ` : '';\n const apiToken = path.split('/').filter(Boolean); // Remove empty segments\n\n // If the array has fewer than 3 segments, return as-is\n if (apiToken.length < 3) return `${standardizedAPIEndPoint}${path}`;\n\n // If array is 3 or more, process the dynamic segements in the api name\n return processWSURITokens(standardizedAPIEndPoint, apiToken);\n};\n\n/**\n *\n * @param standardizedAPIEndPoint\n * @param apiToken\n * @returns api end point\n * @description it will process apiEndpoint\n * first it will add apiToken[0] to standardapi\n * and then it wil check whether it is in dynamic segment or not\n * and then it will add ID then returns that apiEndpoint\n */\nconst processWSURITokens = (standardizedAPIEndPoint: string, apiToken: string[]): string => {\n const outlierAPIEndpoint = 'queries';\n const outlierAPIEndpointAfterFirstDynamicIndex = 'consumers';\n\n standardizedAPIEndPoint += `/${apiToken[0]}`; // Always add the first segment\n\n for (let i = 1; i < apiToken.length; i++) {\n const segment = apiToken[i];\n\n // Determine if we are in a dynamic segment context\n const isDynamicSegment =\n (apiToken[1].includes(outlierAPIEndpoint) && !/^[a-zA-Z-]+$/.test(segment)) ||\n (apiToken[1].includes(outlierAPIEndpointAfterFirstDynamicIndex) && i > 2) ||\n i % 2 === 0;\n\n standardizedAPIEndPoint += `/${isDynamicSegment ? 'ID' : segment}`;\n }\n return standardizedAPIEndPoint;\n};\n\n/**\n *\n * @returns pageURLPathbranch\n * @description if pageURI include 'search'\n * then it will return 'search/findHotels.mi'\n * else return pageURI or '/offers'\n */\nexport const getPageUrlPathBranch = (pageProps: GlobalPageProps) => {\n const pageURI = pageProps?.resolvedUrl;\n if (pageURI?.includes('search')) {\n return '/search/findHotels.mi';\n } else return pageURI ?? '/offers';\n};\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport Cookies from 'js-cookie';\nimport { logger } from '../logger';\nimport { DataLayerAttributes, DataLayerResponse } from './index.types';\nimport { getDataLayer } from './index';\nimport {\n COOKIE_KEYS,\n PI_DATA,\n DATA_LAYER_IGNORE_LIST as dataLayerIgnoreList,\n DATA_LAYER_CAN_BE_NULL_LIST as dataLayerCanBeNullList,\n} from '../../lib/constants';\nimport {\n GlobalPageProps,\n PersistentDatalayerAttributes,\n SessionData,\n DatalayerValueGenerators as ValueGenerators,\n} from '../session/types';\nimport {\n getAkamaiLocationAttrs,\n getAriesErrorObj,\n getCookiePersonalizationGuid,\n getCurrentDateTime,\n getCurrentLocale,\n getDatalayerAttrList,\n getEnvServerId,\n getEnvSiteId,\n getPageUrlPathBranch,\n getPreviousPageUrl,\n getPromoSpecialOfferId,\n propertyResolver,\n} from './datalayerHelpers';\nimport { populatePIdataLayer } from '../helpers';\nimport isEmpty from 'lodash/isEmpty';\n\nexport const getDatalayerResponse = async (req: any, ignoreMVPOffers = false, isShopRequest = false) => {\n global.loggerInstance = logger({\n sessionID: req?.cookies?.sessionID,\n requestID: req.headers['x-request-id'],\n }) as CallableFunction;\n const { log } = global.loggerInstance('getDatalayerResponse');\n const requestId = req.headers['x-request-id'];\n const currentLocale = req.headers['accept-language'];\n const locale = isShopRequest ? currentLocale?.split(',')[0] : currentLocale?.split(',')[0]?.replace('-', '_');\n log.debug(`getDataLayer request headers Accept-Language: ${req.headers['accept-language']}`);\n log.debug(\n `getDataLayer request headers requestId: ${req.headers['x-request-id']} and host: ${req.headers['x-host']}`\n );\n log.debug(`getDataLayer resolvedUrl passed ${requestId?.split('.mi')[0]}`);\n log.debug(`getDataLayer locale passed ${locale}`);\n\n try {\n // Fetch data layer response\n const datalayerResp = (await getDataLayer(\n req,\n requestId?.split('.mi')[0],\n locale,\n req.query,\n ignoreMVPOffers\n )) as DataLayerResponse;\n\n const dataLayerObj = datalayerResp?.data[0] || {};\n const mvpOffers =\n datalayerResp?.mvpOffersData && datalayerResp?.mvpOffersData !== 'null' ? datalayerResp?.mvpOffersData : '{}';\n\n // Extract the keys from PI_DATA to filter out\n const dataLayerFilterList = new Set(Object.keys(PI_DATA));\n\n // filter datalayer object without PI_DATA\n const filteredDataLayer = Object.keys(dataLayerObj).reduce<Record<string, any>>((obj, key) => {\n if (!dataLayerFilterList.has(key)) {\n obj[key] = dataLayerObj[key];\n }\n return obj;\n }, {});\n\n // Convert filtered object back to JSON string\n const dataLayer = JSON.stringify(filteredDataLayer);\n\n // Return the filtered JSON string of dataLayer and mvpOffers\n return { dataLayer, mvpOffers };\n } catch (error) {\n log.error(`Error in getDatalayerResponse: ${error}`);\n throw error;\n }\n};\n\nexport function normalizeDataAttributes(attributes?: DataLayerAttributes[]) {\n return attributes?.reduce((acc: Record<string, string>, attr: DataLayerAttributes) => {\n if (attr.value && attr.value !== 'undefined' && attr.value !== null) {\n acc[attr.key as string] = attr.value as string;\n }\n return acc;\n }, {});\n}\n\n/**\n *\n * @param sessionData\n * @returns and object that contains list of commonly used dataLayer keys\n * 1. cookie_merchViewed value for this key is same as 'merchViewed' cookie\n * 2. promo_special_offer_id, if url.pathname contains '/search/default'\n * then value is promo_special_offer_id of sessionData.AriesCommon object\n * else marOfferId of AriesSearch\n * 3. cookie_personalization_guid, its encoded values based on Personalization cookie please do refer that function\n * 4. env_api_tile_error_info, it will be populated when ther are Aries Errors in sessionData\n * 5. env_site_name, if pageURI contains rfp then it will be RITZ domain else xHost in sessionData\n * 6. page_domain_name, if pageURI doesnt contain rfp then value should be xHost of sessionData, else empty\n * 7. page_type, its value is combination of env_site_name & pageURI\n * 8. page_url_path_branch, if pageURI contains 'search' then value should be\n * 'search/findHotels.mi' else either pageURI or '/offers'\n * 9. request_id, this refers to either sessionData.x-request-id or requestId in pageProps\n */\nconst getCommonKeys = (sessionData: SessionData, pageProps: GlobalPageProps) => {\n const pageURI = pageProps?.resolvedUrl;\n const xHost = sessionData?.data?.xHost;\n return {\n cookie_merchViewed: propertyResolver(Cookies.get(COOKIE_KEYS?.merchViewed)),\n promo_special_offer_id: getPromoSpecialOfferId(sessionData),\n cookie_personalization_guid: getCookiePersonalizationGuid(),\n env_api_tile_error_info: getAriesErrorObj(sessionData),\n env_site_name: xHost,\n page_domain_name: propertyResolver(!pageURI?.includes('rfp') ? xHost : ''),\n page_type: propertyResolver(xHost + pageURI),\n page_url_path_branch: getPageUrlPathBranch(pageProps),\n request_id: propertyResolver(sessionData?.data?.['x-request-id'] ?? pageProps?.requestId),\n };\n};\n\nconst datalayerValueGenerator: ValueGenerators = {\n browser_akamai_loc_country: ({ akamaiLocationAttrs }) => propertyResolver(akamaiLocationAttrs?.country_code),\n browser_akamai_loc_lat: ({ akamaiLocationAttrs }) => propertyResolver(akamaiLocationAttrs?.lat),\n browser_akamai_loc_long: ({ akamaiLocationAttrs }) => propertyResolver(akamaiLocationAttrs?.long),\n browser_akamai_loc_city: ({ akamaiLocationAttrs }) => propertyResolver(akamaiLocationAttrs?.city?.toLowerCase()),\n browser_akamai_loc_state: ({ akamaiLocationAttrs }) =>\n propertyResolver(akamaiLocationAttrs?.region_code?.toLowerCase()),\n cookie_mi_site: ({ sessionData }) => propertyResolver(sessionData?.data?.xHost),\n device_language_preferred: ({ pageProps }) => getCurrentLocale(pageProps)?.replace('-', '_'),\n env_date_time: () => getCurrentDateTime(),\n env_server_id: () => getEnvServerId(),\n env_site_id: ({ pageProps }) => getEnvSiteId(pageProps),\n env_language: () => '', // check its value??\n page_requested_uri: () => propertyResolver(window.location.pathname.replace('.mi', '')),\n page_url_query_string: () => propertyResolver(window.location.search?.split('?')?.[1]),\n site_id: ({ pageProps }) => getEnvSiteId(pageProps),\n previous_page: () => getPreviousPageUrl(),\n};\n\n// Reading the datalayer attributes from master list and populating them from value generator function\n// if some key is present is master list but in generator function, picking up default value from master list\nconst getFilteredDataLayerValues = (\n datalayerAttrList: PersistentDatalayerAttributes,\n valueGenerator: ValueGenerators,\n sessionData: SessionData,\n pageProps: GlobalPageProps,\n includePiData: boolean\n) => {\n const akamaiLocationAttrs = getAkamaiLocationAttrs(sessionData?.data?.akamaiHeader);\n let datalayerObj = Object.entries(datalayerAttrList).reduce((acc: Record<string, string>, [key, defaultValue]) => {\n const value = valueGenerator[key]\n ? valueGenerator[key]({ sessionData, akamaiLocationAttrs, pageProps })\n : defaultValue;\n // remove empty values except the onces which can be empty in datalayer\n if (dataLayerCanBeNullList.includes(key) || value !== '') {\n acc[key as string] = value as string;\n }\n return acc;\n }, {});\n // adding PI data to acdl when includePiData is true\n if (includePiData) {\n const piDataLayerObj = populatePIdataLayer(sessionData);\n datalayerObj = { ...datalayerObj, ...piDataLayerObj };\n }\n\n // adding common datalayer keys and removing keys with empty values\n const commonKeysObj = Object.fromEntries(\n Object.entries(getCommonKeys(sessionData, pageProps))?.filter(([_, value]) => value !== '' && value != null)\n );\n\n if (!isEmpty(pageProps?.serverDataLayer)) {\n datalayerObj = { ...datalayerObj, ...pageProps?.serverDataLayer };\n }\n return { ...datalayerObj, ...commonKeysObj };\n};\n\nconst addMissingDataLayerElements = (\n newDataLayer: { [k: string]: string | number | boolean | undefined },\n options: DataLayerConstructionOptions\n) => {\n if (!options.fillMissingElements) {\n return newDataLayer;\n }\n const oldDataLayer = JSON.parse(window.sessionStorage.getItem('oldDataLayer') || '{}') as {\n [k: string]: string | number | boolean | undefined;\n };\n Object.keys(oldDataLayer).forEach(key => {\n if (\n !newDataLayer[key] &&\n ['undefined', 'string'].indexOf(typeof newDataLayer[key]) !== -1 &&\n dataLayerIgnoreList.indexOf(key) === -1\n ) {\n newDataLayer[key] = oldDataLayer[key];\n }\n });\n return newDataLayer;\n};\n\nexport type DataLayerConstructionOptions = {\n includeStaticElements: boolean;\n fillMissingElements: boolean;\n};\n\nexport const getDatalayerObject = (\n sessionData: SessionData,\n pageProps: GlobalPageProps,\n includePiData: boolean,\n options: DataLayerConstructionOptions = {\n includeStaticElements: true,\n fillMissingElements: true,\n }\n) => {\n const skipOldDatalayer = new URLSearchParams(window?.location?.search)?.get('skipOldDatalayer');\n // this is to identify list of datalayer keys that are migrated to ACDL object\n return addMissingDataLayerElements(\n getFilteredDataLayerValues(\n getDatalayerAttrList(pageProps),\n datalayerValueGenerator,\n sessionData,\n pageProps,\n includePiData\n ),\n { ...options, fillMissingElements: skipOldDatalayer === 'true' ? false : true }\n );\n};\n","import { canUseDOM, getEnvProp } from '../helpers';\nimport { logger } from '@marriott/shared/mi-helper-utils';\nimport type { DatalayerAttributes, PersistentDatalayerAttributes } from './types';\nimport Cookies from 'js-cookie';\n\nexport const EVENT_DRIVEN_DATALAYER = 'eventdriven';\n\nexport type DatalayerType = 'eventdriven' | 'traditional';\n\n/**\n * Return the current datalayer object from the window.\n */\nexport function getDataLayerData(type: DatalayerType): PersistentDatalayerAttributes | Record<string, unknown> {\n return canUseDOM && EVENT_DRIVEN_DATALAYER === type ? window?.dataLayer || {} : {};\n}\n\n/**\n * Normalize static attributes from the model json.\n */\nexport function normalizeModelAttributes(attributes?: DatalayerAttributes): Record<string, string> {\n if (!attributes) {\n return {};\n }\n return attributes?.reduce((acc: Record<string, string>, attr) => {\n if (attr.value && attr.value !== 'undefined' && attr.value !== null) {\n acc[attr.key as string] = attr.value as string;\n }\n return acc;\n }, {});\n}\n\nexport async function updateServerSession(options: {\n name: string;\n createOrUpdate: Record<string, unknown>;\n}): Promise<void> {\n const sessionId = Cookies.get('sessionID');\n const endpoint = getEnvProp('NEXT_PUBLIC_UPDATE_SESSION_ENDPOINT') || '';\n const { log } = logger({ requestID: '', sessionID: sessionId })(options.name);\n const sessionHeaders = new Headers();\n sessionHeaders.append('Content-Type', 'application/json');\n try {\n const response = await fetch(endpoint, {\n method: 'POST',\n headers: sessionHeaders,\n body: JSON.stringify({\n createOrUpdate: {\n ...options.createOrUpdate,\n clientTimeStamp: true,\n },\n }),\n });\n if (!response.ok) {\n throw new Error(`HTTP error updating session data! status: ${response.status}`);\n }\n const { data } = await response.json();\n return data;\n } catch (error) {\n log.error(`Error updating session for ${options.name}`, error);\n return Promise.reject(error);\n }\n}\n\n/**\n * Get the session data from the session app. This is also where we want to include logic to determine if we need to fetch the session data from the server or use the mock data.\n * the data in the first place.\n */\nexport async function getSessionStoreData(): Promise<Record<string, unknown>> {\n const endpoint = getEnvProp('NEXT_PUBLIC_GET_SESSION_ENDPOINT') || '';\n const { log } = logger({ requestID: '', sessionID: '' })('getServerSession');\n try {\n const response = await fetch(endpoint);\n if (!response.ok) {\n throw new Error(`HTTP error retrieving session data! status: ${response.status}`);\n }\n const {\n cacheData: { data: nestedSessionData },\n } = await response.json();\n const xRequestId = response?.headers?.get('x-request-id');\n return Promise.resolve({ data: { ...nestedSessionData, ...(xRequestId && { 'x-request-id': xRequestId }) } });\n } catch (error) {\n log.error(`Error updating session for ${'fetch session data'}`, error);\n return Promise.reject(error);\n }\n}\n","/* eslint-disable @typescript-eslint/ban-ts-comment */\n/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { produce } from 'immer';\nimport merge from 'lodash/merge';\nimport type { SessionData } from './types';\nimport { StateStorage } from 'zustand/middleware';\nimport { getSessionStoreData, updateServerSession } from './session-utils';\nimport { createAppStore } from '@marriott/mi-store-utils';\nimport { getEnvProp } from '../helpers';\nimport { logger } from '@marriott/shared/mi-helper-utils';\n\nexport type UserSessionActions = {\n updateSession: (data: SessionData) => void;\n setSyncedWithServer: (synced: boolean) => void;\n};\n\nexport type UserSessionState = {\n // stored user session attributes\n session: SessionData;\n syncedWithServer: boolean;\n};\n\nexport type SessionStoreStr = {\n state: UserSessionState;\n version: number;\n};\n\nlet serverData: SessionData | null = null;\n// fallback when server LastUpdated is not available\nconst largestTimeStamp = 999999999999999;\nconst initialState: UserSessionState = {\n session: {},\n syncedWithServer: false,\n};\n\nexport const serverSyncLocalStorage: StateStorage = {\n setItem(name, value) {\n const valueObj = JSON.parse(value) as SessionStoreStr;\n const lastUpdatedNumber = Number(serverData?.data?.lastUpdated);\n // if server data timestamp is behind the session store timestamp, push to server\n if (\n lastUpdatedNumber < Number(valueObj?.state?.session?.data?.lastUpdated) &&\n lastUpdatedNumber !== largestTimeStamp &&\n valueObj?.state?.syncedWithServer === false\n ) {\n // push to server\n updateServerSession({\n createOrUpdate: {\n ...valueObj.state.session.data,\n },\n name: 'SyncServerPush',\n });\n }\n\n window.localStorage.setItem(name, value);\n },\n getItem(name) {\n const sessionStr: SessionStoreStr = JSON.parse(\n window.localStorage.getItem(name) ||\n JSON.stringify({\n version: 0,\n state: {\n ...initialState,\n },\n })\n ) as SessionStoreStr;\n\n return JSON.stringify({\n ...sessionStr,\n state: {\n ...sessionStr.state,\n syncedWithServer: false, // set to false on initial load\n },\n });\n },\n removeItem(name) {\n window.localStorage.removeItem(name);\n },\n};\n\n// @ts-ignore - error TS2347: Untyped function calls may not accept type arguments.\nexport const useUserSessionStore = createAppStore<UserSessionState & UserSessionActions>(\n // @ts-ignore - error TS7006: Parameter 'set' implicitly has an 'any' type.\n set => ({\n ...{ initialState },\n setSyncedWithServer: (synced: boolean) => {\n set(\n (state: UserSessionState) =>\n produce(state, (draft: UserSessionState) => {\n draft.syncedWithServer = synced;\n }),\n false,\n // @ts-ignore - provide a action name for devtools\n 'SessionServerSync'\n );\n },\n updateSession: (data: SessionData) => {\n set(\n (state: UserSessionState) =>\n produce(state, (draft: UserSessionState) => {\n merge(draft, {\n session: {\n data: {\n ...data.data,\n lastUpdated:\n data.data?.lastUpdated && data.data?.lastUpdated !== String(largestTimeStamp)\n ? data.data?.lastUpdated\n : String(Date.now()),\n },\n },\n });\n }),\n false,\n // @ts-ignore - provide a action name for devtools\n 'UpdateSession'\n );\n },\n }),\n {\n usePersistentStore: true,\n persistentStoreName: 'mi-session-store',\n devToolsName: 'mi-session-store',\n customStorage: serverSyncLocalStorage,\n onRehydrateStorage: async (state: UserSessionState & UserSessionActions) => {\n const { log } = logger({ requestID: '', sessionID: state?.session?.data?.sessionToken })('UserSessionStore');\n if (\n typeof window === 'undefined' ||\n getEnvProp('NEXT_PUBLIC_ENABLE_WEBSDK') !== 'true' ||\n String(window.__NEXT_DATA__?.props?.['pageProps']?.model?.enableWebSDK) !== 'true'\n ) {\n return;\n }\n const browserDataStr = window.localStorage.getItem('mi-session-store');\n let browserData: SessionStoreStr = {} as SessionStoreStr;\n try {\n browserData = JSON.parse(browserDataStr || '{}') as SessionStoreStr;\n } catch (e) {\n log.warn('Unable to parse session store data', e);\n }\n if (!serverData) {\n try {\n const sessionStoreData = await getSessionStoreData();\n serverData = sessionStoreData as SessionData;\n if (serverData.data) {\n serverData.data.lastUpdated = (Number(serverData.data?.lastUpdated) || largestTimeStamp).toString();\n }\n const browserTimeStamp = Number(browserData.state?.session?.data?.lastUpdated) || 0;\n const serverTimeStamp = Number(serverData.data?.lastUpdated);\n log.info('Checking timestamps for session update', browserTimeStamp, serverTimeStamp);\n state.setSyncedWithServer(true);\n if (browserTimeStamp < serverTimeStamp) {\n state.updateSession({\n ...browserData?.state?.session,\n ...serverData,\n data: {\n ...serverData.data,\n lastUpdated: serverTimeStamp !== largestTimeStamp ? String(serverTimeStamp) : String(Date.now()),\n },\n });\n log.info('Updating session state with server data');\n state.setSyncedWithServer(true);\n } else {\n log.info('Client has latest session data, skipping update');\n state.setSyncedWithServer(true);\n }\n } catch (error) {\n log.error('Error fetching session data', error);\n }\n }\n },\n }\n);\n","import { getEnvProp } from '../helpers';\nimport { logger } from '@marriott/shared/mi-helper-utils';\n\nexport async function getMvpOffersData(resolvedUrl: string, currentLocale: string) {\n const endpoint = getEnvProp('NEXT_PUBLIC_GET_MVPOFFERS_ENDPOINT') || '';\n const { log } = logger({})('getMvpOffersData');\n try {\n const response = await fetch(endpoint, {\n method: 'GET',\n headers: {\n PageURI: resolvedUrl,\n locale: currentLocale?.split('-')?.[1],\n },\n });\n if (!response.ok) {\n throw new Error(`HTTP error in mvp offers! status: ${response.status}`);\n }\n const data = await response.json();\n return data;\n } catch (error) {\n log.error(`Error fetching MVP offers`, error);\n return Promise.reject(error);\n }\n}\n","import { createContext, useContext, useEffect, useState } from 'react';\nimport { getDatalayerObject } from '../dataLayer/datalayerUtil';\nimport { useUserSessionStore, UserSessionState, UserSessionActions } from './user-session-store';\nimport { logger } from '../logger';\nimport { useClientEnvVarsStore } from '@marriott/mi-store-utils';\nimport { GlobalPageProps, SessionData } from './types';\nimport { isEmpty } from '@marriott/shared/mi-helper-utils';\nimport { getMvpOffersData } from '../mvpOffers/mvpOffersUtils';\n\ndeclare global {\n interface Window {\n adobeDataLayer: {\n [key: number]: {\n event: string;\n data: Record<string, unknown>;\n };\n version: number;\n push: (event: { event: string; data: Record<string, unknown> }) => void;\n getState: () => Record<string, unknown>;\n addEventListener: (type: string, listener: EventListenerOrEventListenerObject) => void;\n removeEventListener: (type: string, listener: EventListenerOrEventListenerObject) => void;\n };\n }\n}\n\ntype UserSessionProvider = {\n pageProps: GlobalPageProps; // @fixme: this is way too much stuff to pass around\n includePiData?: boolean; // flag to check if PI data needs to be included in datalayer or not\n /* Children to render */\n children: React.ReactNode;\n};\n\nexport type DataLayerEvent = {\n skipDatalayerUpdate?: boolean;\n event: string;\n data: Record<string, unknown>;\n};\n\nexport type MvpOffersData = {\n specialMessage?: string;\n offerCode?: string;\n eventInfo?: string;\n placementGroup?: string;\n rpcCode?: string;\n offerIdentifier?: string;\n source?: string;\n};\n\nexport type UserSessionContextType = {\n session: SessionData;\n mvpOffers?: MvpOffersData;\n datalayer?: Record<string, unknown>;\n updateSession: (sessionData: SessionData) => void;\n updateDatalayer: (eventData: DataLayerEvent) => void;\n getDatalayer: () => Record<string, unknown> | null;\n syncedWithServer: boolean;\n};\n\nconst UserSessionContext = createContext<UserSessionContextType>({\n session: {},\n updateSession: () => {},\n updateDatalayer: () => {},\n getDatalayer: () => null,\n syncedWithServer: false,\n});\n\nUserSessionContext.displayName = 'UserSessionContext';\n\n/**\n * Provider to manage user session data and sync with server on initial load and updates.\n */\nexport function UserSessionProvider({\n pageProps,\n includePiData = false,\n children,\n}: React.PropsWithChildren<UserSessionProvider>) {\n const { log } = logger({})('UserSessionProvider');\n const [datalayer, setDatalayer] = useState<Record<string, unknown>>();\n const [mvpOffers, setMvpOffers] = useState<MvpOffersData>();\n const [isCompleted, setIsCompleted] = useState<boolean>(false);\n const session = useUserSessionStore(state => state.session);\n const updateSessionStore = useUserSessionStore(state => state.updateSession);\n const syncedWithServer = useUserSessionStore(\n (state: UserSessionState & UserSessionActions) => state.syncedWithServer\n );\n\n const envVarsObject = useClientEnvVarsStore(state => state.envVarsObject);\n\n const updateDatalayer = (payload: DataLayerEvent) => {\n log.info('pushing to adobeDataLayer', payload);\n window.adobeDataLayer?.push(payload);\n log.info('updating the session datalayer', payload);\n if (!payload.skipDatalayerUpdate) {\n setDatalayer(state => ({ ...state, ...payload.data }));\n }\n };\n\n const getDatalayer = () => {\n return window.adobeDataLayer?.getState();\n };\n\n const updateSession = (sessionData: SessionData) => {\n updateDatalayer({\n event: 'dataLayerUpdated',\n data: getDatalayerObject(sessionData, pageProps, includePiData),\n });\n updateSessionStore(sessionData);\n };\n\n /**\n * Load datalayer data from window object if available.\n */\n useEffect(() => {\n // @todo: for backward compatibility support, should be removed once all apps are using web sdk\n if (!isEmpty(window.dataLayer)) {\n log.info('loading datalayer data from window', window.dataLayer);\n setDatalayer(window.dataLayer);\n }\n }, []);\n\n /**\n * Load MVP offers data from service or window object if available.\n */\n useEffect(() => {\n if (isEmpty(envVarsObject)) {\n return;\n }\n // @todo: for backward compatibility support, should be removed once all apps have enabled prequal call\n if (!isEmpty(window.mvpOffers)) {\n log.info('loading mvp offers data from window', window.mvpOffers);\n setMvpOffers(window.mvpOffers);\n setIsCompleted(true);\n return;\n }\n if (!envVarsObject['NEXT_PUBLIC_ENABLE_WEBSDK'] || String(pageProps?.model?.enableWebSDK) !== 'true') {\n log.info('web sdk is not enabled');\n setIsCompleted(true);\n return;\n }\n if (!envVarsObject['NEXT_PUBLIC_ENABLE_PREQUAL']) {\n log.info('prequal is not enabled');\n setIsCompleted(true);\n return;\n }\n // fetch mvp offers data from service\n (async () => {\n try {\n const { resolvedUrl, currentLocale } = pageProps;\n const mvpOffersData = await getMvpOffersData(resolvedUrl, currentLocale);\n log.info('loading mvp offers data from service', mvpOffersData);\n // @todo: for backward compatibility support, should be removed once all apps are using web sdk\n window.mvpOffers = mvpOffersData;\n setMvpOffers(mvpOffersData);\n } catch (error) {\n log.error('Error loading mvp offers data from service', error);\n } finally {\n setIsCompleted(true);\n }\n })();\n }, [JSON.stringify(envVarsObject)]);\n\n /**\n * Initialize the dataLayer with session data and mvpOffers data.\n */\n useEffect(() => {\n const initialize = async () => {\n try {\n log.info('UserSessionProvider init!');\n updateDatalayer({\n event: 'dataLayerLoaded',\n data: getDatalayerObject(session, pageProps, includePiData),\n });\n } catch (error) {\n log.error('Error updating dataLayer', error);\n }\n };\n const isEnableWebSDK = envVarsObject?.['NEXT_PUBLIC_ENABLE_WEBSDK'];\n if (isEnableWebSDK && syncedWithServer && isCompleted) {\n initialize();\n }\n }, [syncedWithServer, isCompleted]);\n\n const contextValue = {\n session,\n datalayer,\n mvpOffers,\n updateSession,\n updateDatalayer,\n getDatalayer,\n syncedWithServer,\n };\n return <UserSessionContext.Provider value={contextValue}>{children}</UserSessionContext.Provider>;\n}\n\nexport function useSession() {\n const context = useContext(UserSessionContext);\n if (context === undefined) {\n throw new Error('useSession must be used within a UserSessionProvider');\n }\n return context;\n}\n","let LoggerClass;\n\nconst config = {\n MI_LOG_LEVEL: 'DEBUG', // will be override by ENV variable\n PERF_LOGGING_ENABLED: 'true',\n};\n\n// process.browser is deprecated, checking if clientside using window object\nif (typeof window !== 'undefined') {\n LoggerClass = class Logger {\n constructor(identifiers) {\n this.identifiers = identifiers;\n }\n\n getLogger(loggerName) {\n const enableLogger = () => {\n const LOGS_ENABLED = localStorage.getItem('ENABLE_LOGS') === 'true';\n return LOGS_ENABLED;\n };\n return {\n log: (...args) => {\n if (enableLogger()) {\n console.log('%s | %s | LOG |', loggerName, this.getTimeStampFormat(), ...args);\n }\n },\n warn: (...args) => {\n if (enableLogger()) {\n console.warn('%s | %s | WARN |', loggerName, this.getTimeStampFormat(), ...args);\n }\n },\n info: (...args) => {\n if (enableLogger()) {\n console.info('%s | %s | INFO |', loggerName, this.getTimeStampFormat(), ...args);\n }\n },\n error: (...args) => {\n if (enableLogger()) {\n console.error('%s | %s | ERROR |', loggerName, this.getTimeStampFormat(), ...args);\n }\n },\n debug: (...args) => {\n if (enableLogger()) {\n console.debug('%s | %s | DEBUG |', loggerName, this.getTimeStampFormat(), ...args);\n }\n },\n };\n // }\n }\n\n /**\n * Achieve the following format for timestamp:\n * 2017-05-23 11:35:43.673\n *\n * @returns {String} Formatted Date string\n */\n getTimeStampFormat() {\n return new Date().toISOString().replace('Z', '').split('T').join(' ');\n }\n };\n} else {\n // server side logic\n /* eslint-disable global-require */\n const os = require('os');\n const Winston = require('winston');\n const { createLogger, format, transports } = Winston;\n const { combine, timestamp, label, errors, printf } = format;\n /* eslint-enable global-require */\n\n /**\n\n * Logger class to fetch instances for logging with custom formatting enabled\n\n */\n\n LoggerClass = class Logger {\n constructor(requestIdentifiers) {\n this.logPrefix = this.getLogPrefix();\n this.requestIdString = this.getRequestIdentifierString(requestIdentifiers || {});\n }\n\n /**\n * Get the prefix for the log statement containing the log prefix from environment\n * (if available) and the hostname\n *\n * @returns {String} Prefix for the logging statement\n */\n getLogPrefix() {\n const hostName = os.hostname().toUpperCase();\n const logPrefix = process.env.LOG_PREFIX;\n\n return logPrefix ? `${logPrefix}|${hostName}` : hostName;\n }\n\n /**\n * Get the request identifier string for the log statement\n * consisting of the session id and the request id\n *\n * @param {Object} requestIdentifiers Request identifiers as received in the constructor\n * @returns {String} String consisting of session id and request id as available\n */\n getRequestIdentifierString(requestIdentifiers) {\n let requestIdString = '';\n const { sessionID, requestID } = requestIdentifiers;\n\n if (sessionID && requestID) {\n requestIdString += sessionID ? ` [SESSION ID: ${sessionID}]` : '';\n requestIdString += requestID ? ` [REQUEST ID: ${requestID}]` : '';\n }\n\n return requestIdString;\n }\n\n /**\n * Achieve the following format for timestamp:\n * 2017-05-23 11:35:43.673\n *\n * @returns {String} Formatted Date string\n */\n getTimeStampFormat() {\n return new Date().toISOString().replace('Z', '').split('T').join(' ');\n }\n\n /**\n * Achieve the following format for the log statement:\n * 2017-05-23 12:25:54.292 [<LOG_PREFIX>] [SESSION ID: <SESSION_ID>] [REQUEST ID: <REQUEST_ID>] [<LOG_LEVEL>] [<LOGGER_NAME>] - <MESSAGE>\n *\n * @param {Object} options Winston options for custom formatting\n * @returns {String} Custom logging format\n */\n // getFormatterString(options) {\n // return `|LOG_LINE| ${options.timestamp()} [${options.level.toUpperCase()}] [${this.logPrefix}]${this.requestIdString} [${this.loggerName}] - ${options.message ? options.message : ''}`;\n // }\n\n getFormatterString = printf(\n ({\n // eslint-disable-next-line no-shadow\n level,\n message,\n label,\n timestamp,\n stack,\n }) =>\n `|LOG_LINE| ${timestamp} [${level.toUpperCase()}] [${this.logPrefix}]${this.requestIdString} [${label}] - ${\n message || ''\n } ${stack || ''}`\n );\n\n /**\n * Get the logger instance with request identifiers as part of formatter\n *\n * @param {String} loggerName Name to identify the log initiator\n */\n getLogger(loggerName) {\n return createLogger({\n level: (process.env.MI_LOG_LEVEL ?? config.MI_LOG_LEVEL).toLowerCase(),\n format: combine(\n label({ label: loggerName }),\n timestamp({\n format: this.getTimeStampFormat,\n }),\n errors({ stack: true }),\n this.getFormatterString\n ),\n transports: [new transports.Console()],\n });\n }\n };\n}\n\n/**\n * Constructor for PerfLogger\n *\n * @param {Object} logger Logger instance to be used\n * @constructor\n */\nclass PerfLogger {\n constructor(log) {\n this.logger = log;\n // turn on/off perf logging\n this.isPerfLoggingEnabled = (process.env.PERF_LOGGING_ENABLED || config.PERF_LOGGING_ENABLED) === 'true';\n }\n\n /**\n * End and return the ops time\n *\n * @param {String} start Perf logging start time\n * @param {Number} end Perf logging end time\n * @returns {Number} Time difference for ops involved\n * @private\n */\n getOpsTime(start, end) {\n return ((end - start) / 1000).toFixed(3);\n }\n\n /**\n * End timer and log response time\n *\n * @param {String} message Primary message for logger\n * @param {Number} start Perf logging start time\n * @param {Number} end Perf logging end time\n */\n log(message, start, end) {\n if (!this.isPerfLoggingEnabled) return;\n\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n const self = this;\n process.nextTick(() => {\n self.logger.error(`[PERFLOG] ${message} ${self.getOpsTime(start, end)} secs.`);\n });\n }\n}\n\nexport const logger = ids => loggerName => {\n const log = new LoggerClass(ids).getLogger(loggerName);\n return {\n log,\n pLog: new PerfLogger(log),\n };\n};\n","//method to check if Object is empty\nimport { randomBytes } from 'crypto';\nimport moment from 'moment';\nimport { CN_FLEXIBLE_FORMAT_YEAR_MONTH } from './constants';\n\nexport const isEmpty = (value?: object): boolean => (value ? Object.keys(value).length === 0 : true);\n\nexport const canUseDOM = !!(typeof window !== 'undefined' && window.document);\n\nexport enum AuthStateEnum {\n UN_AUTHENTICATED = 'unauthenticated',\n REMEMBERED = 'remembered',\n AUTHENTICATED = 'authenticated',\n ATTEMPTED_SIGNIN = 'attemptedSignIn',\n DATALAYER_AUTHENTICATION_CHECK_VALUE = 'mr_prof_authentication_state',\n}\n\n/**\n * convertToCommaSeparatedNumber\n *\n * the function takes the number and converts the number into comma separated number and returns the number as a string.\n *\n * @param number - The number that has to be formatted to a localized number format.\n * @param locale - The string : locale for specific region.\n * @returns localized number format of the number that is passed based on the locale param.\n * */\nexport function convertToCommaSeparatedNumber(number: number, locale = 'en-US'): string {\n return new Intl.NumberFormat(locale).format(number);\n}\n\nexport function atGetCookie(cname: string) {\n const name = cname + '=',\n decodedCookie = decodeURIComponent(document.cookie),\n cookeArray = decodedCookie.split(';');\n for (let i = 0; i < cookeArray.length; i++) {\n let cookie = cookeArray[i];\n while (cookie.charAt(0) === ' ') {\n cookie = cookie.substring(1);\n }\n if (cookie.indexOf(name) === 0) {\n return cookie.substring(name.length, cookie.length);\n }\n }\n return '';\n}\n\n// Check if AEM Preview mode then check for wcmmode query parameter and return flag\nexport const getWCMModeFlagValue = () => {\n if (typeof window !== 'undefined') {\n const pathName = window?.location?.href;\n const paramWcmMode = pathName.includes('?') ? pathName.split('?') : '';\n const isWCM = paramWcmMode.includes('wcmmode=disabled');\n return isWCM;\n } else {\n return false;\n }\n};\n\n/**\n * Validates a string as non-empty\n *\n * @param str Value to be checked for truthiness, string type, and non-empty\n * @returns boolean\n */\nexport const isNonEmptyString = (str: unknown): boolean => {\n return !!str && typeof str == 'string' && str.replace(/\\s+/g, '').length > 0;\n};\n\nexport const generateRandomNumber = () => {\n if (window && window?.crypto) {\n const array = new Uint32Array(1);\n window.crypto.getRandomValues(array);\n return array[0] / 0xffffffff;\n } else {\n const randomBytesBuffer = randomBytes(4);\n // Convert to a float between 0 and 1\n return randomBytesBuffer.readUInt32LE(0) / 0xffffffff;\n }\n};\n\n/**\n * Formats a month and year into a Chinese month title string using the\n * specified format `CN_FLEXIBLE_FORMAT_YEAR_MONTH`.\n *\n * @param {Object} params - The parameters object containing the month and year values.\n * @param {number} [params.month] - The month to be formatted. This is zero-indexed (0 = January, 11 = December).\n * @param {number} [params.year] - The year to be formatted.\n *\n * @returns {string} - The formatted month and year string in Chinese format.\n *\n * @example\n * // Returns a string like \"2023å¹´ 8月\" if the format is 'YYYYå¹´ M月'\n * const formattedTitle = formatMonthTitleCN({ month: 7, year: 2023 });\n */\nexport const formatMonthTitleCN = ({ month, year }: { month?: number; year?: number }): string => {\n return moment({ month, year }).format(CN_FLEXIBLE_FORMAT_YEAR_MONTH);\n};\n\n/**\n * Function to replace any json key (oldKey) with another key (newKey)\n * @param obj - model\n * @param oldKey - appliedCssClassName\n * @param newKey - styleClass\n * @returns\n */\nexport const replaceKeyInJson = (obj: object, oldKey: string, newKey: string): object => {\n if (obj && typeof obj === 'object') {\n if (Array.isArray(obj)) {\n return obj.map(item => replaceKeyInJson(item, oldKey, newKey));\n }\n\n return Object.fromEntries(\n Object.entries(obj).map(([key, value]) => [\n key === oldKey ? newKey : key,\n replaceKeyInJson(value, oldKey, newKey),\n ])\n );\n }\n return obj; // Return non-object values as-is\n};\n","import { StateCreator } from 'zustand';\nimport { createAppStore } from './zustand';\nimport { produce } from 'immer';\n\ninterface EnvVarsType {\n [ENV_VAR: string]: string;\n}\n\ninterface EnvVarsState {\n envVarsObject: EnvVarsType;\n}\n\ninterface EnvVarsActions {\n mergeEnvVars: (envVars: EnvVarsType) => void;\n updateEnvVar: (key: string, value: string) => void;\n setEnvVars: (envVars: EnvVarsType) => void;\n}\n\nconst initialState: EnvVarsState = {\n envVarsObject: {},\n};\n\nexport const clientEnvVarsStore: StateCreator<EnvVarsState & EnvVarsActions> = (set, get) => {\n return {\n ...initialState,\n mergeEnvVars: (envVars: EnvVarsType) => {\n set(state => ({\n envVarsObject: {\n ...state.envVarsObject,\n ...envVars,\n },\n }));\n },\n setEnvVars: (envVars: EnvVarsType) => {\n set({ envVarsObject: { ...envVars } });\n if (!Object.keys(get().envVarsObject).length) set({ envVarsObject: { ...envVars } });\n },\n updateEnvVar: (key: string, value: string) => {\n set(produce(draft => void (draft.envVarsObject[key] = value))); // @see https://immerjs.github.io/immer/return/#inline-shortcuts-using-void\n },\n };\n};\n\nexport const useClientEnvVarsStore = createAppStore(clientEnvVarsStore, {\n usePersistentStore: false,\n});\n","const reduxImpl = (reducer, initial) => (set, _get, api) => {\n api.dispatch = (action) => {\n set((state) => reducer(state, action), false, action);\n return action;\n };\n api.dispatchFromDevtools = true;\n return { dispatch: (...a) => api.dispatch(...a), ...initial };\n};\nconst redux = reduxImpl;\n\nconst trackedConnections = /* @__PURE__ */ new Map();\nconst getTrackedConnectionState = (name) => {\n const api = trackedConnections.get(name);\n if (!api) return {};\n return Object.fromEntries(\n Object.entries(api.stores).map(([key, api2]) => [key, api2.getState()])\n );\n};\nconst extractConnectionInformation = (store, extensionConnector, options) => {\n if (store === void 0) {\n return {\n type: \"untracked\",\n connection: extensionConnector.connect(options)\n };\n }\n const existingConnection = trackedConnections.get(options.name);\n if (existingConnection) {\n return { type: \"tracked\", store, ...existingConnection };\n }\n const newConnection = {\n connection: extensionConnector.connect(options),\n stores: {}\n };\n trackedConnections.set(options.name, newConnection);\n return { type: \"tracked\", store, ...newConnection };\n};\nconst devtoolsImpl = (fn, devtoolsOptions = {}) => (set, get, api) => {\n const { enabled, anonymousActionType, store, ...options } = devtoolsOptions;\n let extensionConnector;\n try {\n extensionConnector = (enabled != null ? enabled : (import.meta.env ? import.meta.env.MODE : void 0) !== \"production\") && window.__REDUX_DEVTOOLS_EXTENSION__;\n } catch (_e) {\n }\n if (!extensionConnector) {\n if ((import.meta.env ? import.meta.env.MODE : void 0) !== \"production\" && enabled) {\n console.warn(\n \"[zustand devtools middleware] Please install/enable Redux devtools extension\"\n );\n }\n return fn(set, get, api);\n }\n const { connection, ...connectionInformation } = extractConnectionInformation(store, extensionConnector, options);\n let isRecording = true;\n api.setState = (state, replace, nameOrAction) => {\n const r = set(state, replace);\n if (!isRecording) return r;\n const action = nameOrAction === void 0 ? { type: anonymousActionType || \"anonymous\" } : typeof nameOrAction === \"string\" ? { type: nameOrAction } : nameOrAction;\n if (store === void 0) {\n connection == null ? void 0 : connection.send(action, get());\n return r;\n }\n connection == null ? void 0 : connection.send(\n {\n ...action,\n type: `${store}/${action.type}`\n },\n {\n ...getTrackedConnectionState(options.name),\n [store]: api.getState()\n }\n );\n return r;\n };\n const setStateFromDevtools = (...a) => {\n const originalIsRecording = isRecording;\n isRecording = false;\n set(...a);\n isRecording = originalIsRecording;\n };\n const initialState = fn(api.setState, get, api);\n if (connectionInformation.type === \"untracked\") {\n connection == null ? void 0 : connection.init(initialState);\n } else {\n connectionInformation.stores[connectionInformation.store] = api;\n connection == null ? void 0 : connection.init(\n Object.fromEntries(\n Object.entries(connectionInformation.stores).map(([key, store2]) => [\n key,\n key === connectionInformation.store ? initialState : store2.getState()\n ])\n )\n );\n }\n if (api.dispatchFromDevtools && typeof api.dispatch === \"function\") {\n let didWarnAboutReservedActionType = false;\n const originalDispatch = api.dispatch;\n api.dispatch = (...a) => {\n if ((import.meta.env ? import.meta.env.MODE : void 0) !== \"production\" && a[0].type === \"__setState\" && !didWarnAboutReservedActionType) {\n console.warn(\n '[zustand devtools middleware] \"__setState\" action type is reserved to set state from the devtools. Avoid using it.'\n );\n didWarnAboutReservedActionType = true;\n }\n originalDispatch(...a);\n };\n }\n connection.subscribe((message) => {\n var _a;\n switch (message.type) {\n case \"ACTION\":\n if (typeof message.payload !== \"string\") {\n console.error(\n \"[zustand devtools middleware] Unsupported action format\"\n );\n return;\n }\n return parseJsonThen(\n message.payload,\n (action) => {\n if (action.type === \"__setState\") {\n if (store === void 0) {\n setStateFromDevtools(action.state);\n return;\n }\n if (Object.keys(action.state).length !== 1) {\n console.error(\n `\n [zustand devtools middleware] Unsupported __setState action format. \n When using 'store' option in devtools(), the 'state' should have only one key, which is a value of 'store' that was passed in devtools(),\n and value of this only key should be a state object. Example: { \"type\": \"__setState\", \"state\": { \"abc123Store\": { \"foo\": \"bar\" } } }\n `\n );\n }\n const stateFromDevtools = action.state[store];\n if (stateFromDevtools === void 0 || stateFromDevtools === null) {\n return;\n }\n if (JSON.stringify(api.getState()) !== JSON.stringify(stateFromDevtools)) {\n setStateFromDevtools(stateFromDevtools);\n }\n return;\n }\n if (!api.dispatchFromDevtools) return;\n if (typeof api.dispatch !== \"function\") return;\n api.dispatch(action);\n }\n );\n case \"DISPATCH\":\n switch (message.payload.type) {\n case \"RESET\":\n setStateFromDevtools(initialState);\n if (store === void 0) {\n return connection == null ? void 0 : connection.init(api.getState());\n }\n return connection == null ? void 0 : connection.init(getTrackedConnectionState(options.name));\n case \"COMMIT\":\n if (store === void 0) {\n connection == null ? void 0 : connection.init(api.getState());\n return;\n }\n return connection == null ? void 0 : connection.init(getTrackedConnectionState(options.name));\n case \"ROLLBACK\":\n return parseJsonThen(message.state, (state) => {\n if (store === void 0) {\n setStateFromDevtools(state);\n connection == null ? void 0 : connection.init(api.getState());\n return;\n }\n setStateFromDevtools(state[store]);\n connection == null ? void 0 : connection.init(getTrackedConnectionState(options.name));\n });\n case \"JUMP_TO_STATE\":\n case \"JUMP_TO_ACTION\":\n return parseJsonThen(message.state, (state) => {\n if (store === void 0) {\n setStateFromDevtools(state);\n return;\n }\n if (JSON.stringify(api.getState()) !== JSON.stringify(state[store])) {\n setStateFromDevtools(state[store]);\n }\n });\n case \"IMPORT_STATE\": {\n const { nextLiftedState } = message.payload;\n const lastComputedState = (_a = nextLiftedState.computedStates.slice(-1)[0]) == null ? void 0 : _a.state;\n if (!lastComputedState) return;\n if (store === void 0) {\n setStateFromDevtools(lastComputedState);\n } else {\n setStateFromDevtools(lastComputedState[store]);\n }\n connection == null ? void 0 : connection.send(\n null,\n // FIXME no-any\n nextLiftedState\n );\n return;\n }\n case \"PAUSE_RECORDING\":\n return isRecording = !isRecording;\n }\n return;\n }\n });\n return initialState;\n};\nconst devtools = devtoolsImpl;\nconst parseJsonThen = (stringified, f) => {\n let parsed;\n try {\n parsed = JSON.parse(stringified);\n } catch (e) {\n console.error(\n \"[zustand devtools middleware] Could not parse the received json\",\n e\n );\n }\n if (parsed !== void 0) f(parsed);\n};\n\nconst subscribeWithSelectorImpl = (fn) => (set, get, api) => {\n const origSubscribe = api.subscribe;\n api.subscribe = (selector, optListener, options) => {\n let listener = selector;\n if (optListener) {\n const equalityFn = (options == null ? void 0 : options.equalityFn) || Object.is;\n let currentSlice = selector(api.getState());\n listener = (state) => {\n const nextSlice = selector(state);\n if (!equalityFn(currentSlice, nextSlice)) {\n const previousSlice = currentSlice;\n optListener(currentSlice = nextSlice, previousSlice);\n }\n };\n if (options == null ? void 0 : options.fireImmediately) {\n optListener(currentSlice, currentSlice);\n }\n }\n return origSubscribe(listener);\n };\n const initialState = fn(set, get, api);\n return initialState;\n};\nconst subscribeWithSelector = subscribeWithSelectorImpl;\n\nconst combine = (initialState, create) => (...a) => Object.assign({}, initialState, create(...a));\n\nfunction createJSONStorage(getStorage, options) {\n let storage;\n try {\n storage = getStorage();\n } catch (_e) {\n return;\n }\n const persistStorage = {\n getItem: (name) => {\n var _a;\n const parse = (str2) => {\n if (str2 === null) {\n return null;\n }\n return JSON.parse(str2, options == null ? void 0 : options.reviver);\n };\n const str = (_a = storage.getItem(name)) != null ? _a : null;\n if (str instanceof Promise) {\n return str.then(parse);\n }\n return parse(str);\n },\n setItem: (name, newValue) => storage.setItem(\n name,\n JSON.stringify(newValue, options == null ? void 0 : options.replacer)\n ),\n removeItem: (name) => storage.removeItem(name)\n };\n return persistStorage;\n}\nconst toThenable = (fn) => (input) => {\n try {\n const result = fn(input);\n if (result instanceof Promise) {\n return result;\n }\n return {\n then(onFulfilled) {\n return toThenable(onFulfilled)(result);\n },\n catch(_onRejected) {\n return this;\n }\n };\n } catch (e) {\n return {\n then(_onFulfilled) {\n return this;\n },\n catch(onRejected) {\n return toThenable(onRejected)(e);\n }\n };\n }\n};\nconst oldImpl = (config, baseOptions) => (set, get, api) => {\n let options = {\n getStorage: () => localStorage,\n serialize: JSON.stringify,\n deserialize: JSON.parse,\n partialize: (state) => state,\n version: 0,\n merge: (persistedState, currentState) => ({\n ...currentState,\n ...persistedState\n }),\n ...baseOptions\n };\n let hasHydrated = false;\n const hydrationListeners = /* @__PURE__ */ new Set();\n const finishHydrationListeners = /* @__PURE__ */ new Set();\n let storage;\n try {\n storage = options.getStorage();\n } catch (_e) {\n }\n if (!storage) {\n return config(\n (...args) => {\n console.warn(\n `[zustand persist middleware] Unable to update item '${options.name}', the given storage is currently unavailable.`\n );\n set(...args);\n },\n get,\n api\n );\n }\n const thenableSerialize = toThenable(options.serialize);\n const setItem = () => {\n const state = options.partialize({ ...get() });\n let errorInSync;\n const thenable = thenableSerialize({ state, version: options.version }).then(\n (serializedValue) => storage.setItem(options.name, serializedValue)\n ).catch((e) => {\n errorInSync = e;\n });\n if (errorInSync) {\n throw errorInSync;\n }\n return thenable;\n };\n const savedSetState = api.setState;\n api.setState = (state, replace) => {\n savedSetState(state, replace);\n void setItem();\n };\n const configResult = config(\n (...args) => {\n set(...args);\n void setItem();\n },\n get,\n api\n );\n let stateFromStorage;\n const hydrate = () => {\n var _a;\n if (!storage) return;\n hasHydrated = false;\n hydrationListeners.forEach((cb) => cb(get()));\n const postRehydrationCallback = ((_a = options.onRehydrateStorage) == null ? void 0 : _a.call(options, get())) || void 0;\n return toThenable(storage.getItem.bind(storage))(options.name).then((storageValue) => {\n if (storageValue) {\n return options.deserialize(storageValue);\n }\n }).then((deserializedStorageValue) => {\n if (deserializedStorageValue) {\n if (typeof deserializedStorageValue.version === \"number\" && deserializedStorageValue.version !== options.version) {\n if (options.migrate) {\n return options.migrate(\n deserializedStorageValue.state,\n deserializedStorageValue.version\n );\n }\n console.error(\n `State loaded from storage couldn't be migrated since no migrate function was provided`\n );\n } else {\n return deserializedStorageValue.state;\n }\n }\n }).then((migratedState) => {\n var _a2;\n stateFromStorage = options.merge(\n migratedState,\n (_a2 = get()) != null ? _a2 : configResult\n );\n set(stateFromStorage, true);\n return setItem();\n }).then(() => {\n postRehydrationCallback == null ? void 0 : postRehydrationCallback(stateFromStorage, void 0);\n hasHydrated = true;\n finishHydrationListeners.forEach((cb) => cb(stateFromStorage));\n }).catch((e) => {\n postRehydrationCallback == null ? void 0 : postRehydrationCallback(void 0, e);\n });\n };\n api.persist = {\n setOptions: (newOptions) => {\n options = {\n ...options,\n ...newOptions\n };\n if (newOptions.getStorage) {\n storage = newOptions.getStorage();\n }\n },\n clearStorage: () => {\n storage == null ? void 0 : storage.removeItem(options.name);\n },\n getOptions: () => options,\n rehydrate: () => hydrate(),\n hasHydrated: () => hasHydrated,\n onHydrate: (cb) => {\n hydrationListeners.add(cb);\n return () => {\n hydrationListeners.delete(cb);\n };\n },\n onFinishHydration: (cb) => {\n finishHydrationListeners.add(cb);\n return () => {\n finishHydrationListeners.delete(cb);\n };\n }\n };\n hydrate();\n return stateFromStorage || configResult;\n};\nconst newImpl = (config, baseOptions) => (set, get, api) => {\n let options = {\n storage: createJSONStorage(() => localStorage),\n partialize: (state) => state,\n version: 0,\n merge: (persistedState, currentState) => ({\n ...currentState,\n ...persistedState\n }),\n ...baseOptions\n };\n let hasHydrated = false;\n const hydrationListeners = /* @__PURE__ */ new Set();\n const finishHydrationListeners = /* @__PURE__ */ new Set();\n let storage = options.storage;\n if (!storage) {\n return config(\n (...args) => {\n console.warn(\n `[zustand persist middleware] Unable to update item '${options.name}', the given storage is currently unavailable.`\n );\n set(...args);\n },\n get,\n api\n );\n }\n const setItem = () => {\n const state = options.partialize({ ...get() });\n return storage.setItem(options.name, {\n state,\n version: options.version\n });\n };\n const savedSetState = api.setState;\n api.setState = (state, replace) => {\n savedSetState(state, replace);\n void setItem();\n };\n const configResult = config(\n (...args) => {\n set(...args);\n void setItem();\n },\n get,\n api\n );\n api.getInitialState = () => configResult;\n let stateFromStorage;\n const hydrate = () => {\n var _a, _b;\n if (!storage) return;\n hasHydrated = false;\n hydrationListeners.forEach((cb) => {\n var _a2;\n return cb((_a2 = get()) != null ? _a2 : configResult);\n });\n const postRehydrationCallback = ((_b = options.onRehydrateStorage) == null ? void 0 : _b.call(options, (_a = get()) != null ? _a : configResult)) || void 0;\n return toThenable(storage.getItem.bind(storage))(options.name).then((deserializedStorageValue) => {\n if (deserializedStorageValue) {\n if (typeof deserializedStorageValue.version === \"number\" && deserializedStorageValue.version !== options.version) {\n if (options.migrate) {\n return [\n true,\n options.migrate(\n deserializedStorageValue.state,\n deserializedStorageValue.version\n )\n ];\n }\n console.error(\n `State loaded from storage couldn't be migrated since no migrate function was provided`\n );\n } else {\n return [false, deserializedStorageValue.state];\n }\n }\n return [false, void 0];\n }).then((migrationResult) => {\n var _a2;\n const [migrated, migratedState] = migrationResult;\n stateFromStorage = options.merge(\n migratedState,\n (_a2 = get()) != null ? _a2 : configResult\n );\n set(stateFromStorage, true);\n if (migrated) {\n return setItem();\n }\n }).then(() => {\n postRehydrationCallback == null ? void 0 : postRehydrationCallback(stateFromStorage, void 0);\n stateFromStorage = get();\n hasHydrated = true;\n finishHydrationListeners.forEach((cb) => cb(stateFromStorage));\n }).catch((e) => {\n postRehydrationCallback == null ? void 0 : postRehydrationCallback(void 0, e);\n });\n };\n api.persist = {\n setOptions: (newOptions) => {\n options = {\n ...options,\n ...newOptions\n };\n if (newOptions.storage) {\n storage = newOptions.storage;\n }\n },\n clearStorage: () => {\n storage == null ? void 0 : storage.removeItem(options.name);\n },\n getOptions: () => options,\n rehydrate: () => hydrate(),\n hasHydrated: () => hasHydrated,\n onHydrate: (cb) => {\n hydrationListeners.add(cb);\n return () => {\n hydrationListeners.delete(cb);\n };\n },\n onFinishHydration: (cb) => {\n finishHydrationListeners.add(cb);\n return () => {\n finishHydrationListeners.delete(cb);\n };\n }\n };\n if (!options.skipHydration) {\n hydrate();\n }\n return stateFromStorage || configResult;\n};\nconst persistImpl = (config, baseOptions) => {\n if (\"getStorage\" in baseOptions || \"serialize\" in baseOptions || \"deserialize\" in baseOptions) {\n if ((import.meta.env ? import.meta.env.MODE : void 0) !== \"production\") {\n console.warn(\n \"[DEPRECATED] `getStorage`, `serialize` and `deserialize` options are deprecated. Use `storage` option instead.\"\n );\n }\n return oldImpl(config, baseOptions);\n }\n return newImpl(config, baseOptions);\n};\nconst persist = persistImpl;\n\nexport { combine, createJSONStorage, devtools, persist, redux, subscribeWithSelector };\n","import { produce } from 'immer';\n\nconst immerImpl = (initializer) => (set, get, store) => {\n store.setState = (updater, replace, ...a) => {\n const nextState = typeof updater === \"function\" ? produce(updater) : updater;\n return set(nextState, replace, ...a);\n };\n return initializer(store.setState, get, store);\n};\nconst immer = immerImpl;\n\nexport { immer };\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { create, StateCreator, createStore } from 'zustand';\nimport { devtools, persist, createJSONStorage, PersistOptions, StateStorage } from 'zustand/middleware';\nimport { immer } from 'zustand/middleware/immer';\n\nconst addMiddleWares = <T>(\n creator: StateCreator<T>,\n options: StoreOptions<T> = {\n usePersistentStore: false,\n useLocalStorage: false,\n skipHydration: true,\n }\n) => {\n let wrapperCreator:\n | StateCreator<T>\n | StateCreator<T, [], [['zustand/immer', never]]>\n | StateCreator<T, [['zustand/immer', never]], []>\n | StateCreator<T, [], [['zustand/devtools', T]]>\n | StateCreator<T, [], [['zustand/persist', T]]>\n | StateCreator<T, [], [['zustand/devtools', never], ['zustand/persist', T]]>\n | StateCreator<T, [], [['zustand/immer', never], ['zustand/devtools', never], ['zustand/persist', T]]> = creator;\n\n const { usePersistentStore, persistentStoreName, useLocalStorage, devToolsName, customStorage, ...rest } = options;\n // persist\n if (usePersistentStore) {\n if (!persistentStoreName) {\n throw new Error('Please provide a name for the persistent store');\n }\n wrapperCreator = persist(wrapperCreator, {\n name: persistentStoreName,\n storage: createJSONStorage(() => customStorage || (useLocalStorage ? localStorage : sessionStorage)), // changed to remove deprecation warning\n ...rest,\n });\n }\n // devtools\n if (process.env['NODE_ENV'] === 'development') {\n wrapperCreator = devtools(wrapperCreator as StateCreator<T, [], [['zustand/persist', T]]>, {\n name: devToolsName,\n anonymousActionType: 'Hydrate',\n trace: true,\n });\n }\n wrapperCreator = immer(\n wrapperCreator as StateCreator<T, [['zustand/immer', never]], [['zustand/devtools', never], ['zustand/persist', T]]>\n );\n return wrapperCreator;\n};\n\nexport type StoreOptions<T> = {\n usePersistentStore: boolean;\n persistentStoreName?: string;\n customStorage?: StateStorage;\n useLocalStorage?: boolean;\n devToolsName?: string;\n} & Omit<PersistOptions<T>, 'name' | 'storage'>;\n\nexport const createAppStore = <T>(initState: StateCreator<T>, options?: StoreOptions<T>) => {\n return create<T>()(addMiddleWares(initState, options));\n};\n\nexport const createVanillaStore = <T>(initState: StateCreator<T>, options: StoreOptions<T>) => {\n return createStore<T>()(addMiddleWares(initState, options));\n};\n","import { forwardRef, useEffect } from 'react';\nimport clsx from 'clsx';\n\nimport { ButtonProps } from './Button.types';\n\nimport { getClickTrackValue, trackImpression } from '../../utils/TrackingPropertyUtils';\n\nimport { constants } from '../../constants/ApplicationConstants';\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport const Button = forwardRef((props: ButtonProps, ref?: any) => {\n const {\n type = 'button',\n buttonCopy = '',\n style,\n className,\n callback,\n isLink = false,\n href,\n target,\n rel,\n children,\n trackingProperties,\n linkType = 'external',\n isDisabled = false,\n testId = '',\n isTextBeforeChildren = true,\n compName,\n custom_click_track_value,\n linkAriaLabelOpenNewWindow = 'opens in new window',\n ariaExpanded = undefined,\n ariaLabel = '',\n ariaRole,\n title,\n ariaDescribedBy,\n } = props;\n\n const { COBRAND_NON_POINTS_MATH, TARGET_BLANK } = constants;\n const trackingProps = {\n ...trackingProperties,\n isCoBrand: trackingProperties?.type\n ? trackingProperties?.type === 'CoBrand'\n : trackingProperties?.merchandisingCategory === COBRAND_NON_POINTS_MATH,\n };\n useEffect(() => {\n if (!ref?.current?.classList?.contains('track-completed')) {\n if (!custom_click_track_value) {\n getClickTrackValue(linkType, trackingProps, ref);\n }\n if (trackingProps?.impressionTrack && !trackingProps?.clickTrackValSeparator)\n trackImpression(trackingProps || {}, buttonCopy, props?.preTrackVal);\n ref?.current?.classList?.add('track-completed');\n }\n }, []);\n\n let ariaLabelCopy = target === TARGET_BLANK ? `${buttonCopy || ariaLabel} ${linkAriaLabelOpenNewWindow}` : buttonCopy;\n ariaLabelCopy = ariaLabelCopy && ariaLabelCopy?.trim();\n\n const renderLink = () => {\n return (\n <a\n data-component-name=\"a-ui-library-Button\"\n data-testid={testId}\n id={props?.id}\n href={href}\n onClick={callback}\n target={target}\n className={clsx(className, 'custom_click_track')}\n rel={rel}\n ref={ref}\n data-tracking-content-position={trackingProps?.trackingContentPosition}\n data-tracking-offer-type={trackingProps?.trackingOfferType}\n data-at-c-ce-var48={trackingProps?.atCCeVar48}\n data-tracking-description={trackingProps?.trackingDescription}\n data-tracking-tag={trackingProps?.trackingTag}\n data-comp-name={compName}\n data-custom_click_track_value={custom_click_track_value}\n data-is-co-brand={trackingProps?.isCoBrand}\n data-is-click-track={trackingProps?.clickTrack}\n data-is-impression-track={trackingProps?.impressionTrack}\n data-is-impression-count={trackingProps?.impressionCount}\n data-additional-tracking-variables={trackingProps?.additionalTrackingVariables}\n aria-label={ariaLabelCopy || ariaLabel}\n aria-expanded={ariaExpanded}\n data-is-auth={trackingProps?.isAuth}\n role={ariaRole}\n title={title}\n data-is-dca-enabled={!!trackingProps?.isDCAEnabled}\n aria-describedby={ariaDescribedBy}\n >\n {isTextBeforeChildren && `${buttonCopy}`}\n {children}\n {!isTextBeforeChildren && `${buttonCopy}`}\n </a>\n );\n };\n\n return isLink ? (\n renderLink()\n ) : (\n <button\n data-component-name=\"a-ui-library-Button\"\n data-testid={testId}\n id={props?.id}\n disabled={isDisabled}\n ref={ref}\n type={type}\n style={style}\n className={clsx(className, 'custom_click_track', isDisabled && 'disabled')}\n onClick={callback}\n aria-label={ariaLabelCopy || ariaLabel}\n data-tracking-content-position={trackingProps?.trackingContentPosition}\n data-tracking-offer-type={trackingProps?.trackingOfferType}\n data-at-c-ce-var48={trackingProps?.atCCeVar48}\n data-tracking-description={trackingProps?.trackingDescription}\n data-tracking-tag={trackingProps?.trackingTag}\n data-is-co-brand={trackingProps?.isCoBrand}\n data-is-click-track={trackingProps?.clickTrack}\n data-custom_click_track_value={custom_click_track_value}\n data-is-impression-track={trackingProps?.impressionTrack}\n data-is-impression-count={trackingProps?.impressionCount}\n data-additional-tracking-variables={trackingProps?.additionalTrackingVariables}\n aria-expanded={ariaExpanded}\n data-is-auth={trackingProps?.isAuth}\n title={title}\n aria-describedby={ariaDescribedBy}\n >\n {isTextBeforeChildren && `${buttonCopy}`}\n {children}\n {!isTextBeforeChildren && `${buttonCopy}`}\n </button>\n );\n});\n","import React from 'react';\nimport clsx from 'clsx';\nimport { EyebrowProps, EyebrowEnum } from './Eyebrow.types';\n\nexport const Eyebrow: React.FC<EyebrowProps> = ({ text, variation = 'normal', customClass, ...props }) => {\n const className = variation === ('normal' as EyebrowEnum.Default) ? 't-overline-alt-normal' : 't-overline-overlay';\n\n return (\n <span\n data-component-name=\"a-ui-library-Eyebrow\"\n data-testid=\"ui-library-Eyebrow\"\n className={clsx(className, customClass)}\n {...props}\n >\n {text}\n </span>\n );\n};\n","import styled from 'styled-components';\n\nexport const StyledTag = styled.div`\n a {\n text-decoration: underline;\n &:hover {\n text-decoration: underline;\n }\n }\n a:has(span.m-link-action),\n a:has(span.m-link-tertiary-button-external) {\n text-decoration: none;\n &:hover {\n text-decoration: none;\n }\n }\n\n span.m-link-action a,\n span.m-link-tertiary-button-external a {\n text-decoration: none;\n &:hover {\n text-decoration: none;\n }\n }\n\n .m-link-action {\n font-size: inherit;\n font-weight: inherit;\n line-height: inherit;\n color: inherit;\n border-bottom-color: inherit;\n &:hover {\n font-weight: inherit;\n }\n }\n .m-link-tertiary-button-external {\n width: unset !important;\n overflow: visible !important;\n font-size: inherit;\n }\n`;\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport React, { FC, useEffect, useRef } from 'react';\nimport { StyledTag } from './Heading.styles';\nimport { ComponentTitleProps } from './Heading.types';\nimport clsx from 'clsx';\nimport { headingType, size, tags } from '../../utils/enums/enums';\n// import { RichText } from '../../molecules/RichText';\n\nexport const Heading: FC<ComponentTitleProps> = ({\n variation,\n fontSize = size.medium,\n element,\n titleText,\n customClass,\n clickTrackingLoc,\n disableCustomClickTrack = false,\n dangerouslySet,\n ...props\n}) => {\n const containerRef = useRef<HTMLDivElement | null>(null);\n\n const updateAnchorAriaLabels = () => {\n const container = containerRef.current;\n if (!container) return;\n\n container.querySelectorAll('a').forEach(anchorTag => {\n const parentSpan = anchorTag.closest('span');\n if (parentSpan) {\n if (parentSpan.classList.contains('m-link-tertiary-button-external')) {\n anchorTag.setAttribute('aria-label', `${anchorTag.textContent} Clickable link Opens in new tab / window`);\n } else if (parentSpan.classList.contains('m-link-action')) {\n anchorTag.setAttribute('aria-label', `${anchorTag.textContent} Clickable link`);\n } else {\n anchorTag.removeAttribute('aria-label');\n }\n } else {\n const target = anchorTag.getAttribute('target');\n if (target === '_blank') {\n anchorTag.setAttribute('aria-label', `${anchorTag.textContent} Clickable link Opens in new tab / window`);\n } else if (target === '_self') {\n anchorTag.setAttribute('aria-label', `${anchorTag.textContent} Clickable link`);\n } else {\n anchorTag.removeAttribute('aria-label');\n }\n }\n });\n };\n\n useEffect(() => {\n updateAnchorAriaLabels();\n\n const observer = new MutationObserver(updateAnchorAriaLabels);\n if (containerRef.current) {\n observer.observe(containerRef.current, { childList: true, subtree: true });\n }\n\n return () => {\n observer.disconnect();\n };\n }, [dangerouslySet, titleText]);\n\n // Location value not valid if undefined or empty string\n const hasValidClickTrackingLoc = clickTrackingLoc && clickTrackingLoc.length > 0;\n // Title / tracking description not valid if undefined or empty string\n const hasValidTitleText = titleText && titleText.length > 0;\n // Do not print custom click track attributes if disabled, loc invalid, or desc invalid\n const doCustomClickTrack = !disableCustomClickTrack && hasValidClickTrackingLoc && hasValidTitleText;\n\n const titleTags: any = {\n [size.small]: tags.h3,\n [size.medium]: tags.h2,\n [size.large]: tags.h1,\n };\n const subtitleTags: any = {\n [size.medium]: tags.h6,\n [size.large]: tags.h5,\n [size.extraLarge]: tags.h4,\n };\n let Tag;\n if (element) {\n Tag = element;\n } else {\n Tag =\n variation === headingType.title\n ? titleTags[fontSize] || titleTags[size.medium]\n : subtitleTags[fontSize] || subtitleTags[size.large];\n }\n\n // dangerouslyset prop is used for injecting text in header tag which may hold superscript/subscript tags.\n // please use removeParentTagRTE function from utils on the text to fetch required text from the RTE text\n\n return dangerouslySet ? (\n <StyledTag\n ref={containerRef}\n as={Tag}\n data-component-name=\"a-ui-library-Heading\"\n data-testid=\"ui-library-Heading\"\n {...(doCustomClickTrack\n ? {\n custom_click_track_value: `${clickTrackingLoc}| ${titleText} tab |internal`,\n }\n : {})}\n className={clsx(doCustomClickTrack ? 'custom_click_track' : '', `t-${variation}-${fontSize}`, customClass)}\n {...props}\n dangerouslySetInnerHTML={{ __html: dangerouslySet }}\n />\n ) : (\n <Tag\n data-component-name=\"a-ui-library-Heading\"\n data-testid=\"ui-library-Heading\"\n {...(doCustomClickTrack\n ? {\n custom_click_track_value: `${clickTrackingLoc}| ${titleText} tab |internal`,\n }\n : {})}\n className={clsx(doCustomClickTrack ? 'custom_click_track' : '', `t-${variation}-${fontSize}`, customClass)}\n {...props}\n >\n {titleText}\n </Tag>\n );\n};\n","import { forwardRef } from 'react';\nimport type { Ref } from 'react';\nimport clsx from 'clsx';\nimport type { IconProps } from './Icon.types';\nimport { Link } from '../Link/Link';\n\nexport const Icon = forwardRef<HTMLAnchorElement | null, IconProps>(\n (\n {\n iconClass,\n ariaLabel,\n iconHref,\n trackingProperties,\n children,\n target,\n rel,\n custom_click_track_value,\n ariaLive,\n enableLinkClsName = false,\n },\n ref: Ref<HTMLAnchorElement | null>\n ) => {\n return iconHref ? (\n <Link\n linkHref={iconHref}\n text=\"\"\n ariaLabel={ariaLabel}\n linkClassName={enableLinkClsName ? iconClass || '' : ''}\n trackingProperties={trackingProperties || {}}\n target={target}\n rel={rel}\n custom_click_track_value={custom_click_track_value}\n ref={ref as Ref<HTMLAnchorElement>}\n >\n <span\n data-component-name=\"a-ui-library-Icon\"\n data-testid=\"ui-library-Icon\"\n className={clsx(!enableLinkClsName ? iconClass : '')}\n role=\"status\"\n />\n {children}\n </Link>\n ) : (\n <span\n data-component-name=\"a-ui-library-Icon\"\n data-testid=\"ui-library-Icon\"\n aria-label={ariaLabel}\n aria-live={ariaLive}\n aria-atomic=\"true\"\n className={clsx(iconClass)}\n custom_click_track_value={custom_click_track_value}\n role=\"status\"\n >\n {children}\n </span>\n );\n }\n);\n","import React from 'react';\nimport clsx from 'clsx';\nimport { ImageProps, RenditionProps } from './Image.types';\n\nexport const Image = (props: ImageProps) => {\n const { title, defaultImageURL, customClass, renditions, altText = '', loading = 'lazy' } = props;\n\n return (\n <picture data-component-name=\"a-ui-library-Image\" data-testid=\"ui-library-Image\">\n {renditions?.map((rendition: RenditionProps, index: number) => {\n const { renditionPath, mediaValue, mediaQuery } = rendition;\n const media = `(${mediaQuery}: ${mediaValue})`;\n return (\n <source\n key={index}\n media={media}\n srcSet={renditionPath}\n data-srcset={renditionPath}\n data-testid={'source-img-' + index}\n />\n );\n })}\n\n <img\n src={defaultImageURL}\n className={clsx('image', loading, customClass)}\n alt={altText}\n title={title}\n data-src={defaultImageURL}\n loading={loading}\n />\n </picture>\n );\n};\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { forwardRef, useEffect } from 'react';\nimport clsx from 'clsx';\nimport { constants } from '../../constants/ApplicationConstants';\nimport { LinkProps } from './Link.types';\nimport { getClickTrackValue, trackImpression } from '../../utils/TrackingPropertyUtils';\n\nexport const Link = forwardRef<HTMLAnchorElement, LinkProps>(\n (\n {\n id,\n text,\n linkHref,\n ariaLabel,\n rel,\n linkClassName,\n trackingProperties,\n callback,\n target = '_blank',\n custom_click_track_value,\n compName,\n linkType = 'external',\n children,\n // when anchor tags are not given an href they are not focusable, this prevents that from happening in the case of an authoring mistake\n tabIndex = 0,\n touchCallback,\n ...props\n },\n ref: any\n ) => {\n const trackingProps = {\n ...trackingProperties,\n isCoBrand: trackingProperties?.merchandisingCategory === constants.COBRAND_NON_POINTS_MATH,\n };\n useEffect(() => {\n if (!ref?.current?.classList?.contains('track-completed')) {\n if (!custom_click_track_value) {\n getClickTrackValue(linkType, trackingProps, ref);\n }\n trackImpression(trackingProps || {}, text || '', props?.preTrackVal);\n ref?.current?.classList?.add('track-completed');\n }\n }, []);\n\n return (\n <a\n data-component-name=\"a-ui-library-Link\"\n data-testid=\"ui-library-Link\"\n id={id}\n onClick={callback}\n onTouchEnd={touchCallback}\n target={target}\n href={linkHref}\n rel={rel}\n className={clsx(linkClassName, trackingProps?.clickTrack ? 'custom_click_track' : '')}\n aria-label={ariaLabel}\n ref={ref}\n data-tracking-content-position={trackingProps?.trackingContentPosition}\n data-tracking-offer-type={trackingProps?.trackingOfferType}\n data-at-c-ce-var48={trackingProps?.atCCeVar48}\n data-tracking-description={trackingProps?.trackingDescription}\n data-tracking-tag={trackingProps?.trackingTag}\n data-comp-name={compName}\n data-custom_click_track_value={custom_click_track_value}\n data-is-co-brand={trackingProps?.isCoBrand}\n data-is-click-track={trackingProps?.clickTrack}\n data-is-impression-track={trackingProps?.impressionTrack}\n data-is-impression-count={trackingProps?.impressionCount}\n tabIndex={tabIndex}\n >\n {text}\n {children}\n </a>\n );\n }\n);\n","import { FC } from 'react';\nimport { TextProps } from './Text.types';\nimport clsx from 'clsx';\nimport { size, tags } from '../../utils/enums/enums';\n\nexport const Text: FC<TextProps> = ({\n copyText,\n fontSize = size.medium,\n customClass,\n element = tags.paragraph,\n ...props\n}) => {\n const Tag = element;\n return (\n <Tag\n data-component-name=\"a-ui-library-Text\"\n data-testid=\"ui-library-Text\"\n className={clsx(`t-font-${fontSize}`, customClass, 'm-0')}\n {...props}\n >\n {copyText}\n </Tag>\n );\n};\n","import { TrackingDetailsProps } from '../utils/enums/enums';\n\nexport const trackingDetailArr: Array<TrackingDetailsProps> = [\n { text: 'trackingContentPosition', pre: '' },\n { text: 'trackingDescription', pre: 'msg=' },\n { text: 'trackingOfferType', pre: 'type=' },\n { text: 'trackingTag', pre: 'tag=' },\n];\nexport const constants = {\n COBRAND_NON_POINTS_MATH: 'cobrandNonPointsMath',\n TARGET_BLANK: '_blank',\n SIMPLE: 'simple',\n OPEN_IN_NEW_TAB: 'Opens a new window',\n NO_OPENER: 'noopener',\n NO_REFERER: 'noreferrer',\n DEFAULT: 'DEFAULT',\n IMG_ALT_TEXT: 'Title',\n HOMEPAGE_HB_16X9_DES_REND2X: '2880px:1620px',\n HOMEPAGE_HB_16X9_TABLET_REND2X: '1536px:864px',\n HOMEPAGE_HB_16X9_MOB_REND2X: '728px:1126px',\n HOMEPAGE_HB_3X1_DES_REND2X: '2880px:960px',\n HOMEPAGE_HB_3X1_TABLET_REND2X: '2880px:960px',\n HOMEPAGE_HB_3X1_MOB_REND2X: '1456px:1456px',\n DOWNSIZE_PARAM: '?output-quality=70&interpolation=progressive-bilinear&downsize=',\n DEFAULT_LANG: 'en_US',\n COBRAND_MATH_HERO_CTA_CLASS: 'cobrand-math-hero-btn',\n};\nexport const cardCodes = {\n '0513': 'updateboundless',\n '0532': 'updatebold',\n USPC: 'updatebrilliant',\n USBU: 'updatebusiness',\n USMT: 'updatebevy',\n};\nexport const config = {\n gcv: 'AMCV_664516D751E565010A490D4C@AdobeOrg',\n cookie: 'MCMID',\n ctaURL: '/mi/cobrand/chase.mi?returnURL=/loyalty/myAccount/profile.mi&destinationURL=',\n cname: 'merchViewed',\n code1: '0513',\n code2: '0532',\n HIO: 'HIO',\n ctaUrlChasePrefix: '&returnURL=',\n ctaUrlChase: '/loyalty/myAccount/profile.mi',\n ctaUrlAmex: '/mi/cobrand/amex.mi?destinationURL=',\n ctaUrlAmexEvergreen: 'https://www.marriott.com/mi/cobrand/amex.mi?destinationURL=',\n};\n\nexport const AccordionHiddenClasses = ['collapsed', 'hide-visibility'];\nexport const HEIGHT_VALUE = 3.75;\nexport const PX_TO_REM = 0.0625;\nexport const LOCALE_ZH_CN = 'zh-CN';\nexport const MOMENT_CN_LANG = 'zh-cn';\n\nexport const CN_RATING_TOOLTIP = '评分是基于客户完æˆä½å®¿åŽåœ¨æ»¡æ„度调查ä¸æ供的客户评分整ç†å¾—出的。';\n","import { APPLICATION_BREAKPOINTS } from '../styles/utils';\nimport { useEffect, useState } from 'react';\nimport { useWindowSize } from './useWindowSize';\n\ntype keys = keyof typeof APPLICATION_BREAKPOINTS;\n\n/**\n * Hook to return whethre current window size is greater than viewport size provided. Current sizes from\n * global styles are:\n * {\n * \"viewportXS\": \"0px\",\n * \"viewportS\": \"576px\",\n * \"viewportM\": \"768px\",\n * \"viewportL\": \"992px\",\n * \"viewportXl\": \"1200px\"\n * }\n * @param viewportSize\n * @returns boolean\n */\nexport function useCheckBreakpoint(viewportSize: keys) {\n const [isGreater, setIsGreater] = useState(false);\n const { width } = useWindowSize();\n\n const targetViewportSize = APPLICATION_BREAKPOINTS[viewportSize] || 0;\n\n useEffect(() => {\n if (width && width >= targetViewportSize) {\n setIsGreater(true);\n } else {\n setIsGreater(false);\n }\n }, [width, targetViewportSize]);\n\n return isGreater;\n}\n","import { useState, useEffect } from 'react';\n\nexport type DocDirAttr = 'ltr' | 'rtl';\n\nexport function useDocumentDirection() {\n const [dir, setDir] = useState<DocDirAttr>('ltr');\n\n useEffect(() => {\n setDir((document.documentElement.getAttribute('dir') as DocDirAttr) || 'ltr');\n }, []);\n\n return dir;\n}\n","import { useState, useEffect } from 'react';\n\ninterface SizeState {\n width: undefined | number;\n height: undefined | number;\n}\n// Hook\nexport function useWindowSize() {\n // Initialize state with undefined width/height so server and client renders match\n // Learn more here: https://joshwcomeau.com/react/the-perils-of-rehydration/\n const [windowSize, setWindowSize] = useState<SizeState>({\n width: undefined,\n height: undefined,\n });\n\n useEffect(() => {\n // Handler to call on window resize\n function handleResize() {\n // Set window width/height to state\n setWindowSize({\n width: window.innerWidth,\n height: window.innerHeight,\n });\n }\n // Add event listener\n window.addEventListener('resize', handleResize);\n // Call handler right away so state gets updated with initial window size\n handleResize();\n // Remove event listener on cleanup\n return () => window.removeEventListener('resize', handleResize);\n }, []); // Empty array ensures that effect is only run on mount\n\n return windowSize;\n}\n","import styled, { css } from 'styled-components';\nimport { baseVariables, toRem } from '../../styles';\n\nexport const StyledAccordion = styled.div<{\n disableAccInTabletAndDesktop: boolean;\n disableAccInDesktop: boolean;\n enableAccordionSeparator: boolean;\n enableFullWidthHeader: boolean;\n}>`\n .accordion {\n height: 100%;\n &__container {\n height: 100%;\n ${props =>\n props.enableAccordionSeparator\n ? `border-bottom: ${toRem(1)} solid ${baseVariables.color['neutral30']};`\n : 'border-bottom: 0;'}\n ${props =>\n props.enableAccordionSeparator\n ? props.disableAccInTabletAndDesktop\n ? `\n@media ${baseVariables.mediaQuery.md} {\nborder-right: ${toRem(1)} solid ${baseVariables.color['neutral30']};\nborder-bottom: 0;\n}\n`\n : props.disableAccInDesktop\n ? `@media ${baseVariables.mediaQuery.lg} {\n border-right: ${toRem(1)} solid ${baseVariables.color['neutral30']};\n border-bottom: 0;\n }`\n : ''\n : 'border-right: 0;'}\n @media ${baseVariables.mediaQuery.md} {\n padding-right: ${toRem(32)};\n padding-left: ${toRem(16)};\n }\n .accordion__list {\n overflow: hidden;\n margin-top: ${toRem(9)};\n padding-bottom: ${toRem(16)};\n transition: all 0.4s ease;\n @media ${baseVariables.mediaQuery.md} {\n transition: none;\n padding-bottom: ${toRem(16)};\n ${({ enableAccordionSeparator }) =>\n enableAccordionSeparator &&\n css`\n padding-right: ${toRem(16)};\n `}\n }\n &.collapsed {\n max-height: 0;\n padding: 0;\n }\n &.hide-visibility {\n visibility: hidden;\n margin-top: 0;\n }\n }\n .accordion__title {\n margin-top: -${toRem(2)};\n ${props => (props.enableFullWidthHeader ? 'width: 100%;' : '')}\n }\n .accordion__heading {\n display: flex;\n justify-content: space-between;\n align-items: center;\n background: none;\n width: 100%;\n padding: 0;\n color: inherit;\n &:focus-visible {\n outline: -webkit-focus-ring-color auto ${toRem(1)};\n }\n .icon-arrow-down,\n .icon-arrow-up {\n margin-left: auto;\n margin-top: 0;\n &::before {\n font-size: ${toRem(12)};\n }\n }\n .accordion__title {\n margin: ${toRem(16)} ${toRem(0)} ${toRem(16)} ${toRem(-1)};\n }\n }\n .accordion_tab--disabled .accordion__list {\n &.collapsed {\n @media ${baseVariables.mediaQuery.md} {\n max-height: unset;\n }\n &.hide-visibility {\n @media ${baseVariables.mediaQuery.md} {\n visibility: visible;\n }\n }\n }\n }\n .accordion_des--disabled .accordion__list {\n &.collapsed {\n @media ${baseVariables.mediaQuery.lg} {\n max-height: unset;\n }\n &.hide-visibility {\n @media ${baseVariables.mediaQuery.lg} {\n visibility: visible;\n }\n }\n }\n }\n &.accordion_des--disabled {\n padding: 0;\n @media ${baseVariables.mediaQuery.lg} {\n padding-right: ${toRem(86)};\n padding-left: ${toRem(32)};\n }\n @media ${baseVariables.mediaQuery.xl} {\n padding-right: ${toRem(56)};\n padding-left: ${toRem(40)};\n }\n }\n }\n }\n`;\n","import React, { FC, useEffect, useState, useRef } from 'react';\nimport clsx from 'clsx';\n\nimport { AccordionProps } from './Accordion.types';\nimport { StyledAccordion } from './Accordion.styles';\nimport { Button } from '../../atoms/Button';\nimport { Icon } from '../../atoms/Icon';\nimport { AccordionHiddenClasses } from '../../constants/ApplicationConstants';\n\nexport const Accordion: FC<AccordionProps> = props => {\n const {\n children,\n disableAccInDesktop = false,\n disableAccInTabletAndDesktop = false,\n styleclass,\n customClass,\n headerChildren,\n headerAriaLabel,\n enableAccordionSeparator = false,\n id,\n isOpen = false,\n custom_click_track_open_value,\n custom_click_track_closed_value,\n disableAccResize = false,\n enableFullWidthHeader = false,\n childrenClass,\n handleHeaderClick,\n } = props;\n\n const HEADING_SELECTOR = `.accordion__heading .accordion__icon`;\n const ICON_ARROW_UP = `icon-arrow-up`;\n const ICON_ARROW_DOWN = `icon-arrow-down`;\n\n const [ariaLabel, setAriaLabel] = useState('Accordion');\n\n const headingRef = useRef<HTMLDivElement>(null);\n const listRef = useRef<HTMLDivElement>(null);\n const titleRef = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n if (!isOpen) {\n handleAccordionCollapse();\n } else {\n handleAccordionExpand();\n }\n }, [isOpen]);\n\n useEffect(() => {\n handleAccordionCollapse();\n if (!disableAccResize) {\n window?.addEventListener('resize', () => handleAccordionCollapse());\n }\n }, []);\n\n useEffect(() => {\n const headerElement = titleRef.current;\n if (headerElement) {\n setAriaLabel(headerAriaLabel || headerElement.textContent || '');\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const handleAccordionCollapse = () => {\n const sm = window.matchMedia('(max-width: 767px)');\n const md = window.matchMedia('(min-width: 768px) and (max-width: 991px)');\n const xl = window.matchMedia('(min-width: 992px)');\n const acc_body = listRef.current;\n const acc_header = headingRef.current;\n if (disableAccInDesktop && !isOpen) {\n (md.matches || sm.matches) && acc_body?.classList?.add('collapsed', 'hide-visibility');\n acc_header?.querySelector('.icon-arrow-up')?.classList?.replace('icon-arrow-up', 'icon-arrow-down');\n xl.matches && acc_body?.classList?.remove('collapsed', 'hide-visibility');\n } else if (disableAccInTabletAndDesktop && !isOpen) {\n sm.matches && acc_body?.classList?.add('collapsed', 'hide-visibility');\n acc_header?.querySelector('.icon-arrow-up')?.classList?.replace('icon-arrow-up', 'icon-arrow-down');\n (md.matches || xl.matches) && acc_body?.classList?.remove('collapsed', 'hide-visibility');\n } else if (!isOpen) {\n acc_body?.classList?.add('collapsed', 'hide-visibility');\n acc_header?.querySelector('.icon-arrow-up')?.classList?.replace('icon-arrow-up', 'icon-arrow-down');\n }\n };\n\n const handleAccordionExpand = () => {\n const acc_body = listRef.current;\n if (isOpen) {\n acc_body?.classList?.remove('collapsed', 'hide-visibility');\n }\n };\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const accordionHeaderClick = (e: any) => {\n const list = listRef?.current;\n const headerIcon = e?.currentTarget?.parentElement?.querySelector(`${HEADING_SELECTOR}`);\n if (list?.classList?.contains('collapsed')) {\n list?.classList?.remove(...AccordionHiddenClasses);\n if (headerIcon?.classList?.contains(`${ICON_ARROW_UP}`)) {\n headerIcon?.classList?.replace(`${ICON_ARROW_UP}`, `${ICON_ARROW_DOWN}`);\n } else {\n headerIcon?.classList?.replace(`${ICON_ARROW_DOWN}`, `${ICON_ARROW_UP}`);\n }\n e?.currentTarget?.setAttribute('aria-expanded', 'true');\n /**\n * Click Tracking Value for open state of the accordion\n */\n custom_click_track_open_value &&\n e?.currentTarget?.setAttribute('custom_click_track_value', custom_click_track_open_value);\n } else if (!list?.classList?.contains('collapsed')) {\n list?.classList?.add(...AccordionHiddenClasses);\n if (headerIcon?.classList?.contains(`${ICON_ARROW_UP}`)) {\n headerIcon?.classList?.replace(`${ICON_ARROW_UP}`, `${ICON_ARROW_DOWN}`);\n } else {\n headerIcon?.classList?.replace(`${ICON_ARROW_DOWN}`, `${ICON_ARROW_UP}`);\n }\n e?.currentTarget?.setAttribute('aria-expanded', 'false');\n /**\n * Click Tracking Value to capture in closed state of accordion\n */\n custom_click_track_closed_value &&\n e?.currentTarget?.setAttribute('custom_click_track_value', custom_click_track_closed_value);\n }\n handleHeaderClick?.(id);\n };\n\n return (\n <StyledAccordion\n data-component-name=\"m-ui-library-Accordion\"\n data-testid=\"ui-library-Accordion\"\n className={clsx(styleclass, customClass, 'acc')}\n disableAccInTabletAndDesktop={disableAccInTabletAndDesktop}\n disableAccInDesktop={disableAccInDesktop}\n enableAccordionSeparator={enableAccordionSeparator}\n enableFullWidthHeader={enableFullWidthHeader}\n >\n <div className={`accordion`}>\n <div\n className={clsx(\n 'accordion__container',\n 'p-0',\n `${disableAccInDesktop ? 'accordion_des--disabled' : disableAccInTabletAndDesktop ? '' : ''}`\n )}\n >\n <div\n className={clsx(\n 'accordion__title',\n `${\n disableAccInDesktop ? 'd-lg-flex d-none' : disableAccInTabletAndDesktop ? 'd-md-flex d-none' : 'd-none'\n }`,\n `pb-2 mb-0`\n )}\n ref={titleRef}\n >\n {headerChildren}\n </div>\n <Button\n className={clsx([\n `accordion__heading`,\n `${\n disableAccInDesktop\n ? 'd-lg-none d-sm-flex'\n : disableAccInTabletAndDesktop\n ? 'd-md-none d-sm-flex p-md-0'\n : ``\n }`,\n ])}\n ariaLabel={ariaLabel}\n ariaExpanded={isOpen}\n callback={e => accordionHeaderClick(e)}\n id={`${id}_heading`}\n ref={headingRef}\n >\n <div className={clsx('accordion__title')}>{headerChildren}</div>\n <Icon iconClass={clsx('accordion__icon', isOpen ? ICON_ARROW_UP : ICON_ARROW_DOWN)}></Icon>\n </Button>\n <div\n className={clsx([\n `${\n disableAccInDesktop\n ? 'accordion_des--disabled'\n : disableAccInTabletAndDesktop\n ? 'accordion_tab--disabled'\n : ''\n }`,\n 'accordion__list',\n childrenClass,\n ])}\n id={`${id}_body`}\n key={`accordion_item`}\n ref={listRef}\n >\n {children}\n </div>\n </div>\n </div>\n </StyledAccordion>\n );\n};\n","import styled from 'styled-components';\nimport { baseVariables, toRem } from '../../styles';\n// import { toRem } from '../../index';\n\nexport const StyledBannerLayered = styled.div<{ scrimGradient: string }>`\n display: flex;\n .bl-item {\n img {\n width: 100vw;\n }\n position: relative;\n overflow: hidden;\n .gradient {\n &:after {\n height: 60%;\n background: ${props =>\n props?.scrimGradient?.includes('inverse')\n ? `${baseVariables.gradient['baseGradient05']}`\n : `${baseVariables.gradient['baseGradient01']}`};\n @media ${baseVariables.mediaQuery.sm} {\n height: 100%;\n background: ${props =>\n props?.scrimGradient?.includes('inverse')\n ? `${baseVariables.gradient['baseGradient06']}`\n : `${baseVariables.gradient['baseGradient02']}`};\n }\n @media ${baseVariables.mediaQuery.lg} {\n height: 100%;\n background: ${props =>\n props?.scrimGradient?.includes('inverse')\n ? `${baseVariables.gradient['baseGradient07']}`\n : `${baseVariables.gradient['baseGradient03']}`};\n }\n display: block;\n width: 100%;\n position: absolute;\n content: '';\n bottom: 0;\n left: 0;\n right: 0;\n }\n }\n .bl_iconText-wrapper {\n position: absolute;\n padding: ${toRem(3)} ${toRem(8)};\n background-color: rgba(28, 28, 28, ${baseVariables.opacity['opacity5']});\n border-radius: ${toRem(5)};\n right: ${toRem(30)};\n bottom: ${toRem(12)};\n @media ${baseVariables.mediaQuery.sm} {\n right: ${toRem(15)};\n bottom: ${toRem(13)};\n }\n @media ${baseVariables.mediaQuery.lg} {\n right: ${toRem(30)};\n bottom: ${toRem(20)};\n }\n .banner-layerd-anchor {\n padding-left: ${toRem(8)};\n }\n }\n .bl_iconText-wrapper.top-right {\n padding: ${toRem(4)};\n border-radius: ${toRem(4)};\n right: ${toRem(16)};\n top: ${toRem(16)};\n bottom: auto;\n .banner-layerd-anchor {\n padding-left: ${toRem(4)};\n }\n }\n }\n .bl {\n &__cnt-sec {\n position: absolute;\n display: flex;\n align-items: end;\n top: 0;\n right: 0;\n left: 0;\n bottom: 0;\n &:before {\n display: none;\n }\n .bl_content {\n .bl_head {\n margin-bottom: ${toRem(0)};\n }\n @media ${baseVariables.mediaQuery.xl} {\n .bl_head {\n margin-bottom: ${toRem(4)};\n }\n }\n }\n .bl_cta-wrapper {\n display: flex;\n flex-direction: column;\n margin-top: ${toRem(4)};\n text-align: center;\n gap: 0;\n @media ${baseVariables.mediaQuery.sm} {\n flex-direction: row;\n margin-top: -${toRem(8)};\n gap: ${toRem(16)};\n }\n @media ${baseVariables.mediaQuery.lg} {\n margin-top: ${toRem(10)};\n }\n .bl_sec-cta {\n margin-top: ${toRem(10)};\n @media ${baseVariables.mediaQuery.sm} {\n margin-top: ${toRem(0)};\n }\n }\n .m-link-tertiary-button {\n margin-top: -${toRem(12)};\n text-align: left;\n @media ${baseVariables.mediaQuery.sm} {\n margin-top: ${toRem(16)};\n }\n @media ${baseVariables.mediaQuery.lg} {\n margin-top: ${toRem(0)};\n }\n }\n }\n .&_cta-center {\n justify-content: center;\n }\n @media ${baseVariables.mediaQuery.sm} {\n align-items: center;\n }\n }\n }\n .bl__cnt-ctr {\n position: relative;\n z-index: 1;\n padding: 0 ${toRem(16)} ${toRem(70)};\n margin: 0 auto;\n @media ${baseVariables.mediaQuery.sm} {\n padding-bottom: ${toRem(0)};\n }\n }\n`;\n","import React, { FC, useRef, useEffect, useState } from 'react';\nimport clsx from 'clsx';\n\nimport { Button } from '../../atoms/Button';\nimport { Heading } from '../../atoms/Heading';\nimport { Image } from '../../atoms/Image';\nimport { Icon } from '../../atoms/Icon';\nimport { headingType, tags, size } from '../../utils/enums/enums';\n\nimport { BannerLayeredProps } from './BannerLayered.types';\nimport { StyledBannerLayered } from './BannerLayered.styles';\n\nexport const BannerLayered: FC<BannerLayeredProps> = ({\n header,\n headerTag = tags.h2,\n description,\n ctaType,\n primaryCtaText,\n primaryCtaLink,\n primaryCtaOpenInNewTab = true,\n primaryCtaAriaLabel,\n tertiaryLinkText,\n tertiaryLinkUrl,\n tertiaryLinkOpenInNewTab = false,\n tertiaryCtaAriaLabel,\n secondaryCtaText,\n secondaryCtaLink,\n secondaryCtaOpenInNewTab = true,\n secondaryCtaAriaLabel,\n iconText,\n iconPath,\n linkUrl,\n styleclass,\n trackingProperties,\n dynamicMedia,\n dynamicMediaMobile,\n imageLoading,\n position,\n ...props\n}) => {\n const renditions = dynamicMedia?.renditions;\n const mobileRenditions = dynamicMediaMobile?.renditions;\n const hasPrimaryButton = primaryCtaText && primaryCtaLink && primaryCtaText.length > 0 && primaryCtaLink.length > 0;\n const hasSecondaryButton =\n secondaryCtaText && secondaryCtaLink && secondaryCtaText.length > 0 && secondaryCtaLink.length > 0;\n const hasTertiaryLink =\n tertiaryLinkText && tertiaryLinkUrl && tertiaryLinkText.length > 0 && tertiaryLinkUrl.length > 0;\n const isCaptionLink = linkUrl !== undefined && linkUrl.length > 0 ? true : false;\n const isMobileImage = Object.prototype.hasOwnProperty.call(dynamicMediaMobile || {}, 'assetPath');\n\n const CardLinkPrimaryBtnRef = useRef(null);\n const CardLinkTertiaryBtnRef = useRef(null);\n const customAttributes = trackingProperties?.enableScrollingBehavior\n ? { 'data-section-tracking': props?.componentId }\n : {};\n const [mQuery, setMQuery] = useState(true);\n\n useEffect(() => {\n handleScreenResize();\n window.addEventListener('resize', handleScreenResize);\n }, []);\n\n const handleScreenResize = () => {\n const mobileSize = window.matchMedia('(max-width: 767px)');\n const tabletSize = window.matchMedia('(min-width:768px)');\n if (mobileSize.matches) {\n setMQuery(true);\n } else if (tabletSize.matches) {\n setMQuery(false);\n }\n };\n\n return (\n <StyledBannerLayered\n data-component-name=\"m-ui-library-BannerLayered\"\n data-testid=\"ui-library-BannerLayered\"\n scrimGradient={styleclass}\n className={`row bl ${styleclass ? styleclass : ''} m-container-fullbleed`}\n >\n <div className=\"bl-item\" {...customAttributes}>\n <div className={clsx('d-none d-sm-block', { 'd-block': !isMobileImage })}>\n <Image\n customClass=\"feature-img\"\n altText={dynamicMedia?.altText}\n renditions={renditions}\n dynamic={dynamicMedia?.dynamic}\n defaultImageURL={dynamicMedia?.assetPath}\n loading={imageLoading}\n />\n </div>\n {isMobileImage && (\n <div className={clsx('d-block d-sm-none')}>\n <Image\n customClass=\"feature-img\"\n altText={dynamicMediaMobile?.altText}\n renditions={mobileRenditions}\n dynamic={dynamicMediaMobile?.dynamic}\n defaultImageURL={dynamicMediaMobile?.assetPath}\n loading={imageLoading}\n />\n </div>\n )}\n <div\n className={`bl__cnt-sec ${\n !(header || description || primaryCtaText || secondaryCtaText || tertiaryLinkText) ? '' : 'gradient'\n }`}\n >\n <div className=\"container-sm bl__cnt-ctr\">\n <div className=\"row\">\n <div className=\"bl_content col-12 col-sm-6 col-lg-6\">\n {header && (\n <Heading\n customClass={clsx('bl_head', description ? '' : 'mb-1 mb-sm-3 mb-lg-1')}\n titleText={header}\n variation={headingType.title}\n fontSize={size.medium}\n element={headerTag}\n />\n )}\n {description && <p className={clsx('bl_desc t-font-s')}> {description} </p>}\n </div>\n </div>\n <div className=\"row\">\n <div className=\"col-12 col-md-8 col-lg-12\">\n <div className=\"bl_cta-wrapper bl_cta-center\">\n {hasTertiaryLink && (\n <Button\n isLink={true}\n href={tertiaryLinkUrl}\n className={`bl_cta m-link-tertiary-button ${\n tertiaryLinkOpenInNewTab === true ? 'm-link-tertiary-button-external' : ''\n } ${ctaType === 'tertiarylink' ? 'd-block' : 'd-none'}`}\n target={tertiaryLinkOpenInNewTab === true ? '_blank' : ''}\n trackingProperties={trackingProperties}\n ref={CardLinkTertiaryBtnRef}\n ariaLabel={tertiaryCtaAriaLabel ?? tertiaryLinkText}\n >\n {tertiaryLinkText}\n </Button>\n )}\n {hasPrimaryButton && (\n <Button\n isLink\n href={primaryCtaLink}\n className={`mb-2 bl_cta m-button-primary ${mQuery === true ? 'm-button-s' : 'm-button-m'} ${\n primaryCtaOpenInNewTab === true ? 'm-button-external' : ''\n } ${ctaType === 'primarybutton' ? 'd-block' : 'd-none'}`}\n target={primaryCtaOpenInNewTab === true ? '_blank' : ''}\n trackingProperties={trackingProperties}\n ref={CardLinkPrimaryBtnRef}\n custom_click_track_value={props?.custom_click_track_value_primary}\n ariaLabel={primaryCtaAriaLabel ?? primaryCtaText}\n >\n {primaryCtaText}\n </Button>\n )}\n {hasSecondaryButton && (\n <Button\n isLink\n href={secondaryCtaLink}\n className={`bl_cta bl_sec-cta m-button-secondary ${\n mQuery === true ? 'm-button-s' : 'm-button-m'\n } ${secondaryCtaOpenInNewTab === true ? 'm-button-external' : ''} ${\n ctaType === 'primarybutton' ? 'd-block' : 'd-none'\n }`}\n target={secondaryCtaOpenInNewTab === true ? '_blank' : ''}\n custom_click_track_value={`${header}|${secondaryCtaText}|${\n secondaryCtaOpenInNewTab === true ? 'external' : 'internal'\n }`}\n ariaLabel={secondaryCtaAriaLabel ?? secondaryCtaText}\n >\n {secondaryCtaText}\n </Button>\n )}\n </div>\n </div>\n </div>\n </div>\n </div>\n {iconText && (\n <div className={clsx('bl_iconText-wrapper', position)}>\n <div className={`t-label-inverse-xs`}>\n <Icon iconClass={`${isCaptionLink === true ? 'pe-auto' : 'pe-none'} ${iconPath}`} ariaLabel={iconText} />\n <Button\n isLink={true}\n href={linkUrl}\n className={`banner-layerd-anchor ${isCaptionLink === true ? 'pe-auto' : 'pe-none'}`}\n target=\"_blank\"\n custom_click_track_value={`${header}|${iconText}|external`}\n ariaLabel={iconText}\n >\n {iconText}\n </Button>\n </div>\n </div>\n )}\n </div>\n </StyledBannerLayered>\n );\n};\n","import { toRem } from '../../styles';\nimport styled from 'styled-components';\nimport { baseVariables } from '../../styles';\n\nexport const StyledCardCarousel = styled.div<{ variation: string }>`\n @media ${baseVariables.mediaQuery.xl} {\n display: ${props => (props.variation === 'combo' ? 'flex' : 'block')};\n }\n .aem-container:first-child {\n margin-left: 0;\n }\n .carousal_header {\n display: flex;\n flex-direction: ${props => (props.variation === 'combo' ? 'column' : ' row')};\n justify-content: ${props => (props.variation === 'combo' ? 'center' : ' space-between')};\n align-items: ${props => (props.variation === 'combo' ? 'flex-start' : ' unset')};\n width: auto;\n @media ${baseVariables.mediaQuery.md} {\n width: ${props => (props.variation === 'combo' ? 'auto' : 'auto')};\n }\n\n .carousal_header--cta {\n display: flex;\n align-items: ${props => (props.variation === 'combo' ? 'unset' : ' flex-end')};\n text-wrap: nowrap;\n }\n }\n .glide {\n &__track {\n padding-top: ${toRem(24)};\n .glide__slides_authoring {\n width: 100% !important;\n flex-wrap: wrap;\n }\n .glide__slides {\n .aem-container {\n padding: 0;\n }\n }\n }\n &__track__pt3 {\n overflow: hidden;\n padding-top: ${toRem(8)};\n .glide__slides_authoring {\n width: 100% !important;\n flex-wrap: wrap;\n }\n .glide__slides {\n .aem-container {\n padding: 0;\n }\n }\n }\n .center-align {\n display: flex;\n justify-content: center;\n align-items: center;\n .carouselControlType1 {\n .right-arrow {\n right: -1rem;\n @media ${baseVariables.mediaQuery.sm} {\n right: -1.25rem;\n }\n }\n .left-arrow {\n left: -1rem;\n @media ${baseVariables.mediaQuery.sm} {\n left: -1.25rem;\n }\n }\n }\n }\n }\n .glide--swipeable {\n cursor: default;\n }\n`;\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport React, { FC, Suspense, lazy, useEffect, useState } from 'react';\nimport { ResponsiveGrid } from '@adobe/aem-react-editable-components';\nimport Glide from '@glidejs/glide';\nimport clsx from 'clsx';\nimport { CardCarouselProps } from './CardCarouselContainer.types';\nimport { StyledCardCarousel } from './CardCarouselContainer.styles';\nimport { Button } from '../../atoms/Button';\nimport { Eyebrow } from '../../atoms/Eyebrow';\nimport { Heading } from '../../atoms/Heading';\nimport { Text } from '../../atoms/Text';\nimport { headingType, size, tags } from '../../utils/enums/enums';\nimport { AEMReactCompMap } from '../../utils/AEMReactCompMapUtil';\n\nexport const CardCarouselContainer: FC<CardCarouselProps> = (props: CardCarouselProps) => {\n const {\n headerText,\n subHeaderText,\n ctaLabel,\n ctaLink,\n eyebrow,\n ctaType,\n cardCount,\n openInaNewTab,\n totalNumberOfCards,\n trackingProperties,\n styleclass,\n cqItems,\n componentId,\n pagePath,\n itemPath,\n isAuthorMode,\n variation,\n enableTabletBreakpoint,\n isControlType2 = false,\n } = props;\n\n let { noOfCards, noOfCardsTablet } = props;\n const isCombo = (): boolean => {\n return variation === 'combo';\n };\n\n if (isCombo()) {\n noOfCards = 2;\n noOfCardsTablet = 2;\n }\n\n const [cardsPerView, setCardsPerView] = useState(noOfCards);\n\n const mapper = AEMReactCompMap(props?.allowedComponents);\n useEffect(() => {\n window.addEventListener('resize', handleResize);\n });\n\n const handleResize = () => {\n const xs = window.matchMedia('(max-width: 575px)');\n const sm = window.matchMedia('(min-width:576px) and (max-width: 767px)');\n const md = window.matchMedia('(min-width: 768px) and (max-width: 1199px)');\n const xl = window.matchMedia('(min-width: 1200px)');\n if (enableTabletBreakpoint) {\n if (xl?.matches) {\n setCardsPerView(noOfCards);\n } else if (md?.matches) {\n setCardsPerView(noOfCardsTablet);\n } else if (sm?.matches) {\n setCardsPerView(noOfCardsTablet);\n } else if (xs?.matches) {\n setCardsPerView(1);\n }\n } else {\n if (xs?.matches) {\n setCardsPerView(1);\n } else if (sm?.matches) {\n setCardsPerView(1);\n } else if (md?.matches) {\n setCardsPerView(noOfCardsTablet);\n } else if (xl?.matches) {\n setCardsPerView(noOfCards);\n }\n }\n };\n\n useEffect(() => {\n const pageWcmMode = document.getElementsByTagName('html')[0];\n const updateStyleComponent = document.getElementById(`${componentId}__slides`);\n const observer = new MutationObserver(mutations => {\n mutations.forEach(mutation => {\n if (mutation.attributeName === 'class') {\n const currWcmMode = pageWcmMode?.getAttribute('class');\n if (currWcmMode?.includes('Edit')) {\n updateStyleComponent?.classList.add('glide__slides_authoring');\n } else if (currWcmMode?.includes('Preview')) {\n updateStyleComponent?.classList.remove('glide__slides_authoring');\n }\n }\n });\n });\n observer.observe(pageWcmMode, { attributes: true });\n handleResize();\n\n return () => {\n observer.disconnect();\n };\n }, []);\n\n useEffect(() => {\n const carouselRootSelector = `#${componentId}`;\n if (document?.querySelector(carouselRootSelector)) {\n try {\n new Glide(carouselRootSelector, {\n type: 'slider',\n bound: true,\n perView: noOfCards,\n startAt: 0,\n rewind: false,\n gap: 16,\n dragThreshold: false,\n breakpoints: enableTabletBreakpoint\n ? {\n 1199: {\n perView: noOfCardsTablet,\n },\n 575: {\n perView: 1,\n },\n }\n : {\n 1199: {\n perView: noOfCardsTablet,\n },\n 767: {\n perView: 1,\n },\n },\n }).mount({ ArrowDisabler });\n\n const addArrowEventListener = (arrowId: string, clickTrack: string) => {\n const arrow = document?.querySelector(`#${arrowId}`);\n if (arrow) {\n arrow.addEventListener('touchstart', (e: any) => {\n document.getElementById(clickTrack)?.click();\n e.preventDefault();\n e.stopImmediatePropagation();\n });\n arrow.addEventListener('click', (e: any) => {\n document.getElementById(clickTrack)?.click();\n e.stopImmediatePropagation();\n });\n }\n };\n\n addArrowEventListener(`${componentId}_left_arrow`, 'left-arrow-click-track');\n addArrowEventListener(`${componentId}_right_arrow`, 'right-arrow-click-track');\n } catch (error) {\n // log.error(`Error in initializing Glide for ${componentId}`, error);\n }\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [isAuthorMode, componentId, cardsPerView]);\n\n const buttonCallback = () => {\n window.open(ctaLink, openInaNewTab ? '_blank' : '_self');\n };\n\n const ArrowDisabler = function (Glide: any, Components: any) {\n return {\n mount() {\n // Only in effect when rewinding is disabled\n if (Glide.settings.rewind) {\n return;\n }\n Glide.on(['mount.after', 'run'], () => {\n // Filter out arrows_control\n for (const controlItem of Components.Controls.items) {\n if (controlItem.className !== 'glide__arrows') {\n continue;\n }\n\n // Set left arrow state\n const left = controlItem?.querySelector('.glide__arrow--left');\n if (left) {\n if (Glide.index === 0) {\n left.classList.add('.is-disabled'); // Disable on first slide\n } else {\n left.classList.remove('.is-disabled'); // Enable on other slides\n }\n }\n\n // Set right arrow state\n const right = controlItem?.querySelector('.glide__arrow--right');\n if (right) {\n if (Glide.index === Components.Sizes.length - Glide.settings.perView) {\n right.classList.add('.is-disabled'); // Disable on last slide\n } else {\n right.classList.remove('.is-disabled'); // Disable on other slides\n }\n }\n }\n });\n },\n };\n };\n\n const customAttributes = trackingProperties?.enableScrollingBehavior ? { 'data-section-tracking': componentId } : {};\n const isLink = ctaType === 'tertiaryLink';\n\n const header = () =>\n headerText && (\n <Heading\n customClass={clsx({ 'mt-2 mb-3': isCombo() }, 'm-ellipsis-2lines')}\n titleText={headerText}\n variation={headingType.title}\n fontSize={isCombo() ? size.medium : size.small}\n />\n );\n const subHeader = () =>\n subHeaderText && (\n <Text\n copyText={subHeaderText}\n fontSize={size.medium}\n element={tags.span}\n customClass={clsx({ 'mb-3': isCombo() || eyebrow }, isCombo() ? 'm-ellipsis-3lines' : 'm-ellipsis-2lines')}\n />\n );\n\n const cta = () => {\n return (\n ctaLabel && (\n <div className={clsx(!eyebrow && !subHeaderText ? 'carousal_header--cta mb-2' : 'carousal_header--cta')}>\n <Button\n href={ctaLink}\n isLink={isLink}\n target={openInaNewTab ? '_blank' : '_self'}\n callback={!isLink ? buttonCallback : undefined}\n className={[\n '',\n ctaType === 'primaryButton' ? 'm-button-primary' : '',\n ctaType === 'secondaryButton' ? 'm-button-secondary' : '',\n isLink ? 'm-link-tertiary-button' : '',\n openInaNewTab\n ? ctaType === 'primaryButton' || ctaType === 'secondaryButton'\n ? 'm-button-external'\n : 'm-link-tertiary-button-external'\n : '',\n ]}\n custom_click_track_value={`${trackingProperties?.cardLocation}|${trackingProperties?.description}|${\n openInaNewTab ? 'external' : 'internal'\n }`}\n buttonCopy={ctaLabel}\n isTextBeforeChildren={false}\n />\n </div>\n )\n );\n };\n\n const eyebrowContent = () => eyebrow && <Eyebrow text={eyebrow} />;\n\n const carouselHeader = () => {\n return (\n <div className={clsx('carousal_header')}>\n <div className={clsx({ 'pb-2': eyebrow })}>\n {eyebrowContent()}\n {header()}\n {subHeader()}\n </div>\n {cta()}\n </div>\n );\n };\n\n const carouselComboHeader = () => {\n return (\n <div className={clsx({ 'pr-5': isCombo() }, 'carousal_header')}>\n <div>\n {eyebrowContent()}\n {header()}\n {subHeader()}\n </div>\n {cta()}\n </div>\n );\n };\n\n // This function is used to render the component in authoring mode authorCardWrapper\n const authorCardWrapper = (index: number, innerCompStyleClass: string | undefined) => {\n return (\n <ResponsiveGrid\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n pagePath={pagePath}\n itemPath={`${itemPath}/${totalNumberOfCards[index]}`}\n columnCount=\"12\"\n gridClassNames={''}\n customClassName={clsx(innerCompStyleClass)}\n config={{\n isEmpty: () => true,\n resourceType: 'mi-aem-common-spa/components/container',\n }}\n />\n );\n };\n\n // This function is used to render the component in end-user mode\n const publishCardWrapper = (cardName: string, jsonData: any) => {\n // eslint-disable-next-line no-prototype-builtins\n if (jsonData?.hasOwnProperty(cardName)) {\n const card = jsonData[cardName];\n const cardItems = card[':items'];\n for (const itemKey in cardItems) {\n if (Object.prototype.hasOwnProperty.call(cardItems, itemKey)) {\n const item = cardItems[itemKey];\n const itemType = item[':type']?.split('/').pop();\n if (Object.prototype.hasOwnProperty.call(mapper, itemType)) {\n const innerComp = mapper[itemType];\n const Component = lazy(() =>\n import(`../${innerComp}/index`).then(module => ({\n default: module[`${innerComp}`],\n }))\n );\n\n return (\n <li key={itemKey}>\n <Suspense fallback={<></>}>\n <Component {...item} />\n </Suspense>\n </li>\n );\n }\n return null;\n }\n }\n }\n return null;\n };\n\n return (\n <StyledCardCarousel\n data-component-name=\"m-ui-library-CardCarouselContainer\"\n data-testid=\"ui-library-CardCarouselContainer\"\n className={clsx(`col-12 py-3 px-0 ${styleclass}`)}\n {...customAttributes}\n variation={variation}\n >\n {isCombo() ? carouselComboHeader() : carouselHeader()}\n <div id={componentId} className={clsx(`glide ${isCombo() ? 'col-xl-8 p-0' : ''}`)}>\n <div className={clsx(!subHeaderText && !eyebrow ? 'glide__track__pt3' : 'glide__track')} data-glide-el=\"track\">\n <ul className={clsx('glide__slides', 'pb-3')} id={`${componentId}__slides`}>\n {isAuthorMode &&\n Array.from({ length: totalNumberOfCards.length }, (_, i) => authorCardWrapper(i, styleclass))}\n {!isAuthorMode && totalNumberOfCards.map((cardName: string) => publishCardWrapper(cardName, cqItems))}\n </ul>\n </div>\n {cardCount > cardsPerView && (\n <div className=\"center-align\">\n <div className={isControlType2 ? 'carouselControlType2' : 'carouselControlType1'}>\n <div className=\"glide__arrows\" data-glide-el=\"controls\">\n <button\n className={clsx('left-arrow', 'glide__arrow--left')}\n id={`${componentId}_left_arrow`}\n data-glide-dir=\"<\"\n aria-label=\"left-arrow\"\n data-content={styleclass?.includes('phoenix-luxury') && 'Previous'}\n >\n <span className=\"icon-arrow-left\" id={`${componentId}_left_arrow`} data-id=\"left\"></span>\n </button>\n </div>\n <input\n type=\"hidden\"\n id=\"left-arrow-click-track\"\n className={clsx(`${trackingProperties?.clickTrack ? 'custom_click_track' : ''}`)}\n data-custom_click_track_value={`${trackingProperties?.cardLocation}|${trackingProperties?.leftArrowDesc}|internal`}\n />\n <div data-glide-el=\"controls[nav]\">\n {Array.from({ length: cardCount - (cardsPerView - 1) }, (_, i) => (\n <button className=\"\" data-glide-dir={i} aria-label={`page-${i + 1}`} key={cardsPerView + i}></button>\n ))}\n </div>\n <div className=\"glide__arrows\" data-glide-el=\"controls\">\n <button\n className={clsx('right-arrow', 'glide__arrow--right')}\n id={`${componentId}_right_arrow`}\n data-glide-dir=\">\"\n aria-label=\"click to show more\"\n data-content={styleclass?.includes('phoenix-luxury') && 'Next'}\n >\n <span className=\"icon-arrow-right\" data-id=\"right\"></span>\n </button>\n </div>\n <input\n type=\"hidden\"\n id=\"right-arrow-click-track\"\n className={clsx(`${trackingProperties?.clickTrack ? 'custom_click_track' : ''}`)}\n data-custom_click_track_value={`${trackingProperties?.cardLocation}|${trackingProperties?.rightArrowDesc}|internal`}\n />\n </div>\n </div>\n )}\n </div>\n </StyledCardCarousel>\n );\n};\n","import styled from 'styled-components';\nimport { baseVariables, toRem } from '../../styles';\nimport { logoResize } from '../../utils/logoResize';\nimport { FONT_ICON_1_1_SIZE } from '../../utils/enums/enums';\n\nexport const StyledHorzMiniCardContainer = styled.div<{ openInaNewTab: boolean; fontIcon: string }>`\n position: relative;\n border: ${baseVariables.border.borderWidth02} ${baseVariables.border.borderStyleDefault}\n ${baseVariables.color.neutral20};\n height: ${toRem(100)};\n border-radius: ${toRem(12)};\n overflow: hidden;\n box-shadow: 0 0.125rem 0.625rem 0 rgba(0, 0, 0, 0.1);\n padding: 0;\n\n &.miniCard {\n &--height {\n height: auto;\n align-items: center;\n }\n }\n\n &.icon-grey-background {\n .miniCardImage {\n background-color: ${baseVariables.color['neutral30']};\n }\n }\n\n [class*='brand-logo-'] {\n font-weight: 500;\n outline-offset: 0.25rem;\n }\n [class*='brand-logo-']:before {\n ${props => logoResize(props.fontIcon, FONT_ICON_1_1_SIZE)}\n }\n\n .miniCardImage {\n grid-area: image;\n width: ${toRem(100)};\n height: ${toRem(100)};\n ${props =>\n props.fontIcon &&\n `\n background-color: ${baseVariables.color['bvyAccent10']};\n display:flex;\n span::before {\n font-size: ${toRem(33)};\n line-height: ${toRem(33)};\n color: ${baseVariables.color['base10']};\n font-weight: ${baseVariables.font['fontWeightMedium']};\n }\n `}\n }\n\n .miniCardContent {\n grid-area: content;\n width: 100%;\n display: flex;\n justify-content: space-between;\n align-items: center;\n\n .miniCardBody {\n width: 80%;\n padding-right: ${toRem(20)};\n\n [class*='t-subtitle-'] {\n overflow: hidden;\n display: block;\n text-overflow: ellipsis;\n white-space: nowrap;\n margin-bottom: ${toRem(5)};\n }\n\n .clampLines {\n display: -webkit-box; /* stylelint-disable-line */\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical; /* stylelint-disable-line */\n white-space: normal;\n }\n\n h1,\n h2,\n h3,\n h4,\n h5,\n h6 {\n display: inline;\n }\n\n [class*='t-font-'] {\n max-height: 1.5rem;\n overflow: hidden;\n * {\n white-space: nowrap;\n width: 100%;\n overflow: hidden;\n text-overflow: ellipsis;\n /* margin: 0; */\n }\n }\n &--wrapText {\n width: 80%;\n @media ${baseVariables.mediaQuery.lg} {\n padding-right: ${toRem(20)};\n }\n }\n }\n\n .miniCardChevron {\n position: absolute;\n right: ${toRem(16)};\n }\n\n &__link {\n text-decoration: underline;\n }\n }\n\n .minicardlink {\n display: grid;\n grid-template-areas: 'image content';\n gap: ${toRem(16)};\n grid-template-columns: ${toRem(100)} calc(100% - ${toRem(116)});\n align-items: center;\n height: 100%;\n &.icon-arrow-right-external {\n &::before {\n font-size: ${toRem(16)};\n right: ${toRem(16)};\n }\n &:lang(ar-AE)::before {\n left: ${toRem(16)};\n right: auto;\n transform: rotate(180deg);\n }\n }\n }\n`;\n","import React, { FC, useRef, useState } from 'react';\nimport clsx from 'clsx';\n\nimport { Heading } from '../../atoms/Heading';\nimport { Image } from '../../atoms/Image';\nimport { Icon } from '../../atoms/Icon';\nimport { Link } from '../../atoms/Link';\nimport { headingType, size } from '../../utils/enums/enums';\n\nimport { StyledHorzMiniCardContainer } from './CardHorizontalMini.styles';\nimport { CardHorizontalMiniProps } from './CardHorizontalMini.types';\nimport { removeParentTagRTE } from '../../utils/helper';\nimport { Button } from '../../atoms/Button';\nimport { Modal } from '../Modal';\nimport { RichText } from '../RichText';\n\nexport const CardHorizontalMini: FC<CardHorizontalMiniProps> = ({\n openInaNewTab,\n ctaLink,\n header,\n headerShort,\n headerTag,\n descriptionText,\n descriptionShort,\n trackingProperties,\n dynamicMedia,\n styleclass,\n assetVariation,\n iconPath,\n componentId,\n hideEllipsis,\n hideDescriptionOnMobile,\n hideImage,\n openInAModel,\n modalHeader = '',\n modalDescription = '',\n modalLinkText,\n imageLoading = 'lazy',\n custom_click_track_value = '',\n}) => {\n const isBodyCopy = descriptionText !== undefined && descriptionText.length > 0 ? true : false;\n const isBodyCopyMobile = descriptionShort !== undefined && descriptionShort.length > 0 ? true : false;\n const renditions = dynamicMedia?.renditions;\n\n const CardHorizontalMiniRef = useRef(null) as unknown as React.MutableRefObject<HTMLAnchorElement>;\n const customAttributes = trackingProperties?.enableScrollingBehavior\n ? { 'data-section-tracking': componentId ? componentId : '' }\n : {};\n\n // Using removeParentTagRTE to clean the text recieved from RTE\n const descriptionRTEText = descriptionText ? removeParentTagRTE(descriptionText) : '';\n\n const [popupOpenState, setPopupOpenState] = useState<boolean>(false);\n\n const toggleModal = () => {\n setPopupOpenState(!popupOpenState);\n };\n\n const getCardContent = () => {\n return (\n <>\n {!hideImage && (\n <>\n {assetVariation !== 'iconfont' ? (\n <Image\n customClass={clsx(hideEllipsis ? 'miniCardImage--height' : '', 'miniCardImage')}\n altText={dynamicMedia?.altText}\n renditions={renditions}\n dynamic={dynamicMedia?.dynamic}\n defaultImageURL={dynamicMedia?.assetPath}\n tabIndex={0}\n loading={imageLoading}\n />\n ) : (\n <div className={clsx(hideEllipsis ? 'miniCardImage--height' : '', 'miniCardImage')}>\n <Icon iconClass={clsx(`${iconPath}`, 'm-auto')} />\n </div>\n )}\n </>\n )}\n <div className={clsx('miniCardContent')}>\n <div\n className={clsx(\n hideEllipsis\n ? (hideDescriptionOnMobile ? 'pb-3 pb-md-2 pt-4' : 'pb-md-2 pt-3 pt-md-4') + ' miniCardBody--wrapText'\n : 'miniCardBody'\n )}\n >\n <div className={clsx('d-none d-md-block', { 'd-block': !headerShort })}>\n <Heading\n dangerouslySet={header}\n variation={headingType.subtitle}\n disableCustomClickTrack\n fontSize={size.large}\n element={headerTag}\n customClass={clsx('clampLines')}\n />\n </div>\n <div className={clsx('d-block d-md-none')}>\n <Heading\n dangerouslySet={headerShort}\n variation={headingType.subtitle}\n fontSize={size.large}\n element={headerTag}\n customClass={clsx('clampLines')}\n />\n </div>\n {isBodyCopy && (\n <RichText\n text={descriptionText}\n customClass={clsx(\n 'd-none d-md-block',\n hideDescriptionOnMobile ? '' : { 'd-block': !descriptionShort },\n 't-font-alt-s'\n )}\n componentId={componentId + '-DescriptionText'}\n />\n )}\n {isBodyCopyMobile && (\n <RichText\n text={descriptionShort}\n customClass={clsx('d-md-none', 't-font-alt-s', hideDescriptionOnMobile ? 'd-none' : '')}\n componentId={componentId + '-DescriptionText'}\n />\n )}\n\n {openInAModel === 'show' && (\n <Button\n buttonCopy={modalLinkText}\n isLink={true}\n className={clsx('miniCardContent__link')}\n callback={() => {\n toggleModal();\n }}\n />\n )}\n </div>\n <span className={clsx('icon-s', 'miniCardChevron', !openInaNewTab ? 'icon-arrow-right' : '')}></span>\n </div>\n </>\n );\n };\n\n return (\n <>\n <StyledHorzMiniCardContainer\n data-component-name=\"m-ui-library-CardHorizontalMini\"\n data-testid=\"ui-library-CardHorizontalMini\"\n openInaNewTab={openInaNewTab}\n className={clsx(\n `col-12 p-0 ${styleclass ? styleclass : ''} ${hideEllipsis ? 'miniCard--height' : ''} ${\n hideImage ? 'd-block pl-4' : ''\n }`\n )}\n fontIcon={iconPath || ''}\n aria-describedby={componentId}\n {...customAttributes}\n >\n {openInAModel !== 'show' && (\n <Link\n linkClassName={[\n 'minicardlink t-background-color',\n openInaNewTab === true ? 'icon-arrow-right-external' : '',\n 't-font-alt-s',\n ]}\n linkHref={ctaLink}\n target={openInaNewTab === true ? '_blank' : '_self'}\n trackingProperties={trackingProperties}\n rel={`${openInaNewTab ? 'noopener noreferrer' : ''}`}\n ref={CardHorizontalMiniRef}\n custom_click_track_value={custom_click_track_value}\n >\n {getCardContent()}\n </Link>\n )}\n {openInAModel === 'show' && (\n <div className={clsx('minicardlink t-background-color', 't-font-s')}>\n {getCardContent()}\n <Modal show={popupOpenState}>\n <Modal.Header labelText={modalHeader} popupHeaderOnCLoseFunc={toggleModal} />\n <Modal.Body>\n <RichText componentId={`richtext-${componentId}`} text={modalDescription}></RichText>\n </Modal.Body>\n </Modal>\n </div>\n )}\n </StyledHorzMiniCardContainer>\n <span id={componentId} className=\"sr-only\">\n {`${assetVariation !== 'iconfont' ? dynamicMedia?.altText : iconPath} ${header} ${\n descriptionRTEText ? descriptionRTEText : ''\n }`}\n </span>\n </>\n );\n};\n","import { TrackingPropsInterface } from '../../utils/enums/enums';\nimport { tags, renditions } from '../../utils/enums/enums';\n\nexport enum CardVerticalVariations {\n 'Standard' = 'standard',\n 'Tall1x1' = 'Tall1:1',\n 'Tall16x9' = 'Tall16:9',\n}\n\nexport interface CardVerticalProps {\n cardVerticalVariations:\n | CardVerticalVariations.Tall1x1\n | CardVerticalVariations.Tall16x9\n | CardVerticalVariations.Standard;\n openInNewTab?: boolean;\n rel?: string;\n icon?: string;\n eyebrow?: string | undefined;\n badgeIcon?: string;\n badgeText?: string;\n ctaLink: string;\n ctaType?: string;\n iconText?: string;\n iconFontValue?: string;\n header?: string;\n headerTag?: tags;\n description?: string | undefined;\n ctaLinkText?: string | undefined;\n dynamicMedia?: renditions;\n trackingProperties?: TrackingPropsInterface;\n styleclass?: string;\n componentName?: string;\n componentId?: string;\n custom_click_track_value?: string;\n hideTopicDetail?: boolean;\n}\n","import styled from 'styled-components';\nimport rtl from 'styled-components-rtl';\nimport { toRem, baseVariables } from '../../styles';\ninterface StyledComponentProps {\n showUnderline: boolean;\n}\nexport const StyledInputTextField = styled.div<StyledComponentProps>`\n ${rtl`\n \n .mobile-font-text-class {\n font-size: ${toRem(18)} !important;\n }\n &:after{\n content: \"\";\n position: absolute;\n left: 50%;\n top: ${toRem(52)};\n transform: translateX(-50%);\n width: 100%;\n border-bottom: ${(props: { showUnderline: boolean }) =>\n props.showUnderline ? toRem(2) + ' solid ' + baseVariables.color.neutral40 : 0} ;\n } \n `}\n`;\n","import React, { ChangeEvent, useEffect, useId, useRef, useState } from 'react';\nimport clsx from 'clsx';\n\nimport { InputTextFieldProps } from './InputTextField.types';\nimport { size, tags } from '../../utils/enums/enums';\nimport { Icon } from '../../atoms/Icon';\nimport { Text } from '../../atoms/Text';\nimport { RichText } from '../RichText';\nimport { StyledInputTextField } from './InputTextField.styles';\nimport { emailRegex } from '@marriott/mi-ui-library';\n\nexport const InputTextField = React.forwardRef<HTMLInputElement, InputTextFieldProps>(\n (\n {\n /**\n * get type from parent.By default type will be text.\n */\n setErrorHtml = false, // if we are getting error message with html tags\n\n type = 'text',\n /**\n * get inputValue from parent\n */\n inputValue,\n /**\n * assign inputValue from parent to input element\n */\n assignInputValue = false,\n /**\n * label to display on top\n */\n label,\n /**\n * label with icon to display on top\n */\n iconForLabel,\n\n /**\n * place holder text\n */\n placeHolderText,\n\n /**\n * Flag to show/hide the placeholder text within the input element\n */\n togglePlaceholder,\n\n /**\n * send input value to parent when user types\n */\n getInputValue,\n\n /**\n * container class for variation = default\n */\n className = 'm-input-text-field',\n /**\n * container class for variation = line-type\n */\n classNameForLineType,\n /**\n * function to call when input is on focus\n */\n onFocus,\n\n /**\n * function to call when input is blured\n */\n onBlur,\n\n /**\n * disable input field , works as just a text to display(read only)\n */\n // disableUserInput = false,\n\n /**\n * custom icon class\n */\n iconClass,\n\n /**\n * show icon variation\n */\n showIcon,\n /**\n * aria-label for icon to display\n */\n iconAriaLabel,\n\n iconOnMouseDownCapture,\n\n /**\n * custom class to hide error font classes\n */\n hideFontClass,\n\n /**\n * message to display on error or success state\n */\n messageToShow,\n /**\n * show message variation\n */\n showErrorMessage,\n /**\n * custom class for message to display\n */\n messageClass,\n /**\n * custom class for message icon to display\n */\n errorIconClass,\n /**\n * custom message font size\n */\n messageFontSize = size.medium,\n /**\n * show badge variation\n */\n showBadge,\n /**\n * badge value to display\n */\n badgeValue,\n /**\n * custom app specific prop for Downshift plugin\n */\n getInputProps,\n /**\n * handleKeyDown Event\n */\n handleKeyDown,\n /**\n * input max length value\n */\n inputMaxLength,\n /**\n * input max length value\n */\n iconOnClick,\n /**\n * optional custom click track value for the icon\n */\n icon_custom_click_track_value,\n /**\n * optional custom click track value\n */\n custom_click_track_value,\n\n infoLabel,\n getLabelProps,\n testId,\n variation = 'default', // options for input text field variations are 'default' and 'line-type'\n withinModal,\n showUnderline,\n inputTextFieldClassName,\n trailingIconProps,\n isFocusEnabled = true,\n isBlurOn = true,\n isClickEnabled = false,\n disabled,\n lastElementRef,\n mandatory = false,\n isEmail,\n customDownshiftLabel = false,\n },\n ref\n ) => {\n //value of input field to be returned to parent component\n const [value, setValue] = useState(inputValue);\n\n //to set the input field as input-error state if the value is not entered on the input blur\n const [isErrorBlur, setIsError] = useState(false);\n\n //state to hide place holder text\n const [isPlaceholderVisible, setPlaceholderVisible] = useState(true);\n const inputId = useId();\n const labelId = useId();\n\n //function to handle onFocus\n const handleFocus = () => {\n if (!togglePlaceholder) {\n setPlaceholderVisible(false);\n }\n onFocus?.();\n };\n\n //function to handle onBlur\n const handleBlur = (ev?: React.FocusEvent<HTMLInputElement>) => {\n setPlaceholderVisible(true);\n onBlur?.(ev);\n };\n\n //function to handle input value change\n const handleChange = (event: ChangeEvent<HTMLInputElement>) => {\n const newValue = event.target.value;\n setValue(newValue);\n //return input text value to parent component\n getInputValue?.(newValue);\n if (!newValue) {\n setPlaceholderVisible(true);\n }\n if (mandatory === true && newValue === '') {\n setIsError(true);\n } else {\n setIsError(false);\n }\n };\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const handleKeyDownEvent = (event: any) => {\n const newValue = event?.target?.value;\n if (event.key === 'Enter' || event.keyCode === 13) {\n event.preventDefault();\n handleKeyDown?.(newValue);\n }\n };\n\n useEffect(() => {\n setValue(inputValue);\n }, [inputValue]);\n\n const inputRef = useRef<HTMLInputElement>(null);\n useEffect(() => {\n if (infoLabel) {\n inputRef?.current?.setAttribute('aria-label', infoLabel);\n }\n }, [inputRef]);\n\n /**\n * to set the error on the input blur by checking the email format\n * or if there is no input entered\n */\n const inputBlur = (e: React.FocusEvent<HTMLInputElement>) => {\n if (mandatory === true && e.target.value === '') {\n setIsError(true);\n } else if (isEmail) {\n if (!emailRegex.test(e.target.value)) {\n setIsError(true);\n } else {\n setIsError(false);\n }\n } else {\n setIsError(false);\n }\n };\n\n return (\n <>\n {variation === 'default' && (\n <StyledInputTextField\n data-component-name=\"m-ui-library-InputTextField\"\n showUnderline={false}\n className={clsx(className, showErrorMessage || isErrorBlur ? 'is-error' : '')}\n data-testid={testId}\n >\n <label htmlFor={inputId} id={labelId} {...getLabelProps?.()}>\n {label}\n {mandatory ? '*' : ''}\n </label>\n <input\n {...{ custom_click_track_value: custom_click_track_value }}\n ref={inputRef || ref}\n type={type}\n id={inputId}\n name={`input-text-${label}`}\n onKeyDown={handleKeyDownEvent}\n {...(isPlaceholderVisible && placeHolderText ? { placeholder: placeHolderText } : {})}\n {...getInputProps?.({ onKeyDown: handleKeyDownEvent })}\n value={assignInputValue ? inputValue : value}\n onChange={handleChange}\n onFocus={isFocusEnabled ? handleFocus : undefined}\n onClick={isClickEnabled ? iconOnClick : undefined}\n onBlur={isBlurOn ? handleBlur : inputBlur}\n maxLength={inputMaxLength}\n aria-label={infoLabel}\n {...(customDownshiftLabel ? {} : { 'aria-labelledby': labelId })}\n {...(showBadge && !showIcon ? { 'aria-describedby': `badge-${inputId}` } : {})}\n role=\"textbox\"\n className={clsx(inputTextFieldClassName, custom_click_track_value ? 'custom_click_track' : '')}\n disabled={disabled}\n required={mandatory}\n />\n {showIcon && (\n <span\n onClick={iconOnClick}\n className={clsx('trailing-element', icon_custom_click_track_value ? 'custom_click_track' : '')}\n tabIndex={0}\n ref={lastElementRef}\n role=\"button\"\n aria-label={iconAriaLabel}\n {...{ custom_click_track_value: icon_custom_click_track_value }}\n {...trailingIconProps}\n >\n <Icon\n iconClass={iconClass}\n ariaLabel={iconAriaLabel}\n {...{ custom_click_track_value: icon_custom_click_track_value }}\n ></Icon>\n </span>\n )}\n {(showErrorMessage || isErrorBlur) &&\n (setErrorHtml ? (\n <RichText\n componentId={`componentid-${inputId}-input-error`}\n customClass={messageClass}\n text={messageToShow ?? ''}\n />\n ) : (\n <Text\n fontSize={messageFontSize}\n element={tags.span}\n customClass={messageClass}\n copyText={messageToShow ?? ''}\n />\n ))}\n {showBadge && !showIcon && (\n <span className=\"m-badge-inline-neutral trailing-element\" id={`badge-${inputId}`}>\n {badgeValue}\n </span>\n )}\n </StyledInputTextField>\n )}\n {variation === 'line-type' && (\n <StyledInputTextField\n showUnderline={showUnderline ? true : false}\n className={clsx(\n classNameForLineType,\n 'm-input-text-field-no-border',\n withinModal && 'within-modal ',\n 'custom_click_track',\n showErrorMessage ? 'is-error' : ''\n )}\n data-component-name=\"m-ui-library-InputTextField\"\n data-testid={testId}\n {...{ custom_click_track_value: custom_click_track_value }}\n >\n <label htmlFor={inputId} id={labelId} {...getLabelProps?.()}>\n <Icon iconClass={iconForLabel}></Icon>\n {label}\n </label>\n <input\n {...{ custom_click_track_value: `${custom_click_track_value}` }}\n ref={inputRef || ref}\n type={type}\n id={inputId}\n placeholder={isPlaceholderVisible && placeHolderText ? placeHolderText : ''}\n name={`input-text-${label}`}\n onKeyDown={handleKeyDownEvent}\n {...getInputProps?.({ onKeyDown: handleKeyDownEvent })}\n value={assignInputValue ? inputValue : value}\n onChange={handleChange}\n onFocus={isFocusEnabled ? handleFocus : undefined}\n onClick={isClickEnabled ? iconOnClick : undefined}\n onBlur={handleBlur}\n maxLength={inputMaxLength}\n aria-label={infoLabel}\n {...(customDownshiftLabel ? {} : { 'aria-labelledby': labelId })}\n {...(showBadge && !showIcon ? { 'aria-describedby': `badge-${inputId}` } : {})}\n role=\"textbox\"\n className={inputTextFieldClassName}\n />\n {showIcon && (\n <span\n role=\"button\"\n onClick={iconOnClick ? iconOnClick : undefined}\n className={clsx('trailing-element', icon_custom_click_track_value ? 'custom_click_track' : '')}\n tabIndex={0}\n onMouseDownCapture={e => {\n e.stopPropagation();\n iconOnMouseDownCapture && iconOnMouseDownCapture();\n }}\n ref={lastElementRef}\n {...{ custom_click_track_value: icon_custom_click_track_value }}\n aria-label={iconAriaLabel}\n {...trailingIconProps}\n >\n <Icon iconClass={iconClass} custom_click_track_value={icon_custom_click_track_value}></Icon>\n </span>\n )}\n {showErrorMessage && (\n <>\n {errorIconClass && <span className={clsx('icon', errorIconClass)}></span>}\n <Text\n fontSize={hideFontClass ? ('' as size.extraSmall) : messageFontSize}\n copyText={messageToShow ? messageToShow : ''}\n element={tags.span}\n customClass={messageClass}\n ></Text>\n </>\n )}\n {showBadge && !showIcon && (\n <span className=\"m-badge-inline-neutral trailing-element\" id={`badge-${inputId}`}>\n {badgeValue}\n </span>\n )}\n </StyledInputTextField>\n )}\n </>\n );\n }\n);\n","import styled from 'styled-components';\nimport { toRem, baseVariables } from '../../styles';\n\nexport const StyledLinkCollection = styled.ul`\n display: flex;\n &.vertical-align {\n flex-direction: column;\n }\n &.horizontal-align {\n display: block;\n .cl__list-item {\n display: inline-block;\n @media ${baseVariables.mediaQuery.md} {\n position: relative;\n padding-right: ${toRem(24)};\n }\n }\n }\n &.cl {\n &__list {\n &.m-accordion__list {\n width: 100%;\n margin-top: 0;\n margin-bottom: 0;\n padding-left: 0;\n list-style: none;\n }\n }\n }\n .cl {\n &__list-item {\n &:last-child {\n .cl__item-link {\n @media ${baseVariables.mediaQuery.lg} {\n margin-bottom: ${toRem(2)};\n }\n }\n }\n }\n &__item-link {\n display: flex;\n padding: ${toRem(8)} 0;\n text-decoration: none;\n line-height: ${toRem(16)};\n max-width: max-content;\n word-break: break-word;\n align-items: center;\n @media ${baseVariables.mediaQuery.md} {\n display: block;\n }\n &.icon-arrow-right-external,\n &.icon-arrow-left-external {\n &::before {\n font-size: ${toRem(20)};\n right: -${toRem(21)};\n bottom: ${toRem(7)};\n }\n }\n &.icon-arrow-left-external:hover::before {\n transform: rotate(45deg);\n }\n &:hover {\n text-decoration: underline;\n font-weight: ${baseVariables.font.fontWeightRegular};\n }\n .icon-arrow-right,\n .icon-arrow-left,\n .icon-arrow-right-external,\n .icon-arrow-left-external {\n line-height: inherit;\n @media ${baseVariables.mediaQuery.md} {\n position: absolute;\n margin: ${toRem(-3)} 0 0 ${toRem(2)};\n }\n }\n }\n }\n`;\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport React from 'react';\nimport clsx from 'clsx';\n\nimport { LinksCollectionProps, LinksCollectionVariations, LinksCollectionAlignment } from './LinksCollection.types';\nimport { StyledLinkCollection } from './LinksCollection.styles';\nimport { Icon } from '../../atoms/Icon';\nimport { Link } from '../../atoms/Link';\nimport { Heading } from '../../atoms/Heading';\nimport { tags, headingType } from '../../utils/enums/enums';\nimport { useDocumentDirection } from '../../hooks';\n\nexport const LinksCollection: React.FC<LinksCollectionProps> = ({\n variation = LinksCollectionVariations.Standard,\n id,\n heading,\n hasIconArrow = true,\n linkListData,\n alignment = 'vertical-align',\n children,\n trackingProperties,\n ...props\n}) => {\n const listCollectionClass =\n variation === LinksCollectionVariations.Standard\n ? `${clsx('cl__list', 'm-accordion__list', 'collapsed hide-visibility')}`\n : '';\n const linkListClass = variation === LinksCollectionVariations.Standard ? `${clsx('cl__list-item')}` : '';\n const linkItemClass = variation === LinksCollectionVariations.Standard ? `${clsx('cl__item-link t-font-s')}` : '';\n const customAttributes = trackingProperties?.enableScrollingBehavior\n ? { 'data-section-tracking': props?.componentId }\n : {};\n\n const dir = useDocumentDirection();\n\n return (\n <>\n {heading && (\n <Heading\n element={tags.h2}\n variation={headingType.subtitle}\n titleText={heading}\n customClass={props.headingClassName}\n />\n )}\n <StyledLinkCollection\n data-component-name=\"m-ui-library-LinksCollection\"\n data-testid=\"ui-library-LinksCollection\"\n id={id}\n className={clsx(\n listCollectionClass,\n props?.listCollectionClassname,\n alignment === LinksCollectionAlignment.Horizontal ? 'horizontal-align' : 'vertical-align'\n )}\n {...customAttributes}\n >\n {linkListData?.map((el: any, idx: number) => (\n <li className={clsx(linkListClass, props?.linkListClassName)} key={`${el}_${idx}`} id={el?.id}>\n <Link\n linkHref={el?.linkURL}\n linkClassName={clsx(\n linkItemClass,\n props?.listItemClassName,\n `${trackingProperties?.clickTrack ? 'custom_click_track' : ''}`,\n variation === LinksCollectionVariations.Standard && hasIconArrow\n ? el?.openInNewTab\n ? dir === 'ltr'\n ? 'icon-m icon-arrow-right-external'\n : 'icon-m icon-arrow-left-external'\n : ''\n : ''\n )}\n custom_click_track_value={\n trackingProperties?.clickTrack\n ? `${trackingProperties?.location}|${el?.linkLabel}|${el?.openInNewTab ? 'external' : 'internal'}`\n : ''\n }\n rel={el?.openInNewTab ? 'noopener noreferrer' : ''}\n text={el?.linkLabel}\n target={el.openInNewTab ? '_blank' : '_self'}\n >\n {variation === LinksCollectionVariations.Standard && hasIconArrow && (\n <Icon\n iconClass={clsx(\n 'icon-m',\n !el?.openInNewTab ? (dir === 'ltr' ? 'icon-arrow-right' : 'icon-arrow-left') : ''\n )}\n />\n )}\n <span className=\"sr-only\">{el?.openInNewTab ? 'Opens a new window' : ''}</span>\n {children}\n </Link>\n </li>\n ))}\n </StyledLinkCollection>\n </>\n );\n};\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { TrackingPropsInterface } from '../../utils/enums/enums';\n\nexport enum LinksCollectionVariations {\n Standard = 'standardLinks',\n NavLink = 'Link',\n}\nexport enum LinksCollectionAlignment {\n Vertical = 'vertical-align',\n Horizontal = 'horizontal-align',\n}\nexport interface LinksCollectionProps {\n id?: string;\n heading?: string;\n variation?: LinksCollectionVariations;\n headingClassName?: string | string[];\n listCollectionClassname?: string | string[];\n linkListClassName?: string | string[];\n listItemClassName?: string | string[];\n listIconClassName?: string | string[];\n linkListData: any;\n alignment?: LinksCollectionAlignment;\n children?: React.ReactNode;\n trackingProperties?: TrackingPropsInterface;\n hasIconArrow?: boolean;\n cardLinkIconClass?: string;\n componentName?: string;\n componentId?: string;\n}\n","import styled from 'styled-components';\nimport rtl from 'styled-components-rtl';\nimport { toRem, baseVariables } from '../../styles';\nimport { StyledPopupProps } from './Modal.types';\nimport { StyledPopupMain } from './ModalBody/index.styles';\n\nexport const StyledPopupDiv = styled.div<StyledPopupProps>`\n ${rtl`\n ${(props: StyledPopupProps): string =>\n !props.show\n ? `display:none;`\n : `\n overflow: visible;\n width: 100%;\n position: fixed;\n z-index:1011;\n top: 0;\n height: auto;\n margin:0 auto;\n left:0;\n right:0;\n bottom:0;\n &:before{\n position: absolute;\n content: \"\";\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n background: ${baseVariables.color.base10};\n opacity:0.5;\n }\n @media only ${baseVariables.mediaQuery.md} {\n display: flex;\n align-items: center;\n }\n @media only ${baseVariables.mediaQuery.lg} {\n display: block;\n }`}\n `}\n`;\n\nexport const StyledPopUpContentContainerDiv = styled.div`\n ${rtl`\n z-index: 1;\n background: ${baseVariables.color.alert10};\n box-shadow: 0 ${toRem(1)} ${toRem(15)} 0 rgba(0, 0, 0, 0.12);\n border-radius: ${toRem(14)};\n\n @media only ${baseVariables.mediaQuery.md} {\n width: 100%;\n }\n @media only ${baseVariables.mediaQuery.lg} {\n width: auto;\n }\n\n ${StyledPopupMain} {\n overflow: hidden;\n overflow-y: auto;\n height: fit-content;\n }\n\n .hide-class {\n display: none;\n }\n \n .custom-scrollbar {\n ::-webkit-scrollbar-thumb {\n border: ${toRem(4)} solid rgba(0, 0, 0, 0);\n background-clip: padding-box;\n border-radius: ${toRem(9999)};\n background-color: rgb(187 182 182);\n }\n\n ::-webkit-scrollbar {\n width: ${toRem(14)};\n }\n ::-webkit-scrollbar-track {\n background-color:transparent;\n @media only ${baseVariables.mediaQuery.sm}{\n background-color:${baseVariables.color.alert10};\n }\n }\n }\n position: fixed;\n margin: 0;\n bottom: 0;\n max-width: 100%;\n width: 100%;\n ${StyledPopupMain} {\n padding: ${toRem(15)} ${toRem(24)};\n }\n @media only ${baseVariables.mediaQuery.md}{\n position: relative;\n margin: ${toRem(56)} auto;\n max-width: ${toRem(744)};\n ${StyledPopupMain} {\n padding: ${toRem(15)} ${toRem(32)};\n padding-right:${toRem(16)};\n }\n }\n `}\n`;\n","import { useEffect, useRef } from 'react';\nimport { PopupProps } from './Modal.types';\nimport ModalHeader from './ModalHeader';\nimport ModalBody from './ModalBody';\nimport ModalFooter from './ModalFooter';\nimport ModalFooterGeneric from './ModalFooterGeneric';\nimport { StyledPopUpContentContainerDiv, StyledPopupDiv } from './Modal.styles';\nimport clsx from 'clsx';\n\nconst Modal: React.FC<PopupProps> = ({\n className,\n show,\n children,\n handleBlur,\n popupOpenState,\n setPopupOpenState,\n role,\n labelledBy,\n onClose,\n secondaryClassName,\n modalId,\n disableScrollOnBody = false,\n ...props\n}) => {\n const popupRef = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n const popupElem = popupRef.current;\n if (popupElem) {\n const setupFocusTrap = () => {\n const handleKeyDown = (event: KeyboardEvent) => {\n // Find all focusable elements within the popup\n const focusableElements = popupElem?.querySelectorAll(\n '[tabindex]:not([disabled]), a[href]:not([disabled]), button:not([disabled]), input:not([disabled]), textarea:not([disabled]), select:not([disabled])'\n );\n // Find the first and last focusable elements\n const firstFocusableElement = focusableElements?.[0] as HTMLInputElement;\n const lastFocusableElement = focusableElements?.[focusableElements.length - 1] as HTMLInputElement;\n // Handle keyboard events\n if (event.key === 'Tab') {\n if (!event.shiftKey) {\n // Tab pressed (forward)\n if (document.activeElement === lastFocusableElement) {\n event.preventDefault(); // Prevent default tab behavior\n firstFocusableElement?.focus(); // Focus on the first element\n }\n } else if (event.shiftKey) {\n // Shift+Tab pressed (backward)\n if (document.activeElement === firstFocusableElement) {\n event.preventDefault(); // Prevent default tab behavior\n lastFocusableElement?.focus(); // Focus on the last element\n }\n }\n } else if (event.key === 'Escape') {\n setPopupOpenState?.(false);\n onClose?.();\n }\n };\n // Add event listener for keyboard navigation\n popupElem.addEventListener('keydown', handleKeyDown);\n // Cleanup function: remove the event listener when the component unmounts\n return () => {\n popupElem.removeEventListener('keydown', handleKeyDown);\n };\n };\n\n // Set up focus trap immediately for modals with static content\n const cleanupFocusTrap = setupFocusTrap();\n\n // Set up focus trap when modal's content changes (for modals with dynamic content)\n const observer = new MutationObserver(setupFocusTrap);\n observer.observe(popupElem as Node, { childList: true, subtree: true });\n\n return () => {\n cleanupFocusTrap();\n observer.disconnect();\n };\n } else return;\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useEffect(() => {\n // close popup on desktop if tab focus is out of popup or user clicks outside the popup\n if (handleBlur && popupOpenState && setPopupOpenState) {\n const popupElem = popupRef.current;\n if (popupElem && popupOpenState) {\n // Below, we are checking if the clicking is on any of the elements that are not contained\n // within 'popupElem' but are used to either open the popup or to return to the popup and closing popup accordingly\n const clickListener = (event: Event): void => {\n if (\n !popupElem.contains(event.target as Element) &&\n !popupElem.contains(document.activeElement) &&\n !(\n document.activeElement?.classList.contains('sm-search-result-all-filter-component-button') ||\n document.activeElement?.classList.contains('hqv-modal-opener') ||\n // The 'gm-ui-hover-effect' is the class contained in the google maps 'keyboard controls' close button.\n // Adding the condition prevents unexpected modal closings by clicking on the close btn.\n document.activeElement?.classList.contains('gm-ui-hover-effect') ||\n (event?.target as HTMLElement)?.parentElement?.classList.contains('return-to-categories') ||\n (event?.target as HTMLElement)?.classList.contains('return-to-categories') ||\n (event?.target as HTMLElement)?.classList.contains('gm-ui-hover-effect')\n )\n ) {\n if (onClose) {\n setPopupOpenState(false);\n onClose();\n }\n }\n };\n\n // focus out handler\n const focusoutListener = (event: FocusEvent): void => {\n if (\n event.relatedTarget &&\n !popupElem.contains(event.relatedTarget as Element) &&\n !popupElem.contains(document.activeElement) &&\n !popupElem.contains(event.target as Element)\n ) {\n if (onClose) {\n setPopupOpenState(false);\n onClose();\n }\n }\n };\n const clickListenerForToolTip = (event: Event): void => {\n if (\n !popupElem.contains(event.target as Element) &&\n !popupElem.contains(document.activeElement) &&\n !(event.target as Element)?.classList.contains('m-link-icon-button-info')\n ) {\n if (onClose) {\n onClose();\n }\n setPopupOpenState(false);\n }\n };\n //Only if its a tooltip popup\n if (secondaryClassName) {\n document.addEventListener('click', clickListenerForToolTip);\n } //other popups\n else {\n document.addEventListener('click', clickListener);\n popupElem.addEventListener('focusout', focusoutListener);\n }\n\n document.addEventListener('click', clickListener);\n popupElem.addEventListener('focusout', focusoutListener);\n\n return (): void => {\n document.removeEventListener('click', clickListener);\n document.removeEventListener('click', clickListenerForToolTip);\n popupElem.removeEventListener('focusout', focusoutListener);\n };\n }\n }\n\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n return (): void => {};\n }, [handleBlur, popupOpenState, setPopupOpenState]);\n\n useEffect(() => {\n if (popupOpenState) {\n popupRef?.current?.focus();\n }\n }, [popupOpenState]);\n\n useEffect(() => {\n if (disableScrollOnBody) {\n document.body.style.overflow = show ? 'hidden' : 'auto';\n return () => {\n document.body.style.overflow = 'auto';\n };\n } else return;\n }, [show, disableScrollOnBody]);\n\n return (\n <StyledPopupDiv\n data-component-name=\"m-ui-library-Modal\"\n data-testid=\"ui-library-Modal\"\n className={className}\n show={show}\n >\n <StyledPopUpContentContainerDiv\n className={clsx('custom-scrollbar', secondaryClassName)}\n ref={popupRef}\n role={role}\n aria-labelledby={labelledBy}\n tabIndex={0}\n {...props}\n {...(modalId ? { id: modalId } : {})} // add id props\n >\n {children}\n </StyledPopUpContentContainerDiv>\n </StyledPopupDiv>\n );\n};\n\nexport default Object.assign(Modal, {\n Header: ModalHeader,\n Body: ModalBody,\n Footer: ModalFooter,\n FooterGeneric: ModalFooterGeneric,\n});\n","import styled from 'styled-components';\nimport rtl from 'styled-components-rtl';\nimport { toRem, baseVariables } from '../../../styles';\n\nexport const StyledPopupMain = styled.div`\n ${rtl`\n font-weight: ${baseVariables.font['fontWeightRegular']};\n &.hqv-modal-content {\n &.custom-scrollbar::-webkit-scrollbar-thumb:hover{\n background-clip: padding-box; \n }\n &::-webkit-scrollbar-track {\n margin-bottom: ${toRem(88)} !important;\n background-color: transparent; \n }\n &.hqv-modal-data {\n visibility: hidden;\n display: none;\n }\n &.modal-content-loader {\n display: flex;\n justify-content: center;\n align-items: center;\n width: 100%;\n @media ${baseVariables.mediaQuery.lg} {\n height: ${toRem(250)};\n min-height: ${toRem(250)};\n max-height: ${toRem(250)};\n }\n @media only ${baseVariables.mediaQuery.md} {\n height: ${toRem(200)};\n min-height: ${toRem(200)};\n max-height: ${toRem(200)};\n }\n }\n min-height:68vh;\n height: 68vh;\n max-height: 68vh;\n padding-bottom: ${toRem(32)} !important;\n border-radius: 0 0 ${toRem(14)} ${toRem(14)};\n .user-thin-bar, .cmp-container {\n display: none;\n }\n padding-left: 0 !important;\n padding-right: 0 !important;\n }\n .m-checkbox-selection-item input[type='checkbox'] + label {\n border: none;\n background: transparent;\n &:hover {\n background: transparent;\n }\n display:block;\n }\n .m-checkbox-selection-item input[type='checkbox']:checked + label {\n border: none;\n background: transparent;\n &:hover {\n background: transparent;\n }\n }\n @media only ${baseVariables.mediaQuery.md} {\n height: 70vh;\n max-height: 70vh;\n input[type='radio']:focus + label:before {\n outline: none !important;\n }\n }\n @media only ${baseVariables.mediaQuery.lg} {\n height: auto;\n }\n height: 60vh;\n max-height: 60vh;\n @media only ${baseVariables.mediaQuery.sm} {\n height: 63vh;\n max-height: 63vh;\n }\n `}\n`;\n","import { FC } from 'react';\n\nimport { StyledPopupMain } from './index.styles';\n\nconst PopupMain: FC<{ className?: string; children: JSX.Element | JSX.Element[] }> = ({ children, className }) => {\n return <StyledPopupMain className={className}>{children}</StyledPopupMain>;\n};\n\nexport default PopupMain;\n","import styled from 'styled-components';\nimport rtl from 'styled-components-rtl';\nimport { baseVariables, toRem } from '../../../styles';\n\nexport const StyledPopupFooterDiv = styled.div`\n ${rtl`\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: space-between;\n z-index: 2;\n bottom: 0;\n width: 100%;\n max-width: 100%;\n background-color: ${baseVariables.color.neutral10};\n border-top: 1px solid ${baseVariables.color.neutral20};\n\n .clear {\n color: ${baseVariables.color.base10};\n font-size: ${toRem(13)};\n background: transparent;\n &:after {\n display: none !important;\n }\n &:focus {\n outline: none;\n }\n }\n .reset-btn {\n text-align: center;\n padding: 0;\n margin-top: ${toRem(11)};\n background: transparent;\n border: none;\n }\n .view-rates-button{\n width:${toRem(166)};\n }\n height: ${toRem(56)};\n padding: ${toRem(12)} ${toRem(16)};\n border-radius: 0;\n .view-rates-button{\n width:${toRem(128)};\n height:${toRem(32)};\n font-size:${toRem(13)};\n}\n height: auto;\n padding: ${toRem(22)} ${toRem(24)};\n border-radius: 0 0 ${toRem(14)} ${toRem(14)};\n @media only ${baseVariables.mediaQuery.sm}{ \n .view-rates-button{\n width:${toRem(166)};\n height: ${toRem(40)};\n }\n `}\n`;\n\nexport const StyledApplyButtonDiv = styled.div`\n ${rtl`\n .apply-button-container {\n margin: ${toRem(28)} 0;\n display: flex;\n align-items: center;\n justify-items: center;\n color: ${baseVariables.color.alert10};\n }\n .apply-button {\n height: ${toRem(40)};\n width: ${toRem(128)};\n background-color: ${baseVariables.color.base10};\n border-radius: ${toRem(20)};\n justify-content: center;\n align-items: center;\n display: flex;\n color: ${baseVariables.color.alert10};\n }\n\n @media only ${baseVariables.mediaQuery.sm} {\n .apply-button {\n height: ${toRem(32)};\n width: ${toRem(82)};\n font-size: ${toRem(13)};\n }\n }\n `}\n`;\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { FC, MouseEvent } from 'react';\nimport clsx from 'clsx';\nimport { PopupFooterProps } from '../Modal.types';\nimport { StyledApplyButtonDiv, StyledPopupFooterDiv } from './index.styles';\n\ndeclare module 'react' {\n interface HTMLAttributes<T> {\n custom_click_track_value?: string;\n }\n}\n\nconst PopupFooter: FC<PopupFooterProps> = ({\n popupHeaderOnCLoseFunc,\n applyBtnClickHandler,\n clearClickHandler,\n setPopUpOpenState,\n clearButtonLabel,\n applyLabel,\n setFeatureSelected,\n clickTrackingLoc,\n viewRatesURL,\n className,\n fromToolTip,\n viewRateLabel,\n applyButtonDisabled,\n applyBtnClickTrackValue,\n errorMessageAriaLabel,\n clearBtnClickTrackValue,\n clearBtnClassname,\n}) => {\n const onHandleApplyClick = (ev: MouseEvent): void => {\n if (setFeatureSelected) {\n setFeatureSelected(true);\n }\n if (applyBtnClickHandler) {\n applyBtnClickHandler(ev);\n }\n if (popupHeaderOnCLoseFunc) {\n popupHeaderOnCLoseFunc(false);\n }\n if (setPopUpOpenState) {\n setPopUpOpenState(false);\n }\n };\n const clearButtonHandler = (event: any): void => {\n if (event.key === 'Enter' || event.type === 'click' || event.keyCode === 13) {\n if (clearClickHandler) {\n clearClickHandler(event);\n }\n }\n };\n return (\n <StyledPopupFooterDiv className={className}>\n {!fromToolTip && (\n <>\n {clearButtonLabel && (\n <button\n onClick={(e): void => clearButtonHandler(e)}\n onKeyDown={(e): void => clearButtonHandler(e)}\n className={clsx(\n 'clear',\n clearBtnClassname ? clearBtnClassname : 'm-link-tertiary-button',\n 'custom_click_track'\n )}\n {...{\n custom_click_track_value: clearBtnClickTrackValue\n ? clearBtnClickTrackValue\n : `${clickTrackingLoc}| Footer Button: Clear |internal`,\n }}\n >\n {clearButtonLabel}\n </button>\n )}\n <StyledApplyButtonDiv>\n <button\n type=\"button\"\n aria-label={errorMessageAriaLabel ? errorMessageAriaLabel : applyLabel}\n role=\"button\"\n onClick={(e): void => onHandleApplyClick(e)}\n tabIndex={applyButtonDisabled ? -1 : 0}\n className={clsx(\n 'm-button-m',\n 'apply-button',\n 'm-button-primary',\n 'custom_click_track',\n applyButtonDisabled ? 'disabled' : ''\n )}\n {...{\n custom_click_track_value: applyBtnClickTrackValue\n ? applyBtnClickTrackValue\n : `${clickTrackingLoc}| Footer Button: Apply Button |internal`,\n }}\n >\n {applyLabel}\n </button>\n </StyledApplyButtonDiv>\n </>\n )}\n {fromToolTip && (\n <a\n href={viewRatesURL}\n className={clsx('view-rates-button-container', 'analytics-click', 'custom_click_track')}\n {...{ custom_click_track_value: `${clickTrackingLoc}| View Rates |internal` }}\n tabIndex={-1}\n >\n <button\n type=\"button\"\n className={clsx(\n 'm-button-m',\n 'view-rates-button',\n 'apply-button',\n 'm-button-primary',\n 'custom_click_track'\n )}\n {...{ custom_click_track_value: `${clickTrackingLoc}| Footer Button: View Rate Button |internal` }}\n >\n {viewRateLabel}\n </button>\n </a>\n )}\n </StyledPopupFooterDiv>\n );\n};\n\nexport default PopupFooter;\n","import styled from 'styled-components';\nimport rtl from 'styled-components-rtl';\nimport { baseVariables, toRem } from '../../../styles';\n\nconst { color, mediaQuery } = baseVariables;\n\nexport const StyledPopupFooterGeneric = styled.div`\n ${rtl`\n position: relative;\n display: flex;\n align-items: center;\n justify-content: space-between;\n z-index: 2;\n width: 100%;\n max-width: 100%;\n background-color: ${color.neutral10};\n border-top: ${toRem(1)} solid ${color.neutral20};\n height: auto;\n padding: ${toRem(12)} ${toRem(16)};\n border-radius: 0 0 ${toRem(14)} ${toRem(14)};\n\n @media only ${mediaQuery.md} {\n padding: ${toRem(21)} ${toRem(32)};\n }\n\n .m-modal-scrim {\n height: ${toRem(44)};\n top: ${toRem(-44.5)};\n }\n `}\n`;\n\nexport const StyledButtonGroup = styled.div`\n ${rtl`\n display: flex;\n justify-content: flex-end;\n width: 100%;\n gap: ${toRem(24)};\n `}\n`;\n","import React, { FC, Children } from 'react';\nimport { PopupFooterGenericProps } from '../Modal.types';\nimport { StyledPopupFooterGeneric, StyledButtonGroup } from './index.styles';\n\nconst PopupFooter: FC<PopupFooterGenericProps> = ({\n actions,\n className,\n customClass,\n fadeEffect = false,\n children,\n}) => {\n return (\n <StyledPopupFooterGeneric className={className}>\n <>\n {fadeEffect && <div className=\"m-modal-scrim\"></div>}\n {children}\n <StyledButtonGroup className={customClass}>\n {Children.map(actions, (action, index) => {\n return React.isValidElement(action)\n ? React.cloneElement(action as React.ReactElement, { key: index })\n : null;\n })}\n </StyledButtonGroup>\n </>\n </StyledPopupFooterGeneric>\n );\n};\n\nexport default PopupFooter;\n","import styled from 'styled-components';\nimport rtl from 'styled-components-rtl';\nimport { toRem, baseVariables } from '../../../styles';\n\n// TODO: remove lines 20 to 25 after GS is fixed\nexport const StyledPopupHeaderDiv = styled.div`\n ${rtl`\n &.hqv-modal-content-header {\n padding-top: ${toRem(16)};\n padding-bottom: ${toRem(16)};\n padding-right: ${toRem(20)};\n height: ${toRem(65)};\n visibility: hidden;\n }\n padding: ${toRem(35)};\n border-bottom: ${toRem(1)} solid ${baseVariables.color.neutral30};\n display: flex;\n align-items: center;\n justify-content: space-between;\n @media ${baseVariables.mediaQuery.allTablets}{\n height: ${toRem(90)};\n }\n @media ${baseVariables.mediaQuery.desktop}{\n height: ${toRem(93)};\n }\n .popup-close {\n min-height: ${toRem(32)};\n min-width: ${toRem(32)};\n border-radius: ${toRem(4)};\n background-color: ${baseVariables.color.neutral20};\n color: ${baseVariables.color.base15};\n display: flex;\n align-items: center;\n justify-content: center;\n\n &:hover {\n cursor: pointer;\n }\n &:focus {\n cursor: pointer;\n }\n }\n\n @media only ${baseVariables.mediaQuery.sm} {\n padding: ${toRem(32)} ${toRem(32)};\n .header-heading {\n font-weight: ${baseVariables.font['fontWeightMedium']};\n font-size: ${toRem(22)};\n }\n }\n `}\n`;\n\nexport const StyledCloseDiv = styled.div`\n color: ${baseVariables.color['base10']};\n`;\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { FC } from 'react';\nimport clsx from 'clsx';\nimport { PopupHeaderProps } from '../Modal.types';\nimport { StyledPopupHeaderDiv, StyledCloseDiv } from './index.styles';\nimport { useCheckBreakpoint } from '../../../hooks';\nimport { Heading } from '../../../atoms/Heading';\nimport { headingType, tags } from '../../../utils/enums/enums';\n\ndeclare module 'react' {\n interface HTMLAttributes<T> {\n custom_click_track_value?: string;\n }\n}\n\nconst PopupHeader: FC<PopupHeaderProps> = ({\n className,\n labelText,\n popupHeaderOnCLoseFunc,\n popupCloseClassName,\n headingTagElement = tags.h4,\n closeIconClickTrackValue,\n customHeadingClass,\n closeBtnAriaLabel,\n}) => {\n const handleClick = (event: any): void => {\n if (event.key === 'Enter' || event.type === 'click' || event.keyCode === 13) {\n if (popupHeaderOnCLoseFunc) {\n popupHeaderOnCLoseFunc(false);\n }\n }\n };\n const isDesktop = useCheckBreakpoint('viewportM'); // check if viewport is desktop till 768px\n const clickTrackingLoc = 'Phoenix Search Results';\n return (\n <StyledPopupHeaderDiv className={className}>\n {labelText && (\n <Heading\n element={headingTagElement}\n variation={headingType.title}\n customClass={clsx(customHeadingClass ?? (isDesktop ? 't-subtitle-xl' : 't-font-m'), 'mb-0', 'header-heading')}\n titleText={labelText}\n />\n )}\n <div\n className={clsx('popup-close', 'custom_click_track', popupCloseClassName)}\n tabIndex={0}\n role=\"button\"\n onClick={(e): void => {\n handleClick(e);\n }}\n onKeyDown={(e): void => {\n handleClick(e);\n }}\n {...{\n custom_click_track_value: closeIconClickTrackValue\n ? closeIconClickTrackValue\n : `${clickTrackingLoc}| Close Button |internal`,\n }}\n aria-label={closeBtnAriaLabel || 'Close pop up'}\n >\n <StyledCloseDiv className=\"icon-clear\"></StyledCloseDiv>\n </div>\n </StyledPopupHeaderDiv>\n );\n};\n\nexport default PopupHeader;\n","// Styles for RichText go here.\nimport styled from 'styled-components';\nimport { baseVariables } from '../../styles';\n\nexport const StyledRichText = styled.div`\n .custom-link {\n display: block;\n @media ${baseVariables.mediaQuery.md} {\n display: inline;\n }\n }\n .line-separator {\n display: none;\n @media ${baseVariables.mediaQuery.md} {\n display: inline;\n }\n }\n a {\n text-decoration: underline;\n &:hover {\n text-decoration: underline;\n }\n }\n\n a:has(span.m-link-action),\n a:has(span.m-link-tertiary-button-external) {\n text-decoration: none;\n &:hover {\n text-decoration: none;\n }\n }\n\n span.m-link-action a,\n span.m-link-tertiary-button-external a {\n text-decoration: none;\n &:hover {\n text-decoration: none;\n }\n }\n\n .m-link-action {\n font-size: inherit;\n font-weight: inherit;\n line-height: inherit;\n color: inherit;\n border-bottom-color: inherit;\n &:hover {\n font-weight: inherit;\n }\n }\n .m-link-tertiary-button-external {\n width: unset !important;\n overflow: visible !important;\n font-size: inherit;\n }\n ul {\n list-style: disc !important;\n }\n`;\n","import React, { ChangeEvent, FC, useEffect, useRef } from 'react';\nimport { RichTextProps } from './RichText.types';\nimport { StyledRichText } from './RichText.styles';\nimport clsx from 'clsx';\n\nexport const RichText: FC<RichTextProps> = props => {\n const { text, componentId, styleclass, customClass, contentEditable, onChange, ...customProps } = props;\n const editableDivRef = useRef<HTMLDivElement>(null);\n\n // Function to update aria-labels on <a> tags based on parent span's class names\n const updateAnchorAriaLabels = () => {\n if (!text) return; // Exit early if text is null or empty\n\n // Handle <span> elements\n editableDivRef.current?.querySelectorAll('span').forEach(span => {\n let anchorTag = span.querySelector('a'); // Find <a> tag within <span>\n\n // Check if <span> is inside an <a> if no <a> is found within\n if (!anchorTag && span.parentElement?.tagName === 'A') {\n anchorTag = span.parentElement as HTMLAnchorElement;\n }\n\n if (anchorTag) {\n if (span.classList.contains('m-link-tertiary-button-external')) {\n anchorTag.setAttribute('aria-label', `${anchorTag.textContent} Clickable link Opens in new tab / window`);\n } else if (span.classList.contains('m-link-action')) {\n anchorTag.setAttribute('aria-label', `${anchorTag.textContent} Clickable link`);\n } else {\n anchorTag.removeAttribute('aria-label'); // Remove aria-label if class doesn't match\n }\n }\n });\n\n // Handle <a> tags not inside <span>\n editableDivRef.current?.querySelectorAll('a').forEach(anchorTag => {\n // Skip <a> tags that are inside a <span> (already handled above)\n if (anchorTag.closest('span')) return;\n\n // Check the target attribute and set appropriate aria-label\n const target = anchorTag.getAttribute('target');\n if (target === '_blank') {\n anchorTag.setAttribute('aria-label', `${anchorTag.textContent} Clickable link Opens in new tab / window`);\n } else if (target === '_self') {\n anchorTag.setAttribute('aria-label', `${anchorTag.textContent} Clickable link`);\n } else {\n anchorTag.removeAttribute('aria-label'); // Remove aria-label if target is not _blank or _self\n }\n });\n };\n\n // Handle content changes on input\n const handleContentChange = (event: ChangeEvent<HTMLDivElement>) => {\n onChange?.(event);\n updateAnchorAriaLabels();\n };\n\n // Use MutationObserver to detect changes in the DOM and update aria-labels accordingly\n useEffect(() => {\n if (!text || !editableDivRef.current) return; // Exit early if text is null or empty\n\n updateAnchorAriaLabels(); // Initial check\n\n const observer = new MutationObserver(updateAnchorAriaLabels);\n observer.observe(editableDivRef.current, { childList: true, subtree: true });\n\n return () => observer.disconnect(); // Cleanup observer on unmount\n }, [text]);\n\n return (\n <StyledRichText\n data-component-name=\"m-ui-library-RichText\"\n data-testid=\"ui-library-RichText\"\n id={componentId}\n className={clsx(styleclass ? styleclass : '', customClass)}\n >\n {text && (\n <div\n ref={editableDivRef}\n contentEditable={contentEditable}\n dangerouslySetInnerHTML={{ __html: text }}\n onInput={handleContentChange}\n data-testid={componentId}\n {...customProps}\n ></div>\n )}\n </StyledRichText>\n );\n};\n","import { toRem } from '../../styles';\nimport styled from 'styled-components';\nimport { baseVariables } from '../../styles';\n\nexport const StyledCardCarousel = styled.div<{ variation: string }>`\n @media ${baseVariables.mediaQuery.xl} {\n display: ${props => (props.variation === 'combo' ? 'flex' : 'block')};\n }\n .aem-container:first-child {\n margin-left: 0;\n }\n .carousal_header {\n display: flex;\n flex-direction: ${props => (props.variation === 'combo' ? 'column' : ' row')};\n justify-content: ${props => (props.variation === 'combo' ? 'center' : ' space-between')};\n align-items: ${props => (props.variation === 'combo' ? 'flex-start' : ' unset')};\n width: auto;\n @media ${baseVariables.mediaQuery.md} {\n width: ${props => (props.variation === 'combo' ? 'auto' : 'auto')};\n }\n\n .carousal_header--cta {\n display: flex;\n align-items: ${props => (props.variation === 'combo' ? 'unset' : ' flex-end')};\n margin-right: ${props => (props.variation === 'combo' ? 0 : toRem(4))};\n text-wrap: nowrap;\n }\n }\n .glide {\n &__track {\n padding-top: ${toRem(24)};\n .glide__slides_authoring {\n width: 100% !important;\n flex-wrap: wrap;\n }\n .glide__slides {\n .aem-container {\n padding: 0;\n }\n }\n }\n .glide__slides > .cq-Editable-dom > .cq-Editable-dom--container {\n display: contents;\n }\n &__track__pt3 {\n overflow: hidden;\n padding-top: ${toRem(8)};\n .glide__slides_authoring {\n width: 100% !important;\n flex-wrap: wrap;\n }\n .glide__slides {\n .aem-container {\n padding: 0;\n }\n }\n }\n .center-align {\n display: flex;\n justify-content: center;\n align-items: center;\n .carouselControlType1 {\n .right-arrow {\n right: -1rem;\n left: auto;\n @media ${baseVariables.mediaQuery.sm} {\n right: -1.25rem;\n }\n }\n .left-arrow {\n right: auto;\n left: -1rem;\n @media ${baseVariables.mediaQuery.sm} {\n left: -1.25rem;\n }\n }\n }\n }\n }\n .glide--swipeable {\n cursor: default;\n }\n`;\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport React, { FC, useEffect, useState, useRef, type RefObject } from 'react';\nimport clsx from 'clsx';\nimport Glide from '@glidejs/glide';\nimport '@glidejs/glide/dist/css/glide.core.min.css';\nimport '@glidejs/glide/dist/css/glide.theme.min.css';\n\nimport { VanilaCardCarouselContainerProps } from './VanilaCardCarouselContainer.types';\nimport { StyledCardCarousel } from './VanilaCardCarouselContainer.styles';\n\nimport { Eyebrow } from '../../atoms/Eyebrow';\nimport { Heading } from '../../atoms/Heading';\nimport { Text } from '../../atoms/Text';\nimport { headingType, size, tags } from '../../utils/enums/enums';\nimport { Button } from '../../atoms/Button';\n\nexport const VanilaCardCarouselContainer: FC<VanilaCardCarouselContainerProps> = props => {\n const {\n componentId,\n subHeaderText,\n styleclass,\n variation,\n customAttributes,\n eyebrow,\n cardCount,\n trackingProperties,\n children,\n ctaLabel,\n headerText,\n ctaLink,\n openInaNewTab,\n ctaType,\n isCombo,\n noOfCards,\n noOfCardsTablet,\n enableTabletBreakpoint,\n isDirectionRightToLeft,\n isCobrandVariant,\n } = props;\n const isLink = ctaType === 'tertiaryLink';\n const [cardsPerView, setCardsPerView] = useState(noOfCards);\n\n const header = () =>\n headerText && (\n <Heading\n customClass={clsx({ 'mt-2 mb-3': isCombo() }, isCombo() ? 'm-ellipsis-3lines' : 'm-ellipsis-2lines')}\n titleText={headerText}\n variation={headingType.title}\n fontSize={isCombo() ? size.medium : size.small}\n />\n );\n const subHeader = () =>\n subHeaderText && (\n <Text\n copyText={subHeaderText}\n fontSize={size.medium}\n element={tags.span}\n customClass={clsx({ 'mb-3': isCombo() || eyebrow }, isCombo() ? 'm-ellipsis-3lines' : 'm-ellipsis-2lines')}\n />\n );\n\n const cta = () => {\n return (\n ctaLabel && (\n <div className={clsx(!eyebrow && !subHeaderText ? 'carousal_header--cta mb-2' : 'carousal_header--cta')}>\n <Button\n href={ctaLink}\n isLink={isLink}\n target={openInaNewTab ? '_blank' : '_self'}\n callback={!isLink ? buttonCallback : undefined}\n className={[\n '',\n ctaType === 'primaryButton' ? 'm-button-primary' : '',\n ctaType === 'secondaryButton' ? 'm-button-secondary' : '',\n isLink ? 'm-link-tertiary-button' : '',\n openInaNewTab\n ? ctaType === 'primaryButton' || ctaType === 'secondaryButton'\n ? 'm-button-external'\n : 'm-link-tertiary-button-external'\n : '',\n ]}\n custom_click_track_value={`${trackingProperties?.cardLocation}|${trackingProperties?.description}|${\n openInaNewTab ? 'external' : 'internal'\n }`}\n buttonCopy={ctaLabel}\n isTextBeforeChildren={false}\n />\n </div>\n )\n );\n };\n\n const carouselHeader = () => {\n return (\n <div className={clsx('carousal_header')}>\n <div className={clsx({ 'pb-2': eyebrow })}>\n {eyebrowContent()}\n {header()}\n {subHeader()}\n </div>\n {cta()}\n </div>\n );\n };\n\n const carouselComboHeader = () => {\n return (\n <div className={clsx({ 'pr-5': isCombo() }, 'carousal_header')}>\n <div>\n {eyebrowContent()}\n {header()}\n {subHeader()}\n </div>\n {cta()}\n </div>\n );\n };\n\n const eyebrowContent = () => eyebrow && <Eyebrow text={eyebrow} />;\n\n const buttonCallback = () => {\n window.open(ctaLink, openInaNewTab ? '_blank' : '_self');\n };\n\n const leftArrowRef = useRef<HTMLButtonElement>(null);\n const rightArrowRef = useRef<HTMLButtonElement>(null);\n const leftArrowClickTrackRef = useRef<HTMLInputElement>(null);\n const rightArrowClickTrackRef = useRef<HTMLInputElement>(null);\n\n const ArrowDisabler = function (Glide: any, Components: any) {\n return {\n mount() {\n // Only in effect when rewinding is disabled\n if (Glide.settings.rewind) {\n return;\n }\n Glide.on(['mount.after', 'run'], () => {\n // Filter out arrows_control\n for (const controlItem of Components.Controls.items) {\n if (controlItem.className !== 'glide__arrows') {\n continue;\n }\n\n // Set left arrow state\n const left = controlItem?.querySelector('.glide__arrow--left');\n if (left) {\n if (Glide.index === 0) {\n left.classList.add('is-disabled'); // Disable on first slide\n } else {\n left.classList.remove('is-disabled'); // Enable on other slides\n }\n }\n\n // Set right arrow state\n const right = controlItem?.querySelector('.glide__arrow--right');\n if (right) {\n if (Glide.index === Components.Sizes.length - Glide.settings.perView) {\n right.classList.add('is-disabled'); // Disable on last slide\n } else {\n right.classList.remove('is-disabled'); // Disable on other slides\n }\n }\n // Adjust arrow direction for RTL\n if (isDirectionRightToLeft) {\n if (left) {\n left.classList.remove('glide__arrow--disabled');\n }\n if (right) {\n right.classList.remove('glide__arrow--disabled');\n }\n }\n }\n });\n },\n };\n };\n\n useEffect(() => {\n window.addEventListener('resize', handleResize);\n handleResize();\n\n return () => {\n window.removeEventListener('resize', handleResize);\n };\n });\n\n const handleResize = () => {\n const xs = window.matchMedia('(max-width: 575px)');\n const sm = window.matchMedia('(min-width:576px) and (max-width: 767px)');\n const md = window.matchMedia('(min-width: 768px) and (max-width: 1199px)');\n const xl = window.matchMedia('(min-width: 1200px)');\n if (enableTabletBreakpoint) {\n if (xl?.matches) {\n setCardsPerView(noOfCards);\n } else if (md?.matches) {\n setCardsPerView(noOfCardsTablet);\n } else if (sm?.matches) {\n setCardsPerView(noOfCardsTablet);\n } else if (xs?.matches) {\n setCardsPerView(1);\n }\n } else {\n if (xs?.matches) {\n setCardsPerView(1);\n } else if (sm?.matches) {\n setCardsPerView(1);\n } else if (md?.matches) {\n setCardsPerView(noOfCardsTablet);\n } else if (xl?.matches) {\n setCardsPerView(noOfCards);\n }\n }\n };\n\n useEffect(() => {\n const carouselRootSelector = `#${componentId}`;\n if (document?.querySelector(carouselRootSelector)) {\n try {\n new Glide(carouselRootSelector, {\n type: 'slider',\n bound: true,\n perView: noOfCards,\n startAt: 0,\n rewind: false,\n direction: isDirectionRightToLeft ? 'rtl' : 'ltr',\n gap: 16,\n dragThreshold: false,\n breakpoints: enableTabletBreakpoint\n ? {\n 1199: {\n perView: noOfCardsTablet,\n },\n 575: {\n perView: 1,\n },\n }\n : {\n 1199: {\n perView: noOfCardsTablet,\n },\n 767: {\n perView: 1,\n },\n },\n }).mount({ ArrowDisabler });\n\n const cleanupFns = [\n addClickTrackListeners(leftArrowRef, leftArrowClickTrackRef),\n addClickTrackListeners(rightArrowRef, rightArrowClickTrackRef),\n ];\n\n return () => {\n cleanupFns.forEach(fn => fn());\n };\n } catch (error) {\n // log.error(`Error in initializing Glide for ${componentId}`, error);\n }\n }\n\n return () => {};\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [componentId, cardsPerView, isDirectionRightToLeft]);\n\n const addClickTrackListeners = (\n origRef: RefObject<HTMLElement>,\n clickTrackRef: RefObject<HTMLElement>\n ): (() => void) => {\n const handler = (e: Event) => {\n clickTrackRef.current?.click();\n e.preventDefault();\n };\n\n origRef.current?.addEventListener('touchstart', handler);\n origRef.current?.addEventListener('click', handler);\n\n // on unmount, cleanup same handler reference\n return () => {\n origRef.current?.removeEventListener('touchstart', handler);\n origRef.current?.removeEventListener('click', handler);\n };\n };\n\n return (\n <StyledCardCarousel\n data-component-name=\"m-ui-library-VanilaCardCarouselContainer\"\n data-testid=\"ui-library-VanilaCardCarouselContainer\"\n className={clsx(`col-12 py-3 px-0 ${styleclass}`)}\n {...customAttributes}\n variation={variation}\n >\n {isCombo() ? carouselComboHeader() : carouselHeader()}\n\n <div id={componentId} className={clsx(`glide ${isCombo() ? 'col-xl-8 p-0' : ''}`)}>\n <div className={clsx(!subHeaderText && !eyebrow ? 'glide__track__pt3' : 'glide__track')} data-glide-el=\"track\">\n <ul className={clsx('glide__slides', 'pb-3')} id={`${componentId}__slides`}>\n {children}\n </ul>\n </div>\n {cardCount !== cardsPerView && (\n <div className=\"center-align\">\n <div className={isCobrandVariant ? 'carouselControlType3b' : 'carouselControlType1'}>\n <div className=\"glide__arrows\" data-glide-el=\"controls\">\n <button\n className={clsx(\n isCobrandVariant ? '' : 'glide__arrow',\n `${\n !isCobrandVariant && isDirectionRightToLeft\n ? 'glide__arrow--right right-arrow'\n : 'glide__arrow--left left-arrow'\n }`\n )}\n id={`${componentId}_left_arrow`}\n ref={leftArrowRef}\n data-glide-dir={isCobrandVariant && isDirectionRightToLeft ? '>' : '<'}\n aria-label=\"left-arrow\"\n >\n <span\n className={isCobrandVariant && isDirectionRightToLeft ? 'icon-arrow-right' : 'icon-arrow-left'}\n id={`${componentId}_left_arrow`}\n data-id=\"left\"\n ></span>\n </button>\n </div>\n\n <input\n type=\"hidden\"\n id={`${componentId}-left-arrow-click-track`}\n ref={leftArrowClickTrackRef}\n className={clsx(`${trackingProperties?.clickTrack ? 'custom_click_track' : ''}`)}\n data-custom_click_track_value={`${trackingProperties?.cardLocation}|${trackingProperties?.leftArrowDesc}|internal`}\n />\n\n <div data-glide-el=\"controls[nav]\">\n {Array.from({ length: cardCount - (cardsPerView - 1) }, (_, i) => (\n <button className=\"\" data-glide-dir={i} aria-label={`page-${i + 1}`} key={cardsPerView + i}></button>\n ))}\n </div>\n <div className=\"glide__arrows\" data-glide-el=\"controls\">\n <button\n className={clsx(\n isCobrandVariant ? '' : 'glide__arrow',\n `${\n !isCobrandVariant && isDirectionRightToLeft\n ? 'glide__arrow--left left-arrow'\n : 'glide__arrow--right right-arrow'\n }`\n )}\n id={`${componentId}_right_arrow`}\n ref={rightArrowRef}\n data-glide-dir={isCobrandVariant && isDirectionRightToLeft ? '<' : '>'}\n aria-label=\"click to show more\"\n >\n <span\n className={isCobrandVariant && isDirectionRightToLeft ? 'icon-arrow-left' : 'icon-arrow-right'}\n id={`${componentId}_right_arrow`}\n data-id=\"right\"\n ></span>\n </button>\n </div>\n\n <input\n type=\"hidden\"\n id={`${componentId}-right-arrow-click-track`}\n ref={rightArrowClickTrackRef}\n className={clsx(`${trackingProperties?.clickTrack ? 'custom_click_track' : ''}`)}\n data-custom_click_track_value={`${trackingProperties?.cardLocation}|${trackingProperties?.rightArrowDesc}|internal`}\n />\n </div>\n </div>\n )}\n </div>\n </StyledCardCarousel>\n );\n};\n","/* eslint-disable @typescript-eslint/no-explicit-any */\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-nocheck\n// eslint-disable-next-line import/no-webpack-loader-syntax\nimport styles from '!!scss-extract-loader?{\"plugins\": [\"scss-extract-js\"]}!../../../mi-ui-global-styles/src/styles/base/variables/_variables.scss';\nimport { toRem } from './utils';\n\nlet spacers: any = {};\nlet shadows: any = {};\nlet opacity: any = {};\nlet mediaQueries: any = {};\nlet gradient: any = {};\nlet font: any = {};\nlet border: any = {};\nlet animations: any = {};\nlet color: any = {};\n\nconst cnColor = {\n baiduButtonColor: '#5b89e9',\n};\n\nObject.keys(styles).forEach(function (key) {\n key.indexOf('icon') === 0 && delete styles[key];\n});\n\nObject.keys(styles).forEach(vars => {\n const varsLowercase = vars.toLowerCase();\n if (varsLowercase.indexOf('spacer') > -1) {\n spacers = { [vars]: styles[vars], ...spacers };\n } else if (varsLowercase.indexOf('shadow') > -1) {\n shadows = { [vars]: styles[vars], ...shadows };\n } else if (varsLowercase.indexOf('opacity') > -1) {\n opacity = { [vars]: styles[vars], ...opacity };\n } else if (varsLowercase.indexOf('viewport') > -1) {\n mediaQueries = { [vars]: styles[vars], ...mediaQueries };\n } else if (varsLowercase.indexOf('basegradient') > -1) {\n gradient = { [vars]: styles[vars], ...gradient };\n } else if (varsLowercase.indexOf('font') > -1 || varsLowercase.indexOf('lineheight') > -1) {\n font = { [vars]: styles[vars], ...font };\n } else if (varsLowercase.indexOf('border') > -1) {\n border = { [vars]: styles[vars], ...border };\n } else if (varsLowercase.indexOf('duration') > -1 || varsLowercase.indexOf('ease') > -1) {\n animations = { [vars]: styles[vars], ...animations };\n } else {\n color = { [vars]: styles[vars], ...color };\n }\n});\n\n// The use of the below media queries (soon to be deprecated) is discouraged. Stylings should\n// ideally be from global styles and bootstrap classes\nconst mediaQueryDepricated = {\n largeDesktop: ` (min-width: ${mediaQueries.viewportXl})`,\n desktop: ` (min-width: ${mediaQueries.viewportL})`,\n tablet: ` screen and (min-width: ${mediaQueries.viewportM})`,\n allTablets: ` screen and (min-width: ${mediaQueries.viewportM}) and (max-width: ${mediaQueries.viewportL})`,\n mobile: ` screen and (min-width: ${mediaQueries.viewportS})`,\n smallMobile: ` screen and (min-width: ${mediaQueries.viewportXs})`,\n};\n\nshadows = {\n 'white-header': `0 ${toRem(4.49)} ${toRem(13.48)} 0 rgba(0, 0, 0, 0.12)`,\n ...shadows,\n};\n\nexport const baseVariables = {\n mediaQuery: {\n xl: ` screen and (min-width: ${mediaQueries.viewportXl})`,\n lg: ` screen and (min-width: ${mediaQueries.viewportL})`,\n md: ` screen and (min-width: ${mediaQueries.viewportM})`,\n sm: ` screen and (min-width: ${mediaQueries.viewportS})`,\n ...mediaQueryDepricated,\n },\n spacers,\n shadows,\n opacity,\n gradient,\n font,\n border,\n animations,\n color,\n cnColor,\n};\n\nexport const baseVals = styles;\n","/* eslint-disable @typescript-eslint/no-explicit-any */\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-nocheck\n// eslint-disable-next-line import/no-webpack-loader-syntax\nimport contextualVars from '!!scss-extract-loader?{\"plugins\": [\"scss-extract-js\"]}!../../../mi-ui-global-styles/src/styles/base/variables/_contextualExport.scss';\nimport { baseVals } from './baseVariables';\n\nfunction deleteDuplicateValues(baseVars: any, contextual: any) {\n for (const key in contextual) {\n if (typeof contextual[key] === 'object' && typeof baseVars[key] === 'object') {\n deleteDuplicateValues(baseVars[key], contextual[key]);\n // eslint-disable-next-line no-prototype-builtins\n } else if (baseVars.hasOwnProperty(key) && baseVars[key] === contextual[key]) {\n delete contextual[key];\n }\n }\n return contextual;\n}\n\nexport const contextualVariable = deleteDuplicateValues(baseVals, contextualVars);\n\nObject.keys(contextualVariable).forEach(function (key) {\n key.indexOf('icon') === 0 && delete contextualVariable[key];\n key.indexOf('spacer') === 0 && delete contextualVariable[key];\n});\n","import breakpoints from '@marriott/global-styles/dist/scss/base/variables/_mediaQueries.module.scss';\n\nexport const toRem = (pixels: number): string => `${pixels * 0.0625}rem`;\n//To get browser useragent\nexport const getUserAgentType = (): string => {\n if (typeof window !== 'undefined' && navigator) {\n const userAgentType = navigator.userAgent.toLowerCase();\n if (userAgentType.indexOf('android') > -1 || userAgentType.indexOf('iphone') > -1) {\n return 'mobile';\n } else {\n return 'desktop';\n }\n }\n return 'desktop';\n};\n\n// parsing breakpoints fetched from global styles and sending as int values\nexport const APPLICATION_BREAKPOINTS = (() => {\n const parsed: { [key: string]: number } = {};\n Object.keys(breakpoints).forEach(key => {\n parsed[key] = parseInt(breakpoints[key].replace('px', ''), 10);\n });\n return parsed;\n})();\n","// This function is used to convert any case string to Camel Case String\n\nconst mapper: Record<string, string> = {};\n\ntype AllowedComponentType = { title: string; path: string };\n\nconst capitalize = (arr: Array<string>) => {\n return arr.map(word => {\n const firstLetter = word.charAt(0).toUpperCase();\n const rest = word.slice(1).toLowerCase();\n\n return firstLetter + rest;\n });\n};\n\nexport const AEMReactCompMap = (allowedComponents?: Array<AllowedComponentType>) => {\n allowedComponents?.forEach((el: AllowedComponentType) => {\n const aemComponent = el.path.split('/').pop();\n if (aemComponent) {\n aemComponent === 'cardhorizontalmini'\n ? (mapper['cardhorizontalmini'] = 'CardHorizontalMini')\n : (mapper[aemComponent] = capitalize(el.title.split(/\\s|\\.\\|_|-/)).join(''));\n }\n });\n return mapper;\n};\n","// import { logger } from '@marriott/mi-headless-utils';\n// const { log } = logger({})('CookieUtils.ts');\nclass CookieUtils {\n static cookies: {\n [key: string]: string;\n };\n static getCookie = (cookieName: string): string => {\n if (!CookieUtils.cookies) {\n CookieUtils.setCookies();\n }\n return CookieUtils.cookies[cookieName];\n };\n\n static setCookies = (): void => {\n const cookieString = document?.cookie;\n CookieUtils.cookies = {};\n\n cookieString.split(';').forEach(cookie => {\n const [key, value] = cookie.trim().split('=');\n if (key && value) {\n try {\n CookieUtils.cookies[key] = decodeURIComponent(value);\n } catch (error) {\n CookieUtils.cookies[key] = value;\n // log.error(`Cookie ${key} with value ${value} could not be decoded - Error ${error}`);\n }\n }\n });\n };\n}\n\nexport default CookieUtils;\n","import { TrackingPropsInterface } from './enums/enums';\nimport { trackingDetailArr, config, cardCodes } from '../constants/ApplicationConstants';\nimport CookieUtils from '../utils/CookieUtils';\n\n// import { getTrackingProps } from '@marriott/mi-book-components';\ndeclare global {\n interface Window {\n impressionArr: string[];\n impressionTrack: (value: string) => Record<string, string>;\n atCArray: Array<string>;\n atMArray: Array<string>;\n // for reference check libs/shared/mi-headless-utils/src/hooks/use-datalayer.ts\n adobeDataLayer: {\n [key: number]: {\n event: string;\n data: Record<string, unknown>;\n };\n version: number;\n push: (event: { event: string; data: Record<string, unknown> }) => void;\n getState: () => Record<string, unknown>;\n addEventListener: (type: string, listener: EventListenerOrEventListenerObject) => void;\n removeEventListener: (type: string, listener: EventListenerOrEventListenerObject) => void;\n };\n }\n}\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport const getClickTrackValue = (linkType: string, trackingProperties?: TrackingPropsInterface, ref?: any) => {\n let trackPosAndDesc = '';\n const {\n trackingContentPosition,\n isImpressionTrack,\n trackingDescription,\n trackingOfferType,\n trackingTag,\n isCoBrand,\n isClickTrack,\n atCCeVar48,\n compName,\n } = ref?.current.dataset || {};\n const RefCurrent = ref?.current;\n if (isCoBrand === 'true') {\n if (atCCeVar48) {\n let atCTAclickTrackVal;\n if (\n isClickTrack === 'true' &&\n isImpressionTrack === 'true' &&\n !RefCurrent?.classList.contains('no-merch-track')\n ) {\n // hero cta link tag needs to include custom attribute custom_click_track_value where the value is the atCTAclickTrackVal variable\n if (trackingProperties?.isDCAEnabled) {\n atCTAclickTrackVal = `${trackingContentPosition}|${trackingDescription}|${linkType}|evar48=${atCCeVar48},event167,event271`;\n RefCurrent?.setAttribute('data-custom_click_track_value', atCTAclickTrackVal);\n } else {\n atCTAclickTrackVal = compName === 'herobanner' ? `${config.HIO}|` : `${trackingContentPosition}|`;\n atCTAclickTrackVal += `${\n atCCeVar48.split('-')[4] + atCCeVar48.split('-')[5]\n }|${linkType}|evar48=${atCCeVar48},event167,event271`;\n RefCurrent?.setAttribute('data-custom_click_track_value', atCTAclickTrackVal);\n }\n }\n if (\n isClickTrack === 'true' &&\n isImpressionTrack === 'false' &&\n !RefCurrent?.classList.contains('no-merch-track')\n ) {\n atCTAclickTrackVal = `${trackingContentPosition}|${trackingDescription}|${linkType}|evar48=${atCCeVar48},event167,event271`;\n RefCurrent?.setAttribute('data-custom_click_track_value', atCTAclickTrackVal);\n }\n // update href value\n\n const isDCAEnabled = trackingProperties?.isDCAEnabled;\n const hasType = trackingProperties?.type;\n const currentHref = RefCurrent.getAttribute('href') ?? '';\n\n const updatedHref = isDCAEnabled\n ? !hasType\n ? updateCTA(RefCurrent, linkType)\n : getDCAHref(trackingProperties, currentHref)\n : getHref(RefCurrent.dataset, currentHref);\n RefCurrent?.setAttribute('href', updatedHref);\n if (!RefCurrent?.classList.contains('no-impression') && typeof window.impressionTrack !== 'undefined') {\n window.impressionTrack('event168|event270|evar48=' + atCCeVar48);\n }\n }\n } else {\n if ((isClickTrack === 'true' && isImpressionTrack === 'true') || trackingProperties?.clickTrackValSeparator) {\n if (trackingProperties?.isDCAEnabled) {\n const trackPosAndDesc = `${trackingContentPosition}|${trackingDescription}|${linkType}|event167,list3=${trackingContentPosition};type=${trackingOfferType};msg=${trackingDescription};tag=${trackingTag}`;\n RefCurrent?.setAttribute('data-custom_click_track_value', `${trackPosAndDesc}`);\n } else {\n let trackPosAndDesc = compName === 'herobanner' ? `${config.HIO}|` : `${trackingContentPosition}|`;\n if (trackingDescription) {\n trackPosAndDesc += `${trackingDescription}|`;\n }\n RefCurrent?.setAttribute(\n 'data-custom_click_track_value',\n `${trackPosAndDesc}${linkType}|event167,list3=${\n compName === 'herobanner' ? `hpHero` : `${trackingContentPosition}`\n }${trackingProperties?.additionalTrackingVariables ? getTrackingProps(trackingProperties) : ''}`\n );\n }\n }\n if (isClickTrack === 'true' && isImpressionTrack === 'false' && !trackingProperties?.clickTrackValSeparator) {\n if (trackingProperties?.isDCAEnabled) {\n const trackPosAndDesc = `${trackingContentPosition}|${trackingDescription}|${linkType}|type=${trackingOfferType};msg=${trackingDescription};tag=${trackingTag}`;\n RefCurrent?.setAttribute('data-custom_click_track_value', `${trackPosAndDesc}`);\n } else {\n if (trackingContentPosition) {\n trackPosAndDesc += `${trackingContentPosition}|`;\n }\n if (trackingDescription) {\n trackPosAndDesc += `${trackingDescription}|`;\n }\n RefCurrent?.setAttribute(\n 'data-custom_click_track_value',\n `${trackPosAndDesc}${linkType}${\n trackingProperties?.additionalTrackingVariables ? getTrackingProps(trackingProperties) : ''\n }`\n );\n }\n }\n if (\n !RefCurrent?.classList.contains('no-impression') &&\n isImpressionTrack === 'true' &&\n (trackingContentPosition || trackingDescription || trackingOfferType || trackingTag)\n ) {\n if (typeof window.atMArray !== 'object') {\n window.atMArray = [];\n }\n const atmMValue = `${trackingContentPosition},type=${trackingOfferType},msg=${trackingDescription},tag=${trackingTag}`;\n if (!window.atMArray.includes(atmMValue)) {\n window.atMArray.push(atmMValue);\n }\n }\n }\n // update atCArray\n setMerchImpTrack(trackingProperties, RefCurrent);\n};\n\nexport const getTrackingProps = (trackingProperties?: TrackingPropsInterface) => {\n let trackingVar = ``;\n const clickTrackValSeparator = trackingProperties?.clickTrackValSeparator || ',';\n if (trackingProperties?.trackingOfferType) {\n trackingVar += `${clickTrackValSeparator}type=${trackingProperties?.trackingOfferType}${clickTrackValSeparator}msg=${trackingProperties?.trackingDescription}`;\n }\n if (trackingProperties?.trackingTag) {\n trackingVar += `${clickTrackValSeparator}tag=${trackingProperties?.trackingTag}`;\n }\n return trackingVar;\n};\n\nexport const trackImpression = (trackingProperties: TrackingPropsInterface, text: string, preTrackVal?: string) => {\n if (trackingProperties?.isCoBrand) {\n return;\n }\n const tracking = getTrackingProperties(trackingProperties || {}, ',');\n const preTrackValue = preTrackVal ? preTrackVal + '|' : '';\n if (trackingProperties?.impressionTrack && !window.impressionArr?.includes(`${tracking.trackingString}${text}`)) {\n const ImpressionEventType = trackingProperties?.['impressionEventType'] || 'event168';\n if (window?.impressionTrack) {\n window.impressionTrack(\n `${preTrackValue}${ImpressionEventType}|${tracking?.payloadType}=${tracking.trackingString}`\n );\n if (typeof window.impressionArr === 'object') {\n window.impressionArr?.push(`${tracking.trackingString}${text}`);\n } else {\n window.impressionArr = [`${tracking.trackingString}${text}`];\n }\n }\n }\n};\n\nconst getTrackingProperties = (trackingProperties: TrackingPropsInterface, seperator: string) => {\n const trackingArr: Array<string> = [];\n trackingDetailArr.forEach(item => {\n if (item.text) {\n trackingArr.push(`${item.pre}${trackingProperties?.[item.text]}`);\n }\n });\n return {\n trackingString: trackingArr.join(seperator),\n payloadType: trackingProperties?.payloadType || 'list3',\n };\n};\n\nconst getHref = (data: DOMStringMap, atCCctaUrl: string): string => {\n /* creates CTA dynamic URL value in variable atCCctaUrl, use this as the CTA button URL */\n const atCCaltID: string = CookieUtils.getCookie('dtm_user_id') || CookieUtils.getCookie('customerId') || '';\n const atCCmcvID = mtGCV(config.gcv) || '';\n\n let URL;\n\n if (data['atCCeVar48']?.split('-')[4] === config.code1 || data['atCCeVar48']?.split('-')[4] === config.code2) {\n URL =\n config.ctaURL +\n encodeURIComponent(\n atCCctaUrl + '&alt_cust_id=' + atCCaltID + '&cookie_id=' + atCCmcvID + '&mcd=' + data['atCCeVar48']\n );\n } else if (atCCctaUrl?.includes('?') && !atCCctaUrl?.includes('destinationURL')) {\n URL = atCCctaUrl + '&alt_cust_id=' + atCCaltID + '&cookie_id=' + atCCmcvID + '&mcd=' + data['atCCeVar48'];\n } else {\n URL = atCCctaUrl + '?alt_cust_id=' + atCCaltID + '&cookie_id=' + atCCmcvID + '&mcd=' + data['atCCeVar48'];\n }\n return URL;\n};\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nconst updateCTA = (RefCurrent: any, linkType: string) => {\n const isDSTFlag = typeof window !== 'undefined' ? isDST(window?.location?.href) : false;\n const cardCode = RefCurrent?.dataset?.['trackingDescription'].split('-')[4];\n let atCCctaUrl = RefCurrent?.getAttribute('href') ?? '';\n let evarWithURL = {\n atCCeVar48: RefCurrent?.dataset?.['trackingDescription'],\n url: RefCurrent?.getAttribute('href') ?? '',\n dataAdditionalTrackingVariables: RefCurrent?.dataset?.['additionalTrackingVariables'],\n customClickTrack: `${RefCurrent?.dataset?.['trackingContentPosition']}|${RefCurrent?.dataset?.['trackingDescription']}|${linkType}|${RefCurrent?.dataset?.['additionalTrackingVariables']}`,\n };\n if (isDSTFlag) {\n // updating evar48 logic goes here\n const queryString = window.location.search.replace('?', ''); // grab parameter strings from FOC page URL\n const strings = queryString.split(/\\?|&/); // create array of key value pairs\n const urlParams = new URLSearchParams(queryString);\n const params = Object.keys(Object.fromEntries(urlParams.entries()));\n let source = '';\n params.filter(str => {\n if (str.toLowerCase().includes('trafficsource')) {\n source = urlParams.get(str)!;\n }\n });\n strings.forEach(function (str) {\n // loop through each key value pair in strings variable, if it matches with one of the switch cases below, update the corresponding URLs and tracking values with the key value from the FOC URL parameter string\n const key = str.split('=')[0],\n value = str.split('=')[1],\n regex = new RegExp('(updateboundless|updatebold|updatebrilliant|updatebusiness|updatebevy)');\n const updateCardParam = key.toLocaleLowerCase();\n if (regex.test(updateCardParam) && cardCodes[cardCode as keyof typeof cardCodes] === updateCardParam) {\n switch (updateCardParam) {\n case 'updateboundless': // if key is updateboundless, update all boundless links and tracking values\n evarWithURL = updateTrackingPropertiesWithDST(\n RefCurrent?.dataset,\n atCCctaUrl,\n linkType,\n source,\n value,\n true\n );\n break;\n case 'updatebold': // if key is updatebold, update all bold links and tracking values\n evarWithURL = updateTrackingPropertiesWithDST(\n RefCurrent?.dataset,\n atCCctaUrl,\n linkType,\n source,\n value,\n true\n );\n break;\n case 'updatebrilliant': // if key is updatebrilliant, update all brilliant links and tracking values\n evarWithURL = updateTrackingPropertiesWithDST(\n RefCurrent?.dataset,\n atCCctaUrl,\n linkType,\n source,\n value,\n false\n );\n break;\n case 'updatebusiness': // if key is updatebusiness, update all business links and tracking values\n evarWithURL = updateTrackingPropertiesWithDST(\n RefCurrent?.dataset,\n atCCctaUrl,\n linkType,\n source,\n value,\n false\n );\n break;\n case 'updatebevy': // if key is updatebevy, update all bevy links and tracking values\n evarWithURL = updateTrackingPropertiesWithDST(\n RefCurrent?.dataset,\n atCCctaUrl,\n linkType,\n source,\n value,\n false\n );\n break;\n default:\n break;\n }\n RefCurrent.dataset['trackingDescription'] = evarWithURL.atCCeVar48;\n RefCurrent.dataset['additionalTrackingVariables'] = evarWithURL.dataAdditionalTrackingVariables;\n RefCurrent.dataset['custom_click_track_value'] = evarWithURL.customClickTrack;\n RefCurrent.dataset['atCCeVar48'] = evarWithURL.atCCeVar48;\n atCCctaUrl = evarWithURL.url;\n }\n });\n }\n return getDCAEverGreenHref(RefCurrent.dataset['trackingDescription'], atCCctaUrl);\n};\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nconst getDCAEverGreenHref = (atCCeVar48: string, atCCctaUrl: string): string => {\n /* creates CTA dynamic URL value in variable atCCctaUrl, use this as the CTA button URL */\n const atCCaltID: string =\n CookieUtils.getCookie('dtm_user_id') ||\n CookieUtils.getCookie('customerId') ||\n (window?.['adobeDataLayer']?.[0]?.data?.['mr_id_alternate'] as string) ||\n (window?.dataLayer?.['mr_id_alternate'] as string) ||\n '';\n const atCCmcvID = mtGCV(encodeURIComponent(config.gcv)) || '';\n const atCCrpcCode = atCCeVar48.split('-')[4];\n let URL;\n\n if (atCCrpcCode === config.code1 || atCCrpcCode === config.code2) {\n URL =\n atCCctaUrl +\n config.ctaUrlChasePrefix +\n config.ctaUrlChase +\n '&alt_cust_id=' +\n atCCaltID +\n '&cookie_id=' +\n atCCmcvID +\n '&mcd=' +\n atCCeVar48 +\n '&rpcCode=' +\n atCCrpcCode;\n } else if (/(USBU|USPC|USMT)/.test(atCCrpcCode)) {\n if (!atCCctaUrl.includes('destinationURL')) {\n atCCctaUrl = config.ctaUrlAmexEvergreen + atCCctaUrl;\n URL =\n atCCctaUrl +\n encodeURIComponent(\n '?alt_cust_id=' + atCCaltID + '&cookie_id=' + atCCmcvID + '&mcd=' + atCCeVar48 + '&rpcCode=' + atCCrpcCode\n );\n } else {\n URL =\n atCCctaUrl +\n encodeURIComponent(\n '?alt_cust_id=' + atCCaltID + '&cookie_id=' + atCCmcvID + '&mcd=' + atCCeVar48 + '&rpcCode=' + atCCrpcCode\n );\n }\n } else {\n URL = atCCctaUrl;\n }\n return URL as string;\n};\n\nconst getDCAHref = (trackingProperties: TrackingPropsInterface, atCCctaUrl: string): string => {\n if (typeof window !== 'undefined' && window?.location?.search?.includes('destinationUrlUpdate=true')) {\n // if this query parameter exist with value true, then no need to construct url.\n return atCCctaUrl;\n }\n /* creates CTA dynamic URL value in variable atCCctaUrl, use this as the CTA button URL */\n const atCCaltID: string =\n CookieUtils.getCookie('dtm_user_id') ||\n CookieUtils.getCookie('customerId') ||\n (window?.['adobeDataLayer']?.[0]?.data?.['mr_id_alternate'] as string) ||\n (window?.dataLayer?.['mr_id_alternate'] as string) ||\n '';\n const atCCmcvID: string = mtGCV(encodeURIComponent(config.gcv)) || '';\n const atCCeVar48: string = trackingProperties.atCCeVar48 || '';\n const cell: string = trackingProperties.cell || '';\n const spid: string = trackingProperties.spid || '';\n const rpcCode: string = trackingProperties.rpcCode || '';\n const offerCode: string = trackingProperties?.offerCode || '';\n const isAuth: boolean = trackingProperties?.isAuth || false;\n let atCCctaUrlVersion: URL;\n try {\n atCCctaUrlVersion = new URL(atCCctaUrl);\n } catch {\n atCCctaUrlVersion = new URL(window.location.protocol + window.location.hostname + atCCctaUrl);\n }\n\n // Befere appending query params, first remove query params which are being added by uxl\n let listOfQueries = [];\n const queriesAddedByUXl = ['cell', 'spid', 'returnurl', 'alt_cust_id', 'cookie_id', 'mcd', 'rpccode']; // saved it in lower case, for safer comparision\n try {\n for (const key of atCCctaUrlVersion.searchParams.keys()) {\n listOfQueries.push(key);\n }\n } catch {\n listOfQueries = [];\n }\n listOfQueries.forEach(queryParam => {\n if (queriesAddedByUXl?.includes(queryParam?.toLowerCase())) atCCctaUrlVersion.searchParams.delete(queryParam);\n });\n\n if (cell) {\n atCCctaUrlVersion.searchParams.append('CELL', cell);\n }\n if (spid) {\n atCCctaUrlVersion.searchParams.append('SPID', spid);\n }\n if ((rpcCode === config.code1 || rpcCode === config.code2) && offerCode && offerCode.includes('ACQ')) {\n // if US Chase acquisition authenticated / unauthenticated include return URL\n atCCctaUrlVersion.searchParams.append('returnURL', window.location.pathname);\n atCCctaUrlVersion.searchParams.append('alt_cust_id', atCCaltID);\n atCCctaUrlVersion.searchParams.append('cookie_id', atCCmcvID);\n atCCctaUrlVersion.searchParams.append('mcd', atCCeVar48);\n atCCctaUrlVersion.searchParams.append('rpcCode', rpcCode);\n return decodeURIComponent(atCCctaUrlVersion.href);\n } else if (/(USBU|USPC|USMT)/.test(rpcCode) && /(ACQ)/.test(offerCode) && isAuth) {\n const encodedQueryString = encodeURIComponent(\n `?alt_cust_id=${atCCaltID}&cookie_id=${atCCmcvID}&mcd=${atCCeVar48}&rpcCode=${rpcCode}`\n );\n\n return config.ctaUrlAmex + atCCctaUrlVersion.href + encodedQueryString;\n } else {\n atCCctaUrlVersion.searchParams.append('alt_cust_id', atCCaltID);\n atCCctaUrlVersion.searchParams.append('cookie_id', atCCmcvID);\n atCCctaUrlVersion.searchParams.append('mcd', atCCeVar48);\n atCCctaUrlVersion.searchParams.append('rpcCode', rpcCode);\n return decodeURIComponent(atCCctaUrlVersion.href);\n }\n};\n\nconst mtGCV = (cname: string): string => {\n const x: Array<string> = mtGC(cname).split('|');\n let i;\n for (i = 0; i < x.length; i++) {\n if (x[i] === config.cookie) {\n return x[i + 1];\n }\n }\n return '';\n};\n\nconst mtGC = (cname: string): string => {\n const name = cname + '=';\n const ca = document.cookie.split(';');\n for (let i = 0; i < ca.length; i++) {\n let c = ca[i];\n while (c.charAt(0) === ' ') {\n c = c.substring(1);\n }\n if (c.indexOf(name) === 0) {\n const cnameValue = c.substring(name.length, c.length);\n try {\n return decodeURIComponent(cnameValue);\n } catch {\n return cnameValue;\n }\n }\n }\n return '';\n};\n\nconst setMerchImpTrack = (data: TrackingPropsInterface | undefined, ref?: HTMLElement): void => {\n // sets merchandising impression tracking\n if (\n data?.['trackingContentPosition'] &&\n data?.['trackingDescription'] &&\n (data?.['compName'] || !ref?.classList.contains('no-impression')) &&\n data?.['impressionCount']\n ) {\n const cname = config.cname;\n const ctemp = CookieUtils.getCookie(cname) || '';\n const cvalue = `${data?.['trackingContentPosition']}-${\n data?.isDCAEnabled ? data?.['trackingTag'] : data?.['trackingDescription']\n }`;\n if (ctemp.includes(cvalue) !== true) {\n if (typeof window.atCArray !== 'object') {\n window.atCArray = [];\n }\n if (!window.atCArray.includes(cvalue)) {\n window.atCArray.push(cvalue);\n }\n }\n }\n};\n\nconst isDST = (currentURL: string) => {\n const url = new URL(currentURL);\n const urlParams = url.searchParams;\n const params = Object.keys(Object.fromEntries(urlParams.entries()));\n //convert into lower case\n return (\n params.some(str => str.toLowerCase().includes('update')) &&\n params.some(str => str.toLowerCase().includes('trafficsource'))\n );\n};\n\nconst updateTrackingPropertiesWithDST = (\n data: DOMStringMap,\n atCCctaUrl: string,\n linkType: string,\n source: string,\n value: string,\n isChase: boolean\n) => {\n const cardCode = data['trackingDescription']?.split('-')[4];\n const tempURL = atCCctaUrl;\n const tempURLarr = tempURL?.split(/\\?|&|=/);\n if (tempURLarr?.length) {\n if (isChase) {\n for (let j = 0; j < tempURLarr.length; ++j) {\n if (tempURLarr[j] === 'CELL') {\n atCCctaUrl = atCCctaUrl?.replace(tempURLarr[j + 1], value);\n }\n }\n } else {\n // eslint-disable-next-line no-useless-escape\n const oldAmexOfferID = tempURLarr[tempURLarr.length - 1]?.split(/\\-/);\n if (oldAmexOfferID.length > 1) {\n atCCctaUrl = atCCctaUrl?.replace(oldAmexOfferID[oldAmexOfferID.length - 1], value);\n }\n }\n }\n let tempClickTrack = `${data['trackingContentPosition']}|${data['trackingDescription']}|${linkType}|${data['additionalTrackingVariables']}`;\n let tempClickTrackArr1 = tempClickTrack?.split(',');\n const tempClickTrackArr2 = tempClickTrackArr1[0]?.split('|');\n const tempClickTrackArr3 = tempClickTrackArr2[1]?.split('-');\n\n const addDSTValues = (clickTrackVal: Array<string>) => {\n if (clickTrackVal?.length) {\n clickTrackVal.forEach((item, index) => {\n if (item === cardCode) {\n if (isChase) {\n clickTrackVal[index + 2] = value;\n if (clickTrackVal[index + 3] && clickTrackVal[index + 3].length) {\n clickTrackVal[index + 4] = source;\n } else {\n clickTrackVal[index + 3] = source;\n }\n } else {\n clickTrackVal[index + 1] += `-${source}`;\n }\n }\n });\n }\n return clickTrackVal?.join('-');\n };\n const updatedOfferCode = addDSTValues(tempClickTrackArr3);\n // cardLinks[i]?.setAttribute('data-tracking-description', updatedOfferCode);\n // cardLinks[i]?.setAttribute('data-additional-tracking-variables', 'evar48=' + updatedOfferCode + ',event167,event271');\n tempClickTrackArr2[1] = tempClickTrackArr3?.join('-');\n const tempClickTrackArr4 = tempClickTrackArr2[3]?.split('-');\n tempClickTrackArr2[3] = addDSTValues(tempClickTrackArr4);\n tempClickTrackArr2[3] = tempClickTrackArr4?.join('-');\n tempClickTrackArr1[0] = tempClickTrackArr2?.join('|');\n tempClickTrack = tempClickTrackArr1?.join(',');\n // eslint-disable-next-line no-useless-escape\n tempClickTrackArr1 = tempClickTrack?.split(/evar48=|\\,event167\\,event271/);\n return {\n atCCeVar48: updatedOfferCode,\n url: atCCctaUrl,\n dataAdditionalTrackingVariables: 'evar48=' + updatedOfferCode + ',event167,event271',\n customClickTrack: tempClickTrack,\n };\n};\n","export enum size {\n small = 's',\n medium = 'm',\n large = 'l',\n extraLarge = 'xl',\n extraSmall = 'xs',\n}\n\nexport enum headingType {\n title = 'title',\n subtitle = 'subtitle',\n body = 'font',\n}\n\nexport enum tags {\n span = 'span',\n div = 'div',\n paragraph = 'p',\n h1 = 'h1',\n h2 = 'h2',\n h3 = 'h3',\n h4 = 'h4',\n h5 = 'h5',\n h6 = 'h6',\n}\n\nexport enum BadgeVariation {\n 'Inline' = 'inline',\n 'Overlay' = 'overlay',\n}\n\nexport enum ButtonTypeVariation {\n 'Submit' = 'submit',\n 'Reset' = 'reset',\n 'Button' = 'button',\n}\n\nexport enum CheckBoxVariation {\n 'Simple' = 'simple',\n 'Switch' = 'switch',\n}\n\nexport enum Themes {\n 'Standard' = 'standard',\n 'Inverse' = 'inverse',\n 'Alternate' = 'alternate',\n}\n\nexport enum ScrimStyle {\n DARK_SCRIM = 'dark-scrim',\n LIGHT_SCRIM = 'light-scrim',\n NO_SCRIM = 'no-scrim',\n}\n\nexport enum LinkTargetType {\n INTERNAL = 'internal',\n EXTERNAL = 'external',\n}\n\nexport enum TypographyColorVariations {\n 'Inverse' = 'inverse',\n 'Alternate' = 'alt',\n 'InverseAlt' = 'inverse-alt',\n}\n\nexport interface TrackingPropsInterface {\n trackingContentPosition?: string;\n trackingOfferType?: string;\n atCCeVar48?: string;\n trackingDescription?: string;\n trackingTag?: string;\n isCoBrand?: boolean;\n clickTrack?: boolean;\n impressionTrack?: boolean;\n impressionCount?: boolean;\n impressionEventType?: string;\n merchandisingCategory?: string;\n additionalTrackingVariables?: string;\n location?: string;\n payloadType?: string;\n compName?: string;\n enableScrollingBehavior?: boolean;\n isAuth?: boolean;\n clickTrackValSeparator?: string;\n cell?: string;\n spid?: string;\n rpcCode?: string;\n isDCAEnabled?: boolean;\n offerCode?: string;\n type?: string;\n}\n\nexport interface TrackingPropsCarousel {\n cardLocation?: string;\n leftArrowDesc?: string;\n rightArrowDesc?: string;\n description?: string;\n}\n\nexport interface TrackingDetailsProps {\n text: 'trackingContentPosition' | 'trackingDescription' | 'trackingOfferType' | 'trackingTag';\n pre: string;\n}\n\nexport interface renditions {\n altText: string;\n assetPath: string;\n dynamic: boolean;\n renditions: Array<{\n renditionPath: string;\n mediaValue: string;\n dynamic: boolean;\n damPath: string;\n mediaQuery: string;\n width: number;\n height: number;\n }>;\n}\n\nexport enum ButtonStyle {\n PRIMARY_BUTTON = 'm-button-primary',\n PRIMARY_BUTTON_EXTERNAL = 'm-button-primary m-button-external',\n SECONDARY_BUTTON = 'm-button-secondary',\n SECONDARY_BUTTON_EXTERNAL = 'm-button-secondary m-button-external',\n TERTIARY_BUTTON = 'm-link-tertiary-button',\n TERTIARY_BUTTON_EXTERNAL = 'm-link-tertiary-button-external',\n}\n\n//example use case: window.mathMedia();\nexport enum MediaQueries {\n DESKTOP = '(min-width: 992px)',\n}\n\nexport interface FontIconSize {\n mobileSize: number;\n deskTopSize: number;\n}\n\nexport const FONT_ICON_1_1_SIZE: Record<string, FontIconSize> = {\n RZ: { mobileSize: 38.4, deskTopSize: 38.4 },\n EB: { mobileSize: 12, deskTopSize: 12 },\n JW: { mobileSize: 32, deskTopSize: 32 },\n AK: { mobileSize: 32, deskTopSize: 32 },\n BR: { mobileSize: 17.28, deskTopSize: 17.28 },\n GE: { mobileSize: 32, deskTopSize: 32 },\n CY: { mobileSize: 8.32, deskTopSize: 8.32 },\n RI: { mobileSize: 9.28, deskTopSize: 9.28 },\n SH: { mobileSize: 20.48, deskTopSize: 20.48 },\n FI: { mobileSize: 10.72, deskTopSize: 10.72 },\n TS: { mobileSize: 15.2, deskTopSize: 15.2 },\n PR: { mobileSize: 20.32, deskTopSize: 20.32 },\n OX: { mobileSize: 22.4, deskTopSize: 22.4 },\n LC: { mobileSize: 32, deskTopSize: 32 },\n WI: { mobileSize: 9.6, deskTopSize: 9.6 },\n SI: { mobileSize: 32, deskTopSize: 32 },\n MD: { mobileSize: 9.6, deskTopSize: 9.6 },\n TX: { mobileSize: 12.8, deskTopSize: 16 },\n DS: { mobileSize: 17.6, deskTopSize: 17.6 },\n AL: { mobileSize: 20.8, deskTopSize: 20.8 },\n HV: { mobileSize: 32, deskTopSize: 32 },\n MV: { mobileSize: 32, deskTopSize: 45 },\n RCR: { mobileSize: 10.3, deskTopSize: 10.5 },\n BG: { mobileSize: 7, deskTopSize: 7 },\n trc: { mobileSize: 15, deskTopSize: 17 },\n reserve: { mobileSize: 4.8, deskTopSize: 4.8 },\n MG: { mobileSize: 16, deskTopSize: 24 },\n WV: { mobileSize: 16, deskTopSize: 24 },\n SV: { mobileSize: 16, deskTopSize: 24 },\n BA: { mobileSize: 16, deskTopSize: 24 },\n WH_word_mark: { mobileSize: 7, deskTopSize: 8 },\n DEFAULT: { mobileSize: 32, deskTopSize: 32 },\n};\n\nexport enum ScrollDirection {\n UP = 'up',\n DOWN = 'down',\n INDETERMINATE = '',\n}\n\nexport interface KeyEvent {\n key: string;\n keyCode: number;\n}\n\nexport const KEY_BOARD_EVENTS: Record<string, KeyEvent> = {\n ENTER: { key: 'Enter', keyCode: 13 },\n TAB: { key: 'Tab', keyCode: 9 },\n ESCAPE: { key: 'Escape', keyCode: 27 },\n ARROW_UP: { key: 'ArrowUp', keyCode: 38 },\n ARROW_DOWN: { key: 'ArrowDown', keyCode: 40 },\n ARROW_RIGHT: { key: 'ArrowRight', keyCode: 39 },\n ARROW_LEFT: { key: 'ArrowLeft', keyCode: 37 },\n SPACEBAR: { key: ' ', keyCode: 32 },\n};\n\nexport enum ImageAspectRatio {\n SIZE_16x9 = '16:9',\n SIZE_5x2 = '5:2',\n SIZE_3x1 = '3:1',\n SIZE_2X1 = '2:1',\n}\n\n// Use This when we want brand logo in 90*60 size\nexport const FONT_ICON_CARD_LAYRED_LOGO_SIZE: Record<string, FontIconSize> = {\n RZ: { mobileSize: 40, deskTopSize: 40 },\n EB: { mobileSize: 16, deskTopSize: 16 },\n JW: { mobileSize: 35, deskTopSize: 35 },\n AK: { mobileSize: 37, deskTopSize: 37 },\n BR: { mobileSize: 46, deskTopSize: 46 },\n GE: { mobileSize: 43, deskTopSize: 43 },\n CY: { mobileSize: 14, deskTopSize: 14 },\n RI: { mobileSize: 16, deskTopSize: 16 },\n SH: { mobileSize: 33, deskTopSize: 33 },\n FI: { mobileSize: 25, deskTopSize: 25 },\n TS: { mobileSize: 30, deskTopSize: 30 },\n PR: { mobileSize: 39, deskTopSize: 39 },\n OX: { mobileSize: 32, deskTopSize: 32 },\n LC: { mobileSize: 42, deskTopSize: 42 },\n WI: { mobileSize: 20, deskTopSize: 20 },\n SI: { mobileSize: 42, deskTopSize: 42 },\n MD: { mobileSize: 13, deskTopSize: 13 },\n TX: { mobileSize: 18, deskTopSize: 18 },\n DS: { mobileSize: 9.3, deskTopSize: 9.3 },\n AL: { mobileSize: 38, deskTopSize: 38 },\n HV: { mobileSize: 38, deskTopSize: 38 },\n MV: { mobileSize: 45, deskTopSize: 45 },\n RCR: { mobileSize: 20, deskTopSize: 20 },\n BG: { mobileSize: 20.8, deskTopSize: 20.8 },\n trc: { mobileSize: 17, deskTopSize: 17 },\n reserve: { mobileSize: 9, deskTopSize: 9 },\n MG: { mobileSize: 27, deskTopSize: 27 },\n WV: { mobileSize: 30, deskTopSize: 30 },\n SV: { mobileSize: 46, deskTopSize: 46 },\n BA: { mobileSize: 47, deskTopSize: 47 },\n XR: { mobileSize: 44, deskTopSize: 44 },\n WH: { mobileSize: 16, deskTopSize: 16 },\n DE: { mobileSize: 48, deskTopSize: 48 },\n MC: { mobileSize: 44, deskTopSize: 44 },\n AR: { mobileSize: 44, deskTopSize: 44 },\n EL: { mobileSize: 48, deskTopSize: 48 },\n RS: { mobileSize: 30, deskTopSize: 30 },\n XE: { mobileSize: 40, deskTopSize: 40 },\n XF: { mobileSize: 40, deskTopSize: 40 },\n SN: { mobileSize: 70, deskTopSize: 70 },\n DEFAULT: { mobileSize: 32, deskTopSize: 32 },\n};\n\nexport const FONT_ICON_BRAND_LOGO_SIZE_D135_M90: Record<string, FontIconSize> = {\n RZ: { mobileSize: 36.32, deskTopSize: 54.51 },\n EB: { mobileSize: 16.54, deskTopSize: 24.81 },\n JW: { mobileSize: 33.45, deskTopSize: 53.2 },\n AK: { mobileSize: 37.53, deskTopSize: 56.3 },\n BR: { mobileSize: 47.18, deskTopSize: 70.77 },\n GE: { mobileSize: 43.68, deskTopSize: 65.52 },\n CY: { mobileSize: 13.92, deskTopSize: 20.88 },\n RI: { mobileSize: 16.18, deskTopSize: 24.27 },\n SH: { mobileSize: 33.79, deskTopSize: 50.68 },\n FI: { mobileSize: 25.34, deskTopSize: 38.01 },\n TS: { mobileSize: 30.14, deskTopSize: 45.21 },\n PR: { mobileSize: 39.26, deskTopSize: 58.89 },\n OX: { mobileSize: 30.52, deskTopSize: 45.79 },\n LC: { mobileSize: 49.15, deskTopSize: 73.72 },\n WI: { mobileSize: 20.06, deskTopSize: 30.09 },\n SI: { mobileSize: 42.24, deskTopSize: 63.36 },\n MD: { mobileSize: 13.24, deskTopSize: 19.87 },\n TX: { mobileSize: 18.62, deskTopSize: 27.93 },\n DS: { mobileSize: 9.3, deskTopSize: 13.97 },\n AL: { mobileSize: 42.04, deskTopSize: 63.07 },\n HV: { mobileSize: 38.97, deskTopSize: 58.464 },\n WV: { mobileSize: 30.46, deskTopSize: 45.7 },\n MG: { mobileSize: 27.61, deskTopSize: 41.42 },\n WH: { mobileSize: 12.4, deskTopSize: 18.6 },\n RCR: { mobileSize: 14.42, deskTopSize: 21.6 },\n BA: { mobileSize: 47.12, deskTopSize: 70.68 },\n BG: { mobileSize: 20.8, deskTopSize: 31.2 },\n XE: { mobileSize: 28.8, deskTopSize: 41.6 },\n XF: { mobileSize: 30.4, deskTopSize: 44.8 },\n MC: { mobileSize: 66.56, deskTopSize: 99.84 },\n FP: { mobileSize: 64, deskTopSize: 64 },\n DE: { mobileSize: 64, deskTopSize: 64 },\n AR: { mobileSize: 64, deskTopSize: 64 },\n XR: { mobileSize: 64, deskTopSize: 64 },\n EL: { mobileSize: 64, deskTopSize: 64 },\n MV: { mobileSize: 64, deskTopSize: 64 },\n ER: { mobileSize: 43.36, deskTopSize: 65.04 },\n SV: { mobileSize: 47.63, deskTopSize: 71.45 },\n RS: { mobileSize: 20.8, deskTopSize: 30.4 },\n SN: { mobileSize: 60.8, deskTopSize: 88 },\n ESCAPE: { mobileSize: 50.6, deskTopSize: 76 },\n DEFAULT: { mobileSize: 32, deskTopSize: 32 },\n};\n\nexport const FONT_ICON_PORTFOLIO_LOGO_SIZE_D135_M90 = {\n 'ritz-carlton': { mobileSize: 36.32, deskTopSize: 54.51 },\n edition: { mobileSize: 16.54, deskTopSize: 24.81 },\n jw: { mobileSize: 33.45, deskTopSize: 53.2 },\n 'autograph-collection': { mobileSize: 47.18, deskTopSize: 70.77 },\n renaissance: { mobileSize: 47.18, deskTopSize: 70.77 },\n gaylord: { mobileSize: 43.68, deskTopSize: 65.52 },\n courtyard: { mobileSize: 13.92, deskTopSize: 20.88 },\n 'residence-inn': { mobileSize: 16.18, deskTopSize: 24.27 },\n 'springhill-suites': { mobileSize: 33.79, deskTopSize: 50.68 },\n 'fairfield-inn': { mobileSize: 25.34, deskTopSize: 38.01 },\n 'towneplace-suites': { mobileSize: 30.14, deskTopSize: 45.21 },\n 'protea-hotels': { mobileSize: 39.26, deskTopSize: 58.89 },\n moxy: { mobileSize: 30.52, deskTopSize: 45.79 },\n 'luxury-collection': { mobileSize: 49.15, deskTopSize: 73.72 },\n westin: { mobileSize: 20.06, deskTopSize: 30.09 },\n sheraton: { mobileSize: 42.24, deskTopSize: 63.36 },\n 'le-meridien': { mobileSize: 13.24, deskTopSize: 19.87 },\n 'tribute-portfolio': { mobileSize: 13.24, deskTopSize: 19.87 },\n 'design-hotels': { mobileSize: 9.3, deskTopSize: 13.97 },\n aloft: { mobileSize: 42.04, deskTopSize: 63.07 },\n hvmi: { mobileSize: 38.97, deskTopSize: 58.464 },\n 'westin-vacation-club': { mobileSize: 30.46, deskTopSize: 45.7 },\n mg: { mobileSize: 27.61, deskTopSize: 41.42 },\n 'w-hotels': { mobileSize: 12.4, deskTopSize: 18.6 },\n rcr: { mobileSize: 14.42, deskTopSize: 21.6 },\n ba: { mobileSize: 14.42, deskTopSize: 21.6 },\n marriott: { mobileSize: 66.56, deskTopSize: 99.84 },\n 'four-points': { mobileSize: 64, deskTopSize: 64 },\n 'delta-hotels': { mobileSize: 64, deskTopSize: 64 },\n 'ac-hotels': { mobileSize: 64, deskTopSize: 64 },\n 'st-regis': { mobileSize: 64, deskTopSize: 64 },\n element: { mobileSize: 64, deskTopSize: 64 },\n mvc: { mobileSize: 64, deskTopSize: 64 },\n 'marriott-executive-apartments': { mobileSize: 43.36, deskTopSize: 65.04 },\n 'sheraton-vacation-club': { mobileSize: 47.63, deskTopSize: 71.45 },\n xe: { mobileSize: 28.8, deskTopSize: 41.6 },\n xf: { mobileSize: 30.4, deskTopSize: 44.8 },\n rs: { mobileSize: 20.8, deskTopSize: 30.4 },\n escape: { mobileSize: 50.6, deskTopSize: 76 },\n DEFAULT: { mobileSize: 32, deskTopSize: 32 },\n};\n\nexport const expanded_constants = {\n SEE_MORE: 'See More',\n SEE_LESS: 'See Less',\n};\n\nexport enum HeaderTextStyle {\n WITHOUT_CO_BRAND = 'withoutCoBrand',\n WITH_CO_BRAND = 'withCoBrand',\n H1 = 'h1',\n H2 = 'h2',\n H3 = 'h3',\n H4 = 'h4',\n H5 = 'h5',\n H6 = 'h6',\n}\n\nexport enum Target {\n ENABLE_TARGET = 'enable-target',\n DISABLE_TARGET = '',\n}\n\nexport enum AssetVariation {\n FONT_ICON = 'fonticon',\n IMAGE = 'image',\n VERTICAL_IMAGE = 'verticalImage',\n}\n\nexport enum HeaderCopyWidth {\n DEFAULT = 'default',\n EXTRATHIN = 'extraThin',\n THIN = 'thin',\n WIDE = 'wide',\n}\n\nexport enum TOOLTIP_POSITION {\n top = 'top',\n right = 'right',\n default = '',\n bottom = 'bottom',\n}\n\nexport enum DOC_DIR {\n LTR = 'ltr',\n RTL = 'rtl',\n}\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { Model } from '@adobe/aem-spa-page-model-manager';\nimport { ModelProps } from '@adobe/aem-react-editable-components';\nimport { KEY_BOARD_EVENTS, TrackingPropsInterface } from './enums/enums';\n\nexport const canUseDOM = !!(typeof window !== 'undefined' && window.document);\n\n//Utility for converting nested container json to tree format\n\nexport type AEMModelType = Model & ModelProps;\n\nexport type StringIndexedObject = {\n [key: string]: any;\n};\n\nexport interface ScrollSettings {\n isNavComponent?: boolean;\n isStickyOnScrollDown?: boolean;\n isStickyOnScrollUp?: boolean;\n}\n\nexport interface ScrollStoreModel extends Model {\n componentId?: string;\n scrollSetting?: ScrollSettings;\n ':children'?: {\n [key: string]: ScrollStoreModel;\n };\n ':items'?: {\n [key: string]: ScrollStoreModel;\n };\n}\n\nexport interface AEMModel extends AEMModelType {\n resourceProperties?: any;\n itemKey?: string;\n backgroundMedia?: any;\n trackingProperties?: TrackingPropsInterface;\n componentId?: string;\n scrollSetting?: ScrollSettings;\n ':children'?: {\n [key: string]: ScrollStoreModel;\n };\n ':items'?: {\n [key: string]: ScrollStoreModel;\n };\n styleclass?: string;\n}\n// eslint-disable-next-line @typescript-eslint/no-empty-interface\nexport interface SortedModelArray extends Array<AEMModel> {}\nexport interface AEMContainerProps {\n cqPath?: string;\n isAuthorMode?: boolean;\n}\n\nexport const sortAEMModelItemsByOrder = (data: AEMModel): SortedModelArray => {\n if (!data) return [];\n const itemsOrder = data[':itemsOrder'] || data?.cqItemsOrder || [];\n const items = data[':items'] || data?.cqItems || {};\n return itemsOrder?.length\n ? itemsOrder.map((itemKey: string) => {\n return { ...items[itemKey], itemKey };\n })\n : [];\n};\n\n//TODO:Importing from headless utils is giving error.So kept here for now. Need to remove after the issue is fixed.\nexport function transformToCQ(propKey: string) {\n const tempKey = propKey.substring(1);\n\n return 'cq' + tempKey.substring(0, 1).toUpperCase() + tempKey.substring(1);\n}\n\nexport const respGridUtil = (item: any) => {\n if (!item || !Object.keys(item).length) {\n return { cqPath: '' };\n }\n\n const keys = Object.getOwnPropertyNames(item);\n const props: any = {};\n\n keys.forEach((key: string) => {\n const propKey = key.startsWith(':') ? transformToCQ(key) : key;\n props[propKey] = item[key] || '';\n });\n\n return props;\n};\n\n/**\n *\n * @param text\n * Remove the parent tag from RTE text\n * <p>Lorem Ipsum has been the <sub>industry's standard</sub> dummy text ever</p>\n * =>Lorem Ipsum has been the <sub>industry's standard</sub> dummy text ever\n */\nexport const removeParentTagRTE = (textRTE: string): string => {\n return textRTE.substring(textRTE.indexOf('>') + 1, textRTE.lastIndexOf('<'));\n};\n\nexport const getEventKeyTypes = (e: React.KeyboardEvent<HTMLElement>) => {\n const { ENTER, TAB, ESCAPE, ARROW_UP, ARROW_DOWN, ARROW_RIGHT, ARROW_LEFT, SPACEBAR } = KEY_BOARD_EVENTS ?? {};\n return {\n isEnterKey: e.key === ENTER?.key || e.keyCode === ENTER?.keyCode,\n isTabKey: e.key === TAB?.key || e.keyCode === TAB?.keyCode,\n isEscapseKey: e.key === ESCAPE?.key || e.keyCode === ESCAPE?.keyCode,\n isUpArrowKey: e.key === ARROW_UP?.key || e.keyCode === ARROW_UP.keyCode,\n isDownArrowKey: e.key === ARROW_DOWN?.key || e.keyCode === ARROW_DOWN?.keyCode,\n isRightArrowKey: e.key === ARROW_RIGHT?.key || e.keyCode === ARROW_RIGHT?.keyCode,\n isLeftArrowKey: e.key === ARROW_LEFT?.key || e.keyCode === ARROW_LEFT?.keyCode,\n isSpaceBarKey: e.key === SPACEBAR?.key || e.keyCode === SPACEBAR?.keyCode,\n };\n};\n\n/**\n *\n * Throttling any event handler to avoid excessive function calls\n * @param func @param delay\n * @returns the handler function \"func\" which executes after every 500 ms\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport const throttle = (func: any, delay: number) => {\n let timeoutId: NodeJS.Timeout;\n let lastExecTime = 0;\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return (...args: any[]) => {\n const currentTime = new Date().getTime();\n const elapsedTime = currentTime - lastExecTime;\n\n if (!timeoutId || elapsedTime >= delay) {\n func.apply(this, args);\n lastExecTime = currentTime;\n }\n\n clearTimeout(timeoutId);\n timeoutId = setTimeout(() => {\n lastExecTime = new Date().getTime();\n }, delay);\n };\n};\nexport const emailRegex = /^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$/;\n\n/**\n * This function updates the keys of an object based on a provided key mapping.\n *\n * @param {StringIndexedObject} aemModelObj - The original object whose keys are to be updated.\n * It must be a non-null object.\n *\n * @throws {Error} Will throw an error if the provided obj or keyMap is not an object or is null.\n *\n * @returns {StringIndexedObject} A new object with updated keys.\n * If a key in the original object is found in the keyMap,\n * it will be replaced with the corresponding value from the keyMap.\n * If a key in the original object is not found in the keyMap,\n * it will remain the same.\n * Note: The function does not mutate the original object.\n */\nexport const updateAEMCQKeys = (aemModelObj: StringIndexedObject): StringIndexedObject => {\n const cqKeyMap: { [key: string]: string } = {\n ':items': 'cqItems',\n ':itemsOrder': 'cqItemsOrder',\n ':type': 'cqType',\n };\n\n if (typeof aemModelObj !== 'object' || aemModelObj === null) {\n throw new Error('Invalid object provided');\n }\n\n const updatedObject: StringIndexedObject = { ...aemModelObj };\n\n for (const key in cqKeyMap) {\n if (Object.prototype.hasOwnProperty.call(aemModelObj, key)) {\n const updatedKey = cqKeyMap[key];\n // Only update if updatedKey is defined and does not exist in the original object\n if (updatedKey && !Object.prototype.hasOwnProperty.call(aemModelObj, updatedKey)) {\n updatedObject[updatedKey] = aemModelObj[key];\n delete updatedObject[key];\n }\n }\n }\n\n return updatedObject;\n};\n\nexport const getLoyaltyTheme = (inputString: string | undefined) => {\n const regex = /\\b(memberSolid|memberSolidAlt|silverSolid|goldSolid|platinumSolid|titaniumSolid|ambassadorSolid)\\b/g;\n const matches = inputString?.match(regex);\n\n if (matches) {\n const key = matches[0];\n return key;\n } else {\n return;\n }\n};\n","import { baseVariables, toRem } from '../styles';\nimport { FONT_ICON_1_1_SIZE } from './enums/enums';\n\nconst generateLogoStyle = (fontIcon: string, logoRatio: typeof FONT_ICON_1_1_SIZE, mediaQuery: string) => {\n const ratio = logoRatio[fontIcon] ?? logoRatio['DEFAULT'];\n return ratio?.mobileSize\n ? `font-size: ${toRem(ratio.mobileSize)};\n line-height: normal;\n @media ${mediaQuery} {\n font-size: ${toRem(ratio.deskTopSize)};\n }`\n : '';\n};\n\nexport const logoResize = (fontIcon: string, logoRatio: typeof FONT_ICON_1_1_SIZE, sameMobileTabletView?: boolean) => {\n const mediaQuery = sameMobileTabletView ? baseVariables.mediaQuery.xl : baseVariables.mediaQuery.md;\n return generateLogoStyle(fontIcon, logoRatio, mediaQuery);\n};\n","import React, { type JSX } from 'react'\nimport Loadable from './loadable.shared-runtime'\n\nconst isServerSide = typeof window === 'undefined'\n\ntype ComponentModule<P = {}> = { default: React.ComponentType<P> }\n\nexport declare type LoaderComponent<P = {}> = Promise<\n React.ComponentType<P> | ComponentModule<P>\n>\n\nexport declare type Loader<P = {}> =\n | (() => LoaderComponent<P>)\n | LoaderComponent<P>\n\nexport type LoaderMap = { [module: string]: () => Loader<any> }\n\nexport type LoadableGeneratedOptions = {\n webpack?(): any\n modules?(): LoaderMap\n}\n\nexport type DynamicOptionsLoadingProps = {\n error?: Error | null\n isLoading?: boolean\n pastDelay?: boolean\n retry?: () => void\n timedOut?: boolean\n}\n\n// Normalize loader to return the module as form { default: Component } for `React.lazy`.\n// Also for backward compatible since next/dynamic allows to resolve a component directly with loader\n// Client component reference proxy need to be converted to a module.\nfunction convertModule<P>(mod: React.ComponentType<P> | ComponentModule<P>) {\n return { default: (mod as ComponentModule<P>)?.default || mod }\n}\n\nexport type DynamicOptions<P = {}> = LoadableGeneratedOptions & {\n loading?: (loadingProps: DynamicOptionsLoadingProps) => JSX.Element | null\n loader?: Loader<P> | LoaderMap\n loadableGenerated?: LoadableGeneratedOptions\n ssr?: boolean\n}\n\nexport type LoadableOptions<P = {}> = DynamicOptions<P>\n\nexport type LoadableFn<P = {}> = (\n opts: LoadableOptions<P>\n) => React.ComponentType<P>\n\nexport type LoadableComponent<P = {}> = React.ComponentType<P>\n\nexport function noSSR<P = {}>(\n LoadableInitializer: LoadableFn<P>,\n loadableOptions: DynamicOptions<P>\n): React.ComponentType<P> {\n // Removing webpack and modules means react-loadable won't try preloading\n delete loadableOptions.webpack\n delete loadableOptions.modules\n\n // This check is necessary to prevent react-loadable from initializing on the server\n if (!isServerSide) {\n return LoadableInitializer(loadableOptions)\n }\n\n const Loading = loadableOptions.loading!\n // This will only be rendered on the server side\n return () => (\n <Loading error={null} isLoading pastDelay={false} timedOut={false} />\n )\n}\n\n/**\n * This function lets you dynamically import a component.\n * It uses [React.lazy()](https://react.dev/reference/react/lazy) with [Suspense](https://react.dev/reference/react/Suspense) under the hood.\n *\n * Read more: [Next.js Docs: `next/dynamic`](https://nextjs.org/docs/app/building-your-application/optimizing/lazy-loading#nextdynamic)\n */\nexport default function dynamic<P = {}>(\n dynamicOptions: DynamicOptions<P> | Loader<P>,\n options?: DynamicOptions<P>\n): React.ComponentType<P> {\n let loadableFn = Loadable as LoadableFn<P>\n\n let loadableOptions: LoadableOptions<P> = {\n // A loading component is not required, so we default it\n loading: ({ error, isLoading, pastDelay }) => {\n if (!pastDelay) return null\n if (process.env.NODE_ENV !== 'production') {\n if (isLoading) {\n return null\n }\n if (error) {\n return (\n <p>\n {error.message}\n <br />\n {error.stack}\n </p>\n )\n }\n }\n return null\n },\n }\n\n // Support for direct import(), eg: dynamic(import('../hello-world'))\n // Note that this is only kept for the edge case where someone is passing in a promise as first argument\n // The react-loadable babel plugin will turn dynamic(import('../hello-world')) into dynamic(() => import('../hello-world'))\n // To make sure we don't execute the import without rendering first\n if (dynamicOptions instanceof Promise) {\n loadableOptions.loader = () => dynamicOptions\n // Support for having import as a function, eg: dynamic(() => import('../hello-world'))\n } else if (typeof dynamicOptions === 'function') {\n loadableOptions.loader = dynamicOptions\n // Support for having first argument being options, eg: dynamic({loader: import('../hello-world')})\n } else if (typeof dynamicOptions === 'object') {\n loadableOptions = { ...loadableOptions, ...dynamicOptions }\n }\n\n // Support for passing options, eg: dynamic(import('../hello-world'), {loading: () => <p>Loading something</p>})\n loadableOptions = { ...loadableOptions, ...options }\n\n const loaderFn = loadableOptions.loader as () => LoaderComponent<P>\n const loader = () =>\n loaderFn != null\n ? loaderFn().then(convertModule)\n : Promise.resolve(convertModule(() => null))\n\n // coming from build/babel/plugins/react-loadable-plugin.js\n if (loadableOptions.loadableGenerated) {\n loadableOptions = {\n ...loadableOptions,\n ...loadableOptions.loadableGenerated,\n }\n delete loadableOptions.loadableGenerated\n }\n\n // support for disabling server side rendering, eg: dynamic(() => import('../hello-world'), {ssr: false}).\n if (typeof loadableOptions.ssr === 'boolean' && !loadableOptions.ssr) {\n delete loadableOptions.webpack\n delete loadableOptions.modules\n\n return noSSR(loadableFn, loadableOptions)\n }\n\n return loadableFn({ ...loadableOptions, loader: loader as Loader<P> })\n}\n","'use client'\n\nimport React from 'react'\n\ntype CaptureFn = (moduleName: string) => void\n\nexport const LoadableContext = React.createContext<CaptureFn | null>(null)\n\nif (process.env.NODE_ENV !== 'production') {\n LoadableContext.displayName = 'LoadableContext'\n}\n","// TODO: Remove use of `any` type.\n/**\n@copyright (c) 2017-present James Kyle <me@thejameskyle.com>\n MIT License\n Permission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n\"Software\"), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n The above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\nNONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\nLIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\nOF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\nWITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE\n*/\n// https://github.com/jamiebuilds/react-loadable/blob/v5.5.0/src/index.js\n// Modified to be compatible with webpack 4 / Next.js\n\nimport React from 'react'\nimport { LoadableContext } from './loadable-context.shared-runtime'\n\nfunction resolve(obj: any) {\n return obj && obj.default ? obj.default : obj\n}\n\nconst ALL_INITIALIZERS: any[] = []\nconst READY_INITIALIZERS: any[] = []\nlet initialized = false\n\nfunction load(loader: any) {\n let promise = loader()\n\n let state: any = {\n loading: true,\n loaded: null,\n error: null,\n }\n\n state.promise = promise\n .then((loaded: any) => {\n state.loading = false\n state.loaded = loaded\n return loaded\n })\n .catch((err: any) => {\n state.loading = false\n state.error = err\n throw err\n })\n\n return state\n}\n\nfunction createLoadableComponent(loadFn: any, options: any) {\n let opts = Object.assign(\n {\n loader: null,\n loading: null,\n delay: 200,\n timeout: null,\n webpack: null,\n modules: null,\n },\n options\n )\n\n /** @type LoadableSubscription */\n let subscription: any = null\n function init() {\n if (!subscription) {\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n const sub = new LoadableSubscription(loadFn, opts)\n subscription = {\n getCurrentValue: sub.getCurrentValue.bind(sub),\n subscribe: sub.subscribe.bind(sub),\n retry: sub.retry.bind(sub),\n promise: sub.promise.bind(sub),\n }\n }\n return subscription.promise()\n }\n\n // Server only\n if (typeof window === 'undefined') {\n ALL_INITIALIZERS.push(init)\n }\n\n // Client only\n if (!initialized && typeof window !== 'undefined') {\n // require.resolveWeak check is needed for environments that don't have it available like Jest\n const moduleIds =\n opts.webpack && typeof (require as any).resolveWeak === 'function'\n ? opts.webpack()\n : opts.modules\n if (moduleIds) {\n READY_INITIALIZERS.push((ids: any) => {\n for (const moduleId of moduleIds) {\n if (ids.includes(moduleId)) {\n return init()\n }\n }\n })\n }\n }\n\n function useLoadableModule() {\n init()\n\n const context = React.useContext(LoadableContext)\n if (context && Array.isArray(opts.modules)) {\n opts.modules.forEach((moduleName: any) => {\n context(moduleName)\n })\n }\n }\n\n function LoadableComponent(props: any, ref: any) {\n useLoadableModule()\n\n const state = (React as any).useSyncExternalStore(\n subscription.subscribe,\n subscription.getCurrentValue,\n subscription.getCurrentValue\n )\n\n React.useImperativeHandle(\n ref,\n () => ({\n retry: subscription.retry,\n }),\n []\n )\n\n return React.useMemo(() => {\n if (state.loading || state.error) {\n return React.createElement(opts.loading, {\n isLoading: state.loading,\n pastDelay: state.pastDelay,\n timedOut: state.timedOut,\n error: state.error,\n retry: subscription.retry,\n })\n } else if (state.loaded) {\n return React.createElement(resolve(state.loaded), props)\n } else {\n return null\n }\n }, [props, state])\n }\n\n LoadableComponent.preload = () => init()\n LoadableComponent.displayName = 'LoadableComponent'\n\n return React.forwardRef(LoadableComponent)\n}\n\nclass LoadableSubscription {\n _loadFn: any\n _opts: any\n _callbacks: any\n _delay: any\n _timeout: any\n _res: any\n _state: any\n constructor(loadFn: any, opts: any) {\n this._loadFn = loadFn\n this._opts = opts\n this._callbacks = new Set()\n this._delay = null\n this._timeout = null\n\n this.retry()\n }\n\n promise() {\n return this._res.promise\n }\n\n retry() {\n this._clearTimeouts()\n this._res = this._loadFn(this._opts.loader)\n\n this._state = {\n pastDelay: false,\n timedOut: false,\n }\n\n const { _res: res, _opts: opts } = this\n\n if (res.loading) {\n if (typeof opts.delay === 'number') {\n if (opts.delay === 0) {\n this._state.pastDelay = true\n } else {\n this._delay = setTimeout(() => {\n this._update({\n pastDelay: true,\n })\n }, opts.delay)\n }\n }\n\n if (typeof opts.timeout === 'number') {\n this._timeout = setTimeout(() => {\n this._update({ timedOut: true })\n }, opts.timeout)\n }\n }\n\n this._res.promise\n .then(() => {\n this._update({})\n this._clearTimeouts()\n })\n .catch((_err: any) => {\n this._update({})\n this._clearTimeouts()\n })\n this._update({})\n }\n\n _update(partial: any) {\n this._state = {\n ...this._state,\n error: this._res.error,\n loaded: this._res.loaded,\n loading: this._res.loading,\n ...partial,\n }\n this._callbacks.forEach((callback: any) => callback())\n }\n\n _clearTimeouts() {\n clearTimeout(this._delay)\n clearTimeout(this._timeout)\n }\n\n getCurrentValue() {\n return this._state\n }\n\n subscribe(callback: any) {\n this._callbacks.add(callback)\n return () => {\n this._callbacks.delete(callback)\n }\n }\n}\n\nfunction Loadable(opts: any) {\n return createLoadableComponent(load, opts)\n}\n\nfunction flushInitializers(initializers: any, ids?: any): any {\n let promises = []\n\n while (initializers.length) {\n let init = initializers.pop()\n promises.push(init(ids))\n }\n\n return Promise.all(promises).then(() => {\n if (initializers.length) {\n return flushInitializers(initializers, ids)\n }\n })\n}\n\nLoadable.preloadAll = () => {\n return new Promise((resolveInitializers, reject) => {\n flushInitializers(ALL_INITIALIZERS).then(resolveInitializers, reject)\n })\n}\n\nLoadable.preloadReady = (ids: (string | number)[] = []): Promise<void> => {\n return new Promise<void>((resolvePreload) => {\n const res = () => {\n initialized = true\n return resolvePreload()\n }\n // We always will resolve, errors should be handled within loading UIs.\n flushInitializers(READY_INITIALIZERS, ids).then(res, res)\n })\n}\n\ndeclare global {\n interface Window {\n __NEXT_PRELOADREADY?: (ids?: (string | number)[]) => Promise<void>\n }\n}\n\nif (typeof window !== 'undefined') {\n window.__NEXT_PRELOADREADY = Loadable.preloadReady\n}\n\nexport default Loadable\n","(function(){var e={7160:function(e,t,r){var i=t;i.bignum=r(711);i.define=r(495).define;i.base=r(853);i.constants=r(7335);i.decoders=r(6701);i.encoders=r(3418)},495:function(e,t,r){var i=r(7160);var n=r(3782);var a=t;a.define=function define(e,t){return new Entity(e,t)};function Entity(e,t){this.name=e;this.body=t;this.decoders={};this.encoders={}}Entity.prototype._createNamed=function createNamed(e){var t;try{t=r(6144).runInThisContext(\"(function \"+this.name+\"(entity) {\\n\"+\" this._initNamed(entity);\\n\"+\"})\")}catch(e){t=function(e){this._initNamed(e)}}n(t,e);t.prototype._initNamed=function initnamed(t){e.call(this,t)};return new t(this)};Entity.prototype._getDecoder=function _getDecoder(e){e=e||\"der\";if(!this.decoders.hasOwnProperty(e))this.decoders[e]=this._createNamed(i.decoders[e]);return this.decoders[e]};Entity.prototype.decode=function decode(e,t,r){return this._getDecoder(t).decode(e,r)};Entity.prototype._getEncoder=function _getEncoder(e){e=e||\"der\";if(!this.encoders.hasOwnProperty(e))this.encoders[e]=this._createNamed(i.encoders[e]);return this.encoders[e]};Entity.prototype.encode=function encode(e,t,r){return this._getEncoder(t).encode(e,r)}},6483:function(e,t,r){var i=r(3782);var n=r(853).Reporter;var a=r(4300).Buffer;function DecoderBuffer(e,t){n.call(this,t);if(!a.isBuffer(e)){this.error(\"Input not Buffer\");return}this.base=e;this.offset=0;this.length=e.length}i(DecoderBuffer,n);t.C=DecoderBuffer;DecoderBuffer.prototype.save=function save(){return{offset:this.offset,reporter:n.prototype.save.call(this)}};DecoderBuffer.prototype.restore=function restore(e){var t=new DecoderBuffer(this.base);t.offset=e.offset;t.length=this.offset;this.offset=e.offset;n.prototype.restore.call(this,e.reporter);return t};DecoderBuffer.prototype.isEmpty=function isEmpty(){return this.offset===this.length};DecoderBuffer.prototype.readUInt8=function readUInt8(e){if(this.offset+1<=this.length)return this.base.readUInt8(this.offset++,true);else return this.error(e||\"DecoderBuffer overrun\")};DecoderBuffer.prototype.skip=function skip(e,t){if(!(this.offset+e<=this.length))return this.error(t||\"DecoderBuffer overrun\");var r=new DecoderBuffer(this.base);r._reporterState=this._reporterState;r.offset=this.offset;r.length=this.offset+e;this.offset+=e;return r};DecoderBuffer.prototype.raw=function raw(e){return this.base.slice(e?e.offset:this.offset,this.length)};function EncoderBuffer(e,t){if(Array.isArray(e)){this.length=0;this.value=e.map((function(e){if(!(e instanceof EncoderBuffer))e=new EncoderBuffer(e,t);this.length+=e.length;return e}),this)}else if(typeof e===\"number\"){if(!(0<=e&&e<=255))return t.error(\"non-byte EncoderBuffer value\");this.value=e;this.length=1}else if(typeof e===\"string\"){this.value=e;this.length=a.byteLength(e)}else if(a.isBuffer(e)){this.value=e;this.length=e.length}else{return t.error(\"Unsupported type: \"+typeof e)}}t.R=EncoderBuffer;EncoderBuffer.prototype.join=function join(e,t){if(!e)e=new a(this.length);if(!t)t=0;if(this.length===0)return e;if(Array.isArray(this.value)){this.value.forEach((function(r){r.join(e,t);t+=r.length}))}else{if(typeof this.value===\"number\")e[t]=this.value;else if(typeof this.value===\"string\")e.write(this.value,t);else if(a.isBuffer(this.value))this.value.copy(e,t);t+=this.length}return e}},853:function(e,t,r){var i=t;i.Reporter=r(1293).b;i.DecoderBuffer=r(6483).C;i.EncoderBuffer=r(6483).R;i.Node=r(9374)},9374:function(e,t,r){var i=r(853).Reporter;var n=r(853).EncoderBuffer;var a=r(853).DecoderBuffer;var s=r(3523);var o=[\"seq\",\"seqof\",\"set\",\"setof\",\"objid\",\"bool\",\"gentime\",\"utctime\",\"null_\",\"enum\",\"int\",\"objDesc\",\"bitstr\",\"bmpstr\",\"charstr\",\"genstr\",\"graphstr\",\"ia5str\",\"iso646str\",\"numstr\",\"octstr\",\"printstr\",\"t61str\",\"unistr\",\"utf8str\",\"videostr\"];var h=[\"key\",\"obj\",\"use\",\"optional\",\"explicit\",\"implicit\",\"def\",\"choice\",\"any\",\"contains\"].concat(o);var u=[\"_peekTag\",\"_decodeTag\",\"_use\",\"_decodeStr\",\"_decodeObjid\",\"_decodeTime\",\"_decodeNull\",\"_decodeInt\",\"_decodeBool\",\"_decodeList\",\"_encodeComposite\",\"_encodeStr\",\"_encodeObjid\",\"_encodeTime\",\"_encodeNull\",\"_encodeInt\",\"_encodeBool\"];function Node(e,t){var r={};this._baseState=r;r.enc=e;r.parent=t||null;r.children=null;r.tag=null;r.args=null;r.reverseArgs=null;r.choice=null;r.optional=false;r.any=false;r.obj=false;r.use=null;r.useDecoder=null;r.key=null;r[\"default\"]=null;r.explicit=null;r.implicit=null;r.contains=null;if(!r.parent){r.children=[];this._wrap()}}e.exports=Node;var d=[\"enc\",\"parent\",\"children\",\"tag\",\"args\",\"reverseArgs\",\"choice\",\"optional\",\"any\",\"obj\",\"use\",\"alteredUse\",\"key\",\"default\",\"explicit\",\"implicit\",\"contains\"];Node.prototype.clone=function clone(){var e=this._baseState;var t={};d.forEach((function(r){t[r]=e[r]}));var r=new this.constructor(t.parent);r._baseState=t;return r};Node.prototype._wrap=function wrap(){var e=this._baseState;h.forEach((function(t){this[t]=function _wrappedMethod(){var r=new this.constructor(this);e.children.push(r);return r[t].apply(r,arguments)}}),this)};Node.prototype._init=function init(e){var t=this._baseState;s(t.parent===null);e.call(this);t.children=t.children.filter((function(e){return e._baseState.parent===this}),this);s.equal(t.children.length,1,\"Root node can have only one child\")};Node.prototype._useArgs=function useArgs(e){var t=this._baseState;var r=e.filter((function(e){return e instanceof this.constructor}),this);e=e.filter((function(e){return!(e instanceof this.constructor)}),this);if(r.length!==0){s(t.children===null);t.children=r;r.forEach((function(e){e._baseState.parent=this}),this)}if(e.length!==0){s(t.args===null);t.args=e;t.reverseArgs=e.map((function(e){if(typeof e!==\"object\"||e.constructor!==Object)return e;var t={};Object.keys(e).forEach((function(r){if(r==(r|0))r|=0;var i=e[r];t[i]=r}));return t}))}};u.forEach((function(e){Node.prototype[e]=function _overrided(){var t=this._baseState;throw new Error(e+\" not implemented for encoding: \"+t.enc)}}));o.forEach((function(e){Node.prototype[e]=function _tagMethod(){var t=this._baseState;var r=Array.prototype.slice.call(arguments);s(t.tag===null);t.tag=e;this._useArgs(r);return this}}));Node.prototype.use=function use(e){s(e);var t=this._baseState;s(t.use===null);t.use=e;return this};Node.prototype.optional=function optional(){var e=this._baseState;e.optional=true;return this};Node.prototype.def=function def(e){var t=this._baseState;s(t[\"default\"]===null);t[\"default\"]=e;t.optional=true;return this};Node.prototype.explicit=function explicit(e){var t=this._baseState;s(t.explicit===null&&t.implicit===null);t.explicit=e;return this};Node.prototype.implicit=function implicit(e){var t=this._baseState;s(t.explicit===null&&t.implicit===null);t.implicit=e;return this};Node.prototype.obj=function obj(){var e=this._baseState;var t=Array.prototype.slice.call(arguments);e.obj=true;if(t.length!==0)this._useArgs(t);return this};Node.prototype.key=function key(e){var t=this._baseState;s(t.key===null);t.key=e;return this};Node.prototype.any=function any(){var e=this._baseState;e.any=true;return this};Node.prototype.choice=function choice(e){var t=this._baseState;s(t.choice===null);t.choice=e;this._useArgs(Object.keys(e).map((function(t){return e[t]})));return this};Node.prototype.contains=function contains(e){var t=this._baseState;s(t.use===null);t.contains=e;return this};Node.prototype._decode=function decode(e,t){var r=this._baseState;if(r.parent===null)return e.wrapResult(r.children[0]._decode(e,t));var i=r[\"default\"];var n=true;var s=null;if(r.key!==null)s=e.enterKey(r.key);if(r.optional){var o=null;if(r.explicit!==null)o=r.explicit;else if(r.implicit!==null)o=r.implicit;else if(r.tag!==null)o=r.tag;if(o===null&&!r.any){var h=e.save();try{if(r.choice===null)this._decodeGeneric(r.tag,e,t);else this._decodeChoice(e,t);n=true}catch(e){n=false}e.restore(h)}else{n=this._peekTag(e,o,r.any);if(e.isError(n))return n}}var u;if(r.obj&&n)u=e.enterObject();if(n){if(r.explicit!==null){var d=this._decodeTag(e,r.explicit);if(e.isError(d))return d;e=d}var c=e.offset;if(r.use===null&&r.choice===null){if(r.any)var h=e.save();var l=this._decodeTag(e,r.implicit!==null?r.implicit:r.tag,r.any);if(e.isError(l))return l;if(r.any)i=e.raw(h);else e=l}if(t&&t.track&&r.tag!==null)t.track(e.path(),c,e.length,\"tagged\");if(t&&t.track&&r.tag!==null)t.track(e.path(),e.offset,e.length,\"content\");if(r.any)i=i;else if(r.choice===null)i=this._decodeGeneric(r.tag,e,t);else i=this._decodeChoice(e,t);if(e.isError(i))return i;if(!r.any&&r.choice===null&&r.children!==null){r.children.forEach((function decodeChildren(r){r._decode(e,t)}))}if(r.contains&&(r.tag===\"octstr\"||r.tag===\"bitstr\")){var p=new a(i);i=this._getUse(r.contains,e._reporterState.obj)._decode(p,t)}}if(r.obj&&n)i=e.leaveObject(u);if(r.key!==null&&(i!==null||n===true))e.leaveKey(s,r.key,i);else if(s!==null)e.exitKey(s);return i};Node.prototype._decodeGeneric=function decodeGeneric(e,t,r){var i=this._baseState;if(e===\"seq\"||e===\"set\")return null;if(e===\"seqof\"||e===\"setof\")return this._decodeList(t,e,i.args[0],r);else if(/str$/.test(e))return this._decodeStr(t,e,r);else if(e===\"objid\"&&i.args)return this._decodeObjid(t,i.args[0],i.args[1],r);else if(e===\"objid\")return this._decodeObjid(t,null,null,r);else if(e===\"gentime\"||e===\"utctime\")return this._decodeTime(t,e,r);else if(e===\"null_\")return this._decodeNull(t,r);else if(e===\"bool\")return this._decodeBool(t,r);else if(e===\"objDesc\")return this._decodeStr(t,e,r);else if(e===\"int\"||e===\"enum\")return this._decodeInt(t,i.args&&i.args[0],r);if(i.use!==null){return this._getUse(i.use,t._reporterState.obj)._decode(t,r)}else{return t.error(\"unknown tag: \"+e)}};Node.prototype._getUse=function _getUse(e,t){var r=this._baseState;r.useDecoder=this._use(e,t);s(r.useDecoder._baseState.parent===null);r.useDecoder=r.useDecoder._baseState.children[0];if(r.implicit!==r.useDecoder._baseState.implicit){r.useDecoder=r.useDecoder.clone();r.useDecoder._baseState.implicit=r.implicit}return r.useDecoder};Node.prototype._decodeChoice=function decodeChoice(e,t){var r=this._baseState;var i=null;var n=false;Object.keys(r.choice).some((function(a){var s=e.save();var o=r.choice[a];try{var h=o._decode(e,t);if(e.isError(h))return false;i={type:a,value:h};n=true}catch(t){e.restore(s);return false}return true}),this);if(!n)return e.error(\"Choice not matched\");return i};Node.prototype._createEncoderBuffer=function createEncoderBuffer(e){return new n(e,this.reporter)};Node.prototype._encode=function encode(e,t,r){var i=this._baseState;if(i[\"default\"]!==null&&i[\"default\"]===e)return;var n=this._encodeValue(e,t,r);if(n===undefined)return;if(this._skipDefault(n,t,r))return;return n};Node.prototype._encodeValue=function encode(e,t,r){var n=this._baseState;if(n.parent===null)return n.children[0]._encode(e,t||new i);var a=null;this.reporter=t;if(n.optional&&e===undefined){if(n[\"default\"]!==null)e=n[\"default\"];else return}var s=null;var o=false;if(n.any){a=this._createEncoderBuffer(e)}else if(n.choice){a=this._encodeChoice(e,t)}else if(n.contains){s=this._getUse(n.contains,r)._encode(e,t);o=true}else if(n.children){s=n.children.map((function(r){if(r._baseState.tag===\"null_\")return r._encode(null,t,e);if(r._baseState.key===null)return t.error(\"Child should have a key\");var i=t.enterKey(r._baseState.key);if(typeof e!==\"object\")return t.error(\"Child expected, but input is not object\");var n=r._encode(e[r._baseState.key],t,e);t.leaveKey(i);return n}),this).filter((function(e){return e}));s=this._createEncoderBuffer(s)}else{if(n.tag===\"seqof\"||n.tag===\"setof\"){if(!(n.args&&n.args.length===1))return t.error(\"Too many args for : \"+n.tag);if(!Array.isArray(e))return t.error(\"seqof/setof, but data is not Array\");var h=this.clone();h._baseState.implicit=null;s=this._createEncoderBuffer(e.map((function(r){var i=this._baseState;return this._getUse(i.args[0],e)._encode(r,t)}),h))}else if(n.use!==null){a=this._getUse(n.use,r)._encode(e,t)}else{s=this._encodePrimitive(n.tag,e);o=true}}var a;if(!n.any&&n.choice===null){var u=n.implicit!==null?n.implicit:n.tag;var d=n.implicit===null?\"universal\":\"context\";if(u===null){if(n.use===null)t.error(\"Tag could be omitted only for .use()\")}else{if(n.use===null)a=this._encodeComposite(u,o,d,s)}}if(n.explicit!==null)a=this._encodeComposite(n.explicit,false,\"context\",a);return a};Node.prototype._encodeChoice=function encodeChoice(e,t){var r=this._baseState;var i=r.choice[e.type];if(!i){s(false,e.type+\" not found in \"+JSON.stringify(Object.keys(r.choice)))}return i._encode(e.value,t)};Node.prototype._encodePrimitive=function encodePrimitive(e,t){var r=this._baseState;if(/str$/.test(e))return this._encodeStr(t,e);else if(e===\"objid\"&&r.args)return this._encodeObjid(t,r.reverseArgs[0],r.args[1]);else if(e===\"objid\")return this._encodeObjid(t,null,null);else if(e===\"gentime\"||e===\"utctime\")return this._encodeTime(t,e);else if(e===\"null_\")return this._encodeNull();else if(e===\"int\"||e===\"enum\")return this._encodeInt(t,r.args&&r.reverseArgs[0]);else if(e===\"bool\")return this._encodeBool(t);else if(e===\"objDesc\")return this._encodeStr(t,e);else throw new Error(\"Unsupported tag: \"+e)};Node.prototype._isNumstr=function isNumstr(e){return/^[0-9 ]*$/.test(e)};Node.prototype._isPrintstr=function isPrintstr(e){return/^[A-Za-z0-9 '\\(\\)\\+,\\-\\.\\/:=\\?]*$/.test(e)}},1293:function(e,t,r){var i=r(3782);function Reporter(e){this._reporterState={obj:null,path:[],options:e||{},errors:[]}}t.b=Reporter;Reporter.prototype.isError=function isError(e){return e instanceof ReporterError};Reporter.prototype.save=function save(){var e=this._reporterState;return{obj:e.obj,pathLen:e.path.length}};Reporter.prototype.restore=function restore(e){var t=this._reporterState;t.obj=e.obj;t.path=t.path.slice(0,e.pathLen)};Reporter.prototype.enterKey=function enterKey(e){return this._reporterState.path.push(e)};Reporter.prototype.exitKey=function exitKey(e){var t=this._reporterState;t.path=t.path.slice(0,e-1)};Reporter.prototype.leaveKey=function leaveKey(e,t,r){var i=this._reporterState;this.exitKey(e);if(i.obj!==null)i.obj[t]=r};Reporter.prototype.path=function path(){return this._reporterState.path.join(\"/\")};Reporter.prototype.enterObject=function enterObject(){var e=this._reporterState;var t=e.obj;e.obj={};return t};Reporter.prototype.leaveObject=function leaveObject(e){var t=this._reporterState;var r=t.obj;t.obj=e;return r};Reporter.prototype.error=function error(e){var t;var r=this._reporterState;var i=e instanceof ReporterError;if(i){t=e}else{t=new ReporterError(r.path.map((function(e){return\"[\"+JSON.stringify(e)+\"]\"})).join(\"\"),e.message||e,e.stack)}if(!r.options.partial)throw t;if(!i)r.errors.push(t);return t};Reporter.prototype.wrapResult=function wrapResult(e){var t=this._reporterState;if(!t.options.partial)return e;return{result:this.isError(e)?null:e,errors:t.errors}};function ReporterError(e,t){this.path=e;this.rethrow(t)}i(ReporterError,Error);ReporterError.prototype.rethrow=function rethrow(e){this.message=e+\" at: \"+(this.path||\"(shallow)\");if(Error.captureStackTrace)Error.captureStackTrace(this,ReporterError);if(!this.stack){try{throw new Error(this.message)}catch(e){this.stack=e.stack}}return this}},9791:function(e,t,r){var i=r(7335);t.tagClass={0:\"universal\",1:\"application\",2:\"context\",3:\"private\"};t.tagClassByName=i._reverse(t.tagClass);t.tag={0:\"end\",1:\"bool\",2:\"int\",3:\"bitstr\",4:\"octstr\",5:\"null_\",6:\"objid\",7:\"objDesc\",8:\"external\",9:\"real\",10:\"enum\",11:\"embed\",12:\"utf8str\",13:\"relativeOid\",16:\"seq\",17:\"set\",18:\"numstr\",19:\"printstr\",20:\"t61str\",21:\"videostr\",22:\"ia5str\",23:\"utctime\",24:\"gentime\",25:\"graphstr\",26:\"iso646str\",27:\"genstr\",28:\"unistr\",29:\"charstr\",30:\"bmpstr\"};t.tagByName=i._reverse(t.tag)},7335:function(e,t,r){var i=t;i._reverse=function reverse(e){var t={};Object.keys(e).forEach((function(r){if((r|0)==r)r=r|0;var i=e[r];t[i]=r}));return t};i.der=r(9791)},2259:function(e,t,r){var i=r(3782);var n=r(7160);var a=n.base;var s=n.bignum;var o=n.constants.der;function DERDecoder(e){this.enc=\"der\";this.name=e.name;this.entity=e;this.tree=new DERNode;this.tree._init(e.body)}e.exports=DERDecoder;DERDecoder.prototype.decode=function decode(e,t){if(!(e instanceof a.DecoderBuffer))e=new a.DecoderBuffer(e,t);return this.tree._decode(e,t)};function DERNode(e){a.Node.call(this,\"der\",e)}i(DERNode,a.Node);DERNode.prototype._peekTag=function peekTag(e,t,r){if(e.isEmpty())return false;var i=e.save();var n=derDecodeTag(e,'Failed to peek tag: \"'+t+'\"');if(e.isError(n))return n;e.restore(i);return n.tag===t||n.tagStr===t||n.tagStr+\"of\"===t||r};DERNode.prototype._decodeTag=function decodeTag(e,t,r){var i=derDecodeTag(e,'Failed to decode tag of \"'+t+'\"');if(e.isError(i))return i;var n=derDecodeLen(e,i.primitive,'Failed to get length of \"'+t+'\"');if(e.isError(n))return n;if(!r&&i.tag!==t&&i.tagStr!==t&&i.tagStr+\"of\"!==t){return e.error('Failed to match tag: \"'+t+'\"')}if(i.primitive||n!==null)return e.skip(n,'Failed to match body of: \"'+t+'\"');var a=e.save();var s=this._skipUntilEnd(e,'Failed to skip indefinite length body: \"'+this.tag+'\"');if(e.isError(s))return s;n=e.offset-a.offset;e.restore(a);return e.skip(n,'Failed to match body of: \"'+t+'\"')};DERNode.prototype._skipUntilEnd=function skipUntilEnd(e,t){while(true){var r=derDecodeTag(e,t);if(e.isError(r))return r;var i=derDecodeLen(e,r.primitive,t);if(e.isError(i))return i;var n;if(r.primitive||i!==null)n=e.skip(i);else n=this._skipUntilEnd(e,t);if(e.isError(n))return n;if(r.tagStr===\"end\")break}};DERNode.prototype._decodeList=function decodeList(e,t,r,i){var n=[];while(!e.isEmpty()){var a=this._peekTag(e,\"end\");if(e.isError(a))return a;var s=r.decode(e,\"der\",i);if(e.isError(s)&&a)break;n.push(s)}return n};DERNode.prototype._decodeStr=function decodeStr(e,t){if(t===\"bitstr\"){var r=e.readUInt8();if(e.isError(r))return r;return{unused:r,data:e.raw()}}else if(t===\"bmpstr\"){var i=e.raw();if(i.length%2===1)return e.error(\"Decoding of string type: bmpstr length mismatch\");var n=\"\";for(var a=0;a<i.length/2;a++){n+=String.fromCharCode(i.readUInt16BE(a*2))}return n}else if(t===\"numstr\"){var s=e.raw().toString(\"ascii\");if(!this._isNumstr(s)){return e.error(\"Decoding of string type: \"+\"numstr unsupported characters\")}return s}else if(t===\"octstr\"){return e.raw()}else if(t===\"objDesc\"){return e.raw()}else if(t===\"printstr\"){var o=e.raw().toString(\"ascii\");if(!this._isPrintstr(o)){return e.error(\"Decoding of string type: \"+\"printstr unsupported characters\")}return o}else if(/str$/.test(t)){return e.raw().toString()}else{return e.error(\"Decoding of string type: \"+t+\" unsupported\")}};DERNode.prototype._decodeObjid=function decodeObjid(e,t,r){var i;var n=[];var a=0;while(!e.isEmpty()){var s=e.readUInt8();a<<=7;a|=s&127;if((s&128)===0){n.push(a);a=0}}if(s&128)n.push(a);var o=n[0]/40|0;var h=n[0]%40;if(r)i=n;else i=[o,h].concat(n.slice(1));if(t){var u=t[i.join(\" \")];if(u===undefined)u=t[i.join(\".\")];if(u!==undefined)i=u}return i};DERNode.prototype._decodeTime=function decodeTime(e,t){var r=e.raw().toString();if(t===\"gentime\"){var i=r.slice(0,4)|0;var n=r.slice(4,6)|0;var a=r.slice(6,8)|0;var s=r.slice(8,10)|0;var o=r.slice(10,12)|0;var h=r.slice(12,14)|0}else if(t===\"utctime\"){var i=r.slice(0,2)|0;var n=r.slice(2,4)|0;var a=r.slice(4,6)|0;var s=r.slice(6,8)|0;var o=r.slice(8,10)|0;var h=r.slice(10,12)|0;if(i<70)i=2e3+i;else i=1900+i}else{return e.error(\"Decoding \"+t+\" time is not supported yet\")}return Date.UTC(i,n-1,a,s,o,h,0)};DERNode.prototype._decodeNull=function decodeNull(e){return null};DERNode.prototype._decodeBool=function decodeBool(e){var t=e.readUInt8();if(e.isError(t))return t;else return t!==0};DERNode.prototype._decodeInt=function decodeInt(e,t){var r=e.raw();var i=new s(r);if(t)i=t[i.toString(10)]||i;return i};DERNode.prototype._use=function use(e,t){if(typeof e===\"function\")e=e(t);return e._getDecoder(\"der\").tree};function derDecodeTag(e,t){var r=e.readUInt8(t);if(e.isError(r))return r;var i=o.tagClass[r>>6];var n=(r&32)===0;if((r&31)===31){var a=r;r=0;while((a&128)===128){a=e.readUInt8(t);if(e.isError(a))return a;r<<=7;r|=a&127}}else{r&=31}var s=o.tag[r];return{cls:i,primitive:n,tag:r,tagStr:s}}function derDecodeLen(e,t,r){var i=e.readUInt8(r);if(e.isError(i))return i;if(!t&&i===128)return null;if((i&128)===0){return i}var n=i&127;if(n>4)return e.error(\"length octect is too long\");i=0;for(var a=0;a<n;a++){i<<=8;var s=e.readUInt8(r);if(e.isError(s))return s;i|=s}return i}},6701:function(e,t,r){var i=t;i.der=r(2259);i.pem=r(8527)},8527:function(e,t,r){var i=r(3782);var n=r(4300).Buffer;var a=r(2259);function PEMDecoder(e){a.call(this,e);this.enc=\"pem\"}i(PEMDecoder,a);e.exports=PEMDecoder;PEMDecoder.prototype.decode=function decode(e,t){var r=e.toString().split(/[\\r\\n]+/g);var i=t.label.toUpperCase();var s=/^-----(BEGIN|END) ([^-]+)-----$/;var o=-1;var h=-1;for(var u=0;u<r.length;u++){var d=r[u].match(s);if(d===null)continue;if(d[2]!==i)continue;if(o===-1){if(d[1]!==\"BEGIN\")break;o=u}else{if(d[1]!==\"END\")break;h=u;break}}if(o===-1||h===-1)throw new Error(\"PEM section not found for: \"+i);var c=r.slice(o+1,h).join(\"\");c.replace(/[^a-z0-9\\+\\/=]+/gi,\"\");var l=new n(c,\"base64\");return a.prototype.decode.call(this,l,t)}},7804:function(e,t,r){var i=r(3782);var n=r(4300).Buffer;var a=r(7160);var s=a.base;var o=a.constants.der;function DEREncoder(e){this.enc=\"der\";this.name=e.name;this.entity=e;this.tree=new DERNode;this.tree._init(e.body)}e.exports=DEREncoder;DEREncoder.prototype.encode=function encode(e,t){return this.tree._encode(e,t).join()};function DERNode(e){s.Node.call(this,\"der\",e)}i(DERNode,s.Node);DERNode.prototype._encodeComposite=function encodeComposite(e,t,r,i){var a=encodeTag(e,t,r,this.reporter);if(i.length<128){var s=new n(2);s[0]=a;s[1]=i.length;return this._createEncoderBuffer([s,i])}var o=1;for(var h=i.length;h>=256;h>>=8)o++;var s=new n(1+1+o);s[0]=a;s[1]=128|o;for(var h=1+o,u=i.length;u>0;h--,u>>=8)s[h]=u&255;return this._createEncoderBuffer([s,i])};DERNode.prototype._encodeStr=function encodeStr(e,t){if(t===\"bitstr\"){return this._createEncoderBuffer([e.unused|0,e.data])}else if(t===\"bmpstr\"){var r=new n(e.length*2);for(var i=0;i<e.length;i++){r.writeUInt16BE(e.charCodeAt(i),i*2)}return this._createEncoderBuffer(r)}else if(t===\"numstr\"){if(!this._isNumstr(e)){return this.reporter.error(\"Encoding of string type: numstr supports \"+\"only digits and space\")}return this._createEncoderBuffer(e)}else if(t===\"printstr\"){if(!this._isPrintstr(e)){return this.reporter.error(\"Encoding of string type: printstr supports \"+\"only latin upper and lower case letters, \"+\"digits, space, apostrophe, left and rigth \"+\"parenthesis, plus sign, comma, hyphen, \"+\"dot, slash, colon, equal sign, \"+\"question mark\")}return this._createEncoderBuffer(e)}else if(/str$/.test(t)){return this._createEncoderBuffer(e)}else if(t===\"objDesc\"){return this._createEncoderBuffer(e)}else{return this.reporter.error(\"Encoding of string type: \"+t+\" unsupported\")}};DERNode.prototype._encodeObjid=function encodeObjid(e,t,r){if(typeof e===\"string\"){if(!t)return this.reporter.error(\"string objid given, but no values map found\");if(!t.hasOwnProperty(e))return this.reporter.error(\"objid not found in values map\");e=t[e].split(/[\\s\\.]+/g);for(var i=0;i<e.length;i++)e[i]|=0}else if(Array.isArray(e)){e=e.slice();for(var i=0;i<e.length;i++)e[i]|=0}if(!Array.isArray(e)){return this.reporter.error(\"objid() should be either array or string, \"+\"got: \"+JSON.stringify(e))}if(!r){if(e[1]>=40)return this.reporter.error(\"Second objid identifier OOB\");e.splice(0,2,e[0]*40+e[1])}var a=0;for(var i=0;i<e.length;i++){var s=e[i];for(a++;s>=128;s>>=7)a++}var o=new n(a);var h=o.length-1;for(var i=e.length-1;i>=0;i--){var s=e[i];o[h--]=s&127;while((s>>=7)>0)o[h--]=128|s&127}return this._createEncoderBuffer(o)};function two(e){if(e<10)return\"0\"+e;else return e}DERNode.prototype._encodeTime=function encodeTime(e,t){var r;var i=new Date(e);if(t===\"gentime\"){r=[two(i.getFullYear()),two(i.getUTCMonth()+1),two(i.getUTCDate()),two(i.getUTCHours()),two(i.getUTCMinutes()),two(i.getUTCSeconds()),\"Z\"].join(\"\")}else if(t===\"utctime\"){r=[two(i.getFullYear()%100),two(i.getUTCMonth()+1),two(i.getUTCDate()),two(i.getUTCHours()),two(i.getUTCMinutes()),two(i.getUTCSeconds()),\"Z\"].join(\"\")}else{this.reporter.error(\"Encoding \"+t+\" time is not supported yet\")}return this._encodeStr(r,\"octstr\")};DERNode.prototype._encodeNull=function encodeNull(){return this._createEncoderBuffer(\"\")};DERNode.prototype._encodeInt=function encodeInt(e,t){if(typeof e===\"string\"){if(!t)return this.reporter.error(\"String int or enum given, but no values map\");if(!t.hasOwnProperty(e)){return this.reporter.error(\"Values map doesn't contain: \"+JSON.stringify(e))}e=t[e]}if(typeof e!==\"number\"&&!n.isBuffer(e)){var r=e.toArray();if(!e.sign&&r[0]&128){r.unshift(0)}e=new n(r)}if(n.isBuffer(e)){var i=e.length;if(e.length===0)i++;var a=new n(i);e.copy(a);if(e.length===0)a[0]=0;return this._createEncoderBuffer(a)}if(e<128)return this._createEncoderBuffer(e);if(e<256)return this._createEncoderBuffer([0,e]);var i=1;for(var s=e;s>=256;s>>=8)i++;var a=new Array(i);for(var s=a.length-1;s>=0;s--){a[s]=e&255;e>>=8}if(a[0]&128){a.unshift(0)}return this._createEncoderBuffer(new n(a))};DERNode.prototype._encodeBool=function encodeBool(e){return this._createEncoderBuffer(e?255:0)};DERNode.prototype._use=function use(e,t){if(typeof e===\"function\")e=e(t);return e._getEncoder(\"der\").tree};DERNode.prototype._skipDefault=function skipDefault(e,t,r){var i=this._baseState;var n;if(i[\"default\"]===null)return false;var a=e.join();if(i.defaultBuffer===undefined)i.defaultBuffer=this._encodeValue(i[\"default\"],t,r).join();if(a.length!==i.defaultBuffer.length)return false;for(n=0;n<a.length;n++)if(a[n]!==i.defaultBuffer[n])return false;return true};function encodeTag(e,t,r,i){var n;if(e===\"seqof\")e=\"seq\";else if(e===\"setof\")e=\"set\";if(o.tagByName.hasOwnProperty(e))n=o.tagByName[e];else if(typeof e===\"number\"&&(e|0)===e)n=e;else return i.error(\"Unknown tag: \"+e);if(n>=31)return i.error(\"Multi-octet tag encoding unsupported\");if(!t)n|=32;n|=o.tagClassByName[r||\"universal\"]<<6;return n}},3418:function(e,t,r){var i=t;i.der=r(7804);i.pem=r(1564)},1564:function(e,t,r){var i=r(3782);var n=r(7804);function PEMEncoder(e){n.call(this,e);this.enc=\"pem\"}i(PEMEncoder,n);e.exports=PEMEncoder;PEMEncoder.prototype.encode=function encode(e,t){var r=n.prototype.encode.call(this,e);var i=r.toString(\"base64\");var a=[\"-----BEGIN \"+t.label+\"-----\"];for(var s=0;s<i.length;s+=64)a.push(i.slice(s,s+64));a.push(\"-----END \"+t.label+\"-----\");return a.join(\"\\n\")}},711:function(e,t,r){e=r.nmd(e);(function(e,t){\"use strict\";function assert(e,t){if(!e)throw new Error(t||\"Assertion failed\")}function inherits(e,t){e.super_=t;var TempCtor=function(){};TempCtor.prototype=t.prototype;e.prototype=new TempCtor;e.prototype.constructor=e}function BN(e,t,r){if(BN.isBN(e)){return e}this.negative=0;this.words=null;this.length=0;this.red=null;if(e!==null){if(t===\"le\"||t===\"be\"){r=t;t=10}this._init(e||0,t||10,r||\"be\")}}if(typeof e===\"object\"){e.exports=BN}else{t.BN=BN}BN.BN=BN;BN.wordSize=26;var i;try{i=r(4300).Buffer}catch(e){}BN.isBN=function isBN(e){if(e instanceof BN){return true}return e!==null&&typeof e===\"object\"&&e.constructor.wordSize===BN.wordSize&&Array.isArray(e.words)};BN.max=function max(e,t){if(e.cmp(t)>0)return e;return t};BN.min=function min(e,t){if(e.cmp(t)<0)return e;return t};BN.prototype._init=function init(e,t,r){if(typeof e===\"number\"){return this._initNumber(e,t,r)}if(typeof e===\"object\"){return this._initArray(e,t,r)}if(t===\"hex\"){t=16}assert(t===(t|0)&&t>=2&&t<=36);e=e.toString().replace(/\\s+/g,\"\");var i=0;if(e[0]===\"-\"){i++}if(t===16){this._parseHex(e,i)}else{this._parseBase(e,t,i)}if(e[0]===\"-\"){this.negative=1}this.strip();if(r!==\"le\")return;this._initArray(this.toArray(),t,r)};BN.prototype._initNumber=function _initNumber(e,t,r){if(e<0){this.negative=1;e=-e}if(e<67108864){this.words=[e&67108863];this.length=1}else if(e<4503599627370496){this.words=[e&67108863,e/67108864&67108863];this.length=2}else{assert(e<9007199254740992);this.words=[e&67108863,e/67108864&67108863,1];this.length=3}if(r!==\"le\")return;this._initArray(this.toArray(),t,r)};BN.prototype._initArray=function _initArray(e,t,r){assert(typeof e.length===\"number\");if(e.length<=0){this.words=[0];this.length=1;return this}this.length=Math.ceil(e.length/3);this.words=new Array(this.length);for(var i=0;i<this.length;i++){this.words[i]=0}var n,a;var s=0;if(r===\"be\"){for(i=e.length-1,n=0;i>=0;i-=3){a=e[i]|e[i-1]<<8|e[i-2]<<16;this.words[n]|=a<<s&67108863;this.words[n+1]=a>>>26-s&67108863;s+=24;if(s>=26){s-=26;n++}}}else if(r===\"le\"){for(i=0,n=0;i<e.length;i+=3){a=e[i]|e[i+1]<<8|e[i+2]<<16;this.words[n]|=a<<s&67108863;this.words[n+1]=a>>>26-s&67108863;s+=24;if(s>=26){s-=26;n++}}}return this.strip()};function parseHex(e,t,r){var i=0;var n=Math.min(e.length,r);for(var a=t;a<n;a++){var s=e.charCodeAt(a)-48;i<<=4;if(s>=49&&s<=54){i|=s-49+10}else if(s>=17&&s<=22){i|=s-17+10}else{i|=s&15}}return i}BN.prototype._parseHex=function _parseHex(e,t){this.length=Math.ceil((e.length-t)/6);this.words=new Array(this.length);for(var r=0;r<this.length;r++){this.words[r]=0}var i,n;var a=0;for(r=e.length-6,i=0;r>=t;r-=6){n=parseHex(e,r,r+6);this.words[i]|=n<<a&67108863;this.words[i+1]|=n>>>26-a&4194303;a+=24;if(a>=26){a-=26;i++}}if(r+6!==t){n=parseHex(e,t,r+6);this.words[i]|=n<<a&67108863;this.words[i+1]|=n>>>26-a&4194303}this.strip()};function parseBase(e,t,r,i){var n=0;var a=Math.min(e.length,r);for(var s=t;s<a;s++){var o=e.charCodeAt(s)-48;n*=i;if(o>=49){n+=o-49+10}else if(o>=17){n+=o-17+10}else{n+=o}}return n}BN.prototype._parseBase=function _parseBase(e,t,r){this.words=[0];this.length=1;for(var i=0,n=1;n<=67108863;n*=t){i++}i--;n=n/t|0;var a=e.length-r;var s=a%i;var o=Math.min(a,a-s)+r;var h=0;for(var u=r;u<o;u+=i){h=parseBase(e,u,u+i,t);this.imuln(n);if(this.words[0]+h<67108864){this.words[0]+=h}else{this._iaddn(h)}}if(s!==0){var d=1;h=parseBase(e,u,e.length,t);for(u=0;u<s;u++){d*=t}this.imuln(d);if(this.words[0]+h<67108864){this.words[0]+=h}else{this._iaddn(h)}}};BN.prototype.copy=function copy(e){e.words=new Array(this.length);for(var t=0;t<this.length;t++){e.words[t]=this.words[t]}e.length=this.length;e.negative=this.negative;e.red=this.red};BN.prototype.clone=function clone(){var e=new BN(null);this.copy(e);return e};BN.prototype._expand=function _expand(e){while(this.length<e){this.words[this.length++]=0}return this};BN.prototype.strip=function strip(){while(this.length>1&&this.words[this.length-1]===0){this.length--}return this._normSign()};BN.prototype._normSign=function _normSign(){if(this.length===1&&this.words[0]===0){this.negative=0}return this};BN.prototype.inspect=function inspect(){return(this.red?\"<BN-R: \":\"<BN: \")+this.toString(16)+\">\"};var n=[\"\",\"0\",\"00\",\"000\",\"0000\",\"00000\",\"000000\",\"0000000\",\"00000000\",\"000000000\",\"0000000000\",\"00000000000\",\"000000000000\",\"0000000000000\",\"00000000000000\",\"000000000000000\",\"0000000000000000\",\"00000000000000000\",\"000000000000000000\",\"0000000000000000000\",\"00000000000000000000\",\"000000000000000000000\",\"0000000000000000000000\",\"00000000000000000000000\",\"000000000000000000000000\",\"0000000000000000000000000\"];var a=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5];var s=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];BN.prototype.toString=function toString(e,t){e=e||10;t=t|0||1;var r;if(e===16||e===\"hex\"){r=\"\";var i=0;var o=0;for(var h=0;h<this.length;h++){var u=this.words[h];var d=((u<<i|o)&16777215).toString(16);o=u>>>24-i&16777215;if(o!==0||h!==this.length-1){r=n[6-d.length]+d+r}else{r=d+r}i+=2;if(i>=26){i-=26;h--}}if(o!==0){r=o.toString(16)+r}while(r.length%t!==0){r=\"0\"+r}if(this.negative!==0){r=\"-\"+r}return r}if(e===(e|0)&&e>=2&&e<=36){var c=a[e];var l=s[e];r=\"\";var p=this.clone();p.negative=0;while(!p.isZero()){var v=p.modn(l).toString(e);p=p.idivn(l);if(!p.isZero()){r=n[c-v.length]+v+r}else{r=v+r}}if(this.isZero()){r=\"0\"+r}while(r.length%t!==0){r=\"0\"+r}if(this.negative!==0){r=\"-\"+r}return r}assert(false,\"Base should be between 2 and 36\")};BN.prototype.toNumber=function toNumber(){var e=this.words[0];if(this.length===2){e+=this.words[1]*67108864}else if(this.length===3&&this.words[2]===1){e+=4503599627370496+this.words[1]*67108864}else if(this.length>2){assert(false,\"Number can only safely store up to 53 bits\")}return this.negative!==0?-e:e};BN.prototype.toJSON=function toJSON(){return this.toString(16)};BN.prototype.toBuffer=function toBuffer(e,t){assert(typeof i!==\"undefined\");return this.toArrayLike(i,e,t)};BN.prototype.toArray=function toArray(e,t){return this.toArrayLike(Array,e,t)};BN.prototype.toArrayLike=function toArrayLike(e,t,r){var i=this.byteLength();var n=r||Math.max(1,i);assert(i<=n,\"byte array longer than desired length\");assert(n>0,\"Requested array length <= 0\");this.strip();var a=t===\"le\";var s=new e(n);var o,h;var u=this.clone();if(!a){for(h=0;h<n-i;h++){s[h]=0}for(h=0;!u.isZero();h++){o=u.andln(255);u.iushrn(8);s[n-h-1]=o}}else{for(h=0;!u.isZero();h++){o=u.andln(255);u.iushrn(8);s[h]=o}for(;h<n;h++){s[h]=0}}return s};if(Math.clz32){BN.prototype._countBits=function _countBits(e){return 32-Math.clz32(e)}}else{BN.prototype._countBits=function _countBits(e){var t=e;var r=0;if(t>=4096){r+=13;t>>>=13}if(t>=64){r+=7;t>>>=7}if(t>=8){r+=4;t>>>=4}if(t>=2){r+=2;t>>>=2}return r+t}}BN.prototype._zeroBits=function _zeroBits(e){if(e===0)return 26;var t=e;var r=0;if((t&8191)===0){r+=13;t>>>=13}if((t&127)===0){r+=7;t>>>=7}if((t&15)===0){r+=4;t>>>=4}if((t&3)===0){r+=2;t>>>=2}if((t&1)===0){r++}return r};BN.prototype.bitLength=function bitLength(){var e=this.words[this.length-1];var t=this._countBits(e);return(this.length-1)*26+t};function toBitArray(e){var t=new Array(e.bitLength());for(var r=0;r<t.length;r++){var i=r/26|0;var n=r%26;t[r]=(e.words[i]&1<<n)>>>n}return t}BN.prototype.zeroBits=function zeroBits(){if(this.isZero())return 0;var e=0;for(var t=0;t<this.length;t++){var r=this._zeroBits(this.words[t]);e+=r;if(r!==26)break}return e};BN.prototype.byteLength=function byteLength(){return Math.ceil(this.bitLength()/8)};BN.prototype.toTwos=function toTwos(e){if(this.negative!==0){return this.abs().inotn(e).iaddn(1)}return this.clone()};BN.prototype.fromTwos=function fromTwos(e){if(this.testn(e-1)){return this.notn(e).iaddn(1).ineg()}return this.clone()};BN.prototype.isNeg=function isNeg(){return this.negative!==0};BN.prototype.neg=function neg(){return this.clone().ineg()};BN.prototype.ineg=function ineg(){if(!this.isZero()){this.negative^=1}return this};BN.prototype.iuor=function iuor(e){while(this.length<e.length){this.words[this.length++]=0}for(var t=0;t<e.length;t++){this.words[t]=this.words[t]|e.words[t]}return this.strip()};BN.prototype.ior=function ior(e){assert((this.negative|e.negative)===0);return this.iuor(e)};BN.prototype.or=function or(e){if(this.length>e.length)return this.clone().ior(e);return e.clone().ior(this)};BN.prototype.uor=function uor(e){if(this.length>e.length)return this.clone().iuor(e);return e.clone().iuor(this)};BN.prototype.iuand=function iuand(e){var t;if(this.length>e.length){t=e}else{t=this}for(var r=0;r<t.length;r++){this.words[r]=this.words[r]&e.words[r]}this.length=t.length;return this.strip()};BN.prototype.iand=function iand(e){assert((this.negative|e.negative)===0);return this.iuand(e)};BN.prototype.and=function and(e){if(this.length>e.length)return this.clone().iand(e);return e.clone().iand(this)};BN.prototype.uand=function uand(e){if(this.length>e.length)return this.clone().iuand(e);return e.clone().iuand(this)};BN.prototype.iuxor=function iuxor(e){var t;var r;if(this.length>e.length){t=this;r=e}else{t=e;r=this}for(var i=0;i<r.length;i++){this.words[i]=t.words[i]^r.words[i]}if(this!==t){for(;i<t.length;i++){this.words[i]=t.words[i]}}this.length=t.length;return this.strip()};BN.prototype.ixor=function ixor(e){assert((this.negative|e.negative)===0);return this.iuxor(e)};BN.prototype.xor=function xor(e){if(this.length>e.length)return this.clone().ixor(e);return e.clone().ixor(this)};BN.prototype.uxor=function uxor(e){if(this.length>e.length)return this.clone().iuxor(e);return e.clone().iuxor(this)};BN.prototype.inotn=function inotn(e){assert(typeof e===\"number\"&&e>=0);var t=Math.ceil(e/26)|0;var r=e%26;this._expand(t);if(r>0){t--}for(var i=0;i<t;i++){this.words[i]=~this.words[i]&67108863}if(r>0){this.words[i]=~this.words[i]&67108863>>26-r}return this.strip()};BN.prototype.notn=function notn(e){return this.clone().inotn(e)};BN.prototype.setn=function setn(e,t){assert(typeof e===\"number\"&&e>=0);var r=e/26|0;var i=e%26;this._expand(r+1);if(t){this.words[r]=this.words[r]|1<<i}else{this.words[r]=this.words[r]&~(1<<i)}return this.strip()};BN.prototype.iadd=function iadd(e){var t;if(this.negative!==0&&e.negative===0){this.negative=0;t=this.isub(e);this.negative^=1;return this._normSign()}else if(this.negative===0&&e.negative!==0){e.negative=0;t=this.isub(e);e.negative=1;return t._normSign()}var r,i;if(this.length>e.length){r=this;i=e}else{r=e;i=this}var n=0;for(var a=0;a<i.length;a++){t=(r.words[a]|0)+(i.words[a]|0)+n;this.words[a]=t&67108863;n=t>>>26}for(;n!==0&&a<r.length;a++){t=(r.words[a]|0)+n;this.words[a]=t&67108863;n=t>>>26}this.length=r.length;if(n!==0){this.words[this.length]=n;this.length++}else if(r!==this){for(;a<r.length;a++){this.words[a]=r.words[a]}}return this};BN.prototype.add=function add(e){var t;if(e.negative!==0&&this.negative===0){e.negative=0;t=this.sub(e);e.negative^=1;return t}else if(e.negative===0&&this.negative!==0){this.negative=0;t=e.sub(this);this.negative=1;return t}if(this.length>e.length)return this.clone().iadd(e);return e.clone().iadd(this)};BN.prototype.isub=function isub(e){if(e.negative!==0){e.negative=0;var t=this.iadd(e);e.negative=1;return t._normSign()}else if(this.negative!==0){this.negative=0;this.iadd(e);this.negative=1;return this._normSign()}var r=this.cmp(e);if(r===0){this.negative=0;this.length=1;this.words[0]=0;return this}var i,n;if(r>0){i=this;n=e}else{i=e;n=this}var a=0;for(var s=0;s<n.length;s++){t=(i.words[s]|0)-(n.words[s]|0)+a;a=t>>26;this.words[s]=t&67108863}for(;a!==0&&s<i.length;s++){t=(i.words[s]|0)+a;a=t>>26;this.words[s]=t&67108863}if(a===0&&s<i.length&&i!==this){for(;s<i.length;s++){this.words[s]=i.words[s]}}this.length=Math.max(this.length,s);if(i!==this){this.negative=1}return this.strip()};BN.prototype.sub=function sub(e){return this.clone().isub(e)};function smallMulTo(e,t,r){r.negative=t.negative^e.negative;var i=e.length+t.length|0;r.length=i;i=i-1|0;var n=e.words[0]|0;var a=t.words[0]|0;var s=n*a;var o=s&67108863;var h=s/67108864|0;r.words[0]=o;for(var u=1;u<i;u++){var d=h>>>26;var c=h&67108863;var l=Math.min(u,t.length-1);for(var p=Math.max(0,u-e.length+1);p<=l;p++){var v=u-p|0;n=e.words[v]|0;a=t.words[p]|0;s=n*a+c;d+=s/67108864|0;c=s&67108863}r.words[u]=c|0;h=d|0}if(h!==0){r.words[u]=h|0}else{r.length--}return r.strip()}var o=function comb10MulTo(e,t,r){var i=e.words;var n=t.words;var a=r.words;var s=0;var o;var h;var u;var d=i[0]|0;var c=d&8191;var l=d>>>13;var p=i[1]|0;var v=p&8191;var b=p>>>13;var m=i[2]|0;var y=m&8191;var g=m>>>13;var _=i[3]|0;var w=_&8191;var M=_>>>13;var B=i[4]|0;var E=B&8191;var k=B>>>13;var A=i[5]|0;var N=A&8191;var P=A>>>13;var x=i[6]|0;var I=x&8191;var C=x>>>13;var D=i[7]|0;var T=D&8191;var j=D>>>13;var q=i[8]|0;var O=q&8191;var H=q>>>13;var L=i[9]|0;var z=L&8191;var F=L>>>13;var U=n[0]|0;var W=U&8191;var V=U>>>13;var G=n[1]|0;var J=G&8191;var Z=G>>>13;var X=n[2]|0;var Y=X&8191;var $=X>>>13;var Q=n[3]|0;var ee=Q&8191;var te=Q>>>13;var re=n[4]|0;var ie=re&8191;var ne=re>>>13;var ae=n[5]|0;var fe=ae&8191;var se=ae>>>13;var oe=n[6]|0;var he=oe&8191;var ue=oe>>>13;var de=n[7]|0;var ce=de&8191;var le=de>>>13;var pe=n[8]|0;var ve=pe&8191;var be=pe>>>13;var me=n[9]|0;var ye=me&8191;var ge=me>>>13;r.negative=e.negative^t.negative;r.length=19;o=Math.imul(c,W);h=Math.imul(c,V);h=h+Math.imul(l,W)|0;u=Math.imul(l,V);var _e=(s+o|0)+((h&8191)<<13)|0;s=(u+(h>>>13)|0)+(_e>>>26)|0;_e&=67108863;o=Math.imul(v,W);h=Math.imul(v,V);h=h+Math.imul(b,W)|0;u=Math.imul(b,V);o=o+Math.imul(c,J)|0;h=h+Math.imul(c,Z)|0;h=h+Math.imul(l,J)|0;u=u+Math.imul(l,Z)|0;var we=(s+o|0)+((h&8191)<<13)|0;s=(u+(h>>>13)|0)+(we>>>26)|0;we&=67108863;o=Math.imul(y,W);h=Math.imul(y,V);h=h+Math.imul(g,W)|0;u=Math.imul(g,V);o=o+Math.imul(v,J)|0;h=h+Math.imul(v,Z)|0;h=h+Math.imul(b,J)|0;u=u+Math.imul(b,Z)|0;o=o+Math.imul(c,Y)|0;h=h+Math.imul(c,$)|0;h=h+Math.imul(l,Y)|0;u=u+Math.imul(l,$)|0;var Me=(s+o|0)+((h&8191)<<13)|0;s=(u+(h>>>13)|0)+(Me>>>26)|0;Me&=67108863;o=Math.imul(w,W);h=Math.imul(w,V);h=h+Math.imul(M,W)|0;u=Math.imul(M,V);o=o+Math.imul(y,J)|0;h=h+Math.imul(y,Z)|0;h=h+Math.imul(g,J)|0;u=u+Math.imul(g,Z)|0;o=o+Math.imul(v,Y)|0;h=h+Math.imul(v,$)|0;h=h+Math.imul(b,Y)|0;u=u+Math.imul(b,$)|0;o=o+Math.imul(c,ee)|0;h=h+Math.imul(c,te)|0;h=h+Math.imul(l,ee)|0;u=u+Math.imul(l,te)|0;var Se=(s+o|0)+((h&8191)<<13)|0;s=(u+(h>>>13)|0)+(Se>>>26)|0;Se&=67108863;o=Math.imul(E,W);h=Math.imul(E,V);h=h+Math.imul(k,W)|0;u=Math.imul(k,V);o=o+Math.imul(w,J)|0;h=h+Math.imul(w,Z)|0;h=h+Math.imul(M,J)|0;u=u+Math.imul(M,Z)|0;o=o+Math.imul(y,Y)|0;h=h+Math.imul(y,$)|0;h=h+Math.imul(g,Y)|0;u=u+Math.imul(g,$)|0;o=o+Math.imul(v,ee)|0;h=h+Math.imul(v,te)|0;h=h+Math.imul(b,ee)|0;u=u+Math.imul(b,te)|0;o=o+Math.imul(c,ie)|0;h=h+Math.imul(c,ne)|0;h=h+Math.imul(l,ie)|0;u=u+Math.imul(l,ne)|0;var Be=(s+o|0)+((h&8191)<<13)|0;s=(u+(h>>>13)|0)+(Be>>>26)|0;Be&=67108863;o=Math.imul(N,W);h=Math.imul(N,V);h=h+Math.imul(P,W)|0;u=Math.imul(P,V);o=o+Math.imul(E,J)|0;h=h+Math.imul(E,Z)|0;h=h+Math.imul(k,J)|0;u=u+Math.imul(k,Z)|0;o=o+Math.imul(w,Y)|0;h=h+Math.imul(w,$)|0;h=h+Math.imul(M,Y)|0;u=u+Math.imul(M,$)|0;o=o+Math.imul(y,ee)|0;h=h+Math.imul(y,te)|0;h=h+Math.imul(g,ee)|0;u=u+Math.imul(g,te)|0;o=o+Math.imul(v,ie)|0;h=h+Math.imul(v,ne)|0;h=h+Math.imul(b,ie)|0;u=u+Math.imul(b,ne)|0;o=o+Math.imul(c,fe)|0;h=h+Math.imul(c,se)|0;h=h+Math.imul(l,fe)|0;u=u+Math.imul(l,se)|0;var Ee=(s+o|0)+((h&8191)<<13)|0;s=(u+(h>>>13)|0)+(Ee>>>26)|0;Ee&=67108863;o=Math.imul(I,W);h=Math.imul(I,V);h=h+Math.imul(C,W)|0;u=Math.imul(C,V);o=o+Math.imul(N,J)|0;h=h+Math.imul(N,Z)|0;h=h+Math.imul(P,J)|0;u=u+Math.imul(P,Z)|0;o=o+Math.imul(E,Y)|0;h=h+Math.imul(E,$)|0;h=h+Math.imul(k,Y)|0;u=u+Math.imul(k,$)|0;o=o+Math.imul(w,ee)|0;h=h+Math.imul(w,te)|0;h=h+Math.imul(M,ee)|0;u=u+Math.imul(M,te)|0;o=o+Math.imul(y,ie)|0;h=h+Math.imul(y,ne)|0;h=h+Math.imul(g,ie)|0;u=u+Math.imul(g,ne)|0;o=o+Math.imul(v,fe)|0;h=h+Math.imul(v,se)|0;h=h+Math.imul(b,fe)|0;u=u+Math.imul(b,se)|0;o=o+Math.imul(c,he)|0;h=h+Math.imul(c,ue)|0;h=h+Math.imul(l,he)|0;u=u+Math.imul(l,ue)|0;var ke=(s+o|0)+((h&8191)<<13)|0;s=(u+(h>>>13)|0)+(ke>>>26)|0;ke&=67108863;o=Math.imul(T,W);h=Math.imul(T,V);h=h+Math.imul(j,W)|0;u=Math.imul(j,V);o=o+Math.imul(I,J)|0;h=h+Math.imul(I,Z)|0;h=h+Math.imul(C,J)|0;u=u+Math.imul(C,Z)|0;o=o+Math.imul(N,Y)|0;h=h+Math.imul(N,$)|0;h=h+Math.imul(P,Y)|0;u=u+Math.imul(P,$)|0;o=o+Math.imul(E,ee)|0;h=h+Math.imul(E,te)|0;h=h+Math.imul(k,ee)|0;u=u+Math.imul(k,te)|0;o=o+Math.imul(w,ie)|0;h=h+Math.imul(w,ne)|0;h=h+Math.imul(M,ie)|0;u=u+Math.imul(M,ne)|0;o=o+Math.imul(y,fe)|0;h=h+Math.imul(y,se)|0;h=h+Math.imul(g,fe)|0;u=u+Math.imul(g,se)|0;o=o+Math.imul(v,he)|0;h=h+Math.imul(v,ue)|0;h=h+Math.imul(b,he)|0;u=u+Math.imul(b,ue)|0;o=o+Math.imul(c,ce)|0;h=h+Math.imul(c,le)|0;h=h+Math.imul(l,ce)|0;u=u+Math.imul(l,le)|0;var Ae=(s+o|0)+((h&8191)<<13)|0;s=(u+(h>>>13)|0)+(Ae>>>26)|0;Ae&=67108863;o=Math.imul(O,W);h=Math.imul(O,V);h=h+Math.imul(H,W)|0;u=Math.imul(H,V);o=o+Math.imul(T,J)|0;h=h+Math.imul(T,Z)|0;h=h+Math.imul(j,J)|0;u=u+Math.imul(j,Z)|0;o=o+Math.imul(I,Y)|0;h=h+Math.imul(I,$)|0;h=h+Math.imul(C,Y)|0;u=u+Math.imul(C,$)|0;o=o+Math.imul(N,ee)|0;h=h+Math.imul(N,te)|0;h=h+Math.imul(P,ee)|0;u=u+Math.imul(P,te)|0;o=o+Math.imul(E,ie)|0;h=h+Math.imul(E,ne)|0;h=h+Math.imul(k,ie)|0;u=u+Math.imul(k,ne)|0;o=o+Math.imul(w,fe)|0;h=h+Math.imul(w,se)|0;h=h+Math.imul(M,fe)|0;u=u+Math.imul(M,se)|0;o=o+Math.imul(y,he)|0;h=h+Math.imul(y,ue)|0;h=h+Math.imul(g,he)|0;u=u+Math.imul(g,ue)|0;o=o+Math.imul(v,ce)|0;h=h+Math.imul(v,le)|0;h=h+Math.imul(b,ce)|0;u=u+Math.imul(b,le)|0;o=o+Math.imul(c,ve)|0;h=h+Math.imul(c,be)|0;h=h+Math.imul(l,ve)|0;u=u+Math.imul(l,be)|0;var Ne=(s+o|0)+((h&8191)<<13)|0;s=(u+(h>>>13)|0)+(Ne>>>26)|0;Ne&=67108863;o=Math.imul(z,W);h=Math.imul(z,V);h=h+Math.imul(F,W)|0;u=Math.imul(F,V);o=o+Math.imul(O,J)|0;h=h+Math.imul(O,Z)|0;h=h+Math.imul(H,J)|0;u=u+Math.imul(H,Z)|0;o=o+Math.imul(T,Y)|0;h=h+Math.imul(T,$)|0;h=h+Math.imul(j,Y)|0;u=u+Math.imul(j,$)|0;o=o+Math.imul(I,ee)|0;h=h+Math.imul(I,te)|0;h=h+Math.imul(C,ee)|0;u=u+Math.imul(C,te)|0;o=o+Math.imul(N,ie)|0;h=h+Math.imul(N,ne)|0;h=h+Math.imul(P,ie)|0;u=u+Math.imul(P,ne)|0;o=o+Math.imul(E,fe)|0;h=h+Math.imul(E,se)|0;h=h+Math.imul(k,fe)|0;u=u+Math.imul(k,se)|0;o=o+Math.imul(w,he)|0;h=h+Math.imul(w,ue)|0;h=h+Math.imul(M,he)|0;u=u+Math.imul(M,ue)|0;o=o+Math.imul(y,ce)|0;h=h+Math.imul(y,le)|0;h=h+Math.imul(g,ce)|0;u=u+Math.imul(g,le)|0;o=o+Math.imul(v,ve)|0;h=h+Math.imul(v,be)|0;h=h+Math.imul(b,ve)|0;u=u+Math.imul(b,be)|0;o=o+Math.imul(c,ye)|0;h=h+Math.imul(c,ge)|0;h=h+Math.imul(l,ye)|0;u=u+Math.imul(l,ge)|0;var Re=(s+o|0)+((h&8191)<<13)|0;s=(u+(h>>>13)|0)+(Re>>>26)|0;Re&=67108863;o=Math.imul(z,J);h=Math.imul(z,Z);h=h+Math.imul(F,J)|0;u=Math.imul(F,Z);o=o+Math.imul(O,Y)|0;h=h+Math.imul(O,$)|0;h=h+Math.imul(H,Y)|0;u=u+Math.imul(H,$)|0;o=o+Math.imul(T,ee)|0;h=h+Math.imul(T,te)|0;h=h+Math.imul(j,ee)|0;u=u+Math.imul(j,te)|0;o=o+Math.imul(I,ie)|0;h=h+Math.imul(I,ne)|0;h=h+Math.imul(C,ie)|0;u=u+Math.imul(C,ne)|0;o=o+Math.imul(N,fe)|0;h=h+Math.imul(N,se)|0;h=h+Math.imul(P,fe)|0;u=u+Math.imul(P,se)|0;o=o+Math.imul(E,he)|0;h=h+Math.imul(E,ue)|0;h=h+Math.imul(k,he)|0;u=u+Math.imul(k,ue)|0;o=o+Math.imul(w,ce)|0;h=h+Math.imul(w,le)|0;h=h+Math.imul(M,ce)|0;u=u+Math.imul(M,le)|0;o=o+Math.imul(y,ve)|0;h=h+Math.imul(y,be)|0;h=h+Math.imul(g,ve)|0;u=u+Math.imul(g,be)|0;o=o+Math.imul(v,ye)|0;h=h+Math.imul(v,ge)|0;h=h+Math.imul(b,ye)|0;u=u+Math.imul(b,ge)|0;var Pe=(s+o|0)+((h&8191)<<13)|0;s=(u+(h>>>13)|0)+(Pe>>>26)|0;Pe&=67108863;o=Math.imul(z,Y);h=Math.imul(z,$);h=h+Math.imul(F,Y)|0;u=Math.imul(F,$);o=o+Math.imul(O,ee)|0;h=h+Math.imul(O,te)|0;h=h+Math.imul(H,ee)|0;u=u+Math.imul(H,te)|0;o=o+Math.imul(T,ie)|0;h=h+Math.imul(T,ne)|0;h=h+Math.imul(j,ie)|0;u=u+Math.imul(j,ne)|0;o=o+Math.imul(I,fe)|0;h=h+Math.imul(I,se)|0;h=h+Math.imul(C,fe)|0;u=u+Math.imul(C,se)|0;o=o+Math.imul(N,he)|0;h=h+Math.imul(N,ue)|0;h=h+Math.imul(P,he)|0;u=u+Math.imul(P,ue)|0;o=o+Math.imul(E,ce)|0;h=h+Math.imul(E,le)|0;h=h+Math.imul(k,ce)|0;u=u+Math.imul(k,le)|0;o=o+Math.imul(w,ve)|0;h=h+Math.imul(w,be)|0;h=h+Math.imul(M,ve)|0;u=u+Math.imul(M,be)|0;o=o+Math.imul(y,ye)|0;h=h+Math.imul(y,ge)|0;h=h+Math.imul(g,ye)|0;u=u+Math.imul(g,ge)|0;var xe=(s+o|0)+((h&8191)<<13)|0;s=(u+(h>>>13)|0)+(xe>>>26)|0;xe&=67108863;o=Math.imul(z,ee);h=Math.imul(z,te);h=h+Math.imul(F,ee)|0;u=Math.imul(F,te);o=o+Math.imul(O,ie)|0;h=h+Math.imul(O,ne)|0;h=h+Math.imul(H,ie)|0;u=u+Math.imul(H,ne)|0;o=o+Math.imul(T,fe)|0;h=h+Math.imul(T,se)|0;h=h+Math.imul(j,fe)|0;u=u+Math.imul(j,se)|0;o=o+Math.imul(I,he)|0;h=h+Math.imul(I,ue)|0;h=h+Math.imul(C,he)|0;u=u+Math.imul(C,ue)|0;o=o+Math.imul(N,ce)|0;h=h+Math.imul(N,le)|0;h=h+Math.imul(P,ce)|0;u=u+Math.imul(P,le)|0;o=o+Math.imul(E,ve)|0;h=h+Math.imul(E,be)|0;h=h+Math.imul(k,ve)|0;u=u+Math.imul(k,be)|0;o=o+Math.imul(w,ye)|0;h=h+Math.imul(w,ge)|0;h=h+Math.imul(M,ye)|0;u=u+Math.imul(M,ge)|0;var Ie=(s+o|0)+((h&8191)<<13)|0;s=(u+(h>>>13)|0)+(Ie>>>26)|0;Ie&=67108863;o=Math.imul(z,ie);h=Math.imul(z,ne);h=h+Math.imul(F,ie)|0;u=Math.imul(F,ne);o=o+Math.imul(O,fe)|0;h=h+Math.imul(O,se)|0;h=h+Math.imul(H,fe)|0;u=u+Math.imul(H,se)|0;o=o+Math.imul(T,he)|0;h=h+Math.imul(T,ue)|0;h=h+Math.imul(j,he)|0;u=u+Math.imul(j,ue)|0;o=o+Math.imul(I,ce)|0;h=h+Math.imul(I,le)|0;h=h+Math.imul(C,ce)|0;u=u+Math.imul(C,le)|0;o=o+Math.imul(N,ve)|0;h=h+Math.imul(N,be)|0;h=h+Math.imul(P,ve)|0;u=u+Math.imul(P,be)|0;o=o+Math.imul(E,ye)|0;h=h+Math.imul(E,ge)|0;h=h+Math.imul(k,ye)|0;u=u+Math.imul(k,ge)|0;var Ce=(s+o|0)+((h&8191)<<13)|0;s=(u+(h>>>13)|0)+(Ce>>>26)|0;Ce&=67108863;o=Math.imul(z,fe);h=Math.imul(z,se);h=h+Math.imul(F,fe)|0;u=Math.imul(F,se);o=o+Math.imul(O,he)|0;h=h+Math.imul(O,ue)|0;h=h+Math.imul(H,he)|0;u=u+Math.imul(H,ue)|0;o=o+Math.imul(T,ce)|0;h=h+Math.imul(T,le)|0;h=h+Math.imul(j,ce)|0;u=u+Math.imul(j,le)|0;o=o+Math.imul(I,ve)|0;h=h+Math.imul(I,be)|0;h=h+Math.imul(C,ve)|0;u=u+Math.imul(C,be)|0;o=o+Math.imul(N,ye)|0;h=h+Math.imul(N,ge)|0;h=h+Math.imul(P,ye)|0;u=u+Math.imul(P,ge)|0;var De=(s+o|0)+((h&8191)<<13)|0;s=(u+(h>>>13)|0)+(De>>>26)|0;De&=67108863;o=Math.imul(z,he);h=Math.imul(z,ue);h=h+Math.imul(F,he)|0;u=Math.imul(F,ue);o=o+Math.imul(O,ce)|0;h=h+Math.imul(O,le)|0;h=h+Math.imul(H,ce)|0;u=u+Math.imul(H,le)|0;o=o+Math.imul(T,ve)|0;h=h+Math.imul(T,be)|0;h=h+Math.imul(j,ve)|0;u=u+Math.imul(j,be)|0;o=o+Math.imul(I,ye)|0;h=h+Math.imul(I,ge)|0;h=h+Math.imul(C,ye)|0;u=u+Math.imul(C,ge)|0;var Te=(s+o|0)+((h&8191)<<13)|0;s=(u+(h>>>13)|0)+(Te>>>26)|0;Te&=67108863;o=Math.imul(z,ce);h=Math.imul(z,le);h=h+Math.imul(F,ce)|0;u=Math.imul(F,le);o=o+Math.imul(O,ve)|0;h=h+Math.imul(O,be)|0;h=h+Math.imul(H,ve)|0;u=u+Math.imul(H,be)|0;o=o+Math.imul(T,ye)|0;h=h+Math.imul(T,ge)|0;h=h+Math.imul(j,ye)|0;u=u+Math.imul(j,ge)|0;var je=(s+o|0)+((h&8191)<<13)|0;s=(u+(h>>>13)|0)+(je>>>26)|0;je&=67108863;o=Math.imul(z,ve);h=Math.imul(z,be);h=h+Math.imul(F,ve)|0;u=Math.imul(F,be);o=o+Math.imul(O,ye)|0;h=h+Math.imul(O,ge)|0;h=h+Math.imul(H,ye)|0;u=u+Math.imul(H,ge)|0;var qe=(s+o|0)+((h&8191)<<13)|0;s=(u+(h>>>13)|0)+(qe>>>26)|0;qe&=67108863;o=Math.imul(z,ye);h=Math.imul(z,ge);h=h+Math.imul(F,ye)|0;u=Math.imul(F,ge);var Oe=(s+o|0)+((h&8191)<<13)|0;s=(u+(h>>>13)|0)+(Oe>>>26)|0;Oe&=67108863;a[0]=_e;a[1]=we;a[2]=Me;a[3]=Se;a[4]=Be;a[5]=Ee;a[6]=ke;a[7]=Ae;a[8]=Ne;a[9]=Re;a[10]=Pe;a[11]=xe;a[12]=Ie;a[13]=Ce;a[14]=De;a[15]=Te;a[16]=je;a[17]=qe;a[18]=Oe;if(s!==0){a[19]=s;r.length++}return r};if(!Math.imul){o=smallMulTo}function bigMulTo(e,t,r){r.negative=t.negative^e.negative;r.length=e.length+t.length;var i=0;var n=0;for(var a=0;a<r.length-1;a++){var s=n;n=0;var o=i&67108863;var h=Math.min(a,t.length-1);for(var u=Math.max(0,a-e.length+1);u<=h;u++){var d=a-u;var c=e.words[d]|0;var l=t.words[u]|0;var p=c*l;var v=p&67108863;s=s+(p/67108864|0)|0;v=v+o|0;o=v&67108863;s=s+(v>>>26)|0;n+=s>>>26;s&=67108863}r.words[a]=o;i=s;s=n}if(i!==0){r.words[a]=i}else{r.length--}return r.strip()}function jumboMulTo(e,t,r){var i=new FFTM;return i.mulp(e,t,r)}BN.prototype.mulTo=function mulTo(e,t){var r;var i=this.length+e.length;if(this.length===10&&e.length===10){r=o(this,e,t)}else if(i<63){r=smallMulTo(this,e,t)}else if(i<1024){r=bigMulTo(this,e,t)}else{r=jumboMulTo(this,e,t)}return r};function FFTM(e,t){this.x=e;this.y=t}FFTM.prototype.makeRBT=function makeRBT(e){var t=new Array(e);var r=BN.prototype._countBits(e)-1;for(var i=0;i<e;i++){t[i]=this.revBin(i,r,e)}return t};FFTM.prototype.revBin=function revBin(e,t,r){if(e===0||e===r-1)return e;var i=0;for(var n=0;n<t;n++){i|=(e&1)<<t-n-1;e>>=1}return i};FFTM.prototype.permute=function permute(e,t,r,i,n,a){for(var s=0;s<a;s++){i[s]=t[e[s]];n[s]=r[e[s]]}};FFTM.prototype.transform=function transform(e,t,r,i,n,a){this.permute(a,e,t,r,i,n);for(var s=1;s<n;s<<=1){var o=s<<1;var h=Math.cos(2*Math.PI/o);var u=Math.sin(2*Math.PI/o);for(var d=0;d<n;d+=o){var c=h;var l=u;for(var p=0;p<s;p++){var v=r[d+p];var b=i[d+p];var m=r[d+p+s];var y=i[d+p+s];var g=c*m-l*y;y=c*y+l*m;m=g;r[d+p]=v+m;i[d+p]=b+y;r[d+p+s]=v-m;i[d+p+s]=b-y;if(p!==o){g=h*c-u*l;l=h*l+u*c;c=g}}}}};FFTM.prototype.guessLen13b=function guessLen13b(e,t){var r=Math.max(t,e)|1;var i=r&1;var n=0;for(r=r/2|0;r;r=r>>>1){n++}return 1<<n+1+i};FFTM.prototype.conjugate=function conjugate(e,t,r){if(r<=1)return;for(var i=0;i<r/2;i++){var n=e[i];e[i]=e[r-i-1];e[r-i-1]=n;n=t[i];t[i]=-t[r-i-1];t[r-i-1]=-n}};FFTM.prototype.normalize13b=function normalize13b(e,t){var r=0;for(var i=0;i<t/2;i++){var n=Math.round(e[2*i+1]/t)*8192+Math.round(e[2*i]/t)+r;e[i]=n&67108863;if(n<67108864){r=0}else{r=n/67108864|0}}return e};FFTM.prototype.convert13b=function convert13b(e,t,r,i){var n=0;for(var a=0;a<t;a++){n=n+(e[a]|0);r[2*a]=n&8191;n=n>>>13;r[2*a+1]=n&8191;n=n>>>13}for(a=2*t;a<i;++a){r[a]=0}assert(n===0);assert((n&~8191)===0)};FFTM.prototype.stub=function stub(e){var t=new Array(e);for(var r=0;r<e;r++){t[r]=0}return t};FFTM.prototype.mulp=function mulp(e,t,r){var i=2*this.guessLen13b(e.length,t.length);var n=this.makeRBT(i);var a=this.stub(i);var s=new Array(i);var o=new Array(i);var h=new Array(i);var u=new Array(i);var d=new Array(i);var c=new Array(i);var l=r.words;l.length=i;this.convert13b(e.words,e.length,s,i);this.convert13b(t.words,t.length,u,i);this.transform(s,a,o,h,i,n);this.transform(u,a,d,c,i,n);for(var p=0;p<i;p++){var v=o[p]*d[p]-h[p]*c[p];h[p]=o[p]*c[p]+h[p]*d[p];o[p]=v}this.conjugate(o,h,i);this.transform(o,h,l,a,i,n);this.conjugate(l,a,i);this.normalize13b(l,i);r.negative=e.negative^t.negative;r.length=e.length+t.length;return r.strip()};BN.prototype.mul=function mul(e){var t=new BN(null);t.words=new Array(this.length+e.length);return this.mulTo(e,t)};BN.prototype.mulf=function mulf(e){var t=new BN(null);t.words=new Array(this.length+e.length);return jumboMulTo(this,e,t)};BN.prototype.imul=function imul(e){return this.clone().mulTo(e,this)};BN.prototype.imuln=function imuln(e){assert(typeof e===\"number\");assert(e<67108864);var t=0;for(var r=0;r<this.length;r++){var i=(this.words[r]|0)*e;var n=(i&67108863)+(t&67108863);t>>=26;t+=i/67108864|0;t+=n>>>26;this.words[r]=n&67108863}if(t!==0){this.words[r]=t;this.length++}return this};BN.prototype.muln=function muln(e){return this.clone().imuln(e)};BN.prototype.sqr=function sqr(){return this.mul(this)};BN.prototype.isqr=function isqr(){return this.imul(this.clone())};BN.prototype.pow=function pow(e){var t=toBitArray(e);if(t.length===0)return new BN(1);var r=this;for(var i=0;i<t.length;i++,r=r.sqr()){if(t[i]!==0)break}if(++i<t.length){for(var n=r.sqr();i<t.length;i++,n=n.sqr()){if(t[i]===0)continue;r=r.mul(n)}}return r};BN.prototype.iushln=function iushln(e){assert(typeof e===\"number\"&&e>=0);var t=e%26;var r=(e-t)/26;var i=67108863>>>26-t<<26-t;var n;if(t!==0){var a=0;for(n=0;n<this.length;n++){var s=this.words[n]&i;var o=(this.words[n]|0)-s<<t;this.words[n]=o|a;a=s>>>26-t}if(a){this.words[n]=a;this.length++}}if(r!==0){for(n=this.length-1;n>=0;n--){this.words[n+r]=this.words[n]}for(n=0;n<r;n++){this.words[n]=0}this.length+=r}return this.strip()};BN.prototype.ishln=function ishln(e){assert(this.negative===0);return this.iushln(e)};BN.prototype.iushrn=function iushrn(e,t,r){assert(typeof e===\"number\"&&e>=0);var i;if(t){i=(t-t%26)/26}else{i=0}var n=e%26;var a=Math.min((e-n)/26,this.length);var s=67108863^67108863>>>n<<n;var o=r;i-=a;i=Math.max(0,i);if(o){for(var h=0;h<a;h++){o.words[h]=this.words[h]}o.length=a}if(a===0){}else if(this.length>a){this.length-=a;for(h=0;h<this.length;h++){this.words[h]=this.words[h+a]}}else{this.words[0]=0;this.length=1}var u=0;for(h=this.length-1;h>=0&&(u!==0||h>=i);h--){var d=this.words[h]|0;this.words[h]=u<<26-n|d>>>n;u=d&s}if(o&&u!==0){o.words[o.length++]=u}if(this.length===0){this.words[0]=0;this.length=1}return this.strip()};BN.prototype.ishrn=function ishrn(e,t,r){assert(this.negative===0);return this.iushrn(e,t,r)};BN.prototype.shln=function shln(e){return this.clone().ishln(e)};BN.prototype.ushln=function ushln(e){return this.clone().iushln(e)};BN.prototype.shrn=function shrn(e){return this.clone().ishrn(e)};BN.prototype.ushrn=function ushrn(e){return this.clone().iushrn(e)};BN.prototype.testn=function testn(e){assert(typeof e===\"number\"&&e>=0);var t=e%26;var r=(e-t)/26;var i=1<<t;if(this.length<=r)return false;var n=this.words[r];return!!(n&i)};BN.prototype.imaskn=function imaskn(e){assert(typeof e===\"number\"&&e>=0);var t=e%26;var r=(e-t)/26;assert(this.negative===0,\"imaskn works only with positive numbers\");if(this.length<=r){return this}if(t!==0){r++}this.length=Math.min(r,this.length);if(t!==0){var i=67108863^67108863>>>t<<t;this.words[this.length-1]&=i}return this.strip()};BN.prototype.maskn=function maskn(e){return this.clone().imaskn(e)};BN.prototype.iaddn=function iaddn(e){assert(typeof e===\"number\");assert(e<67108864);if(e<0)return this.isubn(-e);if(this.negative!==0){if(this.length===1&&(this.words[0]|0)<e){this.words[0]=e-(this.words[0]|0);this.negative=0;return this}this.negative=0;this.isubn(e);this.negative=1;return this}return this._iaddn(e)};BN.prototype._iaddn=function _iaddn(e){this.words[0]+=e;for(var t=0;t<this.length&&this.words[t]>=67108864;t++){this.words[t]-=67108864;if(t===this.length-1){this.words[t+1]=1}else{this.words[t+1]++}}this.length=Math.max(this.length,t+1);return this};BN.prototype.isubn=function isubn(e){assert(typeof e===\"number\");assert(e<67108864);if(e<0)return this.iaddn(-e);if(this.negative!==0){this.negative=0;this.iaddn(e);this.negative=1;return this}this.words[0]-=e;if(this.length===1&&this.words[0]<0){this.words[0]=-this.words[0];this.negative=1}else{for(var t=0;t<this.length&&this.words[t]<0;t++){this.words[t]+=67108864;this.words[t+1]-=1}}return this.strip()};BN.prototype.addn=function addn(e){return this.clone().iaddn(e)};BN.prototype.subn=function subn(e){return this.clone().isubn(e)};BN.prototype.iabs=function iabs(){this.negative=0;return this};BN.prototype.abs=function abs(){return this.clone().iabs()};BN.prototype._ishlnsubmul=function _ishlnsubmul(e,t,r){var i=e.length+r;var n;this._expand(i);var a;var s=0;for(n=0;n<e.length;n++){a=(this.words[n+r]|0)+s;var o=(e.words[n]|0)*t;a-=o&67108863;s=(a>>26)-(o/67108864|0);this.words[n+r]=a&67108863}for(;n<this.length-r;n++){a=(this.words[n+r]|0)+s;s=a>>26;this.words[n+r]=a&67108863}if(s===0)return this.strip();assert(s===-1);s=0;for(n=0;n<this.length;n++){a=-(this.words[n]|0)+s;s=a>>26;this.words[n]=a&67108863}this.negative=1;return this.strip()};BN.prototype._wordDiv=function _wordDiv(e,t){var r=this.length-e.length;var i=this.clone();var n=e;var a=n.words[n.length-1]|0;var s=this._countBits(a);r=26-s;if(r!==0){n=n.ushln(r);i.iushln(r);a=n.words[n.length-1]|0}var o=i.length-n.length;var h;if(t!==\"mod\"){h=new BN(null);h.length=o+1;h.words=new Array(h.length);for(var u=0;u<h.length;u++){h.words[u]=0}}var d=i.clone()._ishlnsubmul(n,1,o);if(d.negative===0){i=d;if(h){h.words[o]=1}}for(var c=o-1;c>=0;c--){var l=(i.words[n.length+c]|0)*67108864+(i.words[n.length+c-1]|0);l=Math.min(l/a|0,67108863);i._ishlnsubmul(n,l,c);while(i.negative!==0){l--;i.negative=0;i._ishlnsubmul(n,1,c);if(!i.isZero()){i.negative^=1}}if(h){h.words[c]=l}}if(h){h.strip()}i.strip();if(t!==\"div\"&&r!==0){i.iushrn(r)}return{div:h||null,mod:i}};BN.prototype.divmod=function divmod(e,t,r){assert(!e.isZero());if(this.isZero()){return{div:new BN(0),mod:new BN(0)}}var i,n,a;if(this.negative!==0&&e.negative===0){a=this.neg().divmod(e,t);if(t!==\"mod\"){i=a.div.neg()}if(t!==\"div\"){n=a.mod.neg();if(r&&n.negative!==0){n.iadd(e)}}return{div:i,mod:n}}if(this.negative===0&&e.negative!==0){a=this.divmod(e.neg(),t);if(t!==\"mod\"){i=a.div.neg()}return{div:i,mod:a.mod}}if((this.negative&e.negative)!==0){a=this.neg().divmod(e.neg(),t);if(t!==\"div\"){n=a.mod.neg();if(r&&n.negative!==0){n.isub(e)}}return{div:a.div,mod:n}}if(e.length>this.length||this.cmp(e)<0){return{div:new BN(0),mod:this}}if(e.length===1){if(t===\"div\"){return{div:this.divn(e.words[0]),mod:null}}if(t===\"mod\"){return{div:null,mod:new BN(this.modn(e.words[0]))}}return{div:this.divn(e.words[0]),mod:new BN(this.modn(e.words[0]))}}return this._wordDiv(e,t)};BN.prototype.div=function div(e){return this.divmod(e,\"div\",false).div};BN.prototype.mod=function mod(e){return this.divmod(e,\"mod\",false).mod};BN.prototype.umod=function umod(e){return this.divmod(e,\"mod\",true).mod};BN.prototype.divRound=function divRound(e){var t=this.divmod(e);if(t.mod.isZero())return t.div;var r=t.div.negative!==0?t.mod.isub(e):t.mod;var i=e.ushrn(1);var n=e.andln(1);var a=r.cmp(i);if(a<0||n===1&&a===0)return t.div;return t.div.negative!==0?t.div.isubn(1):t.div.iaddn(1)};BN.prototype.modn=function modn(e){assert(e<=67108863);var t=(1<<26)%e;var r=0;for(var i=this.length-1;i>=0;i--){r=(t*r+(this.words[i]|0))%e}return r};BN.prototype.idivn=function idivn(e){assert(e<=67108863);var t=0;for(var r=this.length-1;r>=0;r--){var i=(this.words[r]|0)+t*67108864;this.words[r]=i/e|0;t=i%e}return this.strip()};BN.prototype.divn=function divn(e){return this.clone().idivn(e)};BN.prototype.egcd=function egcd(e){assert(e.negative===0);assert(!e.isZero());var t=this;var r=e.clone();if(t.negative!==0){t=t.umod(e)}else{t=t.clone()}var i=new BN(1);var n=new BN(0);var a=new BN(0);var s=new BN(1);var o=0;while(t.isEven()&&r.isEven()){t.iushrn(1);r.iushrn(1);++o}var h=r.clone();var u=t.clone();while(!t.isZero()){for(var d=0,c=1;(t.words[0]&c)===0&&d<26;++d,c<<=1);if(d>0){t.iushrn(d);while(d-- >0){if(i.isOdd()||n.isOdd()){i.iadd(h);n.isub(u)}i.iushrn(1);n.iushrn(1)}}for(var l=0,p=1;(r.words[0]&p)===0&&l<26;++l,p<<=1);if(l>0){r.iushrn(l);while(l-- >0){if(a.isOdd()||s.isOdd()){a.iadd(h);s.isub(u)}a.iushrn(1);s.iushrn(1)}}if(t.cmp(r)>=0){t.isub(r);i.isub(a);n.isub(s)}else{r.isub(t);a.isub(i);s.isub(n)}}return{a:a,b:s,gcd:r.iushln(o)}};BN.prototype._invmp=function _invmp(e){assert(e.negative===0);assert(!e.isZero());var t=this;var r=e.clone();if(t.negative!==0){t=t.umod(e)}else{t=t.clone()}var i=new BN(1);var n=new BN(0);var a=r.clone();while(t.cmpn(1)>0&&r.cmpn(1)>0){for(var s=0,o=1;(t.words[0]&o)===0&&s<26;++s,o<<=1);if(s>0){t.iushrn(s);while(s-- >0){if(i.isOdd()){i.iadd(a)}i.iushrn(1)}}for(var h=0,u=1;(r.words[0]&u)===0&&h<26;++h,u<<=1);if(h>0){r.iushrn(h);while(h-- >0){if(n.isOdd()){n.iadd(a)}n.iushrn(1)}}if(t.cmp(r)>=0){t.isub(r);i.isub(n)}else{r.isub(t);n.isub(i)}}var d;if(t.cmpn(1)===0){d=i}else{d=n}if(d.cmpn(0)<0){d.iadd(e)}return d};BN.prototype.gcd=function gcd(e){if(this.isZero())return e.abs();if(e.isZero())return this.abs();var t=this.clone();var r=e.clone();t.negative=0;r.negative=0;for(var i=0;t.isEven()&&r.isEven();i++){t.iushrn(1);r.iushrn(1)}do{while(t.isEven()){t.iushrn(1)}while(r.isEven()){r.iushrn(1)}var n=t.cmp(r);if(n<0){var a=t;t=r;r=a}else if(n===0||r.cmpn(1)===0){break}t.isub(r)}while(true);return r.iushln(i)};BN.prototype.invm=function invm(e){return this.egcd(e).a.umod(e)};BN.prototype.isEven=function isEven(){return(this.words[0]&1)===0};BN.prototype.isOdd=function isOdd(){return(this.words[0]&1)===1};BN.prototype.andln=function andln(e){return this.words[0]&e};BN.prototype.bincn=function bincn(e){assert(typeof e===\"number\");var t=e%26;var r=(e-t)/26;var i=1<<t;if(this.length<=r){this._expand(r+1);this.words[r]|=i;return this}var n=i;for(var a=r;n!==0&&a<this.length;a++){var s=this.words[a]|0;s+=n;n=s>>>26;s&=67108863;this.words[a]=s}if(n!==0){this.words[a]=n;this.length++}return this};BN.prototype.isZero=function isZero(){return this.length===1&&this.words[0]===0};BN.prototype.cmpn=function cmpn(e){var t=e<0;if(this.negative!==0&&!t)return-1;if(this.negative===0&&t)return 1;this.strip();var r;if(this.length>1){r=1}else{if(t){e=-e}assert(e<=67108863,\"Number is too big\");var i=this.words[0]|0;r=i===e?0:i<e?-1:1}if(this.negative!==0)return-r|0;return r};BN.prototype.cmp=function cmp(e){if(this.negative!==0&&e.negative===0)return-1;if(this.negative===0&&e.negative!==0)return 1;var t=this.ucmp(e);if(this.negative!==0)return-t|0;return t};BN.prototype.ucmp=function ucmp(e){if(this.length>e.length)return 1;if(this.length<e.length)return-1;var t=0;for(var r=this.length-1;r>=0;r--){var i=this.words[r]|0;var n=e.words[r]|0;if(i===n)continue;if(i<n){t=-1}else if(i>n){t=1}break}return t};BN.prototype.gtn=function gtn(e){return this.cmpn(e)===1};BN.prototype.gt=function gt(e){return this.cmp(e)===1};BN.prototype.gten=function gten(e){return this.cmpn(e)>=0};BN.prototype.gte=function gte(e){return this.cmp(e)>=0};BN.prototype.ltn=function ltn(e){return this.cmpn(e)===-1};BN.prototype.lt=function lt(e){return this.cmp(e)===-1};BN.prototype.lten=function lten(e){return this.cmpn(e)<=0};BN.prototype.lte=function lte(e){return this.cmp(e)<=0};BN.prototype.eqn=function eqn(e){return this.cmpn(e)===0};BN.prototype.eq=function eq(e){return this.cmp(e)===0};BN.red=function red(e){return new Red(e)};BN.prototype.toRed=function toRed(e){assert(!this.red,\"Already a number in reduction context\");assert(this.negative===0,\"red works only with positives\");return e.convertTo(this)._forceRed(e)};BN.prototype.fromRed=function fromRed(){assert(this.red,\"fromRed works only with numbers in reduction context\");return this.red.convertFrom(this)};BN.prototype._forceRed=function _forceRed(e){this.red=e;return this};BN.prototype.forceRed=function forceRed(e){assert(!this.red,\"Already a number in reduction context\");return this._forceRed(e)};BN.prototype.redAdd=function redAdd(e){assert(this.red,\"redAdd works only with red numbers\");return this.red.add(this,e)};BN.prototype.redIAdd=function redIAdd(e){assert(this.red,\"redIAdd works only with red numbers\");return this.red.iadd(this,e)};BN.prototype.redSub=function redSub(e){assert(this.red,\"redSub works only with red numbers\");return this.red.sub(this,e)};BN.prototype.redISub=function redISub(e){assert(this.red,\"redISub works only with red numbers\");return this.red.isub(this,e)};BN.prototype.redShl=function redShl(e){assert(this.red,\"redShl works only with red numbers\");return this.red.shl(this,e)};BN.prototype.redMul=function redMul(e){assert(this.red,\"redMul works only with red numbers\");this.red._verify2(this,e);return this.red.mul(this,e)};BN.prototype.redIMul=function redIMul(e){assert(this.red,\"redMul works only with red numbers\");this.red._verify2(this,e);return this.red.imul(this,e)};BN.prototype.redSqr=function redSqr(){assert(this.red,\"redSqr works only with red numbers\");this.red._verify1(this);return this.red.sqr(this)};BN.prototype.redISqr=function redISqr(){assert(this.red,\"redISqr works only with red numbers\");this.red._verify1(this);return this.red.isqr(this)};BN.prototype.redSqrt=function redSqrt(){assert(this.red,\"redSqrt works only with red numbers\");this.red._verify1(this);return this.red.sqrt(this)};BN.prototype.redInvm=function redInvm(){assert(this.red,\"redInvm works only with red numbers\");this.red._verify1(this);return this.red.invm(this)};BN.prototype.redNeg=function redNeg(){assert(this.red,\"redNeg works only with red numbers\");this.red._verify1(this);return this.red.neg(this)};BN.prototype.redPow=function redPow(e){assert(this.red&&!e.red,\"redPow(normalNum)\");this.red._verify1(this);return this.red.pow(this,e)};var h={k256:null,p224:null,p192:null,p25519:null};function MPrime(e,t){this.name=e;this.p=new BN(t,16);this.n=this.p.bitLength();this.k=new BN(1).iushln(this.n).isub(this.p);this.tmp=this._tmp()}MPrime.prototype._tmp=function _tmp(){var e=new BN(null);e.words=new Array(Math.ceil(this.n/13));return e};MPrime.prototype.ireduce=function ireduce(e){var t=e;var r;do{this.split(t,this.tmp);t=this.imulK(t);t=t.iadd(this.tmp);r=t.bitLength()}while(r>this.n);var i=r<this.n?-1:t.ucmp(this.p);if(i===0){t.words[0]=0;t.length=1}else if(i>0){t.isub(this.p)}else{if(t.strip!==undefined){t.strip()}else{t._strip()}}return t};MPrime.prototype.split=function split(e,t){e.iushrn(this.n,0,t)};MPrime.prototype.imulK=function imulK(e){return e.imul(this.k)};function K256(){MPrime.call(this,\"k256\",\"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f\")}inherits(K256,MPrime);K256.prototype.split=function split(e,t){var r=4194303;var i=Math.min(e.length,9);for(var n=0;n<i;n++){t.words[n]=e.words[n]}t.length=i;if(e.length<=9){e.words[0]=0;e.length=1;return}var a=e.words[9];t.words[t.length++]=a&r;for(n=10;n<e.length;n++){var s=e.words[n]|0;e.words[n-10]=(s&r)<<4|a>>>22;a=s}a>>>=22;e.words[n-10]=a;if(a===0&&e.length>10){e.length-=10}else{e.length-=9}};K256.prototype.imulK=function imulK(e){e.words[e.length]=0;e.words[e.length+1]=0;e.length+=2;var t=0;for(var r=0;r<e.length;r++){var i=e.words[r]|0;t+=i*977;e.words[r]=t&67108863;t=i*64+(t/67108864|0)}if(e.words[e.length-1]===0){e.length--;if(e.words[e.length-1]===0){e.length--}}return e};function P224(){MPrime.call(this,\"p224\",\"ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001\")}inherits(P224,MPrime);function P192(){MPrime.call(this,\"p192\",\"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff\")}inherits(P192,MPrime);function P25519(){MPrime.call(this,\"25519\",\"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed\")}inherits(P25519,MPrime);P25519.prototype.imulK=function imulK(e){var t=0;for(var r=0;r<e.length;r++){var i=(e.words[r]|0)*19+t;var n=i&67108863;i>>>=26;e.words[r]=n;t=i}if(t!==0){e.words[e.length++]=t}return e};BN._prime=function prime(e){if(h[e])return h[e];var prime;if(e===\"k256\"){prime=new K256}else if(e===\"p224\"){prime=new P224}else if(e===\"p192\"){prime=new P192}else if(e===\"p25519\"){prime=new P25519}else{throw new Error(\"Unknown prime \"+e)}h[e]=prime;return prime};function Red(e){if(typeof e===\"string\"){var t=BN._prime(e);this.m=t.p;this.prime=t}else{assert(e.gtn(1),\"modulus must be greater than 1\");this.m=e;this.prime=null}}Red.prototype._verify1=function _verify1(e){assert(e.negative===0,\"red works only with positives\");assert(e.red,\"red works only with red numbers\")};Red.prototype._verify2=function _verify2(e,t){assert((e.negative|t.negative)===0,\"red works only with positives\");assert(e.red&&e.red===t.red,\"red works only with red numbers\")};Red.prototype.imod=function imod(e){if(this.prime)return this.prime.ireduce(e)._forceRed(this);return e.umod(this.m)._forceRed(this)};Red.prototype.neg=function neg(e){if(e.isZero()){return e.clone()}return this.m.sub(e)._forceRed(this)};Red.prototype.add=function add(e,t){this._verify2(e,t);var r=e.add(t);if(r.cmp(this.m)>=0){r.isub(this.m)}return r._forceRed(this)};Red.prototype.iadd=function iadd(e,t){this._verify2(e,t);var r=e.iadd(t);if(r.cmp(this.m)>=0){r.isub(this.m)}return r};Red.prototype.sub=function sub(e,t){this._verify2(e,t);var r=e.sub(t);if(r.cmpn(0)<0){r.iadd(this.m)}return r._forceRed(this)};Red.prototype.isub=function isub(e,t){this._verify2(e,t);var r=e.isub(t);if(r.cmpn(0)<0){r.iadd(this.m)}return r};Red.prototype.shl=function shl(e,t){this._verify1(e);return this.imod(e.ushln(t))};Red.prototype.imul=function imul(e,t){this._verify2(e,t);return this.imod(e.imul(t))};Red.prototype.mul=function mul(e,t){this._verify2(e,t);return this.imod(e.mul(t))};Red.prototype.isqr=function isqr(e){return this.imul(e,e.clone())};Red.prototype.sqr=function sqr(e){return this.mul(e,e)};Red.prototype.sqrt=function sqrt(e){if(e.isZero())return e.clone();var t=this.m.andln(3);assert(t%2===1);if(t===3){var r=this.m.add(new BN(1)).iushrn(2);return this.pow(e,r)}var i=this.m.subn(1);var n=0;while(!i.isZero()&&i.andln(1)===0){n++;i.iushrn(1)}assert(!i.isZero());var a=new BN(1).toRed(this);var s=a.redNeg();var o=this.m.subn(1).iushrn(1);var h=this.m.bitLength();h=new BN(2*h*h).toRed(this);while(this.pow(h,o).cmp(s)!==0){h.redIAdd(s)}var u=this.pow(h,i);var d=this.pow(e,i.addn(1).iushrn(1));var c=this.pow(e,i);var l=n;while(c.cmp(a)!==0){var p=c;for(var v=0;p.cmp(a)!==0;v++){p=p.redSqr()}assert(v<l);var b=this.pow(u,new BN(1).iushln(l-v-1));d=d.redMul(b);u=b.redSqr();c=c.redMul(u);l=v}return d};Red.prototype.invm=function invm(e){var t=e._invmp(this.m);if(t.negative!==0){t.negative=0;return this.imod(t).redNeg()}else{return this.imod(t)}};Red.prototype.pow=function pow(e,t){if(t.isZero())return new BN(1).toRed(this);if(t.cmpn(1)===0)return e.clone();var r=4;var i=new Array(1<<r);i[0]=new BN(1).toRed(this);i[1]=e;for(var n=2;n<i.length;n++){i[n]=this.mul(i[n-1],e)}var a=i[0];var s=0;var o=0;var h=t.bitLength()%26;if(h===0){h=26}for(n=t.length-1;n>=0;n--){var u=t.words[n];for(var d=h-1;d>=0;d--){var c=u>>d&1;if(a!==i[0]){a=this.sqr(a)}if(c===0&&s===0){o=0;continue}s<<=1;s|=c;o++;if(o!==r&&(n!==0||d!==0))continue;a=this.mul(a,i[s]);o=0;s=0}h=26}return a};Red.prototype.convertTo=function convertTo(e){var t=e.umod(this.m);return t===e?t.clone():t};Red.prototype.convertFrom=function convertFrom(e){var t=e.clone();t.red=null;return t};BN.mont=function mont(e){return new Mont(e)};function Mont(e){Red.call(this,e);this.shift=this.m.bitLength();if(this.shift%26!==0){this.shift+=26-this.shift%26}this.r=new BN(1).iushln(this.shift);this.r2=this.imod(this.r.sqr());this.rinv=this.r._invmp(this.m);this.minv=this.rinv.mul(this.r).isubn(1).div(this.m);this.minv=this.minv.umod(this.r);this.minv=this.r.sub(this.minv)}inherits(Mont,Red);Mont.prototype.convertTo=function convertTo(e){return this.imod(e.ushln(this.shift))};Mont.prototype.convertFrom=function convertFrom(e){var t=this.imod(e.mul(this.rinv));t.red=null;return t};Mont.prototype.imul=function imul(e,t){if(e.isZero()||t.isZero()){e.words[0]=0;e.length=1;return e}var r=e.imul(t);var i=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m);var n=r.isub(i).iushrn(this.shift);var a=n;if(n.cmp(this.m)>=0){a=n.isub(this.m)}else if(n.cmpn(0)<0){a=n.iadd(this.m)}return a._forceRed(this)};Mont.prototype.mul=function mul(e,t){if(e.isZero()||t.isZero())return new BN(0)._forceRed(this);var r=e.mul(t);var i=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m);var n=r.isub(i).iushrn(this.shift);var a=n;if(n.cmp(this.m)>=0){a=n.isub(this.m)}else if(n.cmpn(0)<0){a=n.iadd(this.m)}return a._forceRed(this)};Mont.prototype.invm=function invm(e){var t=this.imod(e._invmp(this.m).mul(this.r2));return t._forceRed(this)}})(false||e,this)},1670:function(e,t,r){e=r.nmd(e);(function(e,t){\"use strict\";function assert(e,t){if(!e)throw new Error(t||\"Assertion failed\")}function inherits(e,t){e.super_=t;var TempCtor=function(){};TempCtor.prototype=t.prototype;e.prototype=new TempCtor;e.prototype.constructor=e}function BN(e,t,r){if(BN.isBN(e)){return e}this.negative=0;this.words=null;this.length=0;this.red=null;if(e!==null){if(t===\"le\"||t===\"be\"){r=t;t=10}this._init(e||0,t||10,r||\"be\")}}if(typeof e===\"object\"){e.exports=BN}else{t.BN=BN}BN.BN=BN;BN.wordSize=26;var i;try{i=r(4300).Buffer}catch(e){}BN.isBN=function isBN(e){if(e instanceof BN){return true}return e!==null&&typeof e===\"object\"&&e.constructor.wordSize===BN.wordSize&&Array.isArray(e.words)};BN.max=function max(e,t){if(e.cmp(t)>0)return e;return t};BN.min=function min(e,t){if(e.cmp(t)<0)return e;return t};BN.prototype._init=function init(e,t,r){if(typeof e===\"number\"){return this._initNumber(e,t,r)}if(typeof e===\"object\"){return this._initArray(e,t,r)}if(t===\"hex\"){t=16}assert(t===(t|0)&&t>=2&&t<=36);e=e.toString().replace(/\\s+/g,\"\");var i=0;if(e[0]===\"-\"){i++}if(t===16){this._parseHex(e,i)}else{this._parseBase(e,t,i)}if(e[0]===\"-\"){this.negative=1}this._strip();if(r!==\"le\")return;this._initArray(this.toArray(),t,r)};BN.prototype._initNumber=function _initNumber(e,t,r){if(e<0){this.negative=1;e=-e}if(e<67108864){this.words=[e&67108863];this.length=1}else if(e<4503599627370496){this.words=[e&67108863,e/67108864&67108863];this.length=2}else{assert(e<9007199254740992);this.words=[e&67108863,e/67108864&67108863,1];this.length=3}if(r!==\"le\")return;this._initArray(this.toArray(),t,r)};BN.prototype._initArray=function _initArray(e,t,r){assert(typeof e.length===\"number\");if(e.length<=0){this.words=[0];this.length=1;return this}this.length=Math.ceil(e.length/3);this.words=new Array(this.length);for(var i=0;i<this.length;i++){this.words[i]=0}var n,a;var s=0;if(r===\"be\"){for(i=e.length-1,n=0;i>=0;i-=3){a=e[i]|e[i-1]<<8|e[i-2]<<16;this.words[n]|=a<<s&67108863;this.words[n+1]=a>>>26-s&67108863;s+=24;if(s>=26){s-=26;n++}}}else if(r===\"le\"){for(i=0,n=0;i<e.length;i+=3){a=e[i]|e[i+1]<<8|e[i+2]<<16;this.words[n]|=a<<s&67108863;this.words[n+1]=a>>>26-s&67108863;s+=24;if(s>=26){s-=26;n++}}}return this._strip()};function parseHex(e,t,r){var i=0;var n=Math.min(e.length,r);var a=0;for(var s=t;s<n;s++){var o=e.charCodeAt(s)-48;i<<=4;var h;if(o>=49&&o<=54){h=o-49+10}else if(o>=17&&o<=22){h=o-17+10}else{h=o}i|=h;a|=h}assert(!(a&240),\"Invalid character in \"+e);return i}BN.prototype._parseHex=function _parseHex(e,t){this.length=Math.ceil((e.length-t)/6);this.words=new Array(this.length);for(var r=0;r<this.length;r++){this.words[r]=0}var i,n;var a=0;for(r=e.length-6,i=0;r>=t;r-=6){n=parseHex(e,r,r+6);this.words[i]|=n<<a&67108863;this.words[i+1]|=n>>>26-a&4194303;a+=24;if(a>=26){a-=26;i++}}if(r+6!==t){n=parseHex(e,t,r+6);this.words[i]|=n<<a&67108863;this.words[i+1]|=n>>>26-a&4194303}this._strip()};function parseBase(e,t,r,i){var n=0;var a=0;var s=Math.min(e.length,r);for(var o=t;o<s;o++){var h=e.charCodeAt(o)-48;n*=i;if(h>=49){a=h-49+10}else if(h>=17){a=h-17+10}else{a=h}assert(h>=0&&a<i,\"Invalid character\");n+=a}return n}BN.prototype._parseBase=function _parseBase(e,t,r){this.words=[0];this.length=1;for(var i=0,n=1;n<=67108863;n*=t){i++}i--;n=n/t|0;var a=e.length-r;var s=a%i;var o=Math.min(a,a-s)+r;var h=0;for(var u=r;u<o;u+=i){h=parseBase(e,u,u+i,t);this.imuln(n);if(this.words[0]+h<67108864){this.words[0]+=h}else{this._iaddn(h)}}if(s!==0){var d=1;h=parseBase(e,u,e.length,t);for(u=0;u<s;u++){d*=t}this.imuln(d);if(this.words[0]+h<67108864){this.words[0]+=h}else{this._iaddn(h)}}};BN.prototype.copy=function copy(e){e.words=new Array(this.length);for(var t=0;t<this.length;t++){e.words[t]=this.words[t]}e.length=this.length;e.negative=this.negative;e.red=this.red};function move(e,t){e.words=t.words;e.length=t.length;e.negative=t.negative;e.red=t.red}BN.prototype._move=function _move(e){move(e,this)};BN.prototype.clone=function clone(){var e=new BN(null);this.copy(e);return e};BN.prototype._expand=function _expand(e){while(this.length<e){this.words[this.length++]=0}return this};BN.prototype._strip=function strip(){while(this.length>1&&this.words[this.length-1]===0){this.length--}return this._normSign()};BN.prototype._normSign=function _normSign(){if(this.length===1&&this.words[0]===0){this.negative=0}return this};if(typeof Symbol!==\"undefined\"&&typeof Symbol.for===\"function\"){BN.prototype[Symbol.for(\"nodejs.util.inspect.custom\")]=inspect}else{BN.prototype.inspect=inspect}function inspect(){return(this.red?\"<BN-R: \":\"<BN: \")+this.toString(16)+\">\"}var n=[\"\",\"0\",\"00\",\"000\",\"0000\",\"00000\",\"000000\",\"0000000\",\"00000000\",\"000000000\",\"0000000000\",\"00000000000\",\"000000000000\",\"0000000000000\",\"00000000000000\",\"000000000000000\",\"0000000000000000\",\"00000000000000000\",\"000000000000000000\",\"0000000000000000000\",\"00000000000000000000\",\"000000000000000000000\",\"0000000000000000000000\",\"00000000000000000000000\",\"000000000000000000000000\",\"0000000000000000000000000\"];var a=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5];var s=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];BN.prototype.toString=function toString(e,t){e=e||10;t=t|0||1;var r;if(e===16||e===\"hex\"){r=\"\";var i=0;var o=0;for(var h=0;h<this.length;h++){var u=this.words[h];var d=((u<<i|o)&16777215).toString(16);o=u>>>24-i&16777215;if(o!==0||h!==this.length-1){r=n[6-d.length]+d+r}else{r=d+r}i+=2;if(i>=26){i-=26;h--}}if(o!==0){r=o.toString(16)+r}while(r.length%t!==0){r=\"0\"+r}if(this.negative!==0){r=\"-\"+r}return r}if(e===(e|0)&&e>=2&&e<=36){var c=a[e];var l=s[e];r=\"\";var p=this.clone();p.negative=0;while(!p.isZero()){var v=p.modrn(l).toString(e);p=p.idivn(l);if(!p.isZero()){r=n[c-v.length]+v+r}else{r=v+r}}if(this.isZero()){r=\"0\"+r}while(r.length%t!==0){r=\"0\"+r}if(this.negative!==0){r=\"-\"+r}return r}assert(false,\"Base should be between 2 and 36\")};BN.prototype.toNumber=function toNumber(){var e=this.words[0];if(this.length===2){e+=this.words[1]*67108864}else if(this.length===3&&this.words[2]===1){e+=4503599627370496+this.words[1]*67108864}else if(this.length>2){assert(false,\"Number can only safely store up to 53 bits\")}return this.negative!==0?-e:e};BN.prototype.toJSON=function toJSON(){return this.toString(16,2)};if(i){BN.prototype.toBuffer=function toBuffer(e,t){return this.toArrayLike(i,e,t)}}BN.prototype.toArray=function toArray(e,t){return this.toArrayLike(Array,e,t)};var o=function allocate(e,t){if(e.allocUnsafe){return e.allocUnsafe(t)}return new e(t)};BN.prototype.toArrayLike=function toArrayLike(e,t,r){this._strip();var i=this.byteLength();var n=r||Math.max(1,i);assert(i<=n,\"byte array longer than desired length\");assert(n>0,\"Requested array length <= 0\");var a=o(e,n);var s=t===\"le\"?\"LE\":\"BE\";this[\"_toArrayLike\"+s](a,i);return a};BN.prototype._toArrayLikeLE=function _toArrayLikeLE(e,t){var r=0;var i=0;for(var n=0,a=0;n<this.length;n++){var s=this.words[n]<<a|i;e[r++]=s&255;if(r<e.length){e[r++]=s>>8&255}if(r<e.length){e[r++]=s>>16&255}if(a===6){if(r<e.length){e[r++]=s>>24&255}i=0;a=0}else{i=s>>>24;a+=2}}if(r<e.length){e[r++]=i;while(r<e.length){e[r++]=0}}};BN.prototype._toArrayLikeBE=function _toArrayLikeBE(e,t){var r=e.length-1;var i=0;for(var n=0,a=0;n<this.length;n++){var s=this.words[n]<<a|i;e[r--]=s&255;if(r>=0){e[r--]=s>>8&255}if(r>=0){e[r--]=s>>16&255}if(a===6){if(r>=0){e[r--]=s>>24&255}i=0;a=0}else{i=s>>>24;a+=2}}if(r>=0){e[r--]=i;while(r>=0){e[r--]=0}}};if(Math.clz32){BN.prototype._countBits=function _countBits(e){return 32-Math.clz32(e)}}else{BN.prototype._countBits=function _countBits(e){var t=e;var r=0;if(t>=4096){r+=13;t>>>=13}if(t>=64){r+=7;t>>>=7}if(t>=8){r+=4;t>>>=4}if(t>=2){r+=2;t>>>=2}return r+t}}BN.prototype._zeroBits=function _zeroBits(e){if(e===0)return 26;var t=e;var r=0;if((t&8191)===0){r+=13;t>>>=13}if((t&127)===0){r+=7;t>>>=7}if((t&15)===0){r+=4;t>>>=4}if((t&3)===0){r+=2;t>>>=2}if((t&1)===0){r++}return r};BN.prototype.bitLength=function bitLength(){var e=this.words[this.length-1];var t=this._countBits(e);return(this.length-1)*26+t};function toBitArray(e){var t=new Array(e.bitLength());for(var r=0;r<t.length;r++){var i=r/26|0;var n=r%26;t[r]=e.words[i]>>>n&1}return t}BN.prototype.zeroBits=function zeroBits(){if(this.isZero())return 0;var e=0;for(var t=0;t<this.length;t++){var r=this._zeroBits(this.words[t]);e+=r;if(r!==26)break}return e};BN.prototype.byteLength=function byteLength(){return Math.ceil(this.bitLength()/8)};BN.prototype.toTwos=function toTwos(e){if(this.negative!==0){return this.abs().inotn(e).iaddn(1)}return this.clone()};BN.prototype.fromTwos=function fromTwos(e){if(this.testn(e-1)){return this.notn(e).iaddn(1).ineg()}return this.clone()};BN.prototype.isNeg=function isNeg(){return this.negative!==0};BN.prototype.neg=function neg(){return this.clone().ineg()};BN.prototype.ineg=function ineg(){if(!this.isZero()){this.negative^=1}return this};BN.prototype.iuor=function iuor(e){while(this.length<e.length){this.words[this.length++]=0}for(var t=0;t<e.length;t++){this.words[t]=this.words[t]|e.words[t]}return this._strip()};BN.prototype.ior=function ior(e){assert((this.negative|e.negative)===0);return this.iuor(e)};BN.prototype.or=function or(e){if(this.length>e.length)return this.clone().ior(e);return e.clone().ior(this)};BN.prototype.uor=function uor(e){if(this.length>e.length)return this.clone().iuor(e);return e.clone().iuor(this)};BN.prototype.iuand=function iuand(e){var t;if(this.length>e.length){t=e}else{t=this}for(var r=0;r<t.length;r++){this.words[r]=this.words[r]&e.words[r]}this.length=t.length;return this._strip()};BN.prototype.iand=function iand(e){assert((this.negative|e.negative)===0);return this.iuand(e)};BN.prototype.and=function and(e){if(this.length>e.length)return this.clone().iand(e);return e.clone().iand(this)};BN.prototype.uand=function uand(e){if(this.length>e.length)return this.clone().iuand(e);return e.clone().iuand(this)};BN.prototype.iuxor=function iuxor(e){var t;var r;if(this.length>e.length){t=this;r=e}else{t=e;r=this}for(var i=0;i<r.length;i++){this.words[i]=t.words[i]^r.words[i]}if(this!==t){for(;i<t.length;i++){this.words[i]=t.words[i]}}this.length=t.length;return this._strip()};BN.prototype.ixor=function ixor(e){assert((this.negative|e.negative)===0);return this.iuxor(e)};BN.prototype.xor=function xor(e){if(this.length>e.length)return this.clone().ixor(e);return e.clone().ixor(this)};BN.prototype.uxor=function uxor(e){if(this.length>e.length)return this.clone().iuxor(e);return e.clone().iuxor(this)};BN.prototype.inotn=function inotn(e){assert(typeof e===\"number\"&&e>=0);var t=Math.ceil(e/26)|0;var r=e%26;this._expand(t);if(r>0){t--}for(var i=0;i<t;i++){this.words[i]=~this.words[i]&67108863}if(r>0){this.words[i]=~this.words[i]&67108863>>26-r}return this._strip()};BN.prototype.notn=function notn(e){return this.clone().inotn(e)};BN.prototype.setn=function setn(e,t){assert(typeof e===\"number\"&&e>=0);var r=e/26|0;var i=e%26;this._expand(r+1);if(t){this.words[r]=this.words[r]|1<<i}else{this.words[r]=this.words[r]&~(1<<i)}return this._strip()};BN.prototype.iadd=function iadd(e){var t;if(this.negative!==0&&e.negative===0){this.negative=0;t=this.isub(e);this.negative^=1;return this._normSign()}else if(this.negative===0&&e.negative!==0){e.negative=0;t=this.isub(e);e.negative=1;return t._normSign()}var r,i;if(this.length>e.length){r=this;i=e}else{r=e;i=this}var n=0;for(var a=0;a<i.length;a++){t=(r.words[a]|0)+(i.words[a]|0)+n;this.words[a]=t&67108863;n=t>>>26}for(;n!==0&&a<r.length;a++){t=(r.words[a]|0)+n;this.words[a]=t&67108863;n=t>>>26}this.length=r.length;if(n!==0){this.words[this.length]=n;this.length++}else if(r!==this){for(;a<r.length;a++){this.words[a]=r.words[a]}}return this};BN.prototype.add=function add(e){var t;if(e.negative!==0&&this.negative===0){e.negative=0;t=this.sub(e);e.negative^=1;return t}else if(e.negative===0&&this.negative!==0){this.negative=0;t=e.sub(this);this.negative=1;return t}if(this.length>e.length)return this.clone().iadd(e);return e.clone().iadd(this)};BN.prototype.isub=function isub(e){if(e.negative!==0){e.negative=0;var t=this.iadd(e);e.negative=1;return t._normSign()}else if(this.negative!==0){this.negative=0;this.iadd(e);this.negative=1;return this._normSign()}var r=this.cmp(e);if(r===0){this.negative=0;this.length=1;this.words[0]=0;return this}var i,n;if(r>0){i=this;n=e}else{i=e;n=this}var a=0;for(var s=0;s<n.length;s++){t=(i.words[s]|0)-(n.words[s]|0)+a;a=t>>26;this.words[s]=t&67108863}for(;a!==0&&s<i.length;s++){t=(i.words[s]|0)+a;a=t>>26;this.words[s]=t&67108863}if(a===0&&s<i.length&&i!==this){for(;s<i.length;s++){this.words[s]=i.words[s]}}this.length=Math.max(this.length,s);if(i!==this){this.negative=1}return this._strip()};BN.prototype.sub=function sub(e){return this.clone().isub(e)};function smallMulTo(e,t,r){r.negative=t.negative^e.negative;var i=e.length+t.length|0;r.length=i;i=i-1|0;var n=e.words[0]|0;var a=t.words[0]|0;var s=n*a;var o=s&67108863;var h=s/67108864|0;r.words[0]=o;for(var u=1;u<i;u++){var d=h>>>26;var c=h&67108863;var l=Math.min(u,t.length-1);for(var p=Math.max(0,u-e.length+1);p<=l;p++){var v=u-p|0;n=e.words[v]|0;a=t.words[p]|0;s=n*a+c;d+=s/67108864|0;c=s&67108863}r.words[u]=c|0;h=d|0}if(h!==0){r.words[u]=h|0}else{r.length--}return r._strip()}var h=function comb10MulTo(e,t,r){var i=e.words;var n=t.words;var a=r.words;var s=0;var o;var h;var u;var d=i[0]|0;var c=d&8191;var l=d>>>13;var p=i[1]|0;var v=p&8191;var b=p>>>13;var m=i[2]|0;var y=m&8191;var g=m>>>13;var _=i[3]|0;var w=_&8191;var M=_>>>13;var B=i[4]|0;var E=B&8191;var k=B>>>13;var A=i[5]|0;var N=A&8191;var P=A>>>13;var x=i[6]|0;var I=x&8191;var C=x>>>13;var D=i[7]|0;var T=D&8191;var j=D>>>13;var q=i[8]|0;var O=q&8191;var H=q>>>13;var L=i[9]|0;var z=L&8191;var F=L>>>13;var U=n[0]|0;var W=U&8191;var V=U>>>13;var G=n[1]|0;var J=G&8191;var Z=G>>>13;var X=n[2]|0;var Y=X&8191;var $=X>>>13;var Q=n[3]|0;var ee=Q&8191;var te=Q>>>13;var re=n[4]|0;var ie=re&8191;var ne=re>>>13;var ae=n[5]|0;var fe=ae&8191;var se=ae>>>13;var oe=n[6]|0;var he=oe&8191;var ue=oe>>>13;var de=n[7]|0;var ce=de&8191;var le=de>>>13;var pe=n[8]|0;var ve=pe&8191;var be=pe>>>13;var me=n[9]|0;var ye=me&8191;var ge=me>>>13;r.negative=e.negative^t.negative;r.length=19;o=Math.imul(c,W);h=Math.imul(c,V);h=h+Math.imul(l,W)|0;u=Math.imul(l,V);var _e=(s+o|0)+((h&8191)<<13)|0;s=(u+(h>>>13)|0)+(_e>>>26)|0;_e&=67108863;o=Math.imul(v,W);h=Math.imul(v,V);h=h+Math.imul(b,W)|0;u=Math.imul(b,V);o=o+Math.imul(c,J)|0;h=h+Math.imul(c,Z)|0;h=h+Math.imul(l,J)|0;u=u+Math.imul(l,Z)|0;var we=(s+o|0)+((h&8191)<<13)|0;s=(u+(h>>>13)|0)+(we>>>26)|0;we&=67108863;o=Math.imul(y,W);h=Math.imul(y,V);h=h+Math.imul(g,W)|0;u=Math.imul(g,V);o=o+Math.imul(v,J)|0;h=h+Math.imul(v,Z)|0;h=h+Math.imul(b,J)|0;u=u+Math.imul(b,Z)|0;o=o+Math.imul(c,Y)|0;h=h+Math.imul(c,$)|0;h=h+Math.imul(l,Y)|0;u=u+Math.imul(l,$)|0;var Me=(s+o|0)+((h&8191)<<13)|0;s=(u+(h>>>13)|0)+(Me>>>26)|0;Me&=67108863;o=Math.imul(w,W);h=Math.imul(w,V);h=h+Math.imul(M,W)|0;u=Math.imul(M,V);o=o+Math.imul(y,J)|0;h=h+Math.imul(y,Z)|0;h=h+Math.imul(g,J)|0;u=u+Math.imul(g,Z)|0;o=o+Math.imul(v,Y)|0;h=h+Math.imul(v,$)|0;h=h+Math.imul(b,Y)|0;u=u+Math.imul(b,$)|0;o=o+Math.imul(c,ee)|0;h=h+Math.imul(c,te)|0;h=h+Math.imul(l,ee)|0;u=u+Math.imul(l,te)|0;var Se=(s+o|0)+((h&8191)<<13)|0;s=(u+(h>>>13)|0)+(Se>>>26)|0;Se&=67108863;o=Math.imul(E,W);h=Math.imul(E,V);h=h+Math.imul(k,W)|0;u=Math.imul(k,V);o=o+Math.imul(w,J)|0;h=h+Math.imul(w,Z)|0;h=h+Math.imul(M,J)|0;u=u+Math.imul(M,Z)|0;o=o+Math.imul(y,Y)|0;h=h+Math.imul(y,$)|0;h=h+Math.imul(g,Y)|0;u=u+Math.imul(g,$)|0;o=o+Math.imul(v,ee)|0;h=h+Math.imul(v,te)|0;h=h+Math.imul(b,ee)|0;u=u+Math.imul(b,te)|0;o=o+Math.imul(c,ie)|0;h=h+Math.imul(c,ne)|0;h=h+Math.imul(l,ie)|0;u=u+Math.imul(l,ne)|0;var Be=(s+o|0)+((h&8191)<<13)|0;s=(u+(h>>>13)|0)+(Be>>>26)|0;Be&=67108863;o=Math.imul(N,W);h=Math.imul(N,V);h=h+Math.imul(P,W)|0;u=Math.imul(P,V);o=o+Math.imul(E,J)|0;h=h+Math.imul(E,Z)|0;h=h+Math.imul(k,J)|0;u=u+Math.imul(k,Z)|0;o=o+Math.imul(w,Y)|0;h=h+Math.imul(w,$)|0;h=h+Math.imul(M,Y)|0;u=u+Math.imul(M,$)|0;o=o+Math.imul(y,ee)|0;h=h+Math.imul(y,te)|0;h=h+Math.imul(g,ee)|0;u=u+Math.imul(g,te)|0;o=o+Math.imul(v,ie)|0;h=h+Math.imul(v,ne)|0;h=h+Math.imul(b,ie)|0;u=u+Math.imul(b,ne)|0;o=o+Math.imul(c,fe)|0;h=h+Math.imul(c,se)|0;h=h+Math.imul(l,fe)|0;u=u+Math.imul(l,se)|0;var Ee=(s+o|0)+((h&8191)<<13)|0;s=(u+(h>>>13)|0)+(Ee>>>26)|0;Ee&=67108863;o=Math.imul(I,W);h=Math.imul(I,V);h=h+Math.imul(C,W)|0;u=Math.imul(C,V);o=o+Math.imul(N,J)|0;h=h+Math.imul(N,Z)|0;h=h+Math.imul(P,J)|0;u=u+Math.imul(P,Z)|0;o=o+Math.imul(E,Y)|0;h=h+Math.imul(E,$)|0;h=h+Math.imul(k,Y)|0;u=u+Math.imul(k,$)|0;o=o+Math.imul(w,ee)|0;h=h+Math.imul(w,te)|0;h=h+Math.imul(M,ee)|0;u=u+Math.imul(M,te)|0;o=o+Math.imul(y,ie)|0;h=h+Math.imul(y,ne)|0;h=h+Math.imul(g,ie)|0;u=u+Math.imul(g,ne)|0;o=o+Math.imul(v,fe)|0;h=h+Math.imul(v,se)|0;h=h+Math.imul(b,fe)|0;u=u+Math.imul(b,se)|0;o=o+Math.imul(c,he)|0;h=h+Math.imul(c,ue)|0;h=h+Math.imul(l,he)|0;u=u+Math.imul(l,ue)|0;var ke=(s+o|0)+((h&8191)<<13)|0;s=(u+(h>>>13)|0)+(ke>>>26)|0;ke&=67108863;o=Math.imul(T,W);h=Math.imul(T,V);h=h+Math.imul(j,W)|0;u=Math.imul(j,V);o=o+Math.imul(I,J)|0;h=h+Math.imul(I,Z)|0;h=h+Math.imul(C,J)|0;u=u+Math.imul(C,Z)|0;o=o+Math.imul(N,Y)|0;h=h+Math.imul(N,$)|0;h=h+Math.imul(P,Y)|0;u=u+Math.imul(P,$)|0;o=o+Math.imul(E,ee)|0;h=h+Math.imul(E,te)|0;h=h+Math.imul(k,ee)|0;u=u+Math.imul(k,te)|0;o=o+Math.imul(w,ie)|0;h=h+Math.imul(w,ne)|0;h=h+Math.imul(M,ie)|0;u=u+Math.imul(M,ne)|0;o=o+Math.imul(y,fe)|0;h=h+Math.imul(y,se)|0;h=h+Math.imul(g,fe)|0;u=u+Math.imul(g,se)|0;o=o+Math.imul(v,he)|0;h=h+Math.imul(v,ue)|0;h=h+Math.imul(b,he)|0;u=u+Math.imul(b,ue)|0;o=o+Math.imul(c,ce)|0;h=h+Math.imul(c,le)|0;h=h+Math.imul(l,ce)|0;u=u+Math.imul(l,le)|0;var Ae=(s+o|0)+((h&8191)<<13)|0;s=(u+(h>>>13)|0)+(Ae>>>26)|0;Ae&=67108863;o=Math.imul(O,W);h=Math.imul(O,V);h=h+Math.imul(H,W)|0;u=Math.imul(H,V);o=o+Math.imul(T,J)|0;h=h+Math.imul(T,Z)|0;h=h+Math.imul(j,J)|0;u=u+Math.imul(j,Z)|0;o=o+Math.imul(I,Y)|0;h=h+Math.imul(I,$)|0;h=h+Math.imul(C,Y)|0;u=u+Math.imul(C,$)|0;o=o+Math.imul(N,ee)|0;h=h+Math.imul(N,te)|0;h=h+Math.imul(P,ee)|0;u=u+Math.imul(P,te)|0;o=o+Math.imul(E,ie)|0;h=h+Math.imul(E,ne)|0;h=h+Math.imul(k,ie)|0;u=u+Math.imul(k,ne)|0;o=o+Math.imul(w,fe)|0;h=h+Math.imul(w,se)|0;h=h+Math.imul(M,fe)|0;u=u+Math.imul(M,se)|0;o=o+Math.imul(y,he)|0;h=h+Math.imul(y,ue)|0;h=h+Math.imul(g,he)|0;u=u+Math.imul(g,ue)|0;o=o+Math.imul(v,ce)|0;h=h+Math.imul(v,le)|0;h=h+Math.imul(b,ce)|0;u=u+Math.imul(b,le)|0;o=o+Math.imul(c,ve)|0;h=h+Math.imul(c,be)|0;h=h+Math.imul(l,ve)|0;u=u+Math.imul(l,be)|0;var Ne=(s+o|0)+((h&8191)<<13)|0;s=(u+(h>>>13)|0)+(Ne>>>26)|0;Ne&=67108863;o=Math.imul(z,W);h=Math.imul(z,V);h=h+Math.imul(F,W)|0;u=Math.imul(F,V);o=o+Math.imul(O,J)|0;h=h+Math.imul(O,Z)|0;h=h+Math.imul(H,J)|0;u=u+Math.imul(H,Z)|0;o=o+Math.imul(T,Y)|0;h=h+Math.imul(T,$)|0;h=h+Math.imul(j,Y)|0;u=u+Math.imul(j,$)|0;o=o+Math.imul(I,ee)|0;h=h+Math.imul(I,te)|0;h=h+Math.imul(C,ee)|0;u=u+Math.imul(C,te)|0;o=o+Math.imul(N,ie)|0;h=h+Math.imul(N,ne)|0;h=h+Math.imul(P,ie)|0;u=u+Math.imul(P,ne)|0;o=o+Math.imul(E,fe)|0;h=h+Math.imul(E,se)|0;h=h+Math.imul(k,fe)|0;u=u+Math.imul(k,se)|0;o=o+Math.imul(w,he)|0;h=h+Math.imul(w,ue)|0;h=h+Math.imul(M,he)|0;u=u+Math.imul(M,ue)|0;o=o+Math.imul(y,ce)|0;h=h+Math.imul(y,le)|0;h=h+Math.imul(g,ce)|0;u=u+Math.imul(g,le)|0;o=o+Math.imul(v,ve)|0;h=h+Math.imul(v,be)|0;h=h+Math.imul(b,ve)|0;u=u+Math.imul(b,be)|0;o=o+Math.imul(c,ye)|0;h=h+Math.imul(c,ge)|0;h=h+Math.imul(l,ye)|0;u=u+Math.imul(l,ge)|0;var Re=(s+o|0)+((h&8191)<<13)|0;s=(u+(h>>>13)|0)+(Re>>>26)|0;Re&=67108863;o=Math.imul(z,J);h=Math.imul(z,Z);h=h+Math.imul(F,J)|0;u=Math.imul(F,Z);o=o+Math.imul(O,Y)|0;h=h+Math.imul(O,$)|0;h=h+Math.imul(H,Y)|0;u=u+Math.imul(H,$)|0;o=o+Math.imul(T,ee)|0;h=h+Math.imul(T,te)|0;h=h+Math.imul(j,ee)|0;u=u+Math.imul(j,te)|0;o=o+Math.imul(I,ie)|0;h=h+Math.imul(I,ne)|0;h=h+Math.imul(C,ie)|0;u=u+Math.imul(C,ne)|0;o=o+Math.imul(N,fe)|0;h=h+Math.imul(N,se)|0;h=h+Math.imul(P,fe)|0;u=u+Math.imul(P,se)|0;o=o+Math.imul(E,he)|0;h=h+Math.imul(E,ue)|0;h=h+Math.imul(k,he)|0;u=u+Math.imul(k,ue)|0;o=o+Math.imul(w,ce)|0;h=h+Math.imul(w,le)|0;h=h+Math.imul(M,ce)|0;u=u+Math.imul(M,le)|0;o=o+Math.imul(y,ve)|0;h=h+Math.imul(y,be)|0;h=h+Math.imul(g,ve)|0;u=u+Math.imul(g,be)|0;o=o+Math.imul(v,ye)|0;h=h+Math.imul(v,ge)|0;h=h+Math.imul(b,ye)|0;u=u+Math.imul(b,ge)|0;var Pe=(s+o|0)+((h&8191)<<13)|0;s=(u+(h>>>13)|0)+(Pe>>>26)|0;Pe&=67108863;o=Math.imul(z,Y);h=Math.imul(z,$);h=h+Math.imul(F,Y)|0;u=Math.imul(F,$);o=o+Math.imul(O,ee)|0;h=h+Math.imul(O,te)|0;h=h+Math.imul(H,ee)|0;u=u+Math.imul(H,te)|0;o=o+Math.imul(T,ie)|0;h=h+Math.imul(T,ne)|0;h=h+Math.imul(j,ie)|0;u=u+Math.imul(j,ne)|0;o=o+Math.imul(I,fe)|0;h=h+Math.imul(I,se)|0;h=h+Math.imul(C,fe)|0;u=u+Math.imul(C,se)|0;o=o+Math.imul(N,he)|0;h=h+Math.imul(N,ue)|0;h=h+Math.imul(P,he)|0;u=u+Math.imul(P,ue)|0;o=o+Math.imul(E,ce)|0;h=h+Math.imul(E,le)|0;h=h+Math.imul(k,ce)|0;u=u+Math.imul(k,le)|0;o=o+Math.imul(w,ve)|0;h=h+Math.imul(w,be)|0;h=h+Math.imul(M,ve)|0;u=u+Math.imul(M,be)|0;o=o+Math.imul(y,ye)|0;h=h+Math.imul(y,ge)|0;h=h+Math.imul(g,ye)|0;u=u+Math.imul(g,ge)|0;var xe=(s+o|0)+((h&8191)<<13)|0;s=(u+(h>>>13)|0)+(xe>>>26)|0;xe&=67108863;o=Math.imul(z,ee);h=Math.imul(z,te);h=h+Math.imul(F,ee)|0;u=Math.imul(F,te);o=o+Math.imul(O,ie)|0;h=h+Math.imul(O,ne)|0;h=h+Math.imul(H,ie)|0;u=u+Math.imul(H,ne)|0;o=o+Math.imul(T,fe)|0;h=h+Math.imul(T,se)|0;h=h+Math.imul(j,fe)|0;u=u+Math.imul(j,se)|0;o=o+Math.imul(I,he)|0;h=h+Math.imul(I,ue)|0;h=h+Math.imul(C,he)|0;u=u+Math.imul(C,ue)|0;o=o+Math.imul(N,ce)|0;h=h+Math.imul(N,le)|0;h=h+Math.imul(P,ce)|0;u=u+Math.imul(P,le)|0;o=o+Math.imul(E,ve)|0;h=h+Math.imul(E,be)|0;h=h+Math.imul(k,ve)|0;u=u+Math.imul(k,be)|0;o=o+Math.imul(w,ye)|0;h=h+Math.imul(w,ge)|0;h=h+Math.imul(M,ye)|0;u=u+Math.imul(M,ge)|0;var Ie=(s+o|0)+((h&8191)<<13)|0;s=(u+(h>>>13)|0)+(Ie>>>26)|0;Ie&=67108863;o=Math.imul(z,ie);h=Math.imul(z,ne);h=h+Math.imul(F,ie)|0;u=Math.imul(F,ne);o=o+Math.imul(O,fe)|0;h=h+Math.imul(O,se)|0;h=h+Math.imul(H,fe)|0;u=u+Math.imul(H,se)|0;o=o+Math.imul(T,he)|0;h=h+Math.imul(T,ue)|0;h=h+Math.imul(j,he)|0;u=u+Math.imul(j,ue)|0;o=o+Math.imul(I,ce)|0;h=h+Math.imul(I,le)|0;h=h+Math.imul(C,ce)|0;u=u+Math.imul(C,le)|0;o=o+Math.imul(N,ve)|0;h=h+Math.imul(N,be)|0;h=h+Math.imul(P,ve)|0;u=u+Math.imul(P,be)|0;o=o+Math.imul(E,ye)|0;h=h+Math.imul(E,ge)|0;h=h+Math.imul(k,ye)|0;u=u+Math.imul(k,ge)|0;var Ce=(s+o|0)+((h&8191)<<13)|0;s=(u+(h>>>13)|0)+(Ce>>>26)|0;Ce&=67108863;o=Math.imul(z,fe);h=Math.imul(z,se);h=h+Math.imul(F,fe)|0;u=Math.imul(F,se);o=o+Math.imul(O,he)|0;h=h+Math.imul(O,ue)|0;h=h+Math.imul(H,he)|0;u=u+Math.imul(H,ue)|0;o=o+Math.imul(T,ce)|0;h=h+Math.imul(T,le)|0;h=h+Math.imul(j,ce)|0;u=u+Math.imul(j,le)|0;o=o+Math.imul(I,ve)|0;h=h+Math.imul(I,be)|0;h=h+Math.imul(C,ve)|0;u=u+Math.imul(C,be)|0;o=o+Math.imul(N,ye)|0;h=h+Math.imul(N,ge)|0;h=h+Math.imul(P,ye)|0;u=u+Math.imul(P,ge)|0;var De=(s+o|0)+((h&8191)<<13)|0;s=(u+(h>>>13)|0)+(De>>>26)|0;De&=67108863;o=Math.imul(z,he);h=Math.imul(z,ue);h=h+Math.imul(F,he)|0;u=Math.imul(F,ue);o=o+Math.imul(O,ce)|0;h=h+Math.imul(O,le)|0;h=h+Math.imul(H,ce)|0;u=u+Math.imul(H,le)|0;o=o+Math.imul(T,ve)|0;h=h+Math.imul(T,be)|0;h=h+Math.imul(j,ve)|0;u=u+Math.imul(j,be)|0;o=o+Math.imul(I,ye)|0;h=h+Math.imul(I,ge)|0;h=h+Math.imul(C,ye)|0;u=u+Math.imul(C,ge)|0;var Te=(s+o|0)+((h&8191)<<13)|0;s=(u+(h>>>13)|0)+(Te>>>26)|0;Te&=67108863;o=Math.imul(z,ce);h=Math.imul(z,le);h=h+Math.imul(F,ce)|0;u=Math.imul(F,le);o=o+Math.imul(O,ve)|0;h=h+Math.imul(O,be)|0;h=h+Math.imul(H,ve)|0;u=u+Math.imul(H,be)|0;o=o+Math.imul(T,ye)|0;h=h+Math.imul(T,ge)|0;h=h+Math.imul(j,ye)|0;u=u+Math.imul(j,ge)|0;var je=(s+o|0)+((h&8191)<<13)|0;s=(u+(h>>>13)|0)+(je>>>26)|0;je&=67108863;o=Math.imul(z,ve);h=Math.imul(z,be);h=h+Math.imul(F,ve)|0;u=Math.imul(F,be);o=o+Math.imul(O,ye)|0;h=h+Math.imul(O,ge)|0;h=h+Math.imul(H,ye)|0;u=u+Math.imul(H,ge)|0;var qe=(s+o|0)+((h&8191)<<13)|0;s=(u+(h>>>13)|0)+(qe>>>26)|0;qe&=67108863;o=Math.imul(z,ye);h=Math.imul(z,ge);h=h+Math.imul(F,ye)|0;u=Math.imul(F,ge);var Oe=(s+o|0)+((h&8191)<<13)|0;s=(u+(h>>>13)|0)+(Oe>>>26)|0;Oe&=67108863;a[0]=_e;a[1]=we;a[2]=Me;a[3]=Se;a[4]=Be;a[5]=Ee;a[6]=ke;a[7]=Ae;a[8]=Ne;a[9]=Re;a[10]=Pe;a[11]=xe;a[12]=Ie;a[13]=Ce;a[14]=De;a[15]=Te;a[16]=je;a[17]=qe;a[18]=Oe;if(s!==0){a[19]=s;r.length++}return r};if(!Math.imul){h=smallMulTo}function bigMulTo(e,t,r){r.negative=t.negative^e.negative;r.length=e.length+t.length;var i=0;var n=0;for(var a=0;a<r.length-1;a++){var s=n;n=0;var o=i&67108863;var h=Math.min(a,t.length-1);for(var u=Math.max(0,a-e.length+1);u<=h;u++){var d=a-u;var c=e.words[d]|0;var l=t.words[u]|0;var p=c*l;var v=p&67108863;s=s+(p/67108864|0)|0;v=v+o|0;o=v&67108863;s=s+(v>>>26)|0;n+=s>>>26;s&=67108863}r.words[a]=o;i=s;s=n}if(i!==0){r.words[a]=i}else{r.length--}return r._strip()}function jumboMulTo(e,t,r){return bigMulTo(e,t,r)}BN.prototype.mulTo=function mulTo(e,t){var r;var i=this.length+e.length;if(this.length===10&&e.length===10){r=h(this,e,t)}else if(i<63){r=smallMulTo(this,e,t)}else if(i<1024){r=bigMulTo(this,e,t)}else{r=jumboMulTo(this,e,t)}return r};function FFTM(e,t){this.x=e;this.y=t}FFTM.prototype.makeRBT=function makeRBT(e){var t=new Array(e);var r=BN.prototype._countBits(e)-1;for(var i=0;i<e;i++){t[i]=this.revBin(i,r,e)}return t};FFTM.prototype.revBin=function revBin(e,t,r){if(e===0||e===r-1)return e;var i=0;for(var n=0;n<t;n++){i|=(e&1)<<t-n-1;e>>=1}return i};FFTM.prototype.permute=function permute(e,t,r,i,n,a){for(var s=0;s<a;s++){i[s]=t[e[s]];n[s]=r[e[s]]}};FFTM.prototype.transform=function transform(e,t,r,i,n,a){this.permute(a,e,t,r,i,n);for(var s=1;s<n;s<<=1){var o=s<<1;var h=Math.cos(2*Math.PI/o);var u=Math.sin(2*Math.PI/o);for(var d=0;d<n;d+=o){var c=h;var l=u;for(var p=0;p<s;p++){var v=r[d+p];var b=i[d+p];var m=r[d+p+s];var y=i[d+p+s];var g=c*m-l*y;y=c*y+l*m;m=g;r[d+p]=v+m;i[d+p]=b+y;r[d+p+s]=v-m;i[d+p+s]=b-y;if(p!==o){g=h*c-u*l;l=h*l+u*c;c=g}}}}};FFTM.prototype.guessLen13b=function guessLen13b(e,t){var r=Math.max(t,e)|1;var i=r&1;var n=0;for(r=r/2|0;r;r=r>>>1){n++}return 1<<n+1+i};FFTM.prototype.conjugate=function conjugate(e,t,r){if(r<=1)return;for(var i=0;i<r/2;i++){var n=e[i];e[i]=e[r-i-1];e[r-i-1]=n;n=t[i];t[i]=-t[r-i-1];t[r-i-1]=-n}};FFTM.prototype.normalize13b=function normalize13b(e,t){var r=0;for(var i=0;i<t/2;i++){var n=Math.round(e[2*i+1]/t)*8192+Math.round(e[2*i]/t)+r;e[i]=n&67108863;if(n<67108864){r=0}else{r=n/67108864|0}}return e};FFTM.prototype.convert13b=function convert13b(e,t,r,i){var n=0;for(var a=0;a<t;a++){n=n+(e[a]|0);r[2*a]=n&8191;n=n>>>13;r[2*a+1]=n&8191;n=n>>>13}for(a=2*t;a<i;++a){r[a]=0}assert(n===0);assert((n&~8191)===0)};FFTM.prototype.stub=function stub(e){var t=new Array(e);for(var r=0;r<e;r++){t[r]=0}return t};FFTM.prototype.mulp=function mulp(e,t,r){var i=2*this.guessLen13b(e.length,t.length);var n=this.makeRBT(i);var a=this.stub(i);var s=new Array(i);var o=new Array(i);var h=new Array(i);var u=new Array(i);var d=new Array(i);var c=new Array(i);var l=r.words;l.length=i;this.convert13b(e.words,e.length,s,i);this.convert13b(t.words,t.length,u,i);this.transform(s,a,o,h,i,n);this.transform(u,a,d,c,i,n);for(var p=0;p<i;p++){var v=o[p]*d[p]-h[p]*c[p];h[p]=o[p]*c[p]+h[p]*d[p];o[p]=v}this.conjugate(o,h,i);this.transform(o,h,l,a,i,n);this.conjugate(l,a,i);this.normalize13b(l,i);r.negative=e.negative^t.negative;r.length=e.length+t.length;return r._strip()};BN.prototype.mul=function mul(e){var t=new BN(null);t.words=new Array(this.length+e.length);return this.mulTo(e,t)};BN.prototype.mulf=function mulf(e){var t=new BN(null);t.words=new Array(this.length+e.length);return jumboMulTo(this,e,t)};BN.prototype.imul=function imul(e){return this.clone().mulTo(e,this)};BN.prototype.imuln=function imuln(e){var t=e<0;if(t)e=-e;assert(typeof e===\"number\");assert(e<67108864);var r=0;for(var i=0;i<this.length;i++){var n=(this.words[i]|0)*e;var a=(n&67108863)+(r&67108863);r>>=26;r+=n/67108864|0;r+=a>>>26;this.words[i]=a&67108863}if(r!==0){this.words[i]=r;this.length++}return t?this.ineg():this};BN.prototype.muln=function muln(e){return this.clone().imuln(e)};BN.prototype.sqr=function sqr(){return this.mul(this)};BN.prototype.isqr=function isqr(){return this.imul(this.clone())};BN.prototype.pow=function pow(e){var t=toBitArray(e);if(t.length===0)return new BN(1);var r=this;for(var i=0;i<t.length;i++,r=r.sqr()){if(t[i]!==0)break}if(++i<t.length){for(var n=r.sqr();i<t.length;i++,n=n.sqr()){if(t[i]===0)continue;r=r.mul(n)}}return r};BN.prototype.iushln=function iushln(e){assert(typeof e===\"number\"&&e>=0);var t=e%26;var r=(e-t)/26;var i=67108863>>>26-t<<26-t;var n;if(t!==0){var a=0;for(n=0;n<this.length;n++){var s=this.words[n]&i;var o=(this.words[n]|0)-s<<t;this.words[n]=o|a;a=s>>>26-t}if(a){this.words[n]=a;this.length++}}if(r!==0){for(n=this.length-1;n>=0;n--){this.words[n+r]=this.words[n]}for(n=0;n<r;n++){this.words[n]=0}this.length+=r}return this._strip()};BN.prototype.ishln=function ishln(e){assert(this.negative===0);return this.iushln(e)};BN.prototype.iushrn=function iushrn(e,t,r){assert(typeof e===\"number\"&&e>=0);var i;if(t){i=(t-t%26)/26}else{i=0}var n=e%26;var a=Math.min((e-n)/26,this.length);var s=67108863^67108863>>>n<<n;var o=r;i-=a;i=Math.max(0,i);if(o){for(var h=0;h<a;h++){o.words[h]=this.words[h]}o.length=a}if(a===0){}else if(this.length>a){this.length-=a;for(h=0;h<this.length;h++){this.words[h]=this.words[h+a]}}else{this.words[0]=0;this.length=1}var u=0;for(h=this.length-1;h>=0&&(u!==0||h>=i);h--){var d=this.words[h]|0;this.words[h]=u<<26-n|d>>>n;u=d&s}if(o&&u!==0){o.words[o.length++]=u}if(this.length===0){this.words[0]=0;this.length=1}return this._strip()};BN.prototype.ishrn=function ishrn(e,t,r){assert(this.negative===0);return this.iushrn(e,t,r)};BN.prototype.shln=function shln(e){return this.clone().ishln(e)};BN.prototype.ushln=function ushln(e){return this.clone().iushln(e)};BN.prototype.shrn=function shrn(e){return this.clone().ishrn(e)};BN.prototype.ushrn=function ushrn(e){return this.clone().iushrn(e)};BN.prototype.testn=function testn(e){assert(typeof e===\"number\"&&e>=0);var t=e%26;var r=(e-t)/26;var i=1<<t;if(this.length<=r)return false;var n=this.words[r];return!!(n&i)};BN.prototype.imaskn=function imaskn(e){assert(typeof e===\"number\"&&e>=0);var t=e%26;var r=(e-t)/26;assert(this.negative===0,\"imaskn works only with positive numbers\");if(this.length<=r){return this}if(t!==0){r++}this.length=Math.min(r,this.length);if(t!==0){var i=67108863^67108863>>>t<<t;this.words[this.length-1]&=i}return this._strip()};BN.prototype.maskn=function maskn(e){return this.clone().imaskn(e)};BN.prototype.iaddn=function iaddn(e){assert(typeof e===\"number\");assert(e<67108864);if(e<0)return this.isubn(-e);if(this.negative!==0){if(this.length===1&&(this.words[0]|0)<=e){this.words[0]=e-(this.words[0]|0);this.negative=0;return this}this.negative=0;this.isubn(e);this.negative=1;return this}return this._iaddn(e)};BN.prototype._iaddn=function _iaddn(e){this.words[0]+=e;for(var t=0;t<this.length&&this.words[t]>=67108864;t++){this.words[t]-=67108864;if(t===this.length-1){this.words[t+1]=1}else{this.words[t+1]++}}this.length=Math.max(this.length,t+1);return this};BN.prototype.isubn=function isubn(e){assert(typeof e===\"number\");assert(e<67108864);if(e<0)return this.iaddn(-e);if(this.negative!==0){this.negative=0;this.iaddn(e);this.negative=1;return this}this.words[0]-=e;if(this.length===1&&this.words[0]<0){this.words[0]=-this.words[0];this.negative=1}else{for(var t=0;t<this.length&&this.words[t]<0;t++){this.words[t]+=67108864;this.words[t+1]-=1}}return this._strip()};BN.prototype.addn=function addn(e){return this.clone().iaddn(e)};BN.prototype.subn=function subn(e){return this.clone().isubn(e)};BN.prototype.iabs=function iabs(){this.negative=0;return this};BN.prototype.abs=function abs(){return this.clone().iabs()};BN.prototype._ishlnsubmul=function _ishlnsubmul(e,t,r){var i=e.length+r;var n;this._expand(i);var a;var s=0;for(n=0;n<e.length;n++){a=(this.words[n+r]|0)+s;var o=(e.words[n]|0)*t;a-=o&67108863;s=(a>>26)-(o/67108864|0);this.words[n+r]=a&67108863}for(;n<this.length-r;n++){a=(this.words[n+r]|0)+s;s=a>>26;this.words[n+r]=a&67108863}if(s===0)return this._strip();assert(s===-1);s=0;for(n=0;n<this.length;n++){a=-(this.words[n]|0)+s;s=a>>26;this.words[n]=a&67108863}this.negative=1;return this._strip()};BN.prototype._wordDiv=function _wordDiv(e,t){var r=this.length-e.length;var i=this.clone();var n=e;var a=n.words[n.length-1]|0;var s=this._countBits(a);r=26-s;if(r!==0){n=n.ushln(r);i.iushln(r);a=n.words[n.length-1]|0}var o=i.length-n.length;var h;if(t!==\"mod\"){h=new BN(null);h.length=o+1;h.words=new Array(h.length);for(var u=0;u<h.length;u++){h.words[u]=0}}var d=i.clone()._ishlnsubmul(n,1,o);if(d.negative===0){i=d;if(h){h.words[o]=1}}for(var c=o-1;c>=0;c--){var l=(i.words[n.length+c]|0)*67108864+(i.words[n.length+c-1]|0);l=Math.min(l/a|0,67108863);i._ishlnsubmul(n,l,c);while(i.negative!==0){l--;i.negative=0;i._ishlnsubmul(n,1,c);if(!i.isZero()){i.negative^=1}}if(h){h.words[c]=l}}if(h){h._strip()}i._strip();if(t!==\"div\"&&r!==0){i.iushrn(r)}return{div:h||null,mod:i}};BN.prototype.divmod=function divmod(e,t,r){assert(!e.isZero());if(this.isZero()){return{div:new BN(0),mod:new BN(0)}}var i,n,a;if(this.negative!==0&&e.negative===0){a=this.neg().divmod(e,t);if(t!==\"mod\"){i=a.div.neg()}if(t!==\"div\"){n=a.mod.neg();if(r&&n.negative!==0){n.iadd(e)}}return{div:i,mod:n}}if(this.negative===0&&e.negative!==0){a=this.divmod(e.neg(),t);if(t!==\"mod\"){i=a.div.neg()}return{div:i,mod:a.mod}}if((this.negative&e.negative)!==0){a=this.neg().divmod(e.neg(),t);if(t!==\"div\"){n=a.mod.neg();if(r&&n.negative!==0){n.isub(e)}}return{div:a.div,mod:n}}if(e.length>this.length||this.cmp(e)<0){return{div:new BN(0),mod:this}}if(e.length===1){if(t===\"div\"){return{div:this.divn(e.words[0]),mod:null}}if(t===\"mod\"){return{div:null,mod:new BN(this.modrn(e.words[0]))}}return{div:this.divn(e.words[0]),mod:new BN(this.modrn(e.words[0]))}}return this._wordDiv(e,t)};BN.prototype.div=function div(e){return this.divmod(e,\"div\",false).div};BN.prototype.mod=function mod(e){return this.divmod(e,\"mod\",false).mod};BN.prototype.umod=function umod(e){return this.divmod(e,\"mod\",true).mod};BN.prototype.divRound=function divRound(e){var t=this.divmod(e);if(t.mod.isZero())return t.div;var r=t.div.negative!==0?t.mod.isub(e):t.mod;var i=e.ushrn(1);var n=e.andln(1);var a=r.cmp(i);if(a<0||n===1&&a===0)return t.div;return t.div.negative!==0?t.div.isubn(1):t.div.iaddn(1)};BN.prototype.modrn=function modrn(e){var t=e<0;if(t)e=-e;assert(e<=67108863);var r=(1<<26)%e;var i=0;for(var n=this.length-1;n>=0;n--){i=(r*i+(this.words[n]|0))%e}return t?-i:i};BN.prototype.modn=function modn(e){return this.modrn(e)};BN.prototype.idivn=function idivn(e){var t=e<0;if(t)e=-e;assert(e<=67108863);var r=0;for(var i=this.length-1;i>=0;i--){var n=(this.words[i]|0)+r*67108864;this.words[i]=n/e|0;r=n%e}this._strip();return t?this.ineg():this};BN.prototype.divn=function divn(e){return this.clone().idivn(e)};BN.prototype.egcd=function egcd(e){assert(e.negative===0);assert(!e.isZero());var t=this;var r=e.clone();if(t.negative!==0){t=t.umod(e)}else{t=t.clone()}var i=new BN(1);var n=new BN(0);var a=new BN(0);var s=new BN(1);var o=0;while(t.isEven()&&r.isEven()){t.iushrn(1);r.iushrn(1);++o}var h=r.clone();var u=t.clone();while(!t.isZero()){for(var d=0,c=1;(t.words[0]&c)===0&&d<26;++d,c<<=1);if(d>0){t.iushrn(d);while(d-- >0){if(i.isOdd()||n.isOdd()){i.iadd(h);n.isub(u)}i.iushrn(1);n.iushrn(1)}}for(var l=0,p=1;(r.words[0]&p)===0&&l<26;++l,p<<=1);if(l>0){r.iushrn(l);while(l-- >0){if(a.isOdd()||s.isOdd()){a.iadd(h);s.isub(u)}a.iushrn(1);s.iushrn(1)}}if(t.cmp(r)>=0){t.isub(r);i.isub(a);n.isub(s)}else{r.isub(t);a.isub(i);s.isub(n)}}return{a:a,b:s,gcd:r.iushln(o)}};BN.prototype._invmp=function _invmp(e){assert(e.negative===0);assert(!e.isZero());var t=this;var r=e.clone();if(t.negative!==0){t=t.umod(e)}else{t=t.clone()}var i=new BN(1);var n=new BN(0);var a=r.clone();while(t.cmpn(1)>0&&r.cmpn(1)>0){for(var s=0,o=1;(t.words[0]&o)===0&&s<26;++s,o<<=1);if(s>0){t.iushrn(s);while(s-- >0){if(i.isOdd()){i.iadd(a)}i.iushrn(1)}}for(var h=0,u=1;(r.words[0]&u)===0&&h<26;++h,u<<=1);if(h>0){r.iushrn(h);while(h-- >0){if(n.isOdd()){n.iadd(a)}n.iushrn(1)}}if(t.cmp(r)>=0){t.isub(r);i.isub(n)}else{r.isub(t);n.isub(i)}}var d;if(t.cmpn(1)===0){d=i}else{d=n}if(d.cmpn(0)<0){d.iadd(e)}return d};BN.prototype.gcd=function gcd(e){if(this.isZero())return e.abs();if(e.isZero())return this.abs();var t=this.clone();var r=e.clone();t.negative=0;r.negative=0;for(var i=0;t.isEven()&&r.isEven();i++){t.iushrn(1);r.iushrn(1)}do{while(t.isEven()){t.iushrn(1)}while(r.isEven()){r.iushrn(1)}var n=t.cmp(r);if(n<0){var a=t;t=r;r=a}else if(n===0||r.cmpn(1)===0){break}t.isub(r)}while(true);return r.iushln(i)};BN.prototype.invm=function invm(e){return this.egcd(e).a.umod(e)};BN.prototype.isEven=function isEven(){return(this.words[0]&1)===0};BN.prototype.isOdd=function isOdd(){return(this.words[0]&1)===1};BN.prototype.andln=function andln(e){return this.words[0]&e};BN.prototype.bincn=function bincn(e){assert(typeof e===\"number\");var t=e%26;var r=(e-t)/26;var i=1<<t;if(this.length<=r){this._expand(r+1);this.words[r]|=i;return this}var n=i;for(var a=r;n!==0&&a<this.length;a++){var s=this.words[a]|0;s+=n;n=s>>>26;s&=67108863;this.words[a]=s}if(n!==0){this.words[a]=n;this.length++}return this};BN.prototype.isZero=function isZero(){return this.length===1&&this.words[0]===0};BN.prototype.cmpn=function cmpn(e){var t=e<0;if(this.negative!==0&&!t)return-1;if(this.negative===0&&t)return 1;this._strip();var r;if(this.length>1){r=1}else{if(t){e=-e}assert(e<=67108863,\"Number is too big\");var i=this.words[0]|0;r=i===e?0:i<e?-1:1}if(this.negative!==0)return-r|0;return r};BN.prototype.cmp=function cmp(e){if(this.negative!==0&&e.negative===0)return-1;if(this.negative===0&&e.negative!==0)return 1;var t=this.ucmp(e);if(this.negative!==0)return-t|0;return t};BN.prototype.ucmp=function ucmp(e){if(this.length>e.length)return 1;if(this.length<e.length)return-1;var t=0;for(var r=this.length-1;r>=0;r--){var i=this.words[r]|0;var n=e.words[r]|0;if(i===n)continue;if(i<n){t=-1}else if(i>n){t=1}break}return t};BN.prototype.gtn=function gtn(e){return this.cmpn(e)===1};BN.prototype.gt=function gt(e){return this.cmp(e)===1};BN.prototype.gten=function gten(e){return this.cmpn(e)>=0};BN.prototype.gte=function gte(e){return this.cmp(e)>=0};BN.prototype.ltn=function ltn(e){return this.cmpn(e)===-1};BN.prototype.lt=function lt(e){return this.cmp(e)===-1};BN.prototype.lten=function lten(e){return this.cmpn(e)<=0};BN.prototype.lte=function lte(e){return this.cmp(e)<=0};BN.prototype.eqn=function eqn(e){return this.cmpn(e)===0};BN.prototype.eq=function eq(e){return this.cmp(e)===0};BN.red=function red(e){return new Red(e)};BN.prototype.toRed=function toRed(e){assert(!this.red,\"Already a number in reduction context\");assert(this.negative===0,\"red works only with positives\");return e.convertTo(this)._forceRed(e)};BN.prototype.fromRed=function fromRed(){assert(this.red,\"fromRed works only with numbers in reduction context\");return this.red.convertFrom(this)};BN.prototype._forceRed=function _forceRed(e){this.red=e;return this};BN.prototype.forceRed=function forceRed(e){assert(!this.red,\"Already a number in reduction context\");return this._forceRed(e)};BN.prototype.redAdd=function redAdd(e){assert(this.red,\"redAdd works only with red numbers\");return this.red.add(this,e)};BN.prototype.redIAdd=function redIAdd(e){assert(this.red,\"redIAdd works only with red numbers\");return this.red.iadd(this,e)};BN.prototype.redSub=function redSub(e){assert(this.red,\"redSub works only with red numbers\");return this.red.sub(this,e)};BN.prototype.redISub=function redISub(e){assert(this.red,\"redISub works only with red numbers\");return this.red.isub(this,e)};BN.prototype.redShl=function redShl(e){assert(this.red,\"redShl works only with red numbers\");return this.red.shl(this,e)};BN.prototype.redMul=function redMul(e){assert(this.red,\"redMul works only with red numbers\");this.red._verify2(this,e);return this.red.mul(this,e)};BN.prototype.redIMul=function redIMul(e){assert(this.red,\"redMul works only with red numbers\");this.red._verify2(this,e);return this.red.imul(this,e)};BN.prototype.redSqr=function redSqr(){assert(this.red,\"redSqr works only with red numbers\");this.red._verify1(this);return this.red.sqr(this)};BN.prototype.redISqr=function redISqr(){assert(this.red,\"redISqr works only with red numbers\");this.red._verify1(this);return this.red.isqr(this)};BN.prototype.redSqrt=function redSqrt(){assert(this.red,\"redSqrt works only with red numbers\");this.red._verify1(this);return this.red.sqrt(this)};BN.prototype.redInvm=function redInvm(){assert(this.red,\"redInvm works only with red numbers\");this.red._verify1(this);return this.red.invm(this)};BN.prototype.redNeg=function redNeg(){assert(this.red,\"redNeg works only with red numbers\");this.red._verify1(this);return this.red.neg(this)};BN.prototype.redPow=function redPow(e){assert(this.red&&!e.red,\"redPow(normalNum)\");this.red._verify1(this);return this.red.pow(this,e)};var u={k256:null,p224:null,p192:null,p25519:null};function MPrime(e,t){this.name=e;this.p=new BN(t,16);this.n=this.p.bitLength();this.k=new BN(1).iushln(this.n).isub(this.p);this.tmp=this._tmp()}MPrime.prototype._tmp=function _tmp(){var e=new BN(null);e.words=new Array(Math.ceil(this.n/13));return e};MPrime.prototype.ireduce=function ireduce(e){var t=e;var r;do{this.split(t,this.tmp);t=this.imulK(t);t=t.iadd(this.tmp);r=t.bitLength()}while(r>this.n);var i=r<this.n?-1:t.ucmp(this.p);if(i===0){t.words[0]=0;t.length=1}else if(i>0){t.isub(this.p)}else{if(t.strip!==undefined){t.strip()}else{t._strip()}}return t};MPrime.prototype.split=function split(e,t){e.iushrn(this.n,0,t)};MPrime.prototype.imulK=function imulK(e){return e.imul(this.k)};function K256(){MPrime.call(this,\"k256\",\"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f\")}inherits(K256,MPrime);K256.prototype.split=function split(e,t){var r=4194303;var i=Math.min(e.length,9);for(var n=0;n<i;n++){t.words[n]=e.words[n]}t.length=i;if(e.length<=9){e.words[0]=0;e.length=1;return}var a=e.words[9];t.words[t.length++]=a&r;for(n=10;n<e.length;n++){var s=e.words[n]|0;e.words[n-10]=(s&r)<<4|a>>>22;a=s}a>>>=22;e.words[n-10]=a;if(a===0&&e.length>10){e.length-=10}else{e.length-=9}};K256.prototype.imulK=function imulK(e){e.words[e.length]=0;e.words[e.length+1]=0;e.length+=2;var t=0;for(var r=0;r<e.length;r++){var i=e.words[r]|0;t+=i*977;e.words[r]=t&67108863;t=i*64+(t/67108864|0)}if(e.words[e.length-1]===0){e.length--;if(e.words[e.length-1]===0){e.length--}}return e};function P224(){MPrime.call(this,\"p224\",\"ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001\")}inherits(P224,MPrime);function P192(){MPrime.call(this,\"p192\",\"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff\")}inherits(P192,MPrime);function P25519(){MPrime.call(this,\"25519\",\"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed\")}inherits(P25519,MPrime);P25519.prototype.imulK=function imulK(e){var t=0;for(var r=0;r<e.length;r++){var i=(e.words[r]|0)*19+t;var n=i&67108863;i>>>=26;e.words[r]=n;t=i}if(t!==0){e.words[e.length++]=t}return e};BN._prime=function prime(e){if(u[e])return u[e];var prime;if(e===\"k256\"){prime=new K256}else if(e===\"p224\"){prime=new P224}else if(e===\"p192\"){prime=new P192}else if(e===\"p25519\"){prime=new P25519}else{throw new Error(\"Unknown prime \"+e)}u[e]=prime;return prime};function Red(e){if(typeof e===\"string\"){var t=BN._prime(e);this.m=t.p;this.prime=t}else{assert(e.gtn(1),\"modulus must be greater than 1\");this.m=e;this.prime=null}}Red.prototype._verify1=function _verify1(e){assert(e.negative===0,\"red works only with positives\");assert(e.red,\"red works only with red numbers\")};Red.prototype._verify2=function _verify2(e,t){assert((e.negative|t.negative)===0,\"red works only with positives\");assert(e.red&&e.red===t.red,\"red works only with red numbers\")};Red.prototype.imod=function imod(e){if(this.prime)return this.prime.ireduce(e)._forceRed(this);move(e,e.umod(this.m)._forceRed(this));return e};Red.prototype.neg=function neg(e){if(e.isZero()){return e.clone()}return this.m.sub(e)._forceRed(this)};Red.prototype.add=function add(e,t){this._verify2(e,t);var r=e.add(t);if(r.cmp(this.m)>=0){r.isub(this.m)}return r._forceRed(this)};Red.prototype.iadd=function iadd(e,t){this._verify2(e,t);var r=e.iadd(t);if(r.cmp(this.m)>=0){r.isub(this.m)}return r};Red.prototype.sub=function sub(e,t){this._verify2(e,t);var r=e.sub(t);if(r.cmpn(0)<0){r.iadd(this.m)}return r._forceRed(this)};Red.prototype.isub=function isub(e,t){this._verify2(e,t);var r=e.isub(t);if(r.cmpn(0)<0){r.iadd(this.m)}return r};Red.prototype.shl=function shl(e,t){this._verify1(e);return this.imod(e.ushln(t))};Red.prototype.imul=function imul(e,t){this._verify2(e,t);return this.imod(e.imul(t))};Red.prototype.mul=function mul(e,t){this._verify2(e,t);return this.imod(e.mul(t))};Red.prototype.isqr=function isqr(e){return this.imul(e,e.clone())};Red.prototype.sqr=function sqr(e){return this.mul(e,e)};Red.prototype.sqrt=function sqrt(e){if(e.isZero())return e.clone();var t=this.m.andln(3);assert(t%2===1);if(t===3){var r=this.m.add(new BN(1)).iushrn(2);return this.pow(e,r)}var i=this.m.subn(1);var n=0;while(!i.isZero()&&i.andln(1)===0){n++;i.iushrn(1)}assert(!i.isZero());var a=new BN(1).toRed(this);var s=a.redNeg();var o=this.m.subn(1).iushrn(1);var h=this.m.bitLength();h=new BN(2*h*h).toRed(this);while(this.pow(h,o).cmp(s)!==0){h.redIAdd(s)}var u=this.pow(h,i);var d=this.pow(e,i.addn(1).iushrn(1));var c=this.pow(e,i);var l=n;while(c.cmp(a)!==0){var p=c;for(var v=0;p.cmp(a)!==0;v++){p=p.redSqr()}assert(v<l);var b=this.pow(u,new BN(1).iushln(l-v-1));d=d.redMul(b);u=b.redSqr();c=c.redMul(u);l=v}return d};Red.prototype.invm=function invm(e){var t=e._invmp(this.m);if(t.negative!==0){t.negative=0;return this.imod(t).redNeg()}else{return this.imod(t)}};Red.prototype.pow=function pow(e,t){if(t.isZero())return new BN(1).toRed(this);if(t.cmpn(1)===0)return e.clone();var r=4;var i=new Array(1<<r);i[0]=new BN(1).toRed(this);i[1]=e;for(var n=2;n<i.length;n++){i[n]=this.mul(i[n-1],e)}var a=i[0];var s=0;var o=0;var h=t.bitLength()%26;if(h===0){h=26}for(n=t.length-1;n>=0;n--){var u=t.words[n];for(var d=h-1;d>=0;d--){var c=u>>d&1;if(a!==i[0]){a=this.sqr(a)}if(c===0&&s===0){o=0;continue}s<<=1;s|=c;o++;if(o!==r&&(n!==0||d!==0))continue;a=this.mul(a,i[s]);o=0;s=0}h=26}return a};Red.prototype.convertTo=function convertTo(e){var t=e.umod(this.m);return t===e?t.clone():t};Red.prototype.convertFrom=function convertFrom(e){var t=e.clone();t.red=null;return t};BN.mont=function mont(e){return new Mont(e)};function Mont(e){Red.call(this,e);this.shift=this.m.bitLength();if(this.shift%26!==0){this.shift+=26-this.shift%26}this.r=new BN(1).iushln(this.shift);this.r2=this.imod(this.r.sqr());this.rinv=this.r._invmp(this.m);this.minv=this.rinv.mul(this.r).isubn(1).div(this.m);this.minv=this.minv.umod(this.r);this.minv=this.r.sub(this.minv)}inherits(Mont,Red);Mont.prototype.convertTo=function convertTo(e){return this.imod(e.ushln(this.shift))};Mont.prototype.convertFrom=function convertFrom(e){var t=this.imod(e.mul(this.rinv));t.red=null;return t};Mont.prototype.imul=function imul(e,t){if(e.isZero()||t.isZero()){e.words[0]=0;e.length=1;return e}var r=e.imul(t);var i=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m);var n=r.isub(i).iushrn(this.shift);var a=n;if(n.cmp(this.m)>=0){a=n.isub(this.m)}else if(n.cmpn(0)<0){a=n.iadd(this.m)}return a._forceRed(this)};Mont.prototype.mul=function mul(e,t){if(e.isZero()||t.isZero())return new BN(0)._forceRed(this);var r=e.mul(t);var i=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m);var n=r.isub(i).iushrn(this.shift);var a=n;if(n.cmp(this.m)>=0){a=n.isub(this.m)}else if(n.cmpn(0)<0){a=n.iadd(this.m)}return a._forceRed(this)};Mont.prototype.invm=function invm(e){var t=this.imod(e._invmp(this.m).mul(this.r2));return t._forceRed(this)}})(false||e,this)},3500:function(e,t,r){var i;e.exports=function rand(e){if(!i)i=new Rand(null);return i.generate(e)};function Rand(e){this.rand=e}e.exports.Rand=Rand;Rand.prototype.generate=function generate(e){return this._rand(e)};Rand.prototype._rand=function _rand(e){if(this.rand.getBytes)return this.rand.getBytes(e);var t=new Uint8Array(e);for(var r=0;r<t.length;r++)t[r]=this.rand.getByte();return t};if(typeof self===\"object\"){if(self.crypto&&self.crypto.getRandomValues){Rand.prototype._rand=function _rand(e){var t=new Uint8Array(e);self.crypto.getRandomValues(t);return t}}else if(self.msCrypto&&self.msCrypto.getRandomValues){Rand.prototype._rand=function _rand(e){var t=new Uint8Array(e);self.msCrypto.getRandomValues(t);return t}}else if(typeof window===\"object\"){Rand.prototype._rand=function(){throw new Error(\"Not implemented yet\")}}}else{try{var n=r(6113);if(typeof n.randomBytes!==\"function\")throw new Error(\"Not supported\");Rand.prototype._rand=function _rand(e){return n.randomBytes(e)}}catch(e){}}},1387:function(e,t,r){var i=r(6911).Buffer;function asUInt32Array(e){if(!i.isBuffer(e))e=i.from(e);var t=e.length/4|0;var r=new Array(t);for(var n=0;n<t;n++){r[n]=e.readUInt32BE(n*4)}return r}function scrubVec(e){for(var t=0;t<e.length;e++){e[t]=0}}function cryptBlock(e,t,r,i,n){var a=r[0];var s=r[1];var o=r[2];var h=r[3];var u=e[0]^t[0];var d=e[1]^t[1];var c=e[2]^t[2];var l=e[3]^t[3];var p,v,b,m;var y=4;for(var g=1;g<n;g++){p=a[u>>>24]^s[d>>>16&255]^o[c>>>8&255]^h[l&255]^t[y++];v=a[d>>>24]^s[c>>>16&255]^o[l>>>8&255]^h[u&255]^t[y++];b=a[c>>>24]^s[l>>>16&255]^o[u>>>8&255]^h[d&255]^t[y++];m=a[l>>>24]^s[u>>>16&255]^o[d>>>8&255]^h[c&255]^t[y++];u=p;d=v;c=b;l=m}p=(i[u>>>24]<<24|i[d>>>16&255]<<16|i[c>>>8&255]<<8|i[l&255])^t[y++];v=(i[d>>>24]<<24|i[c>>>16&255]<<16|i[l>>>8&255]<<8|i[u&255])^t[y++];b=(i[c>>>24]<<24|i[l>>>16&255]<<16|i[u>>>8&255]<<8|i[d&255])^t[y++];m=(i[l>>>24]<<24|i[u>>>16&255]<<16|i[d>>>8&255]<<8|i[c&255])^t[y++];p=p>>>0;v=v>>>0;b=b>>>0;m=m>>>0;return[p,v,b,m]}var n=[0,1,2,4,8,16,32,64,128,27,54];var a=function(){var e=new Array(256);for(var t=0;t<256;t++){if(t<128){e[t]=t<<1}else{e[t]=t<<1^283}}var r=[];var i=[];var n=[[],[],[],[]];var a=[[],[],[],[]];var s=0;var o=0;for(var h=0;h<256;++h){var u=o^o<<1^o<<2^o<<3^o<<4;u=u>>>8^u&255^99;r[s]=u;i[u]=s;var d=e[s];var c=e[d];var l=e[c];var p=e[u]*257^u*16843008;n[0][s]=p<<24|p>>>8;n[1][s]=p<<16|p>>>16;n[2][s]=p<<8|p>>>24;n[3][s]=p;p=l*16843009^c*65537^d*257^s*16843008;a[0][u]=p<<24|p>>>8;a[1][u]=p<<16|p>>>16;a[2][u]=p<<8|p>>>24;a[3][u]=p;if(s===0){s=o=1}else{s=d^e[e[e[l^d]]];o^=e[e[o]]}}return{SBOX:r,INV_SBOX:i,SUB_MIX:n,INV_SUB_MIX:a}}();function AES(e){this._key=asUInt32Array(e);this._reset()}AES.blockSize=4*4;AES.keySize=256/8;AES.prototype.blockSize=AES.blockSize;AES.prototype.keySize=AES.keySize;AES.prototype._reset=function(){var e=this._key;var t=e.length;var r=t+6;var i=(r+1)*4;var s=[];for(var o=0;o<t;o++){s[o]=e[o]}for(o=t;o<i;o++){var h=s[o-1];if(o%t===0){h=h<<8|h>>>24;h=a.SBOX[h>>>24]<<24|a.SBOX[h>>>16&255]<<16|a.SBOX[h>>>8&255]<<8|a.SBOX[h&255];h^=n[o/t|0]<<24}else if(t>6&&o%t===4){h=a.SBOX[h>>>24]<<24|a.SBOX[h>>>16&255]<<16|a.SBOX[h>>>8&255]<<8|a.SBOX[h&255]}s[o]=s[o-t]^h}var u=[];for(var d=0;d<i;d++){var c=i-d;var l=s[c-(d%4?0:4)];if(d<4||c<=4){u[d]=l}else{u[d]=a.INV_SUB_MIX[0][a.SBOX[l>>>24]]^a.INV_SUB_MIX[1][a.SBOX[l>>>16&255]]^a.INV_SUB_MIX[2][a.SBOX[l>>>8&255]]^a.INV_SUB_MIX[3][a.SBOX[l&255]]}}this._nRounds=r;this._keySchedule=s;this._invKeySchedule=u};AES.prototype.encryptBlockRaw=function(e){e=asUInt32Array(e);return cryptBlock(e,this._keySchedule,a.SUB_MIX,a.SBOX,this._nRounds)};AES.prototype.encryptBlock=function(e){var t=this.encryptBlockRaw(e);var r=i.allocUnsafe(16);r.writeUInt32BE(t[0],0);r.writeUInt32BE(t[1],4);r.writeUInt32BE(t[2],8);r.writeUInt32BE(t[3],12);return r};AES.prototype.decryptBlock=function(e){e=asUInt32Array(e);var t=e[1];e[1]=e[3];e[3]=t;var r=cryptBlock(e,this._invKeySchedule,a.INV_SUB_MIX,a.INV_SBOX,this._nRounds);var n=i.allocUnsafe(16);n.writeUInt32BE(r[0],0);n.writeUInt32BE(r[3],4);n.writeUInt32BE(r[2],8);n.writeUInt32BE(r[1],12);return n};AES.prototype.scrub=function(){scrubVec(this._keySchedule);scrubVec(this._invKeySchedule);scrubVec(this._key)};e.exports.AES=AES},6624:function(e,t,r){var i=r(1387);var n=r(6911).Buffer;var a=r(1043);var s=r(3782);var o=r(7225);var h=r(4734);var u=r(598);function xorTest(e,t){var r=0;if(e.length!==t.length)r++;var i=Math.min(e.length,t.length);for(var n=0;n<i;++n){r+=e[n]^t[n]}return r}function calcIv(e,t,r){if(t.length===12){e._finID=n.concat([t,n.from([0,0,0,1])]);return n.concat([t,n.from([0,0,0,2])])}var i=new o(r);var a=t.length;var s=a%16;i.update(t);if(s){s=16-s;i.update(n.alloc(s,0))}i.update(n.alloc(8,0));var h=a*8;var d=n.alloc(8);d.writeUIntBE(h,0,8);i.update(d);e._finID=i.state;var c=n.from(e._finID);u(c);return c}function StreamCipher(e,t,r,s){a.call(this);var h=n.alloc(4,0);this._cipher=new i.AES(t);var u=this._cipher.encryptBlock(h);this._ghash=new o(u);r=calcIv(this,r,u);this._prev=n.from(r);this._cache=n.allocUnsafe(0);this._secCache=n.allocUnsafe(0);this._decrypt=s;this._alen=0;this._len=0;this._mode=e;this._authTag=null;this._called=false}s(StreamCipher,a);StreamCipher.prototype._update=function(e){if(!this._called&&this._alen){var t=16-this._alen%16;if(t<16){t=n.alloc(t,0);this._ghash.update(t)}}this._called=true;var r=this._mode.encrypt(this,e);if(this._decrypt){this._ghash.update(e)}else{this._ghash.update(r)}this._len+=e.length;return r};StreamCipher.prototype._final=function(){if(this._decrypt&&!this._authTag)throw new Error(\"Unsupported state or unable to authenticate data\");var e=h(this._ghash.final(this._alen*8,this._len*8),this._cipher.encryptBlock(this._finID));if(this._decrypt&&xorTest(e,this._authTag))throw new Error(\"Unsupported state or unable to authenticate data\");this._authTag=e;this._cipher.scrub()};StreamCipher.prototype.getAuthTag=function getAuthTag(){if(this._decrypt||!n.isBuffer(this._authTag))throw new Error(\"Attempting to get auth tag in unsupported state\");return this._authTag};StreamCipher.prototype.setAuthTag=function setAuthTag(e){if(!this._decrypt)throw new Error(\"Attempting to set auth tag in unsupported state\");this._authTag=e};StreamCipher.prototype.setAAD=function setAAD(e){if(this._called)throw new Error(\"Attempting to set AAD in unsupported state\");this._ghash.update(e);this._alen+=e.length};e.exports=StreamCipher},6594:function(e,t,r){var i=r(2);var n=r(2598);var a=r(5866);function getCiphers(){return Object.keys(a)}t.createCipher=t.Cipher=i.createCipher;t.createCipheriv=t.Cipheriv=i.createCipheriv;t.createDecipher=t.Decipher=n.createDecipher;t.createDecipheriv=t.Decipheriv=n.createDecipheriv;t.listCiphers=t.getCiphers=getCiphers},2598:function(e,t,r){var i=r(6624);var n=r(6911).Buffer;var a=r(6370);var s=r(126);var o=r(1043);var h=r(1387);var u=r(8368);var d=r(3782);function Decipher(e,t,r){o.call(this);this._cache=new Splitter;this._last=void 0;this._cipher=new h.AES(t);this._prev=n.from(r);this._mode=e;this._autopadding=true}d(Decipher,o);Decipher.prototype._update=function(e){this._cache.add(e);var t;var r;var i=[];while(t=this._cache.get(this._autopadding)){r=this._mode.decrypt(this,t);i.push(r)}return n.concat(i)};Decipher.prototype._final=function(){var e=this._cache.flush();if(this._autopadding){return unpad(this._mode.decrypt(this,e))}else if(e){throw new Error(\"data not multiple of block length\")}};Decipher.prototype.setAutoPadding=function(e){this._autopadding=!!e;return this};function Splitter(){this.cache=n.allocUnsafe(0)}Splitter.prototype.add=function(e){this.cache=n.concat([this.cache,e])};Splitter.prototype.get=function(e){var t;if(e){if(this.cache.length>16){t=this.cache.slice(0,16);this.cache=this.cache.slice(16);return t}}else{if(this.cache.length>=16){t=this.cache.slice(0,16);this.cache=this.cache.slice(16);return t}}return null};Splitter.prototype.flush=function(){if(this.cache.length)return this.cache};function unpad(e){var t=e[15];if(t<1||t>16){throw new Error(\"unable to decrypt data\")}var r=-1;while(++r<t){if(e[r+(16-t)]!==t){throw new Error(\"unable to decrypt data\")}}if(t===16)return;return e.slice(0,16-t)}function createDecipheriv(e,t,r){var o=a[e.toLowerCase()];if(!o)throw new TypeError(\"invalid suite type\");if(typeof r===\"string\")r=n.from(r);if(o.mode!==\"GCM\"&&r.length!==o.iv)throw new TypeError(\"invalid iv length \"+r.length);if(typeof t===\"string\")t=n.from(t);if(t.length!==o.key/8)throw new TypeError(\"invalid key length \"+t.length);if(o.type===\"stream\"){return new s(o.module,t,r,true)}else if(o.type===\"auth\"){return new i(o.module,t,r,true)}return new Decipher(o.module,t,r)}function createDecipher(e,t){var r=a[e.toLowerCase()];if(!r)throw new TypeError(\"invalid suite type\");var i=u(t,false,r.key,r.iv);return createDecipheriv(e,i.key,i.iv)}t.createDecipher=createDecipher;t.createDecipheriv=createDecipheriv},2:function(e,t,r){var i=r(6370);var n=r(6624);var a=r(6911).Buffer;var s=r(126);var o=r(1043);var h=r(1387);var u=r(8368);var d=r(3782);function Cipher(e,t,r){o.call(this);this._cache=new Splitter;this._cipher=new h.AES(t);this._prev=a.from(r);this._mode=e;this._autopadding=true}d(Cipher,o);Cipher.prototype._update=function(e){this._cache.add(e);var t;var r;var i=[];while(t=this._cache.get()){r=this._mode.encrypt(this,t);i.push(r)}return a.concat(i)};var c=a.alloc(16,16);Cipher.prototype._final=function(){var e=this._cache.flush();if(this._autopadding){e=this._mode.encrypt(this,e);this._cipher.scrub();return e}if(!e.equals(c)){this._cipher.scrub();throw new Error(\"data not multiple of block length\")}};Cipher.prototype.setAutoPadding=function(e){this._autopadding=!!e;return this};function Splitter(){this.cache=a.allocUnsafe(0)}Splitter.prototype.add=function(e){this.cache=a.concat([this.cache,e])};Splitter.prototype.get=function(){if(this.cache.length>15){var e=this.cache.slice(0,16);this.cache=this.cache.slice(16);return e}return null};Splitter.prototype.flush=function(){var e=16-this.cache.length;var t=a.allocUnsafe(e);var r=-1;while(++r<e){t.writeUInt8(e,r)}return a.concat([this.cache,t])};function createCipheriv(e,t,r){var o=i[e.toLowerCase()];if(!o)throw new TypeError(\"invalid suite type\");if(typeof t===\"string\")t=a.from(t);if(t.length!==o.key/8)throw new TypeError(\"invalid key length \"+t.length);if(typeof r===\"string\")r=a.from(r);if(o.mode!==\"GCM\"&&r.length!==o.iv)throw new TypeError(\"invalid iv length \"+r.length);if(o.type===\"stream\"){return new s(o.module,t,r)}else if(o.type===\"auth\"){return new n(o.module,t,r)}return new Cipher(o.module,t,r)}function createCipher(e,t){var r=i[e.toLowerCase()];if(!r)throw new TypeError(\"invalid suite type\");var n=u(t,false,r.key,r.iv);return createCipheriv(e,n.key,n.iv)}t.createCipheriv=createCipheriv;t.createCipher=createCipher},7225:function(e,t,r){var i=r(6911).Buffer;var n=i.alloc(16,0);function toArray(e){return[e.readUInt32BE(0),e.readUInt32BE(4),e.readUInt32BE(8),e.readUInt32BE(12)]}function fromArray(e){var t=i.allocUnsafe(16);t.writeUInt32BE(e[0]>>>0,0);t.writeUInt32BE(e[1]>>>0,4);t.writeUInt32BE(e[2]>>>0,8);t.writeUInt32BE(e[3]>>>0,12);return t}function GHASH(e){this.h=e;this.state=i.alloc(16,0);this.cache=i.allocUnsafe(0)}GHASH.prototype.ghash=function(e){var t=-1;while(++t<e.length){this.state[t]^=e[t]}this._multiply()};GHASH.prototype._multiply=function(){var e=toArray(this.h);var t=[0,0,0,0];var r,i,n;var a=-1;while(++a<128){i=(this.state[~~(a/8)]&1<<7-a%8)!==0;if(i){t[0]^=e[0];t[1]^=e[1];t[2]^=e[2];t[3]^=e[3]}n=(e[3]&1)!==0;for(r=3;r>0;r--){e[r]=e[r]>>>1|(e[r-1]&1)<<31}e[0]=e[0]>>>1;if(n){e[0]=e[0]^225<<24}}this.state=fromArray(t)};GHASH.prototype.update=function(e){this.cache=i.concat([this.cache,e]);var t;while(this.cache.length>=16){t=this.cache.slice(0,16);this.cache=this.cache.slice(16);this.ghash(t)}};GHASH.prototype.final=function(e,t){if(this.cache.length){this.ghash(i.concat([this.cache,n],16))}this.ghash(fromArray([0,e,0,t]));return this.state};e.exports=GHASH},598:function(e){function incr32(e){var t=e.length;var r;while(t--){r=e.readUInt8(t);if(r===255){e.writeUInt8(0,t)}else{r++;e.writeUInt8(r,t);break}}}e.exports=incr32},9825:function(e,t,r){var i=r(4734);t.encrypt=function(e,t){var r=i(t,e._prev);e._prev=e._cipher.encryptBlock(r);return e._prev};t.decrypt=function(e,t){var r=e._prev;e._prev=t;var n=e._cipher.decryptBlock(t);return i(n,r)}},321:function(e,t,r){var i=r(6911).Buffer;var n=r(4734);function encryptStart(e,t,r){var a=t.length;var s=n(t,e._cache);e._cache=e._cache.slice(a);e._prev=i.concat([e._prev,r?t:s]);return s}t.encrypt=function(e,t,r){var n=i.allocUnsafe(0);var a;while(t.length){if(e._cache.length===0){e._cache=e._cipher.encryptBlock(e._prev);e._prev=i.allocUnsafe(0)}if(e._cache.length<=t.length){a=e._cache.length;n=i.concat([n,encryptStart(e,t.slice(0,a),r)]);t=t.slice(a)}else{n=i.concat([n,encryptStart(e,t,r)]);break}}return n}},3147:function(e,t,r){var i=r(6911).Buffer;function encryptByte(e,t,r){var i;var n=-1;var a=8;var s=0;var o,h;while(++n<a){i=e._cipher.encryptBlock(e._prev);o=t&1<<7-n?128:0;h=i[0]^o;s+=(h&128)>>n%8;e._prev=shiftIn(e._prev,r?o:h)}return s}function shiftIn(e,t){var r=e.length;var n=-1;var a=i.allocUnsafe(e.length);e=i.concat([e,i.from([t])]);while(++n<r){a[n]=e[n]<<1|e[n+1]>>7}return a}t.encrypt=function(e,t,r){var n=t.length;var a=i.allocUnsafe(n);var s=-1;while(++s<n){a[s]=encryptByte(e,t[s],r)}return a}},2430:function(e,t,r){var i=r(6911).Buffer;function encryptByte(e,t,r){var n=e._cipher.encryptBlock(e._prev);var a=n[0]^t;e._prev=i.concat([e._prev.slice(1),i.from([r?t:a])]);return a}t.encrypt=function(e,t,r){var n=t.length;var a=i.allocUnsafe(n);var s=-1;while(++s<n){a[s]=encryptByte(e,t[s],r)}return a}},3361:function(e,t,r){var i=r(4734);var n=r(6911).Buffer;var a=r(598);function getBlock(e){var t=e._cipher.encryptBlockRaw(e._prev);a(e._prev);return t}var s=16;t.encrypt=function(e,t){var r=Math.ceil(t.length/s);var a=e._cache.length;e._cache=n.concat([e._cache,n.allocUnsafe(r*s)]);for(var o=0;o<r;o++){var h=getBlock(e);var u=a+o*s;e._cache.writeUInt32BE(h[0],u+0);e._cache.writeUInt32BE(h[1],u+4);e._cache.writeUInt32BE(h[2],u+8);e._cache.writeUInt32BE(h[3],u+12)}var d=e._cache.slice(0,t.length);e._cache=e._cache.slice(t.length);return i(t,d)}},1590:function(e,t){t.encrypt=function(e,t){return e._cipher.encryptBlock(t)};t.decrypt=function(e,t){return e._cipher.decryptBlock(t)}},6370:function(e,t,r){var i={ECB:r(1590),CBC:r(9825),CFB:r(321),CFB8:r(2430),CFB1:r(3147),OFB:r(3412),CTR:r(3361),GCM:r(3361)};var n=r(5866);for(var a in n){n[a].module=i[n[a].mode]}e.exports=n},3412:function(e,t,r){var i=r(4734);function getBlock(e){e._prev=e._cipher.encryptBlock(e._prev);return e._prev}t.encrypt=function(e,t){while(e._cache.length<t.length){e._cache=Buffer.concat([e._cache,getBlock(e)])}var r=e._cache.slice(0,t.length);e._cache=e._cache.slice(t.length);return i(t,r)}},126:function(e,t,r){var i=r(1387);var n=r(6911).Buffer;var a=r(1043);var s=r(3782);function StreamCipher(e,t,r,s){a.call(this);this._cipher=new i.AES(t);this._prev=n.from(r);this._cache=n.allocUnsafe(0);this._secCache=n.allocUnsafe(0);this._decrypt=s;this._mode=e}s(StreamCipher,a);StreamCipher.prototype._update=function(e){return this._mode.encrypt(this,e,this._decrypt)};StreamCipher.prototype._final=function(){this._cipher.scrub()};e.exports=StreamCipher},8996:function(e,t,r){var i=r(5238);var n=r(6594);var a=r(6370);var s=r(6280);var o=r(8368);function createCipher(e,t){e=e.toLowerCase();var r,i;if(a[e]){r=a[e].key;i=a[e].iv}else if(s[e]){r=s[e].key*8;i=s[e].iv}else{throw new TypeError(\"invalid suite type\")}var n=o(t,false,r,i);return createCipheriv(e,n.key,n.iv)}function createDecipher(e,t){e=e.toLowerCase();var r,i;if(a[e]){r=a[e].key;i=a[e].iv}else if(s[e]){r=s[e].key*8;i=s[e].iv}else{throw new TypeError(\"invalid suite type\")}var n=o(t,false,r,i);return createDecipheriv(e,n.key,n.iv)}function createCipheriv(e,t,r){e=e.toLowerCase();if(a[e])return n.createCipheriv(e,t,r);if(s[e])return new i({key:t,iv:r,mode:e});throw new TypeError(\"invalid suite type\")}function createDecipheriv(e,t,r){e=e.toLowerCase();if(a[e])return n.createDecipheriv(e,t,r);if(s[e])return new i({key:t,iv:r,mode:e,decrypt:true});throw new TypeError(\"invalid suite type\")}function getCiphers(){return Object.keys(s).concat(n.getCiphers())}t.createCipher=t.Cipher=createCipher;t.createCipheriv=t.Cipheriv=createCipheriv;t.createDecipher=t.Decipher=createDecipher;t.createDecipheriv=t.Decipheriv=createDecipheriv;t.listCiphers=t.getCiphers=getCiphers},5238:function(e,t,r){var i=r(1043);var n=r(9536);var a=r(3782);var s=r(6911).Buffer;var o={\"des-ede3-cbc\":n.CBC.instantiate(n.EDE),\"des-ede3\":n.EDE,\"des-ede-cbc\":n.CBC.instantiate(n.EDE),\"des-ede\":n.EDE,\"des-cbc\":n.CBC.instantiate(n.DES),\"des-ecb\":n.DES};o.des=o[\"des-cbc\"];o.des3=o[\"des-ede3-cbc\"];e.exports=DES;a(DES,i);function DES(e){i.call(this);var t=e.mode.toLowerCase();var r=o[t];var n;if(e.decrypt){n=\"decrypt\"}else{n=\"encrypt\"}var a=e.key;if(!s.isBuffer(a)){a=s.from(a)}if(t===\"des-ede\"||t===\"des-ede-cbc\"){a=s.concat([a,a.slice(0,8)])}var h=e.iv;if(!s.isBuffer(h)){h=s.from(h)}this._des=r.create({key:a,iv:h,type:n})}DES.prototype._update=function(e){return s.from(this._des.update(e))};DES.prototype._final=function(){return s.from(this._des.final())}},6280:function(e,t){t[\"des-ecb\"]={key:8,iv:0};t[\"des-cbc\"]=t.des={key:8,iv:8};t[\"des-ede3-cbc\"]=t.des3={key:24,iv:8};t[\"des-ede3\"]={key:24,iv:0};t[\"des-ede-cbc\"]={key:16,iv:8};t[\"des-ede\"]={key:16,iv:0}},7166:function(e,t,r){var i=r(711);var n=r(7223);e.exports=crt;function blind(e){var t=getr(e);var r=t.toRed(i.mont(e.modulus)).redPow(new i(e.publicExponent)).fromRed();return{blinder:r,unblinder:t.invm(e.modulus)}}function crt(e,t){var r=blind(t);var n=t.modulus.byteLength();var a=i.mont(t.modulus);var s=new i(e).mul(r.blinder).umod(t.modulus);var o=s.toRed(i.mont(t.prime1));var h=s.toRed(i.mont(t.prime2));var u=t.coefficient;var d=t.prime1;var c=t.prime2;var l=o.redPow(t.exponent1);var p=h.redPow(t.exponent2);l=l.fromRed();p=p.fromRed();var v=l.isub(p).imul(u).umod(d);v.imul(c);p.iadd(v);return new Buffer(p.imul(r.unblinder).umod(t.modulus).toArray(false,n))}crt.getr=getr;function getr(e){var t=e.modulus.byteLength();var r=new i(n(t));while(r.cmp(e.modulus)>=0||!r.umod(e.prime1)||!r.umod(e.prime2)){r=new i(n(t))}return r}},9276:function(e,t,r){e.exports=r(2908)},4078:function(e,t,r){var i=r(6911).Buffer;var n=r(9739);var a=r(3726);var s=r(3782);var o=r(9807);var h=r(4013);var u=r(2908);Object.keys(u).forEach((function(e){u[e].id=i.from(u[e].id,\"hex\");u[e.toLowerCase()]=u[e]}));function Sign(e){a.Writable.call(this);var t=u[e];if(!t)throw new Error(\"Unknown message digest\");this._hashType=t.hash;this._hash=n(t.hash);this._tag=t.id;this._signType=t.sign}s(Sign,a.Writable);Sign.prototype._write=function _write(e,t,r){this._hash.update(e);r()};Sign.prototype.update=function update(e,t){if(typeof e===\"string\")e=i.from(e,t);this._hash.update(e);return this};Sign.prototype.sign=function signMethod(e,t){this.end();var r=this._hash.digest();var i=o(r,e,this._hashType,this._signType,this._tag);return t?i.toString(t):i};function Verify(e){a.Writable.call(this);var t=u[e];if(!t)throw new Error(\"Unknown message digest\");this._hash=n(t.hash);this._tag=t.id;this._signType=t.sign}s(Verify,a.Writable);Verify.prototype._write=function _write(e,t,r){this._hash.update(e);r()};Verify.prototype.update=function update(e,t){if(typeof e===\"string\")e=i.from(e,t);this._hash.update(e);return this};Verify.prototype.verify=function verifyMethod(e,t,r){if(typeof t===\"string\")t=i.from(t,r);this.end();var n=this._hash.digest();return h(t,n,e,this._signType,this._tag)};function createSign(e){return new Sign(e)}function createVerify(e){return new Verify(e)}e.exports={Sign:createSign,Verify:createVerify,createSign:createSign,createVerify:createVerify}},9807:function(e,t,r){var i=r(6911).Buffer;var n=r(4873);var a=r(7166);var s=r(949).ec;var o=r(1670);var h=r(9902);var u=r(9267);function sign(e,t,r,n,s){var o=h(t);if(o.curve){if(n!==\"ecdsa\"&&n!==\"ecdsa/rsa\")throw new Error(\"wrong private key type\");return ecSign(e,o)}else if(o.type===\"dsa\"){if(n!==\"dsa\")throw new Error(\"wrong private key type\");return dsaSign(e,o,r)}else{if(n!==\"rsa\"&&n!==\"ecdsa/rsa\")throw new Error(\"wrong private key type\")}e=i.concat([s,e]);var u=o.modulus.byteLength();var d=[0,1];while(e.length+d.length+1<u)d.push(255);d.push(0);var c=-1;while(++c<e.length)d.push(e[c]);var l=a(d,o);return l}function ecSign(e,t){var r=u[t.curve.join(\".\")];if(!r)throw new Error(\"unknown curve \"+t.curve.join(\".\"));var n=new s(r);var a=n.keyFromPrivate(t.privateKey);var o=a.sign(e);return i.from(o.toDER())}function dsaSign(e,t,r){var i=t.params.priv_key;var n=t.params.p;var a=t.params.q;var s=t.params.g;var h=new o(0);var u;var d=bits2int(e,a).mod(a);var c=false;var l=getKey(i,a,e,r);while(c===false){u=makeKey(a,l,r);h=makeR(s,u,n,a);c=u.invm(a).imul(d.add(i.mul(h))).mod(a);if(c.cmpn(0)===0){c=false;h=new o(0)}}return toDER(h,c)}function toDER(e,t){e=e.toArray();t=t.toArray();if(e[0]&128)e=[0].concat(e);if(t[0]&128)t=[0].concat(t);var r=e.length+t.length+4;var n=[48,r,2,e.length];n=n.concat(e,[2,t.length],t);return i.from(n)}function getKey(e,t,r,a){e=i.from(e.toArray());if(e.length<t.byteLength()){var s=i.alloc(t.byteLength()-e.length);e=i.concat([s,e])}var o=r.length;var h=bits2octets(r,t);var u=i.alloc(o);u.fill(1);var d=i.alloc(o);d=n(a,d).update(u).update(i.from([0])).update(e).update(h).digest();u=n(a,d).update(u).digest();d=n(a,d).update(u).update(i.from([1])).update(e).update(h).digest();u=n(a,d).update(u).digest();return{k:d,v:u}}function bits2int(e,t){var r=new o(e);var i=(e.length<<3)-t.bitLength();if(i>0)r.ishrn(i);return r}function bits2octets(e,t){e=bits2int(e,t);e=e.mod(t);var r=i.from(e.toArray());if(r.length<t.byteLength()){var n=i.alloc(t.byteLength()-r.length);r=i.concat([n,r])}return r}function makeKey(e,t,r){var a;var s;do{a=i.alloc(0);while(a.length*8<e.bitLength()){t.v=n(r,t.k).update(t.v).digest();a=i.concat([a,t.v])}s=bits2int(a,e);t.k=n(r,t.k).update(t.v).update(i.from([0])).digest();t.v=n(r,t.k).update(t.v).digest()}while(s.cmp(e)!==-1);return s}function makeR(e,t,r,i){return e.toRed(o.mont(r)).redPow(t).fromRed().mod(i)}e.exports=sign;e.exports.getKey=getKey;e.exports.makeKey=makeKey},4013:function(e,t,r){var i=r(6911).Buffer;var n=r(1670);var a=r(949).ec;var s=r(9902);var o=r(9267);function verify(e,t,r,a,o){var h=s(r);if(h.type===\"ec\"){if(a!==\"ecdsa\"&&a!==\"ecdsa/rsa\")throw new Error(\"wrong public key type\");return ecVerify(e,t,h)}else if(h.type===\"dsa\"){if(a!==\"dsa\")throw new Error(\"wrong public key type\");return dsaVerify(e,t,h)}else{if(a!==\"rsa\"&&a!==\"ecdsa/rsa\")throw new Error(\"wrong public key type\")}t=i.concat([o,t]);var u=h.modulus.byteLength();var d=[1];var c=0;while(t.length+d.length+2<u){d.push(255);c++}d.push(0);var l=-1;while(++l<t.length){d.push(t[l])}d=i.from(d);var p=n.mont(h.modulus);e=new n(e).toRed(p);e=e.redPow(new n(h.publicExponent));e=i.from(e.fromRed().toArray());var v=c<8?1:0;u=Math.min(e.length,d.length);if(e.length!==d.length)v=1;l=-1;while(++l<u)v|=e[l]^d[l];return v===0}function ecVerify(e,t,r){var i=o[r.data.algorithm.curve.join(\".\")];if(!i)throw new Error(\"unknown curve \"+r.data.algorithm.curve.join(\".\"));var n=new a(i);var s=r.data.subjectPrivateKey.data;return n.verify(t,e,s)}function dsaVerify(e,t,r){var i=r.data.p;var a=r.data.q;var o=r.data.g;var h=r.data.pub_key;var u=s.signature.decode(e,\"der\");var d=u.s;var c=u.r;checkValue(d,a);checkValue(c,a);var l=n.mont(i);var p=d.invm(a);var v=o.toRed(l).redPow(new n(t).mul(p).mod(a)).fromRed().mul(h.toRed(l).redPow(c.mul(p).mod(a)).fromRed()).mod(i).mod(a);return v.cmp(c)===0}function checkValue(e,t){if(e.cmpn(0)<=0)throw new Error(\"invalid sig\");if(e.cmp(t)>=t)throw new Error(\"invalid sig\")}e.exports=verify},4734:function(e){e.exports=function xor(e,t){var r=Math.min(e.length,t.length);var i=new Buffer(r);for(var n=0;n<r;++n){i[n]=e[n]^t[n]}return i}},1043:function(e,t,r){var i=r(6911).Buffer;var n=r(2781).Transform;var a=r(1576).StringDecoder;var s=r(3782);function CipherBase(e){n.call(this);this.hashMode=typeof e===\"string\";if(this.hashMode){this[e]=this._finalOrDigest}else{this.final=this._finalOrDigest}if(this._final){this.__final=this._final;this._final=null}this._decoder=null;this._encoding=null}s(CipherBase,n);CipherBase.prototype.update=function(e,t,r){if(typeof e===\"string\"){e=i.from(e,t)}var n=this._update(e);if(this.hashMode)return this;if(r){n=this._toString(n,r)}return n};CipherBase.prototype.setAutoPadding=function(){};CipherBase.prototype.getAuthTag=function(){throw new Error(\"trying to get auth tag in unsupported state\")};CipherBase.prototype.setAuthTag=function(){throw new Error(\"trying to set auth tag in unsupported state\")};CipherBase.prototype.setAAD=function(){throw new Error(\"trying to set aad in unsupported state\")};CipherBase.prototype._transform=function(e,t,r){var i;try{if(this.hashMode){this._update(e)}else{this.push(this._update(e))}}catch(e){i=e}finally{r(i)}};CipherBase.prototype._flush=function(e){var t;try{this.push(this.__final())}catch(e){t=e}e(t)};CipherBase.prototype._finalOrDigest=function(e){var t=this.__final()||i.alloc(0);if(e){t=this._toString(t,e,true)}return t};CipherBase.prototype._toString=function(e,t,r){if(!this._decoder){this._decoder=new a(t);this._encoding=t}if(this._encoding!==t)throw new Error(\"can't switch encodings\");var i=this._decoder.write(e);if(r){i+=this._decoder.end()}return i};e.exports=CipherBase},9942:function(e,t,r){var i=r(949);var n=r(711);e.exports=function createECDH(e){return new ECDH(e)};var a={secp256k1:{name:\"secp256k1\",byteLength:32},secp224r1:{name:\"p224\",byteLength:28},prime256v1:{name:\"p256\",byteLength:32},prime192v1:{name:\"p192\",byteLength:24},ed25519:{name:\"ed25519\",byteLength:32},secp384r1:{name:\"p384\",byteLength:48},secp521r1:{name:\"p521\",byteLength:66}};a.p224=a.secp224r1;a.p256=a.secp256r1=a.prime256v1;a.p192=a.secp192r1=a.prime192v1;a.p384=a.secp384r1;a.p521=a.secp521r1;function ECDH(e){this.curveType=a[e];if(!this.curveType){this.curveType={name:e}}this.curve=new i.ec(this.curveType.name);this.keys=void 0}ECDH.prototype.generateKeys=function(e,t){this.keys=this.curve.genKeyPair();return this.getPublicKey(e,t)};ECDH.prototype.computeSecret=function(e,t,r){t=t||\"utf8\";if(!Buffer.isBuffer(e)){e=new Buffer(e,t)}var i=this.curve.keyFromPublic(e).getPublic();var n=i.mul(this.keys.getPrivate()).getX();return formatReturnValue(n,r,this.curveType.byteLength)};ECDH.prototype.getPublicKey=function(e,t){var r=this.keys.getPublic(t===\"compressed\",true);if(t===\"hybrid\"){if(r[r.length-1]%2){r[0]=7}else{r[0]=6}}return formatReturnValue(r,e)};ECDH.prototype.getPrivateKey=function(e){return formatReturnValue(this.keys.getPrivate(),e)};ECDH.prototype.setPublicKey=function(e,t){t=t||\"utf8\";if(!Buffer.isBuffer(e)){e=new Buffer(e,t)}this.keys._importPublic(e);return this};ECDH.prototype.setPrivateKey=function(e,t){t=t||\"utf8\";if(!Buffer.isBuffer(e)){e=new Buffer(e,t)}var r=new n(e);r=r.toString(16);this.keys=this.curve.genKeyPair();this.keys._importPrivate(r);return this};function formatReturnValue(e,t,r){if(!Array.isArray(e)){e=e.toArray()}var i=new Buffer(e);if(r&&i.length<r){var n=new Buffer(r-i.length);n.fill(0);i=Buffer.concat([n,i])}if(!t){return i}else{return i.toString(t)}}},9739:function(e,t,r){\"use strict\";var i=r(3782);var n=r(3533);var a=r(3225);var s=r(4371);var o=r(1043);function Hash(e){o.call(this,\"digest\");this._hash=e}i(Hash,o);Hash.prototype._update=function(e){this._hash.update(e)};Hash.prototype._final=function(){return this._hash.digest()};e.exports=function createHash(e){e=e.toLowerCase();if(e===\"md5\")return new n;if(e===\"rmd160\"||e===\"ripemd160\")return new a;return new Hash(s(e))}},450:function(e,t,r){var i=r(3533);e.exports=function(e){return(new i).update(e).digest()}},4873:function(e,t,r){\"use strict\";var i=r(3782);var n=r(8119);var a=r(1043);var s=r(6911).Buffer;var o=r(450);var h=r(3225);var u=r(4371);var d=s.alloc(128);function Hmac(e,t){a.call(this,\"digest\");if(typeof t===\"string\"){t=s.from(t)}var r=e===\"sha512\"||e===\"sha384\"?128:64;this._alg=e;this._key=t;if(t.length>r){var i=e===\"rmd160\"?new h:u(e);t=i.update(t).digest()}else if(t.length<r){t=s.concat([t,d],r)}var n=this._ipad=s.allocUnsafe(r);var o=this._opad=s.allocUnsafe(r);for(var c=0;c<r;c++){n[c]=t[c]^54;o[c]=t[c]^92}this._hash=e===\"rmd160\"?new h:u(e);this._hash.update(n)}i(Hmac,a);Hmac.prototype._update=function(e){this._hash.update(e)};Hmac.prototype._final=function(){var e=this._hash.digest();var t=this._alg===\"rmd160\"?new h:u(this._alg);return t.update(this._opad).update(e).digest()};e.exports=function createHmac(e,t){e=e.toLowerCase();if(e===\"rmd160\"||e===\"ripemd160\"){return new Hmac(\"rmd160\",t)}if(e===\"md5\"){return new n(o,t)}return new Hmac(e,t)}},8119:function(e,t,r){\"use strict\";var i=r(3782);var n=r(6911).Buffer;var a=r(1043);var s=n.alloc(128);var o=64;function Hmac(e,t){a.call(this,\"digest\");if(typeof t===\"string\"){t=n.from(t)}this._alg=e;this._key=t;if(t.length>o){t=e(t)}else if(t.length<o){t=n.concat([t,s],o)}var r=this._ipad=n.allocUnsafe(o);var i=this._opad=n.allocUnsafe(o);for(var h=0;h<o;h++){r[h]=t[h]^54;i[h]=t[h]^92}this._hash=[r]}i(Hmac,a);Hmac.prototype._update=function(e){this._hash.push(e)};Hmac.prototype._final=function(){var e=this._alg(n.concat(this._hash));return this._alg(n.concat([this._opad,e]))};e.exports=Hmac},9536:function(e,t,r){\"use strict\";t.utils=r(5334);t.Cipher=r(9876);t.DES=r(1016);t.CBC=r(8641);t.EDE=r(6159)},8641:function(e,t,r){\"use strict\";var i=r(3523);var n=r(3782);var a={};function CBCState(e){i.equal(e.length,8,\"Invalid IV length\");this.iv=new Array(8);for(var t=0;t<this.iv.length;t++)this.iv[t]=e[t]}function instantiate(e){function CBC(t){e.call(this,t);this._cbcInit()}n(CBC,e);var t=Object.keys(a);for(var r=0;r<t.length;r++){var i=t[r];CBC.prototype[i]=a[i]}CBC.create=function create(e){return new CBC(e)};return CBC}t.instantiate=instantiate;a._cbcInit=function _cbcInit(){var e=new CBCState(this.options.iv);this._cbcState=e};a._update=function _update(e,t,r,i){var n=this._cbcState;var a=this.constructor.super_.prototype;var s=n.iv;if(this.type===\"encrypt\"){for(var o=0;o<this.blockSize;o++)s[o]^=e[t+o];a._update.call(this,s,0,r,i);for(var o=0;o<this.blockSize;o++)s[o]=r[i+o]}else{a._update.call(this,e,t,r,i);for(var o=0;o<this.blockSize;o++)r[i+o]^=s[o];for(var o=0;o<this.blockSize;o++)s[o]=e[t+o]}}},9876:function(e,t,r){\"use strict\";var i=r(3523);function Cipher(e){this.options=e;this.type=this.options.type;this.blockSize=8;this._init();this.buffer=new Array(this.blockSize);this.bufferOff=0}e.exports=Cipher;Cipher.prototype._init=function _init(){};Cipher.prototype.update=function update(e){if(e.length===0)return[];if(this.type===\"decrypt\")return this._updateDecrypt(e);else return this._updateEncrypt(e)};Cipher.prototype._buffer=function _buffer(e,t){var r=Math.min(this.buffer.length-this.bufferOff,e.length-t);for(var i=0;i<r;i++)this.buffer[this.bufferOff+i]=e[t+i];this.bufferOff+=r;return r};Cipher.prototype._flushBuffer=function _flushBuffer(e,t){this._update(this.buffer,0,e,t);this.bufferOff=0;return this.blockSize};Cipher.prototype._updateEncrypt=function _updateEncrypt(e){var t=0;var r=0;var i=(this.bufferOff+e.length)/this.blockSize|0;var n=new Array(i*this.blockSize);if(this.bufferOff!==0){t+=this._buffer(e,t);if(this.bufferOff===this.buffer.length)r+=this._flushBuffer(n,r)}var a=e.length-(e.length-t)%this.blockSize;for(;t<a;t+=this.blockSize){this._update(e,t,n,r);r+=this.blockSize}for(;t<e.length;t++,this.bufferOff++)this.buffer[this.bufferOff]=e[t];return n};Cipher.prototype._updateDecrypt=function _updateDecrypt(e){var t=0;var r=0;var i=Math.ceil((this.bufferOff+e.length)/this.blockSize)-1;var n=new Array(i*this.blockSize);for(;i>0;i--){t+=this._buffer(e,t);r+=this._flushBuffer(n,r)}t+=this._buffer(e,t);return n};Cipher.prototype.final=function final(e){var t;if(e)t=this.update(e);var r;if(this.type===\"encrypt\")r=this._finalEncrypt();else r=this._finalDecrypt();if(t)return t.concat(r);else return r};Cipher.prototype._pad=function _pad(e,t){if(t===0)return false;while(t<e.length)e[t++]=0;return true};Cipher.prototype._finalEncrypt=function _finalEncrypt(){if(!this._pad(this.buffer,this.bufferOff))return[];var e=new Array(this.blockSize);this._update(this.buffer,0,e,0);return e};Cipher.prototype._unpad=function _unpad(e){return e};Cipher.prototype._finalDecrypt=function _finalDecrypt(){i.equal(this.bufferOff,this.blockSize,\"Not enough data to decrypt\");var e=new Array(this.blockSize);this._flushBuffer(e,0);return this._unpad(e)}},1016:function(e,t,r){\"use strict\";var i=r(3523);var n=r(3782);var a=r(5334);var s=r(9876);function DESState(){this.tmp=new Array(2);this.keys=null}function DES(e){s.call(this,e);var t=new DESState;this._desState=t;this.deriveKeys(t,e.key)}n(DES,s);e.exports=DES;DES.create=function create(e){return new DES(e)};var o=[1,1,2,2,2,2,2,2,1,2,2,2,2,2,2,1];DES.prototype.deriveKeys=function deriveKeys(e,t){e.keys=new Array(16*2);i.equal(t.length,this.blockSize,\"Invalid key length\");var r=a.readUInt32BE(t,0);var n=a.readUInt32BE(t,4);a.pc1(r,n,e.tmp,0);r=e.tmp[0];n=e.tmp[1];for(var s=0;s<e.keys.length;s+=2){var h=o[s>>>1];r=a.r28shl(r,h);n=a.r28shl(n,h);a.pc2(r,n,e.keys,s)}};DES.prototype._update=function _update(e,t,r,i){var n=this._desState;var s=a.readUInt32BE(e,t);var o=a.readUInt32BE(e,t+4);a.ip(s,o,n.tmp,0);s=n.tmp[0];o=n.tmp[1];if(this.type===\"encrypt\")this._encrypt(n,s,o,n.tmp,0);else this._decrypt(n,s,o,n.tmp,0);s=n.tmp[0];o=n.tmp[1];a.writeUInt32BE(r,s,i);a.writeUInt32BE(r,o,i+4)};DES.prototype._pad=function _pad(e,t){var r=e.length-t;for(var i=t;i<e.length;i++)e[i]=r;return true};DES.prototype._unpad=function _unpad(e){var t=e[e.length-1];for(var r=e.length-t;r<e.length;r++)i.equal(e[r],t);return e.slice(0,e.length-t)};DES.prototype._encrypt=function _encrypt(e,t,r,i,n){var s=t;var o=r;for(var h=0;h<e.keys.length;h+=2){var u=e.keys[h];var d=e.keys[h+1];a.expand(o,e.tmp,0);u^=e.tmp[0];d^=e.tmp[1];var c=a.substitute(u,d);var l=a.permute(c);var p=o;o=(s^l)>>>0;s=p}a.rip(o,s,i,n)};DES.prototype._decrypt=function _decrypt(e,t,r,i,n){var s=r;var o=t;for(var h=e.keys.length-2;h>=0;h-=2){var u=e.keys[h];var d=e.keys[h+1];a.expand(s,e.tmp,0);u^=e.tmp[0];d^=e.tmp[1];var c=a.substitute(u,d);var l=a.permute(c);var p=s;s=(o^l)>>>0;o=p}a.rip(s,o,i,n)}},6159:function(e,t,r){\"use strict\";var i=r(3523);var n=r(3782);var a=r(9876);var s=r(1016);function EDEState(e,t){i.equal(t.length,24,\"Invalid key length\");var r=t.slice(0,8);var n=t.slice(8,16);var a=t.slice(16,24);if(e===\"encrypt\"){this.ciphers=[s.create({type:\"encrypt\",key:r}),s.create({type:\"decrypt\",key:n}),s.create({type:\"encrypt\",key:a})]}else{this.ciphers=[s.create({type:\"decrypt\",key:a}),s.create({type:\"encrypt\",key:n}),s.create({type:\"decrypt\",key:r})]}}function EDE(e){a.call(this,e);var t=new EDEState(this.type,this.options.key);this._edeState=t}n(EDE,a);e.exports=EDE;EDE.create=function create(e){return new EDE(e)};EDE.prototype._update=function _update(e,t,r,i){var n=this._edeState;n.ciphers[0]._update(e,t,r,i);n.ciphers[1]._update(r,i,r,i);n.ciphers[2]._update(r,i,r,i)};EDE.prototype._pad=s.prototype._pad;EDE.prototype._unpad=s.prototype._unpad},5334:function(e,t){\"use strict\";t.readUInt32BE=function readUInt32BE(e,t){var r=e[0+t]<<24|e[1+t]<<16|e[2+t]<<8|e[3+t];return r>>>0};t.writeUInt32BE=function writeUInt32BE(e,t,r){e[0+r]=t>>>24;e[1+r]=t>>>16&255;e[2+r]=t>>>8&255;e[3+r]=t&255};t.ip=function ip(e,t,r,i){var n=0;var a=0;for(var s=6;s>=0;s-=2){for(var o=0;o<=24;o+=8){n<<=1;n|=t>>>o+s&1}for(var o=0;o<=24;o+=8){n<<=1;n|=e>>>o+s&1}}for(var s=6;s>=0;s-=2){for(var o=1;o<=25;o+=8){a<<=1;a|=t>>>o+s&1}for(var o=1;o<=25;o+=8){a<<=1;a|=e>>>o+s&1}}r[i+0]=n>>>0;r[i+1]=a>>>0};t.rip=function rip(e,t,r,i){var n=0;var a=0;for(var s=0;s<4;s++){for(var o=24;o>=0;o-=8){n<<=1;n|=t>>>o+s&1;n<<=1;n|=e>>>o+s&1}}for(var s=4;s<8;s++){for(var o=24;o>=0;o-=8){a<<=1;a|=t>>>o+s&1;a<<=1;a|=e>>>o+s&1}}r[i+0]=n>>>0;r[i+1]=a>>>0};t.pc1=function pc1(e,t,r,i){var n=0;var a=0;for(var s=7;s>=5;s--){for(var o=0;o<=24;o+=8){n<<=1;n|=t>>o+s&1}for(var o=0;o<=24;o+=8){n<<=1;n|=e>>o+s&1}}for(var o=0;o<=24;o+=8){n<<=1;n|=t>>o+s&1}for(var s=1;s<=3;s++){for(var o=0;o<=24;o+=8){a<<=1;a|=t>>o+s&1}for(var o=0;o<=24;o+=8){a<<=1;a|=e>>o+s&1}}for(var o=0;o<=24;o+=8){a<<=1;a|=e>>o+s&1}r[i+0]=n>>>0;r[i+1]=a>>>0};t.r28shl=function r28shl(e,t){return e<<t&268435455|e>>>28-t};var r=[14,11,17,4,27,23,25,0,13,22,7,18,5,9,16,24,2,20,12,21,1,8,15,26,15,4,25,19,9,1,26,16,5,11,23,8,12,7,17,0,22,3,10,14,6,20,27,24];t.pc2=function pc2(e,t,i,n){var a=0;var s=0;var o=r.length>>>1;for(var h=0;h<o;h++){a<<=1;a|=e>>>r[h]&1}for(var h=o;h<r.length;h++){s<<=1;s|=t>>>r[h]&1}i[n+0]=a>>>0;i[n+1]=s>>>0};t.expand=function expand(e,t,r){var i=0;var n=0;i=(e&1)<<5|e>>>27;for(var a=23;a>=15;a-=4){i<<=6;i|=e>>>a&63}for(var a=11;a>=3;a-=4){n|=e>>>a&63;n<<=6}n|=(e&31)<<1|e>>>31;t[r+0]=i>>>0;t[r+1]=n>>>0};var i=[14,0,4,15,13,7,1,4,2,14,15,2,11,13,8,1,3,10,10,6,6,12,12,11,5,9,9,5,0,3,7,8,4,15,1,12,14,8,8,2,13,4,6,9,2,1,11,7,15,5,12,11,9,3,7,14,3,10,10,0,5,6,0,13,15,3,1,13,8,4,14,7,6,15,11,2,3,8,4,14,9,12,7,0,2,1,13,10,12,6,0,9,5,11,10,5,0,13,14,8,7,10,11,1,10,3,4,15,13,4,1,2,5,11,8,6,12,7,6,12,9,0,3,5,2,14,15,9,10,13,0,7,9,0,14,9,6,3,3,4,15,6,5,10,1,2,13,8,12,5,7,14,11,12,4,11,2,15,8,1,13,1,6,10,4,13,9,0,8,6,15,9,3,8,0,7,11,4,1,15,2,14,12,3,5,11,10,5,14,2,7,12,7,13,13,8,14,11,3,5,0,6,6,15,9,0,10,3,1,4,2,7,8,2,5,12,11,1,12,10,4,14,15,9,10,3,6,15,9,0,0,6,12,10,11,1,7,13,13,8,15,9,1,4,3,5,14,11,5,12,2,7,8,2,4,14,2,14,12,11,4,2,1,12,7,4,10,7,11,13,6,1,8,5,5,0,3,15,15,10,13,3,0,9,14,8,9,6,4,11,2,8,1,12,11,7,10,1,13,14,7,2,8,13,15,6,9,15,12,0,5,9,6,10,3,4,0,5,14,3,12,10,1,15,10,4,15,2,9,7,2,12,6,9,8,5,0,6,13,1,3,13,4,14,14,0,7,11,5,3,11,8,9,4,14,3,15,2,5,12,2,9,8,5,12,15,3,10,7,11,0,14,4,1,10,7,1,6,13,0,11,8,6,13,4,13,11,0,2,11,14,7,15,4,0,9,8,1,13,10,3,14,12,3,9,5,7,12,5,2,10,15,6,8,1,6,1,6,4,11,11,13,13,8,12,1,3,4,7,10,14,7,10,9,15,5,6,0,8,15,0,14,5,2,9,3,2,12,13,1,2,15,8,13,4,8,6,10,15,3,11,7,1,4,10,12,9,5,3,6,14,11,5,0,0,14,12,9,7,2,7,2,11,1,4,14,1,7,9,4,12,10,14,8,2,13,0,15,6,12,10,9,13,0,15,3,3,5,5,6,8,11];t.substitute=function substitute(e,t){var r=0;for(var n=0;n<4;n++){var a=e>>>18-n*6&63;var s=i[n*64+a];r<<=4;r|=s}for(var n=0;n<4;n++){var a=t>>>18-n*6&63;var s=i[4*64+n*64+a];r<<=4;r|=s}return r>>>0};var n=[16,25,12,11,3,20,4,15,31,17,9,6,27,14,1,22,30,24,8,18,0,5,29,23,13,19,2,26,10,21,28,7];t.permute=function permute(e){var t=0;for(var r=0;r<n.length;r++){t<<=1;t|=e>>>n[r]&1}return t>>>0};t.padSplit=function padSplit(e,t,r){var i=e.toString(2);while(i.length<t)i=\"0\"+i;var n=[];for(var a=0;a<t;a+=r)n.push(i.slice(a,a+r));return n.join(\" \")}},6587:function(e,t,r){var i=r(296);var n=r(7992);var a=r(373);function getDiffieHellman(e){var t=new Buffer(n[e].prime,\"hex\");var r=new Buffer(n[e].gen,\"hex\");return new a(t,r)}var s={binary:true,hex:true,base64:true};function createDiffieHellman(e,t,r,n){if(Buffer.isBuffer(t)||s[t]===undefined){return createDiffieHellman(e,\"binary\",t,r)}t=t||\"binary\";n=n||\"binary\";r=r||new Buffer([2]);if(!Buffer.isBuffer(r)){r=new Buffer(r,n)}if(typeof e===\"number\"){return new a(i(e,r),r,true)}if(!Buffer.isBuffer(e)){e=new Buffer(e,t)}return new a(e,r,true)}t.DiffieHellmanGroup=t.createDiffieHellmanGroup=t.getDiffieHellman=getDiffieHellman;t.createDiffieHellman=t.DiffieHellman=createDiffieHellman},373:function(e,t,r){var i=r(711);var n=r(1354);var a=new n;var s=new i(24);var o=new i(11);var h=new i(10);var u=new i(3);var d=new i(7);var c=r(296);var l=r(7223);e.exports=DH;function setPublicKey(e,t){t=t||\"utf8\";if(!Buffer.isBuffer(e)){e=new Buffer(e,t)}this._pub=new i(e);return this}function setPrivateKey(e,t){t=t||\"utf8\";if(!Buffer.isBuffer(e)){e=new Buffer(e,t)}this._priv=new i(e);return this}var p={};function checkPrime(e,t){var r=t.toString(\"hex\");var i=[r,e.toString(16)].join(\"_\");if(i in p){return p[i]}var n=0;if(e.isEven()||!c.simpleSieve||!c.fermatTest(e)||!a.test(e)){n+=1;if(r===\"02\"||r===\"05\"){n+=8}else{n+=4}p[i]=n;return n}if(!a.test(e.shrn(1))){n+=2}var l;switch(r){case\"02\":if(e.mod(s).cmp(o)){n+=8}break;case\"05\":l=e.mod(h);if(l.cmp(u)&&l.cmp(d)){n+=8}break;default:n+=4}p[i]=n;return n}function DH(e,t,r){this.setGenerator(t);this.__prime=new i(e);this._prime=i.mont(this.__prime);this._primeLen=e.length;this._pub=undefined;this._priv=undefined;this._primeCode=undefined;if(r){this.setPublicKey=setPublicKey;this.setPrivateKey=setPrivateKey}else{this._primeCode=8}}Object.defineProperty(DH.prototype,\"verifyError\",{enumerable:true,get:function(){if(typeof this._primeCode!==\"number\"){this._primeCode=checkPrime(this.__prime,this.__gen)}return this._primeCode}});DH.prototype.generateKeys=function(){if(!this._priv){this._priv=new i(l(this._primeLen))}this._pub=this._gen.toRed(this._prime).redPow(this._priv).fromRed();return this.getPublicKey()};DH.prototype.computeSecret=function(e){e=new i(e);e=e.toRed(this._prime);var t=e.redPow(this._priv).fromRed();var r=new Buffer(t.toArray());var n=this.getPrime();if(r.length<n.length){var a=new Buffer(n.length-r.length);a.fill(0);r=Buffer.concat([a,r])}return r};DH.prototype.getPublicKey=function getPublicKey(e){return formatReturnValue(this._pub,e)};DH.prototype.getPrivateKey=function getPrivateKey(e){return formatReturnValue(this._priv,e)};DH.prototype.getPrime=function(e){return formatReturnValue(this.__prime,e)};DH.prototype.getGenerator=function(e){return formatReturnValue(this._gen,e)};DH.prototype.setGenerator=function(e,t){t=t||\"utf8\";if(!Buffer.isBuffer(e)){e=new Buffer(e,t)}this.__gen=e;this._gen=new i(e);return this};function formatReturnValue(e,t){var r=new Buffer(e.toArray());if(!t){return r}else{return r.toString(t)}}},296:function(e,t,r){var i=r(7223);e.exports=findPrime;findPrime.simpleSieve=simpleSieve;findPrime.fermatTest=fermatTest;var n=r(711);var a=new n(24);var s=r(1354);var o=new s;var h=new n(1);var u=new n(2);var d=new n(5);var c=new n(16);var l=new n(8);var p=new n(10);var v=new n(3);var b=new n(7);var m=new n(11);var y=new n(4);var g=new n(12);var _=null;function _getPrimes(){if(_!==null)return _;var e=1048576;var t=[];t[0]=2;for(var r=1,i=3;i<e;i+=2){var n=Math.ceil(Math.sqrt(i));for(var a=0;a<r&&t[a]<=n;a++)if(i%t[a]===0)break;if(r!==a&&t[a]<=n)continue;t[r++]=i}_=t;return t}function simpleSieve(e){var t=_getPrimes();for(var r=0;r<t.length;r++)if(e.modn(t[r])===0){if(e.cmpn(t[r])===0){return true}else{return false}}return true}function fermatTest(e){var t=n.mont(e);return u.toRed(t).redPow(e.subn(1)).fromRed().cmpn(1)===0}function findPrime(e,t){if(e<16){if(t===2||t===5){return new n([140,123])}else{return new n([140,39])}}t=new n(t);var r,s;while(true){r=new n(i(Math.ceil(e/8)));while(r.bitLength()>e){r.ishrn(1)}if(r.isEven()){r.iadd(h)}if(!r.testn(1)){r.iadd(u)}if(!t.cmp(u)){while(r.mod(a).cmp(m)){r.iadd(y)}}else if(!t.cmp(d)){while(r.mod(p).cmp(v)){r.iadd(y)}}s=r.shrn(1);if(simpleSieve(s)&&simpleSieve(r)&&fermatTest(s)&&fermatTest(r)&&o.test(s)&&o.test(r)){return r}}}},949:function(e,t,r){\"use strict\";var i=t;i.version=r(2531).i8;i.utils=r(4401);i.rand=r(3500);i.curve=r(9359);i.curves=r(6226);i.ec=r(4088);i.eddsa=r(8511)},2727:function(e,t,r){\"use strict\";var i=r(711);var n=r(4401);var a=n.getNAF;var s=n.getJSF;var o=n.assert;function BaseCurve(e,t){this.type=e;this.p=new i(t.p,16);this.red=t.prime?i.red(t.prime):i.mont(this.p);this.zero=new i(0).toRed(this.red);this.one=new i(1).toRed(this.red);this.two=new i(2).toRed(this.red);this.n=t.n&&new i(t.n,16);this.g=t.g&&this.pointFromJSON(t.g,t.gRed);this._wnafT1=new Array(4);this._wnafT2=new Array(4);this._wnafT3=new Array(4);this._wnafT4=new Array(4);this._bitLength=this.n?this.n.bitLength():0;var r=this.n&&this.p.div(this.n);if(!r||r.cmpn(100)>0){this.redN=null}else{this._maxwellTrick=true;this.redN=this.n.toRed(this.red)}}e.exports=BaseCurve;BaseCurve.prototype.point=function point(){throw new Error(\"Not implemented\")};BaseCurve.prototype.validate=function validate(){throw new Error(\"Not implemented\")};BaseCurve.prototype._fixedNafMul=function _fixedNafMul(e,t){o(e.precomputed);var r=e._getDoubles();var i=a(t,1,this._bitLength);var n=(1<<r.step+1)-(r.step%2===0?2:1);n/=3;var s=[];for(var h=0;h<i.length;h+=r.step){var u=0;for(var t=h+r.step-1;t>=h;t--)u=(u<<1)+i[t];s.push(u)}var d=this.jpoint(null,null,null);var c=this.jpoint(null,null,null);for(var l=n;l>0;l--){for(var h=0;h<s.length;h++){var u=s[h];if(u===l)c=c.mixedAdd(r.points[h]);else if(u===-l)c=c.mixedAdd(r.points[h].neg())}d=d.add(c)}return d.toP()};BaseCurve.prototype._wnafMul=function _wnafMul(e,t){var r=4;var i=e._getNAFPoints(r);r=i.wnd;var n=i.points;var s=a(t,r,this._bitLength);var h=this.jpoint(null,null,null);for(var u=s.length-1;u>=0;u--){for(var t=0;u>=0&&s[u]===0;u--)t++;if(u>=0)t++;h=h.dblp(t);if(u<0)break;var d=s[u];o(d!==0);if(e.type===\"affine\"){if(d>0)h=h.mixedAdd(n[d-1>>1]);else h=h.mixedAdd(n[-d-1>>1].neg())}else{if(d>0)h=h.add(n[d-1>>1]);else h=h.add(n[-d-1>>1].neg())}}return e.type===\"affine\"?h.toP():h};BaseCurve.prototype._wnafMulAdd=function _wnafMulAdd(e,t,r,i,n){var o=this._wnafT1;var h=this._wnafT2;var u=this._wnafT3;var d=0;for(var c=0;c<i;c++){var l=t[c];var p=l._getNAFPoints(e);o[c]=p.wnd;h[c]=p.points}for(var c=i-1;c>=1;c-=2){var v=c-1;var b=c;if(o[v]!==1||o[b]!==1){u[v]=a(r[v],o[v],this._bitLength);u[b]=a(r[b],o[b],this._bitLength);d=Math.max(u[v].length,d);d=Math.max(u[b].length,d);continue}var m=[t[v],null,null,t[b]];if(t[v].y.cmp(t[b].y)===0){m[1]=t[v].add(t[b]);m[2]=t[v].toJ().mixedAdd(t[b].neg())}else if(t[v].y.cmp(t[b].y.redNeg())===0){m[1]=t[v].toJ().mixedAdd(t[b]);m[2]=t[v].add(t[b].neg())}else{m[1]=t[v].toJ().mixedAdd(t[b]);m[2]=t[v].toJ().mixedAdd(t[b].neg())}var y=[-3,-1,-5,-7,0,7,5,1,3];var g=s(r[v],r[b]);d=Math.max(g[0].length,d);u[v]=new Array(d);u[b]=new Array(d);for(var _=0;_<d;_++){var w=g[0][_]|0;var M=g[1][_]|0;u[v][_]=y[(w+1)*3+(M+1)];u[b][_]=0;h[v]=m}}var B=this.jpoint(null,null,null);var E=this._wnafT4;for(var c=d;c>=0;c--){var k=0;while(c>=0){var A=true;for(var _=0;_<i;_++){E[_]=u[_][c]|0;if(E[_]!==0)A=false}if(!A)break;k++;c--}if(c>=0)k++;B=B.dblp(k);if(c<0)break;for(var _=0;_<i;_++){var N=E[_];var l;if(N===0)continue;else if(N>0)l=h[_][N-1>>1];else if(N<0)l=h[_][-N-1>>1].neg();if(l.type===\"affine\")B=B.mixedAdd(l);else B=B.add(l)}}for(var c=0;c<i;c++)h[c]=null;if(n)return B;else return B.toP()};function BasePoint(e,t){this.curve=e;this.type=t;this.precomputed=null}BaseCurve.BasePoint=BasePoint;BasePoint.prototype.eq=function eq(){throw new Error(\"Not implemented\")};BasePoint.prototype.validate=function validate(){return this.curve.validate(this)};BaseCurve.prototype.decodePoint=function decodePoint(e,t){e=n.toArray(e,t);var r=this.p.byteLength();if((e[0]===4||e[0]===6||e[0]===7)&&e.length-1===2*r){if(e[0]===6)o(e[e.length-1]%2===0);else if(e[0]===7)o(e[e.length-1]%2===1);var i=this.point(e.slice(1,1+r),e.slice(1+r,1+2*r));return i}else if((e[0]===2||e[0]===3)&&e.length-1===r){return this.pointFromX(e.slice(1,1+r),e[0]===3)}throw new Error(\"Unknown point format\")};BasePoint.prototype.encodeCompressed=function encodeCompressed(e){return this.encode(e,true)};BasePoint.prototype._encode=function _encode(e){var t=this.curve.p.byteLength();var r=this.getX().toArray(\"be\",t);if(e)return[this.getY().isEven()?2:3].concat(r);return[4].concat(r,this.getY().toArray(\"be\",t))};BasePoint.prototype.encode=function encode(e,t){return n.encode(this._encode(t),e)};BasePoint.prototype.precompute=function precompute(e){if(this.precomputed)return this;var t={doubles:null,naf:null,beta:null};t.naf=this._getNAFPoints(8);t.doubles=this._getDoubles(4,e);t.beta=this._getBeta();this.precomputed=t;return this};BasePoint.prototype._hasDoubles=function _hasDoubles(e){if(!this.precomputed)return false;var t=this.precomputed.doubles;if(!t)return false;return t.points.length>=Math.ceil((e.bitLength()+1)/t.step)};BasePoint.prototype._getDoubles=function _getDoubles(e,t){if(this.precomputed&&this.precomputed.doubles)return this.precomputed.doubles;var r=[this];var i=this;for(var n=0;n<t;n+=e){for(var a=0;a<e;a++)i=i.dbl();r.push(i)}return{step:e,points:r}};BasePoint.prototype._getNAFPoints=function _getNAFPoints(e){if(this.precomputed&&this.precomputed.naf)return this.precomputed.naf;var t=[this];var r=(1<<e)-1;var i=r===1?null:this.dbl();for(var n=1;n<r;n++)t[n]=t[n-1].add(i);return{wnd:e,points:t}};BasePoint.prototype._getBeta=function _getBeta(){return null};BasePoint.prototype.dblp=function dblp(e){var t=this;for(var r=0;r<e;r++)t=t.dbl();return t}},2705:function(e,t,r){\"use strict\";var i=r(4401);var n=r(711);var a=r(3782);var s=r(2727);var o=i.assert;function EdwardsCurve(e){this.twisted=(e.a|0)!==1;this.mOneA=this.twisted&&(e.a|0)===-1;this.extended=this.mOneA;s.call(this,\"edwards\",e);this.a=new n(e.a,16).umod(this.red.m);this.a=this.a.toRed(this.red);this.c=new n(e.c,16).toRed(this.red);this.c2=this.c.redSqr();this.d=new n(e.d,16).toRed(this.red);this.dd=this.d.redAdd(this.d);o(!this.twisted||this.c.fromRed().cmpn(1)===0);this.oneC=(e.c|0)===1}a(EdwardsCurve,s);e.exports=EdwardsCurve;EdwardsCurve.prototype._mulA=function _mulA(e){if(this.mOneA)return e.redNeg();else return this.a.redMul(e)};EdwardsCurve.prototype._mulC=function _mulC(e){if(this.oneC)return e;else return this.c.redMul(e)};EdwardsCurve.prototype.jpoint=function jpoint(e,t,r,i){return this.point(e,t,r,i)};EdwardsCurve.prototype.pointFromX=function pointFromX(e,t){e=new n(e,16);if(!e.red)e=e.toRed(this.red);var r=e.redSqr();var i=this.c2.redSub(this.a.redMul(r));var a=this.one.redSub(this.c2.redMul(this.d).redMul(r));var s=i.redMul(a.redInvm());var o=s.redSqrt();if(o.redSqr().redSub(s).cmp(this.zero)!==0)throw new Error(\"invalid point\");var h=o.fromRed().isOdd();if(t&&!h||!t&&h)o=o.redNeg();return this.point(e,o)};EdwardsCurve.prototype.pointFromY=function pointFromY(e,t){e=new n(e,16);if(!e.red)e=e.toRed(this.red);var r=e.redSqr();var i=r.redSub(this.c2);var a=r.redMul(this.d).redMul(this.c2).redSub(this.a);var s=i.redMul(a.redInvm());if(s.cmp(this.zero)===0){if(t)throw new Error(\"invalid point\");else return this.point(this.zero,e)}var o=s.redSqrt();if(o.redSqr().redSub(s).cmp(this.zero)!==0)throw new Error(\"invalid point\");if(o.fromRed().isOdd()!==t)o=o.redNeg();return this.point(o,e)};EdwardsCurve.prototype.validate=function validate(e){if(e.isInfinity())return true;e.normalize();var t=e.x.redSqr();var r=e.y.redSqr();var i=t.redMul(this.a).redAdd(r);var n=this.c2.redMul(this.one.redAdd(this.d.redMul(t).redMul(r)));return i.cmp(n)===0};function Point(e,t,r,i,a){s.BasePoint.call(this,e,\"projective\");if(t===null&&r===null&&i===null){this.x=this.curve.zero;this.y=this.curve.one;this.z=this.curve.one;this.t=this.curve.zero;this.zOne=true}else{this.x=new n(t,16);this.y=new n(r,16);this.z=i?new n(i,16):this.curve.one;this.t=a&&new n(a,16);if(!this.x.red)this.x=this.x.toRed(this.curve.red);if(!this.y.red)this.y=this.y.toRed(this.curve.red);if(!this.z.red)this.z=this.z.toRed(this.curve.red);if(this.t&&!this.t.red)this.t=this.t.toRed(this.curve.red);this.zOne=this.z===this.curve.one;if(this.curve.extended&&!this.t){this.t=this.x.redMul(this.y);if(!this.zOne)this.t=this.t.redMul(this.z.redInvm())}}}a(Point,s.BasePoint);EdwardsCurve.prototype.pointFromJSON=function pointFromJSON(e){return Point.fromJSON(this,e)};EdwardsCurve.prototype.point=function point(e,t,r,i){return new Point(this,e,t,r,i)};Point.fromJSON=function fromJSON(e,t){return new Point(e,t[0],t[1],t[2])};Point.prototype.inspect=function inspect(){if(this.isInfinity())return\"<EC Point Infinity>\";return\"<EC Point x: \"+this.x.fromRed().toString(16,2)+\" y: \"+this.y.fromRed().toString(16,2)+\" z: \"+this.z.fromRed().toString(16,2)+\">\"};Point.prototype.isInfinity=function isInfinity(){return this.x.cmpn(0)===0&&(this.y.cmp(this.z)===0||this.zOne&&this.y.cmp(this.curve.c)===0)};Point.prototype._extDbl=function _extDbl(){var e=this.x.redSqr();var t=this.y.redSqr();var r=this.z.redSqr();r=r.redIAdd(r);var i=this.curve._mulA(e);var n=this.x.redAdd(this.y).redSqr().redISub(e).redISub(t);var a=i.redAdd(t);var s=a.redSub(r);var o=i.redSub(t);var h=n.redMul(s);var u=a.redMul(o);var d=n.redMul(o);var c=s.redMul(a);return this.curve.point(h,u,c,d)};Point.prototype._projDbl=function _projDbl(){var e=this.x.redAdd(this.y).redSqr();var t=this.x.redSqr();var r=this.y.redSqr();var i;var n;var a;if(this.curve.twisted){var s=this.curve._mulA(t);var o=s.redAdd(r);if(this.zOne){i=e.redSub(t).redSub(r).redMul(o.redSub(this.curve.two));n=o.redMul(s.redSub(r));a=o.redSqr().redSub(o).redSub(o)}else{var h=this.z.redSqr();var u=o.redSub(h).redISub(h);i=e.redSub(t).redISub(r).redMul(u);n=o.redMul(s.redSub(r));a=o.redMul(u)}}else{var s=t.redAdd(r);var h=this.curve._mulC(this.z).redSqr();var u=s.redSub(h).redSub(h);i=this.curve._mulC(e.redISub(s)).redMul(u);n=this.curve._mulC(s).redMul(t.redISub(r));a=s.redMul(u)}return this.curve.point(i,n,a)};Point.prototype.dbl=function dbl(){if(this.isInfinity())return this;if(this.curve.extended)return this._extDbl();else return this._projDbl()};Point.prototype._extAdd=function _extAdd(e){var t=this.y.redSub(this.x).redMul(e.y.redSub(e.x));var r=this.y.redAdd(this.x).redMul(e.y.redAdd(e.x));var i=this.t.redMul(this.curve.dd).redMul(e.t);var n=this.z.redMul(e.z.redAdd(e.z));var a=r.redSub(t);var s=n.redSub(i);var o=n.redAdd(i);var h=r.redAdd(t);var u=a.redMul(s);var d=o.redMul(h);var c=a.redMul(h);var l=s.redMul(o);return this.curve.point(u,d,l,c)};Point.prototype._projAdd=function _projAdd(e){var t=this.z.redMul(e.z);var r=t.redSqr();var i=this.x.redMul(e.x);var n=this.y.redMul(e.y);var a=this.curve.d.redMul(i).redMul(n);var s=r.redSub(a);var o=r.redAdd(a);var h=this.x.redAdd(this.y).redMul(e.x.redAdd(e.y)).redISub(i).redISub(n);var u=t.redMul(s).redMul(h);var d;var c;if(this.curve.twisted){d=t.redMul(o).redMul(n.redSub(this.curve._mulA(i)));c=s.redMul(o)}else{d=t.redMul(o).redMul(n.redSub(i));c=this.curve._mulC(s).redMul(o)}return this.curve.point(u,d,c)};Point.prototype.add=function add(e){if(this.isInfinity())return e;if(e.isInfinity())return this;if(this.curve.extended)return this._extAdd(e);else return this._projAdd(e)};Point.prototype.mul=function mul(e){if(this._hasDoubles(e))return this.curve._fixedNafMul(this,e);else return this.curve._wnafMul(this,e)};Point.prototype.mulAdd=function mulAdd(e,t,r){return this.curve._wnafMulAdd(1,[this,t],[e,r],2,false)};Point.prototype.jmulAdd=function jmulAdd(e,t,r){return this.curve._wnafMulAdd(1,[this,t],[e,r],2,true)};Point.prototype.normalize=function normalize(){if(this.zOne)return this;var e=this.z.redInvm();this.x=this.x.redMul(e);this.y=this.y.redMul(e);if(this.t)this.t=this.t.redMul(e);this.z=this.curve.one;this.zOne=true;return this};Point.prototype.neg=function neg(){return this.curve.point(this.x.redNeg(),this.y,this.z,this.t&&this.t.redNeg())};Point.prototype.getX=function getX(){this.normalize();return this.x.fromRed()};Point.prototype.getY=function getY(){this.normalize();return this.y.fromRed()};Point.prototype.eq=function eq(e){return this===e||this.getX().cmp(e.getX())===0&&this.getY().cmp(e.getY())===0};Point.prototype.eqXToP=function eqXToP(e){var t=e.toRed(this.curve.red).redMul(this.z);if(this.x.cmp(t)===0)return true;var r=e.clone();var i=this.curve.redN.redMul(this.z);for(;;){r.iadd(this.curve.n);if(r.cmp(this.curve.p)>=0)return false;t.redIAdd(i);if(this.x.cmp(t)===0)return true}};Point.prototype.toP=Point.prototype.normalize;Point.prototype.mixedAdd=Point.prototype.add},9359:function(e,t,r){\"use strict\";var i=t;i.base=r(2727);i.short=r(4720);i.mont=r(6653);i.edwards=r(2705)},6653:function(e,t,r){\"use strict\";var i=r(711);var n=r(3782);var a=r(2727);var s=r(4401);function MontCurve(e){a.call(this,\"mont\",e);this.a=new i(e.a,16).toRed(this.red);this.b=new i(e.b,16).toRed(this.red);this.i4=new i(4).toRed(this.red).redInvm();this.two=new i(2).toRed(this.red);this.a24=this.i4.redMul(this.a.redAdd(this.two))}n(MontCurve,a);e.exports=MontCurve;MontCurve.prototype.validate=function validate(e){var t=e.normalize().x;var r=t.redSqr();var i=r.redMul(t).redAdd(r.redMul(this.a)).redAdd(t);var n=i.redSqrt();return n.redSqr().cmp(i)===0};function Point(e,t,r){a.BasePoint.call(this,e,\"projective\");if(t===null&&r===null){this.x=this.curve.one;this.z=this.curve.zero}else{this.x=new i(t,16);this.z=new i(r,16);if(!this.x.red)this.x=this.x.toRed(this.curve.red);if(!this.z.red)this.z=this.z.toRed(this.curve.red)}}n(Point,a.BasePoint);MontCurve.prototype.decodePoint=function decodePoint(e,t){return this.point(s.toArray(e,t),1)};MontCurve.prototype.point=function point(e,t){return new Point(this,e,t)};MontCurve.prototype.pointFromJSON=function pointFromJSON(e){return Point.fromJSON(this,e)};Point.prototype.precompute=function precompute(){};Point.prototype._encode=function _encode(){return this.getX().toArray(\"be\",this.curve.p.byteLength())};Point.fromJSON=function fromJSON(e,t){return new Point(e,t[0],t[1]||e.one)};Point.prototype.inspect=function inspect(){if(this.isInfinity())return\"<EC Point Infinity>\";return\"<EC Point x: \"+this.x.fromRed().toString(16,2)+\" z: \"+this.z.fromRed().toString(16,2)+\">\"};Point.prototype.isInfinity=function isInfinity(){return this.z.cmpn(0)===0};Point.prototype.dbl=function dbl(){var e=this.x.redAdd(this.z);var t=e.redSqr();var r=this.x.redSub(this.z);var i=r.redSqr();var n=t.redSub(i);var a=t.redMul(i);var s=n.redMul(i.redAdd(this.curve.a24.redMul(n)));return this.curve.point(a,s)};Point.prototype.add=function add(){throw new Error(\"Not supported on Montgomery curve\")};Point.prototype.diffAdd=function diffAdd(e,t){var r=this.x.redAdd(this.z);var i=this.x.redSub(this.z);var n=e.x.redAdd(e.z);var a=e.x.redSub(e.z);var s=a.redMul(r);var o=n.redMul(i);var h=t.z.redMul(s.redAdd(o).redSqr());var u=t.x.redMul(s.redISub(o).redSqr());return this.curve.point(h,u)};Point.prototype.mul=function mul(e){var t=e.clone();var r=this;var i=this.curve.point(null,null);var n=this;for(var a=[];t.cmpn(0)!==0;t.iushrn(1))a.push(t.andln(1));for(var s=a.length-1;s>=0;s--){if(a[s]===0){r=r.diffAdd(i,n);i=i.dbl()}else{i=r.diffAdd(i,n);r=r.dbl()}}return i};Point.prototype.mulAdd=function mulAdd(){throw new Error(\"Not supported on Montgomery curve\")};Point.prototype.jumlAdd=function jumlAdd(){throw new Error(\"Not supported on Montgomery curve\")};Point.prototype.eq=function eq(e){return this.getX().cmp(e.getX())===0};Point.prototype.normalize=function normalize(){this.x=this.x.redMul(this.z.redInvm());this.z=this.curve.one;return this};Point.prototype.getX=function getX(){this.normalize();return this.x.fromRed()}},4720:function(e,t,r){\"use strict\";var i=r(4401);var n=r(711);var a=r(3782);var s=r(2727);var o=i.assert;function ShortCurve(e){s.call(this,\"short\",e);this.a=new n(e.a,16).toRed(this.red);this.b=new n(e.b,16).toRed(this.red);this.tinv=this.two.redInvm();this.zeroA=this.a.fromRed().cmpn(0)===0;this.threeA=this.a.fromRed().sub(this.p).cmpn(-3)===0;this.endo=this._getEndomorphism(e);this._endoWnafT1=new Array(4);this._endoWnafT2=new Array(4)}a(ShortCurve,s);e.exports=ShortCurve;ShortCurve.prototype._getEndomorphism=function _getEndomorphism(e){if(!this.zeroA||!this.g||!this.n||this.p.modn(3)!==1)return;var t;var r;if(e.beta){t=new n(e.beta,16).toRed(this.red)}else{var i=this._getEndoRoots(this.p);t=i[0].cmp(i[1])<0?i[0]:i[1];t=t.toRed(this.red)}if(e.lambda){r=new n(e.lambda,16)}else{var a=this._getEndoRoots(this.n);if(this.g.mul(a[0]).x.cmp(this.g.x.redMul(t))===0){r=a[0]}else{r=a[1];o(this.g.mul(r).x.cmp(this.g.x.redMul(t))===0)}}var s;if(e.basis){s=e.basis.map((function(e){return{a:new n(e.a,16),b:new n(e.b,16)}}))}else{s=this._getEndoBasis(r)}return{beta:t,lambda:r,basis:s}};ShortCurve.prototype._getEndoRoots=function _getEndoRoots(e){var t=e===this.p?this.red:n.mont(e);var r=new n(2).toRed(t).redInvm();var i=r.redNeg();var a=new n(3).toRed(t).redNeg().redSqrt().redMul(r);var s=i.redAdd(a).fromRed();var o=i.redSub(a).fromRed();return[s,o]};ShortCurve.prototype._getEndoBasis=function _getEndoBasis(e){var t=this.n.ushrn(Math.floor(this.n.bitLength()/2));var r=e;var i=this.n.clone();var a=new n(1);var s=new n(0);var o=new n(0);var h=new n(1);var u;var d;var c;var l;var p;var v;var b;var m=0;var y;var g;while(r.cmpn(0)!==0){var _=i.div(r);y=i.sub(_.mul(r));g=o.sub(_.mul(a));var w=h.sub(_.mul(s));if(!c&&y.cmp(t)<0){u=b.neg();d=a;c=y.neg();l=g}else if(c&&++m===2){break}b=y;i=r;r=y;o=a;a=g;h=s;s=w}p=y.neg();v=g;var M=c.sqr().add(l.sqr());var B=p.sqr().add(v.sqr());if(B.cmp(M)>=0){p=u;v=d}if(c.negative){c=c.neg();l=l.neg()}if(p.negative){p=p.neg();v=v.neg()}return[{a:c,b:l},{a:p,b:v}]};ShortCurve.prototype._endoSplit=function _endoSplit(e){var t=this.endo.basis;var r=t[0];var i=t[1];var n=i.b.mul(e).divRound(this.n);var a=r.b.neg().mul(e).divRound(this.n);var s=n.mul(r.a);var o=a.mul(i.a);var h=n.mul(r.b);var u=a.mul(i.b);var d=e.sub(s).sub(o);var c=h.add(u).neg();return{k1:d,k2:c}};ShortCurve.prototype.pointFromX=function pointFromX(e,t){e=new n(e,16);if(!e.red)e=e.toRed(this.red);var r=e.redSqr().redMul(e).redIAdd(e.redMul(this.a)).redIAdd(this.b);var i=r.redSqrt();if(i.redSqr().redSub(r).cmp(this.zero)!==0)throw new Error(\"invalid point\");var a=i.fromRed().isOdd();if(t&&!a||!t&&a)i=i.redNeg();return this.point(e,i)};ShortCurve.prototype.validate=function validate(e){if(e.inf)return true;var t=e.x;var r=e.y;var i=this.a.redMul(t);var n=t.redSqr().redMul(t).redIAdd(i).redIAdd(this.b);return r.redSqr().redISub(n).cmpn(0)===0};ShortCurve.prototype._endoWnafMulAdd=function _endoWnafMulAdd(e,t,r){var i=this._endoWnafT1;var n=this._endoWnafT2;for(var a=0;a<e.length;a++){var s=this._endoSplit(t[a]);var o=e[a];var h=o._getBeta();if(s.k1.negative){s.k1.ineg();o=o.neg(true)}if(s.k2.negative){s.k2.ineg();h=h.neg(true)}i[a*2]=o;i[a*2+1]=h;n[a*2]=s.k1;n[a*2+1]=s.k2}var u=this._wnafMulAdd(1,i,n,a*2,r);for(var d=0;d<a*2;d++){i[d]=null;n[d]=null}return u};function Point(e,t,r,i){s.BasePoint.call(this,e,\"affine\");if(t===null&&r===null){this.x=null;this.y=null;this.inf=true}else{this.x=new n(t,16);this.y=new n(r,16);if(i){this.x.forceRed(this.curve.red);this.y.forceRed(this.curve.red)}if(!this.x.red)this.x=this.x.toRed(this.curve.red);if(!this.y.red)this.y=this.y.toRed(this.curve.red);this.inf=false}}a(Point,s.BasePoint);ShortCurve.prototype.point=function point(e,t,r){return new Point(this,e,t,r)};ShortCurve.prototype.pointFromJSON=function pointFromJSON(e,t){return Point.fromJSON(this,e,t)};Point.prototype._getBeta=function _getBeta(){if(!this.curve.endo)return;var e=this.precomputed;if(e&&e.beta)return e.beta;var t=this.curve.point(this.x.redMul(this.curve.endo.beta),this.y);if(e){var r=this.curve;var endoMul=function(e){return r.point(e.x.redMul(r.endo.beta),e.y)};e.beta=t;t.precomputed={beta:null,naf:e.naf&&{wnd:e.naf.wnd,points:e.naf.points.map(endoMul)},doubles:e.doubles&&{step:e.doubles.step,points:e.doubles.points.map(endoMul)}}}return t};Point.prototype.toJSON=function toJSON(){if(!this.precomputed)return[this.x,this.y];return[this.x,this.y,this.precomputed&&{doubles:this.precomputed.doubles&&{step:this.precomputed.doubles.step,points:this.precomputed.doubles.points.slice(1)},naf:this.precomputed.naf&&{wnd:this.precomputed.naf.wnd,points:this.precomputed.naf.points.slice(1)}}]};Point.fromJSON=function fromJSON(e,t,r){if(typeof t===\"string\")t=JSON.parse(t);var i=e.point(t[0],t[1],r);if(!t[2])return i;function obj2point(t){return e.point(t[0],t[1],r)}var n=t[2];i.precomputed={beta:null,doubles:n.doubles&&{step:n.doubles.step,points:[i].concat(n.doubles.points.map(obj2point))},naf:n.naf&&{wnd:n.naf.wnd,points:[i].concat(n.naf.points.map(obj2point))}};return i};Point.prototype.inspect=function inspect(){if(this.isInfinity())return\"<EC Point Infinity>\";return\"<EC Point x: \"+this.x.fromRed().toString(16,2)+\" y: \"+this.y.fromRed().toString(16,2)+\">\"};Point.prototype.isInfinity=function isInfinity(){return this.inf};Point.prototype.add=function add(e){if(this.inf)return e;if(e.inf)return this;if(this.eq(e))return this.dbl();if(this.neg().eq(e))return this.curve.point(null,null);if(this.x.cmp(e.x)===0)return this.curve.point(null,null);var t=this.y.redSub(e.y);if(t.cmpn(0)!==0)t=t.redMul(this.x.redSub(e.x).redInvm());var r=t.redSqr().redISub(this.x).redISub(e.x);var i=t.redMul(this.x.redSub(r)).redISub(this.y);return this.curve.point(r,i)};Point.prototype.dbl=function dbl(){if(this.inf)return this;var e=this.y.redAdd(this.y);if(e.cmpn(0)===0)return this.curve.point(null,null);var t=this.curve.a;var r=this.x.redSqr();var i=e.redInvm();var n=r.redAdd(r).redIAdd(r).redIAdd(t).redMul(i);var a=n.redSqr().redISub(this.x.redAdd(this.x));var s=n.redMul(this.x.redSub(a)).redISub(this.y);return this.curve.point(a,s)};Point.prototype.getX=function getX(){return this.x.fromRed()};Point.prototype.getY=function getY(){return this.y.fromRed()};Point.prototype.mul=function mul(e){e=new n(e,16);if(this.isInfinity())return this;else if(this._hasDoubles(e))return this.curve._fixedNafMul(this,e);else if(this.curve.endo)return this.curve._endoWnafMulAdd([this],[e]);else return this.curve._wnafMul(this,e)};Point.prototype.mulAdd=function mulAdd(e,t,r){var i=[this,t];var n=[e,r];if(this.curve.endo)return this.curve._endoWnafMulAdd(i,n);else return this.curve._wnafMulAdd(1,i,n,2)};Point.prototype.jmulAdd=function jmulAdd(e,t,r){var i=[this,t];var n=[e,r];if(this.curve.endo)return this.curve._endoWnafMulAdd(i,n,true);else return this.curve._wnafMulAdd(1,i,n,2,true)};Point.prototype.eq=function eq(e){return this===e||this.inf===e.inf&&(this.inf||this.x.cmp(e.x)===0&&this.y.cmp(e.y)===0)};Point.prototype.neg=function neg(e){if(this.inf)return this;var t=this.curve.point(this.x,this.y.redNeg());if(e&&this.precomputed){var r=this.precomputed;var negate=function(e){return e.neg()};t.precomputed={naf:r.naf&&{wnd:r.naf.wnd,points:r.naf.points.map(negate)},doubles:r.doubles&&{step:r.doubles.step,points:r.doubles.points.map(negate)}}}return t};Point.prototype.toJ=function toJ(){if(this.inf)return this.curve.jpoint(null,null,null);var e=this.curve.jpoint(this.x,this.y,this.curve.one);return e};function JPoint(e,t,r,i){s.BasePoint.call(this,e,\"jacobian\");if(t===null&&r===null&&i===null){this.x=this.curve.one;this.y=this.curve.one;this.z=new n(0)}else{this.x=new n(t,16);this.y=new n(r,16);this.z=new n(i,16)}if(!this.x.red)this.x=this.x.toRed(this.curve.red);if(!this.y.red)this.y=this.y.toRed(this.curve.red);if(!this.z.red)this.z=this.z.toRed(this.curve.red);this.zOne=this.z===this.curve.one}a(JPoint,s.BasePoint);ShortCurve.prototype.jpoint=function jpoint(e,t,r){return new JPoint(this,e,t,r)};JPoint.prototype.toP=function toP(){if(this.isInfinity())return this.curve.point(null,null);var e=this.z.redInvm();var t=e.redSqr();var r=this.x.redMul(t);var i=this.y.redMul(t).redMul(e);return this.curve.point(r,i)};JPoint.prototype.neg=function neg(){return this.curve.jpoint(this.x,this.y.redNeg(),this.z)};JPoint.prototype.add=function add(e){if(this.isInfinity())return e;if(e.isInfinity())return this;var t=e.z.redSqr();var r=this.z.redSqr();var i=this.x.redMul(t);var n=e.x.redMul(r);var a=this.y.redMul(t.redMul(e.z));var s=e.y.redMul(r.redMul(this.z));var o=i.redSub(n);var h=a.redSub(s);if(o.cmpn(0)===0){if(h.cmpn(0)!==0)return this.curve.jpoint(null,null,null);else return this.dbl()}var u=o.redSqr();var d=u.redMul(o);var c=i.redMul(u);var l=h.redSqr().redIAdd(d).redISub(c).redISub(c);var p=h.redMul(c.redISub(l)).redISub(a.redMul(d));var v=this.z.redMul(e.z).redMul(o);return this.curve.jpoint(l,p,v)};JPoint.prototype.mixedAdd=function mixedAdd(e){if(this.isInfinity())return e.toJ();if(e.isInfinity())return this;var t=this.z.redSqr();var r=this.x;var i=e.x.redMul(t);var n=this.y;var a=e.y.redMul(t).redMul(this.z);var s=r.redSub(i);var o=n.redSub(a);if(s.cmpn(0)===0){if(o.cmpn(0)!==0)return this.curve.jpoint(null,null,null);else return this.dbl()}var h=s.redSqr();var u=h.redMul(s);var d=r.redMul(h);var c=o.redSqr().redIAdd(u).redISub(d).redISub(d);var l=o.redMul(d.redISub(c)).redISub(n.redMul(u));var p=this.z.redMul(s);return this.curve.jpoint(c,l,p)};JPoint.prototype.dblp=function dblp(e){if(e===0)return this;if(this.isInfinity())return this;if(!e)return this.dbl();if(this.curve.zeroA||this.curve.threeA){var t=this;for(var r=0;r<e;r++)t=t.dbl();return t}var i=this.curve.a;var n=this.curve.tinv;var a=this.x;var s=this.y;var o=this.z;var h=o.redSqr().redSqr();var u=s.redAdd(s);for(var r=0;r<e;r++){var d=a.redSqr();var c=u.redSqr();var l=c.redSqr();var p=d.redAdd(d).redIAdd(d).redIAdd(i.redMul(h));var v=a.redMul(c);var b=p.redSqr().redISub(v.redAdd(v));var m=v.redISub(b);var y=p.redMul(m);y=y.redIAdd(y).redISub(l);var g=u.redMul(o);if(r+1<e)h=h.redMul(l);a=b;o=g;u=y}return this.curve.jpoint(a,u.redMul(n),o)};JPoint.prototype.dbl=function dbl(){if(this.isInfinity())return this;if(this.curve.zeroA)return this._zeroDbl();else if(this.curve.threeA)return this._threeDbl();else return this._dbl()};JPoint.prototype._zeroDbl=function _zeroDbl(){var e;var t;var r;if(this.zOne){var i=this.x.redSqr();var n=this.y.redSqr();var a=n.redSqr();var s=this.x.redAdd(n).redSqr().redISub(i).redISub(a);s=s.redIAdd(s);var o=i.redAdd(i).redIAdd(i);var h=o.redSqr().redISub(s).redISub(s);var u=a.redIAdd(a);u=u.redIAdd(u);u=u.redIAdd(u);e=h;t=o.redMul(s.redISub(h)).redISub(u);r=this.y.redAdd(this.y)}else{var d=this.x.redSqr();var c=this.y.redSqr();var l=c.redSqr();var p=this.x.redAdd(c).redSqr().redISub(d).redISub(l);p=p.redIAdd(p);var v=d.redAdd(d).redIAdd(d);var b=v.redSqr();var m=l.redIAdd(l);m=m.redIAdd(m);m=m.redIAdd(m);e=b.redISub(p).redISub(p);t=v.redMul(p.redISub(e)).redISub(m);r=this.y.redMul(this.z);r=r.redIAdd(r)}return this.curve.jpoint(e,t,r)};JPoint.prototype._threeDbl=function _threeDbl(){var e;var t;var r;if(this.zOne){var i=this.x.redSqr();var n=this.y.redSqr();var a=n.redSqr();var s=this.x.redAdd(n).redSqr().redISub(i).redISub(a);s=s.redIAdd(s);var o=i.redAdd(i).redIAdd(i).redIAdd(this.curve.a);var h=o.redSqr().redISub(s).redISub(s);e=h;var u=a.redIAdd(a);u=u.redIAdd(u);u=u.redIAdd(u);t=o.redMul(s.redISub(h)).redISub(u);r=this.y.redAdd(this.y)}else{var d=this.z.redSqr();var c=this.y.redSqr();var l=this.x.redMul(c);var p=this.x.redSub(d).redMul(this.x.redAdd(d));p=p.redAdd(p).redIAdd(p);var v=l.redIAdd(l);v=v.redIAdd(v);var b=v.redAdd(v);e=p.redSqr().redISub(b);r=this.y.redAdd(this.z).redSqr().redISub(c).redISub(d);var m=c.redSqr();m=m.redIAdd(m);m=m.redIAdd(m);m=m.redIAdd(m);t=p.redMul(v.redISub(e)).redISub(m)}return this.curve.jpoint(e,t,r)};JPoint.prototype._dbl=function _dbl(){var e=this.curve.a;var t=this.x;var r=this.y;var i=this.z;var n=i.redSqr().redSqr();var a=t.redSqr();var s=r.redSqr();var o=a.redAdd(a).redIAdd(a).redIAdd(e.redMul(n));var h=t.redAdd(t);h=h.redIAdd(h);var u=h.redMul(s);var d=o.redSqr().redISub(u.redAdd(u));var c=u.redISub(d);var l=s.redSqr();l=l.redIAdd(l);l=l.redIAdd(l);l=l.redIAdd(l);var p=o.redMul(c).redISub(l);var v=r.redAdd(r).redMul(i);return this.curve.jpoint(d,p,v)};JPoint.prototype.trpl=function trpl(){if(!this.curve.zeroA)return this.dbl().add(this);var e=this.x.redSqr();var t=this.y.redSqr();var r=this.z.redSqr();var i=t.redSqr();var n=e.redAdd(e).redIAdd(e);var a=n.redSqr();var s=this.x.redAdd(t).redSqr().redISub(e).redISub(i);s=s.redIAdd(s);s=s.redAdd(s).redIAdd(s);s=s.redISub(a);var o=s.redSqr();var h=i.redIAdd(i);h=h.redIAdd(h);h=h.redIAdd(h);h=h.redIAdd(h);var u=n.redIAdd(s).redSqr().redISub(a).redISub(o).redISub(h);var d=t.redMul(u);d=d.redIAdd(d);d=d.redIAdd(d);var c=this.x.redMul(o).redISub(d);c=c.redIAdd(c);c=c.redIAdd(c);var l=this.y.redMul(u.redMul(h.redISub(u)).redISub(s.redMul(o)));l=l.redIAdd(l);l=l.redIAdd(l);l=l.redIAdd(l);var p=this.z.redAdd(s).redSqr().redISub(r).redISub(o);return this.curve.jpoint(c,l,p)};JPoint.prototype.mul=function mul(e,t){e=new n(e,t);return this.curve._wnafMul(this,e)};JPoint.prototype.eq=function eq(e){if(e.type===\"affine\")return this.eq(e.toJ());if(this===e)return true;var t=this.z.redSqr();var r=e.z.redSqr();if(this.x.redMul(r).redISub(e.x.redMul(t)).cmpn(0)!==0)return false;var i=t.redMul(this.z);var n=r.redMul(e.z);return this.y.redMul(n).redISub(e.y.redMul(i)).cmpn(0)===0};JPoint.prototype.eqXToP=function eqXToP(e){var t=this.z.redSqr();var r=e.toRed(this.curve.red).redMul(t);if(this.x.cmp(r)===0)return true;var i=e.clone();var n=this.curve.redN.redMul(t);for(;;){i.iadd(this.curve.n);if(i.cmp(this.curve.p)>=0)return false;r.redIAdd(n);if(this.x.cmp(r)===0)return true}};JPoint.prototype.inspect=function inspect(){if(this.isInfinity())return\"<EC JPoint Infinity>\";return\"<EC JPoint x: \"+this.x.toString(16,2)+\" y: \"+this.y.toString(16,2)+\" z: \"+this.z.toString(16,2)+\">\"};JPoint.prototype.isInfinity=function isInfinity(){return this.z.cmpn(0)===0}},6226:function(e,t,r){\"use strict\";var i=t;var n=r(7028);var a=r(9359);var s=r(4401);var o=s.assert;function PresetCurve(e){if(e.type===\"short\")this.curve=new a.short(e);else if(e.type===\"edwards\")this.curve=new a.edwards(e);else this.curve=new a.mont(e);this.g=this.curve.g;this.n=this.curve.n;this.hash=e.hash;o(this.g.validate(),\"Invalid curve\");o(this.g.mul(this.n).isInfinity(),\"Invalid curve, G*N != O\")}i.PresetCurve=PresetCurve;function defineCurve(e,t){Object.defineProperty(i,e,{configurable:true,enumerable:true,get:function(){var r=new PresetCurve(t);Object.defineProperty(i,e,{configurable:true,enumerable:true,value:r});return r}})}defineCurve(\"p192\",{type:\"short\",prime:\"p192\",p:\"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff\",a:\"ffffffff ffffffff ffffffff fffffffe ffffffff fffffffc\",b:\"64210519 e59c80e7 0fa7e9ab 72243049 feb8deec c146b9b1\",n:\"ffffffff ffffffff ffffffff 99def836 146bc9b1 b4d22831\",hash:n.sha256,gRed:false,g:[\"188da80e b03090f6 7cbf20eb 43a18800 f4ff0afd 82ff1012\",\"07192b95 ffc8da78 631011ed 6b24cdd5 73f977a1 1e794811\"]});defineCurve(\"p224\",{type:\"short\",prime:\"p224\",p:\"ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001\",a:\"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff fffffffe\",b:\"b4050a85 0c04b3ab f5413256 5044b0b7 d7bfd8ba 270b3943 2355ffb4\",n:\"ffffffff ffffffff ffffffff ffff16a2 e0b8f03e 13dd2945 5c5c2a3d\",hash:n.sha256,gRed:false,g:[\"b70e0cbd 6bb4bf7f 321390b9 4a03c1d3 56c21122 343280d6 115c1d21\",\"bd376388 b5f723fb 4c22dfe6 cd4375a0 5a074764 44d58199 85007e34\"]});defineCurve(\"p256\",{type:\"short\",prime:null,p:\"ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff ffffffff\",a:\"ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff fffffffc\",b:\"5ac635d8 aa3a93e7 b3ebbd55 769886bc 651d06b0 cc53b0f6 3bce3c3e 27d2604b\",n:\"ffffffff 00000000 ffffffff ffffffff bce6faad a7179e84 f3b9cac2 fc632551\",hash:n.sha256,gRed:false,g:[\"6b17d1f2 e12c4247 f8bce6e5 63a440f2 77037d81 2deb33a0 f4a13945 d898c296\",\"4fe342e2 fe1a7f9b 8ee7eb4a 7c0f9e16 2bce3357 6b315ece cbb64068 37bf51f5\"]});defineCurve(\"p384\",{type:\"short\",prime:null,p:\"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff \"+\"fffffffe ffffffff 00000000 00000000 ffffffff\",a:\"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff \"+\"fffffffe ffffffff 00000000 00000000 fffffffc\",b:\"b3312fa7 e23ee7e4 988e056b e3f82d19 181d9c6e fe814112 0314088f \"+\"5013875a c656398d 8a2ed19d 2a85c8ed d3ec2aef\",n:\"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff c7634d81 \"+\"f4372ddf 581a0db2 48b0a77a ecec196a ccc52973\",hash:n.sha384,gRed:false,g:[\"aa87ca22 be8b0537 8eb1c71e f320ad74 6e1d3b62 8ba79b98 59f741e0 82542a38 \"+\"5502f25d bf55296c 3a545e38 72760ab7\",\"3617de4a 96262c6f 5d9e98bf 9292dc29 f8f41dbd 289a147c e9da3113 b5f0b8c0 \"+\"0a60b1ce 1d7e819d 7a431d7c 90ea0e5f\"]});defineCurve(\"p521\",{type:\"short\",prime:null,p:\"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff \"+\"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff \"+\"ffffffff ffffffff ffffffff ffffffff ffffffff\",a:\"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff \"+\"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff \"+\"ffffffff ffffffff ffffffff ffffffff fffffffc\",b:\"00000051 953eb961 8e1c9a1f 929a21a0 b68540ee a2da725b \"+\"99b315f3 b8b48991 8ef109e1 56193951 ec7e937b 1652c0bd \"+\"3bb1bf07 3573df88 3d2c34f1 ef451fd4 6b503f00\",n:\"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff \"+\"ffffffff ffffffff fffffffa 51868783 bf2f966b 7fcc0148 \"+\"f709a5d0 3bb5c9b8 899c47ae bb6fb71e 91386409\",hash:n.sha512,gRed:false,g:[\"000000c6 858e06b7 0404e9cd 9e3ecb66 2395b442 9c648139 \"+\"053fb521 f828af60 6b4d3dba a14b5e77 efe75928 fe1dc127 \"+\"a2ffa8de 3348b3c1 856a429b f97e7e31 c2e5bd66\",\"00000118 39296a78 9a3bc004 5c8a5fb4 2c7d1bd9 98f54449 \"+\"579b4468 17afbd17 273e662c 97ee7299 5ef42640 c550b901 \"+\"3fad0761 353c7086 a272c240 88be9476 9fd16650\"]});defineCurve(\"curve25519\",{type:\"mont\",prime:\"p25519\",p:\"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed\",a:\"76d06\",b:\"1\",n:\"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed\",hash:n.sha256,gRed:false,g:[\"9\"]});defineCurve(\"ed25519\",{type:\"edwards\",prime:\"p25519\",p:\"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed\",a:\"-1\",c:\"1\",d:\"52036cee2b6ffe73 8cc740797779e898 00700a4d4141d8ab 75eb4dca135978a3\",n:\"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed\",hash:n.sha256,gRed:false,g:[\"216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a\",\"6666666666666666666666666666666666666666666666666666666666666658\"]});var h;try{h=r(9702)}catch(e){h=undefined}defineCurve(\"secp256k1\",{type:\"short\",prime:\"k256\",p:\"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f\",a:\"0\",b:\"7\",n:\"ffffffff ffffffff ffffffff fffffffe baaedce6 af48a03b bfd25e8c d0364141\",h:\"1\",hash:n.sha256,beta:\"7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee\",lambda:\"5363ad4cc05c30e0a5261c028812645a122e22ea20816678df02967c1b23bd72\",basis:[{a:\"3086d221a7d46bcde86c90e49284eb15\",b:\"-e4437ed6010e88286f547fa90abfe4c3\"},{a:\"114ca50f7a8e2f3f657c1108d9d44cfd8\",b:\"3086d221a7d46bcde86c90e49284eb15\"}],gRed:false,g:[\"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\",\"483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8\",h]})},4088:function(e,t,r){\"use strict\";var i=r(711);var n=r(4910);var a=r(4401);var s=r(6226);var o=r(3500);var h=a.assert;var u=r(4724);var d=r(7526);function EC(e){if(!(this instanceof EC))return new EC(e);if(typeof e===\"string\"){h(s.hasOwnProperty(e),\"Unknown curve \"+e);e=s[e]}if(e instanceof s.PresetCurve)e={curve:e};this.curve=e.curve.curve;this.n=this.curve.n;this.nh=this.n.ushrn(1);this.g=this.curve.g;this.g=e.curve.g;this.g.precompute(e.curve.n.bitLength()+1);this.hash=e.hash||e.curve.hash}e.exports=EC;EC.prototype.keyPair=function keyPair(e){return new u(this,e)};EC.prototype.keyFromPrivate=function keyFromPrivate(e,t){return u.fromPrivate(this,e,t)};EC.prototype.keyFromPublic=function keyFromPublic(e,t){return u.fromPublic(this,e,t)};EC.prototype.genKeyPair=function genKeyPair(e){if(!e)e={};var t=new n({hash:this.hash,pers:e.pers,persEnc:e.persEnc||\"utf8\",entropy:e.entropy||o(this.hash.hmacStrength),entropyEnc:e.entropy&&e.entropyEnc||\"utf8\",nonce:this.n.toArray()});var r=this.n.byteLength();var a=this.n.sub(new i(2));do{var s=new i(t.generate(r));if(s.cmp(a)>0)continue;s.iaddn(1);return this.keyFromPrivate(s)}while(true)};EC.prototype._truncateToN=function truncateToN(e,t){var r=e.byteLength()*8-this.n.bitLength();if(r>0)e=e.ushrn(r);if(!t&&e.cmp(this.n)>=0)return e.sub(this.n);else return e};EC.prototype.sign=function sign(e,t,r,a){if(typeof r===\"object\"){a=r;r=null}if(!a)a={};t=this.keyFromPrivate(t,r);e=this._truncateToN(new i(e,16));var s=this.n.byteLength();var o=t.getPrivate().toArray(\"be\",s);var h=e.toArray(\"be\",s);var u=new n({hash:this.hash,entropy:o,nonce:h,pers:a.pers,persEnc:a.persEnc||\"utf8\"});var c=this.n.sub(new i(1));for(var l=0;true;l++){var p=a.k?a.k(l):new i(u.generate(this.n.byteLength()));p=this._truncateToN(p,true);if(p.cmpn(1)<=0||p.cmp(c)>=0)continue;var v=this.g.mul(p);if(v.isInfinity())continue;var b=v.getX();var m=b.umod(this.n);if(m.cmpn(0)===0)continue;var y=p.invm(this.n).mul(m.mul(t.getPrivate()).iadd(e));y=y.umod(this.n);if(y.cmpn(0)===0)continue;var g=(v.getY().isOdd()?1:0)|(b.cmp(m)!==0?2:0);if(a.canonical&&y.cmp(this.nh)>0){y=this.n.sub(y);g^=1}return new d({r:m,s:y,recoveryParam:g})}};EC.prototype.verify=function verify(e,t,r,n){e=this._truncateToN(new i(e,16));r=this.keyFromPublic(r,n);t=new d(t,\"hex\");var a=t.r;var s=t.s;if(a.cmpn(1)<0||a.cmp(this.n)>=0)return false;if(s.cmpn(1)<0||s.cmp(this.n)>=0)return false;var o=s.invm(this.n);var h=o.mul(e).umod(this.n);var u=o.mul(a).umod(this.n);if(!this.curve._maxwellTrick){var c=this.g.mulAdd(h,r.getPublic(),u);if(c.isInfinity())return false;return c.getX().umod(this.n).cmp(a)===0}var c=this.g.jmulAdd(h,r.getPublic(),u);if(c.isInfinity())return false;return c.eqXToP(a)};EC.prototype.recoverPubKey=function(e,t,r,n){h((3&r)===r,\"The recovery param is more than two bits\");t=new d(t,n);var a=this.n;var s=new i(e);var o=t.r;var u=t.s;var c=r&1;var l=r>>1;if(o.cmp(this.curve.p.umod(this.curve.n))>=0&&l)throw new Error(\"Unable to find sencond key candinate\");if(l)o=this.curve.pointFromX(o.add(this.curve.n),c);else o=this.curve.pointFromX(o,c);var p=t.r.invm(a);var v=a.sub(s).mul(p).umod(a);var b=u.mul(p).umod(a);return this.g.mulAdd(v,o,b)};EC.prototype.getKeyRecoveryParam=function(e,t,r,i){t=new d(t,i);if(t.recoveryParam!==null)return t.recoveryParam;for(var n=0;n<4;n++){var a;try{a=this.recoverPubKey(e,t,n)}catch(e){continue}if(a.eq(r))return n}throw new Error(\"Unable to find valid recovery factor\")}},4724:function(e,t,r){\"use strict\";var i=r(711);var n=r(4401);var a=n.assert;function KeyPair(e,t){this.ec=e;this.priv=null;this.pub=null;if(t.priv)this._importPrivate(t.priv,t.privEnc);if(t.pub)this._importPublic(t.pub,t.pubEnc)}e.exports=KeyPair;KeyPair.fromPublic=function fromPublic(e,t,r){if(t instanceof KeyPair)return t;return new KeyPair(e,{pub:t,pubEnc:r})};KeyPair.fromPrivate=function fromPrivate(e,t,r){if(t instanceof KeyPair)return t;return new KeyPair(e,{priv:t,privEnc:r})};KeyPair.prototype.validate=function validate(){var e=this.getPublic();if(e.isInfinity())return{result:false,reason:\"Invalid public key\"};if(!e.validate())return{result:false,reason:\"Public key is not a point\"};if(!e.mul(this.ec.curve.n).isInfinity())return{result:false,reason:\"Public key * N != O\"};return{result:true,reason:null}};KeyPair.prototype.getPublic=function getPublic(e,t){if(typeof e===\"string\"){t=e;e=null}if(!this.pub)this.pub=this.ec.g.mul(this.priv);if(!t)return this.pub;return this.pub.encode(t,e)};KeyPair.prototype.getPrivate=function getPrivate(e){if(e===\"hex\")return this.priv.toString(16,2);else return this.priv};KeyPair.prototype._importPrivate=function _importPrivate(e,t){this.priv=new i(e,t||16);this.priv=this.priv.umod(this.ec.curve.n)};KeyPair.prototype._importPublic=function _importPublic(e,t){if(e.x||e.y){if(this.ec.curve.type===\"mont\"){a(e.x,\"Need x coordinate\")}else if(this.ec.curve.type===\"short\"||this.ec.curve.type===\"edwards\"){a(e.x&&e.y,\"Need both x and y coordinate\")}this.pub=this.ec.curve.point(e.x,e.y);return}this.pub=this.ec.curve.decodePoint(e,t)};KeyPair.prototype.derive=function derive(e){return e.mul(this.priv).getX()};KeyPair.prototype.sign=function sign(e,t,r){return this.ec.sign(e,this,t,r)};KeyPair.prototype.verify=function verify(e,t){return this.ec.verify(e,t,this)};KeyPair.prototype.inspect=function inspect(){return\"<Key priv: \"+(this.priv&&this.priv.toString(16,2))+\" pub: \"+(this.pub&&this.pub.inspect())+\" >\"}},7526:function(e,t,r){\"use strict\";var i=r(711);var n=r(4401);var a=n.assert;function Signature(e,t){if(e instanceof Signature)return e;if(this._importDER(e,t))return;a(e.r&&e.s,\"Signature without r or s\");this.r=new i(e.r,16);this.s=new i(e.s,16);if(e.recoveryParam===undefined)this.recoveryParam=null;else this.recoveryParam=e.recoveryParam}e.exports=Signature;function Position(){this.place=0}function getLength(e,t){var r=e[t.place++];if(!(r&128)){return r}var i=r&15;if(i===0||i>4){return false}var n=0;for(var a=0,s=t.place;a<i;a++,s++){n<<=8;n|=e[s];n>>>=0}if(n<=127){return false}t.place=s;return n}function rmPadding(e){var t=0;var r=e.length-1;while(!e[t]&&!(e[t+1]&128)&&t<r){t++}if(t===0){return e}return e.slice(t)}Signature.prototype._importDER=function _importDER(e,t){e=n.toArray(e,t);var r=new Position;if(e[r.place++]!==48){return false}var a=getLength(e,r);if(a===false){return false}if(a+r.place!==e.length){return false}if(e[r.place++]!==2){return false}var s=getLength(e,r);if(s===false){return false}var o=e.slice(r.place,s+r.place);r.place+=s;if(e[r.place++]!==2){return false}var h=getLength(e,r);if(h===false){return false}if(e.length!==h+r.place){return false}var u=e.slice(r.place,h+r.place);if(o[0]===0){if(o[1]&128){o=o.slice(1)}else{return false}}if(u[0]===0){if(u[1]&128){u=u.slice(1)}else{return false}}this.r=new i(o);this.s=new i(u);this.recoveryParam=null;return true};function constructLength(e,t){if(t<128){e.push(t);return}var r=1+(Math.log(t)/Math.LN2>>>3);e.push(r|128);while(--r){e.push(t>>>(r<<3)&255)}e.push(t)}Signature.prototype.toDER=function toDER(e){var t=this.r.toArray();var r=this.s.toArray();if(t[0]&128)t=[0].concat(t);if(r[0]&128)r=[0].concat(r);t=rmPadding(t);r=rmPadding(r);while(!r[0]&&!(r[1]&128)){r=r.slice(1)}var i=[2];constructLength(i,t.length);i=i.concat(t);i.push(2);constructLength(i,r.length);var a=i.concat(r);var s=[48];constructLength(s,a.length);s=s.concat(a);return n.encode(s,e)}},8511:function(e,t,r){\"use strict\";var i=r(7028);var n=r(6226);var a=r(4401);var s=a.assert;var o=a.parseBytes;var h=r(9917);var u=r(9314);function EDDSA(e){s(e===\"ed25519\",\"only tested with ed25519 so far\");if(!(this instanceof EDDSA))return new EDDSA(e);var e=n[e].curve;this.curve=e;this.g=e.g;this.g.precompute(e.n.bitLength()+1);this.pointClass=e.point().constructor;this.encodingLength=Math.ceil(e.n.bitLength()/8);this.hash=i.sha512}e.exports=EDDSA;EDDSA.prototype.sign=function sign(e,t){e=o(e);var r=this.keyFromSecret(t);var i=this.hashInt(r.messagePrefix(),e);var n=this.g.mul(i);var a=this.encodePoint(n);var s=this.hashInt(a,r.pubBytes(),e).mul(r.priv());var h=i.add(s).umod(this.curve.n);return this.makeSignature({R:n,S:h,Rencoded:a})};EDDSA.prototype.verify=function verify(e,t,r){e=o(e);t=this.makeSignature(t);var i=this.keyFromPublic(r);var n=this.hashInt(t.Rencoded(),i.pubBytes(),e);var a=this.g.mul(t.S());var s=t.R().add(i.pub().mul(n));return s.eq(a)};EDDSA.prototype.hashInt=function hashInt(){var e=this.hash();for(var t=0;t<arguments.length;t++)e.update(arguments[t]);return a.intFromLE(e.digest()).umod(this.curve.n)};EDDSA.prototype.keyFromPublic=function keyFromPublic(e){return h.fromPublic(this,e)};EDDSA.prototype.keyFromSecret=function keyFromSecret(e){return h.fromSecret(this,e)};EDDSA.prototype.makeSignature=function makeSignature(e){if(e instanceof u)return e;return new u(this,e)};EDDSA.prototype.encodePoint=function encodePoint(e){var t=e.getY().toArray(\"le\",this.encodingLength);t[this.encodingLength-1]|=e.getX().isOdd()?128:0;return t};EDDSA.prototype.decodePoint=function decodePoint(e){e=a.parseBytes(e);var t=e.length-1;var r=e.slice(0,t).concat(e[t]&~128);var i=(e[t]&128)!==0;var n=a.intFromLE(r);return this.curve.pointFromY(n,i)};EDDSA.prototype.encodeInt=function encodeInt(e){return e.toArray(\"le\",this.encodingLength)};EDDSA.prototype.decodeInt=function decodeInt(e){return a.intFromLE(e)};EDDSA.prototype.isPoint=function isPoint(e){return e instanceof this.pointClass}},9917:function(e,t,r){\"use strict\";var i=r(4401);var n=i.assert;var a=i.parseBytes;var s=i.cachedProperty;function KeyPair(e,t){this.eddsa=e;this._secret=a(t.secret);if(e.isPoint(t.pub))this._pub=t.pub;else this._pubBytes=a(t.pub)}KeyPair.fromPublic=function fromPublic(e,t){if(t instanceof KeyPair)return t;return new KeyPair(e,{pub:t})};KeyPair.fromSecret=function fromSecret(e,t){if(t instanceof KeyPair)return t;return new KeyPair(e,{secret:t})};KeyPair.prototype.secret=function secret(){return this._secret};s(KeyPair,\"pubBytes\",(function pubBytes(){return this.eddsa.encodePoint(this.pub())}));s(KeyPair,\"pub\",(function pub(){if(this._pubBytes)return this.eddsa.decodePoint(this._pubBytes);return this.eddsa.g.mul(this.priv())}));s(KeyPair,\"privBytes\",(function privBytes(){var e=this.eddsa;var t=this.hash();var r=e.encodingLength-1;var i=t.slice(0,e.encodingLength);i[0]&=248;i[r]&=127;i[r]|=64;return i}));s(KeyPair,\"priv\",(function priv(){return this.eddsa.decodeInt(this.privBytes())}));s(KeyPair,\"hash\",(function hash(){return this.eddsa.hash().update(this.secret()).digest()}));s(KeyPair,\"messagePrefix\",(function messagePrefix(){return this.hash().slice(this.eddsa.encodingLength)}));KeyPair.prototype.sign=function sign(e){n(this._secret,\"KeyPair can only verify\");return this.eddsa.sign(e,this)};KeyPair.prototype.verify=function verify(e,t){return this.eddsa.verify(e,t,this)};KeyPair.prototype.getSecret=function getSecret(e){n(this._secret,\"KeyPair is public only\");return i.encode(this.secret(),e)};KeyPair.prototype.getPublic=function getPublic(e){return i.encode(this.pubBytes(),e)};e.exports=KeyPair},9314:function(e,t,r){\"use strict\";var i=r(711);var n=r(4401);var a=n.assert;var s=n.cachedProperty;var o=n.parseBytes;function Signature(e,t){this.eddsa=e;if(typeof t!==\"object\")t=o(t);if(Array.isArray(t)){t={R:t.slice(0,e.encodingLength),S:t.slice(e.encodingLength)}}a(t.R&&t.S,\"Signature without R or S\");if(e.isPoint(t.R))this._R=t.R;if(t.S instanceof i)this._S=t.S;this._Rencoded=Array.isArray(t.R)?t.R:t.Rencoded;this._Sencoded=Array.isArray(t.S)?t.S:t.Sencoded}s(Signature,\"S\",(function S(){return this.eddsa.decodeInt(this.Sencoded())}));s(Signature,\"R\",(function R(){return this.eddsa.decodePoint(this.Rencoded())}));s(Signature,\"Rencoded\",(function Rencoded(){return this.eddsa.encodePoint(this.R())}));s(Signature,\"Sencoded\",(function Sencoded(){return this.eddsa.encodeInt(this.S())}));Signature.prototype.toBytes=function toBytes(){return this.Rencoded().concat(this.Sencoded())};Signature.prototype.toHex=function toHex(){return n.encode(this.toBytes(),\"hex\").toUpperCase()};e.exports=Signature},9702:function(e){e.exports={doubles:{step:4,points:[[\"e60fce93b59e9ec53011aabc21c23e97b2a31369b87a5ae9c44ee89e2a6dec0a\",\"f7e3507399e595929db99f34f57937101296891e44d23f0be1f32cce69616821\"],[\"8282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508\",\"11f8a8098557dfe45e8256e830b60ace62d613ac2f7b17bed31b6eaff6e26caf\"],[\"175e159f728b865a72f99cc6c6fc846de0b93833fd2222ed73fce5b551e5b739\",\"d3506e0d9e3c79eba4ef97a51ff71f5eacb5955add24345c6efa6ffee9fed695\"],[\"363d90d447b00c9c99ceac05b6262ee053441c7e55552ffe526bad8f83ff4640\",\"4e273adfc732221953b445397f3363145b9a89008199ecb62003c7f3bee9de9\"],[\"8b4b5f165df3c2be8c6244b5b745638843e4a781a15bcd1b69f79a55dffdf80c\",\"4aad0a6f68d308b4b3fbd7813ab0da04f9e336546162ee56b3eff0c65fd4fd36\"],[\"723cbaa6e5db996d6bf771c00bd548c7b700dbffa6c0e77bcb6115925232fcda\",\"96e867b5595cc498a921137488824d6e2660a0653779494801dc069d9eb39f5f\"],[\"eebfa4d493bebf98ba5feec812c2d3b50947961237a919839a533eca0e7dd7fa\",\"5d9a8ca3970ef0f269ee7edaf178089d9ae4cdc3a711f712ddfd4fdae1de8999\"],[\"100f44da696e71672791d0a09b7bde459f1215a29b3c03bfefd7835b39a48db0\",\"cdd9e13192a00b772ec8f3300c090666b7ff4a18ff5195ac0fbd5cd62bc65a09\"],[\"e1031be262c7ed1b1dc9227a4a04c017a77f8d4464f3b3852c8acde6e534fd2d\",\"9d7061928940405e6bb6a4176597535af292dd419e1ced79a44f18f29456a00d\"],[\"feea6cae46d55b530ac2839f143bd7ec5cf8b266a41d6af52d5e688d9094696d\",\"e57c6b6c97dce1bab06e4e12bf3ecd5c981c8957cc41442d3155debf18090088\"],[\"da67a91d91049cdcb367be4be6ffca3cfeed657d808583de33fa978bc1ec6cb1\",\"9bacaa35481642bc41f463f7ec9780e5dec7adc508f740a17e9ea8e27a68be1d\"],[\"53904faa0b334cdda6e000935ef22151ec08d0f7bb11069f57545ccc1a37b7c0\",\"5bc087d0bc80106d88c9eccac20d3c1c13999981e14434699dcb096b022771c8\"],[\"8e7bcd0bd35983a7719cca7764ca906779b53a043a9b8bcaeff959f43ad86047\",\"10b7770b2a3da4b3940310420ca9514579e88e2e47fd68b3ea10047e8460372a\"],[\"385eed34c1cdff21e6d0818689b81bde71a7f4f18397e6690a841e1599c43862\",\"283bebc3e8ea23f56701de19e9ebf4576b304eec2086dc8cc0458fe5542e5453\"],[\"6f9d9b803ecf191637c73a4413dfa180fddf84a5947fbc9c606ed86c3fac3a7\",\"7c80c68e603059ba69b8e2a30e45c4d47ea4dd2f5c281002d86890603a842160\"],[\"3322d401243c4e2582a2147c104d6ecbf774d163db0f5e5313b7e0e742d0e6bd\",\"56e70797e9664ef5bfb019bc4ddaf9b72805f63ea2873af624f3a2e96c28b2a0\"],[\"85672c7d2de0b7da2bd1770d89665868741b3f9af7643397721d74d28134ab83\",\"7c481b9b5b43b2eb6374049bfa62c2e5e77f17fcc5298f44c8e3094f790313a6\"],[\"948bf809b1988a46b06c9f1919413b10f9226c60f668832ffd959af60c82a0a\",\"53a562856dcb6646dc6b74c5d1c3418c6d4dff08c97cd2bed4cb7f88d8c8e589\"],[\"6260ce7f461801c34f067ce0f02873a8f1b0e44dfc69752accecd819f38fd8e8\",\"bc2da82b6fa5b571a7f09049776a1ef7ecd292238051c198c1a84e95b2b4ae17\"],[\"e5037de0afc1d8d43d8348414bbf4103043ec8f575bfdc432953cc8d2037fa2d\",\"4571534baa94d3b5f9f98d09fb990bddbd5f5b03ec481f10e0e5dc841d755bda\"],[\"e06372b0f4a207adf5ea905e8f1771b4e7e8dbd1c6a6c5b725866a0ae4fce725\",\"7a908974bce18cfe12a27bb2ad5a488cd7484a7787104870b27034f94eee31dd\"],[\"213c7a715cd5d45358d0bbf9dc0ce02204b10bdde2a3f58540ad6908d0559754\",\"4b6dad0b5ae462507013ad06245ba190bb4850f5f36a7eeddff2c27534b458f2\"],[\"4e7c272a7af4b34e8dbb9352a5419a87e2838c70adc62cddf0cc3a3b08fbd53c\",\"17749c766c9d0b18e16fd09f6def681b530b9614bff7dd33e0b3941817dcaae6\"],[\"fea74e3dbe778b1b10f238ad61686aa5c76e3db2be43057632427e2840fb27b6\",\"6e0568db9b0b13297cf674deccb6af93126b596b973f7b77701d3db7f23cb96f\"],[\"76e64113f677cf0e10a2570d599968d31544e179b760432952c02a4417bdde39\",\"c90ddf8dee4e95cf577066d70681f0d35e2a33d2b56d2032b4b1752d1901ac01\"],[\"c738c56b03b2abe1e8281baa743f8f9a8f7cc643df26cbee3ab150242bcbb891\",\"893fb578951ad2537f718f2eacbfbbbb82314eef7880cfe917e735d9699a84c3\"],[\"d895626548b65b81e264c7637c972877d1d72e5f3a925014372e9f6588f6c14b\",\"febfaa38f2bc7eae728ec60818c340eb03428d632bb067e179363ed75d7d991f\"],[\"b8da94032a957518eb0f6433571e8761ceffc73693e84edd49150a564f676e03\",\"2804dfa44805a1e4d7c99cc9762808b092cc584d95ff3b511488e4e74efdf6e7\"],[\"e80fea14441fb33a7d8adab9475d7fab2019effb5156a792f1a11778e3c0df5d\",\"eed1de7f638e00771e89768ca3ca94472d155e80af322ea9fcb4291b6ac9ec78\"],[\"a301697bdfcd704313ba48e51d567543f2a182031efd6915ddc07bbcc4e16070\",\"7370f91cfb67e4f5081809fa25d40f9b1735dbf7c0a11a130c0d1a041e177ea1\"],[\"90ad85b389d6b936463f9d0512678de208cc330b11307fffab7ac63e3fb04ed4\",\"e507a3620a38261affdcbd9427222b839aefabe1582894d991d4d48cb6ef150\"],[\"8f68b9d2f63b5f339239c1ad981f162ee88c5678723ea3351b7b444c9ec4c0da\",\"662a9f2dba063986de1d90c2b6be215dbbea2cfe95510bfdf23cbf79501fff82\"],[\"e4f3fb0176af85d65ff99ff9198c36091f48e86503681e3e6686fd5053231e11\",\"1e63633ad0ef4f1c1661a6d0ea02b7286cc7e74ec951d1c9822c38576feb73bc\"],[\"8c00fa9b18ebf331eb961537a45a4266c7034f2f0d4e1d0716fb6eae20eae29e\",\"efa47267fea521a1a9dc343a3736c974c2fadafa81e36c54e7d2a4c66702414b\"],[\"e7a26ce69dd4829f3e10cec0a9e98ed3143d084f308b92c0997fddfc60cb3e41\",\"2a758e300fa7984b471b006a1aafbb18d0a6b2c0420e83e20e8a9421cf2cfd51\"],[\"b6459e0ee3662ec8d23540c223bcbdc571cbcb967d79424f3cf29eb3de6b80ef\",\"67c876d06f3e06de1dadf16e5661db3c4b3ae6d48e35b2ff30bf0b61a71ba45\"],[\"d68a80c8280bb840793234aa118f06231d6f1fc67e73c5a5deda0f5b496943e8\",\"db8ba9fff4b586d00c4b1f9177b0e28b5b0e7b8f7845295a294c84266b133120\"],[\"324aed7df65c804252dc0270907a30b09612aeb973449cea4095980fc28d3d5d\",\"648a365774b61f2ff130c0c35aec1f4f19213b0c7e332843967224af96ab7c84\"],[\"4df9c14919cde61f6d51dfdbe5fee5dceec4143ba8d1ca888e8bd373fd054c96\",\"35ec51092d8728050974c23a1d85d4b5d506cdc288490192ebac06cad10d5d\"],[\"9c3919a84a474870faed8a9c1cc66021523489054d7f0308cbfc99c8ac1f98cd\",\"ddb84f0f4a4ddd57584f044bf260e641905326f76c64c8e6be7e5e03d4fc599d\"],[\"6057170b1dd12fdf8de05f281d8e06bb91e1493a8b91d4cc5a21382120a959e5\",\"9a1af0b26a6a4807add9a2daf71df262465152bc3ee24c65e899be932385a2a8\"],[\"a576df8e23a08411421439a4518da31880cef0fba7d4df12b1a6973eecb94266\",\"40a6bf20e76640b2c92b97afe58cd82c432e10a7f514d9f3ee8be11ae1b28ec8\"],[\"7778a78c28dec3e30a05fe9629de8c38bb30d1f5cf9a3a208f763889be58ad71\",\"34626d9ab5a5b22ff7098e12f2ff580087b38411ff24ac563b513fc1fd9f43ac\"],[\"928955ee637a84463729fd30e7afd2ed5f96274e5ad7e5cb09eda9c06d903ac\",\"c25621003d3f42a827b78a13093a95eeac3d26efa8a8d83fc5180e935bcd091f\"],[\"85d0fef3ec6db109399064f3a0e3b2855645b4a907ad354527aae75163d82751\",\"1f03648413a38c0be29d496e582cf5663e8751e96877331582c237a24eb1f962\"],[\"ff2b0dce97eece97c1c9b6041798b85dfdfb6d8882da20308f5404824526087e\",\"493d13fef524ba188af4c4dc54d07936c7b7ed6fb90e2ceb2c951e01f0c29907\"],[\"827fbbe4b1e880ea9ed2b2e6301b212b57f1ee148cd6dd28780e5e2cf856e241\",\"c60f9c923c727b0b71bef2c67d1d12687ff7a63186903166d605b68baec293ec\"],[\"eaa649f21f51bdbae7be4ae34ce6e5217a58fdce7f47f9aa7f3b58fa2120e2b3\",\"be3279ed5bbbb03ac69a80f89879aa5a01a6b965f13f7e59d47a5305ba5ad93d\"],[\"e4a42d43c5cf169d9391df6decf42ee541b6d8f0c9a137401e23632dda34d24f\",\"4d9f92e716d1c73526fc99ccfb8ad34ce886eedfa8d8e4f13a7f7131deba9414\"],[\"1ec80fef360cbdd954160fadab352b6b92b53576a88fea4947173b9d4300bf19\",\"aeefe93756b5340d2f3a4958a7abbf5e0146e77f6295a07b671cdc1cc107cefd\"],[\"146a778c04670c2f91b00af4680dfa8bce3490717d58ba889ddb5928366642be\",\"b318e0ec3354028add669827f9d4b2870aaa971d2f7e5ed1d0b297483d83efd0\"],[\"fa50c0f61d22e5f07e3acebb1aa07b128d0012209a28b9776d76a8793180eef9\",\"6b84c6922397eba9b72cd2872281a68a5e683293a57a213b38cd8d7d3f4f2811\"],[\"da1d61d0ca721a11b1a5bf6b7d88e8421a288ab5d5bba5220e53d32b5f067ec2\",\"8157f55a7c99306c79c0766161c91e2966a73899d279b48a655fba0f1ad836f1\"],[\"a8e282ff0c9706907215ff98e8fd416615311de0446f1e062a73b0610d064e13\",\"7f97355b8db81c09abfb7f3c5b2515888b679a3e50dd6bd6cef7c73111f4cc0c\"],[\"174a53b9c9a285872d39e56e6913cab15d59b1fa512508c022f382de8319497c\",\"ccc9dc37abfc9c1657b4155f2c47f9e6646b3a1d8cb9854383da13ac079afa73\"],[\"959396981943785c3d3e57edf5018cdbe039e730e4918b3d884fdff09475b7ba\",\"2e7e552888c331dd8ba0386a4b9cd6849c653f64c8709385e9b8abf87524f2fd\"],[\"d2a63a50ae401e56d645a1153b109a8fcca0a43d561fba2dbb51340c9d82b151\",\"e82d86fb6443fcb7565aee58b2948220a70f750af484ca52d4142174dcf89405\"],[\"64587e2335471eb890ee7896d7cfdc866bacbdbd3839317b3436f9b45617e073\",\"d99fcdd5bf6902e2ae96dd6447c299a185b90a39133aeab358299e5e9faf6589\"],[\"8481bde0e4e4d885b3a546d3e549de042f0aa6cea250e7fd358d6c86dd45e458\",\"38ee7b8cba5404dd84a25bf39cecb2ca900a79c42b262e556d64b1b59779057e\"],[\"13464a57a78102aa62b6979ae817f4637ffcfed3c4b1ce30bcd6303f6caf666b\",\"69be159004614580ef7e433453ccb0ca48f300a81d0942e13f495a907f6ecc27\"],[\"bc4a9df5b713fe2e9aef430bcc1dc97a0cd9ccede2f28588cada3a0d2d83f366\",\"d3a81ca6e785c06383937adf4b798caa6e8a9fbfa547b16d758d666581f33c1\"],[\"8c28a97bf8298bc0d23d8c749452a32e694b65e30a9472a3954ab30fe5324caa\",\"40a30463a3305193378fedf31f7cc0eb7ae784f0451cb9459e71dc73cbef9482\"],[\"8ea9666139527a8c1dd94ce4f071fd23c8b350c5a4bb33748c4ba111faccae0\",\"620efabbc8ee2782e24e7c0cfb95c5d735b783be9cf0f8e955af34a30e62b945\"],[\"dd3625faef5ba06074669716bbd3788d89bdde815959968092f76cc4eb9a9787\",\"7a188fa3520e30d461da2501045731ca941461982883395937f68d00c644a573\"],[\"f710d79d9eb962297e4f6232b40e8f7feb2bc63814614d692c12de752408221e\",\"ea98e67232d3b3295d3b535532115ccac8612c721851617526ae47a9c77bfc82\"]]},naf:{wnd:7,points:[[\"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9\",\"388f7b0f632de8140fe337e62a37f3566500a99934c2231b6cb9fd7584b8e672\"],[\"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4\",\"d8ac222636e5e3d6d4dba9dda6c9c426f788271bab0d6840dca87d3aa6ac62d6\"],[\"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc\",\"6aebca40ba255960a3178d6d861a54dba813d0b813fde7b5a5082628087264da\"],[\"acd484e2f0c7f65309ad178a9f559abde09796974c57e714c35f110dfc27ccbe\",\"cc338921b0a7d9fd64380971763b61e9add888a4375f8e0f05cc262ac64f9c37\"],[\"774ae7f858a9411e5ef4246b70c65aac5649980be5c17891bbec17895da008cb\",\"d984a032eb6b5e190243dd56d7b7b365372db1e2dff9d6a8301d74c9c953c61b\"],[\"f28773c2d975288bc7d1d205c3748651b075fbc6610e58cddeeddf8f19405aa8\",\"ab0902e8d880a89758212eb65cdaf473a1a06da521fa91f29b5cb52db03ed81\"],[\"d7924d4f7d43ea965a465ae3095ff41131e5946f3c85f79e44adbcf8e27e080e\",\"581e2872a86c72a683842ec228cc6defea40af2bd896d3a5c504dc9ff6a26b58\"],[\"defdea4cdb677750a420fee807eacf21eb9898ae79b9768766e4faa04a2d4a34\",\"4211ab0694635168e997b0ead2a93daeced1f4a04a95c0f6cfb199f69e56eb77\"],[\"2b4ea0a797a443d293ef5cff444f4979f06acfebd7e86d277475656138385b6c\",\"85e89bc037945d93b343083b5a1c86131a01f60c50269763b570c854e5c09b7a\"],[\"352bbf4a4cdd12564f93fa332ce333301d9ad40271f8107181340aef25be59d5\",\"321eb4075348f534d59c18259dda3e1f4a1b3b2e71b1039c67bd3d8bcf81998c\"],[\"2fa2104d6b38d11b0230010559879124e42ab8dfeff5ff29dc9cdadd4ecacc3f\",\"2de1068295dd865b64569335bd5dd80181d70ecfc882648423ba76b532b7d67\"],[\"9248279b09b4d68dab21a9b066edda83263c3d84e09572e269ca0cd7f5453714\",\"73016f7bf234aade5d1aa71bdea2b1ff3fc0de2a887912ffe54a32ce97cb3402\"],[\"daed4f2be3a8bf278e70132fb0beb7522f570e144bf615c07e996d443dee8729\",\"a69dce4a7d6c98e8d4a1aca87ef8d7003f83c230f3afa726ab40e52290be1c55\"],[\"c44d12c7065d812e8acf28d7cbb19f9011ecd9e9fdf281b0e6a3b5e87d22e7db\",\"2119a460ce326cdc76c45926c982fdac0e106e861edf61c5a039063f0e0e6482\"],[\"6a245bf6dc698504c89a20cfded60853152b695336c28063b61c65cbd269e6b4\",\"e022cf42c2bd4a708b3f5126f16a24ad8b33ba48d0423b6efd5e6348100d8a82\"],[\"1697ffa6fd9de627c077e3d2fe541084ce13300b0bec1146f95ae57f0d0bd6a5\",\"b9c398f186806f5d27561506e4557433a2cf15009e498ae7adee9d63d01b2396\"],[\"605bdb019981718b986d0f07e834cb0d9deb8360ffb7f61df982345ef27a7479\",\"2972d2de4f8d20681a78d93ec96fe23c26bfae84fb14db43b01e1e9056b8c49\"],[\"62d14dab4150bf497402fdc45a215e10dcb01c354959b10cfe31c7e9d87ff33d\",\"80fc06bd8cc5b01098088a1950eed0db01aa132967ab472235f5642483b25eaf\"],[\"80c60ad0040f27dade5b4b06c408e56b2c50e9f56b9b8b425e555c2f86308b6f\",\"1c38303f1cc5c30f26e66bad7fe72f70a65eed4cbe7024eb1aa01f56430bd57a\"],[\"7a9375ad6167ad54aa74c6348cc54d344cc5dc9487d847049d5eabb0fa03c8fb\",\"d0e3fa9eca8726909559e0d79269046bdc59ea10c70ce2b02d499ec224dc7f7\"],[\"d528ecd9b696b54c907a9ed045447a79bb408ec39b68df504bb51f459bc3ffc9\",\"eecf41253136e5f99966f21881fd656ebc4345405c520dbc063465b521409933\"],[\"49370a4b5f43412ea25f514e8ecdad05266115e4a7ecb1387231808f8b45963\",\"758f3f41afd6ed428b3081b0512fd62a54c3f3afbb5b6764b653052a12949c9a\"],[\"77f230936ee88cbbd73df930d64702ef881d811e0e1498e2f1c13eb1fc345d74\",\"958ef42a7886b6400a08266e9ba1b37896c95330d97077cbbe8eb3c7671c60d6\"],[\"f2dac991cc4ce4b9ea44887e5c7c0bce58c80074ab9d4dbaeb28531b7739f530\",\"e0dedc9b3b2f8dad4da1f32dec2531df9eb5fbeb0598e4fd1a117dba703a3c37\"],[\"463b3d9f662621fb1b4be8fbbe2520125a216cdfc9dae3debcba4850c690d45b\",\"5ed430d78c296c3543114306dd8622d7c622e27c970a1de31cb377b01af7307e\"],[\"f16f804244e46e2a09232d4aff3b59976b98fac14328a2d1a32496b49998f247\",\"cedabd9b82203f7e13d206fcdf4e33d92a6c53c26e5cce26d6579962c4e31df6\"],[\"caf754272dc84563b0352b7a14311af55d245315ace27c65369e15f7151d41d1\",\"cb474660ef35f5f2a41b643fa5e460575f4fa9b7962232a5c32f908318a04476\"],[\"2600ca4b282cb986f85d0f1709979d8b44a09c07cb86d7c124497bc86f082120\",\"4119b88753c15bd6a693b03fcddbb45d5ac6be74ab5f0ef44b0be9475a7e4b40\"],[\"7635ca72d7e8432c338ec53cd12220bc01c48685e24f7dc8c602a7746998e435\",\"91b649609489d613d1d5e590f78e6d74ecfc061d57048bad9e76f302c5b9c61\"],[\"754e3239f325570cdbbf4a87deee8a66b7f2b33479d468fbc1a50743bf56cc18\",\"673fb86e5bda30fb3cd0ed304ea49a023ee33d0197a695d0c5d98093c536683\"],[\"e3e6bd1071a1e96aff57859c82d570f0330800661d1c952f9fe2694691d9b9e8\",\"59c9e0bba394e76f40c0aa58379a3cb6a5a2283993e90c4167002af4920e37f5\"],[\"186b483d056a033826ae73d88f732985c4ccb1f32ba35f4b4cc47fdcf04aa6eb\",\"3b952d32c67cf77e2e17446e204180ab21fb8090895138b4a4a797f86e80888b\"],[\"df9d70a6b9876ce544c98561f4be4f725442e6d2b737d9c91a8321724ce0963f\",\"55eb2dafd84d6ccd5f862b785dc39d4ab157222720ef9da217b8c45cf2ba2417\"],[\"5edd5cc23c51e87a497ca815d5dce0f8ab52554f849ed8995de64c5f34ce7143\",\"efae9c8dbc14130661e8cec030c89ad0c13c66c0d17a2905cdc706ab7399a868\"],[\"290798c2b6476830da12fe02287e9e777aa3fba1c355b17a722d362f84614fba\",\"e38da76dcd440621988d00bcf79af25d5b29c094db2a23146d003afd41943e7a\"],[\"af3c423a95d9f5b3054754efa150ac39cd29552fe360257362dfdecef4053b45\",\"f98a3fd831eb2b749a93b0e6f35cfb40c8cd5aa667a15581bc2feded498fd9c6\"],[\"766dbb24d134e745cccaa28c99bf274906bb66b26dcf98df8d2fed50d884249a\",\"744b1152eacbe5e38dcc887980da38b897584a65fa06cedd2c924f97cbac5996\"],[\"59dbf46f8c94759ba21277c33784f41645f7b44f6c596a58ce92e666191abe3e\",\"c534ad44175fbc300f4ea6ce648309a042ce739a7919798cd85e216c4a307f6e\"],[\"f13ada95103c4537305e691e74e9a4a8dd647e711a95e73cb62dc6018cfd87b8\",\"e13817b44ee14de663bf4bc808341f326949e21a6a75c2570778419bdaf5733d\"],[\"7754b4fa0e8aced06d4167a2c59cca4cda1869c06ebadfb6488550015a88522c\",\"30e93e864e669d82224b967c3020b8fa8d1e4e350b6cbcc537a48b57841163a2\"],[\"948dcadf5990e048aa3874d46abef9d701858f95de8041d2a6828c99e2262519\",\"e491a42537f6e597d5d28a3224b1bc25df9154efbd2ef1d2cbba2cae5347d57e\"],[\"7962414450c76c1689c7b48f8202ec37fb224cf5ac0bfa1570328a8a3d7c77ab\",\"100b610ec4ffb4760d5c1fc133ef6f6b12507a051f04ac5760afa5b29db83437\"],[\"3514087834964b54b15b160644d915485a16977225b8847bb0dd085137ec47ca\",\"ef0afbb2056205448e1652c48e8127fc6039e77c15c2378b7e7d15a0de293311\"],[\"d3cc30ad6b483e4bc79ce2c9dd8bc54993e947eb8df787b442943d3f7b527eaf\",\"8b378a22d827278d89c5e9be8f9508ae3c2ad46290358630afb34db04eede0a4\"],[\"1624d84780732860ce1c78fcbfefe08b2b29823db913f6493975ba0ff4847610\",\"68651cf9b6da903e0914448c6cd9d4ca896878f5282be4c8cc06e2a404078575\"],[\"733ce80da955a8a26902c95633e62a985192474b5af207da6df7b4fd5fc61cd4\",\"f5435a2bd2badf7d485a4d8b8db9fcce3e1ef8e0201e4578c54673bc1dc5ea1d\"],[\"15d9441254945064cf1a1c33bbd3b49f8966c5092171e699ef258dfab81c045c\",\"d56eb30b69463e7234f5137b73b84177434800bacebfc685fc37bbe9efe4070d\"],[\"a1d0fcf2ec9de675b612136e5ce70d271c21417c9d2b8aaaac138599d0717940\",\"edd77f50bcb5a3cab2e90737309667f2641462a54070f3d519212d39c197a629\"],[\"e22fbe15c0af8ccc5780c0735f84dbe9a790badee8245c06c7ca37331cb36980\",\"a855babad5cd60c88b430a69f53a1a7a38289154964799be43d06d77d31da06\"],[\"311091dd9860e8e20ee13473c1155f5f69635e394704eaa74009452246cfa9b3\",\"66db656f87d1f04fffd1f04788c06830871ec5a64feee685bd80f0b1286d8374\"],[\"34c1fd04d301be89b31c0442d3e6ac24883928b45a9340781867d4232ec2dbdf\",\"9414685e97b1b5954bd46f730174136d57f1ceeb487443dc5321857ba73abee\"],[\"f219ea5d6b54701c1c14de5b557eb42a8d13f3abbcd08affcc2a5e6b049b8d63\",\"4cb95957e83d40b0f73af4544cccf6b1f4b08d3c07b27fb8d8c2962a400766d1\"],[\"d7b8740f74a8fbaab1f683db8f45de26543a5490bca627087236912469a0b448\",\"fa77968128d9c92ee1010f337ad4717eff15db5ed3c049b3411e0315eaa4593b\"],[\"32d31c222f8f6f0ef86f7c98d3a3335ead5bcd32abdd94289fe4d3091aa824bf\",\"5f3032f5892156e39ccd3d7915b9e1da2e6dac9e6f26e961118d14b8462e1661\"],[\"7461f371914ab32671045a155d9831ea8793d77cd59592c4340f86cbc18347b5\",\"8ec0ba238b96bec0cbdddcae0aa442542eee1ff50c986ea6b39847b3cc092ff6\"],[\"ee079adb1df1860074356a25aa38206a6d716b2c3e67453d287698bad7b2b2d6\",\"8dc2412aafe3be5c4c5f37e0ecc5f9f6a446989af04c4e25ebaac479ec1c8c1e\"],[\"16ec93e447ec83f0467b18302ee620f7e65de331874c9dc72bfd8616ba9da6b5\",\"5e4631150e62fb40d0e8c2a7ca5804a39d58186a50e497139626778e25b0674d\"],[\"eaa5f980c245f6f038978290afa70b6bd8855897f98b6aa485b96065d537bd99\",\"f65f5d3e292c2e0819a528391c994624d784869d7e6ea67fb18041024edc07dc\"],[\"78c9407544ac132692ee1910a02439958ae04877151342ea96c4b6b35a49f51\",\"f3e0319169eb9b85d5404795539a5e68fa1fbd583c064d2462b675f194a3ddb4\"],[\"494f4be219a1a77016dcd838431aea0001cdc8ae7a6fc688726578d9702857a5\",\"42242a969283a5f339ba7f075e36ba2af925ce30d767ed6e55f4b031880d562c\"],[\"a598a8030da6d86c6bc7f2f5144ea549d28211ea58faa70ebf4c1e665c1fe9b5\",\"204b5d6f84822c307e4b4a7140737aec23fc63b65b35f86a10026dbd2d864e6b\"],[\"c41916365abb2b5d09192f5f2dbeafec208f020f12570a184dbadc3e58595997\",\"4f14351d0087efa49d245b328984989d5caf9450f34bfc0ed16e96b58fa9913\"],[\"841d6063a586fa475a724604da03bc5b92a2e0d2e0a36acfe4c73a5514742881\",\"73867f59c0659e81904f9a1c7543698e62562d6744c169ce7a36de01a8d6154\"],[\"5e95bb399a6971d376026947f89bde2f282b33810928be4ded112ac4d70e20d5\",\"39f23f366809085beebfc71181313775a99c9aed7d8ba38b161384c746012865\"],[\"36e4641a53948fd476c39f8a99fd974e5ec07564b5315d8bf99471bca0ef2f66\",\"d2424b1b1abe4eb8164227b085c9aa9456ea13493fd563e06fd51cf5694c78fc\"],[\"336581ea7bfbbb290c191a2f507a41cf5643842170e914faeab27c2c579f726\",\"ead12168595fe1be99252129b6e56b3391f7ab1410cd1e0ef3dcdcabd2fda224\"],[\"8ab89816dadfd6b6a1f2634fcf00ec8403781025ed6890c4849742706bd43ede\",\"6fdcef09f2f6d0a044e654aef624136f503d459c3e89845858a47a9129cdd24e\"],[\"1e33f1a746c9c5778133344d9299fcaa20b0938e8acff2544bb40284b8c5fb94\",\"60660257dd11b3aa9c8ed618d24edff2306d320f1d03010e33a7d2057f3b3b6\"],[\"85b7c1dcb3cec1b7ee7f30ded79dd20a0ed1f4cc18cbcfcfa410361fd8f08f31\",\"3d98a9cdd026dd43f39048f25a8847f4fcafad1895d7a633c6fed3c35e999511\"],[\"29df9fbd8d9e46509275f4b125d6d45d7fbe9a3b878a7af872a2800661ac5f51\",\"b4c4fe99c775a606e2d8862179139ffda61dc861c019e55cd2876eb2a27d84b\"],[\"a0b1cae06b0a847a3fea6e671aaf8adfdfe58ca2f768105c8082b2e449fce252\",\"ae434102edde0958ec4b19d917a6a28e6b72da1834aff0e650f049503a296cf2\"],[\"4e8ceafb9b3e9a136dc7ff67e840295b499dfb3b2133e4ba113f2e4c0e121e5\",\"cf2174118c8b6d7a4b48f6d534ce5c79422c086a63460502b827ce62a326683c\"],[\"d24a44e047e19b6f5afb81c7ca2f69080a5076689a010919f42725c2b789a33b\",\"6fb8d5591b466f8fc63db50f1c0f1c69013f996887b8244d2cdec417afea8fa3\"],[\"ea01606a7a6c9cdd249fdfcfacb99584001edd28abbab77b5104e98e8e3b35d4\",\"322af4908c7312b0cfbfe369f7a7b3cdb7d4494bc2823700cfd652188a3ea98d\"],[\"af8addbf2b661c8a6c6328655eb96651252007d8c5ea31be4ad196de8ce2131f\",\"6749e67c029b85f52a034eafd096836b2520818680e26ac8f3dfbcdb71749700\"],[\"e3ae1974566ca06cc516d47e0fb165a674a3dabcfca15e722f0e3450f45889\",\"2aeabe7e4531510116217f07bf4d07300de97e4874f81f533420a72eeb0bd6a4\"],[\"591ee355313d99721cf6993ffed1e3e301993ff3ed258802075ea8ced397e246\",\"b0ea558a113c30bea60fc4775460c7901ff0b053d25ca2bdeee98f1a4be5d196\"],[\"11396d55fda54c49f19aa97318d8da61fa8584e47b084945077cf03255b52984\",\"998c74a8cd45ac01289d5833a7beb4744ff536b01b257be4c5767bea93ea57a4\"],[\"3c5d2a1ba39c5a1790000738c9e0c40b8dcdfd5468754b6405540157e017aa7a\",\"b2284279995a34e2f9d4de7396fc18b80f9b8b9fdd270f6661f79ca4c81bd257\"],[\"cc8704b8a60a0defa3a99a7299f2e9c3fbc395afb04ac078425ef8a1793cc030\",\"bdd46039feed17881d1e0862db347f8cf395b74fc4bcdc4e940b74e3ac1f1b13\"],[\"c533e4f7ea8555aacd9777ac5cad29b97dd4defccc53ee7ea204119b2889b197\",\"6f0a256bc5efdf429a2fb6242f1a43a2d9b925bb4a4b3a26bb8e0f45eb596096\"],[\"c14f8f2ccb27d6f109f6d08d03cc96a69ba8c34eec07bbcf566d48e33da6593\",\"c359d6923bb398f7fd4473e16fe1c28475b740dd098075e6c0e8649113dc3a38\"],[\"a6cbc3046bc6a450bac24789fa17115a4c9739ed75f8f21ce441f72e0b90e6ef\",\"21ae7f4680e889bb130619e2c0f95a360ceb573c70603139862afd617fa9b9f\"],[\"347d6d9a02c48927ebfb86c1359b1caf130a3c0267d11ce6344b39f99d43cc38\",\"60ea7f61a353524d1c987f6ecec92f086d565ab687870cb12689ff1e31c74448\"],[\"da6545d2181db8d983f7dcb375ef5866d47c67b1bf31c8cf855ef7437b72656a\",\"49b96715ab6878a79e78f07ce5680c5d6673051b4935bd897fea824b77dc208a\"],[\"c40747cc9d012cb1a13b8148309c6de7ec25d6945d657146b9d5994b8feb1111\",\"5ca560753be2a12fc6de6caf2cb489565db936156b9514e1bb5e83037e0fa2d4\"],[\"4e42c8ec82c99798ccf3a610be870e78338c7f713348bd34c8203ef4037f3502\",\"7571d74ee5e0fb92a7a8b33a07783341a5492144cc54bcc40a94473693606437\"],[\"3775ab7089bc6af823aba2e1af70b236d251cadb0c86743287522a1b3b0dedea\",\"be52d107bcfa09d8bcb9736a828cfa7fac8db17bf7a76a2c42ad961409018cf7\"],[\"cee31cbf7e34ec379d94fb814d3d775ad954595d1314ba8846959e3e82f74e26\",\"8fd64a14c06b589c26b947ae2bcf6bfa0149ef0be14ed4d80f448a01c43b1c6d\"],[\"b4f9eaea09b6917619f6ea6a4eb5464efddb58fd45b1ebefcdc1a01d08b47986\",\"39e5c9925b5a54b07433a4f18c61726f8bb131c012ca542eb24a8ac07200682a\"],[\"d4263dfc3d2df923a0179a48966d30ce84e2515afc3dccc1b77907792ebcc60e\",\"62dfaf07a0f78feb30e30d6295853ce189e127760ad6cf7fae164e122a208d54\"],[\"48457524820fa65a4f8d35eb6930857c0032acc0a4a2de422233eeda897612c4\",\"25a748ab367979d98733c38a1fa1c2e7dc6cc07db2d60a9ae7a76aaa49bd0f77\"],[\"dfeeef1881101f2cb11644f3a2afdfc2045e19919152923f367a1767c11cceda\",\"ecfb7056cf1de042f9420bab396793c0c390bde74b4bbdff16a83ae09a9a7517\"],[\"6d7ef6b17543f8373c573f44e1f389835d89bcbc6062ced36c82df83b8fae859\",\"cd450ec335438986dfefa10c57fea9bcc521a0959b2d80bbf74b190dca712d10\"],[\"e75605d59102a5a2684500d3b991f2e3f3c88b93225547035af25af66e04541f\",\"f5c54754a8f71ee540b9b48728473e314f729ac5308b06938360990e2bfad125\"],[\"eb98660f4c4dfaa06a2be453d5020bc99a0c2e60abe388457dd43fefb1ed620c\",\"6cb9a8876d9cb8520609af3add26cd20a0a7cd8a9411131ce85f44100099223e\"],[\"13e87b027d8514d35939f2e6892b19922154596941888336dc3563e3b8dba942\",\"fef5a3c68059a6dec5d624114bf1e91aac2b9da568d6abeb2570d55646b8adf1\"],[\"ee163026e9fd6fe017c38f06a5be6fc125424b371ce2708e7bf4491691e5764a\",\"1acb250f255dd61c43d94ccc670d0f58f49ae3fa15b96623e5430da0ad6c62b2\"],[\"b268f5ef9ad51e4d78de3a750c2dc89b1e626d43505867999932e5db33af3d80\",\"5f310d4b3c99b9ebb19f77d41c1dee018cf0d34fd4191614003e945a1216e423\"],[\"ff07f3118a9df035e9fad85eb6c7bfe42b02f01ca99ceea3bf7ffdba93c4750d\",\"438136d603e858a3a5c440c38eccbaddc1d2942114e2eddd4740d098ced1f0d8\"],[\"8d8b9855c7c052a34146fd20ffb658bea4b9f69e0d825ebec16e8c3ce2b526a1\",\"cdb559eedc2d79f926baf44fb84ea4d44bcf50fee51d7ceb30e2e7f463036758\"],[\"52db0b5384dfbf05bfa9d472d7ae26dfe4b851ceca91b1eba54263180da32b63\",\"c3b997d050ee5d423ebaf66a6db9f57b3180c902875679de924b69d84a7b375\"],[\"e62f9490d3d51da6395efd24e80919cc7d0f29c3f3fa48c6fff543becbd43352\",\"6d89ad7ba4876b0b22c2ca280c682862f342c8591f1daf5170e07bfd9ccafa7d\"],[\"7f30ea2476b399b4957509c88f77d0191afa2ff5cb7b14fd6d8e7d65aaab1193\",\"ca5ef7d4b231c94c3b15389a5f6311e9daff7bb67b103e9880ef4bff637acaec\"],[\"5098ff1e1d9f14fb46a210fada6c903fef0fb7b4a1dd1d9ac60a0361800b7a00\",\"9731141d81fc8f8084d37c6e7542006b3ee1b40d60dfe5362a5b132fd17ddc0\"],[\"32b78c7de9ee512a72895be6b9cbefa6e2f3c4ccce445c96b9f2c81e2778ad58\",\"ee1849f513df71e32efc3896ee28260c73bb80547ae2275ba497237794c8753c\"],[\"e2cb74fddc8e9fbcd076eef2a7c72b0ce37d50f08269dfc074b581550547a4f7\",\"d3aa2ed71c9dd2247a62df062736eb0baddea9e36122d2be8641abcb005cc4a4\"],[\"8438447566d4d7bedadc299496ab357426009a35f235cb141be0d99cd10ae3a8\",\"c4e1020916980a4da5d01ac5e6ad330734ef0d7906631c4f2390426b2edd791f\"],[\"4162d488b89402039b584c6fc6c308870587d9c46f660b878ab65c82c711d67e\",\"67163e903236289f776f22c25fb8a3afc1732f2b84b4e95dbda47ae5a0852649\"],[\"3fad3fa84caf0f34f0f89bfd2dcf54fc175d767aec3e50684f3ba4a4bf5f683d\",\"cd1bc7cb6cc407bb2f0ca647c718a730cf71872e7d0d2a53fa20efcdfe61826\"],[\"674f2600a3007a00568c1a7ce05d0816c1fb84bf1370798f1c69532faeb1a86b\",\"299d21f9413f33b3edf43b257004580b70db57da0b182259e09eecc69e0d38a5\"],[\"d32f4da54ade74abb81b815ad1fb3b263d82d6c692714bcff87d29bd5ee9f08f\",\"f9429e738b8e53b968e99016c059707782e14f4535359d582fc416910b3eea87\"],[\"30e4e670435385556e593657135845d36fbb6931f72b08cb1ed954f1e3ce3ff6\",\"462f9bce619898638499350113bbc9b10a878d35da70740dc695a559eb88db7b\"],[\"be2062003c51cc3004682904330e4dee7f3dcd10b01e580bf1971b04d4cad297\",\"62188bc49d61e5428573d48a74e1c655b1c61090905682a0d5558ed72dccb9bc\"],[\"93144423ace3451ed29e0fb9ac2af211cb6e84a601df5993c419859fff5df04a\",\"7c10dfb164c3425f5c71a3f9d7992038f1065224f72bb9d1d902a6d13037b47c\"],[\"b015f8044f5fcbdcf21ca26d6c34fb8197829205c7b7d2a7cb66418c157b112c\",\"ab8c1e086d04e813744a655b2df8d5f83b3cdc6faa3088c1d3aea1454e3a1d5f\"],[\"d5e9e1da649d97d89e4868117a465a3a4f8a18de57a140d36b3f2af341a21b52\",\"4cb04437f391ed73111a13cc1d4dd0db1693465c2240480d8955e8592f27447a\"],[\"d3ae41047dd7ca065dbf8ed77b992439983005cd72e16d6f996a5316d36966bb\",\"bd1aeb21ad22ebb22a10f0303417c6d964f8cdd7df0aca614b10dc14d125ac46\"],[\"463e2763d885f958fc66cdd22800f0a487197d0a82e377b49f80af87c897b065\",\"bfefacdb0e5d0fd7df3a311a94de062b26b80c61fbc97508b79992671ef7ca7f\"],[\"7985fdfd127c0567c6f53ec1bb63ec3158e597c40bfe747c83cddfc910641917\",\"603c12daf3d9862ef2b25fe1de289aed24ed291e0ec6708703a5bd567f32ed03\"],[\"74a1ad6b5f76e39db2dd249410eac7f99e74c59cb83d2d0ed5ff1543da7703e9\",\"cc6157ef18c9c63cd6193d83631bbea0093e0968942e8c33d5737fd790e0db08\"],[\"30682a50703375f602d416664ba19b7fc9bab42c72747463a71d0896b22f6da3\",\"553e04f6b018b4fa6c8f39e7f311d3176290d0e0f19ca73f17714d9977a22ff8\"],[\"9e2158f0d7c0d5f26c3791efefa79597654e7a2b2464f52b1ee6c1347769ef57\",\"712fcdd1b9053f09003a3481fa7762e9ffd7c8ef35a38509e2fbf2629008373\"],[\"176e26989a43c9cfeba4029c202538c28172e566e3c4fce7322857f3be327d66\",\"ed8cc9d04b29eb877d270b4878dc43c19aefd31f4eee09ee7b47834c1fa4b1c3\"],[\"75d46efea3771e6e68abb89a13ad747ecf1892393dfc4f1b7004788c50374da8\",\"9852390a99507679fd0b86fd2b39a868d7efc22151346e1a3ca4726586a6bed8\"],[\"809a20c67d64900ffb698c4c825f6d5f2310fb0451c869345b7319f645605721\",\"9e994980d9917e22b76b061927fa04143d096ccc54963e6a5ebfa5f3f8e286c1\"],[\"1b38903a43f7f114ed4500b4eac7083fdefece1cf29c63528d563446f972c180\",\"4036edc931a60ae889353f77fd53de4a2708b26b6f5da72ad3394119daf408f9\"]]}}},4401:function(e,t,r){\"use strict\";var i=t;var n=r(711);var a=r(3523);var s=r(6545);i.assert=a;i.toArray=s.toArray;i.zero2=s.zero2;i.toHex=s.toHex;i.encode=s.encode;function getNAF(e,t,r){var i=new Array(Math.max(e.bitLength(),r)+1);i.fill(0);var n=1<<t+1;var a=e.clone();for(var s=0;s<i.length;s++){var o;var h=a.andln(n-1);if(a.isOdd()){if(h>(n>>1)-1)o=(n>>1)-h;else o=h;a.isubn(o)}else{o=0}i[s]=o;a.iushrn(1)}return i}i.getNAF=getNAF;function getJSF(e,t){var r=[[],[]];e=e.clone();t=t.clone();var i=0;var n=0;while(e.cmpn(-i)>0||t.cmpn(-n)>0){var a=e.andln(3)+i&3;var s=t.andln(3)+n&3;if(a===3)a=-1;if(s===3)s=-1;var o;if((a&1)===0){o=0}else{var h=e.andln(7)+i&7;if((h===3||h===5)&&s===2)o=-a;else o=a}r[0].push(o);var u;if((s&1)===0){u=0}else{var h=t.andln(7)+n&7;if((h===3||h===5)&&a===2)u=-s;else u=s}r[1].push(u);if(2*i===o+1)i=1-i;if(2*n===u+1)n=1-n;e.iushrn(1);t.iushrn(1)}return r}i.getJSF=getJSF;function cachedProperty(e,t,r){var i=\"_\"+t;e.prototype[t]=function cachedProperty(){return this[i]!==undefined?this[i]:this[i]=r.call(this)}}i.cachedProperty=cachedProperty;function parseBytes(e){return typeof e===\"string\"?i.toArray(e,\"hex\"):e}i.parseBytes=parseBytes;function intFromLE(e){return new n(e,\"hex\",\"le\")}i.intFromLE=intFromLE},8368:function(e,t,r){var i=r(6911).Buffer;var n=r(3533);function EVP_BytesToKey(e,t,r,a){if(!i.isBuffer(e))e=i.from(e,\"binary\");if(t){if(!i.isBuffer(t))t=i.from(t,\"binary\");if(t.length!==8)throw new RangeError(\"salt should be Buffer with 8 byte length\")}var s=r/8;var o=i.alloc(s);var h=i.alloc(a||0);var u=i.alloc(0);while(s>0||a>0){var d=new n;d.update(u);d.update(e);if(t)d.update(t);u=d.digest();var c=0;if(s>0){var l=o.length-s;c=Math.min(s,u.length);u.copy(o,l,0,c);s-=c}if(c<u.length&&a>0){var p=h.length-a;var v=Math.min(a,u.length-c);u.copy(h,p,c,c+v);a-=v}}u.fill(0);return{key:o,iv:h}}e.exports=EVP_BytesToKey},9029:function(e,t,r){\"use strict\";var i=r(6911).Buffer;var n=r(3726).Transform;var a=r(3782);function throwIfNotStringOrBuffer(e,t){if(!i.isBuffer(e)&&typeof e!==\"string\"){throw new TypeError(t+\" must be a string or a buffer\")}}function HashBase(e){n.call(this);this._block=i.allocUnsafe(e);this._blockSize=e;this._blockOffset=0;this._length=[0,0,0,0];this._finalized=false}a(HashBase,n);HashBase.prototype._transform=function(e,t,r){var i=null;try{this.update(e,t)}catch(e){i=e}r(i)};HashBase.prototype._flush=function(e){var t=null;try{this.push(this.digest())}catch(e){t=e}e(t)};HashBase.prototype.update=function(e,t){throwIfNotStringOrBuffer(e,\"Data\");if(this._finalized)throw new Error(\"Digest already called\");if(!i.isBuffer(e))e=i.from(e,t);var r=this._block;var n=0;while(this._blockOffset+e.length-n>=this._blockSize){for(var a=this._blockOffset;a<this._blockSize;)r[a++]=e[n++];this._update();this._blockOffset=0}while(n<e.length)r[this._blockOffset++]=e[n++];for(var s=0,o=e.length*8;o>0;++s){this._length[s]+=o;o=this._length[s]/4294967296|0;if(o>0)this._length[s]-=4294967296*o}return this};HashBase.prototype._update=function(){throw new Error(\"_update is not implemented\")};HashBase.prototype.digest=function(e){if(this._finalized)throw new Error(\"Digest already called\");this._finalized=true;var t=this._digest();if(e!==undefined)t=t.toString(e);this._block.fill(0);this._blockOffset=0;for(var r=0;r<4;++r)this._length[r]=0;return t};HashBase.prototype._digest=function(){throw new Error(\"_digest is not implemented\")};e.exports=HashBase},7028:function(e,t,r){var i=t;i.utils=r(263);i.common=r(1330);i.sha=r(301);i.ripemd=r(3079);i.hmac=r(3092);i.sha1=i.sha.sha1;i.sha256=i.sha.sha256;i.sha224=i.sha.sha224;i.sha384=i.sha.sha384;i.sha512=i.sha.sha512;i.ripemd160=i.ripemd.ripemd160},1330:function(e,t,r){\"use strict\";var i=r(263);var n=r(3523);function BlockHash(){this.pending=null;this.pendingTotal=0;this.blockSize=this.constructor.blockSize;this.outSize=this.constructor.outSize;this.hmacStrength=this.constructor.hmacStrength;this.padLength=this.constructor.padLength/8;this.endian=\"big\";this._delta8=this.blockSize/8;this._delta32=this.blockSize/32}t.BlockHash=BlockHash;BlockHash.prototype.update=function update(e,t){e=i.toArray(e,t);if(!this.pending)this.pending=e;else this.pending=this.pending.concat(e);this.pendingTotal+=e.length;if(this.pending.length>=this._delta8){e=this.pending;var r=e.length%this._delta8;this.pending=e.slice(e.length-r,e.length);if(this.pending.length===0)this.pending=null;e=i.join32(e,0,e.length-r,this.endian);for(var n=0;n<e.length;n+=this._delta32)this._update(e,n,n+this._delta32)}return this};BlockHash.prototype.digest=function digest(e){this.update(this._pad());n(this.pending===null);return this._digest(e)};BlockHash.prototype._pad=function pad(){var e=this.pendingTotal;var t=this._delta8;var r=t-(e+this.padLength)%t;var i=new Array(r+this.padLength);i[0]=128;for(var n=1;n<r;n++)i[n]=0;e<<=3;if(this.endian===\"big\"){for(var a=8;a<this.padLength;a++)i[n++]=0;i[n++]=0;i[n++]=0;i[n++]=0;i[n++]=0;i[n++]=e>>>24&255;i[n++]=e>>>16&255;i[n++]=e>>>8&255;i[n++]=e&255}else{i[n++]=e&255;i[n++]=e>>>8&255;i[n++]=e>>>16&255;i[n++]=e>>>24&255;i[n++]=0;i[n++]=0;i[n++]=0;i[n++]=0;for(a=8;a<this.padLength;a++)i[n++]=0}return i}},3092:function(e,t,r){\"use strict\";var i=r(263);var n=r(3523);function Hmac(e,t,r){if(!(this instanceof Hmac))return new Hmac(e,t,r);this.Hash=e;this.blockSize=e.blockSize/8;this.outSize=e.outSize/8;this.inner=null;this.outer=null;this._init(i.toArray(t,r))}e.exports=Hmac;Hmac.prototype._init=function init(e){if(e.length>this.blockSize)e=(new this.Hash).update(e).digest();n(e.length<=this.blockSize);for(var t=e.length;t<this.blockSize;t++)e.push(0);for(t=0;t<e.length;t++)e[t]^=54;this.inner=(new this.Hash).update(e);for(t=0;t<e.length;t++)e[t]^=106;this.outer=(new this.Hash).update(e)};Hmac.prototype.update=function update(e,t){this.inner.update(e,t);return this};Hmac.prototype.digest=function digest(e){this.outer.update(this.inner.digest());return this.outer.digest(e)}},3079:function(e,t,r){\"use strict\";var i=r(263);var n=r(1330);var a=i.rotl32;var s=i.sum32;var o=i.sum32_3;var h=i.sum32_4;var u=n.BlockHash;function RIPEMD160(){if(!(this instanceof RIPEMD160))return new RIPEMD160;u.call(this);this.h=[1732584193,4023233417,2562383102,271733878,3285377520];this.endian=\"little\"}i.inherits(RIPEMD160,u);t.ripemd160=RIPEMD160;RIPEMD160.blockSize=512;RIPEMD160.outSize=160;RIPEMD160.hmacStrength=192;RIPEMD160.padLength=64;RIPEMD160.prototype._update=function update(e,t){var r=this.h[0];var i=this.h[1];var n=this.h[2];var u=this.h[3];var v=this.h[4];var b=r;var m=i;var y=n;var g=u;var _=v;for(var w=0;w<80;w++){var M=s(a(h(r,f(w,i,n,u),e[d[w]+t],K(w)),l[w]),v);r=v;v=u;u=a(n,10);n=i;i=M;M=s(a(h(b,f(79-w,m,y,g),e[c[w]+t],Kh(w)),p[w]),_);b=_;_=g;g=a(y,10);y=m;m=M}M=o(this.h[1],n,g);this.h[1]=o(this.h[2],u,_);this.h[2]=o(this.h[3],v,b);this.h[3]=o(this.h[4],r,m);this.h[4]=o(this.h[0],i,y);this.h[0]=M};RIPEMD160.prototype._digest=function digest(e){if(e===\"hex\")return i.toHex32(this.h,\"little\");else return i.split32(this.h,\"little\")};function f(e,t,r,i){if(e<=15)return t^r^i;else if(e<=31)return t&r|~t&i;else if(e<=47)return(t|~r)^i;else if(e<=63)return t&i|r&~i;else return t^(r|~i)}function K(e){if(e<=15)return 0;else if(e<=31)return 1518500249;else if(e<=47)return 1859775393;else if(e<=63)return 2400959708;else return 2840853838}function Kh(e){if(e<=15)return 1352829926;else if(e<=31)return 1548603684;else if(e<=47)return 1836072691;else if(e<=63)return 2053994217;else return 0}var d=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13];var c=[5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11];var l=[11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6];var p=[8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11]},301:function(e,t,r){\"use strict\";t.sha1=r(2742);t.sha224=r(7105);t.sha256=r(1525);t.sha384=r(9948);t.sha512=r(1319)},2742:function(e,t,r){\"use strict\";var i=r(263);var n=r(1330);var a=r(2975);var s=i.rotl32;var o=i.sum32;var h=i.sum32_5;var u=a.ft_1;var d=n.BlockHash;var c=[1518500249,1859775393,2400959708,3395469782];function SHA1(){if(!(this instanceof SHA1))return new SHA1;d.call(this);this.h=[1732584193,4023233417,2562383102,271733878,3285377520];this.W=new Array(80)}i.inherits(SHA1,d);e.exports=SHA1;SHA1.blockSize=512;SHA1.outSize=160;SHA1.hmacStrength=80;SHA1.padLength=64;SHA1.prototype._update=function _update(e,t){var r=this.W;for(var i=0;i<16;i++)r[i]=e[t+i];for(;i<r.length;i++)r[i]=s(r[i-3]^r[i-8]^r[i-14]^r[i-16],1);var n=this.h[0];var a=this.h[1];var d=this.h[2];var l=this.h[3];var p=this.h[4];for(i=0;i<r.length;i++){var v=~~(i/20);var b=h(s(n,5),u(v,a,d,l),p,r[i],c[v]);p=l;l=d;d=s(a,30);a=n;n=b}this.h[0]=o(this.h[0],n);this.h[1]=o(this.h[1],a);this.h[2]=o(this.h[2],d);this.h[3]=o(this.h[3],l);this.h[4]=o(this.h[4],p)};SHA1.prototype._digest=function digest(e){if(e===\"hex\")return i.toHex32(this.h,\"big\");else return i.split32(this.h,\"big\")}},7105:function(e,t,r){\"use strict\";var i=r(263);var n=r(1525);function SHA224(){if(!(this instanceof SHA224))return new SHA224;n.call(this);this.h=[3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428]}i.inherits(SHA224,n);e.exports=SHA224;SHA224.blockSize=512;SHA224.outSize=224;SHA224.hmacStrength=192;SHA224.padLength=64;SHA224.prototype._digest=function digest(e){if(e===\"hex\")return i.toHex32(this.h.slice(0,7),\"big\");else return i.split32(this.h.slice(0,7),\"big\")}},1525:function(e,t,r){\"use strict\";var i=r(263);var n=r(1330);var a=r(2975);var s=r(3523);var o=i.sum32;var h=i.sum32_4;var u=i.sum32_5;var d=a.ch32;var c=a.maj32;var l=a.s0_256;var p=a.s1_256;var v=a.g0_256;var b=a.g1_256;var m=n.BlockHash;var y=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298];function SHA256(){if(!(this instanceof SHA256))return new SHA256;m.call(this);this.h=[1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225];this.k=y;this.W=new Array(64)}i.inherits(SHA256,m);e.exports=SHA256;SHA256.blockSize=512;SHA256.outSize=256;SHA256.hmacStrength=192;SHA256.padLength=64;SHA256.prototype._update=function _update(e,t){var r=this.W;for(var i=0;i<16;i++)r[i]=e[t+i];for(;i<r.length;i++)r[i]=h(b(r[i-2]),r[i-7],v(r[i-15]),r[i-16]);var n=this.h[0];var a=this.h[1];var m=this.h[2];var y=this.h[3];var g=this.h[4];var _=this.h[5];var w=this.h[6];var M=this.h[7];s(this.k.length===r.length);for(i=0;i<r.length;i++){var B=u(M,p(g),d(g,_,w),this.k[i],r[i]);var E=o(l(n),c(n,a,m));M=w;w=_;_=g;g=o(y,B);y=m;m=a;a=n;n=o(B,E)}this.h[0]=o(this.h[0],n);this.h[1]=o(this.h[1],a);this.h[2]=o(this.h[2],m);this.h[3]=o(this.h[3],y);this.h[4]=o(this.h[4],g);this.h[5]=o(this.h[5],_);this.h[6]=o(this.h[6],w);this.h[7]=o(this.h[7],M)};SHA256.prototype._digest=function digest(e){if(e===\"hex\")return i.toHex32(this.h,\"big\");else return i.split32(this.h,\"big\")}},9948:function(e,t,r){\"use strict\";var i=r(263);var n=r(1319);function SHA384(){if(!(this instanceof SHA384))return new SHA384;n.call(this);this.h=[3418070365,3238371032,1654270250,914150663,2438529370,812702999,355462360,4144912697,1731405415,4290775857,2394180231,1750603025,3675008525,1694076839,1203062813,3204075428]}i.inherits(SHA384,n);e.exports=SHA384;SHA384.blockSize=1024;SHA384.outSize=384;SHA384.hmacStrength=192;SHA384.padLength=128;SHA384.prototype._digest=function digest(e){if(e===\"hex\")return i.toHex32(this.h.slice(0,12),\"big\");else return i.split32(this.h.slice(0,12),\"big\")}},1319:function(e,t,r){\"use strict\";var i=r(263);var n=r(1330);var a=r(3523);var s=i.rotr64_hi;var o=i.rotr64_lo;var h=i.shr64_hi;var u=i.shr64_lo;var d=i.sum64;var c=i.sum64_hi;var l=i.sum64_lo;var p=i.sum64_4_hi;var v=i.sum64_4_lo;var b=i.sum64_5_hi;var m=i.sum64_5_lo;var y=n.BlockHash;var g=[1116352408,3609767458,1899447441,602891725,3049323471,3964484399,3921009573,2173295548,961987163,4081628472,1508970993,3053834265,2453635748,2937671579,2870763221,3664609560,3624381080,2734883394,310598401,1164996542,607225278,1323610764,1426881987,3590304994,1925078388,4068182383,2162078206,991336113,2614888103,633803317,3248222580,3479774868,3835390401,2666613458,4022224774,944711139,264347078,2341262773,604807628,2007800933,770255983,1495990901,1249150122,1856431235,1555081692,3175218132,1996064986,2198950837,2554220882,3999719339,2821834349,766784016,2952996808,2566594879,3210313671,3203337956,3336571891,1034457026,3584528711,2466948901,113926993,3758326383,338241895,168717936,666307205,1188179964,773529912,1546045734,1294757372,1522805485,1396182291,2643833823,1695183700,2343527390,1986661051,1014477480,2177026350,1206759142,2456956037,344077627,2730485921,1290863460,2820302411,3158454273,3259730800,3505952657,3345764771,106217008,3516065817,3606008344,3600352804,1432725776,4094571909,1467031594,275423344,851169720,430227734,3100823752,506948616,1363258195,659060556,3750685593,883997877,3785050280,958139571,3318307427,1322822218,3812723403,1537002063,2003034995,1747873779,3602036899,1955562222,1575990012,2024104815,1125592928,2227730452,2716904306,2361852424,442776044,2428436474,593698344,2756734187,3733110249,3204031479,2999351573,3329325298,3815920427,3391569614,3928383900,3515267271,566280711,3940187606,3454069534,4118630271,4000239992,116418474,1914138554,174292421,2731055270,289380356,3203993006,460393269,320620315,685471733,587496836,852142971,1086792851,1017036298,365543100,1126000580,2618297676,1288033470,3409855158,1501505948,4234509866,1607167915,987167468,1816402316,1246189591];function SHA512(){if(!(this instanceof SHA512))return new SHA512;y.call(this);this.h=[1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209];this.k=g;this.W=new Array(160)}i.inherits(SHA512,y);e.exports=SHA512;SHA512.blockSize=1024;SHA512.outSize=512;SHA512.hmacStrength=192;SHA512.padLength=128;SHA512.prototype._prepareBlock=function _prepareBlock(e,t){var r=this.W;for(var i=0;i<32;i++)r[i]=e[t+i];for(;i<r.length;i+=2){var n=g1_512_hi(r[i-4],r[i-3]);var a=g1_512_lo(r[i-4],r[i-3]);var s=r[i-14];var o=r[i-13];var h=g0_512_hi(r[i-30],r[i-29]);var u=g0_512_lo(r[i-30],r[i-29]);var d=r[i-32];var c=r[i-31];r[i]=p(n,a,s,o,h,u,d,c);r[i+1]=v(n,a,s,o,h,u,d,c)}};SHA512.prototype._update=function _update(e,t){this._prepareBlock(e,t);var r=this.W;var i=this.h[0];var n=this.h[1];var s=this.h[2];var o=this.h[3];var h=this.h[4];var u=this.h[5];var p=this.h[6];var v=this.h[7];var y=this.h[8];var g=this.h[9];var _=this.h[10];var w=this.h[11];var M=this.h[12];var B=this.h[13];var E=this.h[14];var k=this.h[15];a(this.k.length===r.length);for(var A=0;A<r.length;A+=2){var N=E;var P=k;var x=s1_512_hi(y,g);var I=s1_512_lo(y,g);var C=ch64_hi(y,g,_,w,M,B);var D=ch64_lo(y,g,_,w,M,B);var T=this.k[A];var j=this.k[A+1];var q=r[A];var O=r[A+1];var H=b(N,P,x,I,C,D,T,j,q,O);var L=m(N,P,x,I,C,D,T,j,q,O);N=s0_512_hi(i,n);P=s0_512_lo(i,n);x=maj64_hi(i,n,s,o,h,u);I=maj64_lo(i,n,s,o,h,u);var z=c(N,P,x,I);var F=l(N,P,x,I);E=M;k=B;M=_;B=w;_=y;w=g;y=c(p,v,H,L);g=l(v,v,H,L);p=h;v=u;h=s;u=o;s=i;o=n;i=c(H,L,z,F);n=l(H,L,z,F)}d(this.h,0,i,n);d(this.h,2,s,o);d(this.h,4,h,u);d(this.h,6,p,v);d(this.h,8,y,g);d(this.h,10,_,w);d(this.h,12,M,B);d(this.h,14,E,k)};SHA512.prototype._digest=function digest(e){if(e===\"hex\")return i.toHex32(this.h,\"big\");else return i.split32(this.h,\"big\")};function ch64_hi(e,t,r,i,n){var a=e&r^~e&n;if(a<0)a+=4294967296;return a}function ch64_lo(e,t,r,i,n,a){var s=t&i^~t&a;if(s<0)s+=4294967296;return s}function maj64_hi(e,t,r,i,n){var a=e&r^e&n^r&n;if(a<0)a+=4294967296;return a}function maj64_lo(e,t,r,i,n,a){var s=t&i^t&a^i&a;if(s<0)s+=4294967296;return s}function s0_512_hi(e,t){var r=s(e,t,28);var i=s(t,e,2);var n=s(t,e,7);var a=r^i^n;if(a<0)a+=4294967296;return a}function s0_512_lo(e,t){var r=o(e,t,28);var i=o(t,e,2);var n=o(t,e,7);var a=r^i^n;if(a<0)a+=4294967296;return a}function s1_512_hi(e,t){var r=s(e,t,14);var i=s(e,t,18);var n=s(t,e,9);var a=r^i^n;if(a<0)a+=4294967296;return a}function s1_512_lo(e,t){var r=o(e,t,14);var i=o(e,t,18);var n=o(t,e,9);var a=r^i^n;if(a<0)a+=4294967296;return a}function g0_512_hi(e,t){var r=s(e,t,1);var i=s(e,t,8);var n=h(e,t,7);var a=r^i^n;if(a<0)a+=4294967296;return a}function g0_512_lo(e,t){var r=o(e,t,1);var i=o(e,t,8);var n=u(e,t,7);var a=r^i^n;if(a<0)a+=4294967296;return a}function g1_512_hi(e,t){var r=s(e,t,19);var i=s(t,e,29);var n=h(e,t,6);var a=r^i^n;if(a<0)a+=4294967296;return a}function g1_512_lo(e,t){var r=o(e,t,19);var i=o(t,e,29);var n=u(e,t,6);var a=r^i^n;if(a<0)a+=4294967296;return a}},2975:function(e,t,r){\"use strict\";var i=r(263);var n=i.rotr32;function ft_1(e,t,r,i){if(e===0)return ch32(t,r,i);if(e===1||e===3)return p32(t,r,i);if(e===2)return maj32(t,r,i)}t.ft_1=ft_1;function ch32(e,t,r){return e&t^~e&r}t.ch32=ch32;function maj32(e,t,r){return e&t^e&r^t&r}t.maj32=maj32;function p32(e,t,r){return e^t^r}t.p32=p32;function s0_256(e){return n(e,2)^n(e,13)^n(e,22)}t.s0_256=s0_256;function s1_256(e){return n(e,6)^n(e,11)^n(e,25)}t.s1_256=s1_256;function g0_256(e){return n(e,7)^n(e,18)^e>>>3}t.g0_256=g0_256;function g1_256(e){return n(e,17)^n(e,19)^e>>>10}t.g1_256=g1_256},263:function(e,t,r){\"use strict\";var i=r(3523);var n=r(3782);t.inherits=n;function isSurrogatePair(e,t){if((e.charCodeAt(t)&64512)!==55296){return false}if(t<0||t+1>=e.length){return false}return(e.charCodeAt(t+1)&64512)===56320}function toArray(e,t){if(Array.isArray(e))return e.slice();if(!e)return[];var r=[];if(typeof e===\"string\"){if(!t){var i=0;for(var n=0;n<e.length;n++){var a=e.charCodeAt(n);if(a<128){r[i++]=a}else if(a<2048){r[i++]=a>>6|192;r[i++]=a&63|128}else if(isSurrogatePair(e,n)){a=65536+((a&1023)<<10)+(e.charCodeAt(++n)&1023);r[i++]=a>>18|240;r[i++]=a>>12&63|128;r[i++]=a>>6&63|128;r[i++]=a&63|128}else{r[i++]=a>>12|224;r[i++]=a>>6&63|128;r[i++]=a&63|128}}}else if(t===\"hex\"){e=e.replace(/[^a-z0-9]+/gi,\"\");if(e.length%2!==0)e=\"0\"+e;for(n=0;n<e.length;n+=2)r.push(parseInt(e[n]+e[n+1],16))}}else{for(n=0;n<e.length;n++)r[n]=e[n]|0}return r}t.toArray=toArray;function toHex(e){var t=\"\";for(var r=0;r<e.length;r++)t+=zero2(e[r].toString(16));return t}t.toHex=toHex;function htonl(e){var t=e>>>24|e>>>8&65280|e<<8&16711680|(e&255)<<24;return t>>>0}t.htonl=htonl;function toHex32(e,t){var r=\"\";for(var i=0;i<e.length;i++){var n=e[i];if(t===\"little\")n=htonl(n);r+=zero8(n.toString(16))}return r}t.toHex32=toHex32;function zero2(e){if(e.length===1)return\"0\"+e;else return e}t.zero2=zero2;function zero8(e){if(e.length===7)return\"0\"+e;else if(e.length===6)return\"00\"+e;else if(e.length===5)return\"000\"+e;else if(e.length===4)return\"0000\"+e;else if(e.length===3)return\"00000\"+e;else if(e.length===2)return\"000000\"+e;else if(e.length===1)return\"0000000\"+e;else return e}t.zero8=zero8;function join32(e,t,r,n){var a=r-t;i(a%4===0);var s=new Array(a/4);for(var o=0,h=t;o<s.length;o++,h+=4){var u;if(n===\"big\")u=e[h]<<24|e[h+1]<<16|e[h+2]<<8|e[h+3];else u=e[h+3]<<24|e[h+2]<<16|e[h+1]<<8|e[h];s[o]=u>>>0}return s}t.join32=join32;function split32(e,t){var r=new Array(e.length*4);for(var i=0,n=0;i<e.length;i++,n+=4){var a=e[i];if(t===\"big\"){r[n]=a>>>24;r[n+1]=a>>>16&255;r[n+2]=a>>>8&255;r[n+3]=a&255}else{r[n+3]=a>>>24;r[n+2]=a>>>16&255;r[n+1]=a>>>8&255;r[n]=a&255}}return r}t.split32=split32;function rotr32(e,t){return e>>>t|e<<32-t}t.rotr32=rotr32;function rotl32(e,t){return e<<t|e>>>32-t}t.rotl32=rotl32;function sum32(e,t){return e+t>>>0}t.sum32=sum32;function sum32_3(e,t,r){return e+t+r>>>0}t.sum32_3=sum32_3;function sum32_4(e,t,r,i){return e+t+r+i>>>0}t.sum32_4=sum32_4;function sum32_5(e,t,r,i,n){return e+t+r+i+n>>>0}t.sum32_5=sum32_5;function sum64(e,t,r,i){var n=e[t];var a=e[t+1];var s=i+a>>>0;var o=(s<i?1:0)+r+n;e[t]=o>>>0;e[t+1]=s}t.sum64=sum64;function sum64_hi(e,t,r,i){var n=t+i>>>0;var a=(n<t?1:0)+e+r;return a>>>0}t.sum64_hi=sum64_hi;function sum64_lo(e,t,r,i){var n=t+i;return n>>>0}t.sum64_lo=sum64_lo;function sum64_4_hi(e,t,r,i,n,a,s,o){var h=0;var u=t;u=u+i>>>0;h+=u<t?1:0;u=u+a>>>0;h+=u<a?1:0;u=u+o>>>0;h+=u<o?1:0;var d=e+r+n+s+h;return d>>>0}t.sum64_4_hi=sum64_4_hi;function sum64_4_lo(e,t,r,i,n,a,s,o){var h=t+i+a+o;return h>>>0}t.sum64_4_lo=sum64_4_lo;function sum64_5_hi(e,t,r,i,n,a,s,o,h,u){var d=0;var c=t;c=c+i>>>0;d+=c<t?1:0;c=c+a>>>0;d+=c<a?1:0;c=c+o>>>0;d+=c<o?1:0;c=c+u>>>0;d+=c<u?1:0;var l=e+r+n+s+h+d;return l>>>0}t.sum64_5_hi=sum64_5_hi;function sum64_5_lo(e,t,r,i,n,a,s,o,h,u){var d=t+i+a+o+u;return d>>>0}t.sum64_5_lo=sum64_5_lo;function rotr64_hi(e,t,r){var i=t<<32-r|e>>>r;return i>>>0}t.rotr64_hi=rotr64_hi;function rotr64_lo(e,t,r){var i=e<<32-r|t>>>r;return i>>>0}t.rotr64_lo=rotr64_lo;function shr64_hi(e,t,r){return e>>>r}t.shr64_hi=shr64_hi;function shr64_lo(e,t,r){var i=e<<32-r|t>>>r;return i>>>0}t.shr64_lo=shr64_lo},4910:function(e,t,r){\"use strict\";var i=r(7028);var n=r(6545);var a=r(3523);function HmacDRBG(e){if(!(this instanceof HmacDRBG))return new HmacDRBG(e);this.hash=e.hash;this.predResist=!!e.predResist;this.outLen=this.hash.outSize;this.minEntropy=e.minEntropy||this.hash.hmacStrength;this._reseed=null;this.reseedInterval=null;this.K=null;this.V=null;var t=n.toArray(e.entropy,e.entropyEnc||\"hex\");var r=n.toArray(e.nonce,e.nonceEnc||\"hex\");var i=n.toArray(e.pers,e.persEnc||\"hex\");a(t.length>=this.minEntropy/8,\"Not enough entropy. Minimum is: \"+this.minEntropy+\" bits\");this._init(t,r,i)}e.exports=HmacDRBG;HmacDRBG.prototype._init=function init(e,t,r){var i=e.concat(t).concat(r);this.K=new Array(this.outLen/8);this.V=new Array(this.outLen/8);for(var n=0;n<this.V.length;n++){this.K[n]=0;this.V[n]=1}this._update(i);this._reseed=1;this.reseedInterval=281474976710656};HmacDRBG.prototype._hmac=function hmac(){return new i.hmac(this.hash,this.K)};HmacDRBG.prototype._update=function update(e){var t=this._hmac().update(this.V).update([0]);if(e)t=t.update(e);this.K=t.digest();this.V=this._hmac().update(this.V).digest();if(!e)return;this.K=this._hmac().update(this.V).update([1]).update(e).digest();this.V=this._hmac().update(this.V).digest()};HmacDRBG.prototype.reseed=function reseed(e,t,r,i){if(typeof t!==\"string\"){i=r;r=t;t=null}e=n.toArray(e,t);r=n.toArray(r,i);a(e.length>=this.minEntropy/8,\"Not enough entropy. Minimum is: \"+this.minEntropy+\" bits\");this._update(e.concat(r||[]));this._reseed=1};HmacDRBG.prototype.generate=function generate(e,t,r,i){if(this._reseed>this.reseedInterval)throw new Error(\"Reseed is required\");if(typeof t!==\"string\"){i=r;r=t;t=null}if(r){r=n.toArray(r,i||\"hex\");this._update(r)}var a=[];while(a.length<e){this.V=this._hmac().update(this.V).digest();a=a.concat(this.V)}var s=a.slice(0,e);this._update(r);this._reseed++;return n.encode(s,t)}},3782:function(e){if(typeof Object.create===\"function\"){e.exports=function inherits(e,t){if(t){e.super_=t;e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:false,writable:true,configurable:true}})}}}else{e.exports=function inherits(e,t){if(t){e.super_=t;var TempCtor=function(){};TempCtor.prototype=t.prototype;e.prototype=new TempCtor;e.prototype.constructor=e}}}},3533:function(e,t,r){\"use strict\";var i=r(3782);var n=r(9029);var a=r(6911).Buffer;var s=new Array(16);function MD5(){n.call(this,64);this._a=1732584193;this._b=4023233417;this._c=2562383102;this._d=271733878}i(MD5,n);MD5.prototype._update=function(){var e=s;for(var t=0;t<16;++t)e[t]=this._block.readInt32LE(t*4);var r=this._a;var i=this._b;var n=this._c;var a=this._d;r=fnF(r,i,n,a,e[0],3614090360,7);a=fnF(a,r,i,n,e[1],3905402710,12);n=fnF(n,a,r,i,e[2],606105819,17);i=fnF(i,n,a,r,e[3],3250441966,22);r=fnF(r,i,n,a,e[4],4118548399,7);a=fnF(a,r,i,n,e[5],1200080426,12);n=fnF(n,a,r,i,e[6],2821735955,17);i=fnF(i,n,a,r,e[7],4249261313,22);r=fnF(r,i,n,a,e[8],1770035416,7);a=fnF(a,r,i,n,e[9],2336552879,12);n=fnF(n,a,r,i,e[10],4294925233,17);i=fnF(i,n,a,r,e[11],2304563134,22);r=fnF(r,i,n,a,e[12],1804603682,7);a=fnF(a,r,i,n,e[13],4254626195,12);n=fnF(n,a,r,i,e[14],2792965006,17);i=fnF(i,n,a,r,e[15],1236535329,22);r=fnG(r,i,n,a,e[1],4129170786,5);a=fnG(a,r,i,n,e[6],3225465664,9);n=fnG(n,a,r,i,e[11],643717713,14);i=fnG(i,n,a,r,e[0],3921069994,20);r=fnG(r,i,n,a,e[5],3593408605,5);a=fnG(a,r,i,n,e[10],38016083,9);n=fnG(n,a,r,i,e[15],3634488961,14);i=fnG(i,n,a,r,e[4],3889429448,20);r=fnG(r,i,n,a,e[9],568446438,5);a=fnG(a,r,i,n,e[14],3275163606,9);n=fnG(n,a,r,i,e[3],4107603335,14);i=fnG(i,n,a,r,e[8],1163531501,20);r=fnG(r,i,n,a,e[13],2850285829,5);a=fnG(a,r,i,n,e[2],4243563512,9);n=fnG(n,a,r,i,e[7],1735328473,14);i=fnG(i,n,a,r,e[12],2368359562,20);r=fnH(r,i,n,a,e[5],4294588738,4);a=fnH(a,r,i,n,e[8],2272392833,11);n=fnH(n,a,r,i,e[11],1839030562,16);i=fnH(i,n,a,r,e[14],4259657740,23);r=fnH(r,i,n,a,e[1],2763975236,4);a=fnH(a,r,i,n,e[4],1272893353,11);n=fnH(n,a,r,i,e[7],4139469664,16);i=fnH(i,n,a,r,e[10],3200236656,23);r=fnH(r,i,n,a,e[13],681279174,4);a=fnH(a,r,i,n,e[0],3936430074,11);n=fnH(n,a,r,i,e[3],3572445317,16);i=fnH(i,n,a,r,e[6],76029189,23);r=fnH(r,i,n,a,e[9],3654602809,4);a=fnH(a,r,i,n,e[12],3873151461,11);n=fnH(n,a,r,i,e[15],530742520,16);i=fnH(i,n,a,r,e[2],3299628645,23);r=fnI(r,i,n,a,e[0],4096336452,6);a=fnI(a,r,i,n,e[7],1126891415,10);n=fnI(n,a,r,i,e[14],2878612391,15);i=fnI(i,n,a,r,e[5],4237533241,21);r=fnI(r,i,n,a,e[12],1700485571,6);a=fnI(a,r,i,n,e[3],2399980690,10);n=fnI(n,a,r,i,e[10],4293915773,15);i=fnI(i,n,a,r,e[1],2240044497,21);r=fnI(r,i,n,a,e[8],1873313359,6);a=fnI(a,r,i,n,e[15],4264355552,10);n=fnI(n,a,r,i,e[6],2734768916,15);i=fnI(i,n,a,r,e[13],1309151649,21);r=fnI(r,i,n,a,e[4],4149444226,6);a=fnI(a,r,i,n,e[11],3174756917,10);n=fnI(n,a,r,i,e[2],718787259,15);i=fnI(i,n,a,r,e[9],3951481745,21);this._a=this._a+r|0;this._b=this._b+i|0;this._c=this._c+n|0;this._d=this._d+a|0};MD5.prototype._digest=function(){this._block[this._blockOffset++]=128;if(this._blockOffset>56){this._block.fill(0,this._blockOffset,64);this._update();this._blockOffset=0}this._block.fill(0,this._blockOffset,56);this._block.writeUInt32LE(this._length[0],56);this._block.writeUInt32LE(this._length[1],60);this._update();var e=a.allocUnsafe(16);e.writeInt32LE(this._a,0);e.writeInt32LE(this._b,4);e.writeInt32LE(this._c,8);e.writeInt32LE(this._d,12);return e};function rotl(e,t){return e<<t|e>>>32-t}function fnF(e,t,r,i,n,a,s){return rotl(e+(t&r|~t&i)+n+a|0,s)+t|0}function fnG(e,t,r,i,n,a,s){return rotl(e+(t&i|r&~i)+n+a|0,s)+t|0}function fnH(e,t,r,i,n,a,s){return rotl(e+(t^r^i)+n+a|0,s)+t|0}function fnI(e,t,r,i,n,a,s){return rotl(e+(r^(t|~i))+n+a|0,s)+t|0}e.exports=MD5},1354:function(e,t,r){var i=r(711);var n=r(3500);function MillerRabin(e){this.rand=e||new n.Rand}e.exports=MillerRabin;MillerRabin.create=function create(e){return new MillerRabin(e)};MillerRabin.prototype._randbelow=function _randbelow(e){var t=e.bitLength();var r=Math.ceil(t/8);do{var n=new i(this.rand.generate(r))}while(n.cmp(e)>=0);return n};MillerRabin.prototype._randrange=function _randrange(e,t){var r=t.sub(e);return e.add(this._randbelow(r))};MillerRabin.prototype.test=function test(e,t,r){var n=e.bitLength();var a=i.mont(e);var s=new i(1).toRed(a);if(!t)t=Math.max(1,n/48|0);var o=e.subn(1);for(var h=0;!o.testn(h);h++){}var u=e.shrn(h);var d=o.toRed(a);var c=true;for(;t>0;t--){var l=this._randrange(new i(2),o);if(r)r(l);var p=l.toRed(a).redPow(u);if(p.cmp(s)===0||p.cmp(d)===0)continue;for(var v=1;v<h;v++){p=p.redSqr();if(p.cmp(s)===0)return false;if(p.cmp(d)===0)break}if(v===h)return false}return c};MillerRabin.prototype.getDivisor=function getDivisor(e,t){var r=e.bitLength();var n=i.mont(e);var a=new i(1).toRed(n);if(!t)t=Math.max(1,r/48|0);var s=e.subn(1);for(var o=0;!s.testn(o);o++){}var h=e.shrn(o);var u=s.toRed(n);for(;t>0;t--){var d=this._randrange(new i(2),s);var c=e.gcd(d);if(c.cmpn(1)!==0)return c;var l=d.toRed(n).redPow(h);if(l.cmp(a)===0||l.cmp(u)===0)continue;for(var p=1;p<o;p++){l=l.redSqr();if(l.cmp(a)===0)return l.fromRed().subn(1).gcd(e);if(l.cmp(u)===0)break}if(p===o){l=l.redSqr();return l.fromRed().subn(1).gcd(e)}}return false}},3523:function(e){e.exports=assert;function assert(e,t){if(!e)throw new Error(t||\"Assertion failed\")}assert.equal=function assertEqual(e,t,r){if(e!=t)throw new Error(r||\"Assertion failed: \"+e+\" != \"+t)}},6545:function(e,t){\"use strict\";var r=t;function toArray(e,t){if(Array.isArray(e))return e.slice();if(!e)return[];var r=[];if(typeof e!==\"string\"){for(var i=0;i<e.length;i++)r[i]=e[i]|0;return r}if(t===\"hex\"){e=e.replace(/[^a-z0-9]+/gi,\"\");if(e.length%2!==0)e=\"0\"+e;for(var i=0;i<e.length;i+=2)r.push(parseInt(e[i]+e[i+1],16))}else{for(var i=0;i<e.length;i++){var n=e.charCodeAt(i);var a=n>>8;var s=n&255;if(a)r.push(a,s);else r.push(s)}}return r}r.toArray=toArray;function zero2(e){if(e.length===1)return\"0\"+e;else return e}r.zero2=zero2;function toHex(e){var t=\"\";for(var r=0;r<e.length;r++)t+=zero2(e[r].toString(16));return t}r.toHex=toHex;r.encode=function encode(e,t){if(t===\"hex\")return toHex(e);else return e}},8687:function(e,t,r){\"use strict\";var i=r(7160);t.certificate=r(8782);var n=i.define(\"RSAPrivateKey\",(function(){this.seq().obj(this.key(\"version\").int(),this.key(\"modulus\").int(),this.key(\"publicExponent\").int(),this.key(\"privateExponent\").int(),this.key(\"prime1\").int(),this.key(\"prime2\").int(),this.key(\"exponent1\").int(),this.key(\"exponent2\").int(),this.key(\"coefficient\").int())}));t.RSAPrivateKey=n;var a=i.define(\"RSAPublicKey\",(function(){this.seq().obj(this.key(\"modulus\").int(),this.key(\"publicExponent\").int())}));t.RSAPublicKey=a;var s=i.define(\"SubjectPublicKeyInfo\",(function(){this.seq().obj(this.key(\"algorithm\").use(o),this.key(\"subjectPublicKey\").bitstr())}));t.PublicKey=s;var o=i.define(\"AlgorithmIdentifier\",(function(){this.seq().obj(this.key(\"algorithm\").objid(),this.key(\"none\").null_().optional(),this.key(\"curve\").objid().optional(),this.key(\"params\").seq().obj(this.key(\"p\").int(),this.key(\"q\").int(),this.key(\"g\").int()).optional())}));var h=i.define(\"PrivateKeyInfo\",(function(){this.seq().obj(this.key(\"version\").int(),this.key(\"algorithm\").use(o),this.key(\"subjectPrivateKey\").octstr())}));t.PrivateKey=h;var u=i.define(\"EncryptedPrivateKeyInfo\",(function(){this.seq().obj(this.key(\"algorithm\").seq().obj(this.key(\"id\").objid(),this.key(\"decrypt\").seq().obj(this.key(\"kde\").seq().obj(this.key(\"id\").objid(),this.key(\"kdeparams\").seq().obj(this.key(\"salt\").octstr(),this.key(\"iters\").int())),this.key(\"cipher\").seq().obj(this.key(\"algo\").objid(),this.key(\"iv\").octstr()))),this.key(\"subjectPrivateKey\").octstr())}));t.EncryptedPrivateKey=u;var d=i.define(\"DSAPrivateKey\",(function(){this.seq().obj(this.key(\"version\").int(),this.key(\"p\").int(),this.key(\"q\").int(),this.key(\"g\").int(),this.key(\"pub_key\").int(),this.key(\"priv_key\").int())}));t.DSAPrivateKey=d;t.DSAparam=i.define(\"DSAparam\",(function(){this.int()}));var c=i.define(\"ECPrivateKey\",(function(){this.seq().obj(this.key(\"version\").int(),this.key(\"privateKey\").octstr(),this.key(\"parameters\").optional().explicit(0).use(l),this.key(\"publicKey\").optional().explicit(1).bitstr())}));t.ECPrivateKey=c;var l=i.define(\"ECParameters\",(function(){this.choice({namedCurve:this.objid()})}));t.signature=i.define(\"signature\",(function(){this.seq().obj(this.key(\"r\").int(),this.key(\"s\").int())}))},8782:function(e,t,r){\"use strict\";var i=r(7160);var n=i.define(\"Time\",(function(){this.choice({utcTime:this.utctime(),generalTime:this.gentime()})}));var a=i.define(\"AttributeTypeValue\",(function(){this.seq().obj(this.key(\"type\").objid(),this.key(\"value\").any())}));var s=i.define(\"AlgorithmIdentifier\",(function(){this.seq().obj(this.key(\"algorithm\").objid(),this.key(\"parameters\").optional(),this.key(\"curve\").objid().optional())}));var o=i.define(\"SubjectPublicKeyInfo\",(function(){this.seq().obj(this.key(\"algorithm\").use(s),this.key(\"subjectPublicKey\").bitstr())}));var h=i.define(\"RelativeDistinguishedName\",(function(){this.setof(a)}));var u=i.define(\"RDNSequence\",(function(){this.seqof(h)}));var d=i.define(\"Name\",(function(){this.choice({rdnSequence:this.use(u)})}));var c=i.define(\"Validity\",(function(){this.seq().obj(this.key(\"notBefore\").use(n),this.key(\"notAfter\").use(n))}));var l=i.define(\"Extension\",(function(){this.seq().obj(this.key(\"extnID\").objid(),this.key(\"critical\").bool().def(false),this.key(\"extnValue\").octstr())}));var p=i.define(\"TBSCertificate\",(function(){this.seq().obj(this.key(\"version\").explicit(0).int().optional(),this.key(\"serialNumber\").int(),this.key(\"signature\").use(s),this.key(\"issuer\").use(d),this.key(\"validity\").use(c),this.key(\"subject\").use(d),this.key(\"subjectPublicKeyInfo\").use(o),this.key(\"issuerUniqueID\").implicit(1).bitstr().optional(),this.key(\"subjectUniqueID\").implicit(2).bitstr().optional(),this.key(\"extensions\").explicit(3).seqof(l).optional())}));var v=i.define(\"X509Certificate\",(function(){this.seq().obj(this.key(\"tbsCertificate\").use(p),this.key(\"signatureAlgorithm\").use(s),this.key(\"signatureValue\").bitstr())}));e.exports=v},6501:function(e,t,r){var i=/Proc-Type: 4,ENCRYPTED[\\n\\r]+DEK-Info: AES-((?:128)|(?:192)|(?:256))-CBC,([0-9A-H]+)[\\n\\r]+([0-9A-z\\n\\r\\+\\/\\=]+)[\\n\\r]+/m;var n=/^-----BEGIN ((?:.*? KEY)|CERTIFICATE)-----/m;var a=/^-----BEGIN ((?:.*? KEY)|CERTIFICATE)-----([0-9A-z\\n\\r\\+\\/\\=]+)-----END \\1-----$/m;var s=r(8368);var o=r(6594);var h=r(6911).Buffer;e.exports=function(e,t){var r=e.toString();var u=r.match(i);var d;if(!u){var c=r.match(a);d=new h(c[2].replace(/[\\r\\n]/g,\"\"),\"base64\")}else{var l=\"aes\"+u[1];var p=h.from(u[2],\"hex\");var v=h.from(u[3].replace(/[\\r\\n]/g,\"\"),\"base64\");var b=s(t,p.slice(0,8),parseInt(u[1],10)).key;var m=[];var y=o.createDecipheriv(l,b,p);m.push(y.update(v));m.push(y.final());d=h.concat(m)}var g=r.match(n)[1];return{tag:g,data:d}}},9902:function(e,t,r){var i=r(8687);var n=r(2510);var a=r(6501);var s=r(6594);var o=r(4978);var h=r(6911).Buffer;e.exports=parseKeys;function parseKeys(e){var t;if(typeof e===\"object\"&&!h.isBuffer(e)){t=e.passphrase;e=e.key}if(typeof e===\"string\"){e=h.from(e)}var r=a(e,t);var n=r.tag;var s=r.data;var o,u;switch(n){case\"CERTIFICATE\":u=i.certificate.decode(s,\"der\").tbsCertificate.subjectPublicKeyInfo;case\"PUBLIC KEY\":if(!u){u=i.PublicKey.decode(s,\"der\")}o=u.algorithm.algorithm.join(\".\");switch(o){case\"1.2.840.113549.1.1.1\":return i.RSAPublicKey.decode(u.subjectPublicKey.data,\"der\");case\"1.2.840.10045.2.1\":u.subjectPrivateKey=u.subjectPublicKey;return{type:\"ec\",data:u};case\"1.2.840.10040.4.1\":u.algorithm.params.pub_key=i.DSAparam.decode(u.subjectPublicKey.data,\"der\");return{type:\"dsa\",data:u.algorithm.params};default:throw new Error(\"unknown key id \"+o)}throw new Error(\"unknown key type \"+n);case\"ENCRYPTED PRIVATE KEY\":s=i.EncryptedPrivateKey.decode(s,\"der\");s=decrypt(s,t);case\"PRIVATE KEY\":u=i.PrivateKey.decode(s,\"der\");o=u.algorithm.algorithm.join(\".\");switch(o){case\"1.2.840.113549.1.1.1\":return i.RSAPrivateKey.decode(u.subjectPrivateKey,\"der\");case\"1.2.840.10045.2.1\":return{curve:u.algorithm.curve,privateKey:i.ECPrivateKey.decode(u.subjectPrivateKey,\"der\").privateKey};case\"1.2.840.10040.4.1\":u.algorithm.params.priv_key=i.DSAparam.decode(u.subjectPrivateKey,\"der\");return{type:\"dsa\",params:u.algorithm.params};default:throw new Error(\"unknown key id \"+o)}throw new Error(\"unknown key type \"+n);case\"RSA PUBLIC KEY\":return i.RSAPublicKey.decode(s,\"der\");case\"RSA PRIVATE KEY\":return i.RSAPrivateKey.decode(s,\"der\");case\"DSA PRIVATE KEY\":return{type:\"dsa\",params:i.DSAPrivateKey.decode(s,\"der\")};case\"EC PRIVATE KEY\":s=i.ECPrivateKey.decode(s,\"der\");return{curve:s.parameters.value,privateKey:s.privateKey};default:throw new Error(\"unknown key type \"+n)}}parseKeys.signature=i.signature;function decrypt(e,t){var r=e.algorithm.decrypt.kde.kdeparams.salt;var i=parseInt(e.algorithm.decrypt.kde.kdeparams.iters.toString(),10);var a=n[e.algorithm.decrypt.cipher.algo.join(\".\")];var u=e.algorithm.decrypt.cipher.iv;var d=e.subjectPrivateKey;var c=parseInt(a.split(\"-\")[1],10)/8;var l=o.pbkdf2Sync(t,r,i,c,\"sha1\");var p=s.createDecipheriv(a,l,u);var v=[];v.push(p.update(d));v.push(p.final());return h.concat(v)}},4978:function(e,t,r){var i=r(6113);var n=r(5349);var a=r(7007);var s=r(5407);function nativePBKDF2(e,t,r,o,h,u){n(r,o);e=s(e,a,\"Password\");t=s(t,a,\"Salt\");if(typeof h===\"function\"){u=h;h=\"sha1\"}if(typeof u!==\"function\")throw new Error(\"No callback provided to pbkdf2\");return i.pbkdf2(e,t,r,o,h,u)}function nativePBKDF2Sync(e,t,r,o,h){n(r,o);e=s(e,a,\"Password\");t=s(t,a,\"Salt\");h=h||\"sha1\";return i.pbkdf2Sync(e,t,r,o,h)}if(!i.pbkdf2Sync||i.pbkdf2Sync.toString().indexOf(\"keylen, digest\")===-1){t.pbkdf2Sync=r(2127);t.pbkdf2=r(9601)}else{t.pbkdf2Sync=nativePBKDF2Sync;t.pbkdf2=nativePBKDF2}},9601:function(e,t,r){var i=r(6911).Buffer;var n=r(5349);var a=r(7007);var s=r(2127);var o=r(5407);var h;var u=global.crypto&&global.crypto.subtle;var d={sha:\"SHA-1\",\"sha-1\":\"SHA-1\",sha1:\"SHA-1\",sha256:\"SHA-256\",\"sha-256\":\"SHA-256\",sha384:\"SHA-384\",\"sha-384\":\"SHA-384\",\"sha-512\":\"SHA-512\",sha512:\"SHA-512\"};var c=[];function checkNative(e){if(global.process&&!global.process.browser){return Promise.resolve(false)}if(!u||!u.importKey||!u.deriveBits){return Promise.resolve(false)}if(c[e]!==undefined){return c[e]}h=h||i.alloc(8);var t=browserPbkdf2(h,h,10,128,e).then((function(){return true})).catch((function(){return false}));c[e]=t;return t}function browserPbkdf2(e,t,r,n,a){return u.importKey(\"raw\",e,{name:\"PBKDF2\"},false,[\"deriveBits\"]).then((function(e){return u.deriveBits({name:\"PBKDF2\",salt:t,iterations:r,hash:{name:a}},e,n<<3)})).then((function(e){return i.from(e)}))}function resolvePromise(e,t){e.then((function(e){process.nextTick((function(){t(null,e)}))}),(function(e){process.nextTick((function(){t(e)}))}))}e.exports=function(e,t,r,i,h,u){if(typeof h===\"function\"){u=h;h=undefined}h=h||\"sha1\";var c=d[h.toLowerCase()];if(!c||typeof global.Promise!==\"function\"){return process.nextTick((function(){var n;try{n=s(e,t,r,i,h)}catch(e){return u(e)}u(null,n)}))}n(r,i);e=o(e,a,\"Password\");t=o(t,a,\"Salt\");if(typeof u!==\"function\")throw new Error(\"No callback provided to pbkdf2\");resolvePromise(checkNative(c).then((function(n){if(n)return browserPbkdf2(e,t,r,i,c);return s(e,t,r,i,h)})),u)}},7007:function(e){var t;if(process.browser){t=\"utf-8\"}else if(process.version){var r=parseInt(process.version.split(\".\")[0].slice(1),10);t=r>=6?\"utf-8\":\"binary\"}else{t=\"utf-8\"}e.exports=t},5349:function(e){var t=Math.pow(2,30)-1;e.exports=function(e,r){if(typeof e!==\"number\"){throw new TypeError(\"Iterations not a number\")}if(e<0){throw new TypeError(\"Bad iterations\")}if(typeof r!==\"number\"){throw new TypeError(\"Key length not a number\")}if(r<0||r>t||r!==r){throw new TypeError(\"Bad key length\")}}},2127:function(e,t,r){var i={md5:16,sha1:20,sha224:28,sha256:32,sha384:48,sha512:64,rmd160:20,ripemd160:20};var n=r(4873);var a=r(6911).Buffer;var s=r(5349);var o=r(7007);var h=r(5407);function pbkdf2(e,t,r,u,d){s(r,u);e=h(e,o,\"Password\");t=h(t,o,\"Salt\");d=d||\"sha1\";var c=a.allocUnsafe(u);var l=a.allocUnsafe(t.length+4);t.copy(l,0,0,t.length);var p=0;var v=i[d];var b=Math.ceil(u/v);for(var m=1;m<=b;m++){l.writeUInt32BE(m,t.length);var y=n(d,e).update(l).digest();var g=y;for(var _=1;_<r;_++){g=n(d,e).update(g).digest();for(var w=0;w<v;w++)y[w]^=g[w]}y.copy(c,p);p+=v}return c}e.exports=pbkdf2},5407:function(e,t,r){var i=r(6911).Buffer;e.exports=function(e,t,r){if(i.isBuffer(e)){return e}else if(typeof e===\"string\"){return i.from(e,t)}else if(ArrayBuffer.isView(e)){return i.from(e.buffer)}else{throw new TypeError(r+\" must be a string, a Buffer, a typed array or a DataView\")}}},9783:function(e,t,r){t.publicEncrypt=r(3995);t.privateDecrypt=r(4366);t.privateEncrypt=function privateEncrypt(e,r){return t.publicEncrypt(e,r,true)};t.publicDecrypt=function publicDecrypt(e,r){return t.privateDecrypt(e,r,true)}},5520:function(e,t,r){var i=r(9739);var n=r(6911).Buffer;e.exports=function(e,t){var r=n.alloc(0);var a=0;var s;while(r.length<t){s=i2ops(a++);r=n.concat([r,i(\"sha1\").update(e).update(s).digest()])}return r.slice(0,t)};function i2ops(e){var t=n.allocUnsafe(4);t.writeUInt32BE(e,0);return t}},4366:function(e,t,r){var i=r(9902);var n=r(5520);var a=r(6386);var s=r(711);var o=r(7166);var h=r(9739);var u=r(1607);var d=r(6911).Buffer;e.exports=function privateDecrypt(e,t,r){var n;if(e.padding){n=e.padding}else if(r){n=1}else{n=4}var a=i(e);var h=a.modulus.byteLength();if(t.length>h||new s(t).cmp(a.modulus)>=0){throw new Error(\"decryption error\")}var c;if(r){c=u(new s(t),a)}else{c=o(t,a)}var l=d.alloc(h-c.length);c=d.concat([l,c],h);if(n===4){return oaep(a,c)}else if(n===1){return pkcs1(a,c,r)}else if(n===3){return c}else{throw new Error(\"unknown padding\")}};function oaep(e,t){var r=e.modulus.byteLength();var i=h(\"sha1\").update(d.alloc(0)).digest();var s=i.length;if(t[0]!==0){throw new Error(\"decryption error\")}var o=t.slice(1,s+1);var u=t.slice(s+1);var c=a(o,n(u,s));var l=a(u,n(c,r-s-1));if(compare(i,l.slice(0,s))){throw new Error(\"decryption error\")}var p=s;while(l[p]===0){p++}if(l[p++]!==1){throw new Error(\"decryption error\")}return l.slice(p)}function pkcs1(e,t,r){var i=t.slice(0,2);var n=2;var a=0;while(t[n++]!==0){if(n>=t.length){a++;break}}var s=t.slice(2,n-1);if(i.toString(\"hex\")!==\"0002\"&&!r||i.toString(\"hex\")!==\"0001\"&&r){a++}if(s.length<8){a++}if(a){throw new Error(\"decryption error\")}return t.slice(n)}function compare(e,t){e=d.from(e);t=d.from(t);var r=0;var i=e.length;if(e.length!==t.length){r++;i=Math.min(e.length,t.length)}var n=-1;while(++n<i){r+=e[n]^t[n]}return r}},3995:function(e,t,r){var i=r(9902);var n=r(7223);var a=r(9739);var s=r(5520);var o=r(6386);var h=r(711);var u=r(1607);var d=r(7166);var c=r(6911).Buffer;e.exports=function publicEncrypt(e,t,r){var n;if(e.padding){n=e.padding}else if(r){n=1}else{n=4}var a=i(e);var s;if(n===4){s=oaep(a,t)}else if(n===1){s=pkcs1(a,t,r)}else if(n===3){s=new h(t);if(s.cmp(a.modulus)>=0){throw new Error(\"data too long for modulus\")}}else{throw new Error(\"unknown padding\")}if(r){return d(s,a)}else{return u(s,a)}};function oaep(e,t){var r=e.modulus.byteLength();var i=t.length;var u=a(\"sha1\").update(c.alloc(0)).digest();var d=u.length;var l=2*d;if(i>r-l-2){throw new Error(\"message too long\")}var p=c.alloc(r-i-l-2);var v=r-d-1;var b=n(d);var m=o(c.concat([u,p,c.alloc(1,1),t],v),s(b,v));var y=o(b,s(m,d));return new h(c.concat([c.alloc(1),y,m],r))}function pkcs1(e,t,r){var i=t.length;var n=e.modulus.byteLength();if(i>n-11){throw new Error(\"message too long\")}var a;if(r){a=c.alloc(n-i-3,255)}else{a=nonZero(n-i-3)}return new h(c.concat([c.from([0,r?1:2]),a,c.alloc(1),t],n))}function nonZero(e){var t=c.allocUnsafe(e);var r=0;var i=n(e*2);var a=0;var s;while(r<e){if(a===i.length){i=n(e*2);a=0}s=i[a++];if(s){t[r++]=s}}return t}},1607:function(e,t,r){var i=r(711);var n=r(6911).Buffer;function withPublic(e,t){return n.from(e.toRed(i.mont(t.modulus)).redPow(new i(t.publicExponent)).fromRed().toArray())}e.exports=withPublic},6386:function(e){e.exports=function xor(e,t){var r=e.length;var i=-1;while(++i<r){e[i]^=t[i]}return e}},7223:function(e,t,r){\"use strict\";var i=65536;var n=4294967295;function oldBrowser(){throw new Error(\"Secure random number generation is not supported by this browser.\\nUse Chrome, Firefox or Internet Explorer 11\")}var a=r(6911).Buffer;var s=global.crypto||global.msCrypto;if(s&&s.getRandomValues){e.exports=randomBytes}else{e.exports=oldBrowser}function randomBytes(e,t){if(e>n)throw new RangeError(\"requested too many random bytes\");var r=a.allocUnsafe(e);if(e>0){if(e>i){for(var o=0;o<e;o+=i){s.getRandomValues(r.slice(o,o+i))}}else{s.getRandomValues(r)}}if(typeof t===\"function\"){return process.nextTick((function(){t(null,r)}))}return r}},6445:function(e,t,r){\"use strict\";function oldBrowser(){throw new Error(\"secure random number generation not supported by this browser\\nuse chrome, FireFox or Internet Explorer 11\")}var i=r(6911);var n=r(7223);var a=i.Buffer;var s=i.kMaxLength;var o=global.crypto||global.msCrypto;var h=Math.pow(2,32)-1;function assertOffset(e,t){if(typeof e!==\"number\"||e!==e){throw new TypeError(\"offset must be a number\")}if(e>h||e<0){throw new TypeError(\"offset must be a uint32\")}if(e>s||e>t){throw new RangeError(\"offset out of range\")}}function assertSize(e,t,r){if(typeof e!==\"number\"||e!==e){throw new TypeError(\"size must be a number\")}if(e>h||e<0){throw new TypeError(\"size must be a uint32\")}if(e+t>r||e>s){throw new RangeError(\"buffer too small\")}}if(o&&o.getRandomValues||!process.browser){t.randomFill=randomFill;t.randomFillSync=randomFillSync}else{t.randomFill=oldBrowser;t.randomFillSync=oldBrowser}function randomFill(e,t,r,i){if(!a.isBuffer(e)&&!(e instanceof global.Uint8Array)){throw new TypeError('\"buf\" argument must be a Buffer or Uint8Array')}if(typeof t===\"function\"){i=t;t=0;r=e.length}else if(typeof r===\"function\"){i=r;r=e.length-t}else if(typeof i!==\"function\"){throw new TypeError('\"cb\" argument must be a function')}assertOffset(t,e.length);assertSize(r,t,e.length);return actualFill(e,t,r,i)}function actualFill(e,t,r,i){if(process.browser){var a=e.buffer;var s=new Uint8Array(a,t,r);o.getRandomValues(s);if(i){process.nextTick((function(){i(null,e)}));return}return e}if(i){n(r,(function(r,n){if(r){return i(r)}n.copy(e,t);i(null,e)}));return}var h=n(r);h.copy(e,t);return e}function randomFillSync(e,t,r){if(typeof t===\"undefined\"){t=0}if(!a.isBuffer(e)&&!(e instanceof global.Uint8Array)){throw new TypeError('\"buf\" argument must be a Buffer or Uint8Array')}assertOffset(t,e.length);if(r===undefined)r=e.length-t;assertSize(r,t,e.length);return actualFill(e,t,r)}},4646:function(e){\"use strict\";const t={};function createErrorType(e,r,i){if(!i){i=Error}function getMessage(e,t,i){if(typeof r===\"string\"){return r}else{return r(e,t,i)}}class NodeError extends i{constructor(e,t,r){super(getMessage(e,t,r))}}NodeError.prototype.name=i.name;NodeError.prototype.code=e;t[e]=NodeError}function oneOf(e,t){if(Array.isArray(e)){const r=e.length;e=e.map((e=>String(e)));if(r>2){return`one of ${t} ${e.slice(0,r-1).join(\", \")}, or `+e[r-1]}else if(r===2){return`one of ${t} ${e[0]} or ${e[1]}`}else{return`of ${t} ${e[0]}`}}else{return`of ${t} ${String(e)}`}}function startsWith(e,t,r){return e.substr(!r||r<0?0:+r,t.length)===t}function endsWith(e,t,r){if(r===undefined||r>e.length){r=e.length}return e.substring(r-t.length,r)===t}function includes(e,t,r){if(typeof r!==\"number\"){r=0}if(r+t.length>e.length){return false}else{return e.indexOf(t,r)!==-1}}createErrorType(\"ERR_INVALID_OPT_VALUE\",(function(e,t){return'The value \"'+t+'\" is invalid for option \"'+e+'\"'}),TypeError);createErrorType(\"ERR_INVALID_ARG_TYPE\",(function(e,t,r){let i;if(typeof t===\"string\"&&startsWith(t,\"not \")){i=\"must not be\";t=t.replace(/^not /,\"\")}else{i=\"must be\"}let n;if(endsWith(e,\" argument\")){n=`The ${e} ${i} ${oneOf(t,\"type\")}`}else{const r=includes(e,\".\")?\"property\":\"argument\";n=`The \"${e}\" ${r} ${i} ${oneOf(t,\"type\")}`}n+=`. Received type ${typeof r}`;return n}),TypeError);createErrorType(\"ERR_STREAM_PUSH_AFTER_EOF\",\"stream.push() after EOF\");createErrorType(\"ERR_METHOD_NOT_IMPLEMENTED\",(function(e){return\"The \"+e+\" method is not implemented\"}));createErrorType(\"ERR_STREAM_PREMATURE_CLOSE\",\"Premature close\");createErrorType(\"ERR_STREAM_DESTROYED\",(function(e){return\"Cannot call \"+e+\" after a stream was destroyed\"}));createErrorType(\"ERR_MULTIPLE_CALLBACK\",\"Callback called multiple times\");createErrorType(\"ERR_STREAM_CANNOT_PIPE\",\"Cannot pipe, not readable\");createErrorType(\"ERR_STREAM_WRITE_AFTER_END\",\"write after end\");createErrorType(\"ERR_STREAM_NULL_VALUES\",\"May not write null values to stream\",TypeError);createErrorType(\"ERR_UNKNOWN_ENCODING\",(function(e){return\"Unknown encoding: \"+e}),TypeError);createErrorType(\"ERR_STREAM_UNSHIFT_AFTER_END_EVENT\",\"stream.unshift() after end event\");e.exports.q=t},2403:function(e,t,r){\"use strict\";var i=Object.keys||function(e){var t=[];for(var r in e){t.push(r)}return t};e.exports=Duplex;var n=r(1709);var a=r(7337);r(3782)(Duplex,n);{var s=i(a.prototype);for(var o=0;o<s.length;o++){var h=s[o];if(!Duplex.prototype[h])Duplex.prototype[h]=a.prototype[h]}}function Duplex(e){if(!(this instanceof Duplex))return new Duplex(e);n.call(this,e);a.call(this,e);this.allowHalfOpen=true;if(e){if(e.readable===false)this.readable=false;if(e.writable===false)this.writable=false;if(e.allowHalfOpen===false){this.allowHalfOpen=false;this.once(\"end\",onend)}}}Object.defineProperty(Duplex.prototype,\"writableHighWaterMark\",{enumerable:false,get:function get(){return this._writableState.highWaterMark}});Object.defineProperty(Duplex.prototype,\"writableBuffer\",{enumerable:false,get:function get(){return this._writableState&&this._writableState.getBuffer()}});Object.defineProperty(Duplex.prototype,\"writableLength\",{enumerable:false,get:function get(){return this._writableState.length}});function onend(){if(this._writableState.ended)return;process.nextTick(onEndNT,this)}function onEndNT(e){e.end()}Object.defineProperty(Duplex.prototype,\"destroyed\",{enumerable:false,get:function get(){if(this._readableState===undefined||this._writableState===undefined){return false}return this._readableState.destroyed&&this._writableState.destroyed},set:function set(e){if(this._readableState===undefined||this._writableState===undefined){return}this._readableState.destroyed=e;this._writableState.destroyed=e}})},7889:function(e,t,r){\"use strict\";e.exports=PassThrough;var i=r(1170);r(3782)(PassThrough,i);function PassThrough(e){if(!(this instanceof PassThrough))return new PassThrough(e);i.call(this,e)}PassThrough.prototype._transform=function(e,t,r){r(null,e)}},1709:function(e,t,r){\"use strict\";e.exports=Readable;var i;Readable.ReadableState=ReadableState;var n=r(2361).EventEmitter;var a=function EElistenerCount(e,t){return e.listeners(t).length};var s=r(4678);var o=r(4300).Buffer;var h=global.Uint8Array||function(){};function _uint8ArrayToBuffer(e){return o.from(e)}function _isUint8Array(e){return o.isBuffer(e)||e instanceof h}var u=r(3837);var d;if(u&&u.debuglog){d=u.debuglog(\"stream\")}else{d=function debug(){}}var c=r(4379);var l=r(7025);var p=r(6776),v=p.getHighWaterMark;var b=r(4646).q,m=b.ERR_INVALID_ARG_TYPE,y=b.ERR_STREAM_PUSH_AFTER_EOF,g=b.ERR_METHOD_NOT_IMPLEMENTED,_=b.ERR_STREAM_UNSHIFT_AFTER_END_EVENT;var w;var M;var B;r(3782)(Readable,s);var E=l.errorOrDestroy;var k=[\"error\",\"close\",\"destroy\",\"pause\",\"resume\"];function prependListener(e,t,r){if(typeof e.prependListener===\"function\")return e.prependListener(t,r);if(!e._events||!e._events[t])e.on(t,r);else if(Array.isArray(e._events[t]))e._events[t].unshift(r);else e._events[t]=[r,e._events[t]]}function ReadableState(e,t,n){i=i||r(2403);e=e||{};if(typeof n!==\"boolean\")n=t instanceof i;this.objectMode=!!e.objectMode;if(n)this.objectMode=this.objectMode||!!e.readableObjectMode;this.highWaterMark=v(this,e,\"readableHighWaterMark\",n);this.buffer=new c;this.length=0;this.pipes=null;this.pipesCount=0;this.flowing=null;this.ended=false;this.endEmitted=false;this.reading=false;this.sync=true;this.needReadable=false;this.emittedReadable=false;this.readableListening=false;this.resumeScheduled=false;this.paused=true;this.emitClose=e.emitClose!==false;this.autoDestroy=!!e.autoDestroy;this.destroyed=false;this.defaultEncoding=e.defaultEncoding||\"utf8\";this.awaitDrain=0;this.readingMore=false;this.decoder=null;this.encoding=null;if(e.encoding){if(!w)w=r(3704).s;this.decoder=new w(e.encoding);this.encoding=e.encoding}}function Readable(e){i=i||r(2403);if(!(this instanceof Readable))return new Readable(e);var t=this instanceof i;this._readableState=new ReadableState(e,this,t);this.readable=true;if(e){if(typeof e.read===\"function\")this._read=e.read;if(typeof e.destroy===\"function\")this._destroy=e.destroy}s.call(this)}Object.defineProperty(Readable.prototype,\"destroyed\",{enumerable:false,get:function get(){if(this._readableState===undefined){return false}return this._readableState.destroyed},set:function set(e){if(!this._readableState){return}this._readableState.destroyed=e}});Readable.prototype.destroy=l.destroy;Readable.prototype._undestroy=l.undestroy;Readable.prototype._destroy=function(e,t){t(e)};Readable.prototype.push=function(e,t){var r=this._readableState;var i;if(!r.objectMode){if(typeof e===\"string\"){t=t||r.defaultEncoding;if(t!==r.encoding){e=o.from(e,t);t=\"\"}i=true}}else{i=true}return readableAddChunk(this,e,t,false,i)};Readable.prototype.unshift=function(e){return readableAddChunk(this,e,null,true,false)};function readableAddChunk(e,t,r,i,n){d(\"readableAddChunk\",t);var a=e._readableState;if(t===null){a.reading=false;onEofChunk(e,a)}else{var s;if(!n)s=chunkInvalid(a,t);if(s){E(e,s)}else if(a.objectMode||t&&t.length>0){if(typeof t!==\"string\"&&!a.objectMode&&Object.getPrototypeOf(t)!==o.prototype){t=_uint8ArrayToBuffer(t)}if(i){if(a.endEmitted)E(e,new _);else addChunk(e,a,t,true)}else if(a.ended){E(e,new y)}else if(a.destroyed){return false}else{a.reading=false;if(a.decoder&&!r){t=a.decoder.write(t);if(a.objectMode||t.length!==0)addChunk(e,a,t,false);else maybeReadMore(e,a)}else{addChunk(e,a,t,false)}}}else if(!i){a.reading=false;maybeReadMore(e,a)}}return!a.ended&&(a.length<a.highWaterMark||a.length===0)}function addChunk(e,t,r,i){if(t.flowing&&t.length===0&&!t.sync){t.awaitDrain=0;e.emit(\"data\",r)}else{t.length+=t.objectMode?1:r.length;if(i)t.buffer.unshift(r);else t.buffer.push(r);if(t.needReadable)emitReadable(e)}maybeReadMore(e,t)}function chunkInvalid(e,t){var r;if(!_isUint8Array(t)&&typeof t!==\"string\"&&t!==undefined&&!e.objectMode){r=new m(\"chunk\",[\"string\",\"Buffer\",\"Uint8Array\"],t)}return r}Readable.prototype.isPaused=function(){return this._readableState.flowing===false};Readable.prototype.setEncoding=function(e){if(!w)w=r(3704).s;var t=new w(e);this._readableState.decoder=t;this._readableState.encoding=this._readableState.decoder.encoding;var i=this._readableState.buffer.head;var n=\"\";while(i!==null){n+=t.write(i.data);i=i.next}this._readableState.buffer.clear();if(n!==\"\")this._readableState.buffer.push(n);this._readableState.length=n.length;return this};var A=1073741824;function computeNewHighWaterMark(e){if(e>=A){e=A}else{e--;e|=e>>>1;e|=e>>>2;e|=e>>>4;e|=e>>>8;e|=e>>>16;e++}return e}function howMuchToRead(e,t){if(e<=0||t.length===0&&t.ended)return 0;if(t.objectMode)return 1;if(e!==e){if(t.flowing&&t.length)return t.buffer.head.data.length;else return t.length}if(e>t.highWaterMark)t.highWaterMark=computeNewHighWaterMark(e);if(e<=t.length)return e;if(!t.ended){t.needReadable=true;return 0}return t.length}Readable.prototype.read=function(e){d(\"read\",e);e=parseInt(e,10);var t=this._readableState;var r=e;if(e!==0)t.emittedReadable=false;if(e===0&&t.needReadable&&((t.highWaterMark!==0?t.length>=t.highWaterMark:t.length>0)||t.ended)){d(\"read: emitReadable\",t.length,t.ended);if(t.length===0&&t.ended)endReadable(this);else emitReadable(this);return null}e=howMuchToRead(e,t);if(e===0&&t.ended){if(t.length===0)endReadable(this);return null}var i=t.needReadable;d(\"need readable\",i);if(t.length===0||t.length-e<t.highWaterMark){i=true;d(\"length less than watermark\",i)}if(t.ended||t.reading){i=false;d(\"reading or ended\",i)}else if(i){d(\"do read\");t.reading=true;t.sync=true;if(t.length===0)t.needReadable=true;this._read(t.highWaterMark);t.sync=false;if(!t.reading)e=howMuchToRead(r,t)}var n;if(e>0)n=fromList(e,t);else n=null;if(n===null){t.needReadable=t.length<=t.highWaterMark;e=0}else{t.length-=e;t.awaitDrain=0}if(t.length===0){if(!t.ended)t.needReadable=true;if(r!==e&&t.ended)endReadable(this)}if(n!==null)this.emit(\"data\",n);return n};function onEofChunk(e,t){d(\"onEofChunk\");if(t.ended)return;if(t.decoder){var r=t.decoder.end();if(r&&r.length){t.buffer.push(r);t.length+=t.objectMode?1:r.length}}t.ended=true;if(t.sync){emitReadable(e)}else{t.needReadable=false;if(!t.emittedReadable){t.emittedReadable=true;emitReadable_(e)}}}function emitReadable(e){var t=e._readableState;d(\"emitReadable\",t.needReadable,t.emittedReadable);t.needReadable=false;if(!t.emittedReadable){d(\"emitReadable\",t.flowing);t.emittedReadable=true;process.nextTick(emitReadable_,e)}}function emitReadable_(e){var t=e._readableState;d(\"emitReadable_\",t.destroyed,t.length,t.ended);if(!t.destroyed&&(t.length||t.ended)){e.emit(\"readable\");t.emittedReadable=false}t.needReadable=!t.flowing&&!t.ended&&t.length<=t.highWaterMark;flow(e)}function maybeReadMore(e,t){if(!t.readingMore){t.readingMore=true;process.nextTick(maybeReadMore_,e,t)}}function maybeReadMore_(e,t){while(!t.reading&&!t.ended&&(t.length<t.highWaterMark||t.flowing&&t.length===0)){var r=t.length;d(\"maybeReadMore read 0\");e.read(0);if(r===t.length)break}t.readingMore=false}Readable.prototype._read=function(e){E(this,new g(\"_read()\"))};Readable.prototype.pipe=function(e,t){var r=this;var i=this._readableState;switch(i.pipesCount){case 0:i.pipes=e;break;case 1:i.pipes=[i.pipes,e];break;default:i.pipes.push(e);break}i.pipesCount+=1;d(\"pipe count=%d opts=%j\",i.pipesCount,t);var n=(!t||t.end!==false)&&e!==process.stdout&&e!==process.stderr;var s=n?onend:unpipe;if(i.endEmitted)process.nextTick(s);else r.once(\"end\",s);e.on(\"unpipe\",onunpipe);function onunpipe(e,t){d(\"onunpipe\");if(e===r){if(t&&t.hasUnpiped===false){t.hasUnpiped=true;cleanup()}}}function onend(){d(\"onend\");e.end()}var o=pipeOnDrain(r);e.on(\"drain\",o);var h=false;function cleanup(){d(\"cleanup\");e.removeListener(\"close\",onclose);e.removeListener(\"finish\",onfinish);e.removeListener(\"drain\",o);e.removeListener(\"error\",onerror);e.removeListener(\"unpipe\",onunpipe);r.removeListener(\"end\",onend);r.removeListener(\"end\",unpipe);r.removeListener(\"data\",ondata);h=true;if(i.awaitDrain&&(!e._writableState||e._writableState.needDrain))o()}r.on(\"data\",ondata);function ondata(t){d(\"ondata\");var n=e.write(t);d(\"dest.write\",n);if(n===false){if((i.pipesCount===1&&i.pipes===e||i.pipesCount>1&&indexOf(i.pipes,e)!==-1)&&!h){d(\"false write response, pause\",i.awaitDrain);i.awaitDrain++}r.pause()}}function onerror(t){d(\"onerror\",t);unpipe();e.removeListener(\"error\",onerror);if(a(e,\"error\")===0)E(e,t)}prependListener(e,\"error\",onerror);function onclose(){e.removeListener(\"finish\",onfinish);unpipe()}e.once(\"close\",onclose);function onfinish(){d(\"onfinish\");e.removeListener(\"close\",onclose);unpipe()}e.once(\"finish\",onfinish);function unpipe(){d(\"unpipe\");r.unpipe(e)}e.emit(\"pipe\",r);if(!i.flowing){d(\"pipe resume\");r.resume()}return e};function pipeOnDrain(e){return function pipeOnDrainFunctionResult(){var t=e._readableState;d(\"pipeOnDrain\",t.awaitDrain);if(t.awaitDrain)t.awaitDrain--;if(t.awaitDrain===0&&a(e,\"data\")){t.flowing=true;flow(e)}}}Readable.prototype.unpipe=function(e){var t=this._readableState;var r={hasUnpiped:false};if(t.pipesCount===0)return this;if(t.pipesCount===1){if(e&&e!==t.pipes)return this;if(!e)e=t.pipes;t.pipes=null;t.pipesCount=0;t.flowing=false;if(e)e.emit(\"unpipe\",this,r);return this}if(!e){var i=t.pipes;var n=t.pipesCount;t.pipes=null;t.pipesCount=0;t.flowing=false;for(var a=0;a<n;a++){i[a].emit(\"unpipe\",this,{hasUnpiped:false})}return this}var s=indexOf(t.pipes,e);if(s===-1)return this;t.pipes.splice(s,1);t.pipesCount-=1;if(t.pipesCount===1)t.pipes=t.pipes[0];e.emit(\"unpipe\",this,r);return this};Readable.prototype.on=function(e,t){var r=s.prototype.on.call(this,e,t);var i=this._readableState;if(e===\"data\"){i.readableListening=this.listenerCount(\"readable\")>0;if(i.flowing!==false)this.resume()}else if(e===\"readable\"){if(!i.endEmitted&&!i.readableListening){i.readableListening=i.needReadable=true;i.flowing=false;i.emittedReadable=false;d(\"on readable\",i.length,i.reading);if(i.length){emitReadable(this)}else if(!i.reading){process.nextTick(nReadingNextTick,this)}}}return r};Readable.prototype.addListener=Readable.prototype.on;Readable.prototype.removeListener=function(e,t){var r=s.prototype.removeListener.call(this,e,t);if(e===\"readable\"){process.nextTick(updateReadableListening,this)}return r};Readable.prototype.removeAllListeners=function(e){var t=s.prototype.removeAllListeners.apply(this,arguments);if(e===\"readable\"||e===undefined){process.nextTick(updateReadableListening,this)}return t};function updateReadableListening(e){var t=e._readableState;t.readableListening=e.listenerCount(\"readable\")>0;if(t.resumeScheduled&&!t.paused){t.flowing=true}else if(e.listenerCount(\"data\")>0){e.resume()}}function nReadingNextTick(e){d(\"readable nexttick read 0\");e.read(0)}Readable.prototype.resume=function(){var e=this._readableState;if(!e.flowing){d(\"resume\");e.flowing=!e.readableListening;resume(this,e)}e.paused=false;return this};function resume(e,t){if(!t.resumeScheduled){t.resumeScheduled=true;process.nextTick(resume_,e,t)}}function resume_(e,t){d(\"resume\",t.reading);if(!t.reading){e.read(0)}t.resumeScheduled=false;e.emit(\"resume\");flow(e);if(t.flowing&&!t.reading)e.read(0)}Readable.prototype.pause=function(){d(\"call pause flowing=%j\",this._readableState.flowing);if(this._readableState.flowing!==false){d(\"pause\");this._readableState.flowing=false;this.emit(\"pause\")}this._readableState.paused=true;return this};function flow(e){var t=e._readableState;d(\"flow\",t.flowing);while(t.flowing&&e.read()!==null){}}Readable.prototype.wrap=function(e){var t=this;var r=this._readableState;var i=false;e.on(\"end\",(function(){d(\"wrapped end\");if(r.decoder&&!r.ended){var e=r.decoder.end();if(e&&e.length)t.push(e)}t.push(null)}));e.on(\"data\",(function(n){d(\"wrapped data\");if(r.decoder)n=r.decoder.write(n);if(r.objectMode&&(n===null||n===undefined))return;else if(!r.objectMode&&(!n||!n.length))return;var a=t.push(n);if(!a){i=true;e.pause()}}));for(var n in e){if(this[n]===undefined&&typeof e[n]===\"function\"){this[n]=function methodWrap(t){return function methodWrapReturnFunction(){return e[t].apply(e,arguments)}}(n)}}for(var a=0;a<k.length;a++){e.on(k[a],this.emit.bind(this,k[a]))}this._read=function(t){d(\"wrapped _read\",t);if(i){i=false;e.resume()}};return this};if(typeof Symbol===\"function\"){Readable.prototype[Symbol.asyncIterator]=function(){if(M===undefined){M=r(6871)}return M(this)}}Object.defineProperty(Readable.prototype,\"readableHighWaterMark\",{enumerable:false,get:function get(){return this._readableState.highWaterMark}});Object.defineProperty(Readable.prototype,\"readableBuffer\",{enumerable:false,get:function get(){return this._readableState&&this._readableState.buffer}});Object.defineProperty(Readable.prototype,\"readableFlowing\",{enumerable:false,get:function get(){return this._readableState.flowing},set:function set(e){if(this._readableState){this._readableState.flowing=e}}});Readable._fromList=fromList;Object.defineProperty(Readable.prototype,\"readableLength\",{enumerable:false,get:function get(){return this._readableState.length}});function fromList(e,t){if(t.length===0)return null;var r;if(t.objectMode)r=t.buffer.shift();else if(!e||e>=t.length){if(t.decoder)r=t.buffer.join(\"\");else if(t.buffer.length===1)r=t.buffer.first();else r=t.buffer.concat(t.length);t.buffer.clear()}else{r=t.buffer.consume(e,t.decoder)}return r}function endReadable(e){var t=e._readableState;d(\"endReadable\",t.endEmitted);if(!t.endEmitted){t.ended=true;process.nextTick(endReadableNT,t,e)}}function endReadableNT(e,t){d(\"endReadableNT\",e.endEmitted,e.length);if(!e.endEmitted&&e.length===0){e.endEmitted=true;t.readable=false;t.emit(\"end\");if(e.autoDestroy){var r=t._writableState;if(!r||r.autoDestroy&&r.finished){t.destroy()}}}}if(typeof Symbol===\"function\"){Readable.from=function(e,t){if(B===undefined){B=r(9727)}return B(Readable,e,t)}}function indexOf(e,t){for(var r=0,i=e.length;r<i;r++){if(e[r]===t)return r}return-1}},1170:function(e,t,r){\"use strict\";e.exports=Transform;var i=r(4646).q,n=i.ERR_METHOD_NOT_IMPLEMENTED,a=i.ERR_MULTIPLE_CALLBACK,s=i.ERR_TRANSFORM_ALREADY_TRANSFORMING,o=i.ERR_TRANSFORM_WITH_LENGTH_0;var h=r(2403);r(3782)(Transform,h);function afterTransform(e,t){var r=this._transformState;r.transforming=false;var i=r.writecb;if(i===null){return this.emit(\"error\",new a)}r.writechunk=null;r.writecb=null;if(t!=null)this.push(t);i(e);var n=this._readableState;n.reading=false;if(n.needReadable||n.length<n.highWaterMark){this._read(n.highWaterMark)}}function Transform(e){if(!(this instanceof Transform))return new Transform(e);h.call(this,e);this._transformState={afterTransform:afterTransform.bind(this),needTransform:false,transforming:false,writecb:null,writechunk:null,writeencoding:null};this._readableState.needReadable=true;this._readableState.sync=false;if(e){if(typeof e.transform===\"function\")this._transform=e.transform;if(typeof e.flush===\"function\")this._flush=e.flush}this.on(\"prefinish\",prefinish)}function prefinish(){var e=this;if(typeof this._flush===\"function\"&&!this._readableState.destroyed){this._flush((function(t,r){done(e,t,r)}))}else{done(this,null,null)}}Transform.prototype.push=function(e,t){this._transformState.needTransform=false;return h.prototype.push.call(this,e,t)};Transform.prototype._transform=function(e,t,r){r(new n(\"_transform()\"))};Transform.prototype._write=function(e,t,r){var i=this._transformState;i.writecb=r;i.writechunk=e;i.writeencoding=t;if(!i.transforming){var n=this._readableState;if(i.needTransform||n.needReadable||n.length<n.highWaterMark)this._read(n.highWaterMark)}};Transform.prototype._read=function(e){var t=this._transformState;if(t.writechunk!==null&&!t.transforming){t.transforming=true;this._transform(t.writechunk,t.writeencoding,t.afterTransform)}else{t.needTransform=true}};Transform.prototype._destroy=function(e,t){h.prototype._destroy.call(this,e,(function(e){t(e)}))};function done(e,t,r){if(t)return e.emit(\"error\",t);if(r!=null)e.push(r);if(e._writableState.length)throw new o;if(e._transformState.transforming)throw new s;return e.push(null)}},7337:function(e,t,r){\"use strict\";e.exports=Writable;function WriteReq(e,t,r){this.chunk=e;this.encoding=t;this.callback=r;this.next=null}function CorkedRequest(e){var t=this;this.next=null;this.entry=null;this.finish=function(){onCorkedFinish(t,e)}}var i;Writable.WritableState=WritableState;var n={deprecate:r(6769)};var a=r(4678);var s=r(4300).Buffer;var o=global.Uint8Array||function(){};function _uint8ArrayToBuffer(e){return s.from(e)}function _isUint8Array(e){return s.isBuffer(e)||e instanceof o}var h=r(7025);var u=r(6776),d=u.getHighWaterMark;var c=r(4646).q,l=c.ERR_INVALID_ARG_TYPE,p=c.ERR_METHOD_NOT_IMPLEMENTED,v=c.ERR_MULTIPLE_CALLBACK,b=c.ERR_STREAM_CANNOT_PIPE,m=c.ERR_STREAM_DESTROYED,y=c.ERR_STREAM_NULL_VALUES,g=c.ERR_STREAM_WRITE_AFTER_END,_=c.ERR_UNKNOWN_ENCODING;var w=h.errorOrDestroy;r(3782)(Writable,a);function nop(){}function WritableState(e,t,n){i=i||r(2403);e=e||{};if(typeof n!==\"boolean\")n=t instanceof i;this.objectMode=!!e.objectMode;if(n)this.objectMode=this.objectMode||!!e.writableObjectMode;this.highWaterMark=d(this,e,\"writableHighWaterMark\",n);this.finalCalled=false;this.needDrain=false;this.ending=false;this.ended=false;this.finished=false;this.destroyed=false;var a=e.decodeStrings===false;this.decodeStrings=!a;this.defaultEncoding=e.defaultEncoding||\"utf8\";this.length=0;this.writing=false;this.corked=0;this.sync=true;this.bufferProcessing=false;this.onwrite=function(e){onwrite(t,e)};this.writecb=null;this.writelen=0;this.bufferedRequest=null;this.lastBufferedRequest=null;this.pendingcb=0;this.prefinished=false;this.errorEmitted=false;this.emitClose=e.emitClose!==false;this.autoDestroy=!!e.autoDestroy;this.bufferedRequestCount=0;this.corkedRequestsFree=new CorkedRequest(this)}WritableState.prototype.getBuffer=function getBuffer(){var e=this.bufferedRequest;var t=[];while(e){t.push(e);e=e.next}return t};(function(){try{Object.defineProperty(WritableState.prototype,\"buffer\",{get:n.deprecate((function writableStateBufferGetter(){return this.getBuffer()}),\"_writableState.buffer is deprecated. Use _writableState.getBuffer \"+\"instead.\",\"DEP0003\")})}catch(e){}})();var M;if(typeof Symbol===\"function\"&&Symbol.hasInstance&&typeof Function.prototype[Symbol.hasInstance]===\"function\"){M=Function.prototype[Symbol.hasInstance];Object.defineProperty(Writable,Symbol.hasInstance,{value:function value(e){if(M.call(this,e))return true;if(this!==Writable)return false;return e&&e._writableState instanceof WritableState}})}else{M=function realHasInstance(e){return e instanceof this}}function Writable(e){i=i||r(2403);var t=this instanceof i;if(!t&&!M.call(Writable,this))return new Writable(e);this._writableState=new WritableState(e,this,t);this.writable=true;if(e){if(typeof e.write===\"function\")this._write=e.write;if(typeof e.writev===\"function\")this._writev=e.writev;if(typeof e.destroy===\"function\")this._destroy=e.destroy;if(typeof e.final===\"function\")this._final=e.final}a.call(this)}Writable.prototype.pipe=function(){w(this,new b)};function writeAfterEnd(e,t){var r=new g;w(e,r);process.nextTick(t,r)}function validChunk(e,t,r,i){var n;if(r===null){n=new y}else if(typeof r!==\"string\"&&!t.objectMode){n=new l(\"chunk\",[\"string\",\"Buffer\"],r)}if(n){w(e,n);process.nextTick(i,n);return false}return true}Writable.prototype.write=function(e,t,r){var i=this._writableState;var n=false;var a=!i.objectMode&&_isUint8Array(e);if(a&&!s.isBuffer(e)){e=_uint8ArrayToBuffer(e)}if(typeof t===\"function\"){r=t;t=null}if(a)t=\"buffer\";else if(!t)t=i.defaultEncoding;if(typeof r!==\"function\")r=nop;if(i.ending)writeAfterEnd(this,r);else if(a||validChunk(this,i,e,r)){i.pendingcb++;n=writeOrBuffer(this,i,a,e,t,r)}return n};Writable.prototype.cork=function(){this._writableState.corked++};Writable.prototype.uncork=function(){var e=this._writableState;if(e.corked){e.corked--;if(!e.writing&&!e.corked&&!e.bufferProcessing&&e.bufferedRequest)clearBuffer(this,e)}};Writable.prototype.setDefaultEncoding=function setDefaultEncoding(e){if(typeof e===\"string\")e=e.toLowerCase();if(!([\"hex\",\"utf8\",\"utf-8\",\"ascii\",\"binary\",\"base64\",\"ucs2\",\"ucs-2\",\"utf16le\",\"utf-16le\",\"raw\"].indexOf((e+\"\").toLowerCase())>-1))throw new _(e);this._writableState.defaultEncoding=e;return this};Object.defineProperty(Writable.prototype,\"writableBuffer\",{enumerable:false,get:function get(){return this._writableState&&this._writableState.getBuffer()}});function decodeChunk(e,t,r){if(!e.objectMode&&e.decodeStrings!==false&&typeof t===\"string\"){t=s.from(t,r)}return t}Object.defineProperty(Writable.prototype,\"writableHighWaterMark\",{enumerable:false,get:function get(){return this._writableState.highWaterMark}});function writeOrBuffer(e,t,r,i,n,a){if(!r){var s=decodeChunk(t,i,n);if(i!==s){r=true;n=\"buffer\";i=s}}var o=t.objectMode?1:i.length;t.length+=o;var h=t.length<t.highWaterMark;if(!h)t.needDrain=true;if(t.writing||t.corked){var u=t.lastBufferedRequest;t.lastBufferedRequest={chunk:i,encoding:n,isBuf:r,callback:a,next:null};if(u){u.next=t.lastBufferedRequest}else{t.bufferedRequest=t.lastBufferedRequest}t.bufferedRequestCount+=1}else{doWrite(e,t,false,o,i,n,a)}return h}function doWrite(e,t,r,i,n,a,s){t.writelen=i;t.writecb=s;t.writing=true;t.sync=true;if(t.destroyed)t.onwrite(new m(\"write\"));else if(r)e._writev(n,t.onwrite);else e._write(n,a,t.onwrite);t.sync=false}function onwriteError(e,t,r,i,n){--t.pendingcb;if(r){process.nextTick(n,i);process.nextTick(finishMaybe,e,t);e._writableState.errorEmitted=true;w(e,i)}else{n(i);e._writableState.errorEmitted=true;w(e,i);finishMaybe(e,t)}}function onwriteStateUpdate(e){e.writing=false;e.writecb=null;e.length-=e.writelen;e.writelen=0}function onwrite(e,t){var r=e._writableState;var i=r.sync;var n=r.writecb;if(typeof n!==\"function\")throw new v;onwriteStateUpdate(r);if(t)onwriteError(e,r,i,t,n);else{var a=needFinish(r)||e.destroyed;if(!a&&!r.corked&&!r.bufferProcessing&&r.bufferedRequest){clearBuffer(e,r)}if(i){process.nextTick(afterWrite,e,r,a,n)}else{afterWrite(e,r,a,n)}}}function afterWrite(e,t,r,i){if(!r)onwriteDrain(e,t);t.pendingcb--;i();finishMaybe(e,t)}function onwriteDrain(e,t){if(t.length===0&&t.needDrain){t.needDrain=false;e.emit(\"drain\")}}function clearBuffer(e,t){t.bufferProcessing=true;var r=t.bufferedRequest;if(e._writev&&r&&r.next){var i=t.bufferedRequestCount;var n=new Array(i);var a=t.corkedRequestsFree;a.entry=r;var s=0;var o=true;while(r){n[s]=r;if(!r.isBuf)o=false;r=r.next;s+=1}n.allBuffers=o;doWrite(e,t,true,t.length,n,\"\",a.finish);t.pendingcb++;t.lastBufferedRequest=null;if(a.next){t.corkedRequestsFree=a.next;a.next=null}else{t.corkedRequestsFree=new CorkedRequest(t)}t.bufferedRequestCount=0}else{while(r){var h=r.chunk;var u=r.encoding;var d=r.callback;var c=t.objectMode?1:h.length;doWrite(e,t,false,c,h,u,d);r=r.next;t.bufferedRequestCount--;if(t.writing){break}}if(r===null)t.lastBufferedRequest=null}t.bufferedRequest=r;t.bufferProcessing=false}Writable.prototype._write=function(e,t,r){r(new p(\"_write()\"))};Writable.prototype._writev=null;Writable.prototype.end=function(e,t,r){var i=this._writableState;if(typeof e===\"function\"){r=e;e=null;t=null}else if(typeof t===\"function\"){r=t;t=null}if(e!==null&&e!==undefined)this.write(e,t);if(i.corked){i.corked=1;this.uncork()}if(!i.ending)endWritable(this,i,r);return this};Object.defineProperty(Writable.prototype,\"writableLength\",{enumerable:false,get:function get(){return this._writableState.length}});function needFinish(e){return e.ending&&e.length===0&&e.bufferedRequest===null&&!e.finished&&!e.writing}function callFinal(e,t){e._final((function(r){t.pendingcb--;if(r){w(e,r)}t.prefinished=true;e.emit(\"prefinish\");finishMaybe(e,t)}))}function prefinish(e,t){if(!t.prefinished&&!t.finalCalled){if(typeof e._final===\"function\"&&!t.destroyed){t.pendingcb++;t.finalCalled=true;process.nextTick(callFinal,e,t)}else{t.prefinished=true;e.emit(\"prefinish\")}}}function finishMaybe(e,t){var r=needFinish(t);if(r){prefinish(e,t);if(t.pendingcb===0){t.finished=true;e.emit(\"finish\");if(t.autoDestroy){var i=e._readableState;if(!i||i.autoDestroy&&i.endEmitted){e.destroy()}}}}return r}function endWritable(e,t,r){t.ending=true;finishMaybe(e,t);if(r){if(t.finished)process.nextTick(r);else e.once(\"finish\",r)}t.ended=true;e.writable=false}function onCorkedFinish(e,t,r){var i=e.entry;e.entry=null;while(i){var n=i.callback;t.pendingcb--;n(r);i=i.next}t.corkedRequestsFree.next=e}Object.defineProperty(Writable.prototype,\"destroyed\",{enumerable:false,get:function get(){if(this._writableState===undefined){return false}return this._writableState.destroyed},set:function set(e){if(!this._writableState){return}this._writableState.destroyed=e}});Writable.prototype.destroy=h.destroy;Writable.prototype._undestroy=h.undestroy;Writable.prototype._destroy=function(e,t){t(e)}},6871:function(e,t,r){\"use strict\";var i;function _defineProperty(e,t,r){if(t in e){Object.defineProperty(e,t,{value:r,enumerable:true,configurable:true,writable:true})}else{e[t]=r}return e}var n=r(9698);var a=Symbol(\"lastResolve\");var s=Symbol(\"lastReject\");var o=Symbol(\"error\");var h=Symbol(\"ended\");var u=Symbol(\"lastPromise\");var d=Symbol(\"handlePromise\");var c=Symbol(\"stream\");function createIterResult(e,t){return{value:e,done:t}}function readAndResolve(e){var t=e[a];if(t!==null){var r=e[c].read();if(r!==null){e[u]=null;e[a]=null;e[s]=null;t(createIterResult(r,false))}}}function onReadable(e){process.nextTick(readAndResolve,e)}function wrapForNext(e,t){return function(r,i){e.then((function(){if(t[h]){r(createIterResult(undefined,true));return}t[d](r,i)}),i)}}var l=Object.getPrototypeOf((function(){}));var p=Object.setPrototypeOf((i={get stream(){return this[c]},next:function next(){var e=this;var t=this[o];if(t!==null){return Promise.reject(t)}if(this[h]){return Promise.resolve(createIterResult(undefined,true))}if(this[c].destroyed){return new Promise((function(t,r){process.nextTick((function(){if(e[o]){r(e[o])}else{t(createIterResult(undefined,true))}}))}))}var r=this[u];var i;if(r){i=new Promise(wrapForNext(r,this))}else{var n=this[c].read();if(n!==null){return Promise.resolve(createIterResult(n,false))}i=new Promise(this[d])}this[u]=i;return i}},_defineProperty(i,Symbol.asyncIterator,(function(){return this})),_defineProperty(i,\"return\",(function _return(){var e=this;return new Promise((function(t,r){e[c].destroy(null,(function(e){if(e){r(e);return}t(createIterResult(undefined,true))}))}))})),i),l);var v=function createReadableStreamAsyncIterator(e){var t;var r=Object.create(p,(t={},_defineProperty(t,c,{value:e,writable:true}),_defineProperty(t,a,{value:null,writable:true}),_defineProperty(t,s,{value:null,writable:true}),_defineProperty(t,o,{value:null,writable:true}),_defineProperty(t,h,{value:e._readableState.endEmitted,writable:true}),_defineProperty(t,d,{value:function value(e,t){var i=r[c].read();if(i){r[u]=null;r[a]=null;r[s]=null;e(createIterResult(i,false))}else{r[a]=e;r[s]=t}},writable:true}),t));r[u]=null;n(e,(function(e){if(e&&e.code!==\"ERR_STREAM_PREMATURE_CLOSE\"){var t=r[s];if(t!==null){r[u]=null;r[a]=null;r[s]=null;t(e)}r[o]=e;return}var i=r[a];if(i!==null){r[u]=null;r[a]=null;r[s]=null;i(createIterResult(undefined,true))}r[h]=true}));e.on(\"readable\",onReadable.bind(null,r));return r};e.exports=v},4379:function(e,t,r){\"use strict\";function ownKeys(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);if(t)i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}));r.push.apply(r,i)}return r}function _objectSpread(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};if(t%2){ownKeys(Object(r),true).forEach((function(t){_defineProperty(e,t,r[t])}))}else if(Object.getOwnPropertyDescriptors){Object.defineProperties(e,Object.getOwnPropertyDescriptors(r))}else{ownKeys(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}}return e}function _defineProperty(e,t,r){if(t in e){Object.defineProperty(e,t,{value:r,enumerable:true,configurable:true,writable:true})}else{e[t]=r}return e}function _classCallCheck(e,t){if(!(e instanceof t)){throw new TypeError(\"Cannot call a class as a function\")}}function _defineProperties(e,t){for(var r=0;r<t.length;r++){var i=t[r];i.enumerable=i.enumerable||false;i.configurable=true;if(\"value\"in i)i.writable=true;Object.defineProperty(e,i.key,i)}}function _createClass(e,t,r){if(t)_defineProperties(e.prototype,t);if(r)_defineProperties(e,r);return e}var i=r(4300),n=i.Buffer;var a=r(3837),s=a.inspect;var o=s&&s.custom||\"inspect\";function copyBuffer(e,t,r){n.prototype.copy.call(e,t,r)}e.exports=function(){function BufferList(){_classCallCheck(this,BufferList);this.head=null;this.tail=null;this.length=0}_createClass(BufferList,[{key:\"push\",value:function push(e){var t={data:e,next:null};if(this.length>0)this.tail.next=t;else this.head=t;this.tail=t;++this.length}},{key:\"unshift\",value:function unshift(e){var t={data:e,next:this.head};if(this.length===0)this.tail=t;this.head=t;++this.length}},{key:\"shift\",value:function shift(){if(this.length===0)return;var e=this.head.data;if(this.length===1)this.head=this.tail=null;else this.head=this.head.next;--this.length;return e}},{key:\"clear\",value:function clear(){this.head=this.tail=null;this.length=0}},{key:\"join\",value:function join(e){if(this.length===0)return\"\";var t=this.head;var r=\"\"+t.data;while(t=t.next){r+=e+t.data}return r}},{key:\"concat\",value:function concat(e){if(this.length===0)return n.alloc(0);var t=n.allocUnsafe(e>>>0);var r=this.head;var i=0;while(r){copyBuffer(r.data,t,i);i+=r.data.length;r=r.next}return t}},{key:\"consume\",value:function consume(e,t){var r;if(e<this.head.data.length){r=this.head.data.slice(0,e);this.head.data=this.head.data.slice(e)}else if(e===this.head.data.length){r=this.shift()}else{r=t?this._getString(e):this._getBuffer(e)}return r}},{key:\"first\",value:function first(){return this.head.data}},{key:\"_getString\",value:function _getString(e){var t=this.head;var r=1;var i=t.data;e-=i.length;while(t=t.next){var n=t.data;var a=e>n.length?n.length:e;if(a===n.length)i+=n;else i+=n.slice(0,e);e-=a;if(e===0){if(a===n.length){++r;if(t.next)this.head=t.next;else this.head=this.tail=null}else{this.head=t;t.data=n.slice(a)}break}++r}this.length-=r;return i}},{key:\"_getBuffer\",value:function _getBuffer(e){var t=n.allocUnsafe(e);var r=this.head;var i=1;r.data.copy(t);e-=r.data.length;while(r=r.next){var a=r.data;var s=e>a.length?a.length:e;a.copy(t,t.length-e,0,s);e-=s;if(e===0){if(s===a.length){++i;if(r.next)this.head=r.next;else this.head=this.tail=null}else{this.head=r;r.data=a.slice(s)}break}++i}this.length-=i;return t}},{key:o,value:function value(e,t){return s(this,_objectSpread({},t,{depth:0,customInspect:false}))}}]);return BufferList}()},7025:function(e){\"use strict\";function destroy(e,t){var r=this;var i=this._readableState&&this._readableState.destroyed;var n=this._writableState&&this._writableState.destroyed;if(i||n){if(t){t(e)}else if(e){if(!this._writableState){process.nextTick(emitErrorNT,this,e)}else if(!this._writableState.errorEmitted){this._writableState.errorEmitted=true;process.nextTick(emitErrorNT,this,e)}}return this}if(this._readableState){this._readableState.destroyed=true}if(this._writableState){this._writableState.destroyed=true}this._destroy(e||null,(function(e){if(!t&&e){if(!r._writableState){process.nextTick(emitErrorAndCloseNT,r,e)}else if(!r._writableState.errorEmitted){r._writableState.errorEmitted=true;process.nextTick(emitErrorAndCloseNT,r,e)}else{process.nextTick(emitCloseNT,r)}}else if(t){process.nextTick(emitCloseNT,r);t(e)}else{process.nextTick(emitCloseNT,r)}}));return this}function emitErrorAndCloseNT(e,t){emitErrorNT(e,t);emitCloseNT(e)}function emitCloseNT(e){if(e._writableState&&!e._writableState.emitClose)return;if(e._readableState&&!e._readableState.emitClose)return;e.emit(\"close\")}function undestroy(){if(this._readableState){this._readableState.destroyed=false;this._readableState.reading=false;this._readableState.ended=false;this._readableState.endEmitted=false}if(this._writableState){this._writableState.destroyed=false;this._writableState.ended=false;this._writableState.ending=false;this._writableState.finalCalled=false;this._writableState.prefinished=false;this._writableState.finished=false;this._writableState.errorEmitted=false}}function emitErrorNT(e,t){e.emit(\"error\",t)}function errorOrDestroy(e,t){var r=e._readableState;var i=e._writableState;if(r&&r.autoDestroy||i&&i.autoDestroy)e.destroy(t);else e.emit(\"error\",t)}e.exports={destroy:destroy,undestroy:undestroy,errorOrDestroy:errorOrDestroy}},9698:function(e,t,r){\"use strict\";var i=r(4646).q.ERR_STREAM_PREMATURE_CLOSE;function once(e){var t=false;return function(){if(t)return;t=true;for(var r=arguments.length,i=new Array(r),n=0;n<r;n++){i[n]=arguments[n]}e.apply(this,i)}}function noop(){}function isRequest(e){return e.setHeader&&typeof e.abort===\"function\"}function eos(e,t,r){if(typeof t===\"function\")return eos(e,null,t);if(!t)t={};r=once(r||noop);var n=t.readable||t.readable!==false&&e.readable;var a=t.writable||t.writable!==false&&e.writable;var s=function onlegacyfinish(){if(!e.writable)h()};var o=e._writableState&&e._writableState.finished;var h=function onfinish(){a=false;o=true;if(!n)r.call(e)};var u=e._readableState&&e._readableState.endEmitted;var d=function onend(){n=false;u=true;if(!a)r.call(e)};var c=function onerror(t){r.call(e,t)};var l=function onclose(){var t;if(n&&!u){if(!e._readableState||!e._readableState.ended)t=new i;return r.call(e,t)}if(a&&!o){if(!e._writableState||!e._writableState.ended)t=new i;return r.call(e,t)}};var p=function onrequest(){e.req.on(\"finish\",h)};if(isRequest(e)){e.on(\"complete\",h);e.on(\"abort\",l);if(e.req)p();else e.on(\"request\",p)}else if(a&&!e._writableState){e.on(\"end\",s);e.on(\"close\",s)}e.on(\"end\",d);e.on(\"finish\",h);if(t.error!==false)e.on(\"error\",c);e.on(\"close\",l);return function(){e.removeListener(\"complete\",h);e.removeListener(\"abort\",l);e.removeListener(\"request\",p);if(e.req)e.req.removeListener(\"finish\",h);e.removeListener(\"end\",s);e.removeListener(\"close\",s);e.removeListener(\"finish\",h);e.removeListener(\"end\",d);e.removeListener(\"error\",c);e.removeListener(\"close\",l)}}e.exports=eos},9727:function(e,t,r){\"use strict\";function asyncGeneratorStep(e,t,r,i,n,a,s){try{var o=e[a](s);var h=o.value}catch(e){r(e);return}if(o.done){t(h)}else{Promise.resolve(h).then(i,n)}}function _asyncToGenerator(e){return function(){var t=this,r=arguments;return new Promise((function(i,n){var a=e.apply(t,r);function _next(e){asyncGeneratorStep(a,i,n,_next,_throw,\"next\",e)}function _throw(e){asyncGeneratorStep(a,i,n,_next,_throw,\"throw\",e)}_next(undefined)}))}}function ownKeys(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);if(t)i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}));r.push.apply(r,i)}return r}function _objectSpread(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};if(t%2){ownKeys(Object(r),true).forEach((function(t){_defineProperty(e,t,r[t])}))}else if(Object.getOwnPropertyDescriptors){Object.defineProperties(e,Object.getOwnPropertyDescriptors(r))}else{ownKeys(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}}return e}function _defineProperty(e,t,r){if(t in e){Object.defineProperty(e,t,{value:r,enumerable:true,configurable:true,writable:true})}else{e[t]=r}return e}var i=r(4646).q.ERR_INVALID_ARG_TYPE;function from(e,t,r){var n;if(t&&typeof t.next===\"function\"){n=t}else if(t&&t[Symbol.asyncIterator])n=t[Symbol.asyncIterator]();else if(t&&t[Symbol.iterator])n=t[Symbol.iterator]();else throw new i(\"iterable\",[\"Iterable\"],t);var a=new e(_objectSpread({objectMode:true},r));var s=false;a._read=function(){if(!s){s=true;next()}};function next(){return _next2.apply(this,arguments)}function _next2(){_next2=_asyncToGenerator((function*(){try{var e=yield n.next(),t=e.value,r=e.done;if(r){a.push(null)}else if(a.push(yield t)){next()}else{s=false}}catch(e){a.destroy(e)}}));return _next2.apply(this,arguments)}return a}e.exports=from},8442:function(e,t,r){\"use strict\";var i;function once(e){var t=false;return function(){if(t)return;t=true;e.apply(void 0,arguments)}}var n=r(4646).q,a=n.ERR_MISSING_ARGS,s=n.ERR_STREAM_DESTROYED;function noop(e){if(e)throw e}function isRequest(e){return e.setHeader&&typeof e.abort===\"function\"}function destroyer(e,t,n,a){a=once(a);var o=false;e.on(\"close\",(function(){o=true}));if(i===undefined)i=r(9698);i(e,{readable:t,writable:n},(function(e){if(e)return a(e);o=true;a()}));var h=false;return function(t){if(o)return;if(h)return;h=true;if(isRequest(e))return e.abort();if(typeof e.destroy===\"function\")return e.destroy();a(t||new s(\"pipe\"))}}function call(e){e()}function pipe(e,t){return e.pipe(t)}function popCallback(e){if(!e.length)return noop;if(typeof e[e.length-1]!==\"function\")return noop;return e.pop()}function pipeline(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++){t[r]=arguments[r]}var i=popCallback(t);if(Array.isArray(t[0]))t=t[0];if(t.length<2){throw new a(\"streams\")}var n;var s=t.map((function(e,r){var a=r<t.length-1;var o=r>0;return destroyer(e,a,o,(function(e){if(!n)n=e;if(e)s.forEach(call);if(a)return;s.forEach(call);i(n)}))}));return t.reduce(pipe)}e.exports=pipeline},6776:function(e,t,r){\"use strict\";var i=r(4646).q.ERR_INVALID_OPT_VALUE;function highWaterMarkFrom(e,t,r){return e.highWaterMark!=null?e.highWaterMark:t?e[r]:null}function getHighWaterMark(e,t,r,n){var a=highWaterMarkFrom(t,n,r);if(a!=null){if(!(isFinite(a)&&Math.floor(a)===a)||a<0){var s=n?r:\"highWaterMark\";throw new i(s,a)}return Math.floor(a)}return e.objectMode?16:16*1024}e.exports={getHighWaterMark:getHighWaterMark}},4678:function(e,t,r){e.exports=r(2781)},3726:function(e,t,r){var i=r(2781);if(process.env.READABLE_STREAM===\"disable\"&&i){e.exports=i.Readable;Object.assign(e.exports,i);e.exports.Stream=i}else{t=e.exports=r(1709);t.Stream=i||t;t.Readable=t;t.Writable=r(7337);t.Duplex=r(2403);t.Transform=r(1170);t.PassThrough=r(7889);t.finished=r(9698);t.pipeline=r(8442)}},3225:function(e,t,r){\"use strict\";var i=r(4300).Buffer;var n=r(3782);var a=r(9029);var s=new Array(16);var o=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13];var h=[5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11];var u=[11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6];var d=[8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11];var c=[0,1518500249,1859775393,2400959708,2840853838];var l=[1352829926,1548603684,1836072691,2053994217,0];function RIPEMD160(){a.call(this,64);this._a=1732584193;this._b=4023233417;this._c=2562383102;this._d=271733878;this._e=3285377520}n(RIPEMD160,a);RIPEMD160.prototype._update=function(){var e=s;for(var t=0;t<16;++t)e[t]=this._block.readInt32LE(t*4);var r=this._a|0;var i=this._b|0;var n=this._c|0;var a=this._d|0;var p=this._e|0;var v=this._a|0;var b=this._b|0;var m=this._c|0;var y=this._d|0;var g=this._e|0;for(var _=0;_<80;_+=1){var w;var M;if(_<16){w=fn1(r,i,n,a,p,e[o[_]],c[0],u[_]);M=fn5(v,b,m,y,g,e[h[_]],l[0],d[_])}else if(_<32){w=fn2(r,i,n,a,p,e[o[_]],c[1],u[_]);M=fn4(v,b,m,y,g,e[h[_]],l[1],d[_])}else if(_<48){w=fn3(r,i,n,a,p,e[o[_]],c[2],u[_]);M=fn3(v,b,m,y,g,e[h[_]],l[2],d[_])}else if(_<64){w=fn4(r,i,n,a,p,e[o[_]],c[3],u[_]);M=fn2(v,b,m,y,g,e[h[_]],l[3],d[_])}else{w=fn5(r,i,n,a,p,e[o[_]],c[4],u[_]);M=fn1(v,b,m,y,g,e[h[_]],l[4],d[_])}r=p;p=a;a=rotl(n,10);n=i;i=w;v=g;g=y;y=rotl(m,10);m=b;b=M}var B=this._b+n+y|0;this._b=this._c+a+g|0;this._c=this._d+p+v|0;this._d=this._e+r+b|0;this._e=this._a+i+m|0;this._a=B};RIPEMD160.prototype._digest=function(){this._block[this._blockOffset++]=128;if(this._blockOffset>56){this._block.fill(0,this._blockOffset,64);this._update();this._blockOffset=0}this._block.fill(0,this._blockOffset,56);this._block.writeUInt32LE(this._length[0],56);this._block.writeUInt32LE(this._length[1],60);this._update();var e=i.alloc?i.alloc(20):new i(20);e.writeInt32LE(this._a,0);e.writeInt32LE(this._b,4);e.writeInt32LE(this._c,8);e.writeInt32LE(this._d,12);e.writeInt32LE(this._e,16);return e};function rotl(e,t){return e<<t|e>>>32-t}function fn1(e,t,r,i,n,a,s,o){return rotl(e+(t^r^i)+a+s|0,o)+n|0}function fn2(e,t,r,i,n,a,s,o){return rotl(e+(t&r|~t&i)+a+s|0,o)+n|0}function fn3(e,t,r,i,n,a,s,o){return rotl(e+((t|~r)^i)+a+s|0,o)+n|0}function fn4(e,t,r,i,n,a,s,o){return rotl(e+(t&i|r&~i)+a+s|0,o)+n|0}function fn5(e,t,r,i,n,a,s,o){return rotl(e+(t^(r|~i))+a+s|0,o)+n|0}e.exports=RIPEMD160},5055:function(e,t,r){var i=r(4300);var n=i.Buffer;function copyProps(e,t){for(var r in e){t[r]=e[r]}}if(n.from&&n.alloc&&n.allocUnsafe&&n.allocUnsafeSlow){e.exports=i}else{copyProps(i,t);t.Buffer=SafeBuffer}function SafeBuffer(e,t,r){return n(e,t,r)}SafeBuffer.prototype=Object.create(n.prototype);copyProps(n,SafeBuffer);SafeBuffer.from=function(e,t,r){if(typeof e===\"number\"){throw new TypeError(\"Argument must not be a number\")}return n(e,t,r)};SafeBuffer.alloc=function(e,t,r){if(typeof e!==\"number\"){throw new TypeError(\"Argument must be a number\")}var i=n(e);if(t!==undefined){if(typeof r===\"string\"){i.fill(t,r)}else{i.fill(t)}}else{i.fill(0)}return i};SafeBuffer.allocUnsafe=function(e){if(typeof e!==\"number\"){throw new TypeError(\"Argument must be a number\")}return n(e)};SafeBuffer.allocUnsafeSlow=function(e){if(typeof e!==\"number\"){throw new TypeError(\"Argument must be a number\")}return i.SlowBuffer(e)}},6911:function(e,t,r){\n/*! safe-buffer. MIT License. Feross Aboukhadijeh <https://feross.org/opensource> */\nvar i=r(4300);var n=i.Buffer;function copyProps(e,t){for(var r in e){t[r]=e[r]}}if(n.from&&n.alloc&&n.allocUnsafe&&n.allocUnsafeSlow){e.exports=i}else{copyProps(i,t);t.Buffer=SafeBuffer}function SafeBuffer(e,t,r){return n(e,t,r)}SafeBuffer.prototype=Object.create(n.prototype);copyProps(n,SafeBuffer);SafeBuffer.from=function(e,t,r){if(typeof e===\"number\"){throw new TypeError(\"Argument must not be a number\")}return n(e,t,r)};SafeBuffer.alloc=function(e,t,r){if(typeof e!==\"number\"){throw new TypeError(\"Argument must be a number\")}var i=n(e);if(t!==undefined){if(typeof r===\"string\"){i.fill(t,r)}else{i.fill(t)}}else{i.fill(0)}return i};SafeBuffer.allocUnsafe=function(e){if(typeof e!==\"number\"){throw new TypeError(\"Argument must be a number\")}return n(e)};SafeBuffer.allocUnsafeSlow=function(e){if(typeof e!==\"number\"){throw new TypeError(\"Argument must be a number\")}return i.SlowBuffer(e)}},2858:function(e,t,r){var i=r(6911).Buffer;function Hash(e,t){this._block=i.alloc(e);this._finalSize=t;this._blockSize=e;this._len=0}Hash.prototype.update=function(e,t){if(typeof e===\"string\"){t=t||\"utf8\";e=i.from(e,t)}var r=this._block;var n=this._blockSize;var a=e.length;var s=this._len;for(var o=0;o<a;){var h=s%n;var u=Math.min(a-o,n-h);for(var d=0;d<u;d++){r[h+d]=e[o+d]}s+=u;o+=u;if(s%n===0){this._update(r)}}this._len+=a;return this};Hash.prototype.digest=function(e){var t=this._len%this._blockSize;this._block[t]=128;this._block.fill(0,t+1);if(t>=this._finalSize){this._update(this._block);this._block.fill(0)}var r=this._len*8;if(r<=4294967295){this._block.writeUInt32BE(r,this._blockSize-4)}else{var i=(r&4294967295)>>>0;var n=(r-i)/4294967296;this._block.writeUInt32BE(n,this._blockSize-8);this._block.writeUInt32BE(i,this._blockSize-4)}this._update(this._block);var a=this._hash();return e?a.toString(e):a};Hash.prototype._update=function(){throw new Error(\"_update must be implemented by subclass\")};e.exports=Hash},4371:function(e,t,r){var i=e.exports=function SHA(e){e=e.toLowerCase();var t=i[e];if(!t)throw new Error(e+\" is not supported (we accept pull requests)\");return new t};i.sha=r(4018);i.sha1=r(4179);i.sha224=r(532);i.sha256=r(1843);i.sha384=r(7455);i.sha512=r(9934)},4018:function(e,t,r){var i=r(3782);var n=r(2858);var a=r(6911).Buffer;var s=[1518500249,1859775393,2400959708|0,3395469782|0];var o=new Array(80);function Sha(){this.init();this._w=o;n.call(this,64,56)}i(Sha,n);Sha.prototype.init=function(){this._a=1732584193;this._b=4023233417;this._c=2562383102;this._d=271733878;this._e=3285377520;return this};function rotl5(e){return e<<5|e>>>27}function rotl30(e){return e<<30|e>>>2}function ft(e,t,r,i){if(e===0)return t&r|~t&i;if(e===2)return t&r|t&i|r&i;return t^r^i}Sha.prototype._update=function(e){var t=this._w;var r=this._a|0;var i=this._b|0;var n=this._c|0;var a=this._d|0;var o=this._e|0;for(var h=0;h<16;++h)t[h]=e.readInt32BE(h*4);for(;h<80;++h)t[h]=t[h-3]^t[h-8]^t[h-14]^t[h-16];for(var u=0;u<80;++u){var d=~~(u/20);var c=rotl5(r)+ft(d,i,n,a)+o+t[u]+s[d]|0;o=a;a=n;n=rotl30(i);i=r;r=c}this._a=r+this._a|0;this._b=i+this._b|0;this._c=n+this._c|0;this._d=a+this._d|0;this._e=o+this._e|0};Sha.prototype._hash=function(){var e=a.allocUnsafe(20);e.writeInt32BE(this._a|0,0);e.writeInt32BE(this._b|0,4);e.writeInt32BE(this._c|0,8);e.writeInt32BE(this._d|0,12);e.writeInt32BE(this._e|0,16);return e};e.exports=Sha},4179:function(e,t,r){var i=r(3782);var n=r(2858);var a=r(6911).Buffer;var s=[1518500249,1859775393,2400959708|0,3395469782|0];var o=new Array(80);function Sha1(){this.init();this._w=o;n.call(this,64,56)}i(Sha1,n);Sha1.prototype.init=function(){this._a=1732584193;this._b=4023233417;this._c=2562383102;this._d=271733878;this._e=3285377520;return this};function rotl1(e){return e<<1|e>>>31}function rotl5(e){return e<<5|e>>>27}function rotl30(e){return e<<30|e>>>2}function ft(e,t,r,i){if(e===0)return t&r|~t&i;if(e===2)return t&r|t&i|r&i;return t^r^i}Sha1.prototype._update=function(e){var t=this._w;var r=this._a|0;var i=this._b|0;var n=this._c|0;var a=this._d|0;var o=this._e|0;for(var h=0;h<16;++h)t[h]=e.readInt32BE(h*4);for(;h<80;++h)t[h]=rotl1(t[h-3]^t[h-8]^t[h-14]^t[h-16]);for(var u=0;u<80;++u){var d=~~(u/20);var c=rotl5(r)+ft(d,i,n,a)+o+t[u]+s[d]|0;o=a;a=n;n=rotl30(i);i=r;r=c}this._a=r+this._a|0;this._b=i+this._b|0;this._c=n+this._c|0;this._d=a+this._d|0;this._e=o+this._e|0};Sha1.prototype._hash=function(){var e=a.allocUnsafe(20);e.writeInt32BE(this._a|0,0);e.writeInt32BE(this._b|0,4);e.writeInt32BE(this._c|0,8);e.writeInt32BE(this._d|0,12);e.writeInt32BE(this._e|0,16);return e};e.exports=Sha1},532:function(e,t,r){var i=r(3782);var n=r(1843);var a=r(2858);var s=r(6911).Buffer;var o=new Array(64);function Sha224(){this.init();this._w=o;a.call(this,64,56)}i(Sha224,n);Sha224.prototype.init=function(){this._a=3238371032;this._b=914150663;this._c=812702999;this._d=4144912697;this._e=4290775857;this._f=1750603025;this._g=1694076839;this._h=3204075428;return this};Sha224.prototype._hash=function(){var e=s.allocUnsafe(28);e.writeInt32BE(this._a,0);e.writeInt32BE(this._b,4);e.writeInt32BE(this._c,8);e.writeInt32BE(this._d,12);e.writeInt32BE(this._e,16);e.writeInt32BE(this._f,20);e.writeInt32BE(this._g,24);return e};e.exports=Sha224},1843:function(e,t,r){var i=r(3782);var n=r(2858);var a=r(6911).Buffer;var s=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298];var o=new Array(64);function Sha256(){this.init();this._w=o;n.call(this,64,56)}i(Sha256,n);Sha256.prototype.init=function(){this._a=1779033703;this._b=3144134277;this._c=1013904242;this._d=2773480762;this._e=1359893119;this._f=2600822924;this._g=528734635;this._h=1541459225;return this};function ch(e,t,r){return r^e&(t^r)}function maj(e,t,r){return e&t|r&(e|t)}function sigma0(e){return(e>>>2|e<<30)^(e>>>13|e<<19)^(e>>>22|e<<10)}function sigma1(e){return(e>>>6|e<<26)^(e>>>11|e<<21)^(e>>>25|e<<7)}function gamma0(e){return(e>>>7|e<<25)^(e>>>18|e<<14)^e>>>3}function gamma1(e){return(e>>>17|e<<15)^(e>>>19|e<<13)^e>>>10}Sha256.prototype._update=function(e){var t=this._w;var r=this._a|0;var i=this._b|0;var n=this._c|0;var a=this._d|0;var o=this._e|0;var h=this._f|0;var u=this._g|0;var d=this._h|0;for(var c=0;c<16;++c)t[c]=e.readInt32BE(c*4);for(;c<64;++c)t[c]=gamma1(t[c-2])+t[c-7]+gamma0(t[c-15])+t[c-16]|0;for(var l=0;l<64;++l){var p=d+sigma1(o)+ch(o,h,u)+s[l]+t[l]|0;var v=sigma0(r)+maj(r,i,n)|0;d=u;u=h;h=o;o=a+p|0;a=n;n=i;i=r;r=p+v|0}this._a=r+this._a|0;this._b=i+this._b|0;this._c=n+this._c|0;this._d=a+this._d|0;this._e=o+this._e|0;this._f=h+this._f|0;this._g=u+this._g|0;this._h=d+this._h|0};Sha256.prototype._hash=function(){var e=a.allocUnsafe(32);e.writeInt32BE(this._a,0);e.writeInt32BE(this._b,4);e.writeInt32BE(this._c,8);e.writeInt32BE(this._d,12);e.writeInt32BE(this._e,16);e.writeInt32BE(this._f,20);e.writeInt32BE(this._g,24);e.writeInt32BE(this._h,28);return e};e.exports=Sha256},7455:function(e,t,r){var i=r(3782);var n=r(9934);var a=r(2858);var s=r(6911).Buffer;var o=new Array(160);function Sha384(){this.init();this._w=o;a.call(this,128,112)}i(Sha384,n);Sha384.prototype.init=function(){this._ah=3418070365;this._bh=1654270250;this._ch=2438529370;this._dh=355462360;this._eh=1731405415;this._fh=2394180231;this._gh=3675008525;this._hh=1203062813;this._al=3238371032;this._bl=914150663;this._cl=812702999;this._dl=4144912697;this._el=4290775857;this._fl=1750603025;this._gl=1694076839;this._hl=3204075428;return this};Sha384.prototype._hash=function(){var e=s.allocUnsafe(48);function writeInt64BE(t,r,i){e.writeInt32BE(t,i);e.writeInt32BE(r,i+4)}writeInt64BE(this._ah,this._al,0);writeInt64BE(this._bh,this._bl,8);writeInt64BE(this._ch,this._cl,16);writeInt64BE(this._dh,this._dl,24);writeInt64BE(this._eh,this._el,32);writeInt64BE(this._fh,this._fl,40);return e};e.exports=Sha384},9934:function(e,t,r){var i=r(3782);var n=r(2858);var a=r(6911).Buffer;var s=[1116352408,3609767458,1899447441,602891725,3049323471,3964484399,3921009573,2173295548,961987163,4081628472,1508970993,3053834265,2453635748,2937671579,2870763221,3664609560,3624381080,2734883394,310598401,1164996542,607225278,1323610764,1426881987,3590304994,1925078388,4068182383,2162078206,991336113,2614888103,633803317,3248222580,3479774868,3835390401,2666613458,4022224774,944711139,264347078,2341262773,604807628,2007800933,770255983,1495990901,1249150122,1856431235,1555081692,3175218132,1996064986,2198950837,2554220882,3999719339,2821834349,766784016,2952996808,2566594879,3210313671,3203337956,3336571891,1034457026,3584528711,2466948901,113926993,3758326383,338241895,168717936,666307205,1188179964,773529912,1546045734,1294757372,1522805485,1396182291,2643833823,1695183700,2343527390,1986661051,1014477480,2177026350,1206759142,2456956037,344077627,2730485921,1290863460,2820302411,3158454273,3259730800,3505952657,3345764771,106217008,3516065817,3606008344,3600352804,1432725776,4094571909,1467031594,275423344,851169720,430227734,3100823752,506948616,1363258195,659060556,3750685593,883997877,3785050280,958139571,3318307427,1322822218,3812723403,1537002063,2003034995,1747873779,3602036899,1955562222,1575990012,2024104815,1125592928,2227730452,2716904306,2361852424,442776044,2428436474,593698344,2756734187,3733110249,3204031479,2999351573,3329325298,3815920427,3391569614,3928383900,3515267271,566280711,3940187606,3454069534,4118630271,4000239992,116418474,1914138554,174292421,2731055270,289380356,3203993006,460393269,320620315,685471733,587496836,852142971,1086792851,1017036298,365543100,1126000580,2618297676,1288033470,3409855158,1501505948,4234509866,1607167915,987167468,1816402316,1246189591];var o=new Array(160);function Sha512(){this.init();this._w=o;n.call(this,128,112)}i(Sha512,n);Sha512.prototype.init=function(){this._ah=1779033703;this._bh=3144134277;this._ch=1013904242;this._dh=2773480762;this._eh=1359893119;this._fh=2600822924;this._gh=528734635;this._hh=1541459225;this._al=4089235720;this._bl=2227873595;this._cl=4271175723;this._dl=1595750129;this._el=2917565137;this._fl=725511199;this._gl=4215389547;this._hl=327033209;return this};function Ch(e,t,r){return r^e&(t^r)}function maj(e,t,r){return e&t|r&(e|t)}function sigma0(e,t){return(e>>>28|t<<4)^(t>>>2|e<<30)^(t>>>7|e<<25)}function sigma1(e,t){return(e>>>14|t<<18)^(e>>>18|t<<14)^(t>>>9|e<<23)}function Gamma0(e,t){return(e>>>1|t<<31)^(e>>>8|t<<24)^e>>>7}function Gamma0l(e,t){return(e>>>1|t<<31)^(e>>>8|t<<24)^(e>>>7|t<<25)}function Gamma1(e,t){return(e>>>19|t<<13)^(t>>>29|e<<3)^e>>>6}function Gamma1l(e,t){return(e>>>19|t<<13)^(t>>>29|e<<3)^(e>>>6|t<<26)}function getCarry(e,t){return e>>>0<t>>>0?1:0}Sha512.prototype._update=function(e){var t=this._w;var r=this._ah|0;var i=this._bh|0;var n=this._ch|0;var a=this._dh|0;var o=this._eh|0;var h=this._fh|0;var u=this._gh|0;var d=this._hh|0;var c=this._al|0;var l=this._bl|0;var p=this._cl|0;var v=this._dl|0;var b=this._el|0;var m=this._fl|0;var y=this._gl|0;var g=this._hl|0;for(var _=0;_<32;_+=2){t[_]=e.readInt32BE(_*4);t[_+1]=e.readInt32BE(_*4+4)}for(;_<160;_+=2){var w=t[_-15*2];var M=t[_-15*2+1];var B=Gamma0(w,M);var E=Gamma0l(M,w);w=t[_-2*2];M=t[_-2*2+1];var k=Gamma1(w,M);var A=Gamma1l(M,w);var N=t[_-7*2];var P=t[_-7*2+1];var x=t[_-16*2];var I=t[_-16*2+1];var C=E+P|0;var D=B+N+getCarry(C,E)|0;C=C+A|0;D=D+k+getCarry(C,A)|0;C=C+I|0;D=D+x+getCarry(C,I)|0;t[_]=D;t[_+1]=C}for(var T=0;T<160;T+=2){D=t[T];C=t[T+1];var j=maj(r,i,n);var q=maj(c,l,p);var O=sigma0(r,c);var H=sigma0(c,r);var L=sigma1(o,b);var z=sigma1(b,o);var F=s[T];var U=s[T+1];var W=Ch(o,h,u);var V=Ch(b,m,y);var G=g+z|0;var J=d+L+getCarry(G,g)|0;G=G+V|0;J=J+W+getCarry(G,V)|0;G=G+U|0;J=J+F+getCarry(G,U)|0;G=G+C|0;J=J+D+getCarry(G,C)|0;var Z=H+q|0;var X=O+j+getCarry(Z,H)|0;d=u;g=y;u=h;y=m;h=o;m=b;b=v+G|0;o=a+J+getCarry(b,v)|0;a=n;v=p;n=i;p=l;i=r;l=c;c=G+Z|0;r=J+X+getCarry(c,G)|0}this._al=this._al+c|0;this._bl=this._bl+l|0;this._cl=this._cl+p|0;this._dl=this._dl+v|0;this._el=this._el+b|0;this._fl=this._fl+m|0;this._gl=this._gl+y|0;this._hl=this._hl+g|0;this._ah=this._ah+r+getCarry(this._al,c)|0;this._bh=this._bh+i+getCarry(this._bl,l)|0;this._ch=this._ch+n+getCarry(this._cl,p)|0;this._dh=this._dh+a+getCarry(this._dl,v)|0;this._eh=this._eh+o+getCarry(this._el,b)|0;this._fh=this._fh+h+getCarry(this._fl,m)|0;this._gh=this._gh+u+getCarry(this._gl,y)|0;this._hh=this._hh+d+getCarry(this._hl,g)|0};Sha512.prototype._hash=function(){var e=a.allocUnsafe(64);function writeInt64BE(t,r,i){e.writeInt32BE(t,i);e.writeInt32BE(r,i+4)}writeInt64BE(this._ah,this._al,0);writeInt64BE(this._bh,this._bl,8);writeInt64BE(this._ch,this._cl,16);writeInt64BE(this._dh,this._dl,24);writeInt64BE(this._eh,this._el,32);writeInt64BE(this._fh,this._fl,40);writeInt64BE(this._gh,this._gl,48);writeInt64BE(this._hh,this._hl,56);return e};e.exports=Sha512},3704:function(e,t,r){\"use strict\";var i=r(5055).Buffer;var n=i.isEncoding||function(e){e=\"\"+e;switch(e&&e.toLowerCase()){case\"hex\":case\"utf8\":case\"utf-8\":case\"ascii\":case\"binary\":case\"base64\":case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":case\"raw\":return true;default:return false}};function _normalizeEncoding(e){if(!e)return\"utf8\";var t;while(true){switch(e){case\"utf8\":case\"utf-8\":return\"utf8\";case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return\"utf16le\";case\"latin1\":case\"binary\":return\"latin1\";case\"base64\":case\"ascii\":case\"hex\":return e;default:if(t)return;e=(\"\"+e).toLowerCase();t=true}}}function normalizeEncoding(e){var t=_normalizeEncoding(e);if(typeof t!==\"string\"&&(i.isEncoding===n||!n(e)))throw new Error(\"Unknown encoding: \"+e);return t||e}t.s=StringDecoder;function StringDecoder(e){this.encoding=normalizeEncoding(e);var t;switch(this.encoding){case\"utf16le\":this.text=utf16Text;this.end=utf16End;t=4;break;case\"utf8\":this.fillLast=utf8FillLast;t=4;break;case\"base64\":this.text=base64Text;this.end=base64End;t=3;break;default:this.write=simpleWrite;this.end=simpleEnd;return}this.lastNeed=0;this.lastTotal=0;this.lastChar=i.allocUnsafe(t)}StringDecoder.prototype.write=function(e){if(e.length===0)return\"\";var t;var r;if(this.lastNeed){t=this.fillLast(e);if(t===undefined)return\"\";r=this.lastNeed;this.lastNeed=0}else{r=0}if(r<e.length)return t?t+this.text(e,r):this.text(e,r);return t||\"\"};StringDecoder.prototype.end=utf8End;StringDecoder.prototype.text=utf8Text;StringDecoder.prototype.fillLast=function(e){if(this.lastNeed<=e.length){e.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed);return this.lastChar.toString(this.encoding,0,this.lastTotal)}e.copy(this.lastChar,this.lastTotal-this.lastNeed,0,e.length);this.lastNeed-=e.length};function utf8CheckByte(e){if(e<=127)return 0;else if(e>>5===6)return 2;else if(e>>4===14)return 3;else if(e>>3===30)return 4;return e>>6===2?-1:-2}function utf8CheckIncomplete(e,t,r){var i=t.length-1;if(i<r)return 0;var n=utf8CheckByte(t[i]);if(n>=0){if(n>0)e.lastNeed=n-1;return n}if(--i<r||n===-2)return 0;n=utf8CheckByte(t[i]);if(n>=0){if(n>0)e.lastNeed=n-2;return n}if(--i<r||n===-2)return 0;n=utf8CheckByte(t[i]);if(n>=0){if(n>0){if(n===2)n=0;else e.lastNeed=n-3}return n}return 0}function utf8CheckExtraBytes(e,t,r){if((t[0]&192)!==128){e.lastNeed=0;return\"�\"}if(e.lastNeed>1&&t.length>1){if((t[1]&192)!==128){e.lastNeed=1;return\"�\"}if(e.lastNeed>2&&t.length>2){if((t[2]&192)!==128){e.lastNeed=2;return\"�\"}}}}function utf8FillLast(e){var t=this.lastTotal-this.lastNeed;var r=utf8CheckExtraBytes(this,e,t);if(r!==undefined)return r;if(this.lastNeed<=e.length){e.copy(this.lastChar,t,0,this.lastNeed);return this.lastChar.toString(this.encoding,0,this.lastTotal)}e.copy(this.lastChar,t,0,e.length);this.lastNeed-=e.length}function utf8Text(e,t){var r=utf8CheckIncomplete(this,e,t);if(!this.lastNeed)return e.toString(\"utf8\",t);this.lastTotal=r;var i=e.length-(r-this.lastNeed);e.copy(this.lastChar,0,i);return e.toString(\"utf8\",t,i)}function utf8End(e){var t=e&&e.length?this.write(e):\"\";if(this.lastNeed)return t+\"�\";return t}function utf16Text(e,t){if((e.length-t)%2===0){var r=e.toString(\"utf16le\",t);if(r){var i=r.charCodeAt(r.length-1);if(i>=55296&&i<=56319){this.lastNeed=2;this.lastTotal=4;this.lastChar[0]=e[e.length-2];this.lastChar[1]=e[e.length-1];return r.slice(0,-1)}}return r}this.lastNeed=1;this.lastTotal=2;this.lastChar[0]=e[e.length-1];return e.toString(\"utf16le\",t,e.length-1)}function utf16End(e){var t=e&&e.length?this.write(e):\"\";if(this.lastNeed){var r=this.lastTotal-this.lastNeed;return t+this.lastChar.toString(\"utf16le\",0,r)}return t}function base64Text(e,t){var r=(e.length-t)%3;if(r===0)return e.toString(\"base64\",t);this.lastNeed=3-r;this.lastTotal=3;if(r===1){this.lastChar[0]=e[e.length-1]}else{this.lastChar[0]=e[e.length-2];this.lastChar[1]=e[e.length-1]}return e.toString(\"base64\",t,e.length-r)}function base64End(e){var t=e&&e.length?this.write(e):\"\";if(this.lastNeed)return t+this.lastChar.toString(\"base64\",0,3-this.lastNeed);return t}function simpleWrite(e){return e.toString(this.encoding)}function simpleEnd(e){return e&&e.length?this.write(e):\"\"}},6769:function(e){e.exports=deprecate;function deprecate(e,t){if(config(\"noDeprecation\")){return e}var r=false;function deprecated(){if(!r){if(config(\"throwDeprecation\")){throw new Error(t)}else if(config(\"traceDeprecation\")){console.trace(t)}else{console.warn(t)}r=true}return e.apply(this,arguments)}return deprecated}function config(e){try{if(!global.localStorage)return false}catch(e){return false}var t=global.localStorage[e];if(null==t)return false;return String(t).toLowerCase()===\"true\"}},4300:function(e){\"use strict\";e.exports=require(\"buffer\")},6113:function(e){\"use strict\";e.exports=require(\"crypto\")},2361:function(e){\"use strict\";e.exports=require(\"events\")},2781:function(e){\"use strict\";e.exports=require(\"stream\")},1576:function(e){\"use strict\";e.exports=require(\"string_decoder\")},3837:function(e){\"use strict\";e.exports=require(\"util\")},6144:function(e){\"use strict\";e.exports=require(\"vm\")},5866:function(e){\"use strict\";e.exports=JSON.parse('{\"aes-128-ecb\":{\"cipher\":\"AES\",\"key\":128,\"iv\":0,\"mode\":\"ECB\",\"type\":\"block\"},\"aes-192-ecb\":{\"cipher\":\"AES\",\"key\":192,\"iv\":0,\"mode\":\"ECB\",\"type\":\"block\"},\"aes-256-ecb\":{\"cipher\":\"AES\",\"key\":256,\"iv\":0,\"mode\":\"ECB\",\"type\":\"block\"},\"aes-128-cbc\":{\"cipher\":\"AES\",\"key\":128,\"iv\":16,\"mode\":\"CBC\",\"type\":\"block\"},\"aes-192-cbc\":{\"cipher\":\"AES\",\"key\":192,\"iv\":16,\"mode\":\"CBC\",\"type\":\"block\"},\"aes-256-cbc\":{\"cipher\":\"AES\",\"key\":256,\"iv\":16,\"mode\":\"CBC\",\"type\":\"block\"},\"aes128\":{\"cipher\":\"AES\",\"key\":128,\"iv\":16,\"mode\":\"CBC\",\"type\":\"block\"},\"aes192\":{\"cipher\":\"AES\",\"key\":192,\"iv\":16,\"mode\":\"CBC\",\"type\":\"block\"},\"aes256\":{\"cipher\":\"AES\",\"key\":256,\"iv\":16,\"mode\":\"CBC\",\"type\":\"block\"},\"aes-128-cfb\":{\"cipher\":\"AES\",\"key\":128,\"iv\":16,\"mode\":\"CFB\",\"type\":\"stream\"},\"aes-192-cfb\":{\"cipher\":\"AES\",\"key\":192,\"iv\":16,\"mode\":\"CFB\",\"type\":\"stream\"},\"aes-256-cfb\":{\"cipher\":\"AES\",\"key\":256,\"iv\":16,\"mode\":\"CFB\",\"type\":\"stream\"},\"aes-128-cfb8\":{\"cipher\":\"AES\",\"key\":128,\"iv\":16,\"mode\":\"CFB8\",\"type\":\"stream\"},\"aes-192-cfb8\":{\"cipher\":\"AES\",\"key\":192,\"iv\":16,\"mode\":\"CFB8\",\"type\":\"stream\"},\"aes-256-cfb8\":{\"cipher\":\"AES\",\"key\":256,\"iv\":16,\"mode\":\"CFB8\",\"type\":\"stream\"},\"aes-128-cfb1\":{\"cipher\":\"AES\",\"key\":128,\"iv\":16,\"mode\":\"CFB1\",\"type\":\"stream\"},\"aes-192-cfb1\":{\"cipher\":\"AES\",\"key\":192,\"iv\":16,\"mode\":\"CFB1\",\"type\":\"stream\"},\"aes-256-cfb1\":{\"cipher\":\"AES\",\"key\":256,\"iv\":16,\"mode\":\"CFB1\",\"type\":\"stream\"},\"aes-128-ofb\":{\"cipher\":\"AES\",\"key\":128,\"iv\":16,\"mode\":\"OFB\",\"type\":\"stream\"},\"aes-192-ofb\":{\"cipher\":\"AES\",\"key\":192,\"iv\":16,\"mode\":\"OFB\",\"type\":\"stream\"},\"aes-256-ofb\":{\"cipher\":\"AES\",\"key\":256,\"iv\":16,\"mode\":\"OFB\",\"type\":\"stream\"},\"aes-128-ctr\":{\"cipher\":\"AES\",\"key\":128,\"iv\":16,\"mode\":\"CTR\",\"type\":\"stream\"},\"aes-192-ctr\":{\"cipher\":\"AES\",\"key\":192,\"iv\":16,\"mode\":\"CTR\",\"type\":\"stream\"},\"aes-256-ctr\":{\"cipher\":\"AES\",\"key\":256,\"iv\":16,\"mode\":\"CTR\",\"type\":\"stream\"},\"aes-128-gcm\":{\"cipher\":\"AES\",\"key\":128,\"iv\":12,\"mode\":\"GCM\",\"type\":\"auth\"},\"aes-192-gcm\":{\"cipher\":\"AES\",\"key\":192,\"iv\":12,\"mode\":\"GCM\",\"type\":\"auth\"},\"aes-256-gcm\":{\"cipher\":\"AES\",\"key\":256,\"iv\":12,\"mode\":\"GCM\",\"type\":\"auth\"}}')},2908:function(e){\"use strict\";e.exports=JSON.parse('{\"sha224WithRSAEncryption\":{\"sign\":\"rsa\",\"hash\":\"sha224\",\"id\":\"302d300d06096086480165030402040500041c\"},\"RSA-SHA224\":{\"sign\":\"ecdsa/rsa\",\"hash\":\"sha224\",\"id\":\"302d300d06096086480165030402040500041c\"},\"sha256WithRSAEncryption\":{\"sign\":\"rsa\",\"hash\":\"sha256\",\"id\":\"3031300d060960864801650304020105000420\"},\"RSA-SHA256\":{\"sign\":\"ecdsa/rsa\",\"hash\":\"sha256\",\"id\":\"3031300d060960864801650304020105000420\"},\"sha384WithRSAEncryption\":{\"sign\":\"rsa\",\"hash\":\"sha384\",\"id\":\"3041300d060960864801650304020205000430\"},\"RSA-SHA384\":{\"sign\":\"ecdsa/rsa\",\"hash\":\"sha384\",\"id\":\"3041300d060960864801650304020205000430\"},\"sha512WithRSAEncryption\":{\"sign\":\"rsa\",\"hash\":\"sha512\",\"id\":\"3051300d060960864801650304020305000440\"},\"RSA-SHA512\":{\"sign\":\"ecdsa/rsa\",\"hash\":\"sha512\",\"id\":\"3051300d060960864801650304020305000440\"},\"RSA-SHA1\":{\"sign\":\"rsa\",\"hash\":\"sha1\",\"id\":\"3021300906052b0e03021a05000414\"},\"ecdsa-with-SHA1\":{\"sign\":\"ecdsa\",\"hash\":\"sha1\",\"id\":\"\"},\"sha256\":{\"sign\":\"ecdsa\",\"hash\":\"sha256\",\"id\":\"\"},\"sha224\":{\"sign\":\"ecdsa\",\"hash\":\"sha224\",\"id\":\"\"},\"sha384\":{\"sign\":\"ecdsa\",\"hash\":\"sha384\",\"id\":\"\"},\"sha512\":{\"sign\":\"ecdsa\",\"hash\":\"sha512\",\"id\":\"\"},\"DSA-SHA\":{\"sign\":\"dsa\",\"hash\":\"sha1\",\"id\":\"\"},\"DSA-SHA1\":{\"sign\":\"dsa\",\"hash\":\"sha1\",\"id\":\"\"},\"DSA\":{\"sign\":\"dsa\",\"hash\":\"sha1\",\"id\":\"\"},\"DSA-WITH-SHA224\":{\"sign\":\"dsa\",\"hash\":\"sha224\",\"id\":\"\"},\"DSA-SHA224\":{\"sign\":\"dsa\",\"hash\":\"sha224\",\"id\":\"\"},\"DSA-WITH-SHA256\":{\"sign\":\"dsa\",\"hash\":\"sha256\",\"id\":\"\"},\"DSA-SHA256\":{\"sign\":\"dsa\",\"hash\":\"sha256\",\"id\":\"\"},\"DSA-WITH-SHA384\":{\"sign\":\"dsa\",\"hash\":\"sha384\",\"id\":\"\"},\"DSA-SHA384\":{\"sign\":\"dsa\",\"hash\":\"sha384\",\"id\":\"\"},\"DSA-WITH-SHA512\":{\"sign\":\"dsa\",\"hash\":\"sha512\",\"id\":\"\"},\"DSA-SHA512\":{\"sign\":\"dsa\",\"hash\":\"sha512\",\"id\":\"\"},\"DSA-RIPEMD160\":{\"sign\":\"dsa\",\"hash\":\"rmd160\",\"id\":\"\"},\"ripemd160WithRSA\":{\"sign\":\"rsa\",\"hash\":\"rmd160\",\"id\":\"3021300906052b2403020105000414\"},\"RSA-RIPEMD160\":{\"sign\":\"rsa\",\"hash\":\"rmd160\",\"id\":\"3021300906052b2403020105000414\"},\"md5WithRSAEncryption\":{\"sign\":\"rsa\",\"hash\":\"md5\",\"id\":\"3020300c06082a864886f70d020505000410\"},\"RSA-MD5\":{\"sign\":\"rsa\",\"hash\":\"md5\",\"id\":\"3020300c06082a864886f70d020505000410\"}}')},9267:function(e){\"use strict\";e.exports=JSON.parse('{\"1.3.132.0.10\":\"secp256k1\",\"1.3.132.0.33\":\"p224\",\"1.2.840.10045.3.1.1\":\"p192\",\"1.2.840.10045.3.1.7\":\"p256\",\"1.3.132.0.34\":\"p384\",\"1.3.132.0.35\":\"p521\"}')},7992:function(e){\"use strict\";e.exports=JSON.parse('{\"modp1\":{\"gen\":\"02\",\"prime\":\"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a63a3620ffffffffffffffff\"},\"modp2\":{\"gen\":\"02\",\"prime\":\"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece65381ffffffffffffffff\"},\"modp5\":{\"gen\":\"02\",\"prime\":\"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca237327ffffffffffffffff\"},\"modp14\":{\"gen\":\"02\",\"prime\":\"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aacaa68ffffffffffffffff\"},\"modp15\":{\"gen\":\"02\",\"prime\":\"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a93ad2caffffffffffffffff\"},\"modp16\":{\"gen\":\"02\",\"prime\":\"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c934063199ffffffffffffffff\"},\"modp17\":{\"gen\":\"02\",\"prime\":\"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c93402849236c3fab4d27c7026c1d4dcb2602646dec9751e763dba37bdf8ff9406ad9e530ee5db382f413001aeb06a53ed9027d831179727b0865a8918da3edbebcf9b14ed44ce6cbaced4bb1bdb7f1447e6cc254b332051512bd7af426fb8f401378cd2bf5983ca01c64b92ecf032ea15d1721d03f482d7ce6e74fef6d55e702f46980c82b5a84031900b1c9e59e7c97fbec7e8f323a97a7e36cc88be0f1d45b7ff585ac54bd407b22b4154aacc8f6d7ebf48e1d814cc5ed20f8037e0a79715eef29be32806a1d58bb7c5da76f550aa3d8a1fbff0eb19ccb1a313d55cda56c9ec2ef29632387fe8d76e3c0468043e8f663f4860ee12bf2d5b0b7474d6e694f91e6dcc4024ffffffffffffffff\"},\"modp18\":{\"gen\":\"02\",\"prime\":\"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c93402849236c3fab4d27c7026c1d4dcb2602646dec9751e763dba37bdf8ff9406ad9e530ee5db382f413001aeb06a53ed9027d831179727b0865a8918da3edbebcf9b14ed44ce6cbaced4bb1bdb7f1447e6cc254b332051512bd7af426fb8f401378cd2bf5983ca01c64b92ecf032ea15d1721d03f482d7ce6e74fef6d55e702f46980c82b5a84031900b1c9e59e7c97fbec7e8f323a97a7e36cc88be0f1d45b7ff585ac54bd407b22b4154aacc8f6d7ebf48e1d814cc5ed20f8037e0a79715eef29be32806a1d58bb7c5da76f550aa3d8a1fbff0eb19ccb1a313d55cda56c9ec2ef29632387fe8d76e3c0468043e8f663f4860ee12bf2d5b0b7474d6e694f91e6dbe115974a3926f12fee5e438777cb6a932df8cd8bec4d073b931ba3bc832b68d9dd300741fa7bf8afc47ed2576f6936ba424663aab639c5ae4f5683423b4742bf1c978238f16cbe39d652de3fdb8befc848ad922222e04a4037c0713eb57a81a23f0c73473fc646cea306b4bcbc8862f8385ddfa9d4b7fa2c087e879683303ed5bdd3a062b3cf5b3a278a66d2a13f83f44f82ddf310ee074ab6a364597e899a0255dc164f31cc50846851df9ab48195ded7ea1b1d510bd7ee74d73faf36bc31ecfa268359046f4eb879f924009438b481c6cd7889a002ed5ee382bc9190da6fc026e479558e4475677e9aa9e3050e2765694dfc81f56e880b96e7160c980dd98edd3dfffffffffffffffff\"}}')},2531:function(e){\"use strict\";e.exports={i8:\"6.5.3\"}},2510:function(e){\"use strict\";e.exports=JSON.parse('{\"2.16.840.1.101.3.4.1.1\":\"aes-128-ecb\",\"2.16.840.1.101.3.4.1.2\":\"aes-128-cbc\",\"2.16.840.1.101.3.4.1.3\":\"aes-128-ofb\",\"2.16.840.1.101.3.4.1.4\":\"aes-128-cfb\",\"2.16.840.1.101.3.4.1.21\":\"aes-192-ecb\",\"2.16.840.1.101.3.4.1.22\":\"aes-192-cbc\",\"2.16.840.1.101.3.4.1.23\":\"aes-192-ofb\",\"2.16.840.1.101.3.4.1.24\":\"aes-192-cfb\",\"2.16.840.1.101.3.4.1.41\":\"aes-256-ecb\",\"2.16.840.1.101.3.4.1.42\":\"aes-256-cbc\",\"2.16.840.1.101.3.4.1.43\":\"aes-256-ofb\",\"2.16.840.1.101.3.4.1.44\":\"aes-256-cfb\"}')}};var t={};function __nccwpck_require__(r){var i=t[r];if(i!==undefined){return i.exports}var n=t[r]={id:r,loaded:false,exports:{}};var a=true;try{e[r].call(n.exports,n,n.exports,__nccwpck_require__);a=false}finally{if(a)delete t[r]}n.loaded=true;return n.exports}!function(){__nccwpck_require__.nmd=function(e){e.paths=[];if(!e.children)e.children=[];return e}}();if(typeof __nccwpck_require__!==\"undefined\")__nccwpck_require__.ab=__dirname+\"/\";var r={};!function(){\"use strict\";var e=r;e.randomBytes=e.rng=e.pseudoRandomBytes=e.prng=__nccwpck_require__(7223);e.createHash=e.Hash=__nccwpck_require__(9739);e.createHmac=e.Hmac=__nccwpck_require__(4873);var t=__nccwpck_require__(9276);var i=Object.keys(t);var n=[\"sha1\",\"sha224\",\"sha256\",\"sha384\",\"sha512\",\"md5\",\"rmd160\"].concat(i);e.getHashes=function(){return n};var a=__nccwpck_require__(4978);e.pbkdf2=a.pbkdf2;e.pbkdf2Sync=a.pbkdf2Sync;var s=__nccwpck_require__(8996);e.Cipher=s.Cipher;e.createCipher=s.createCipher;e.Cipheriv=s.Cipheriv;e.createCipheriv=s.createCipheriv;e.Decipher=s.Decipher;e.createDecipher=s.createDecipher;e.Decipheriv=s.Decipheriv;e.createDecipheriv=s.createDecipheriv;e.getCiphers=s.getCiphers;e.listCiphers=s.listCiphers;var o=__nccwpck_require__(6587);e.DiffieHellmanGroup=o.DiffieHellmanGroup;e.createDiffieHellmanGroup=o.createDiffieHellmanGroup;e.getDiffieHellman=o.getDiffieHellman;e.createDiffieHellman=o.createDiffieHellman;e.DiffieHellman=o.DiffieHellman;var h=__nccwpck_require__(4078);e.createSign=h.createSign;e.Sign=h.Sign;e.createVerify=h.createVerify;e.Verify=h.Verify;e.createECDH=__nccwpck_require__(9942);var u=__nccwpck_require__(9783);e.publicEncrypt=u.publicEncrypt;e.privateEncrypt=u.privateEncrypt;e.publicDecrypt=u.publicDecrypt;e.privateDecrypt=u.privateDecrypt;var d=__nccwpck_require__(6445);e.randomFill=d.randomFill;e.randomFillSync=d.randomFillSync;e.createCredentials=function(){throw new Error([\"sorry, createCredentials is not implemented yet\",\"we accept pull requests\",\"https://github.com/crypto-browserify/crypto-browserify\"].join(\"\\n\"))};e.constants={DH_CHECK_P_NOT_SAFE_PRIME:2,DH_CHECK_P_NOT_PRIME:1,DH_UNABLE_TO_CHECK_GENERATOR:4,DH_NOT_SUITABLE_GENERATOR:8,NPN_ENABLED:1,ALPN_ENABLED:1,RSA_PKCS1_PADDING:1,RSA_SSLV23_PADDING:2,RSA_NO_PADDING:3,RSA_PKCS1_OAEP_PADDING:4,RSA_X931_PADDING:5,RSA_PKCS1_PSS_PADDING:6,POINT_CONVERSION_COMPRESSED:2,POINT_CONVERSION_UNCOMPRESSED:4,POINT_CONVERSION_HYBRID:6}}();module.exports=r})();","// extracted by mini-css-extract-plugin","// extracted by mini-css-extract-plugin","// extracted by mini-css-extract-plugin","// extracted by mini-css-extract-plugin\nmodule.exports = {\"viewportXS\":\"0px\",\"viewportS\":\"576px\",\"viewportM\":\"768px\",\"viewportL\":\"992px\",\"viewportXl\":\"1200px\"};","(function(){var e={452:function(e){\"use strict\";e.exports=require(\"next/dist/compiled/querystring-es3\")}};var t={};function __nccwpck_require__(o){var a=t[o];if(a!==undefined){return a.exports}var s=t[o]={exports:{}};var n=true;try{e[o](s,s.exports,__nccwpck_require__);n=false}finally{if(n)delete t[o]}return s.exports}if(typeof __nccwpck_require__!==\"undefined\")__nccwpck_require__.ab=__dirname+\"/\";var o={};!function(){var e=o;var t,a=(t=__nccwpck_require__(452))&&\"object\"==typeof t&&\"default\"in t?t.default:t,s=/https?|ftp|gopher|file/;function r(e){\"string\"==typeof e&&(e=d(e));var t=function(e,t,o){var a=e.auth,s=e.hostname,n=e.protocol||\"\",p=e.pathname||\"\",c=e.hash||\"\",i=e.query||\"\",u=!1;a=a?encodeURIComponent(a).replace(/%3A/i,\":\")+\"@\":\"\",e.host?u=a+e.host:s&&(u=a+(~s.indexOf(\":\")?\"[\"+s+\"]\":s),e.port&&(u+=\":\"+e.port)),i&&\"object\"==typeof i&&(i=t.encode(i));var f=e.search||i&&\"?\"+i||\"\";return n&&\":\"!==n.substr(-1)&&(n+=\":\"),e.slashes||(!n||o.test(n))&&!1!==u?(u=\"//\"+(u||\"\"),p&&\"/\"!==p[0]&&(p=\"/\"+p)):u||(u=\"\"),c&&\"#\"!==c[0]&&(c=\"#\"+c),f&&\"?\"!==f[0]&&(f=\"?\"+f),{protocol:n,host:u,pathname:p=p.replace(/[?#]/g,encodeURIComponent),search:f=f.replace(\"#\",\"%23\"),hash:c}}(e,a,s);return\"\"+t.protocol+t.host+t.pathname+t.search+t.hash}var n=\"http://\",p=\"w.w\",c=n+p,i=/^([a-z0-9.+-]*:\\/\\/\\/)([a-z0-9.+-]:\\/*)?/i,u=/https?|ftp|gopher|file/;function h(e,t){var o=\"string\"==typeof e?d(e):e;e=\"object\"==typeof e?r(e):e;var a=d(t),s=\"\";o.protocol&&!o.slashes&&(s=o.protocol,e=e.replace(o.protocol,\"\"),s+=\"/\"===t[0]||\"/\"===e[0]?\"/\":\"\"),s&&a.protocol&&(s=\"\",a.slashes||(s=a.protocol,t=t.replace(a.protocol,\"\")));var p=e.match(i);p&&!a.protocol&&(e=e.substr((s=p[1]+(p[2]||\"\")).length),/^\\/\\/[^/]/.test(t)&&(s=s.slice(0,-1)));var f=new URL(e,c+\"/\"),m=new URL(t,f).toString().replace(c,\"\"),v=a.protocol||o.protocol;return v+=o.slashes||a.slashes?\"//\":\"\",!s&&v?m=m.replace(n,v):s&&(m=m.replace(n,\"\")),u.test(m)||~t.indexOf(\".\")||\"/\"===e.slice(-1)||\"/\"===t.slice(-1)||\"/\"!==m.slice(-1)||(m=m.slice(0,-1)),s&&(m=s+(\"/\"===m[0]?m.substr(1):m)),m}function l(){}l.prototype.parse=d,l.prototype.format=r,l.prototype.resolve=h,l.prototype.resolveObject=h;var f=/^https?|ftp|gopher|file/,m=/^(.*?)([#?].*)/,v=/^([a-z0-9.+-]*:)(\\/{0,3})(.*)/i,_=/^([a-z0-9.+-]*:)?\\/\\/\\/*/i,b=/^([a-z0-9.+-]*:)(\\/{0,2})\\[(.*)\\]$/i;function d(e,t,o){if(void 0===t&&(t=!1),void 0===o&&(o=!1),e&&\"object\"==typeof e&&e instanceof l)return e;var s=(e=e.trim()).match(m);e=s?s[1].replace(/\\\\/g,\"/\")+s[2]:e.replace(/\\\\/g,\"/\"),b.test(e)&&\"/\"!==e.slice(-1)&&(e+=\"/\");var n=!/(^javascript)/.test(e)&&e.match(v),i=_.test(e),u=\"\";n&&(f.test(n[1])||(u=n[1].toLowerCase(),e=\"\"+n[2]+n[3]),n[2]||(i=!1,f.test(n[1])?(u=n[1],e=\"\"+n[3]):e=\"//\"+n[3]),3!==n[2].length&&1!==n[2].length||(u=n[1],e=\"/\"+n[3]));var g,y=(s?s[1]:e).match(/^https?:\\/\\/[^/]+(:[0-9]+)(?=\\/|$)/),w=y&&y[1],x=new l,C=\"\",U=\"\";try{g=new URL(e)}catch(t){C=t,u||o||!/^\\/\\//.test(e)||/^\\/\\/.+[@.]/.test(e)||(U=\"/\",e=e.substr(1));try{g=new URL(e,c)}catch(e){return x.protocol=u,x.href=u,x}}x.slashes=i&&!U,x.host=g.host===p?\"\":g.host,x.hostname=g.hostname===p?\"\":g.hostname.replace(/(\\[|\\])/g,\"\"),x.protocol=C?u||null:g.protocol,x.search=g.search.replace(/\\\\/g,\"%5C\"),x.hash=g.hash.replace(/\\\\/g,\"%5C\");var j=e.split(\"#\");!x.search&&~j[0].indexOf(\"?\")&&(x.search=\"?\"),x.hash||\"\"!==j[1]||(x.hash=\"#\"),x.query=t?a.decode(g.search.substr(1)):x.search.substr(1),x.pathname=U+(n?function(e){return e.replace(/['^|`]/g,(function(e){return\"%\"+e.charCodeAt().toString(16).toUpperCase()})).replace(/((?:%[0-9A-F]{2})+)/g,(function(e,t){try{return decodeURIComponent(t).split(\"\").map((function(e){var t=e.charCodeAt();return t>256||/^[a-z0-9]$/i.test(e)?e:\"%\"+t.toString(16).toUpperCase()})).join(\"\")}catch(e){return t}}))}(g.pathname):g.pathname),\"about:\"===x.protocol&&\"blank\"===x.pathname&&(x.protocol=\"\",x.pathname=\"\"),C&&\"/\"!==e[0]&&(x.pathname=x.pathname.substr(1)),u&&!f.test(u)&&\"/\"!==e.slice(-1)&&\"/\"===x.pathname&&(x.pathname=\"\"),x.path=x.pathname+x.search,x.auth=[g.username,g.password].map(decodeURIComponent).filter(Boolean).join(\":\"),x.port=g.port,w&&!x.host.endsWith(w)&&(x.host+=w,x.port=w.slice(1)),x.href=U?\"\"+x.pathname+x.search+x.hash:r(x);var q=/^(file)/.test(x.href)?[\"host\",\"hostname\"]:[];return Object.keys(x).forEach((function(e){~q.indexOf(e)||(x[e]=x[e]||null)})),x}e.parse=d,e.format=r,e.resolve=h,e.resolveObject=function(e,t){return d(h(e,t))},e.Url=l}();module.exports=o})();","(function(){\"use strict\";var e={114:function(e){function assertPath(e){if(typeof e!==\"string\"){throw new TypeError(\"Path must be a string. Received \"+JSON.stringify(e))}}function normalizeStringPosix(e,r){var t=\"\";var i=0;var n=-1;var a=0;var f;for(var l=0;l<=e.length;++l){if(l<e.length)f=e.charCodeAt(l);else if(f===47)break;else f=47;if(f===47){if(n===l-1||a===1){}else if(n!==l-1&&a===2){if(t.length<2||i!==2||t.charCodeAt(t.length-1)!==46||t.charCodeAt(t.length-2)!==46){if(t.length>2){var s=t.lastIndexOf(\"/\");if(s!==t.length-1){if(s===-1){t=\"\";i=0}else{t=t.slice(0,s);i=t.length-1-t.lastIndexOf(\"/\")}n=l;a=0;continue}}else if(t.length===2||t.length===1){t=\"\";i=0;n=l;a=0;continue}}if(r){if(t.length>0)t+=\"/..\";else t=\"..\";i=2}}else{if(t.length>0)t+=\"/\"+e.slice(n+1,l);else t=e.slice(n+1,l);i=l-n-1}n=l;a=0}else if(f===46&&a!==-1){++a}else{a=-1}}return t}function _format(e,r){var t=r.dir||r.root;var i=r.base||(r.name||\"\")+(r.ext||\"\");if(!t){return i}if(t===r.root){return t+i}return t+e+i}var r={resolve:function resolve(){var e=\"\";var r=false;var t;for(var i=arguments.length-1;i>=-1&&!r;i--){var n;if(i>=0)n=arguments[i];else{if(t===undefined)t=\"\";n=t}assertPath(n);if(n.length===0){continue}e=n+\"/\"+e;r=n.charCodeAt(0)===47}e=normalizeStringPosix(e,!r);if(r){if(e.length>0)return\"/\"+e;else return\"/\"}else if(e.length>0){return e}else{return\".\"}},normalize:function normalize(e){assertPath(e);if(e.length===0)return\".\";var r=e.charCodeAt(0)===47;var t=e.charCodeAt(e.length-1)===47;e=normalizeStringPosix(e,!r);if(e.length===0&&!r)e=\".\";if(e.length>0&&t)e+=\"/\";if(r)return\"/\"+e;return e},isAbsolute:function isAbsolute(e){assertPath(e);return e.length>0&&e.charCodeAt(0)===47},join:function join(){if(arguments.length===0)return\".\";var e;for(var t=0;t<arguments.length;++t){var i=arguments[t];assertPath(i);if(i.length>0){if(e===undefined)e=i;else e+=\"/\"+i}}if(e===undefined)return\".\";return r.normalize(e)},relative:function relative(e,t){assertPath(e);assertPath(t);if(e===t)return\"\";e=r.resolve(e);t=r.resolve(t);if(e===t)return\"\";var i=1;for(;i<e.length;++i){if(e.charCodeAt(i)!==47)break}var n=e.length;var a=n-i;var f=1;for(;f<t.length;++f){if(t.charCodeAt(f)!==47)break}var l=t.length;var s=l-f;var o=a<s?a:s;var u=-1;var h=0;for(;h<=o;++h){if(h===o){if(s>o){if(t.charCodeAt(f+h)===47){return t.slice(f+h+1)}else if(h===0){return t.slice(f+h)}}else if(a>o){if(e.charCodeAt(i+h)===47){u=h}else if(h===0){u=0}}break}var c=e.charCodeAt(i+h);var v=t.charCodeAt(f+h);if(c!==v)break;else if(c===47)u=h}var g=\"\";for(h=i+u+1;h<=n;++h){if(h===n||e.charCodeAt(h)===47){if(g.length===0)g+=\"..\";else g+=\"/..\"}}if(g.length>0)return g+t.slice(f+u);else{f+=u;if(t.charCodeAt(f)===47)++f;return t.slice(f)}},_makeLong:function _makeLong(e){return e},dirname:function dirname(e){assertPath(e);if(e.length===0)return\".\";var r=e.charCodeAt(0);var t=r===47;var i=-1;var n=true;for(var a=e.length-1;a>=1;--a){r=e.charCodeAt(a);if(r===47){if(!n){i=a;break}}else{n=false}}if(i===-1)return t?\"/\":\".\";if(t&&i===1)return\"//\";return e.slice(0,i)},basename:function basename(e,r){if(r!==undefined&&typeof r!==\"string\")throw new TypeError('\"ext\" argument must be a string');assertPath(e);var t=0;var i=-1;var n=true;var a;if(r!==undefined&&r.length>0&&r.length<=e.length){if(r.length===e.length&&r===e)return\"\";var f=r.length-1;var l=-1;for(a=e.length-1;a>=0;--a){var s=e.charCodeAt(a);if(s===47){if(!n){t=a+1;break}}else{if(l===-1){n=false;l=a+1}if(f>=0){if(s===r.charCodeAt(f)){if(--f===-1){i=a}}else{f=-1;i=l}}}}if(t===i)i=l;else if(i===-1)i=e.length;return e.slice(t,i)}else{for(a=e.length-1;a>=0;--a){if(e.charCodeAt(a)===47){if(!n){t=a+1;break}}else if(i===-1){n=false;i=a+1}}if(i===-1)return\"\";return e.slice(t,i)}},extname:function extname(e){assertPath(e);var r=-1;var t=0;var i=-1;var n=true;var a=0;for(var f=e.length-1;f>=0;--f){var l=e.charCodeAt(f);if(l===47){if(!n){t=f+1;break}continue}if(i===-1){n=false;i=f+1}if(l===46){if(r===-1)r=f;else if(a!==1)a=1}else if(r!==-1){a=-1}}if(r===-1||i===-1||a===0||a===1&&r===i-1&&r===t+1){return\"\"}return e.slice(r,i)},format:function format(e){if(e===null||typeof e!==\"object\"){throw new TypeError('The \"pathObject\" argument must be of type Object. Received type '+typeof e)}return _format(\"/\",e)},parse:function parse(e){assertPath(e);var r={root:\"\",dir:\"\",base:\"\",ext:\"\",name:\"\"};if(e.length===0)return r;var t=e.charCodeAt(0);var i=t===47;var n;if(i){r.root=\"/\";n=1}else{n=0}var a=-1;var f=0;var l=-1;var s=true;var o=e.length-1;var u=0;for(;o>=n;--o){t=e.charCodeAt(o);if(t===47){if(!s){f=o+1;break}continue}if(l===-1){s=false;l=o+1}if(t===46){if(a===-1)a=o;else if(u!==1)u=1}else if(a!==-1){u=-1}}if(a===-1||l===-1||u===0||u===1&&a===l-1&&a===f+1){if(l!==-1){if(f===0&&i)r.base=r.name=e.slice(1,l);else r.base=r.name=e.slice(f,l)}}else{if(f===0&&i){r.name=e.slice(1,a);r.base=e.slice(1,l)}else{r.name=e.slice(f,a);r.base=e.slice(f,l)}r.ext=e.slice(a,l)}if(f>0)r.dir=e.slice(0,f-1);else if(i)r.dir=\"/\";return r},sep:\"/\",delimiter:\":\",win32:null,posix:null};r.posix=r;e.exports=r}};var r={};function __nccwpck_require__(t){var i=r[t];if(i!==undefined){return i.exports}var n=r[t]={exports:{}};var a=true;try{e[t](n,n.exports,__nccwpck_require__);a=false}finally{if(a)delete r[t]}return n.exports}if(typeof __nccwpck_require__!==\"undefined\")__nccwpck_require__.ab=__dirname+\"/\";var t=__nccwpck_require__(114);module.exports=t})();","(function(){\"use strict\";var e={815:function(e){function hasOwnProperty(e,r){return Object.prototype.hasOwnProperty.call(e,r)}e.exports=function(e,n,t,o){n=n||\"&\";t=t||\"=\";var a={};if(typeof e!==\"string\"||e.length===0){return a}var i=/\\+/g;e=e.split(n);var u=1e3;if(o&&typeof o.maxKeys===\"number\"){u=o.maxKeys}var c=e.length;if(u>0&&c>u){c=u}for(var p=0;p<c;++p){var f=e[p].replace(i,\"%20\"),s=f.indexOf(t),_,l,y,d;if(s>=0){_=f.substr(0,s);l=f.substr(s+1)}else{_=f;l=\"\"}y=decodeURIComponent(_);d=decodeURIComponent(l);if(!hasOwnProperty(a,y)){a[y]=d}else if(r(a[y])){a[y].push(d)}else{a[y]=[a[y],d]}}return a};var r=Array.isArray||function(e){return Object.prototype.toString.call(e)===\"[object Array]\"}},577:function(e){var stringifyPrimitive=function(e){switch(typeof e){case\"string\":return e;case\"boolean\":return e?\"true\":\"false\";case\"number\":return isFinite(e)?e:\"\";default:return\"\"}};e.exports=function(e,t,o,a){t=t||\"&\";o=o||\"=\";if(e===null){e=undefined}if(typeof e===\"object\"){return map(n(e),(function(n){var a=encodeURIComponent(stringifyPrimitive(n))+o;if(r(e[n])){return map(e[n],(function(e){return a+encodeURIComponent(stringifyPrimitive(e))})).join(t)}else{return a+encodeURIComponent(stringifyPrimitive(e[n]))}})).join(t)}if(!a)return\"\";return encodeURIComponent(stringifyPrimitive(a))+o+encodeURIComponent(stringifyPrimitive(e))};var r=Array.isArray||function(e){return Object.prototype.toString.call(e)===\"[object Array]\"};function map(e,r){if(e.map)return e.map(r);var n=[];for(var t=0;t<e.length;t++){n.push(r(e[t],t))}return n}var n=Object.keys||function(e){var r=[];for(var n in e){if(Object.prototype.hasOwnProperty.call(e,n))r.push(n)}return r}}};var r={};function __nccwpck_require__(n){var t=r[n];if(t!==undefined){return t.exports}var o=r[n]={exports:{}};var a=true;try{e[n](o,o.exports,__nccwpck_require__);a=false}finally{if(a)delete r[n]}return o.exports}if(typeof __nccwpck_require__!==\"undefined\")__nccwpck_require__.ab=__dirname+\"/\";var n={};!function(){var e=n;e.decode=e.parse=__nccwpck_require__(815);e.encode=e.stringify=__nccwpck_require__(577)}();module.exports=n})();","(function(){var __webpack_modules__={950:function(__unused_webpack_module,exports){var indexOf=function(e,t){if(e.indexOf)return e.indexOf(t);else for(var r=0;r<e.length;r++){if(e[r]===t)return r}return-1};var Object_keys=function(e){if(Object.keys)return Object.keys(e);else{var t=[];for(var r in e)t.push(r);return t}};var forEach=function(e,t){if(e.forEach)return e.forEach(t);else for(var r=0;r<e.length;r++){t(e[r],r,e)}};var defineProp=function(){try{Object.defineProperty({},\"_\",{});return function(e,t,r){Object.defineProperty(e,t,{writable:true,enumerable:false,configurable:true,value:r})}}catch(e){return function(e,t,r){e[t]=r}}}();var globals=[\"Array\",\"Boolean\",\"Date\",\"Error\",\"EvalError\",\"Function\",\"Infinity\",\"JSON\",\"Math\",\"NaN\",\"Number\",\"Object\",\"RangeError\",\"ReferenceError\",\"RegExp\",\"String\",\"SyntaxError\",\"TypeError\",\"URIError\",\"decodeURI\",\"decodeURIComponent\",\"encodeURI\",\"encodeURIComponent\",\"escape\",\"eval\",\"isFinite\",\"isNaN\",\"parseFloat\",\"parseInt\",\"undefined\",\"unescape\"];function Context(){}Context.prototype={};var Script=exports.Script=function NodeScript(e){if(!(this instanceof Script))return new Script(e);this.code=e};Script.prototype.runInContext=function(e){if(!(e instanceof Context)){throw new TypeError(\"needs a 'context' argument.\")}var t=document.createElement(\"iframe\");if(!t.style)t.style={};t.style.display=\"none\";document.body.appendChild(t);var r=t.contentWindow;var n=r.eval,o=r.execScript;if(!n&&o){o.call(r,\"null\");n=r.eval}forEach(Object_keys(e),(function(t){r[t]=e[t]}));forEach(globals,(function(t){if(e[t]){r[t]=e[t]}}));var c=Object_keys(r);var i=n.call(r,this.code);forEach(Object_keys(r),(function(t){if(t in e||indexOf(c,t)===-1){e[t]=r[t]}}));forEach(globals,(function(t){if(!(t in e)){defineProp(e,t,r[t])}}));document.body.removeChild(t);return i};Script.prototype.runInThisContext=function(){return eval(this.code)};Script.prototype.runInNewContext=function(e){var t=Script.createContext(e);var r=this.runInContext(t);if(e){forEach(Object_keys(t),(function(r){e[r]=t[r]}))}return r};forEach(Object_keys(Script.prototype),(function(e){exports[e]=Script[e]=function(t){var r=Script(t);return r[e].apply(r,[].slice.call(arguments,1))}}));exports.isContext=function(e){return e instanceof Context};exports.createScript=function(e){return exports.Script(e)};exports.createContext=Script.createContext=function(e){var t=new Context;if(typeof e===\"object\"){forEach(Object_keys(e),(function(r){t[r]=e[r]}))}return t}}};if(typeof __nccwpck_require__!==\"undefined\")__nccwpck_require__.ab=__dirname+\"/\";var __webpack_exports__={};__webpack_modules__[950](0,__webpack_exports__);module.exports=__webpack_exports__})();","module.exports = require('./dist/shared/lib/dynamic')\n","module.exports = require('./dist/client/router')\n","'use strict';\n\n/** @type {import('.')} */\nmodule.exports = [\n\t'Float32Array',\n\t'Float64Array',\n\t'Int8Array',\n\t'Int16Array',\n\t'Int32Array',\n\t'Uint8Array',\n\t'Uint8ClampedArray',\n\t'Uint16Array',\n\t'Uint32Array',\n\t'BigInt64Array',\n\t'BigUint64Array'\n];\n","// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n","/**\n * @license React\n * react-is.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var b=Symbol.for(\"react.element\"),c=Symbol.for(\"react.portal\"),d=Symbol.for(\"react.fragment\"),e=Symbol.for(\"react.strict_mode\"),f=Symbol.for(\"react.profiler\"),g=Symbol.for(\"react.provider\"),h=Symbol.for(\"react.context\"),k=Symbol.for(\"react.server_context\"),l=Symbol.for(\"react.forward_ref\"),m=Symbol.for(\"react.suspense\"),n=Symbol.for(\"react.suspense_list\"),p=Symbol.for(\"react.memo\"),q=Symbol.for(\"react.lazy\"),t=Symbol.for(\"react.offscreen\"),u;u=Symbol.for(\"react.module.reference\");\nfunction v(a){if(\"object\"===typeof a&&null!==a){var r=a.$$typeof;switch(r){case b:switch(a=a.type,a){case d:case f:case e:case m:case n:return a;default:switch(a=a&&a.$$typeof,a){case k:case h:case l:case q:case p:case g:return a;default:return r}}case c:return r}}}exports.ContextConsumer=h;exports.ContextProvider=g;exports.Element=b;exports.ForwardRef=l;exports.Fragment=d;exports.Lazy=q;exports.Memo=p;exports.Portal=c;exports.Profiler=f;exports.StrictMode=e;exports.Suspense=m;\nexports.SuspenseList=n;exports.isAsyncMode=function(){return!1};exports.isConcurrentMode=function(){return!1};exports.isContextConsumer=function(a){return v(a)===h};exports.isContextProvider=function(a){return v(a)===g};exports.isElement=function(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===b};exports.isForwardRef=function(a){return v(a)===l};exports.isFragment=function(a){return v(a)===d};exports.isLazy=function(a){return v(a)===q};exports.isMemo=function(a){return v(a)===p};\nexports.isPortal=function(a){return v(a)===c};exports.isProfiler=function(a){return v(a)===f};exports.isStrictMode=function(a){return v(a)===e};exports.isSuspense=function(a){return v(a)===m};exports.isSuspenseList=function(a){return v(a)===n};\nexports.isValidElementType=function(a){return\"string\"===typeof a||\"function\"===typeof a||a===d||a===f||a===e||a===m||a===n||a===t||\"object\"===typeof a&&null!==a&&(a.$$typeof===q||a.$$typeof===p||a.$$typeof===g||a.$$typeof===h||a.$$typeof===l||a.$$typeof===u||void 0!==a.getModuleId)?!0:!1};exports.typeOf=v;\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}\n","\"use strict\";\nif (0) {\n // Trick cjs-module-lexer into adding named exports for all React exports.\n // (if imported with `import()`, they will appear in `.default` as well.)\n // This way, cjs-module-lexer will let all of react's (named) exports through unchanged.\n module.exports = require(\"react\");\n}\n// We don't want bundlers to error when they encounter usage of any of these exports.\n// It's up to the package author to ensure that if they access React internals,\n// they do so in a safe way that won't break if React changes how they use these internals.\n// (e.g. only access them in development, and only in an optional way that won't\n// break if internals are not there or do not have the expected structure)\n// @ts-ignore\nmodule.exports.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED = undefined;\n// @ts-ignore\nmodule.exports.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE = undefined;\n// @ts-ignore\nmodule.exports.__SERVER_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE = undefined;\n// Here we actually pull in the React library and add everything\n// it exports to our own `module.exports`.\n// If React suddenly were to add one of the above \"polyfilled\" exports,\n// the React version would overwrite our version, so this should be\n// future-proof.\nObject.assign(module.exports, require(\"react\"));\n","module.exports = {\"spacer\":\"1rem\",\"spacers\":{\"0\":0,\"1\":\"0.25rem\",\"2\":\"0.5rem\",\"3\":\"1rem\",\"4\":\"1.5rem\",\"5\":\"2rem\"},\"durationQuick\":\"100ms\",\"durationStandard\":\"300ms\",\"durationIntermediate\":\"600ms\",\"durationExtended\":\"900ms\",\"easeBoth01\":\"cubic-bezier(0.25, 0.1, 0.25, 1)\",\"easeInSlow\":\"cubic-bezier(0.5, 0, 1, 1)\",\"easeOutSlow\":\"cubic-bezier(0, 0, 0.4, 1)\",\"easeInOut\":\"cubic-bezier(0, 0, 0.67, 1)\",\"borderWidth01\":\"0.031rem\",\"borderWidth02\":\"0.063rem\",\"borderWidth03\":\"0.094rem\",\"borderWidth04\":\"0.125rem\",\"borderWidth05\":\"0.25rem\",\"borderRadius01\":\"0.125rem\",\"borderRadius02\":\"0.25rem\",\"borderRadius03\":\"0.375rem\",\"borderRadius04\":\"1.625rem\",\"borderRadius05\":\"50%\",\"borderRadiusDefault\":\"0.875rem\",\"borderRadiusNone\":0,\"borderInset02\":\"0.5rem\",\"borderOffset01\":\"2rem\",\"borderStyleDefault\":\"solid\",\"borderStyle02\":\"dotted\",\"base10\":\"rgb(28, 28, 28)\",\"base15\":\"28 28 28\",\"base20\":\"rgb(255, 255, 255)\",\"base25\":\"255 255 255\",\"accent10\":\"rgb(255, 141, 107)\",\"neutral00\":\"rgb(0, 0, 0)\",\"neutral10\":\"rgb(244, 244, 244)\",\"neutral20\":\"rgb(238, 238, 238)\",\"neutral30\":\"rgb(196, 196, 196)\",\"neutral40\":\"rgb(112, 112, 112)\",\"bvyBase10\":\"rgb(35, 28, 25)\",\"bvyBase20\":\"rgb(249, 246, 244)\",\"bvyBase30\":\"rgb(255, 141, 107)\",\"bvyAccent10\":\"rgb(255, 185, 149)\",\"bvyAccent20\":\"rgb(220, 111, 80)\",\"bvyAccent30\":\"rgb(255, 218, 160)\",\"bvyAccent40\":\"rgb(202, 215, 235)\",\"merch10\":\"rgb(255, 150, 98)\",\"merch20\":\"rgb(71, 125, 0)\",\"merch30\":\"rgb(28, 28, 28)\",\"merch40\":\"rgb(251, 192, 45)\",\"merch50\":\"rgb(255, 255, 255)\",\"merch60\":\"rgb(255, 185, 149)\",\"merch70\":\"rgb(240, 251, 227)\",\"memberSolid\":\"rgb(255, 150, 98)\",\"memberSolidAlt\":\"rgb(248, 248, 248)\",\"silverSolid\":\"rgb(112, 116, 136)\",\"goldSolid\":\"rgb(140, 111, 73)\",\"platinumSolid\":\"rgb(94, 95, 97)\",\"titaniumSolid\":\"rgb(85, 71, 73)\",\"ambassadorSolid\":\"rgb(35, 28, 25)\",\"alert10\":\"rgb(255, 255, 255)\",\"alert20\":\"rgb(196, 196, 196)\",\"alert30\":\"rgb(71, 125, 0)\",\"alert40\":\"rgb(185, 70, 0)\",\"alert50\":\"rgb(208, 2, 27)\",\"fontFamilySwiss\":\"Swiss-721\",\"fontSwiss\":\"Swiss-721\",\"fontSwissCondensed\":\"SwissCondensed\",\"fontMiIcons\":\"MiIcons\",\"fontBrandLogoIcons\":\"BrandLogoIcons\",\"fontPortfolioLogoIcons\":\"PortfolioLogoIcons\",\"fontFamilyVideoicons\":\"VideoIcons\",\"fontFamilyPl\":\"UniversNextW1G,Helvetica,Arial,sans-serif\",\"fontFamilyAr\":\"JannaLT\",\"fontFamilyKo\":\"NotoSansKR\",\"fontFamilyJa\":\"NotoSansJP\",\"fontFamilyTc\":\"NotoSansTC\",\"fontFamilySc\":\"NotoSansSC\",\"fontFamilyRu\":\"UniversLTCYR\",\"fontFamilyHe\":\"Swiss721Hebrew\",\"fontXs\":\"0.75rem\",\"fontS\":\"0.875rem\",\"fontM\":\"1rem\",\"fontL\":\"1.125rem\",\"fontXl\":\"1.25rem\",\"fontXxl\":\"1.375rem\",\"fontXxxl\":\"1.5rem\",\"font1x\":\"2.125rem\",\"font2x\":\"2.25rem\",\"font3x\":\"3.75rem\",\"font4x\":\"5.625rem\",\"lineHeightXs\":\"1rem\",\"lineHeightS\":\"1.125rem\",\"lineHeightM\":\"1.25rem\",\"lineHeightL\":\"1.375rem\",\"lineHeightXl\":\"1.5rem\",\"lineHeightXxl\":\"1.625rem\",\"lineHeightXxxl\":\"2.375rem\",\"lineHeight1x\":\"2.75rem\",\"lineHeight2x\":\"4rem\",\"fontWeightRegular\":500,\"fontWeightMedium\":700,\"fontWeightBold\":900,\"fontStyleItalic\":\"italic\",\"gradient00\":\"linear-gradient(180deg, rgba(97, 96, 96, 0) 0%, rgba(0, 0, 0, 0.54) 25.52%, rgba(0, 0, 0, 0.54) 100%)\",\"gradient01\":\"linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.54) 23.21%, rgba(0, 0, 0, 0.62) 100%)\",\"gradient02\":\"linear-gradient(270deg, rgba(0, 0, 0, 0) 30%, rgba(0, 0, 0, 0.54) 54.29%, rgba(0, 0, 0, 0.62) 61%)\",\"gradient03\":\"linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.54) 33.67%, rgba(0, 0, 0, 0.62) 100%)\",\"gradient04\":\"linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.54) 47.23%, rgba(0, 0, 0, 0.62) 100%)\",\"gradient05\":\"linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.54) 58.94%, rgba(0, 0, 0, 0.62) 100%)\",\"gradient06\":\"linear-gradient(0deg, rgba(0, 0, 0, 0.62) 5%, rgba(0, 0, 0, 0.54) 15%, rgba(0, 0, 0, 0) 45%)\",\"gradient07\":\"linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.54) 34.78%, rgba(0, 0, 0, 0.62) 100%)\",\"gradient08\":\"linear-gradient(270deg, rgba(0, 0, 0, 0) 26.95%, rgba(0, 0, 0, 0.54) 67.69%, rgba(0, 0, 0, 0.62) 100%)\",\"gradient09\":\"linear-gradient(270deg, rgba(0, 0, 0, 0) 37.22%, rgba(0, 0, 0, 0.54) 68.51%, rgba(0, 0, 0, 0.62) 100%)\",\"gradient11\":\"linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.54) 23.21%, rgba(255, 255, 255, 0.62) 100%)\",\"gradient12\":\"linear-gradient(270deg, rgba(255, 255, 255, 0) 40%, rgba(255, 255, 255, 0.5) 54.29%, rgba(255, 255, 255, 0.7) 61%)\",\"gradient13\":\"linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.46) 33.67%, rgba(255, 255, 255, 0.54) 100%)\",\"gradient14\":\"linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.54) 47.23%, rgba(255, 255, 255, 0.54) 100%)\",\"gradient15\":\"linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.46) 49.96%, rgba(255, 255, 255, 0.54) 100%)\",\"gradient16\":\"linear-gradient(0deg, rgba(28, 28, 28, 0) 0, rgba(28, 28, 28, 0.33) 60.47%, rgba(28, 28, 28, 0.42) 100%)\",\"gradient17\":\"linear-gradient(180deg, hsla(0, 0.1%, 100%, 0) 0%, hsla(0, 0.1%, 100%, 0.46) 34.78%, hsla(0, 0.1%, 100%, 0.54) 100%)\",\"gradient18\":\"linear-gradient(270deg, hsla(0, 0.1%, 100%, 0) 26.95%, hsla(0, 0.1%, 100%, 0.46) 66.99%, hsla(0, 0.1%, 100%, 0.54) 100%)\",\"gradient19\":\"linear-gradient(270deg, hsla(0, 0.1%, 100%, 0) 37.22%, hsla(0, 0.1%, 100%, 0.46) 68.51%, hsla(0, 0.1%, 100%, 0.54))\",\"memberGradient\":\"linear-gradient(135.49deg, #ffb995 0%, #ff9662 100%)\",\"silverGradient\":\"linear-gradient(135deg, #707488 0%, #575b6e 100%)\",\"goldGradient\":\"linear-gradient(135deg, #8c6f49 0%, #6f4818 100%)\",\"platinumGradient\":\"linear-gradient(135deg, #5e5f61 0%, #43454a 100%)\",\"titaniumGradient\":\"linear-gradient(135deg, #554749 0%, #342829 100%)\",\"ambassadorGradient\":\"linear-gradient(135deg, #40332d 0%, #231c19 100%)\",\"baseGradient00\":\"linear-gradient(0deg, rgba(255, 255, 255, 0.54), rgba(255, 255, 255, 0.46), rgba(255, 255, 255, 0))\",\"baseGradient01\":\"linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.46) 34.78%, rgba(255, 255, 255, 0.54) 100%)\",\"baseGradient02\":\"linear-gradient(270deg, rgba(255, 255, 255, 0) 26.95%, rgba(255, 255, 255, 0.46) 66.99%, rgba(255, 255, 255, 0.54) 100%)\",\"baseGradient03\":\"linear-gradient(270deg, rgba(255, 255, 255, 0) 37.22%, rgba(255, 255, 255, 0.46) 68.51%, rgba(255, 255, 255, 0.54) 100%)\",\"baseGradient08\":\"linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.54) 34%, rgba(255, 255, 255, 0.54) 100%)\",\"baseGradient09\":\"linear-gradient(90deg, rgba(255, 255, 255, 0.54) 0%, rgba(255, 255, 255, 0.46) 79%, rgba(255, 255, 255, 0) 96%)\",\"baseGradient04\":\"linear-gradient(0deg, rgba(0, 0, 0, 0.62), rgba(0, 0, 0, 0.54), rgba(0, 0, 0, 0))\",\"baseGradient05\":\"linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.54) 34.78%, rgba(0, 0, 0, 0.62) 100%)\",\"baseGradient06\":\"linear-gradient(270deg, rgba(0, 0, 0, 0) 26.95%, rgba(0, 0, 0, 0.54) 67.69%, rgba(0, 0, 0, 0.62) 100%)\",\"baseGradient07\":\"linear-gradient(270deg, rgba(0, 0, 0, 0) 37.22%, rgba(0, 0, 0, 0.54) 68.51%, rgba(0, 0, 0, 0.62) 100%)\",\"baseGradient10\":\"linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.54) 34%, rgba(0, 0, 0, 0.62) 100%)\",\"baseGradient11\":\"linear-gradient(90deg, rgba(0, 0, 0, 0.62) 0%, rgba(0, 0, 0, 0.54) 76%, rgba(0, 0, 0, 0) 100%)\",\"iconAirplane\":\"\",\"iconFitnessCenter\":\"\",\"iconLockOpen\":\"\",\"iconLock\":\"\",\"iconLongArrowBack\":\"\",\"iconLongArrowForward\":\"\",\"iconSpa\":\"\",\"iconGlobe\":\"\",\"iconDot\":\"\",\"iconMarriottInternational\":\"î Œ\",\"iconLocation\":\"\",\"iconClock\":\"î¤\",\"iconMore\":\"\",\"iconPhotoGallery\":\"\",\"iconShareIos\":\"\",\"iconVisabilityOff\":\"\",\"iconHourGuarantee\":\"\",\"iconAllSuites\":\"\",\"iconCashAndPoints\":\"\",\"iconEliteStatus\":\"\",\"iconFreeNightCertificates\":\"î¤\",\"iconGiftPoints1x\":\"\",\"iconLoungeAccess\":\"î¤\",\"iconMemberRates1x\":\"î¤\",\"iconMobileCheckIn\":\"\",\"iconMorePointsOnStays\":\"\",\"iconPriorityLateCheckout\":\"\",\"iconSuiteNightAwards\":\"\",\"iconYour24\":\"\",\"iconKeylessEntry\":\"\",\"iconAddToCalendar\":\"\",\"iconAddToWallet\":\"\",\"iconAdd\":\"\",\"iconAlert\":\"\",\"iconBookDirectShield\":\"\",\"iconBuyPoints\":\"\",\"iconApplePay\":\"î¤\",\"iconArrowDown\":\"\",\"iconDonatePoints\":\"\",\"iconEliteNightCredit\":\"î¤ \",\"iconArrowLeft\":\"\",\"iconArrowRight\":\"\",\"iconExtraFreeNights\":\"\",\"iconArrowRightCropped\":\"\",\"iconArrowUp\":\"\",\"iconAvatar\":\"\",\"iconBackArrow\":\"\",\"iconLifetime\":\"\",\"iconBackArrowCropped\":\"\",\"iconBizChat\":\"\",\"iconCancel\":\"\",\"iconCheck\":\"\",\"iconClear\":\"î¤\",\"iconCollapse\":\"\",\"iconDelete\":\"\",\"iconDownArrow\":\"\",\"iconDownload\":\"\",\"iconDropdownDown\":\"\",\"iconStatusAmbassadorElite\":\"\",\"iconStatusCobalt\":\"\",\"iconStatusGoldElite\":\"\",\"iconStatusMemberElite\":\"\",\"iconStatusPlatinumElite\":\"\",\"iconStatusSilverElite\":\"\",\"iconStatusTitaniumElite\":\"\",\"iconDropdownUp\":\"\",\"iconEditDates\":\"\",\"iconUltimateReservationGuarantee\":\"\",\"iconVip\":\"\",\"iconEdit\":\"\",\"iconFeedbackHappy\":\"\",\"iconFeedbackSad\":\"\",\"iconFilter\":\"î¥\",\"iconForwardArrow\":\"\",\"iconForward\":\"\",\"iconGear\":\"\",\"iconGridView\":\"\",\"iconHeartFill\":\"\",\"iconHeartOutline\":\"\",\"iconHelp\":\"\",\"iconIncrementMinus\":\"\",\"iconInformation\":\"\",\"iconKeyStation\":\"\",\"iconListViewAlt\":\"\",\"iconListView\":\"î¥\",\"iconMapZoom\":\"\",\"iconMenu\":\"î¥\",\"iconMerge\":\"î¥\",\"iconMinus\":\"\",\"iconNavAccountActive\":\"\",\"iconNavAccountAltActive\":\"\",\"iconNavAccountAlt\":\"\",\"iconNavAccount\":\"\",\"iconNavBookActive\":\"\",\"iconNavBook\":\"\",\"iconNavHomeActive\":\"\",\"iconNavHome\":\"\",\"iconNavTripsActive\":\"\",\"iconNavTrips\":\"\",\"iconOcrScanPayment\":\"\",\"iconPhone\":\"î¥\",\"iconPlus\":\"\",\"iconPrint\":\"\",\"iconSearchListSort\":\"î¥ \",\"iconSearch\":\"\",\"iconShare\":\"\",\"iconSignIn\":\"\",\"iconSpinner\":\"\",\"iconStar\":\"\",\"iconUpArrow\":\"\",\"iconVisibility\":\"\",\"iconWebsite\":\"\",\"iconFacebook\":\"\",\"iconFoursquare\":\"\",\"iconGoogle\":\"\",\"iconInstagram\":\"\",\"iconLinkedin\":\"î¥\",\"iconMessenger\":\"\",\"iconPinterest\":\"\",\"iconTwitter\":\"\",\"iconUber\":\"\",\"iconVk\":\"\",\"iconWeibo\":\"\",\"iconYoutube\":\"\",\"iconAmbassadorLeft\":\"\",\"iconAmenities\":\"\",\"iconArtGallery\":\"\",\"iconOnsiteBar\":\"\",\"iconBathMat\":\"\",\"iconBathTowel\":\"\",\"iconBed\":\"\",\"iconBodyLotion\":\"\",\"iconBreakfast\":\"\",\"iconBusinessCenter\":\"\",\"iconCapacityChart\":\"\",\"iconCarRentalDeck\":\"\",\"iconCart\":\"î¦\",\"iconCasino\":\"\",\"iconChat\":\"\",\"iconCheckOut\":\"\",\"iconCigarBar\":\"\",\"iconCity\":\"\",\"iconConciergeLounge\":\"\",\"iconConcierge\":\"\",\"iconDentalKit\":\"\",\"iconDeviceCast\":\"\",\"iconDining\":\"\",\"iconDirections\":\"\",\"iconDoNotDisturb\":\"î¦\",\"iconDryCleaning\":\"\",\"iconEvChargingStation\":\"î¦\",\"iconExtraTowels\":\"î¦\",\"iconFeatherPillow\":\"\",\"iconFreeBeachAccess\":\"\",\"iconGolf\":\"\",\"iconHandTowels\":\"\",\"iconHangers\":\"\",\"iconHighFloor\":\"\",\"iconIconicLandmark\":\"\",\"iconJoinNow\":\"\",\"iconKidsActivities\":\"\",\"iconKitchenette\":\"\",\"iconLateCheckOut\":\"\",\"iconLaundryServices\":\"\",\"iconLowFloor\":\"î¦\",\"iconLuggage\":\"\",\"iconMaidService\":\"\",\"iconMakeAGreenChoice\":\"î¦ \",\"iconMap\":\"\",\"iconMeetingSpace\":\"\",\"iconMovieTheater\":\"\",\"iconNearElevator\":\"\",\"iconNearby\":\"\",\"iconOptOut\":\"\",\"iconOutdoorGrill\":\"\",\"iconOverview\":\"\",\"iconParkingPackage\":\"\",\"iconPlugInPanel\":\"\",\"iconPool\":\"\",\"iconPrivateGarden\":\"\",\"iconPromotionAchieved\":\"î¦\",\"iconRequests\":\"\",\"iconRestaurantOnSite\":\"\",\"iconRollawayBedOrCot\":\"\",\"iconRoomReadyAlerts\":\"\",\"iconShampoo\":\"\",\"iconShavingKit\":\"\",\"iconSheetSet\":\"\",\"iconShield\":\"\",\"iconShoeShine\":\"\",\"iconShowerCap\":\"\",\"iconAirportShuttle\":\"\",\"iconSlippers\":\"\",\"iconSmartTv\":\"\",\"iconSoap\":\"\",\"iconTag\":\"\",\"iconTennis\":\"\",\"iconTowelSet\":\"\",\"iconTransportation\":\"\",\"iconUpgradeRequestedLeft\":\"\",\"iconUpgradeRequested\":\"î§\",\"iconValet\":\"\",\"iconVanityKit\":\"\",\"iconWakeUpCall\":\"\",\"iconWashcloth\":\"\",\"iconWifi\":\"\",\"iconMail\":\"\",\"iconBlanket\":\"î§\",\"iconComb\":\"\",\"iconConditioner\":\"î§\",\"iconFeatherFree\":\"î§\",\"iconFoamPillow\":\"\",\"iconNights\":\"\",\"iconGuests\":\"\",\"iconFiggy\":\"\",\"iconSmallRedBook\":\"\",\"iconWechat\":\"\",\"iconDiningChopsticks\":\"î©œ\",\"iconAppleWallet\":\"\",\"iconDiningFilter\":\"\",\"iconDiningFingerprint\":\"\",\"iconAccessibility\":\"\",\"iconActivity\":\"î§\",\"iconAlarm\":\"\",\"iconAmbassador\":\"\",\"iconAsterisk\":\"î§ \",\"iconBeach\":\"\",\"iconBikeShare\":\"\",\"iconChatBot\":\"\",\"iconCloudFog\":\"\",\"iconCloudHail\":\"\",\"iconCloudWind\":\"\",\"iconCloudy\":\"\",\"iconCurrency\":\"\",\"iconCustomerSupport\":\"\",\"iconEarlyCheckIn\":\"\",\"iconEvents\":\"\",\"iconExternalArrow\":\"î§\",\"iconFamilyTravel\":\"\",\"iconGift\":\"\",\"iconGuestRoomEntertainment\":\"\",\"iconHail\":\"\",\"iconLightShowers\":\"\",\"iconMiniBar\":\"\",\"iconMoon\":\"\",\"iconNextLevel1Day\":\"\",\"iconNextLevel2Day\":\"\",\"iconNextLevel3Day\":\"\",\"iconNextLevel4Day\":\"\",\"iconNextLevel5Day\":\"\",\"iconNextLevel6Day\":\"\",\"iconNextLevel7Day\":\"\",\"iconNextLevelGenera\":\"î¨\",\"iconNightCloud\":\"\",\"iconNoParking\":\"\",\"iconParking\":\"\",\"iconPartlyCloudy\":\"\",\"iconPartlySunny\":\"\",\"iconPetFriendly\":\"\",\"iconPowerSupply\":\"\",\"iconRain\":\"\",\"iconRainNight\":\"\",\"iconRenew\":\"\",\"iconRitzKids\":\"\",\"iconRobe\":\"î¨\",\"iconRollawayCrib\":\"\",\"iconRoomReady\":\"î¨\",\"iconRoomService\":\"î¨\",\"iconScatteredShowers\":\"\",\"iconSkiSnowboard\":\"\",\"iconSmartphone\":\"\",\"iconSnow\":\"\",\"iconSnowHeavy\":\"\",\"iconSnowMedium\":\"\",\"iconSnowNight\":\"\",\"iconStayDates\":\"\",\"iconStepperMinus\":\"\",\"iconStepperPlus\":\"\",\"iconStormDay\":\"î¨\",\"iconStormLightning\":\"\",\"iconStormNight\":\"\",\"iconStormRain\":\"î¨ \",\"iconSuccess\":\"\",\"iconSunny\":\"\",\"iconTornado\":\"\",\"iconTransferPoints\":\"\",\"iconUniversalAccess\":\"\",\"iconVisibilityOff\":\"\",\"iconWarning\":\"\",\"iconMarriottCertifiedWeddingPlanner\":\"\",\"iconWindy\":\"\",\"iconWineTasting\":\"\",\"iconGooglePay\":\"\",\"iconMemberStatus\":\"î¨\",\"iconSuccessFill\":\"\",\"iconBodyWash\":\"\",\"iconCalendar\":\"\",\"iconCheckIn\":\"\",\"iconTravelGuidance\":\"\",\"iconStarFill\":\"\",\"iconStarHalfFill\":\"\",\"iconPathConnector\":\"\",\"iconLifetimeFill\":\"\",\"iconCancelAlt\":\"\",\"iconLineApp\":\"\",\"iconExpandWhite\":\"\",\"iconQuoteMark\":\"\",\"iconSocialKakao\":\"\",\"iconSocialNaver\":\"\",\"iconCovidMask\":\"\",\"iconCold\":\"\",\"iconHot\":\"\",\"iconJourney\":\"\",\"iconHighSpeedInternetAtAPrice\":\"î©€\",\"iconBell\":\"î©\",\"iconWhirlpoolInRoom\":\"î©‚\",\"iconWhirlpoolOnSite\":\"\",\"iconRenren\":\"î©„\",\"iconTiktok\":\"î©…\",\"iconXiaohongshu\":\"\",\"iconDoubleChevronLeft\":\"\",\"iconDoubleChevronRight\":\"\",\"icon3dBox\":\"î©Š\",\"icon360Image\":\"î©‹\",\"iconRfpConference\":\"î©Œ\",\"iconRfpCrescentRounds\":\"î©\",\"iconRfpExhibits\":\"î©Ž\",\"iconRfpHollowSquare\":\"î©\",\"iconRfpQuestionMark\":\"î©‘\",\"iconRfpMixed\":\"î©’\",\"iconRfpPods\":\"î©“\",\"iconRfpReception\":\"î©”\",\"iconRfpRounds\":\"î©•\",\"iconRfpSchoolRoom\":\"î©–\",\"iconRfpTheatre\":\"î©—\",\"iconRfpUShape\":\"\",\"iconAllInclusive\":\"î©™\",\"iconAllInclusiveLeft\":\"î©š\",\"iconPlay\":\"î©›\",\"iconDeliveryBag\":\"î©\",\"iconBellFilled\":\"î©ž\",\"iconPause\":\"î© \",\"iconBetmgm\":\"î©¡\",\"iconCharityDonation\":\"î©¢\",\"iconCruise\":\"î©£\",\"iconEliteLoungeGuarantee\":\"\",\"iconEliteReservationGuarantee\":\"î©¥\",\"iconEliteRoomUpgrade\":\"\",\"iconFreeNightAward\":\"\",\"iconGiftShopDiscount\":\"\",\"iconInstantRedemption\":\"î©©\",\"iconNightlyUpgradeAward\":\"\",\"iconPointsWallet\":\"î©«\",\"iconPointsavers\":\"\",\"iconPromotion\":\"î©\",\"iconRoomTypeGuarantee\":\"î©®\",\"iconShoppingBag\":\"î©°\",\"iconToGoCup\":\"\",\"iconWelcomeGiftGuarantee\":\"\",\"iconIdentificationCard\":\"\",\"iconPortfolioMrBlkNotag\":\"ï \",\"iconPortfolioRitzCarlton\":\"盧\",\"iconPortfolioEdition\":\"奈\",\"iconPortfolioJw\":\"ï¤\",\"iconPortfolioAutographCollection\":\"金\",\"iconPortfolioRenaissance\":\"洛\",\"iconPortfolioDeltaHotels\":\"滑\",\"iconPortfolioMarriott\":\"邏\",\"iconPortfolioMarriottExecutiveApartments\":\"裸\",\"iconPortfolioVacationClub\":\"駱\",\"iconPortfolioGaylord\":\"句\",\"iconPortfolioAcHotels\":\"龜\",\"iconPortfolioCourtyard\":\"賈\",\"iconPortfolioResidenceInn\":\"豈\",\"iconPortfolioSpringhillSuites\":\"\",\"iconPortfolioFairfieldInn\":\"串\",\"iconPortfolioTowneplaceSuites\":\"車\",\"iconPortfolioProteaHotels\":\"龜\",\"iconPortfolioMoxy\":\"樂\",\"iconPortfolioSpg\":\"ï ž\",\"iconPortfolioStRegis\":\"落\",\"iconPortfolioLuxuryCollection\":\"螺\",\"iconPortfolioWHotels\":\"亂\",\"iconPortfolioWestin\":\"卵\",\"iconPortfolioSheraton\":\"珞\",\"iconPortfolioLeMeridien\":\"ï¤\",\"iconPortfolioTributePortfolio\":\"酪\",\"iconPortfolioDesignHotels\":\"虜\",\"iconPortfolioAloft\":\"契\",\"iconPortfolioFourPoints\":\"癩\",\"iconPortfolioElement\":\"ï¤\",\"iconPortfolioRcr\":\"ï €\",\"iconPortfolioBulgari\":\"ï¤\",\"iconPortfolioHotelsAndVillas\":\"蘭\",\"iconPortfolioMarriottInternational\":\"爛\",\"iconBrandConferenceCenter\":\"\",\"iconPortfolioHvmi\":\"ï¤ \",\"iconPortfolioMvc\":\"嵐\",\"iconPortfolioXe\":\"壟\",\"iconPortfolioBa\":\"藍\",\"iconPortfolioMg\":\"襤\",\"iconPortfolioMoments\":\"拉\",\"iconPortfolioToursActivities\":\"臘\",\"iconPortfolioEvents\":\"蠟\",\"iconPortfolioBoutiques\":\"廊\",\"iconPortfolioWestinVacationClub\":\"朗\",\"iconPortfolioSheratonVacationClub\":\"擄\",\"iconPortfolioXf\":\"牢\",\"iconPortfolioRs\":\"聾\",\"iconPortfolioBg\":\"蘆\",\"iconPortfolioSn\":\"籠\",\"iconBrandCorp\":\"î Ÿ\",\"iconBrandMr\":\"î \",\"iconBrandRz\":\"\",\"iconBrandEb\":\"\",\"iconBrandJw\":\"\",\"iconBrandAk\":\"\",\"iconBrandBr\":\"\",\"iconBrandDe\":\"\",\"iconBrandMc\":\"î¤\",\"iconBrandEr\":\"\",\"iconBrandMv\":\"\",\"iconBrandGe\":\"\",\"iconBrandAr\":\"\",\"iconBrandCy\":\"\",\"iconBrandRi\":\"\",\"iconBrandSh\":\"\",\"iconBrandFi\":\"\",\"iconBrandTs\":\"\",\"iconBrandPr\":\"\",\"iconBrandOx\":\"î¤\",\"iconBrandSpg\":\"î ž\",\"iconBrandXr\":\"\",\"iconBrandLc\":\"î¤\",\"iconBrandWh\":\"\",\"iconBrandWi\":\"\",\"iconBrandSi\":\"\",\"iconBrandMd\":\"\",\"iconBrandTx\":\"\",\"iconBrandDs\":\"î¥\",\"iconBrandAl\":\"î¤\",\"iconBrandFp\":\"\",\"iconBrandEl\":\"\",\"iconBrandRcr\":\"î €\",\"iconBrandBg\":\"\",\"iconBrandMi\":\"\",\"iconBrandHv\":\"\",\"iconBrandXe\":\"\",\"iconBrandBa\":\"\",\"iconBrandReserve\":\"\",\"iconBrandTrc\":\"\",\"iconBrandXf\":\"\",\"iconBrandSv\":\"\",\"iconBrandWv\":\"\",\"iconBrandMg\":\"\",\"iconBrandRs\":\"î¥\",\"iconTribrandLogo\":\"\",\"iconBrandSn\":\"\",\"iconProgramText\":\"î¤ \",\"iconProgramElement\":\"\",\"iconProgramTextCn\":\"\",\"iconProgramTextWoTm\":\"\",\"iconProgramPathConnector\":\"\",\"iconProgramWordMark\":\"\",\"iconProgramPathConnectorCn\":\"\",\"iconProgramWordMarkCn\":\"\",\"iconProgramPathConnectorTraditionalCn\":\"\",\"iconProgramWordMarkTraditionalCn\":\"\",\"iconProgramElementCn\":\"\",\"iconProgramLuxuryMark\":\"\",\"iconProgramLuxuryGroup\":\"\",\"iconProgramWordMarkUs\":\"\",\"iconEscapeElement\":\"\",\"iconEscapeText\":\"\",\"viewportXs\":\"0px\",\"viewportS\":\"576px\",\"viewportM\":\"768px\",\"viewportL\":\"992px\",\"viewportXl\":\"1200px\",\"opacity1\":0.1,\"opacity2\":0.2,\"opacity3\":0.3,\"opacity4\":0.46,\"opacity5\":0.54,\"opacity6\":0.6,\"opacity7\":0.7,\"boxShadowTile\":\"rgba(0, 0, 0, 0.07)\",\"boxShadowMenu\":\"rgba(28, 28, 28, 0.09)\",\"boxShadowSlide\":\"rgba(0, 0, 0, 0.33)\",\"boxShadowClassic\":\"rgba(28, 28, 28, 0.09)\",\"boxShadowSubsection\":\"0 0.125rem 0.125rem 0 rgba(0, 0, 0, 0.1)\",\"backgroundColorNavitemHover\":\"rgba(28, 28, 28, 0.25)\",\"boxShadowDeeper\":\"0 0.25rem 0.75rem rgb(112, 112, 112)\",\"boxShadowPopover\":\"0rem 0.438rem 1.25rem 0rem rgba(0, 0, 0, 0.25)\",\"shadowSubtle01\":\"0 0.25rem 1.25rem 0 rgba(0, 0, 0, 0.08)\",\"shadowSubtle02\":\"0 0.25rem 0.875rem 0 rgba(0, 0, 0, 0.4)\",\"shadowSubtle03\":\"0 0.125rem 0.625rem 0 rgba(0, 0, 0, 0.3)\",\"shadowSubtle04\":\"0 0.125rem 0.625rem 0 rgba(0, 0, 0, 0.1)\",\"shadow01\":\"0 0.25rem 1.65rem 0 rgba(0, 0, 0, 0.5)\",\"shadow02\":\"0 0.25 0.875rem 0 rgba(0, 0, 0, 0.5)\",\"shadow03\":\"0 0.125rem 0.625rem 0 rgba(0, 0, 0, 0.5)\",\"shadow04\":\"0 0.125rem 0.625rem 0 rgba(0, 0, 0, 0.5)\",\"shadowBlur01\":\"0 0.375rem 1.625rem 0 rgba(0, 0, 0, 0.07)\",\"shadowBlur02\":\"0 0.375rem 0.625rem 0 rgba(0, 0, 0, 0.07)\",\"baseFontFamily\":\"var(--t-base-font-family)\",\"baseFontFamilyCondensed\":\"SwissCondensed\",\"baseFontWeight\":500,\"baseLineHeight\":\"1rem\",\"baseBackgroundColor\":\"rgb(244, 244, 244)\",\"baseFontColor\":\"rgb(28, 28, 28)\",\"brandedFontFamily\":\"var(--t-font-family)\",\"brandedFontColor\":\"var(--t-brand-fg-color)\",\"brandedBackgroundColor\":\"var(--t-brand-bg-color)\",\"brandedAltColor\":\"var(--t-brand-alt-color)\",\"tTitleFontFamily\":\"var(--t-title-font-family)\",\"overlineNormalColor\":\"var(--t-overline-normal-color)\",\"overlineOverlayColor\":\"var(--t-overline-overlay-color)\",\"typography\":{\"title\":{\"l\":{\"fontFamily\":\"var(--t-title-font-family)\",\"fontSizeMap\":{\"viewportXs\":\"'var(--t-title-l-font-size-viewport-xs)', 'var(--t-title-l-line-height-viewport-xs)'\",\"viewportM\":\"'var(--t-title-l-font-size-viewport-m)', 'var(--t-title-l-line-height-viewport-m)'\",\"viewportL\":\"'var(--t-title-l-font-size-viewport-l)', 'var(--t-title-l-line-height-viewport-l)'\"},\"fontWeight\":\"var(--t-title-l-font-weight)\",\"textTransform\":\"var(--t-title-l-text-transform)\",\"letterSpacing\":\"var(--t-title-l-letter-space)\",\"color\":\"var(--t-brand-fg-color)\",\"inverseColor\":\"rgb(255, 255, 255)\",\"altColor\":\"var(--t-brand-alt-color, #707070)\"},\"m\":{\"fontFamily\":\"var(--t-title-font-family)\",\"fontSizeMap\":{\"viewportXs\":\"'var(--t-title-m-font-size-viewport-xs)', 'var(--t-title-m-line-height-viewport-xs)'\",\"viewportL\":\"'var(--t-title-m-font-size-viewport-l)', 'var(--t-title-m-line-height-viewport-l)'\"},\"fontWeight\":\"var(--t-title-m-font-weight)\",\"textTransform\":\"var(--t-title-m-text-transform)\",\"letterSpacing\":\"var(--t-title-m-letter-space)\",\"color\":\"var(--t-brand-fg-color)\",\"inverseColor\":\"rgb(255, 255, 255)\",\"altColor\":\"var(--t-brand-alt-color, #707070)\"},\"s\":{\"fontFamily\":\"var(--t-title-font-family)\",\"fontSizeMap\":{\"viewportXs\":\"'var(--t-title-s-font-size-viewport-xs)', 'var(--t-title-s-line-height-viewport-xs)'\",\"viewportL\":\"'var(--t-title-s-font-size-viewport-l)', 'var(--t-title-s-line-height-viewport-l)'\"},\"fontWeight\":\"var(--t-title-s-font-weight)\",\"textTransform\":\"var(--t-title-s-text-transform)\",\"letterSpacing\":\"var(--t-title-s-letter-space)\",\"color\":\"var(--t-brand-fg-color)\",\"inverseColor\":\"rgb(255, 255, 255)\",\"altColor\":\"var(--t-brand-alt-color, #707070)\"}},\"subtitle\":{\"xl\":{\"fontFamily\":\"var(--t-font-family)\",\"fontSizeMap\":{\"viewportL\":\"'var(--t-subtitle-xl-font-size-viewport-l)', 'var(--t-subtitle-xl-line-height-viewport-l)'\",\"viewportXs\":\"'var(--t-subtitle-xl-font-size-viewport-xs)', 'var(--t-subtitle-xl-line-height-viewport-xs)'\"},\"fontWeight\":\"var(--t-subtitle-xl-font-weight)\",\"textTransform\":\"var(--t-subtitle-xl-text-transform, var(--t-title-s-text-transform))\",\"letterSpacing\":\"var(--t-subtitle-xl-letter-space, var(--t-title-s-letter-space))\",\"color\":\"var(--t-brand-fg-color)\",\"altColor\":\"var(--t-brand-alt-color, #707070)\",\"inverseColor\":\"rgb(255, 255, 255)\",\"inverseAltColor\":\"rgb(196, 196, 196)\"},\"l\":{\"fontFamily\":\"var(--t-subtitle-l-font-family, var(--t-base-font-family))\",\"fontSizeMap\":{\"viewportL\":\"'var(--t-subtitle-l-font-size-viewport-l, 1.125rem)', 'var(--t-subtitle-l-line-height-viewport-l, 1.5rem)'\",\"viewportXs\":\"'var(--t-subtitle-l-font-size-viewport-xs, 1.125rem)', 'var(--t-subtitle-l-line-height-viewport-xs, 1.5rem)'\"},\"fontWeight\":\"var(--t-subtitle-l-font-weight, 700)\",\"color\":\"var(--t-brand-fg-color)\",\"altColor\":\"var(--t-brand-alt-color, #707070)\",\"inverseColor\":\"rgb(255, 255, 255)\",\"inverseAltColor\":\"rgb(196, 196, 196)\"},\"m\":{\"fontFamily\":\"var(--t-subtitle-m-font-family, var(--t-base-font-family))\",\"fontSizeMap\":{\"viewportL\":\"'var(--t-subtitle-m-font-size-viewport-l, 1rem)', 'var(--t-subtitle-m-line-height-viewport-l, 1.375rem)'\",\"viewportXs\":\"'var(--t-subtitle-m-font-size-viewport-xs, 1rem)', 'var(--t-subtitle-m-line-height-viewport-xs, 1.375rem)'\"},\"fontWeight\":\"var(--t-subtitle-l-font-weight, 700)\",\"color\":\"var(--t-brand-fg-color)\",\"altColor\":\"var(--t-brand-alt-color, #707070)\",\"inverseColor\":\"rgb(255, 255, 255)\",\"inverseAltColor\":\"rgb(196, 196, 196)\"}},\"display\":{\"l\":{\"fontFamily\":\"var(--t-font-family)\",\"fontSizeMap\":{\"viewportXs\":\"'var(--t-display-l-font-size-viewport-xs)', 'var(--t-display-l-line-height-viewport-xs)'\",\"viewportM\":\"'var(--t-display-l-font-size-viewport-m)', 'var(--t-display-l-line-height-viewport-m)'\",\"viewportL\":\"'var(--t-display-l-font-size-viewport-l)', 'var(--t-display-l-line-height-viewport-l)'\"},\"fontWeight\":\"var(--t-display-l-font-weight)\",\"textTransform\":\"var(--t-display-l-text-transform)\",\"letterSpacing\":\"var(--t-display-l-letter-space)\",\"color\":\"var(--t-brand-fg-color)\",\"inverseColor\":\"rgb(255, 255, 255)\",\"altColor\":\"var(--t-brand-alt-color, #707070)\"},\"m\":{\"fontFamily\":\"var(--t-font-family)\",\"fontSizeMap\":{\"viewportXs\":\"'var(--t-display-m-font-size-viewport-xs)', 'var(--t-display-m-line-height-viewport-xs)'\",\"viewportM\":\"'var(--t-display-m-font-size-viewport-m)', 'var(--t-display-m-line-height-viewport-m)'\",\"viewportL\":\"'var(--t-display-m-font-size-viewport-l)', 'var(--t-display-m-line-height-viewport-l)'\"},\"fontWeight\":\"var(--t-display-m-font-weight)\",\"textTransform\":\"var(--t-display-m-text-transform)\",\"letterSpacing\":\"var(--t-display-m-letter-space)\",\"color\":\"var(--t-brand-fg-color)\",\"inverseColor\":\"rgb(255, 255, 255)\",\"altColor\":\"var(--t-brand-alt-color, #707070)\"},\"s\":{\"fontFamily\":\"var(--t-font-family)\",\"fontSizeMap\":{\"viewportXs\":\"'var(--t-display-s-font-size-viewport-xs)', 'var(--t-display-s-line-height-viewport-xs)'\",\"viewportM\":\"'var(--t-display-s-font-size-viewport-m)', 'var(--t-display-s-line-height-viewport-m)'\",\"viewportL\":\"'var(--t-display-s-font-size-viewport-l)', 'var(--t-display-s-line-height-viewport-l)'\"},\"fontWeight\":\"var(--t-display-s-font-weight)\",\"textTransform\":\"var(--t-display-s-text-transform)\",\"letterSpacing\":\"var(--t-display-s-letter-space)\",\"color\":\"var(--t-brand-fg-color)\",\"inverseColor\":\"rgb(255, 255, 255)\",\"altColor\":\"var(--t-brand-alt-color, #707070)\"}},\"brandFont\":{\"l\":{\"fontFamily\":\"var(--t-font-family)\",\"fontSizeMap\":{\"viewportXs\":\"'var(--t-brand-font-l-font-size-viewport-xs)', 'var(--t-brand-font-l-line-height-viewport-xs)'\"},\"fontWeight\":\"var(--t-brand-font-l-font-weight)\",\"textTransform\":\"var(--t-brand-font-l-text-transform)\",\"letterSpacing\":\"var(--t-brand-font-l-letter-space)\",\"color\":\"var(--t-brand-fg-color)\",\"inverseColor\":\"rgb(255, 255, 255)\",\"altColor\":\"var(--t-brand-alt-color, #707070)\"},\"m\":{\"fontFamily\":\"var(--t-font-family)\",\"fontSizeMap\":{\"viewportXs\":\"'var(--t-brand-font-m-font-size-viewport-xs)', 'var(--t-brand-font-m-line-height-viewport-xs)'\"},\"fontWeight\":\"var(--t-brand-font-m-font-weight)\",\"textTransform\":\"var(--t-brand-font-m-text-transform)\",\"letterSpacing\":\"var(--t-brand-font-m-letter-space)\",\"color\":\"var(--t-brand-fg-color)\",\"inverseColor\":\"rgb(255, 255, 255)\",\"altColor\":\"var(--t-brand-alt-color, #707070)\"}},\"font\":{\"m\":{\"fontFamily\":\"var(--t-base-font-family)\",\"fontSizeMap\":{\"viewportXs\":\"1rem 1.5rem\"},\"fontWeight\":500,\"color\":\"var(--t-brand-fg-color)\",\"altColor\":\"var(--t-brand-alt-color, #707070)\",\"inverseColor\":\"rgb(255, 255, 255)\"},\"s\":{\"fontFamily\":\"var(--t-base-font-family)\",\"fontSizeMap\":{\"viewportXs\":\"0.875rem 1.25rem\"},\"fontWeight\":500,\"color\":\"var(--t-brand-fg-color)\",\"altColor\":\"var(--t-brand-alt-color, #707070)\",\"inverseColor\":\"rgb(255, 255, 255)\"},\"xs\":{\"fontFamily\":\"var(--t-base-font-family)\",\"fontSizeMap\":{\"viewportXs\":\"0.75rem 1rem\"},\"fontWeight\":500,\"color\":\"var(--t-brand-fg-color)\",\"altColor\":\"var(--t-brand-alt-color, #707070)\",\"inverseColor\":\"rgb(255, 255, 255)\"}},\"label\":{\"s\":{\"fontFamily\":\"var(--t-base-font-family)\",\"fontSizeMap\":{\"viewportXs\":\"0.875rem 1rem\"},\"fontWeight\":700,\"color\":\"rgb(112, 112, 112)\",\"altColor\":\"rgb(28, 28, 28)\",\"inverseColor\":\"rgb(255, 255, 255)\",\"inverseAltColor\":\"rgb(28, 28, 28)\"},\"xs\":{\"fontFamily\":\"var(--t-base-font-family)\",\"fontSizeMap\":{\"viewportXs\":\"0.75rem 1rem\"},\"fontWeight\":700,\"color\":\"rgb(112, 112, 112)\",\"altColor\":\"rgb(28, 28, 28)\",\"inverseColor\":\"rgb(255, 255, 255)\",\"inverseAltColor\":\"rgb(28, 28, 28)\"}},\"overline\":{\"normal\":{\"fontFamily\":\"var(--t-base-font-family)\",\"fontSizeMap\":{\"viewportXs\":\"0.75rem 1rem\"},\"fontWeight\":700,\"color\":\"var(--t-overline-normal-color)\",\"altColor\":\"var(--t-brand-alt-color)\",\"inverseColor\":\"rgb(255, 255, 255)\",\"inverseAltColor\":\"rgb(196, 196, 196)\",\"letterSpacing\":\"0.081rem\",\"textTransform\":\"uppercase\"},\"medium\":{\"fontFamily\":\"var(--t-base-font-family)\",\"fontSizeMap\":{\"viewportXs\":\"'var(--t-overline-medium-font-size-viewport-xs)', 'var(--t-overline-medium-line-height-viewport-xs)'\"},\"fontWeight\":\"var(--t-overline-medium-font-weight)\",\"textTransform\":\"var(--t-overline-medium-text-transform)\",\"letterSpacing\":\"var(--t-overline-medium-letter-space)\",\"color\":\"rgb(28, 28, 28)\",\"altColor\":\"var(--t-brand-alt-color, #707070)\",\"inverseColor\":\"rgb(255, 255, 255)\"},\"overlay\":{\"fontFamily\":\"var(--t-base-font-family)\",\"fontSizeMap\":{\"viewportXs\":\"0.75rem 1rem\"},\"fontWeight\":700,\"color\":\"var(--t-overline-overlay-color)\",\"letterSpacing\":\"0.081rem\",\"textTransform\":\"uppercase\"}},\"numbers\":{\"l\":{\"fontFamily\":\"SwissCondensed\",\"fontSizeMap\":{\"viewportXs\":\"5.625rem 5.625rem\"},\"fontWeight\":700,\"color\":\"rgb(28, 28, 28)\",\"inverseColor\":\"rgb(255, 255, 255)\",\"letterSpacing\":\"-0.188rem\"},\"s\":{\"fontFamily\":\"var(--t-base-font-family)\",\"fontSizeMap\":{\"viewportXs\":\"1.875rem 1.875rem\"},\"letterSpacing\":\"-0.031rem\",\"fontWeight\":700,\"color\":\"rgb(28, 28, 28)\",\"inverseColor\":\"rgb(255, 255, 255)\"}}},\"buttonSizes\":{\"s\":{\"fontSize\":\"0.8125rem\",\"lineHeight\":\"1rem\",\"height\":\"var(--t-button-s-height, 2rem)\",\"paddingY\":\"var(--t-button-s-padding-y, 0)\",\"paddingX\":\"var(--t-button-s-padding-x, 1rem)\",\"borderRadius\":\"var(--t-button-border-radius, 52px)\"},\"m\":{\"fontSize\":\"1rem\",\"lineHeight\":\"1.375rem\",\"height\":\"var(--t-button-m-height, 40px)\",\"paddingY\":\"var(--t-button-m-padding-y, 0)\",\"paddingX\":\"var(--t-button-m-padding-x, 1rem)\",\"borderRadius\":\"var(--t-button-border-radius, 52px)\"},\"l\":{\"fontSize\":\"1.125rem\",\"lineHeight\":\"1.5rem\",\"height\":\"var(--t-button-l-height, 3.25rem)\",\"paddingY\":\"var(--t-button-l-padding-y, 0)\",\"paddingX\":\"var(--t-button-l-padding-x, 1.5rem)\",\"borderRadius\":\"var(--t-button-border-radius, 52px)\"}},\"buttonFontFamily\":\"var(--t-base-font-family)\",\"buttonFontWeight\":700,\"buttonPrimaryBgColor\":\"var(--t-button-primary-bg-color)\",\"buttonPrimaryTxtColor\":\"var(--t-button-primary-fg-color)\",\"buttonPrimaryBorderColor\":null,\"buttonPrimaryHoverTxtColor\":\"var(--t-button-primary-hover-fg-color, var(--t-button-primary-fg-color))\",\"buttonPrimaryHoverBgColor\":\"var(--t-button-primary-hover-bg-color)\",\"buttonPrimaryHoverBorderColor\":\"var(--t-button-primary-hover-bg-color)\",\"buttonSecondaryBgColor\":\"var(--t-button-secondary-bg-color)\",\"buttonSecondaryTxtColor\":\"var(--t-button-secondary-fg-color)\",\"buttonSecondaryBorderColor\":\"var(--t-button-secondary-border-color)\",\"buttonSecondaryHoverBgColor\":\"var(--t-button-secondary-hover-bg-color)\",\"buttonSecondaryHoverTxtColor\":\"var(--t-button-secondary-hover-fg-color)\",\"buttonSecondaryHoverBorderColor\":\"var(--t-button-secondary-hover-border-color)\",\"buttonCancelLinkBgColor\":\"rgba(0, 0, 0, 0)\",\"buttonCancelLinkTxtColor\":\"rgb(28, 28, 28)\",\"buttonCancelLinkBorderColor\":\"rgba(0, 0, 0, 0)\",\"buttonDisabledBgColor\":\"rgb(196, 196, 196)\",\"buttonDisabledTxtColor\":\"rgb(255, 255, 255)\",\"buttonDisabledBorderColor\":\"rgb(196, 196, 196)\",\"buttonTransition\":\"color 0.15s ease-in-out background-color 0.25s ease-in-out border-color 0.15s ease-in-out\",\"buttonCheckboxBorderColor\":\"rgb(238, 238, 238)\",\"buttonCheckboxBackgroundColor\":\"rgb(255, 255, 255)\",\"buttonCheckboxLabelColor\":\"rgb(28, 28, 28)\",\"linkTextColor\":\"var(--t-link-text-color)\",\"linkFontWeight\":700,\"linkBottomPadding\":\"8px\",\"linkBorder\":\"2px solid var(--t-link-border-color)\",\"linkBorderHover\":\"2px solid\",\"linkDottedColor\":\"rgb(112, 112, 112)\",\"linkTertiaryButtonFontFamily\":\"var(--t-base-font-family)\",\"linkTertiaryButtonColor\":\"var(--t-button-tertiary-color)\",\"linkTertiaryButtonFontSize\":\"0.8125rem\",\"linkTertiaryButtonFontWeight\":700,\"linkTertiaryButtonHoverFontWeight\":700,\"linkNavColor\":\"var(--t-brand-fg-color)\",\"linkNavBorderColor\":\"var(--t-interactive-accent-color)\",\"linkIconFontSize\":\"0.813rem\",\"linkIconFontWeight\":500,\"linkIconLineHeight\":\"1rem\",\"linkIconButtonInfoColor\":\"rgb(112, 112, 112)\",\"linkIconButtonColor\":\"rgb(112, 112, 112)\",\"linkIconHoverBgColor\":\"rgb(238, 238, 238)\",\"linkIconButtonInfoHoverColor\":\"rgb(112, 112, 112)\",\"linkIconButtonHoverColor\":\"rgb(112, 112, 112)\",\"linkIconTextHoverBorderColor\":\"rgb(28, 28, 28)\",\"linkIconFocusBgColor\":\"rgb(255, 255, 255)\",\"linkIconFocusBorderColor\":\"rgb(238, 238, 238)\",\"linkIconFocusBoxShadow\":\"0 0.25rem 1.25rem 0 rgba(0, 0, 0, 0.07)\",\"actionLinkFontWeight\":500,\"actionLinkFontSize\":\"0.75rem\",\"actionLinkLineHeight\":\"1.125rem\",\"actionLinkBorderBottomColor\":\"var(--t-link-border-color)\",\"actionLinkColor\":\"var(--t-link-text-color)\",\"iconBtnPrimaryBgColor\":\"var(--t-icon-btn-primary-bg-color)\",\"iconBtnHoverBgColor\":\"var(--t-icon-btn-hover-bg-color)\",\"iconBtnHoverColor\":\"var(--t-icon-btn-hover-color)\",\"iconBtnFocusBgColor\":\"var(--t-icon-btn-focus-bg-color)\",\"btnGalleryFontSize\":\"0.813rem\",\"btnGalleryFontWeight\":500,\"btnGalleryLineHeight\":\"1rem\",\"btnGalleryBgColor\":\"rgb(255, 255, 255)\",\"btnGalleryBorderColor\":\"rgb(255, 255, 255)\",\"btnGalleryColor\":\"rgb(0, 0, 0)\",\"btnGalleryBoxShadow\":\"0 0.25rem 1.25rem 0 rgba(0, 0, 0, 0.07)\",\"btnGalleryHoverBgColor\":\"rgb(244, 244, 244)\",\"btnGalleryHoverBorderColor\":\"rgb(255, 255, 255)\",\"btnGalleryHoverFontWeight\":500,\"btnGalleryHoverBoxShadow\":\"0 0.25rem 1.25rem 0 rgba(0, 0, 0, 0.07)\",\"btnFilterFontSize\":\"0.813rem\",\"btnFilterFontWeight\":500,\"btnFilterLineHeight\":\"1rem\",\"btnFilterBgColor\":\"rgb(255, 255, 255)\",\"btnFilterColor\":\"rgb(28, 28, 28)\",\"btnFilterBorderColor\":\"rgb(238, 238, 238)\",\"btnFilterHoverBorderColor\":\"rgb(48, 48, 48)\",\"btnFilterHoverBgColor\":\"rgb(244, 244, 244)\",\"btnFilterHoverFontWeight\":500,\"btnFilterFocusBorderColor\":\"rgb(28, 28, 28)\",\"btnFilterFocusBgColor\":\"rgb(28, 28, 28)\",\"btnFilterFocusColor\":\"rgb(255, 255, 255)\",\"headerPrimaryLinkFontFamily\":\"var(--t-base-font-family)\",\"headerPrimaryLinkFontWeight\":500,\"headerPrimaryLinkFontSize\":\"0.875rem\",\"headerPrimaryLinkLineHeight\":\"1.125rem\",\"headerPrimaryLinkColor\":\"rgb(112, 112, 112)\",\"headerPrimaryLinkActiveFontWeight\":700,\"headerPrimaryLinkFontSizeMobile\":\"1rem\",\"headerPrimaryLinkColorMobile\":\"rgb(28, 28, 28)\",\"headerSecondaryLinkFontFamily\":\"var(--t-base-font-family)\",\"headerSecondaryLinkFontWeight\":700,\"headerSecondaryLinkFontSize\":\"0.75rem\",\"headerSecondaryLinkLineHeight\":\"1.375rem\",\"globalNavMenuFontFamily\":\"var(--t-base-font-family)\",\"globalNavMenuColor\":\"rgb(255, 255, 255)\",\"globalNavMenuFontSize\":\"1rem\",\"globalNavMenuFontWeight\":500,\"iconColor\":\"var(--t-brand-fg-color)\",\"iconColorAlt\":\"rgb(112, 112, 112)\",\"iconColorInverse\":\"rgb(255, 255, 255)\",\"iconColorDecorative\":\"var(--t-icon-color-decorative)\",\"logoBgColor\":\"var(--t-logo-bg-color)\",\"logoFgColor\":\"var(--t-logo-fg-color)\",\"logoSizeS\":\"var(--t-logo-size-s)\",\"logoSizeM\":\"var(--t-logo-size-m)\",\"logoSizeL\":\"var(--t-logo-size-l)\",\"accentColor\":\"var(--t-accent-color)\",\"horizontalVerticalRule\":\"var(--t-horizontal-vertical-rule)\",\"brandRibbon\":\"var(--t-brand-ribbon)\",\"formLabelFontSize\":\"0.75rem\",\"formLabelLineHeight\":\"1rem\",\"formLabelFontWeight\":700,\"formLabelFontColor\":\"var(--t-form-label-color)\",\"formErrorColor\":\"var(--t-form-error-color)\",\"formElementBackgroundColor\":\"var(--t-input-fields-bg-color)\",\"formElementFontColor\":\"var(--t-input-fields-fg-color)\",\"inputFontSize\":\"1.125rem\",\"inputLineHeight\":\"1rem\",\"inputFontWeight\":500,\"inputTextColor\":\"var(--t-brand-fg-color)\",\"inputPaddingBottom\":\"1rem\",\"inputBorderWidth\":\"2px\",\"inputBorderWidthFocus\":\"3px\",\"inputPlaceholderColor\":\"rgb(112, 112, 112)\",\"inputBorderColor\":\"rgb(196, 196, 196)\",\"inputBorderFocusColor\":\"var(--t-brand-fg-color)\",\"inputLabelFontColor\":\"rgb(112, 112, 112)\",\"inputLabelFontWeight\":500,\"inputLabelLineHeight\":\"0.75rem\",\"inputTextFontSize\":\"1rem\",\"inputTextFontSizeDesktop\":\"0.875rem\",\"inputTextLineHeight\":\"1.3125rem\",\"inputTextTextColor\":\"rgb(28, 28, 28)\",\"inputTextPlaceholderColor\":\"rgb(112, 112, 112)\",\"inputTextBorderColor\":\"rgb(196, 196, 196)\",\"inputTextBorderFocusColor\":\"var(--t-brand-fg-color)\",\"inputTextBorderRadius\":\"0.5rem\",\"inputTextTrailingElementBottom\":\"0.875rem\",\"inputTextTrailingElementRight\":\"1rem\",\"inputIconColor\":\"rgb(255, 141, 107)\",\"inputNoBorderLabelLineHeight\":\"0.75rem\",\"inputNoBorderLabelFontWeight\":500,\"inputNoBorderFontSize\":\"1.375rem\",\"inputNoBorderLineHeight\":\"1.625rem\",\"inputNoBorderPlaceholderColor\":\"rgb(112, 112, 112)\",\"inputNoBorderCondencedFontSize\":\"1.125rem\",\"inputNoBorderCondencedLineHeight\":\"1.25rem\",\"inputNoBorderCondencedBorderBottomColor\":\"rgb(112, 112, 112)\",\"checkboxLabelColor\":\"var(--t-brand-fg-color)\",\"checkboxBorderColor\":\"var(--t-input-fields-bg-color, #1c1c1c)\",\"checkboxCheckmark\":\"var(--t-input-fields-fg-color)\",\"checkboxCheckmarkDisabled\":\"rgb(196, 196, 196)\",\"checkboxBackground\":\"rgb(255, 255, 255)\",\"checkboxBackgroundChecked\":\"var(--t-input-fields-bg-color)\",\"checkboxDisabledColor\":\"rgb(196, 196, 196)\",\"checkboxDisabledBorder\":\"rgb(196, 196, 196)\",\"checkboxButtonColor\":\"rgb(28, 28, 28)\",\"checkboxButtonBackgroundHover\":\"rgb(238, 238, 238)\",\"checkboxSelectionBorder\":\"rgb(238, 238, 238)\",\"checkboxSelectionCheckedBorder\":\"rgb(28, 28, 28)\",\"checkboxSelectionBackgroundHover\":\"rgb(244, 244, 244)\",\"checkboxListBackgroundHover\":\"rgb(244, 244, 244)\",\"radioLabelColor\":\"var(--t-brand-fg-color)\",\"radioBorderColor\":\"var(--t-input-fields-bg-color)\",\"radioBorderDisabled\":\"rgb(196, 196, 196)\",\"radioDisabledColor\":\"rgb(196, 196, 196)\",\"radioUncheckedColor\":\"rgb(255, 255, 255)\",\"radioCheckedColor\":\"var(--t-input-fields-bg-color)\",\"radioCheckedDisabled\":\"rgb(196, 196, 196)\",\"brandImagesBorderRadius\":\"var(--t-images-border-radius)\",\"brandCardsBorderRadius\":\"var(--t-cards-border-radius)\",\"brandBgColor\":\"var(--t-brand-bg-color)\",\"brandBgColorRgba\":\"rgba(var(--t-brand-bg-color-rgb), var(--opacity))\",\"brandFgColor\":\"var(--t-brand-fg-color)\",\"brandBgTexture\":\"var(--t-brand-bg-texture, inherit)\",\"brandBgGradientDesktop\":\"var(--t-brand-bg-gradient-desktop)\",\"brandBgGradientMobile\":\"var(--t-brand-bg-gradient-mobile)\",\"dividerBorderColor\":\"rgb(196, 196, 196)\",\"modalBackshadowBgColor\":\"rgba(28, 28, 28, 0.56)\",\"modalContainerBorderRadius\":\"14px\",\"modalContainerBgColor\":\"rgb(255, 255, 255)\",\"modalHeaderBorderColor\":\"rgb(196, 196, 196)\",\"modalCloseButtonBgColor\":\"rgb(238, 238, 238)\",\"modalScrimBackground\":\"linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, #ffffff 100%)\",\"mapPinBgColor\":\"rgb(28, 28, 28)\",\"mapPinFgColor\":\"rgb(255, 255, 255)\",\"mapPinBoxShadowColor\":\"rgba(0, 0, 0, 0.25)\",\"mapPinActiveBgColor\":\"rgb(255, 255, 255)\",\"mapPinActiveFgColor\":\"rgb(28, 28, 28)\",\"mapPinHoverBgColor\":\"rgb(255, 255, 255)\",\"mapPinHoverFgColor\":\"rgb(28, 28, 28)\",\"mapPinBorderColor\":\"rgb(196, 196, 196)\",\"zoomControlBgColor\":\"rgb(238, 238, 238)\",\"zoomControlIconBgColor\":\"rgb(255, 255, 255)\",\"zoomControlBoxShadowColor\":\"rgba(0, 0, 0, 0.1)\",\"tabStdBorderBottomColor\":\"rgb(196, 196, 196)\",\"tabStdItemFocusBorderColor\":\"var(--t-interactive-accent-color)\",\"tabStdItemTitleLineHeight\":\"1.25rem\",\"tabStdItemTitleColor\":\"rgb(112, 112, 112)\",\"tabStdItemTitleFocusColor\":\"var(--t-brand-fg-color)\",\"tabStdItemDescLineHeight\":\"1.25rem\",\"tabStdItemDescColor\":\"rgb(112, 112, 112)\",\"switcherTabListBackground\":\"rgb(244, 244, 244)\",\"switcherTabListBorderRadius\":\"0.5rem\",\"switcherTabListLinkFontSize\":\"0.875rem\",\"switcherTabListLinkLineHeight\":\"1.125rem\",\"switcherTabListLinkFontWeight\":500,\"switcherTabListItemHeadingColor\":\"rgb(112, 112, 112)\",\"switcherTabListItemFocusBackground\":\"rgb(255, 255, 255)\",\"switcherTabListItemFocusBoxShadowColor\":\"rgba(0, 0, 0, 0.16)\",\"switcherTabListItemFocusBorderRadius\":\"0.25rem\",\"iconTabListBorderColor\":\"rgb(196, 196, 196)\",\"iconTabListItemColor\":\"rgb(112, 112, 112)\",\"iconTabListItemIconColor\":\"rgb(112, 112, 112)\",\"iconTabListItemIconHeight\":\"1.5rem\",\"iconTabListItemIconWidth\":\"1.5rem\",\"iconTabListItemHeadingFontSize\":\"0.8125rem\",\"iconTabListItemHeadingLineHeight\":\"0.8125rem\",\"iconTabListItemHeadingColor\":\"rgb(112, 112, 112)\",\"iconTabListActiveItemBorderColor\":\"rgb(255, 141, 107)\",\"iconTabListActiveItemColor\":\"rgb(28, 28, 28)\",\"iconTabListActiveItemIconColor\":\"rgb(255, 141, 107)\",\"iconTabListTitleMobileTopPadding\":\"1.5rem\",\"dropdownContainerBorderColor\":\"rgb(238, 238, 238)\",\"dropdownContainerBgColor\":\"rgb(255, 255, 255)\",\"dropdownContainerBoxShadow\":\"rgba(0, 0, 0, 0.07)\",\"dropdownHeadingColor\":\"rgb(112, 112, 112)\",\"dropdownListItemBorderColor\":\"rgb(238, 238, 238)\",\"dropdownActionBarBgColor\":\"rgb(244, 244, 244)\",\"dropdownLoadingIndicatorBgColor\":\"rgb(238, 238, 238)\",\"dropdownLoadingIndicatorFgColor\":\"rgb(28, 28, 28)\",\"dropdownActionBarItemsColor\":\"rgb(112, 112, 112)\",\"dropdownScrollbarColor\":\"rgb(238, 238, 238)\",\"spinnerColor\":\"rgb(112, 112, 112)\",\"spinnerThicknessS\":\"0.175rem\",\"spinnerThicknessM\":\"0.225rem\",\"spinnerRadiusS\":\"1rem\",\"spinnerRadiusM\":\"1.5rem\",\"badgeBgColor\":\"rgb(28, 28, 28)\",\"badgeFgColor\":\"rgb(255, 255, 255)\",\"badgeMerchBgColor\":\"rgb(255, 185, 149)\",\"badgeMerchFgColor\":\"rgb(28, 28, 28)\",\"badgeNeutralBackgroundColor\":\"rgb(244, 244, 244)\",\"badgeNeutralBorderRadius\":\"1.25rem\",\"badgeNeutralFontSize\":\"0.75rem\",\"badgeNeutralFontWeight\":500,\"progressTrackerItemActiveBgColor\":\"rgb(28, 28, 28)\",\"progressTrackerItemActiveFgColor\":\"rgb(255, 255, 255)\",\"progressTrackerItemCompletedBgColor\":\"rgb(28, 28, 28)\",\"progressTrackerItemCompletedFgColor\":\"rgb(255, 255, 255)\",\"progressTrackerItemBgColor\":\"rgb(196, 196, 196)\",\"progressTrackerItemFgColor\":\"rgb(255, 255, 255)\",\"progressTrackerItemHorizontalRuleActiveColor\":\"rgb(28, 28, 28)\",\"progressTrackerItemHorizontalRuleColor\":\"rgb(196, 196, 196)\",\"progressTrackerLabelColor\":\"rgb(112, 112, 112)\",\"progressTrackerLabelActiveColor\":\"rgb(28, 28, 28)\",\"progressTrackerLabelCompletedColor\":\"rgb(28, 28, 28)\",\"tooltipBorderColor\":\"var(--t-brand-fg-color)\",\"tooltipContentBgColor\":\"var(--t-brand-fg-color)\",\"tooltipContentFgColor\":\"var(--t-button-secondary-hover-fg-color)\",\"tooltipHoverBgColor\":\"rgb(238, 238, 238)\",\"popoverBorderColor\":\"var(--t-brand-bg-color)\",\"popoverBoxShadow\":\"0rem 0.438rem 1.25rem 0rem rgba(0, 0, 0, 0.25)\",\"carouselControlBgColor\":\"rgba(0, 0, 0, 0)\",\"carouselControlBgColorScrimPrimary\":\"rgba(0, 0, 0, 0.54)\",\"carouselControlBgColorScrimSecondary\":\"rgba(255, 255, 255, 0.54)\",\"carouselControlActive\":\"rgb(0, 0, 0)\",\"carouselControlActiveScrimPrimary\":\"rgb(255, 255, 255)\",\"carouselControlDisabledScrimPrimary\":\"rgb(255, 255, 255)\",\"carouselControlDisabled\":\"rgb(112, 112, 112)\",\"carouselControlActiveScrimSecondary\":\"rgb(0, 0, 0)\",\"carouselControlDisabledScrimSecondary\":\"rgb(0, 0, 0)\",\"carouselControlArrowHover\":\"rgb(238, 238, 238)\",\"carouselControlArrowScrimPrimaryHover\":\"rgba(0, 0, 0, 0.2)\",\"carouselControlArrowScrimSecondaryHover\":\"rgba(255, 255, 255, 0.54)\",\"carouselControlArrowBg\":\"rgba(0, 0, 0, 0)\",\"carouselControlArrowMidBg\":\"rgb(255, 255, 255)\",\"carouselControlArrowMidBoxShadow\":\"toRem(0) toRem(4) toRem(20) toRem(0) rgba(255, 255, 255, 0.14)\",\"carouselControlType1BgColor\":\"var(--t-brand-fg-color, transparent)\",\"carouselControlType1Active\":\"var(--t-brand-fg-color, #000000)\",\"carouselControlType1Disabled\":\"var(--t-brand-fg-color, #707070)\",\"carouselControlType1ArrowHover\":\"var(--t-brand-fg-color, #eeeeee)\",\"carouselControlType1ArrowBg\":\"var(--t-brand-fg-color, transparent)\",\"carouselControlType1ArrowColor\":\"var(--t-button-primary-fg-color)\",\"carouselControlType1ArrowMidBg\":\"var(--t-brand-fg-color, #ffffff)\",\"carouselControlType2BgColor\":\"rgba(0, 0, 0, 0)\",\"carouselControlType2Active\":\"var(--t-brand-fg-color, #000000)\",\"carouselControlType2Disabled\":\"var(--t-brand-fg-color, #707070)\",\"carouselControlType2ArrowHover\":\"var(--t-brand-fg-color, #eeeeee)\",\"carouselControlType2ArrowBg\":\"rgba(0, 0, 0, 0)\",\"carouselControlType2ArrowColor\":\"var(--t-brand-fg-color, #000000)\",\"carouselControlType2ArrowMidBg\":\"var(--t-brand-fg-color, #ffffff)\",\"ratingsStarColor\":\"var(--t-brand-fg-color)\",\"ratingsTextColor\":\"var(--t-form-label-color)\",\"stepperDescFontSize\":\"0.75rem\",\"stepperDescLineHeight\":\"1.25rem\",\"stepperDescColor\":\"rgb(112, 112, 112)\",\"stepperButtonBorderRadius\":\"50%\",\"stepperButtonHeightWidth\":\"2rem\",\"stepperButtonBackground\":\"rgba(0, 0, 0, 0)\",\"stepperButtonBorderColor\":\"rgb(196, 196, 196)\",\"stepperButtonFontSize\":\"1.375rem\",\"stepperButtonLineHeight\":\"1.75rem\",\"stepperButtonIconDisabledColor\":\"rgb(196, 196, 196)\",\"stepperButtonIconColor\":\"rgb(28, 28, 28)\",\"iconTextBlockHoverBorderRadius\":\"0.5rem\",\"iconTextBlockFontSize\":\"0.875rem\",\"iconTextBlockLineHeight\":\"1.125rem\",\"iconTextBlockFontWeight\":500,\"iconTextBlockIconBackground\":\"rgb(238, 238, 238)\",\"iconTextBlockIconBorderRadius\":\"0.25rem\",\"iconTextBlockSubtextFontSize\":\"0.875rem\",\"iconTextBlockSubtextColor\":\"rgb(112, 112, 112)\",\"customSelectBlockLabelFontWeight\":500,\"customSelectBlockArrowFontSize\":\"0.75rem\"};","module.exports = {\"spacer\":\"1rem\",\"spacers\":{\"0\":0,\"1\":\"0.25rem\",\"2\":\"0.5rem\",\"3\":\"1rem\",\"4\":\"1.5rem\",\"5\":\"2rem\"},\"durationQuick\":\"100ms\",\"durationStandard\":\"300ms\",\"durationIntermediate\":\"600ms\",\"durationExtended\":\"900ms\",\"easeBoth01\":\"cubic-bezier(0.25, 0.1, 0.25, 1)\",\"easeInSlow\":\"cubic-bezier(0.5, 0, 1, 1)\",\"easeOutSlow\":\"cubic-bezier(0, 0, 0.4, 1)\",\"easeInOut\":\"cubic-bezier(0, 0, 0.67, 1)\",\"borderWidth01\":\"0.031rem\",\"borderWidth02\":\"0.063rem\",\"borderWidth03\":\"0.094rem\",\"borderWidth04\":\"0.125rem\",\"borderWidth05\":\"0.25rem\",\"borderRadius01\":\"0.125rem\",\"borderRadius02\":\"0.25rem\",\"borderRadius03\":\"0.375rem\",\"borderRadius04\":\"1.625rem\",\"borderRadius05\":\"50%\",\"borderRadiusDefault\":\"0.875rem\",\"borderRadiusNone\":0,\"borderInset02\":\"0.5rem\",\"borderOffset01\":\"2rem\",\"borderStyleDefault\":\"solid\",\"borderStyle02\":\"dotted\",\"base10\":\"rgb(28, 28, 28)\",\"base15\":\"28 28 28\",\"base20\":\"rgb(255, 255, 255)\",\"base25\":\"255 255 255\",\"accent10\":\"rgb(255, 141, 107)\",\"neutral00\":\"rgb(0, 0, 0)\",\"neutral10\":\"rgb(244, 244, 244)\",\"neutral20\":\"rgb(238, 238, 238)\",\"neutral30\":\"rgb(196, 196, 196)\",\"neutral40\":\"rgb(112, 112, 112)\",\"bvyBase10\":\"rgb(35, 28, 25)\",\"bvyBase20\":\"rgb(249, 246, 244)\",\"bvyBase30\":\"rgb(255, 141, 107)\",\"bvyAccent10\":\"rgb(255, 185, 149)\",\"bvyAccent20\":\"rgb(220, 111, 80)\",\"bvyAccent30\":\"rgb(255, 218, 160)\",\"bvyAccent40\":\"rgb(202, 215, 235)\",\"merch10\":\"rgb(255, 150, 98)\",\"merch20\":\"rgb(71, 125, 0)\",\"merch30\":\"rgb(28, 28, 28)\",\"merch40\":\"rgb(251, 192, 45)\",\"merch50\":\"rgb(255, 255, 255)\",\"merch60\":\"rgb(255, 185, 149)\",\"merch70\":\"rgb(240, 251, 227)\",\"memberSolid\":\"rgb(255, 150, 98)\",\"memberSolidAlt\":\"rgb(248, 248, 248)\",\"silverSolid\":\"rgb(112, 116, 136)\",\"goldSolid\":\"rgb(140, 111, 73)\",\"platinumSolid\":\"rgb(94, 95, 97)\",\"titaniumSolid\":\"rgb(85, 71, 73)\",\"ambassadorSolid\":\"rgb(35, 28, 25)\",\"alert10\":\"rgb(255, 255, 255)\",\"alert20\":\"rgb(196, 196, 196)\",\"alert30\":\"rgb(71, 125, 0)\",\"alert40\":\"rgb(185, 70, 0)\",\"alert50\":\"rgb(208, 2, 27)\",\"fontFamilySwiss\":\"Swiss-721\",\"fontSwiss\":\"Swiss-721\",\"fontSwissCondensed\":\"SwissCondensed\",\"fontMiIcons\":\"MiIcons\",\"fontBrandLogoIcons\":\"BrandLogoIcons\",\"fontPortfolioLogoIcons\":\"PortfolioLogoIcons\",\"fontFamilyVideoicons\":\"VideoIcons\",\"fontFamilyPl\":\"UniversNextW1G,Helvetica,Arial,sans-serif\",\"fontFamilyAr\":\"JannaLT\",\"fontFamilyKo\":\"NotoSansKR\",\"fontFamilyJa\":\"NotoSansJP\",\"fontFamilyTc\":\"NotoSansTC\",\"fontFamilySc\":\"NotoSansSC\",\"fontFamilyRu\":\"UniversLTCYR\",\"fontFamilyHe\":\"Swiss721Hebrew\",\"fontXs\":\"0.75rem\",\"fontS\":\"0.875rem\",\"fontM\":\"1rem\",\"fontL\":\"1.125rem\",\"fontXl\":\"1.25rem\",\"fontXxl\":\"1.375rem\",\"fontXxxl\":\"1.5rem\",\"font1x\":\"2.125rem\",\"font2x\":\"2.25rem\",\"font3x\":\"3.75rem\",\"font4x\":\"5.625rem\",\"lineHeightXs\":\"1rem\",\"lineHeightS\":\"1.125rem\",\"lineHeightM\":\"1.25rem\",\"lineHeightL\":\"1.375rem\",\"lineHeightXl\":\"1.5rem\",\"lineHeightXxl\":\"1.625rem\",\"lineHeightXxxl\":\"2.375rem\",\"lineHeight1x\":\"2.75rem\",\"lineHeight2x\":\"4rem\",\"fontWeightRegular\":500,\"fontWeightMedium\":700,\"fontWeightBold\":900,\"fontStyleItalic\":\"italic\",\"gradient00\":\"linear-gradient(180deg, rgba(97, 96, 96, 0) 0%, rgba(0, 0, 0, 0.54) 25.52%, rgba(0, 0, 0, 0.54) 100%)\",\"gradient01\":\"linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.54) 23.21%, rgba(0, 0, 0, 0.62) 100%)\",\"gradient02\":\"linear-gradient(270deg, rgba(0, 0, 0, 0) 30%, rgba(0, 0, 0, 0.54) 54.29%, rgba(0, 0, 0, 0.62) 61%)\",\"gradient03\":\"linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.54) 33.67%, rgba(0, 0, 0, 0.62) 100%)\",\"gradient04\":\"linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.54) 47.23%, rgba(0, 0, 0, 0.62) 100%)\",\"gradient05\":\"linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.54) 58.94%, rgba(0, 0, 0, 0.62) 100%)\",\"gradient06\":\"linear-gradient(0deg, rgba(0, 0, 0, 0.62) 5%, rgba(0, 0, 0, 0.54) 15%, rgba(0, 0, 0, 0) 45%)\",\"gradient07\":\"linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.54) 34.78%, rgba(0, 0, 0, 0.62) 100%)\",\"gradient08\":\"linear-gradient(270deg, rgba(0, 0, 0, 0) 26.95%, rgba(0, 0, 0, 0.54) 67.69%, rgba(0, 0, 0, 0.62) 100%)\",\"gradient09\":\"linear-gradient(270deg, rgba(0, 0, 0, 0) 37.22%, rgba(0, 0, 0, 0.54) 68.51%, rgba(0, 0, 0, 0.62) 100%)\",\"gradient11\":\"linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.54) 23.21%, rgba(255, 255, 255, 0.62) 100%)\",\"gradient12\":\"linear-gradient(270deg, rgba(255, 255, 255, 0) 40%, rgba(255, 255, 255, 0.5) 54.29%, rgba(255, 255, 255, 0.7) 61%)\",\"gradient13\":\"linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.46) 33.67%, rgba(255, 255, 255, 0.54) 100%)\",\"gradient14\":\"linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.54) 47.23%, rgba(255, 255, 255, 0.54) 100%)\",\"gradient15\":\"linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.46) 49.96%, rgba(255, 255, 255, 0.54) 100%)\",\"gradient16\":\"linear-gradient(0deg, rgba(28, 28, 28, 0) 0, rgba(28, 28, 28, 0.33) 60.47%, rgba(28, 28, 28, 0.42) 100%)\",\"gradient17\":\"linear-gradient(180deg, hsla(0, 0.1%, 100%, 0) 0%, hsla(0, 0.1%, 100%, 0.46) 34.78%, hsla(0, 0.1%, 100%, 0.54) 100%)\",\"gradient18\":\"linear-gradient(270deg, hsla(0, 0.1%, 100%, 0) 26.95%, hsla(0, 0.1%, 100%, 0.46) 66.99%, hsla(0, 0.1%, 100%, 0.54) 100%)\",\"gradient19\":\"linear-gradient(270deg, hsla(0, 0.1%, 100%, 0) 37.22%, hsla(0, 0.1%, 100%, 0.46) 68.51%, hsla(0, 0.1%, 100%, 0.54))\",\"memberGradient\":\"linear-gradient(135.49deg, #ffb995 0%, #ff9662 100%)\",\"silverGradient\":\"linear-gradient(135deg, #707488 0%, #575b6e 100%)\",\"goldGradient\":\"linear-gradient(135deg, #8c6f49 0%, #6f4818 100%)\",\"platinumGradient\":\"linear-gradient(135deg, #5e5f61 0%, #43454a 100%)\",\"titaniumGradient\":\"linear-gradient(135deg, #554749 0%, #342829 100%)\",\"ambassadorGradient\":\"linear-gradient(135deg, #40332d 0%, #231c19 100%)\",\"baseGradient00\":\"linear-gradient(0deg, rgba(255, 255, 255, 0.54), rgba(255, 255, 255, 0.46), rgba(255, 255, 255, 0))\",\"baseGradient01\":\"linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.46) 34.78%, rgba(255, 255, 255, 0.54) 100%)\",\"baseGradient02\":\"linear-gradient(270deg, rgba(255, 255, 255, 0) 26.95%, rgba(255, 255, 255, 0.46) 66.99%, rgba(255, 255, 255, 0.54) 100%)\",\"baseGradient03\":\"linear-gradient(270deg, rgba(255, 255, 255, 0) 37.22%, rgba(255, 255, 255, 0.46) 68.51%, rgba(255, 255, 255, 0.54) 100%)\",\"baseGradient08\":\"linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.54) 34%, rgba(255, 255, 255, 0.54) 100%)\",\"baseGradient09\":\"linear-gradient(90deg, rgba(255, 255, 255, 0.54) 0%, rgba(255, 255, 255, 0.46) 79%, rgba(255, 255, 255, 0) 96%)\",\"baseGradient04\":\"linear-gradient(0deg, rgba(0, 0, 0, 0.62), rgba(0, 0, 0, 0.54), rgba(0, 0, 0, 0))\",\"baseGradient05\":\"linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.54) 34.78%, rgba(0, 0, 0, 0.62) 100%)\",\"baseGradient06\":\"linear-gradient(270deg, rgba(0, 0, 0, 0) 26.95%, rgba(0, 0, 0, 0.54) 67.69%, rgba(0, 0, 0, 0.62) 100%)\",\"baseGradient07\":\"linear-gradient(270deg, rgba(0, 0, 0, 0) 37.22%, rgba(0, 0, 0, 0.54) 68.51%, rgba(0, 0, 0, 0.62) 100%)\",\"baseGradient10\":\"linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.54) 34%, rgba(0, 0, 0, 0.62) 100%)\",\"baseGradient11\":\"linear-gradient(90deg, rgba(0, 0, 0, 0.62) 0%, rgba(0, 0, 0, 0.54) 76%, rgba(0, 0, 0, 0) 100%)\",\"iconAirplane\":\"\",\"iconFitnessCenter\":\"\",\"iconLockOpen\":\"\",\"iconLock\":\"\",\"iconLongArrowBack\":\"\",\"iconLongArrowForward\":\"\",\"iconSpa\":\"\",\"iconGlobe\":\"\",\"iconDot\":\"\",\"iconMarriottInternational\":\"î Œ\",\"iconLocation\":\"\",\"iconClock\":\"î¤\",\"iconMore\":\"\",\"iconPhotoGallery\":\"\",\"iconShareIos\":\"\",\"iconVisabilityOff\":\"\",\"iconHourGuarantee\":\"\",\"iconAllSuites\":\"\",\"iconCashAndPoints\":\"\",\"iconEliteStatus\":\"\",\"iconFreeNightCertificates\":\"î¤\",\"iconGiftPoints1x\":\"\",\"iconLoungeAccess\":\"î¤\",\"iconMemberRates1x\":\"î¤\",\"iconMobileCheckIn\":\"\",\"iconMorePointsOnStays\":\"\",\"iconPriorityLateCheckout\":\"\",\"iconSuiteNightAwards\":\"\",\"iconYour24\":\"\",\"iconKeylessEntry\":\"\",\"iconAddToCalendar\":\"\",\"iconAddToWallet\":\"\",\"iconAdd\":\"\",\"iconAlert\":\"\",\"iconBookDirectShield\":\"\",\"iconBuyPoints\":\"\",\"iconApplePay\":\"î¤\",\"iconArrowDown\":\"\",\"iconDonatePoints\":\"\",\"iconEliteNightCredit\":\"î¤ \",\"iconArrowLeft\":\"\",\"iconArrowRight\":\"\",\"iconExtraFreeNights\":\"\",\"iconArrowRightCropped\":\"\",\"iconArrowUp\":\"\",\"iconAvatar\":\"\",\"iconBackArrow\":\"\",\"iconLifetime\":\"\",\"iconBackArrowCropped\":\"\",\"iconBizChat\":\"\",\"iconCancel\":\"\",\"iconCheck\":\"\",\"iconClear\":\"î¤\",\"iconCollapse\":\"\",\"iconDelete\":\"\",\"iconDownArrow\":\"\",\"iconDownload\":\"\",\"iconDropdownDown\":\"\",\"iconStatusAmbassadorElite\":\"\",\"iconStatusCobalt\":\"\",\"iconStatusGoldElite\":\"\",\"iconStatusMemberElite\":\"\",\"iconStatusPlatinumElite\":\"\",\"iconStatusSilverElite\":\"\",\"iconStatusTitaniumElite\":\"\",\"iconDropdownUp\":\"\",\"iconEditDates\":\"\",\"iconUltimateReservationGuarantee\":\"\",\"iconVip\":\"\",\"iconEdit\":\"\",\"iconFeedbackHappy\":\"\",\"iconFeedbackSad\":\"\",\"iconFilter\":\"î¥\",\"iconForwardArrow\":\"\",\"iconForward\":\"\",\"iconGear\":\"\",\"iconGridView\":\"\",\"iconHeartFill\":\"\",\"iconHeartOutline\":\"\",\"iconHelp\":\"\",\"iconIncrementMinus\":\"\",\"iconInformation\":\"\",\"iconKeyStation\":\"\",\"iconListViewAlt\":\"\",\"iconListView\":\"î¥\",\"iconMapZoom\":\"\",\"iconMenu\":\"î¥\",\"iconMerge\":\"î¥\",\"iconMinus\":\"\",\"iconNavAccountActive\":\"\",\"iconNavAccountAltActive\":\"\",\"iconNavAccountAlt\":\"\",\"iconNavAccount\":\"\",\"iconNavBookActive\":\"\",\"iconNavBook\":\"\",\"iconNavHomeActive\":\"\",\"iconNavHome\":\"\",\"iconNavTripsActive\":\"\",\"iconNavTrips\":\"\",\"iconOcrScanPayment\":\"\",\"iconPhone\":\"î¥\",\"iconPlus\":\"\",\"iconPrint\":\"\",\"iconSearchListSort\":\"î¥ \",\"iconSearch\":\"\",\"iconShare\":\"\",\"iconSignIn\":\"\",\"iconSpinner\":\"\",\"iconStar\":\"\",\"iconUpArrow\":\"\",\"iconVisibility\":\"\",\"iconWebsite\":\"\",\"iconFacebook\":\"\",\"iconFoursquare\":\"\",\"iconGoogle\":\"\",\"iconInstagram\":\"\",\"iconLinkedin\":\"î¥\",\"iconMessenger\":\"\",\"iconPinterest\":\"\",\"iconTwitter\":\"\",\"iconUber\":\"\",\"iconVk\":\"\",\"iconWeibo\":\"\",\"iconYoutube\":\"\",\"iconAmbassadorLeft\":\"\",\"iconAmenities\":\"\",\"iconArtGallery\":\"\",\"iconOnsiteBar\":\"\",\"iconBathMat\":\"\",\"iconBathTowel\":\"\",\"iconBed\":\"\",\"iconBodyLotion\":\"\",\"iconBreakfast\":\"\",\"iconBusinessCenter\":\"\",\"iconCapacityChart\":\"\",\"iconCarRentalDeck\":\"\",\"iconCart\":\"î¦\",\"iconCasino\":\"\",\"iconChat\":\"\",\"iconCheckOut\":\"\",\"iconCigarBar\":\"\",\"iconCity\":\"\",\"iconConciergeLounge\":\"\",\"iconConcierge\":\"\",\"iconDentalKit\":\"\",\"iconDeviceCast\":\"\",\"iconDining\":\"\",\"iconDirections\":\"\",\"iconDoNotDisturb\":\"î¦\",\"iconDryCleaning\":\"\",\"iconEvChargingStation\":\"î¦\",\"iconExtraTowels\":\"î¦\",\"iconFeatherPillow\":\"\",\"iconFreeBeachAccess\":\"\",\"iconGolf\":\"\",\"iconHandTowels\":\"\",\"iconHangers\":\"\",\"iconHighFloor\":\"\",\"iconIconicLandmark\":\"\",\"iconJoinNow\":\"\",\"iconKidsActivities\":\"\",\"iconKitchenette\":\"\",\"iconLateCheckOut\":\"\",\"iconLaundryServices\":\"\",\"iconLowFloor\":\"î¦\",\"iconLuggage\":\"\",\"iconMaidService\":\"\",\"iconMakeAGreenChoice\":\"î¦ \",\"iconMap\":\"\",\"iconMeetingSpace\":\"\",\"iconMovieTheater\":\"\",\"iconNearElevator\":\"\",\"iconNearby\":\"\",\"iconOptOut\":\"\",\"iconOutdoorGrill\":\"\",\"iconOverview\":\"\",\"iconParkingPackage\":\"\",\"iconPlugInPanel\":\"\",\"iconPool\":\"\",\"iconPrivateGarden\":\"\",\"iconPromotionAchieved\":\"î¦\",\"iconRequests\":\"\",\"iconRestaurantOnSite\":\"\",\"iconRollawayBedOrCot\":\"\",\"iconRoomReadyAlerts\":\"\",\"iconShampoo\":\"\",\"iconShavingKit\":\"\",\"iconSheetSet\":\"\",\"iconShield\":\"\",\"iconShoeShine\":\"\",\"iconShowerCap\":\"\",\"iconAirportShuttle\":\"\",\"iconSlippers\":\"\",\"iconSmartTv\":\"\",\"iconSoap\":\"\",\"iconTag\":\"\",\"iconTennis\":\"\",\"iconTowelSet\":\"\",\"iconTransportation\":\"\",\"iconUpgradeRequestedLeft\":\"\",\"iconUpgradeRequested\":\"î§\",\"iconValet\":\"\",\"iconVanityKit\":\"\",\"iconWakeUpCall\":\"\",\"iconWashcloth\":\"\",\"iconWifi\":\"\",\"iconMail\":\"\",\"iconBlanket\":\"î§\",\"iconComb\":\"\",\"iconConditioner\":\"î§\",\"iconFeatherFree\":\"î§\",\"iconFoamPillow\":\"\",\"iconNights\":\"\",\"iconGuests\":\"\",\"iconFiggy\":\"\",\"iconSmallRedBook\":\"\",\"iconWechat\":\"\",\"iconDiningChopsticks\":\"î©œ\",\"iconAppleWallet\":\"\",\"iconDiningFilter\":\"\",\"iconDiningFingerprint\":\"\",\"iconAccessibility\":\"\",\"iconActivity\":\"î§\",\"iconAlarm\":\"\",\"iconAmbassador\":\"\",\"iconAsterisk\":\"î§ \",\"iconBeach\":\"\",\"iconBikeShare\":\"\",\"iconChatBot\":\"\",\"iconCloudFog\":\"\",\"iconCloudHail\":\"\",\"iconCloudWind\":\"\",\"iconCloudy\":\"\",\"iconCurrency\":\"\",\"iconCustomerSupport\":\"\",\"iconEarlyCheckIn\":\"\",\"iconEvents\":\"\",\"iconExternalArrow\":\"î§\",\"iconFamilyTravel\":\"\",\"iconGift\":\"\",\"iconGuestRoomEntertainment\":\"\",\"iconHail\":\"\",\"iconLightShowers\":\"\",\"iconMiniBar\":\"\",\"iconMoon\":\"\",\"iconNextLevel1Day\":\"\",\"iconNextLevel2Day\":\"\",\"iconNextLevel3Day\":\"\",\"iconNextLevel4Day\":\"\",\"iconNextLevel5Day\":\"\",\"iconNextLevel6Day\":\"\",\"iconNextLevel7Day\":\"\",\"iconNextLevelGenera\":\"î¨\",\"iconNightCloud\":\"\",\"iconNoParking\":\"\",\"iconParking\":\"\",\"iconPartlyCloudy\":\"\",\"iconPartlySunny\":\"\",\"iconPetFriendly\":\"\",\"iconPowerSupply\":\"\",\"iconRain\":\"\",\"iconRainNight\":\"\",\"iconRenew\":\"\",\"iconRitzKids\":\"\",\"iconRobe\":\"î¨\",\"iconRollawayCrib\":\"\",\"iconRoomReady\":\"î¨\",\"iconRoomService\":\"î¨\",\"iconScatteredShowers\":\"\",\"iconSkiSnowboard\":\"\",\"iconSmartphone\":\"\",\"iconSnow\":\"\",\"iconSnowHeavy\":\"\",\"iconSnowMedium\":\"\",\"iconSnowNight\":\"\",\"iconStayDates\":\"\",\"iconStepperMinus\":\"\",\"iconStepperPlus\":\"\",\"iconStormDay\":\"î¨\",\"iconStormLightning\":\"\",\"iconStormNight\":\"\",\"iconStormRain\":\"î¨ \",\"iconSuccess\":\"\",\"iconSunny\":\"\",\"iconTornado\":\"\",\"iconTransferPoints\":\"\",\"iconUniversalAccess\":\"\",\"iconVisibilityOff\":\"\",\"iconWarning\":\"\",\"iconMarriottCertifiedWeddingPlanner\":\"\",\"iconWindy\":\"\",\"iconWineTasting\":\"\",\"iconGooglePay\":\"\",\"iconMemberStatus\":\"î¨\",\"iconSuccessFill\":\"\",\"iconBodyWash\":\"\",\"iconCalendar\":\"\",\"iconCheckIn\":\"\",\"iconTravelGuidance\":\"\",\"iconStarFill\":\"\",\"iconStarHalfFill\":\"\",\"iconPathConnector\":\"\",\"iconLifetimeFill\":\"\",\"iconCancelAlt\":\"\",\"iconLineApp\":\"\",\"iconExpandWhite\":\"\",\"iconQuoteMark\":\"\",\"iconSocialKakao\":\"\",\"iconSocialNaver\":\"\",\"iconCovidMask\":\"\",\"iconCold\":\"\",\"iconHot\":\"\",\"iconJourney\":\"\",\"iconHighSpeedInternetAtAPrice\":\"î©€\",\"iconBell\":\"î©\",\"iconWhirlpoolInRoom\":\"î©‚\",\"iconWhirlpoolOnSite\":\"\",\"iconRenren\":\"î©„\",\"iconTiktok\":\"î©…\",\"iconXiaohongshu\":\"\",\"iconDoubleChevronLeft\":\"\",\"iconDoubleChevronRight\":\"\",\"icon3dBox\":\"î©Š\",\"icon360Image\":\"î©‹\",\"iconRfpConference\":\"î©Œ\",\"iconRfpCrescentRounds\":\"î©\",\"iconRfpExhibits\":\"î©Ž\",\"iconRfpHollowSquare\":\"î©\",\"iconRfpQuestionMark\":\"î©‘\",\"iconRfpMixed\":\"î©’\",\"iconRfpPods\":\"î©“\",\"iconRfpReception\":\"î©”\",\"iconRfpRounds\":\"î©•\",\"iconRfpSchoolRoom\":\"î©–\",\"iconRfpTheatre\":\"î©—\",\"iconRfpUShape\":\"\",\"iconAllInclusive\":\"î©™\",\"iconAllInclusiveLeft\":\"î©š\",\"iconPlay\":\"î©›\",\"iconDeliveryBag\":\"î©\",\"iconBellFilled\":\"î©ž\",\"iconPause\":\"î© \",\"iconBetmgm\":\"î©¡\",\"iconCharityDonation\":\"î©¢\",\"iconCruise\":\"î©£\",\"iconEliteLoungeGuarantee\":\"\",\"iconEliteReservationGuarantee\":\"î©¥\",\"iconEliteRoomUpgrade\":\"\",\"iconFreeNightAward\":\"\",\"iconGiftShopDiscount\":\"\",\"iconInstantRedemption\":\"î©©\",\"iconNightlyUpgradeAward\":\"\",\"iconPointsWallet\":\"î©«\",\"iconPointsavers\":\"\",\"iconPromotion\":\"î©\",\"iconRoomTypeGuarantee\":\"î©®\",\"iconShoppingBag\":\"î©°\",\"iconToGoCup\":\"\",\"iconWelcomeGiftGuarantee\":\"\",\"iconIdentificationCard\":\"\",\"iconPortfolioMrBlkNotag\":\"ï \",\"iconPortfolioRitzCarlton\":\"盧\",\"iconPortfolioEdition\":\"奈\",\"iconPortfolioJw\":\"ï¤\",\"iconPortfolioAutographCollection\":\"金\",\"iconPortfolioRenaissance\":\"洛\",\"iconPortfolioDeltaHotels\":\"滑\",\"iconPortfolioMarriott\":\"邏\",\"iconPortfolioMarriottExecutiveApartments\":\"裸\",\"iconPortfolioVacationClub\":\"駱\",\"iconPortfolioGaylord\":\"句\",\"iconPortfolioAcHotels\":\"龜\",\"iconPortfolioCourtyard\":\"賈\",\"iconPortfolioResidenceInn\":\"豈\",\"iconPortfolioSpringhillSuites\":\"\",\"iconPortfolioFairfieldInn\":\"串\",\"iconPortfolioTowneplaceSuites\":\"車\",\"iconPortfolioProteaHotels\":\"龜\",\"iconPortfolioMoxy\":\"樂\",\"iconPortfolioSpg\":\"ï ž\",\"iconPortfolioStRegis\":\"落\",\"iconPortfolioLuxuryCollection\":\"螺\",\"iconPortfolioWHotels\":\"亂\",\"iconPortfolioWestin\":\"卵\",\"iconPortfolioSheraton\":\"珞\",\"iconPortfolioLeMeridien\":\"ï¤\",\"iconPortfolioTributePortfolio\":\"酪\",\"iconPortfolioDesignHotels\":\"虜\",\"iconPortfolioAloft\":\"契\",\"iconPortfolioFourPoints\":\"癩\",\"iconPortfolioElement\":\"ï¤\",\"iconPortfolioRcr\":\"ï €\",\"iconPortfolioBulgari\":\"ï¤\",\"iconPortfolioHotelsAndVillas\":\"蘭\",\"iconPortfolioMarriottInternational\":\"爛\",\"iconBrandConferenceCenter\":\"\",\"iconPortfolioHvmi\":\"ï¤ \",\"iconPortfolioMvc\":\"嵐\",\"iconPortfolioXe\":\"壟\",\"iconPortfolioBa\":\"藍\",\"iconPortfolioMg\":\"襤\",\"iconPortfolioMoments\":\"拉\",\"iconPortfolioToursActivities\":\"臘\",\"iconPortfolioEvents\":\"蠟\",\"iconPortfolioBoutiques\":\"廊\",\"iconPortfolioWestinVacationClub\":\"朗\",\"iconPortfolioSheratonVacationClub\":\"擄\",\"iconPortfolioXf\":\"牢\",\"iconPortfolioRs\":\"聾\",\"iconPortfolioBg\":\"蘆\",\"iconPortfolioSn\":\"籠\",\"iconBrandCorp\":\"î Ÿ\",\"iconBrandMr\":\"î \",\"iconBrandRz\":\"\",\"iconBrandEb\":\"\",\"iconBrandJw\":\"\",\"iconBrandAk\":\"\",\"iconBrandBr\":\"\",\"iconBrandDe\":\"\",\"iconBrandMc\":\"î¤\",\"iconBrandEr\":\"\",\"iconBrandMv\":\"\",\"iconBrandGe\":\"\",\"iconBrandAr\":\"\",\"iconBrandCy\":\"\",\"iconBrandRi\":\"\",\"iconBrandSh\":\"\",\"iconBrandFi\":\"\",\"iconBrandTs\":\"\",\"iconBrandPr\":\"\",\"iconBrandOx\":\"î¤\",\"iconBrandSpg\":\"î ž\",\"iconBrandXr\":\"\",\"iconBrandLc\":\"î¤\",\"iconBrandWh\":\"\",\"iconBrandWi\":\"\",\"iconBrandSi\":\"\",\"iconBrandMd\":\"\",\"iconBrandTx\":\"\",\"iconBrandDs\":\"î¥\",\"iconBrandAl\":\"î¤\",\"iconBrandFp\":\"\",\"iconBrandEl\":\"\",\"iconBrandRcr\":\"î €\",\"iconBrandBg\":\"\",\"iconBrandMi\":\"\",\"iconBrandHv\":\"\",\"iconBrandXe\":\"\",\"iconBrandBa\":\"\",\"iconBrandReserve\":\"\",\"iconBrandTrc\":\"\",\"iconBrandXf\":\"\",\"iconBrandSv\":\"\",\"iconBrandWv\":\"\",\"iconBrandMg\":\"\",\"iconBrandRs\":\"î¥\",\"iconTribrandLogo\":\"\",\"iconBrandSn\":\"\",\"iconProgramText\":\"î¤ \",\"iconProgramElement\":\"\",\"iconProgramTextCn\":\"\",\"iconProgramTextWoTm\":\"\",\"iconProgramPathConnector\":\"\",\"iconProgramWordMark\":\"\",\"iconProgramPathConnectorCn\":\"\",\"iconProgramWordMarkCn\":\"\",\"iconProgramPathConnectorTraditionalCn\":\"\",\"iconProgramWordMarkTraditionalCn\":\"\",\"iconProgramElementCn\":\"\",\"iconProgramLuxuryMark\":\"\",\"iconProgramLuxuryGroup\":\"\",\"iconProgramWordMarkUs\":\"\",\"iconEscapeElement\":\"\",\"iconEscapeText\":\"\",\"viewportXs\":\"0px\",\"viewportS\":\"576px\",\"viewportM\":\"768px\",\"viewportL\":\"992px\",\"viewportXl\":\"1200px\",\"opacity1\":0.1,\"opacity2\":0.2,\"opacity3\":0.3,\"opacity4\":0.46,\"opacity5\":0.54,\"opacity6\":0.6,\"opacity7\":0.7,\"boxShadowTile\":\"rgba(0, 0, 0, 0.07)\",\"boxShadowMenu\":\"rgba(28, 28, 28, 0.09)\",\"boxShadowSlide\":\"rgba(0, 0, 0, 0.33)\",\"boxShadowClassic\":\"rgba(28, 28, 28, 0.09)\",\"boxShadowSubsection\":\"0 0.125rem 0.125rem 0 rgba(0, 0, 0, 0.1)\",\"backgroundColorNavitemHover\":\"rgba(28, 28, 28, 0.25)\",\"boxShadowDeeper\":\"0 0.25rem 0.75rem rgb(112, 112, 112)\",\"boxShadowPopover\":\"0rem 0.438rem 1.25rem 0rem rgba(0, 0, 0, 0.25)\",\"shadowSubtle01\":\"0 0.25rem 1.25rem 0 rgba(0, 0, 0, 0.08)\",\"shadowSubtle02\":\"0 0.25rem 0.875rem 0 rgba(0, 0, 0, 0.4)\",\"shadowSubtle03\":\"0 0.125rem 0.625rem 0 rgba(0, 0, 0, 0.3)\",\"shadowSubtle04\":\"0 0.125rem 0.625rem 0 rgba(0, 0, 0, 0.1)\",\"shadow01\":\"0 0.25rem 1.65rem 0 rgba(0, 0, 0, 0.5)\",\"shadow02\":\"0 0.25 0.875rem 0 rgba(0, 0, 0, 0.5)\",\"shadow03\":\"0 0.125rem 0.625rem 0 rgba(0, 0, 0, 0.5)\",\"shadow04\":\"0 0.125rem 0.625rem 0 rgba(0, 0, 0, 0.5)\",\"shadowBlur01\":\"0 0.375rem 1.625rem 0 rgba(0, 0, 0, 0.07)\",\"shadowBlur02\":\"0 0.375rem 0.625rem 0 rgba(0, 0, 0, 0.07)\"};","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\nvar define = require('define-data-property');\nvar hasDescriptors = require('has-property-descriptors')();\nvar gOPD = require('gopd');\n\nvar $TypeError = require('es-errors/type');\nvar $floor = GetIntrinsic('%Math.floor%');\n\n/** @type {import('.')} */\nmodule.exports = function setFunctionLength(fn, length) {\n\tif (typeof fn !== 'function') {\n\t\tthrow new $TypeError('`fn` is not a function');\n\t}\n\tif (typeof length !== 'number' || length < 0 || length > 0xFFFFFFFF || $floor(length) !== length) {\n\t\tthrow new $TypeError('`length` must be a positive 32-bit integer');\n\t}\n\n\tvar loose = arguments.length > 2 && !!arguments[2];\n\n\tvar functionLengthIsConfigurable = true;\n\tvar functionLengthIsWritable = true;\n\tif ('length' in fn && gOPD) {\n\t\tvar desc = gOPD(fn, 'length');\n\t\tif (desc && !desc.configurable) {\n\t\t\tfunctionLengthIsConfigurable = false;\n\t\t}\n\t\tif (desc && !desc.writable) {\n\t\t\tfunctionLengthIsWritable = false;\n\t\t}\n\t}\n\n\tif (functionLengthIsConfigurable || functionLengthIsWritable || !loose) {\n\t\tif (hasDescriptors) {\n\t\t\tdefine(/** @type {Parameters<define>[0]} */ (fn), 'length', length, true, true);\n\t\t} else {\n\t\t\tdefine(/** @type {Parameters<define>[0]} */ (fn), 'length', length);\n\t\t}\n\t}\n\treturn fn;\n};\n","//\n\nmodule.exports = function shallowEqual(objA, objB, compare, compareContext) {\n var ret = compare ? compare.call(compareContext, objA, objB) : void 0;\n\n if (ret !== void 0) {\n return !!ret;\n }\n\n if (objA === objB) {\n return true;\n }\n\n if (typeof objA !== \"object\" || !objA || typeof objB !== \"object\" || !objB) {\n return false;\n }\n\n var keysA = Object.keys(objA);\n var keysB = Object.keys(objB);\n\n if (keysA.length !== keysB.length) {\n return false;\n }\n\n var bHasOwnProperty = Object.prototype.hasOwnProperty.bind(objB);\n\n // Test for A's keys different from B.\n for (var idx = 0; idx < keysA.length; idx++) {\n var key = keysA[idx];\n\n if (!bHasOwnProperty(key)) {\n return false;\n }\n\n var valueA = objA[key];\n var valueB = objB[key];\n\n ret = compare ? compare.call(compareContext, valueA, valueB, key) : void 0;\n\n if (ret === false || (ret === void 0 && valueA !== valueB)) {\n return false;\n }\n }\n\n return true;\n};\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nvar Emitter = require('emitter');\n\nfunction Stream() {\n Emitter.call(this);\n}\nStream.prototype = new Emitter();\nmodule.exports = Stream;\n// Backwards-compat with node 0.4.x\nStream.Stream = Stream;\n\nStream.prototype.pipe = function(dest, options) {\n var source = this;\n\n function ondata(chunk) {\n if (dest.writable) {\n if (false === dest.write(chunk) && source.pause) {\n source.pause();\n }\n }\n }\n\n source.on('data', ondata);\n\n function ondrain() {\n if (source.readable && source.resume) {\n source.resume();\n }\n }\n\n dest.on('drain', ondrain);\n\n // If the 'end' option is not supplied, dest.end() will be called when\n // source gets the 'end' or 'close' events. Only dest.end() once.\n if (!dest._isStdio && (!options || options.end !== false)) {\n source.on('end', onend);\n source.on('close', onclose);\n }\n\n var didOnEnd = false;\n function onend() {\n if (didOnEnd) return;\n didOnEnd = true;\n\n dest.end();\n }\n\n\n function onclose() {\n if (didOnEnd) return;\n didOnEnd = true;\n\n if (typeof dest.destroy === 'function') dest.destroy();\n }\n\n // don't leave dangling pipes when there are errors.\n function onerror(er) {\n cleanup();\n if (!this.hasListeners('error')) {\n throw er; // Unhandled stream error in pipe.\n }\n }\n\n source.on('error', onerror);\n dest.on('error', onerror);\n\n // remove all the event listeners that were added.\n function cleanup() {\n source.off('data', ondata);\n dest.off('drain', ondrain);\n\n source.off('end', onend);\n source.off('close', onclose);\n\n source.off('error', onerror);\n dest.off('error', onerror);\n\n source.off('end', cleanup);\n source.off('close', cleanup);\n\n dest.off('end', cleanup);\n dest.off('close', cleanup);\n }\n\n source.on('end', cleanup);\n source.on('close', cleanup);\n\n dest.on('end', cleanup);\n dest.on('close', cleanup);\n\n dest.emit('pipe', source);\n\n // Allow for unix-like usage: A.pipe(B).pipe(C)\n return dest;\n}\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\n/*<replacement>*/\n\nvar Buffer = require('safe-buffer').Buffer;\n/*</replacement>*/\n\nvar isEncoding = Buffer.isEncoding || function (encoding) {\n encoding = '' + encoding;\n switch (encoding && encoding.toLowerCase()) {\n case 'hex':case 'utf8':case 'utf-8':case 'ascii':case 'binary':case 'base64':case 'ucs2':case 'ucs-2':case 'utf16le':case 'utf-16le':case 'raw':\n return true;\n default:\n return false;\n }\n};\n\nfunction _normalizeEncoding(enc) {\n if (!enc) return 'utf8';\n var retried;\n while (true) {\n switch (enc) {\n case 'utf8':\n case 'utf-8':\n return 'utf8';\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return 'utf16le';\n case 'latin1':\n case 'binary':\n return 'latin1';\n case 'base64':\n case 'ascii':\n case 'hex':\n return enc;\n default:\n if (retried) return; // undefined\n enc = ('' + enc).toLowerCase();\n retried = true;\n }\n }\n};\n\n// Do not cache `Buffer.isEncoding` when checking encoding names as some\n// modules monkey-patch it to support additional encodings\nfunction normalizeEncoding(enc) {\n var nenc = _normalizeEncoding(enc);\n if (typeof nenc !== 'string' && (Buffer.isEncoding === isEncoding || !isEncoding(enc))) throw new Error('Unknown encoding: ' + enc);\n return nenc || enc;\n}\n\n// StringDecoder provides an interface for efficiently splitting a series of\n// buffers into a series of JS strings without breaking apart multi-byte\n// characters.\nexports.StringDecoder = StringDecoder;\nfunction StringDecoder(encoding) {\n this.encoding = normalizeEncoding(encoding);\n var nb;\n switch (this.encoding) {\n case 'utf16le':\n this.text = utf16Text;\n this.end = utf16End;\n nb = 4;\n break;\n case 'utf8':\n this.fillLast = utf8FillLast;\n nb = 4;\n break;\n case 'base64':\n this.text = base64Text;\n this.end = base64End;\n nb = 3;\n break;\n default:\n this.write = simpleWrite;\n this.end = simpleEnd;\n return;\n }\n this.lastNeed = 0;\n this.lastTotal = 0;\n this.lastChar = Buffer.allocUnsafe(nb);\n}\n\nStringDecoder.prototype.write = function (buf) {\n if (buf.length === 0) return '';\n var r;\n var i;\n if (this.lastNeed) {\n r = this.fillLast(buf);\n if (r === undefined) return '';\n i = this.lastNeed;\n this.lastNeed = 0;\n } else {\n i = 0;\n }\n if (i < buf.length) return r ? r + this.text(buf, i) : this.text(buf, i);\n return r || '';\n};\n\nStringDecoder.prototype.end = utf8End;\n\n// Returns only complete characters in a Buffer\nStringDecoder.prototype.text = utf8Text;\n\n// Attempts to complete a partial non-UTF-8 character using bytes from a Buffer\nStringDecoder.prototype.fillLast = function (buf) {\n if (this.lastNeed <= buf.length) {\n buf.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, this.lastNeed);\n return this.lastChar.toString(this.encoding, 0, this.lastTotal);\n }\n buf.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, buf.length);\n this.lastNeed -= buf.length;\n};\n\n// Checks the type of a UTF-8 byte, whether it's ASCII, a leading byte, or a\n// continuation byte. If an invalid byte is detected, -2 is returned.\nfunction utf8CheckByte(byte) {\n if (byte <= 0x7F) return 0;else if (byte >> 5 === 0x06) return 2;else if (byte >> 4 === 0x0E) return 3;else if (byte >> 3 === 0x1E) return 4;\n return byte >> 6 === 0x02 ? -1 : -2;\n}\n\n// Checks at most 3 bytes at the end of a Buffer in order to detect an\n// incomplete multi-byte UTF-8 character. The total number of bytes (2, 3, or 4)\n// needed to complete the UTF-8 character (if applicable) are returned.\nfunction utf8CheckIncomplete(self, buf, i) {\n var j = buf.length - 1;\n if (j < i) return 0;\n var nb = utf8CheckByte(buf[j]);\n if (nb >= 0) {\n if (nb > 0) self.lastNeed = nb - 1;\n return nb;\n }\n if (--j < i || nb === -2) return 0;\n nb = utf8CheckByte(buf[j]);\n if (nb >= 0) {\n if (nb > 0) self.lastNeed = nb - 2;\n return nb;\n }\n if (--j < i || nb === -2) return 0;\n nb = utf8CheckByte(buf[j]);\n if (nb >= 0) {\n if (nb > 0) {\n if (nb === 2) nb = 0;else self.lastNeed = nb - 3;\n }\n return nb;\n }\n return 0;\n}\n\n// Validates as many continuation bytes for a multi-byte UTF-8 character as\n// needed or are available. If we see a non-continuation byte where we expect\n// one, we \"replace\" the validated continuation bytes we've seen so far with\n// a single UTF-8 replacement character ('\\ufffd'), to match v8's UTF-8 decoding\n// behavior. The continuation byte check is included three times in the case\n// where all of the continuation bytes for a character exist in the same buffer.\n// It is also done this way as a slight performance increase instead of using a\n// loop.\nfunction utf8CheckExtraBytes(self, buf, p) {\n if ((buf[0] & 0xC0) !== 0x80) {\n self.lastNeed = 0;\n return '\\ufffd';\n }\n if (self.lastNeed > 1 && buf.length > 1) {\n if ((buf[1] & 0xC0) !== 0x80) {\n self.lastNeed = 1;\n return '\\ufffd';\n }\n if (self.lastNeed > 2 && buf.length > 2) {\n if ((buf[2] & 0xC0) !== 0x80) {\n self.lastNeed = 2;\n return '\\ufffd';\n }\n }\n }\n}\n\n// Attempts to complete a multi-byte UTF-8 character using bytes from a Buffer.\nfunction utf8FillLast(buf) {\n var p = this.lastTotal - this.lastNeed;\n var r = utf8CheckExtraBytes(this, buf, p);\n if (r !== undefined) return r;\n if (this.lastNeed <= buf.length) {\n buf.copy(this.lastChar, p, 0, this.lastNeed);\n return this.lastChar.toString(this.encoding, 0, this.lastTotal);\n }\n buf.copy(this.lastChar, p, 0, buf.length);\n this.lastNeed -= buf.length;\n}\n\n// Returns all complete UTF-8 characters in a Buffer. If the Buffer ended on a\n// partial character, the character's bytes are buffered until the required\n// number of bytes are available.\nfunction utf8Text(buf, i) {\n var total = utf8CheckIncomplete(this, buf, i);\n if (!this.lastNeed) return buf.toString('utf8', i);\n this.lastTotal = total;\n var end = buf.length - (total - this.lastNeed);\n buf.copy(this.lastChar, 0, end);\n return buf.toString('utf8', i, end);\n}\n\n// For UTF-8, a replacement character is added when ending on a partial\n// character.\nfunction utf8End(buf) {\n var r = buf && buf.length ? this.write(buf) : '';\n if (this.lastNeed) return r + '\\ufffd';\n return r;\n}\n\n// UTF-16LE typically needs two bytes per character, but even if we have an even\n// number of bytes available, we need to check if we end on a leading/high\n// surrogate. In that case, we need to wait for the next two bytes in order to\n// decode the last character properly.\nfunction utf16Text(buf, i) {\n if ((buf.length - i) % 2 === 0) {\n var r = buf.toString('utf16le', i);\n if (r) {\n var c = r.charCodeAt(r.length - 1);\n if (c >= 0xD800 && c <= 0xDBFF) {\n this.lastNeed = 2;\n this.lastTotal = 4;\n this.lastChar[0] = buf[buf.length - 2];\n this.lastChar[1] = buf[buf.length - 1];\n return r.slice(0, -1);\n }\n }\n return r;\n }\n this.lastNeed = 1;\n this.lastTotal = 2;\n this.lastChar[0] = buf[buf.length - 1];\n return buf.toString('utf16le', i, buf.length - 1);\n}\n\n// For UTF-16LE we do not explicitly append special replacement characters if we\n// end on a partial character, we simply let v8 handle that.\nfunction utf16End(buf) {\n var r = buf && buf.length ? this.write(buf) : '';\n if (this.lastNeed) {\n var end = this.lastTotal - this.lastNeed;\n return r + this.lastChar.toString('utf16le', 0, end);\n }\n return r;\n}\n\nfunction base64Text(buf, i) {\n var n = (buf.length - i) % 3;\n if (n === 0) return buf.toString('base64', i);\n this.lastNeed = 3 - n;\n this.lastTotal = 3;\n if (n === 1) {\n this.lastChar[0] = buf[buf.length - 1];\n } else {\n this.lastChar[0] = buf[buf.length - 2];\n this.lastChar[1] = buf[buf.length - 1];\n }\n return buf.toString('base64', i, buf.length - n);\n}\n\nfunction base64End(buf) {\n var r = buf && buf.length ? this.write(buf) : '';\n if (this.lastNeed) return r + this.lastChar.toString('base64', 0, 3 - this.lastNeed);\n return r;\n}\n\n// Pass bytes on through for single-byte encodings (e.g. ascii, latin1, hex)\nfunction simpleWrite(buf) {\n return buf.toString(this.encoding);\n}\n\nfunction simpleEnd(buf) {\n return buf && buf.length ? this.write(buf) : '';\n}","/*! safe-buffer. MIT License. Feross Aboukhadijeh <https://feross.org/opensource> */\n/* eslint-disable node/no-deprecated-api */\nvar buffer = require('buffer')\nvar Buffer = buffer.Buffer\n\n// alternative to using Object.keys for old browsers\nfunction copyProps (src, dst) {\n for (var key in src) {\n dst[key] = src[key]\n }\n}\nif (Buffer.from && Buffer.alloc && Buffer.allocUnsafe && Buffer.allocUnsafeSlow) {\n module.exports = buffer\n} else {\n // Copy properties from require('buffer')\n copyProps(buffer, exports)\n exports.Buffer = SafeBuffer\n}\n\nfunction SafeBuffer (arg, encodingOrOffset, length) {\n return Buffer(arg, encodingOrOffset, length)\n}\n\nSafeBuffer.prototype = Object.create(Buffer.prototype)\n\n// Copy static methods from Buffer\ncopyProps(Buffer, SafeBuffer)\n\nSafeBuffer.from = function (arg, encodingOrOffset, length) {\n if (typeof arg === 'number') {\n throw new TypeError('Argument must not be a number')\n }\n return Buffer(arg, encodingOrOffset, length)\n}\n\nSafeBuffer.alloc = function (size, fill, encoding) {\n if (typeof size !== 'number') {\n throw new TypeError('Argument must be a number')\n }\n var buf = Buffer(size)\n if (fill !== undefined) {\n if (typeof encoding === 'string') {\n buf.fill(fill, encoding)\n } else {\n buf.fill(fill)\n }\n } else {\n buf.fill(0)\n }\n return buf\n}\n\nSafeBuffer.allocUnsafe = function (size) {\n if (typeof size !== 'number') {\n throw new TypeError('Argument must be a number')\n }\n return Buffer(size)\n}\n\nSafeBuffer.allocUnsafeSlow = function (size) {\n if (typeof size !== 'number') {\n throw new TypeError('Argument must be a number')\n }\n return buffer.SlowBuffer(size)\n}\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _styledComponents = require(\"styled-components\");\n\nvar _cssjanus = require(\"cssjanus\");\n\nfunction cssToString(cssStyles, p) {\n return cssStyles.reduce(function (result, v) {\n var addition = v;\n\n if (typeof v === 'function') {\n var vResult = v(p);\n addition = typeof vResult === 'string' ? vResult : cssToString(vResult, p);\n }\n\n return result + addition;\n }, '');\n}\n\nvar rtl = function rtl() {\n for (var _len = arguments.length, styles = new Array(_len), _key = 0; _key < _len; _key++) {\n styles[_key] = arguments[_key];\n }\n\n return function (p) {\n var cssStyles = _styledComponents.css.apply(void 0, styles);\n\n var dir = p.dir || p.theme.dir || p.direction || p.theme.direction;\n return dir === 'rtl' ? (0, _cssjanus.transform)(cssToString(cssStyles, p)) : cssStyles;\n };\n};\n\nvar _default = rtl;\nexports.default = _default;\n","function stylis_min (W) {\n function M(d, c, e, h, a) {\n for (var m = 0, b = 0, v = 0, n = 0, q, g, x = 0, K = 0, k, u = k = q = 0, l = 0, r = 0, I = 0, t = 0, B = e.length, J = B - 1, y, f = '', p = '', F = '', G = '', C; l < B;) {\n g = e.charCodeAt(l);\n l === J && 0 !== b + n + v + m && (0 !== b && (g = 47 === b ? 10 : 47), n = v = m = 0, B++, J++);\n\n if (0 === b + n + v + m) {\n if (l === J && (0 < r && (f = f.replace(N, '')), 0 < f.trim().length)) {\n switch (g) {\n case 32:\n case 9:\n case 59:\n case 13:\n case 10:\n break;\n\n default:\n f += e.charAt(l);\n }\n\n g = 59;\n }\n\n switch (g) {\n case 123:\n f = f.trim();\n q = f.charCodeAt(0);\n k = 1;\n\n for (t = ++l; l < B;) {\n switch (g = e.charCodeAt(l)) {\n case 123:\n k++;\n break;\n\n case 125:\n k--;\n break;\n\n case 47:\n switch (g = e.charCodeAt(l + 1)) {\n case 42:\n case 47:\n a: {\n for (u = l + 1; u < J; ++u) {\n switch (e.charCodeAt(u)) {\n case 47:\n if (42 === g && 42 === e.charCodeAt(u - 1) && l + 2 !== u) {\n l = u + 1;\n break a;\n }\n\n break;\n\n case 10:\n if (47 === g) {\n l = u + 1;\n break a;\n }\n\n }\n }\n\n l = u;\n }\n\n }\n\n break;\n\n case 91:\n g++;\n\n case 40:\n g++;\n\n case 34:\n case 39:\n for (; l++ < J && e.charCodeAt(l) !== g;) {\n }\n\n }\n\n if (0 === k) break;\n l++;\n }\n\n k = e.substring(t, l);\n 0 === q && (q = (f = f.replace(ca, '').trim()).charCodeAt(0));\n\n switch (q) {\n case 64:\n 0 < r && (f = f.replace(N, ''));\n g = f.charCodeAt(1);\n\n switch (g) {\n case 100:\n case 109:\n case 115:\n case 45:\n r = c;\n break;\n\n default:\n r = O;\n }\n\n k = M(c, r, k, g, a + 1);\n t = k.length;\n 0 < A && (r = X(O, f, I), C = H(3, k, r, c, D, z, t, g, a, h), f = r.join(''), void 0 !== C && 0 === (t = (k = C.trim()).length) && (g = 0, k = ''));\n if (0 < t) switch (g) {\n case 115:\n f = f.replace(da, ea);\n\n case 100:\n case 109:\n case 45:\n k = f + '{' + k + '}';\n break;\n\n case 107:\n f = f.replace(fa, '$1 $2');\n k = f + '{' + k + '}';\n k = 1 === w || 2 === w && L('@' + k, 3) ? '@-webkit-' + k + '@' + k : '@' + k;\n break;\n\n default:\n k = f + k, 112 === h && (k = (p += k, ''));\n } else k = '';\n break;\n\n default:\n k = M(c, X(c, f, I), k, h, a + 1);\n }\n\n F += k;\n k = I = r = u = q = 0;\n f = '';\n g = e.charCodeAt(++l);\n break;\n\n case 125:\n case 59:\n f = (0 < r ? f.replace(N, '') : f).trim();\n if (1 < (t = f.length)) switch (0 === u && (q = f.charCodeAt(0), 45 === q || 96 < q && 123 > q) && (t = (f = f.replace(' ', ':')).length), 0 < A && void 0 !== (C = H(1, f, c, d, D, z, p.length, h, a, h)) && 0 === (t = (f = C.trim()).length) && (f = '\\x00\\x00'), q = f.charCodeAt(0), g = f.charCodeAt(1), q) {\n case 0:\n break;\n\n case 64:\n if (105 === g || 99 === g) {\n G += f + e.charAt(l);\n break;\n }\n\n default:\n 58 !== f.charCodeAt(t - 1) && (p += P(f, q, g, f.charCodeAt(2)));\n }\n I = r = u = q = 0;\n f = '';\n g = e.charCodeAt(++l);\n }\n }\n\n switch (g) {\n case 13:\n case 10:\n 47 === b ? b = 0 : 0 === 1 + q && 107 !== h && 0 < f.length && (r = 1, f += '\\x00');\n 0 < A * Y && H(0, f, c, d, D, z, p.length, h, a, h);\n z = 1;\n D++;\n break;\n\n case 59:\n case 125:\n if (0 === b + n + v + m) {\n z++;\n break;\n }\n\n default:\n z++;\n y = e.charAt(l);\n\n switch (g) {\n case 9:\n case 32:\n if (0 === n + m + b) switch (x) {\n case 44:\n case 58:\n case 9:\n case 32:\n y = '';\n break;\n\n default:\n 32 !== g && (y = ' ');\n }\n break;\n\n case 0:\n y = '\\\\0';\n break;\n\n case 12:\n y = '\\\\f';\n break;\n\n case 11:\n y = '\\\\v';\n break;\n\n case 38:\n 0 === n + b + m && (r = I = 1, y = '\\f' + y);\n break;\n\n case 108:\n if (0 === n + b + m + E && 0 < u) switch (l - u) {\n case 2:\n 112 === x && 58 === e.charCodeAt(l - 3) && (E = x);\n\n case 8:\n 111 === K && (E = K);\n }\n break;\n\n case 58:\n 0 === n + b + m && (u = l);\n break;\n\n case 44:\n 0 === b + v + n + m && (r = 1, y += '\\r');\n break;\n\n case 34:\n case 39:\n 0 === b && (n = n === g ? 0 : 0 === n ? g : n);\n break;\n\n case 91:\n 0 === n + b + v && m++;\n break;\n\n case 93:\n 0 === n + b + v && m--;\n break;\n\n case 41:\n 0 === n + b + m && v--;\n break;\n\n case 40:\n if (0 === n + b + m) {\n if (0 === q) switch (2 * x + 3 * K) {\n case 533:\n break;\n\n default:\n q = 1;\n }\n v++;\n }\n\n break;\n\n case 64:\n 0 === b + v + n + m + u + k && (k = 1);\n break;\n\n case 42:\n case 47:\n if (!(0 < n + m + v)) switch (b) {\n case 0:\n switch (2 * g + 3 * e.charCodeAt(l + 1)) {\n case 235:\n b = 47;\n break;\n\n case 220:\n t = l, b = 42;\n }\n\n break;\n\n case 42:\n 47 === g && 42 === x && t + 2 !== l && (33 === e.charCodeAt(t + 2) && (p += e.substring(t, l + 1)), y = '', b = 0);\n }\n }\n\n 0 === b && (f += y);\n }\n\n K = x;\n x = g;\n l++;\n }\n\n t = p.length;\n\n if (0 < t) {\n r = c;\n if (0 < A && (C = H(2, p, r, d, D, z, t, h, a, h), void 0 !== C && 0 === (p = C).length)) return G + p + F;\n p = r.join(',') + '{' + p + '}';\n\n if (0 !== w * E) {\n 2 !== w || L(p, 2) || (E = 0);\n\n switch (E) {\n case 111:\n p = p.replace(ha, ':-moz-$1') + p;\n break;\n\n case 112:\n p = p.replace(Q, '::-webkit-input-$1') + p.replace(Q, '::-moz-$1') + p.replace(Q, ':-ms-input-$1') + p;\n }\n\n E = 0;\n }\n }\n\n return G + p + F;\n }\n\n function X(d, c, e) {\n var h = c.trim().split(ia);\n c = h;\n var a = h.length,\n m = d.length;\n\n switch (m) {\n case 0:\n case 1:\n var b = 0;\n\n for (d = 0 === m ? '' : d[0] + ' '; b < a; ++b) {\n c[b] = Z(d, c[b], e).trim();\n }\n\n break;\n\n default:\n var v = b = 0;\n\n for (c = []; b < a; ++b) {\n for (var n = 0; n < m; ++n) {\n c[v++] = Z(d[n] + ' ', h[b], e).trim();\n }\n }\n\n }\n\n return c;\n }\n\n function Z(d, c, e) {\n var h = c.charCodeAt(0);\n 33 > h && (h = (c = c.trim()).charCodeAt(0));\n\n switch (h) {\n case 38:\n return c.replace(F, '$1' + d.trim());\n\n case 58:\n return d.trim() + c.replace(F, '$1' + d.trim());\n\n default:\n if (0 < 1 * e && 0 < c.indexOf('\\f')) return c.replace(F, (58 === d.charCodeAt(0) ? '' : '$1') + d.trim());\n }\n\n return d + c;\n }\n\n function P(d, c, e, h) {\n var a = d + ';',\n m = 2 * c + 3 * e + 4 * h;\n\n if (944 === m) {\n d = a.indexOf(':', 9) + 1;\n var b = a.substring(d, a.length - 1).trim();\n b = a.substring(0, d).trim() + b + ';';\n return 1 === w || 2 === w && L(b, 1) ? '-webkit-' + b + b : b;\n }\n\n if (0 === w || 2 === w && !L(a, 1)) return a;\n\n switch (m) {\n case 1015:\n return 97 === a.charCodeAt(10) ? '-webkit-' + a + a : a;\n\n case 951:\n return 116 === a.charCodeAt(3) ? '-webkit-' + a + a : a;\n\n case 963:\n return 110 === a.charCodeAt(5) ? '-webkit-' + a + a : a;\n\n case 1009:\n if (100 !== a.charCodeAt(4)) break;\n\n case 969:\n case 942:\n return '-webkit-' + a + a;\n\n case 978:\n return '-webkit-' + a + '-moz-' + a + a;\n\n case 1019:\n case 983:\n return '-webkit-' + a + '-moz-' + a + '-ms-' + a + a;\n\n case 883:\n if (45 === a.charCodeAt(8)) return '-webkit-' + a + a;\n if (0 < a.indexOf('image-set(', 11)) return a.replace(ja, '$1-webkit-$2') + a;\n break;\n\n case 932:\n if (45 === a.charCodeAt(4)) switch (a.charCodeAt(5)) {\n case 103:\n return '-webkit-box-' + a.replace('-grow', '') + '-webkit-' + a + '-ms-' + a.replace('grow', 'positive') + a;\n\n case 115:\n return '-webkit-' + a + '-ms-' + a.replace('shrink', 'negative') + a;\n\n case 98:\n return '-webkit-' + a + '-ms-' + a.replace('basis', 'preferred-size') + a;\n }\n return '-webkit-' + a + '-ms-' + a + a;\n\n case 964:\n return '-webkit-' + a + '-ms-flex-' + a + a;\n\n case 1023:\n if (99 !== a.charCodeAt(8)) break;\n b = a.substring(a.indexOf(':', 15)).replace('flex-', '').replace('space-between', 'justify');\n return '-webkit-box-pack' + b + '-webkit-' + a + '-ms-flex-pack' + b + a;\n\n case 1005:\n return ka.test(a) ? a.replace(aa, ':-webkit-') + a.replace(aa, ':-moz-') + a : a;\n\n case 1e3:\n b = a.substring(13).trim();\n c = b.indexOf('-') + 1;\n\n switch (b.charCodeAt(0) + b.charCodeAt(c)) {\n case 226:\n b = a.replace(G, 'tb');\n break;\n\n case 232:\n b = a.replace(G, 'tb-rl');\n break;\n\n case 220:\n b = a.replace(G, 'lr');\n break;\n\n default:\n return a;\n }\n\n return '-webkit-' + a + '-ms-' + b + a;\n\n case 1017:\n if (-1 === a.indexOf('sticky', 9)) break;\n\n case 975:\n c = (a = d).length - 10;\n b = (33 === a.charCodeAt(c) ? a.substring(0, c) : a).substring(d.indexOf(':', 7) + 1).trim();\n\n switch (m = b.charCodeAt(0) + (b.charCodeAt(7) | 0)) {\n case 203:\n if (111 > b.charCodeAt(8)) break;\n\n case 115:\n a = a.replace(b, '-webkit-' + b) + ';' + a;\n break;\n\n case 207:\n case 102:\n a = a.replace(b, '-webkit-' + (102 < m ? 'inline-' : '') + 'box') + ';' + a.replace(b, '-webkit-' + b) + ';' + a.replace(b, '-ms-' + b + 'box') + ';' + a;\n }\n\n return a + ';';\n\n case 938:\n if (45 === a.charCodeAt(5)) switch (a.charCodeAt(6)) {\n case 105:\n return b = a.replace('-items', ''), '-webkit-' + a + '-webkit-box-' + b + '-ms-flex-' + b + a;\n\n case 115:\n return '-webkit-' + a + '-ms-flex-item-' + a.replace(ba, '') + a;\n\n default:\n return '-webkit-' + a + '-ms-flex-line-pack' + a.replace('align-content', '').replace(ba, '') + a;\n }\n break;\n\n case 973:\n case 989:\n if (45 !== a.charCodeAt(3) || 122 === a.charCodeAt(4)) break;\n\n case 931:\n case 953:\n if (!0 === la.test(d)) return 115 === (b = d.substring(d.indexOf(':') + 1)).charCodeAt(0) ? P(d.replace('stretch', 'fill-available'), c, e, h).replace(':fill-available', ':stretch') : a.replace(b, '-webkit-' + b) + a.replace(b, '-moz-' + b.replace('fill-', '')) + a;\n break;\n\n case 962:\n if (a = '-webkit-' + a + (102 === a.charCodeAt(5) ? '-ms-' + a : '') + a, 211 === e + h && 105 === a.charCodeAt(13) && 0 < a.indexOf('transform', 10)) return a.substring(0, a.indexOf(';', 27) + 1).replace(ma, '$1-webkit-$2') + a;\n }\n\n return a;\n }\n\n function L(d, c) {\n var e = d.indexOf(1 === c ? ':' : '{'),\n h = d.substring(0, 3 !== c ? e : 10);\n e = d.substring(e + 1, d.length - 1);\n return R(2 !== c ? h : h.replace(na, '$1'), e, c);\n }\n\n function ea(d, c) {\n var e = P(c, c.charCodeAt(0), c.charCodeAt(1), c.charCodeAt(2));\n return e !== c + ';' ? e.replace(oa, ' or ($1)').substring(4) : '(' + c + ')';\n }\n\n function H(d, c, e, h, a, m, b, v, n, q) {\n for (var g = 0, x = c, w; g < A; ++g) {\n switch (w = S[g].call(B, d, x, e, h, a, m, b, v, n, q)) {\n case void 0:\n case !1:\n case !0:\n case null:\n break;\n\n default:\n x = w;\n }\n }\n\n if (x !== c) return x;\n }\n\n function T(d) {\n switch (d) {\n case void 0:\n case null:\n A = S.length = 0;\n break;\n\n default:\n if ('function' === typeof d) S[A++] = d;else if ('object' === typeof d) for (var c = 0, e = d.length; c < e; ++c) {\n T(d[c]);\n } else Y = !!d | 0;\n }\n\n return T;\n }\n\n function U(d) {\n d = d.prefix;\n void 0 !== d && (R = null, d ? 'function' !== typeof d ? w = 1 : (w = 2, R = d) : w = 0);\n return U;\n }\n\n function B(d, c) {\n var e = d;\n 33 > e.charCodeAt(0) && (e = e.trim());\n V = e;\n e = [V];\n\n if (0 < A) {\n var h = H(-1, c, e, e, D, z, 0, 0, 0, 0);\n void 0 !== h && 'string' === typeof h && (c = h);\n }\n\n var a = M(O, e, c, 0, 0);\n 0 < A && (h = H(-2, a, e, e, D, z, a.length, 0, 0, 0), void 0 !== h && (a = h));\n V = '';\n E = 0;\n z = D = 1;\n return a;\n }\n\n var ca = /^\\0+/g,\n N = /[\\0\\r\\f]/g,\n aa = /: */g,\n ka = /zoo|gra/,\n ma = /([,: ])(transform)/g,\n ia = /,\\r+?/g,\n F = /([\\t\\r\\n ])*\\f?&/g,\n fa = /@(k\\w+)\\s*(\\S*)\\s*/,\n Q = /::(place)/g,\n ha = /:(read-only)/g,\n G = /[svh]\\w+-[tblr]{2}/,\n da = /\\(\\s*(.*)\\s*\\)/g,\n oa = /([\\s\\S]*?);/g,\n ba = /-self|flex-/g,\n na = /[^]*?(:[rp][el]a[\\w-]+)[^]*/,\n la = /stretch|:\\s*\\w+\\-(?:conte|avail)/,\n ja = /([^-])(image-set\\()/,\n z = 1,\n D = 1,\n E = 0,\n w = 1,\n O = [],\n S = [],\n A = 0,\n R = null,\n Y = 0,\n V = '';\n B.use = T;\n B.set = U;\n void 0 !== W && U(W);\n return B;\n}\n\nexport default stylis_min;\n","var unitlessKeys = {\n animationIterationCount: 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 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 default unitlessKeys;\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 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{typeOf as e,isElement as t,isValidElementType as n}from\"react-is\";import r,{useState as o,useContext as s,useMemo as i,useEffect as a,useRef as c,createElement as u,useDebugValue as l,useLayoutEffect as d}from\"react\";import h from\"shallowequal\";import p from\"@emotion/stylis\";import f from\"@emotion/unitless\";import m from\"@emotion/is-prop-valid\";import y from\"hoist-non-react-statics\";function v(){return(v=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}var g=function(e,t){for(var n=[e[0]],r=0,o=t.length;r<o;r+=1)n.push(t[r],e[r+1]);return n},S=function(t){return null!==t&&\"object\"==typeof t&&\"[object Object]\"===(t.toString?t.toString():Object.prototype.toString.call(t))&&!e(t)},w=Object.freeze([]),E=Object.freeze({});function b(e){return\"function\"==typeof e}function _(e){return\"production\"!==process.env.NODE_ENV&&\"string\"==typeof e&&e||e.displayName||e.name||\"Component\"}function N(e){return e&&\"string\"==typeof e.styledComponentId}var A=\"undefined\"!=typeof process&&(process.env.REACT_APP_SC_ATTR||process.env.SC_ATTR)||\"data-styled\",C=\"5.3.6\",I=\"undefined\"!=typeof window&&\"HTMLElement\"in window,P=Boolean(\"boolean\"==typeof SC_DISABLE_SPEEDY?SC_DISABLE_SPEEDY:\"undefined\"!=typeof process&&void 0!==process.env.REACT_APP_SC_DISABLE_SPEEDY&&\"\"!==process.env.REACT_APP_SC_DISABLE_SPEEDY?\"false\"!==process.env.REACT_APP_SC_DISABLE_SPEEDY&&process.env.REACT_APP_SC_DISABLE_SPEEDY:\"undefined\"!=typeof process&&void 0!==process.env.SC_DISABLE_SPEEDY&&\"\"!==process.env.SC_DISABLE_SPEEDY?\"false\"!==process.env.SC_DISABLE_SPEEDY&&process.env.SC_DISABLE_SPEEDY:\"production\"!==process.env.NODE_ENV),O={},R=\"production\"!==process.env.NODE_ENV?{1:\"Cannot create styled-component for component: %s.\\n\\n\",2:\"Can't collect styles once you've consumed a `ServerStyleSheet`'s styles! `ServerStyleSheet` is a one off instance for each server-side render cycle.\\n\\n- Are you trying to reuse it across renders?\\n- Are you accidentally calling collectStyles twice?\\n\\n\",3:\"Streaming SSR is only supported in a Node.js environment; Please do not try to call this method in the browser.\\n\\n\",4:\"The `StyleSheetManager` expects a valid target or sheet prop!\\n\\n- Does this error occur on the client and is your target falsy?\\n- Does this error occur on the server and is the sheet falsy?\\n\\n\",5:\"The clone method cannot be used on the client!\\n\\n- Are you running in a client-like environment on the server?\\n- Are you trying to run SSR on the client?\\n\\n\",6:\"Trying to insert a new style tag, but the given Node is unmounted!\\n\\n- Are you using a custom target that isn't mounted?\\n- Does your document not have a valid head element?\\n- Have you accidentally removed a style tag manually?\\n\\n\",7:'ThemeProvider: Please return an object from your \"theme\" prop function, e.g.\\n\\n```js\\ntheme={() => ({})}\\n```\\n\\n',8:'ThemeProvider: Please make your \"theme\" prop an object.\\n\\n',9:\"Missing document `<head>`\\n\\n\",10:\"Cannot find a StyleSheet instance. Usually this happens if there are multiple copies of styled-components loaded at once. Check out this issue for how to troubleshoot and fix the common cases where this situation can happen: https://github.com/styled-components/styled-components/issues/1941#issuecomment-417862021\\n\\n\",11:\"_This error was replaced with a dev-time warning, it will be deleted for v4 final._ [createGlobalStyle] received children which will not be rendered. Please use the component without passing children elements.\\n\\n\",12:\"It seems you are interpolating a keyframe declaration (%s) into an untagged string. This was supported in styled-components v3, but is not longer supported in v4 as keyframes are now injected on-demand. Please wrap your string in the css\\\\`\\\\` helper which ensures the styles are injected correctly. See https://www.styled-components.com/docs/api#css\\n\\n\",13:\"%s is not a styled component and cannot be referred to via component selector. See https://www.styled-components.com/docs/advanced#referring-to-other-components for more details.\\n\\n\",14:'ThemeProvider: \"theme\" prop is required.\\n\\n',15:\"A stylis plugin has been supplied that is not named. We need a name for each plugin to be able to prevent styling collisions between different stylis configurations within the same app. Before you pass your plugin to `<StyleSheetManager stylisPlugins={[]}>`, please make sure each plugin is uniquely-named, e.g.\\n\\n```js\\nObject.defineProperty(importedPlugin, 'name', { value: 'some-unique-name' });\\n```\\n\\n\",16:\"Reached the limit of how many styled components may be created at group %s.\\nYou may only create up to 1,073,741,824 components. If you're creating components dynamically,\\nas for instance in your render method then you may be running into this limitation.\\n\\n\",17:\"CSSStyleSheet could not be found on HTMLStyleElement.\\nHas styled-components' style tag been unmounted or altered by another script?\\n\"}:{};function D(){for(var e=arguments.length<=0?void 0:arguments[0],t=[],n=1,r=arguments.length;n<r;n+=1)t.push(n<0||arguments.length<=n?void 0:arguments[n]);return t.forEach((function(t){e=e.replace(/%[a-z]/,t)})),e}function j(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];throw\"production\"===process.env.NODE_ENV?new Error(\"An error occurred. See https://git.io/JUIaE#\"+e+\" for more information.\"+(n.length>0?\" Args: \"+n.join(\", \"):\"\")):new Error(D.apply(void 0,[R[e]].concat(n)).trim())}var T=function(){function e(e){this.groupSizes=new Uint32Array(512),this.length=512,this.tag=e}var t=e.prototype;return t.indexOfGroup=function(e){for(var t=0,n=0;n<e;n++)t+=this.groupSizes[n];return t},t.insertRules=function(e,t){if(e>=this.groupSizes.length){for(var n=this.groupSizes,r=n.length,o=r;e>=o;)(o<<=1)<0&&j(16,\"\"+e);this.groupSizes=new Uint32Array(o),this.groupSizes.set(n),this.length=o;for(var s=r;s<o;s++)this.groupSizes[s]=0}for(var i=this.indexOfGroup(e+1),a=0,c=t.length;a<c;a++)this.tag.insertRule(i,t[a])&&(this.groupSizes[e]++,i++)},t.clearGroup=function(e){if(e<this.length){var t=this.groupSizes[e],n=this.indexOfGroup(e),r=n+t;this.groupSizes[e]=0;for(var o=n;o<r;o++)this.tag.deleteRule(n)}},t.getGroup=function(e){var t=\"\";if(e>=this.length||0===this.groupSizes[e])return t;for(var n=this.groupSizes[e],r=this.indexOfGroup(e),o=r+n,s=r;s<o;s++)t+=this.tag.getRule(s)+\"/*!sc*/\\n\";return t},e}(),x=new Map,k=new Map,V=1,B=function(e){if(x.has(e))return x.get(e);for(;k.has(V);)V++;var t=V++;return\"production\"!==process.env.NODE_ENV&&((0|t)<0||t>1<<30)&&j(16,\"\"+t),x.set(e,t),k.set(t,e),t},z=function(e){return k.get(e)},M=function(e,t){t>=V&&(V=t+1),x.set(e,t),k.set(t,e)},G=\"style[\"+A+'][data-styled-version=\"5.3.6\"]',L=new RegExp(\"^\"+A+'\\\\.g(\\\\d+)\\\\[id=\"([\\\\w\\\\d-]+)\"\\\\].*?\"([^\"]*)'),F=function(e,t,n){for(var r,o=n.split(\",\"),s=0,i=o.length;s<i;s++)(r=o[s])&&e.registerName(t,r)},Y=function(e,t){for(var n=(t.textContent||\"\").split(\"/*!sc*/\\n\"),r=[],o=0,s=n.length;o<s;o++){var i=n[o].trim();if(i){var a=i.match(L);if(a){var c=0|parseInt(a[1],10),u=a[2];0!==c&&(M(u,c),F(e,u,a[3]),e.getTag().insertRules(c,r)),r.length=0}else r.push(i)}}},q=function(){return\"undefined\"!=typeof __webpack_nonce__?__webpack_nonce__:null},H=function(e){var t=document.head,n=e||t,r=document.createElement(\"style\"),o=function(e){for(var t=e.childNodes,n=t.length;n>=0;n--){var r=t[n];if(r&&1===r.nodeType&&r.hasAttribute(A))return r}}(n),s=void 0!==o?o.nextSibling:null;r.setAttribute(A,\"active\"),r.setAttribute(\"data-styled-version\",\"5.3.6\");var i=q();return i&&r.setAttribute(\"nonce\",i),n.insertBefore(r,s),r},$=function(){function e(e){var t=this.element=H(e);t.appendChild(document.createTextNode(\"\")),this.sheet=function(e){if(e.sheet)return e.sheet;for(var t=document.styleSheets,n=0,r=t.length;n<r;n++){var o=t[n];if(o.ownerNode===e)return o}j(17)}(t),this.length=0}var t=e.prototype;return t.insertRule=function(e,t){try{return this.sheet.insertRule(t,e),this.length++,!0}catch(e){return!1}},t.deleteRule=function(e){this.sheet.deleteRule(e),this.length--},t.getRule=function(e){var t=this.sheet.cssRules[e];return void 0!==t&&\"string\"==typeof t.cssText?t.cssText:\"\"},e}(),W=function(){function e(e){var t=this.element=H(e);this.nodes=t.childNodes,this.length=0}var t=e.prototype;return t.insertRule=function(e,t){if(e<=this.length&&e>=0){var n=document.createTextNode(t),r=this.nodes[e];return this.element.insertBefore(n,r||null),this.length++,!0}return!1},t.deleteRule=function(e){this.element.removeChild(this.nodes[e]),this.length--},t.getRule=function(e){return e<this.length?this.nodes[e].textContent:\"\"},e}(),U=function(){function e(e){this.rules=[],this.length=0}var t=e.prototype;return t.insertRule=function(e,t){return e<=this.length&&(this.rules.splice(e,0,t),this.length++,!0)},t.deleteRule=function(e){this.rules.splice(e,1),this.length--},t.getRule=function(e){return e<this.length?this.rules[e]:\"\"},e}(),J=I,X={isServer:!I,useCSSOMInjection:!P},Z=function(){function e(e,t,n){void 0===e&&(e=E),void 0===t&&(t={}),this.options=v({},X,{},e),this.gs=t,this.names=new Map(n),this.server=!!e.isServer,!this.server&&I&&J&&(J=!1,function(e){for(var t=document.querySelectorAll(G),n=0,r=t.length;n<r;n++){var o=t[n];o&&\"active\"!==o.getAttribute(A)&&(Y(e,o),o.parentNode&&o.parentNode.removeChild(o))}}(this))}e.registerId=function(e){return B(e)};var t=e.prototype;return t.reconstructWithOptions=function(t,n){return void 0===n&&(n=!0),new e(v({},this.options,{},t),this.gs,n&&this.names||void 0)},t.allocateGSInstance=function(e){return this.gs[e]=(this.gs[e]||0)+1},t.getTag=function(){return this.tag||(this.tag=(n=(t=this.options).isServer,r=t.useCSSOMInjection,o=t.target,e=n?new U(o):r?new $(o):new W(o),new T(e)));var e,t,n,r,o},t.hasNameForId=function(e,t){return this.names.has(e)&&this.names.get(e).has(t)},t.registerName=function(e,t){if(B(e),this.names.has(e))this.names.get(e).add(t);else{var n=new Set;n.add(t),this.names.set(e,n)}},t.insertRules=function(e,t,n){this.registerName(e,t),this.getTag().insertRules(B(e),n)},t.clearNames=function(e){this.names.has(e)&&this.names.get(e).clear()},t.clearRules=function(e){this.getTag().clearGroup(B(e)),this.clearNames(e)},t.clearTag=function(){this.tag=void 0},t.toString=function(){return function(e){for(var t=e.getTag(),n=t.length,r=\"\",o=0;o<n;o++){var s=z(o);if(void 0!==s){var i=e.names.get(s),a=t.getGroup(o);if(i&&a&&i.size){var c=A+\".g\"+o+'[id=\"'+s+'\"]',u=\"\";void 0!==i&&i.forEach((function(e){e.length>0&&(u+=e+\",\")})),r+=\"\"+a+c+'{content:\"'+u+'\"}/*!sc*/\\n'}}}return r}(this)},e}(),K=/(a)(d)/gi,Q=function(e){return String.fromCharCode(e+(e>25?39:97))};function ee(e){var t,n=\"\";for(t=Math.abs(e);t>52;t=t/52|0)n=Q(t%52)+n;return(Q(t%52)+n).replace(K,\"$1-$2\")}var te=function(e,t){for(var n=t.length;n;)e=33*e^t.charCodeAt(--n);return e},ne=function(e){return te(5381,e)};function re(e){for(var t=0;t<e.length;t+=1){var n=e[t];if(b(n)&&!N(n))return!1}return!0}var oe=ne(\"5.3.6\"),se=function(){function e(e,t,n){this.rules=e,this.staticRulesId=\"\",this.isStatic=\"production\"===process.env.NODE_ENV&&(void 0===n||n.isStatic)&&re(e),this.componentId=t,this.baseHash=te(oe,t),this.baseStyle=n,Z.registerId(t)}return e.prototype.generateAndInjectStyles=function(e,t,n){var r=this.componentId,o=[];if(this.baseStyle&&o.push(this.baseStyle.generateAndInjectStyles(e,t,n)),this.isStatic&&!n.hash)if(this.staticRulesId&&t.hasNameForId(r,this.staticRulesId))o.push(this.staticRulesId);else{var s=Ne(this.rules,e,t,n).join(\"\"),i=ee(te(this.baseHash,s)>>>0);if(!t.hasNameForId(r,i)){var a=n(s,\".\"+i,void 0,r);t.insertRules(r,i,a)}o.push(i),this.staticRulesId=i}else{for(var c=this.rules.length,u=te(this.baseHash,n.hash),l=\"\",d=0;d<c;d++){var h=this.rules[d];if(\"string\"==typeof h)l+=h,\"production\"!==process.env.NODE_ENV&&(u=te(u,h+d));else if(h){var p=Ne(h,e,t,n),f=Array.isArray(p)?p.join(\"\"):p;u=te(u,f+d),l+=f}}if(l){var m=ee(u>>>0);if(!t.hasNameForId(r,m)){var y=n(l,\".\"+m,void 0,r);t.insertRules(r,m,y)}o.push(m)}}return o.join(\" \")},e}(),ie=/^\\s*\\/\\/.*$/gm,ae=[\":\",\"[\",\".\",\"#\"];function ce(e){var t,n,r,o,s=void 0===e?E:e,i=s.options,a=void 0===i?E:i,c=s.plugins,u=void 0===c?w:c,l=new p(a),d=[],h=function(e){function t(t){if(t)try{e(t+\"}\")}catch(e){}}return function(n,r,o,s,i,a,c,u,l,d){switch(n){case 1:if(0===l&&64===r.charCodeAt(0))return e(r+\";\"),\"\";break;case 2:if(0===u)return r+\"/*|*/\";break;case 3:switch(u){case 102:case 112:return e(o[0]+r),\"\";default:return r+(0===d?\"/*|*/\":\"\")}case-2:r.split(\"/*|*/}\").forEach(t)}}}((function(e){d.push(e)})),f=function(e,r,s){return 0===r&&-1!==ae.indexOf(s[n.length])||s.match(o)?e:\".\"+t};function m(e,s,i,a){void 0===a&&(a=\"&\");var c=e.replace(ie,\"\"),u=s&&i?i+\" \"+s+\" { \"+c+\" }\":c;return t=a,n=s,r=new RegExp(\"\\\\\"+n+\"\\\\b\",\"g\"),o=new RegExp(\"(\\\\\"+n+\"\\\\b){2,}\"),l(i||!s?\"\":s,u)}return l.use([].concat(u,[function(e,t,o){2===e&&o.length&&o[0].lastIndexOf(n)>0&&(o[0]=o[0].replace(r,f))},h,function(e){if(-2===e){var t=d;return d=[],t}}])),m.hash=u.length?u.reduce((function(e,t){return t.name||j(15),te(e,t.name)}),5381).toString():\"\",m}var ue=r.createContext(),le=ue.Consumer,de=r.createContext(),he=(de.Consumer,new Z),pe=ce();function fe(){return s(ue)||he}function me(){return s(de)||pe}function ye(e){var t=o(e.stylisPlugins),n=t[0],s=t[1],c=fe(),u=i((function(){var t=c;return e.sheet?t=e.sheet:e.target&&(t=t.reconstructWithOptions({target:e.target},!1)),e.disableCSSOMInjection&&(t=t.reconstructWithOptions({useCSSOMInjection:!1})),t}),[e.disableCSSOMInjection,e.sheet,e.target]),l=i((function(){return ce({options:{prefix:!e.disableVendorPrefixes},plugins:n})}),[e.disableVendorPrefixes,n]);return a((function(){h(n,e.stylisPlugins)||s(e.stylisPlugins)}),[e.stylisPlugins]),r.createElement(ue.Provider,{value:u},r.createElement(de.Provider,{value:l},\"production\"!==process.env.NODE_ENV?r.Children.only(e.children):e.children))}var ve=function(){function e(e,t){var n=this;this.inject=function(e,t){void 0===t&&(t=pe);var r=n.name+t.hash;e.hasNameForId(n.id,r)||e.insertRules(n.id,r,t(n.rules,r,\"@keyframes\"))},this.toString=function(){return j(12,String(n.name))},this.name=e,this.id=\"sc-keyframes-\"+e,this.rules=t}return e.prototype.getName=function(e){return void 0===e&&(e=pe),this.name+e.hash},e}(),ge=/([A-Z])/,Se=/([A-Z])/g,we=/^ms-/,Ee=function(e){return\"-\"+e.toLowerCase()};function be(e){return ge.test(e)?e.replace(Se,Ee).replace(we,\"-ms-\"):e}var _e=function(e){return null==e||!1===e||\"\"===e};function Ne(e,n,r,o){if(Array.isArray(e)){for(var s,i=[],a=0,c=e.length;a<c;a+=1)\"\"!==(s=Ne(e[a],n,r,o))&&(Array.isArray(s)?i.push.apply(i,s):i.push(s));return i}if(_e(e))return\"\";if(N(e))return\".\"+e.styledComponentId;if(b(e)){if(\"function\"!=typeof(l=e)||l.prototype&&l.prototype.isReactComponent||!n)return e;var u=e(n);return\"production\"!==process.env.NODE_ENV&&t(u)&&console.warn(_(e)+\" is not a styled component and cannot be referred to via component selector. See https://www.styled-components.com/docs/advanced#referring-to-other-components for more details.\"),Ne(u,n,r,o)}var l;return e instanceof ve?r?(e.inject(r,o),e.getName(o)):e:S(e)?function e(t,n){var r,o,s=[];for(var i in t)t.hasOwnProperty(i)&&!_e(t[i])&&(Array.isArray(t[i])&&t[i].isCss||b(t[i])?s.push(be(i)+\":\",t[i],\";\"):S(t[i])?s.push.apply(s,e(t[i],i)):s.push(be(i)+\": \"+(r=i,null==(o=t[i])||\"boolean\"==typeof o||\"\"===o?\"\":\"number\"!=typeof o||0===o||r in f?String(o).trim():o+\"px\")+\";\"));return n?[n+\" {\"].concat(s,[\"}\"]):s}(e):e.toString()}var Ae=function(e){return Array.isArray(e)&&(e.isCss=!0),e};function Ce(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];return b(e)||S(e)?Ae(Ne(g(w,[e].concat(n)))):0===n.length&&1===e.length&&\"string\"==typeof e[0]?e:Ae(Ne(g(e,n)))}var Ie=/invalid hook call/i,Pe=new Set,Oe=function(e,t){if(\"production\"!==process.env.NODE_ENV){var n=\"The component \"+e+(t?' with the id of \"'+t+'\"':\"\")+\" has been created dynamically.\\nYou may see this warning because you've called styled inside another component.\\nTo resolve this only create new StyledComponents outside of any render method and function component.\",r=console.error;try{var o=!0;console.error=function(e){if(Ie.test(e))o=!1,Pe.delete(n);else{for(var t=arguments.length,s=new Array(t>1?t-1:0),i=1;i<t;i++)s[i-1]=arguments[i];r.apply(void 0,[e].concat(s))}},c(),o&&!Pe.has(n)&&(console.warn(n),Pe.add(n))}catch(e){Ie.test(e.message)&&Pe.delete(n)}finally{console.error=r}}},Re=function(e,t,n){return void 0===n&&(n=E),e.theme!==n.theme&&e.theme||t||n.theme},De=/[!\"#$%&'()*+,./:;<=>?@[\\\\\\]^`{|}~-]+/g,je=/(^-|-$)/g;function Te(e){return e.replace(De,\"-\").replace(je,\"\")}var xe=function(e){return ee(ne(e)>>>0)};function ke(e){return\"string\"==typeof e&&(\"production\"===process.env.NODE_ENV||e.charAt(0)===e.charAt(0).toLowerCase())}var Ve=function(e){return\"function\"==typeof e||\"object\"==typeof e&&null!==e&&!Array.isArray(e)},Be=function(e){return\"__proto__\"!==e&&\"constructor\"!==e&&\"prototype\"!==e};function ze(e,t,n){var r=e[n];Ve(t)&&Ve(r)?Me(r,t):e[n]=t}function Me(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];for(var o=0,s=n;o<s.length;o++){var i=s[o];if(Ve(i))for(var a in i)Be(a)&&ze(e,i[a],a)}return e}var Ge=r.createContext(),Le=Ge.Consumer;function Fe(e){var t=s(Ge),n=i((function(){return function(e,t){if(!e)return j(14);if(b(e)){var n=e(t);return\"production\"===process.env.NODE_ENV||null!==n&&!Array.isArray(n)&&\"object\"==typeof n?n:j(7)}return Array.isArray(e)||\"object\"!=typeof e?j(8):t?v({},t,{},e):e}(e.theme,t)}),[e.theme,t]);return e.children?r.createElement(Ge.Provider,{value:n},e.children):null}var Ye={};function qe(e,t,n){var o=N(e),i=!ke(e),a=t.attrs,c=void 0===a?w:a,d=t.componentId,h=void 0===d?function(e,t){var n=\"string\"!=typeof e?\"sc\":Te(e);Ye[n]=(Ye[n]||0)+1;var r=n+\"-\"+xe(\"5.3.6\"+n+Ye[n]);return t?t+\"-\"+r:r}(t.displayName,t.parentComponentId):d,p=t.displayName,f=void 0===p?function(e){return ke(e)?\"styled.\"+e:\"Styled(\"+_(e)+\")\"}(e):p,g=t.displayName&&t.componentId?Te(t.displayName)+\"-\"+t.componentId:t.componentId||h,S=o&&e.attrs?Array.prototype.concat(e.attrs,c).filter(Boolean):c,A=t.shouldForwardProp;o&&e.shouldForwardProp&&(A=t.shouldForwardProp?function(n,r,o){return e.shouldForwardProp(n,r,o)&&t.shouldForwardProp(n,r,o)}:e.shouldForwardProp);var C,I=new se(n,g,o?e.componentStyle:void 0),P=I.isStatic&&0===c.length,O=function(e,t){return function(e,t,n,r){var o=e.attrs,i=e.componentStyle,a=e.defaultProps,c=e.foldedComponentIds,d=e.shouldForwardProp,h=e.styledComponentId,p=e.target;\"production\"!==process.env.NODE_ENV&&l(h);var f=function(e,t,n){void 0===e&&(e=E);var r=v({},t,{theme:e}),o={};return n.forEach((function(e){var t,n,s,i=e;for(t in b(i)&&(i=i(r)),i)r[t]=o[t]=\"className\"===t?(n=o[t],s=i[t],n&&s?n+\" \"+s:n||s):i[t]})),[r,o]}(Re(t,s(Ge),a)||E,t,o),y=f[0],g=f[1],S=function(e,t,n,r){var o=fe(),s=me(),i=t?e.generateAndInjectStyles(E,o,s):e.generateAndInjectStyles(n,o,s);return\"production\"!==process.env.NODE_ENV&&l(i),\"production\"!==process.env.NODE_ENV&&!t&&r&&r(i),i}(i,r,y,\"production\"!==process.env.NODE_ENV?e.warnTooManyClasses:void 0),w=n,_=g.$as||t.$as||g.as||t.as||p,N=ke(_),A=g!==t?v({},t,{},g):t,C={};for(var I in A)\"$\"!==I[0]&&\"as\"!==I&&(\"forwardedAs\"===I?C.as=A[I]:(d?d(I,m,_):!N||m(I))&&(C[I]=A[I]));return t.style&&g.style!==t.style&&(C.style=v({},t.style,{},g.style)),C.className=Array.prototype.concat(c,h,S!==h?S:null,t.className,g.className).filter(Boolean).join(\" \"),C.ref=w,u(_,C)}(C,e,t,P)};return O.displayName=f,(C=r.forwardRef(O)).attrs=S,C.componentStyle=I,C.displayName=f,C.shouldForwardProp=A,C.foldedComponentIds=o?Array.prototype.concat(e.foldedComponentIds,e.styledComponentId):w,C.styledComponentId=g,C.target=o?e.target:e,C.withComponent=function(e){var r=t.componentId,o=function(e,t){if(null==e)return{};var n,r,o={},s=Object.keys(e);for(r=0;r<s.length;r++)n=s[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(t,[\"componentId\"]),s=r&&r+\"-\"+(ke(e)?e:Te(_(e)));return qe(e,v({},o,{attrs:S,componentId:s}),n)},Object.defineProperty(C,\"defaultProps\",{get:function(){return this._foldedDefaultProps},set:function(t){this._foldedDefaultProps=o?Me({},e.defaultProps,t):t}}),\"production\"!==process.env.NODE_ENV&&(Oe(f,g),C.warnTooManyClasses=function(e,t){var n={},r=!1;return function(o){if(!r&&(n[o]=!0,Object.keys(n).length>=200)){var s=t?' with the id of \"'+t+'\"':\"\";console.warn(\"Over 200 classes were generated for component \"+e+s+\".\\nConsider using the attrs method, together with a style object for frequently changed styles.\\nExample:\\n const Component = styled.div.attrs(props => ({\\n style: {\\n background: props.background,\\n },\\n }))`width: 100%;`\\n\\n <Component />\"),r=!0,n={}}}}(f,g)),C.toString=function(){return\".\"+C.styledComponentId},i&&y(C,e,{attrs:!0,componentStyle:!0,displayName:!0,foldedComponentIds:!0,shouldForwardProp:!0,styledComponentId:!0,target:!0,withComponent:!0}),C}var He=function(e){return function e(t,r,o){if(void 0===o&&(o=E),!n(r))return j(1,String(r));var s=function(){return t(r,o,Ce.apply(void 0,arguments))};return s.withConfig=function(n){return e(t,r,v({},o,{},n))},s.attrs=function(n){return e(t,r,v({},o,{attrs:Array.prototype.concat(o.attrs,n).filter(Boolean)}))},s}(qe,e)};[\"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\",\"circle\",\"clipPath\",\"defs\",\"ellipse\",\"foreignObject\",\"g\",\"image\",\"line\",\"linearGradient\",\"marker\",\"mask\",\"path\",\"pattern\",\"polygon\",\"polyline\",\"radialGradient\",\"rect\",\"stop\",\"svg\",\"text\",\"textPath\",\"tspan\"].forEach((function(e){He[e]=He(e)}));var $e=function(){function e(e,t){this.rules=e,this.componentId=t,this.isStatic=re(e),Z.registerId(this.componentId+1)}var t=e.prototype;return t.createStyles=function(e,t,n,r){var o=r(Ne(this.rules,t,n,r).join(\"\"),\"\"),s=this.componentId+e;n.insertRules(s,s,o)},t.removeStyles=function(e,t){t.clearRules(this.componentId+e)},t.renderStyles=function(e,t,n,r){e>2&&Z.registerId(this.componentId+e),this.removeStyles(e,n),this.createStyles(e,t,n,r)},e}();function We(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),o=1;o<t;o++)n[o-1]=arguments[o];var i=Ce.apply(void 0,[e].concat(n)),a=\"sc-global-\"+xe(JSON.stringify(i)),u=new $e(i,a);function l(e){var t=fe(),n=me(),o=s(Ge),l=c(t.allocateGSInstance(a)).current;return\"production\"!==process.env.NODE_ENV&&r.Children.count(e.children)&&console.warn(\"The global style component \"+a+\" was given child JSX. createGlobalStyle does not render children.\"),\"production\"!==process.env.NODE_ENV&&i.some((function(e){return\"string\"==typeof e&&-1!==e.indexOf(\"@import\")}))&&console.warn(\"Please do not use @import CSS syntax in createGlobalStyle at this time, as the CSSOM APIs we use in production do not handle it well. Instead, we recommend using a library such as react-helmet to inject a typical <link> meta tag to the stylesheet, or simply embedding it manually in your index.html <head> section for a simpler app.\"),t.server&&h(l,e,t,o,n),d((function(){if(!t.server)return h(l,e,t,o,n),function(){return u.removeStyles(l,t)}}),[l,e,t,o,n]),null}function h(e,t,n,r,o){if(u.isStatic)u.renderStyles(e,O,n,o);else{var s=v({},t,{theme:Re(t,r,l.defaultProps)});u.renderStyles(e,s,n,o)}}return\"production\"!==process.env.NODE_ENV&&Oe(a),r.memo(l)}function Ue(e){\"production\"!==process.env.NODE_ENV&&\"undefined\"!=typeof navigator&&\"ReactNative\"===navigator.product&&console.warn(\"`keyframes` cannot be used on ReactNative, only on the web. To do animation in ReactNative please use Animated.\");for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];var o=Ce.apply(void 0,[e].concat(n)).join(\"\"),s=xe(o);return new ve(s,o)}var Je=function(){function e(){var e=this;this._emitSheetCSS=function(){var t=e.instance.toString();if(!t)return\"\";var n=q();return\"<style \"+[n&&'nonce=\"'+n+'\"',A+'=\"true\"','data-styled-version=\"5.3.6\"'].filter(Boolean).join(\" \")+\">\"+t+\"</style>\"},this.getStyleTags=function(){return e.sealed?j(2):e._emitSheetCSS()},this.getStyleElement=function(){var t;if(e.sealed)return j(2);var n=((t={})[A]=\"\",t[\"data-styled-version\"]=\"5.3.6\",t.dangerouslySetInnerHTML={__html:e.instance.toString()},t),o=q();return o&&(n.nonce=o),[r.createElement(\"style\",v({},n,{key:\"sc-0-0\"}))]},this.seal=function(){e.sealed=!0},this.instance=new Z({isServer:!0}),this.sealed=!1}var t=e.prototype;return t.collectStyles=function(e){return this.sealed?j(2):r.createElement(ye,{sheet:this.instance},e)},t.interleaveWithNodeStream=function(e){return j(3)},e}(),Xe=function(e){var t=r.forwardRef((function(t,n){var o=s(Ge),i=e.defaultProps,a=Re(t,o,i);return\"production\"!==process.env.NODE_ENV&&void 0===a&&console.warn('[withTheme] You are not using a ThemeProvider nor passing a theme prop or a theme in defaultProps in component class \"'+_(e)+'\"'),r.createElement(e,v({},t,{theme:a,ref:n}))}));return y(t,e),t.displayName=\"WithTheme(\"+_(e)+\")\",t},Ze=function(){return s(Ge)},Ke={StyleSheet:Z,masterSheet:he};\"production\"!==process.env.NODE_ENV&&\"undefined\"!=typeof navigator&&\"ReactNative\"===navigator.product&&console.warn(\"It looks like you've imported 'styled-components' on React Native.\\nPerhaps you're looking to import 'styled-components/native'?\\nRead more about this at https://www.styled-components.com/docs/basics#react-native\"),\"production\"!==process.env.NODE_ENV&&\"test\"!==process.env.NODE_ENV&&\"undefined\"!=typeof window&&(window[\"__styled-components-init__\"]=window[\"__styled-components-init__\"]||0,1===window[\"__styled-components-init__\"]&&console.warn(\"It looks like there are several instances of 'styled-components' initialized in this application. This may cause dynamic styles to not render properly, errors during the rehydration process, a missing theme prop, and makes your application bigger without good reason.\\n\\nSee https://s-c.sh/2BAXzed for more info.\"),window[\"__styled-components-init__\"]+=1);export default He;export{Je as ServerStyleSheet,le as StyleSheetConsumer,ue as StyleSheetContext,ye as StyleSheetManager,Le as ThemeConsumer,Ge as ThemeContext,Fe as ThemeProvider,Ke as __PRIVATE__,We as createGlobalStyle,Ce as css,N as isStyledComponent,Ue as keyframes,Ze as useTheme,C as version,Xe as withTheme};\n//# sourceMappingURL=styled-components.browser.esm.js.map\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.STYLIS_PROPERTY_CONTEXT = undefined;\n\nvar _cssjanus = require(\"cssjanus\");\n\nvar _cssjanus2 = _interopRequireDefault(_cssjanus);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n// https://github.com/thysultan/stylis.js#plugins\nvar STYLIS_CONTEXTS = {\n POST_PROCESS: -2,\n PREPARATION: -1,\n NEWLINE: 0,\n PROPERTY: 1,\n SELECTOR_BLOCK: 2,\n AT_RULE: 3\n};\n\n// We need to apply cssjanus as early as possible to capture the noflip directives if used\n// (they are not present at the PROPERTY, SELECTOR_BLOCK, or POST_PROCESS steps)\nvar STYLIS_PROPERTY_CONTEXT = exports.STYLIS_PROPERTY_CONTEXT = STYLIS_CONTEXTS.PREPARATION;\n\nfunction stylisRTLPlugin(context, content) {\n if (context === STYLIS_PROPERTY_CONTEXT) {\n return _cssjanus2.default.transform(content);\n }\n}\n\n// stable identifier that will not be dropped by minification unless the whole module\n// is unused\nObject.defineProperty(stylisRTLPlugin, \"name\", { value: \"stylisRTLPlugin\" });\n\nexports.default = stylisRTLPlugin;","/**\n * @license React\n * use-sync-external-store-shim.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var e=require(\"react\");function h(a,b){return a===b&&(0!==a||1/a===1/b)||a!==a&&b!==b}var k=\"function\"===typeof Object.is?Object.is:h,l=e.useState,m=e.useEffect,n=e.useLayoutEffect,p=e.useDebugValue;function q(a,b){var d=b(),f=l({inst:{value:d,getSnapshot:b}}),c=f[0].inst,g=f[1];n(function(){c.value=d;c.getSnapshot=b;r(c)&&g({inst:c})},[a,d,b]);m(function(){r(c)&&g({inst:c});return a(function(){r(c)&&g({inst:c})})},[a]);p(d);return d}\nfunction r(a){var b=a.getSnapshot;a=a.value;try{var d=b();return!k(a,d)}catch(f){return!0}}function t(a,b){return b()}var u=\"undefined\"===typeof window||\"undefined\"===typeof window.document||\"undefined\"===typeof window.document.createElement?t:q;exports.useSyncExternalStore=void 0!==e.useSyncExternalStore?e.useSyncExternalStore:u;\n","/**\n * @license React\n * use-sync-external-store-shim/with-selector.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var h=require(\"react\"),n=require(\"use-sync-external-store/shim\");function p(a,b){return a===b&&(0!==a||1/a===1/b)||a!==a&&b!==b}var q=\"function\"===typeof Object.is?Object.is:p,r=n.useSyncExternalStore,t=h.useRef,u=h.useEffect,v=h.useMemo,w=h.useDebugValue;\nexports.useSyncExternalStoreWithSelector=function(a,b,e,l,g){var c=t(null);if(null===c.current){var f={hasValue:!1,value:null};c.current=f}else f=c.current;c=v(function(){function a(a){if(!c){c=!0;d=a;a=l(a);if(void 0!==g&&f.hasValue){var b=f.value;if(g(b,a))return k=b}return k=a}b=k;if(q(d,a))return b;var e=l(a);if(void 0!==g&&g(b,e))return b;d=a;return k=e}var c=!1,d,k,m=void 0===e?null:e;return[function(){return a(b())},null===m?void 0:function(){return a(m())}]},[b,e,l,g]);var d=r(a,c[0],c[1]);\nu(function(){f.hasValue=!0;f.value=d},[d]);w(d);return d};\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('../cjs/use-sync-external-store-shim.production.min.js');\n} else {\n module.exports = require('../cjs/use-sync-external-store-shim.development.js');\n}\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('../cjs/use-sync-external-store-shim/with-selector.production.min.js');\n} else {\n module.exports = require('../cjs/use-sync-external-store-shim/with-selector.development.js');\n}\n","module.exports = function isBuffer(arg) {\n return arg && typeof arg === 'object'\n && typeof arg.copy === 'function'\n && typeof arg.fill === 'function'\n && typeof arg.readUInt8 === 'function';\n}","// Currently in sync with Node.js lib/internal/util/types.js\n// https://github.com/nodejs/node/commit/112cc7c27551254aa2b17098fb774867f05ed0d9\n\n'use strict';\n\nvar isArgumentsObject = require('is-arguments');\nvar isGeneratorFunction = require('is-generator-function');\nvar whichTypedArray = require('which-typed-array');\nvar isTypedArray = require('is-typed-array');\n\nfunction uncurryThis(f) {\n return f.call.bind(f);\n}\n\nvar BigIntSupported = typeof BigInt !== 'undefined';\nvar SymbolSupported = typeof Symbol !== 'undefined';\n\nvar ObjectToString = uncurryThis(Object.prototype.toString);\n\nvar numberValue = uncurryThis(Number.prototype.valueOf);\nvar stringValue = uncurryThis(String.prototype.valueOf);\nvar booleanValue = uncurryThis(Boolean.prototype.valueOf);\n\nif (BigIntSupported) {\n var bigIntValue = uncurryThis(BigInt.prototype.valueOf);\n}\n\nif (SymbolSupported) {\n var symbolValue = uncurryThis(Symbol.prototype.valueOf);\n}\n\nfunction checkBoxedPrimitive(value, prototypeValueOf) {\n if (typeof value !== 'object') {\n return false;\n }\n try {\n prototypeValueOf(value);\n return true;\n } catch(e) {\n return false;\n }\n}\n\nexports.isArgumentsObject = isArgumentsObject;\nexports.isGeneratorFunction = isGeneratorFunction;\nexports.isTypedArray = isTypedArray;\n\n// Taken from here and modified for better browser support\n// https://github.com/sindresorhus/p-is-promise/blob/cda35a513bda03f977ad5cde3a079d237e82d7ef/index.js\nfunction isPromise(input) {\n\treturn (\n\t\t(\n\t\t\ttypeof Promise !== 'undefined' &&\n\t\t\tinput instanceof Promise\n\t\t) ||\n\t\t(\n\t\t\tinput !== null &&\n\t\t\ttypeof input === 'object' &&\n\t\t\ttypeof input.then === 'function' &&\n\t\t\ttypeof input.catch === 'function'\n\t\t)\n\t);\n}\nexports.isPromise = isPromise;\n\nfunction isArrayBufferView(value) {\n if (typeof ArrayBuffer !== 'undefined' && ArrayBuffer.isView) {\n return ArrayBuffer.isView(value);\n }\n\n return (\n isTypedArray(value) ||\n isDataView(value)\n );\n}\nexports.isArrayBufferView = isArrayBufferView;\n\n\nfunction isUint8Array(value) {\n return whichTypedArray(value) === 'Uint8Array';\n}\nexports.isUint8Array = isUint8Array;\n\nfunction isUint8ClampedArray(value) {\n return whichTypedArray(value) === 'Uint8ClampedArray';\n}\nexports.isUint8ClampedArray = isUint8ClampedArray;\n\nfunction isUint16Array(value) {\n return whichTypedArray(value) === 'Uint16Array';\n}\nexports.isUint16Array = isUint16Array;\n\nfunction isUint32Array(value) {\n return whichTypedArray(value) === 'Uint32Array';\n}\nexports.isUint32Array = isUint32Array;\n\nfunction isInt8Array(value) {\n return whichTypedArray(value) === 'Int8Array';\n}\nexports.isInt8Array = isInt8Array;\n\nfunction isInt16Array(value) {\n return whichTypedArray(value) === 'Int16Array';\n}\nexports.isInt16Array = isInt16Array;\n\nfunction isInt32Array(value) {\n return whichTypedArray(value) === 'Int32Array';\n}\nexports.isInt32Array = isInt32Array;\n\nfunction isFloat32Array(value) {\n return whichTypedArray(value) === 'Float32Array';\n}\nexports.isFloat32Array = isFloat32Array;\n\nfunction isFloat64Array(value) {\n return whichTypedArray(value) === 'Float64Array';\n}\nexports.isFloat64Array = isFloat64Array;\n\nfunction isBigInt64Array(value) {\n return whichTypedArray(value) === 'BigInt64Array';\n}\nexports.isBigInt64Array = isBigInt64Array;\n\nfunction isBigUint64Array(value) {\n return whichTypedArray(value) === 'BigUint64Array';\n}\nexports.isBigUint64Array = isBigUint64Array;\n\nfunction isMapToString(value) {\n return ObjectToString(value) === '[object Map]';\n}\nisMapToString.working = (\n typeof Map !== 'undefined' &&\n isMapToString(new Map())\n);\n\nfunction isMap(value) {\n if (typeof Map === 'undefined') {\n return false;\n }\n\n return isMapToString.working\n ? isMapToString(value)\n : value instanceof Map;\n}\nexports.isMap = isMap;\n\nfunction isSetToString(value) {\n return ObjectToString(value) === '[object Set]';\n}\nisSetToString.working = (\n typeof Set !== 'undefined' &&\n isSetToString(new Set())\n);\nfunction isSet(value) {\n if (typeof Set === 'undefined') {\n return false;\n }\n\n return isSetToString.working\n ? isSetToString(value)\n : value instanceof Set;\n}\nexports.isSet = isSet;\n\nfunction isWeakMapToString(value) {\n return ObjectToString(value) === '[object WeakMap]';\n}\nisWeakMapToString.working = (\n typeof WeakMap !== 'undefined' &&\n isWeakMapToString(new WeakMap())\n);\nfunction isWeakMap(value) {\n if (typeof WeakMap === 'undefined') {\n return false;\n }\n\n return isWeakMapToString.working\n ? isWeakMapToString(value)\n : value instanceof WeakMap;\n}\nexports.isWeakMap = isWeakMap;\n\nfunction isWeakSetToString(value) {\n return ObjectToString(value) === '[object WeakSet]';\n}\nisWeakSetToString.working = (\n typeof WeakSet !== 'undefined' &&\n isWeakSetToString(new WeakSet())\n);\nfunction isWeakSet(value) {\n return isWeakSetToString(value);\n}\nexports.isWeakSet = isWeakSet;\n\nfunction isArrayBufferToString(value) {\n return ObjectToString(value) === '[object ArrayBuffer]';\n}\nisArrayBufferToString.working = (\n typeof ArrayBuffer !== 'undefined' &&\n isArrayBufferToString(new ArrayBuffer())\n);\nfunction isArrayBuffer(value) {\n if (typeof ArrayBuffer === 'undefined') {\n return false;\n }\n\n return isArrayBufferToString.working\n ? isArrayBufferToString(value)\n : value instanceof ArrayBuffer;\n}\nexports.isArrayBuffer = isArrayBuffer;\n\nfunction isDataViewToString(value) {\n return ObjectToString(value) === '[object DataView]';\n}\nisDataViewToString.working = (\n typeof ArrayBuffer !== 'undefined' &&\n typeof DataView !== 'undefined' &&\n isDataViewToString(new DataView(new ArrayBuffer(1), 0, 1))\n);\nfunction isDataView(value) {\n if (typeof DataView === 'undefined') {\n return false;\n }\n\n return isDataViewToString.working\n ? isDataViewToString(value)\n : value instanceof DataView;\n}\nexports.isDataView = isDataView;\n\n// Store a copy of SharedArrayBuffer in case it's deleted elsewhere\nvar SharedArrayBufferCopy = typeof SharedArrayBuffer !== 'undefined' ? SharedArrayBuffer : undefined;\nfunction isSharedArrayBufferToString(value) {\n return ObjectToString(value) === '[object SharedArrayBuffer]';\n}\nfunction isSharedArrayBuffer(value) {\n if (typeof SharedArrayBufferCopy === 'undefined') {\n return false;\n }\n\n if (typeof isSharedArrayBufferToString.working === 'undefined') {\n isSharedArrayBufferToString.working = isSharedArrayBufferToString(new SharedArrayBufferCopy());\n }\n\n return isSharedArrayBufferToString.working\n ? isSharedArrayBufferToString(value)\n : value instanceof SharedArrayBufferCopy;\n}\nexports.isSharedArrayBuffer = isSharedArrayBuffer;\n\nfunction isAsyncFunction(value) {\n return ObjectToString(value) === '[object AsyncFunction]';\n}\nexports.isAsyncFunction = isAsyncFunction;\n\nfunction isMapIterator(value) {\n return ObjectToString(value) === '[object Map Iterator]';\n}\nexports.isMapIterator = isMapIterator;\n\nfunction isSetIterator(value) {\n return ObjectToString(value) === '[object Set Iterator]';\n}\nexports.isSetIterator = isSetIterator;\n\nfunction isGeneratorObject(value) {\n return ObjectToString(value) === '[object Generator]';\n}\nexports.isGeneratorObject = isGeneratorObject;\n\nfunction isWebAssemblyCompiledModule(value) {\n return ObjectToString(value) === '[object WebAssembly.Module]';\n}\nexports.isWebAssemblyCompiledModule = isWebAssemblyCompiledModule;\n\nfunction isNumberObject(value) {\n return checkBoxedPrimitive(value, numberValue);\n}\nexports.isNumberObject = isNumberObject;\n\nfunction isStringObject(value) {\n return checkBoxedPrimitive(value, stringValue);\n}\nexports.isStringObject = isStringObject;\n\nfunction isBooleanObject(value) {\n return checkBoxedPrimitive(value, booleanValue);\n}\nexports.isBooleanObject = isBooleanObject;\n\nfunction isBigIntObject(value) {\n return BigIntSupported && checkBoxedPrimitive(value, bigIntValue);\n}\nexports.isBigIntObject = isBigIntObject;\n\nfunction isSymbolObject(value) {\n return SymbolSupported && checkBoxedPrimitive(value, symbolValue);\n}\nexports.isSymbolObject = isSymbolObject;\n\nfunction isBoxedPrimitive(value) {\n return (\n isNumberObject(value) ||\n isStringObject(value) ||\n isBooleanObject(value) ||\n isBigIntObject(value) ||\n isSymbolObject(value)\n );\n}\nexports.isBoxedPrimitive = isBoxedPrimitive;\n\nfunction isAnyArrayBuffer(value) {\n return typeof Uint8Array !== 'undefined' && (\n isArrayBuffer(value) ||\n isSharedArrayBuffer(value)\n );\n}\nexports.isAnyArrayBuffer = isAnyArrayBuffer;\n\n['isProxy', 'isExternal', 'isModuleNamespaceObject'].forEach(function(method) {\n Object.defineProperty(exports, method, {\n enumerable: false,\n value: function() {\n throw new Error(method + ' is not supported in userland');\n }\n });\n});\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nvar getOwnPropertyDescriptors = Object.getOwnPropertyDescriptors ||\n function getOwnPropertyDescriptors(obj) {\n var keys = Object.keys(obj);\n var descriptors = {};\n for (var i = 0; i < keys.length; i++) {\n descriptors[keys[i]] = Object.getOwnPropertyDescriptor(obj, keys[i]);\n }\n return descriptors;\n };\n\nvar formatRegExp = /%[sdj%]/g;\nexports.format = function(f) {\n if (!isString(f)) {\n var objects = [];\n for (var i = 0; i < arguments.length; i++) {\n objects.push(inspect(arguments[i]));\n }\n return objects.join(' ');\n }\n\n var i = 1;\n var args = arguments;\n var len = args.length;\n var str = String(f).replace(formatRegExp, function(x) {\n if (x === '%%') return '%';\n if (i >= len) return x;\n switch (x) {\n case '%s': return String(args[i++]);\n case '%d': return Number(args[i++]);\n case '%j':\n try {\n return JSON.stringify(args[i++]);\n } catch (_) {\n return '[Circular]';\n }\n default:\n return x;\n }\n });\n for (var x = args[i]; i < len; x = args[++i]) {\n if (isNull(x) || !isObject(x)) {\n str += ' ' + x;\n } else {\n str += ' ' + inspect(x);\n }\n }\n return str;\n};\n\n\n// Mark that a method should not be used.\n// Returns a modified function which warns once by default.\n// If --no-deprecation is set, then it is a no-op.\nexports.deprecate = function(fn, msg) {\n if (typeof process !== 'undefined' && process.noDeprecation === true) {\n return fn;\n }\n\n // Allow for deprecating things in the process of starting up.\n if (typeof process === 'undefined') {\n return function() {\n return exports.deprecate(fn, msg).apply(this, arguments);\n };\n }\n\n var warned = false;\n function deprecated() {\n if (!warned) {\n if (process.throwDeprecation) {\n throw new Error(msg);\n } else if (process.traceDeprecation) {\n console.trace(msg);\n } else {\n console.error(msg);\n }\n warned = true;\n }\n return fn.apply(this, arguments);\n }\n\n return deprecated;\n};\n\n\nvar debugs = {};\nvar debugEnvRegex = /^$/;\n\nif (process.env.NODE_DEBUG) {\n var debugEnv = process.env.NODE_DEBUG;\n debugEnv = debugEnv.replace(/[|\\\\{}()[\\]^$+?.]/g, '\\\\$&')\n .replace(/\\*/g, '.*')\n .replace(/,/g, '$|^')\n .toUpperCase();\n debugEnvRegex = new RegExp('^' + debugEnv + '$', 'i');\n}\nexports.debuglog = function(set) {\n set = set.toUpperCase();\n if (!debugs[set]) {\n if (debugEnvRegex.test(set)) {\n var pid = process.pid;\n debugs[set] = function() {\n var msg = exports.format.apply(exports, arguments);\n console.error('%s %d: %s', set, pid, msg);\n };\n } else {\n debugs[set] = function() {};\n }\n }\n return debugs[set];\n};\n\n\n/**\n * Echos the value of a value. Trys to print the value out\n * in the best way possible given the different types.\n *\n * @param {Object} obj The object to print out.\n * @param {Object} opts Optional options object that alters the output.\n */\n/* legacy: obj, showHidden, depth, colors*/\nfunction inspect(obj, opts) {\n // default options\n var ctx = {\n seen: [],\n stylize: stylizeNoColor\n };\n // legacy...\n if (arguments.length >= 3) ctx.depth = arguments[2];\n if (arguments.length >= 4) ctx.colors = arguments[3];\n if (isBoolean(opts)) {\n // legacy...\n ctx.showHidden = opts;\n } else if (opts) {\n // got an \"options\" object\n exports._extend(ctx, opts);\n }\n // set default options\n if (isUndefined(ctx.showHidden)) ctx.showHidden = false;\n if (isUndefined(ctx.depth)) ctx.depth = 2;\n if (isUndefined(ctx.colors)) ctx.colors = false;\n if (isUndefined(ctx.customInspect)) ctx.customInspect = true;\n if (ctx.colors) ctx.stylize = stylizeWithColor;\n return formatValue(ctx, obj, ctx.depth);\n}\nexports.inspect = inspect;\n\n\n// http://en.wikipedia.org/wiki/ANSI_escape_code#graphics\ninspect.colors = {\n 'bold' : [1, 22],\n 'italic' : [3, 23],\n 'underline' : [4, 24],\n 'inverse' : [7, 27],\n 'white' : [37, 39],\n 'grey' : [90, 39],\n 'black' : [30, 39],\n 'blue' : [34, 39],\n 'cyan' : [36, 39],\n 'green' : [32, 39],\n 'magenta' : [35, 39],\n 'red' : [31, 39],\n 'yellow' : [33, 39]\n};\n\n// Don't use 'blue' not visible on cmd.exe\ninspect.styles = {\n 'special': 'cyan',\n 'number': 'yellow',\n 'boolean': 'yellow',\n 'undefined': 'grey',\n 'null': 'bold',\n 'string': 'green',\n 'date': 'magenta',\n // \"name\": intentionally not styling\n 'regexp': 'red'\n};\n\n\nfunction stylizeWithColor(str, styleType) {\n var style = inspect.styles[styleType];\n\n if (style) {\n return '\\u001b[' + inspect.colors[style][0] + 'm' + str +\n '\\u001b[' + inspect.colors[style][1] + 'm';\n } else {\n return str;\n }\n}\n\n\nfunction stylizeNoColor(str, styleType) {\n return str;\n}\n\n\nfunction arrayToHash(array) {\n var hash = {};\n\n array.forEach(function(val, idx) {\n hash[val] = true;\n });\n\n return hash;\n}\n\n\nfunction formatValue(ctx, value, recurseTimes) {\n // Provide a hook for user-specified inspect functions.\n // Check that value is an object with an inspect function on it\n if (ctx.customInspect &&\n value &&\n isFunction(value.inspect) &&\n // Filter out the util module, it's inspect function is special\n value.inspect !== exports.inspect &&\n // Also filter out any prototype objects using the circular check.\n !(value.constructor && value.constructor.prototype === value)) {\n var ret = value.inspect(recurseTimes, ctx);\n if (!isString(ret)) {\n ret = formatValue(ctx, ret, recurseTimes);\n }\n return ret;\n }\n\n // Primitive types cannot have properties\n var primitive = formatPrimitive(ctx, value);\n if (primitive) {\n return primitive;\n }\n\n // Look up the keys of the object.\n var keys = Object.keys(value);\n var visibleKeys = arrayToHash(keys);\n\n if (ctx.showHidden) {\n keys = Object.getOwnPropertyNames(value);\n }\n\n // IE doesn't make error fields non-enumerable\n // http://msdn.microsoft.com/en-us/library/ie/dww52sbt(v=vs.94).aspx\n if (isError(value)\n && (keys.indexOf('message') >= 0 || keys.indexOf('description') >= 0)) {\n return formatError(value);\n }\n\n // Some type of object without properties can be shortcutted.\n if (keys.length === 0) {\n if (isFunction(value)) {\n var name = value.name ? ': ' + value.name : '';\n return ctx.stylize('[Function' + name + ']', 'special');\n }\n if (isRegExp(value)) {\n return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp');\n }\n if (isDate(value)) {\n return ctx.stylize(Date.prototype.toString.call(value), 'date');\n }\n if (isError(value)) {\n return formatError(value);\n }\n }\n\n var base = '', array = false, braces = ['{', '}'];\n\n // Make Array say that they are Array\n if (isArray(value)) {\n array = true;\n braces = ['[', ']'];\n }\n\n // Make functions say that they are functions\n if (isFunction(value)) {\n var n = value.name ? ': ' + value.name : '';\n base = ' [Function' + n + ']';\n }\n\n // Make RegExps say that they are RegExps\n if (isRegExp(value)) {\n base = ' ' + RegExp.prototype.toString.call(value);\n }\n\n // Make dates with properties first say the date\n if (isDate(value)) {\n base = ' ' + Date.prototype.toUTCString.call(value);\n }\n\n // Make error with message first say the error\n if (isError(value)) {\n base = ' ' + formatError(value);\n }\n\n if (keys.length === 0 && (!array || value.length == 0)) {\n return braces[0] + base + braces[1];\n }\n\n if (recurseTimes < 0) {\n if (isRegExp(value)) {\n return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp');\n } else {\n return ctx.stylize('[Object]', 'special');\n }\n }\n\n ctx.seen.push(value);\n\n var output;\n if (array) {\n output = formatArray(ctx, value, recurseTimes, visibleKeys, keys);\n } else {\n output = keys.map(function(key) {\n return formatProperty(ctx, value, recurseTimes, visibleKeys, key, array);\n });\n }\n\n ctx.seen.pop();\n\n return reduceToSingleString(output, base, braces);\n}\n\n\nfunction formatPrimitive(ctx, value) {\n if (isUndefined(value))\n return ctx.stylize('undefined', 'undefined');\n if (isString(value)) {\n var simple = '\\'' + JSON.stringify(value).replace(/^\"|\"$/g, '')\n .replace(/'/g, \"\\\\'\")\n .replace(/\\\\\"/g, '\"') + '\\'';\n return ctx.stylize(simple, 'string');\n }\n if (isNumber(value))\n return ctx.stylize('' + value, 'number');\n if (isBoolean(value))\n return ctx.stylize('' + value, 'boolean');\n // For some reason typeof null is \"object\", so special case here.\n if (isNull(value))\n return ctx.stylize('null', 'null');\n}\n\n\nfunction formatError(value) {\n return '[' + Error.prototype.toString.call(value) + ']';\n}\n\n\nfunction formatArray(ctx, value, recurseTimes, visibleKeys, keys) {\n var output = [];\n for (var i = 0, l = value.length; i < l; ++i) {\n if (hasOwnProperty(value, String(i))) {\n output.push(formatProperty(ctx, value, recurseTimes, visibleKeys,\n String(i), true));\n } else {\n output.push('');\n }\n }\n keys.forEach(function(key) {\n if (!key.match(/^\\d+$/)) {\n output.push(formatProperty(ctx, value, recurseTimes, visibleKeys,\n key, true));\n }\n });\n return output;\n}\n\n\nfunction formatProperty(ctx, value, recurseTimes, visibleKeys, key, array) {\n var name, str, desc;\n desc = Object.getOwnPropertyDescriptor(value, key) || { value: value[key] };\n if (desc.get) {\n if (desc.set) {\n str = ctx.stylize('[Getter/Setter]', 'special');\n } else {\n str = ctx.stylize('[Getter]', 'special');\n }\n } else {\n if (desc.set) {\n str = ctx.stylize('[Setter]', 'special');\n }\n }\n if (!hasOwnProperty(visibleKeys, key)) {\n name = '[' + key + ']';\n }\n if (!str) {\n if (ctx.seen.indexOf(desc.value) < 0) {\n if (isNull(recurseTimes)) {\n str = formatValue(ctx, desc.value, null);\n } else {\n str = formatValue(ctx, desc.value, recurseTimes - 1);\n }\n if (str.indexOf('\\n') > -1) {\n if (array) {\n str = str.split('\\n').map(function(line) {\n return ' ' + line;\n }).join('\\n').slice(2);\n } else {\n str = '\\n' + str.split('\\n').map(function(line) {\n return ' ' + line;\n }).join('\\n');\n }\n }\n } else {\n str = ctx.stylize('[Circular]', 'special');\n }\n }\n if (isUndefined(name)) {\n if (array && key.match(/^\\d+$/)) {\n return str;\n }\n name = JSON.stringify('' + key);\n if (name.match(/^\"([a-zA-Z_][a-zA-Z_0-9]*)\"$/)) {\n name = name.slice(1, -1);\n name = ctx.stylize(name, 'name');\n } else {\n name = name.replace(/'/g, \"\\\\'\")\n .replace(/\\\\\"/g, '\"')\n .replace(/(^\"|\"$)/g, \"'\");\n name = ctx.stylize(name, 'string');\n }\n }\n\n return name + ': ' + str;\n}\n\n\nfunction reduceToSingleString(output, base, braces) {\n var numLinesEst = 0;\n var length = output.reduce(function(prev, cur) {\n numLinesEst++;\n if (cur.indexOf('\\n') >= 0) numLinesEst++;\n return prev + cur.replace(/\\u001b\\[\\d\\d?m/g, '').length + 1;\n }, 0);\n\n if (length > 60) {\n return braces[0] +\n (base === '' ? '' : base + '\\n ') +\n ' ' +\n output.join(',\\n ') +\n ' ' +\n braces[1];\n }\n\n return braces[0] + base + ' ' + output.join(', ') + ' ' + braces[1];\n}\n\n\n// NOTE: These type checking functions intentionally don't use `instanceof`\n// because it is fragile and can be easily faked with `Object.create()`.\nexports.types = require('./support/types');\n\nfunction isArray(ar) {\n return Array.isArray(ar);\n}\nexports.isArray = isArray;\n\nfunction isBoolean(arg) {\n return typeof arg === 'boolean';\n}\nexports.isBoolean = isBoolean;\n\nfunction isNull(arg) {\n return arg === null;\n}\nexports.isNull = isNull;\n\nfunction isNullOrUndefined(arg) {\n return arg == null;\n}\nexports.isNullOrUndefined = isNullOrUndefined;\n\nfunction isNumber(arg) {\n return typeof arg === 'number';\n}\nexports.isNumber = isNumber;\n\nfunction isString(arg) {\n return typeof arg === 'string';\n}\nexports.isString = isString;\n\nfunction isSymbol(arg) {\n return typeof arg === 'symbol';\n}\nexports.isSymbol = isSymbol;\n\nfunction isUndefined(arg) {\n return arg === void 0;\n}\nexports.isUndefined = isUndefined;\n\nfunction isRegExp(re) {\n return isObject(re) && objectToString(re) === '[object RegExp]';\n}\nexports.isRegExp = isRegExp;\nexports.types.isRegExp = isRegExp;\n\nfunction isObject(arg) {\n return typeof arg === 'object' && arg !== null;\n}\nexports.isObject = isObject;\n\nfunction isDate(d) {\n return isObject(d) && objectToString(d) === '[object Date]';\n}\nexports.isDate = isDate;\nexports.types.isDate = isDate;\n\nfunction isError(e) {\n return isObject(e) &&\n (objectToString(e) === '[object Error]' || e instanceof Error);\n}\nexports.isError = isError;\nexports.types.isNativeError = isError;\n\nfunction isFunction(arg) {\n return typeof arg === 'function';\n}\nexports.isFunction = isFunction;\n\nfunction isPrimitive(arg) {\n return arg === null ||\n typeof arg === 'boolean' ||\n typeof arg === 'number' ||\n typeof arg === 'string' ||\n typeof arg === 'symbol' || // ES6 symbol\n typeof arg === 'undefined';\n}\nexports.isPrimitive = isPrimitive;\n\nexports.isBuffer = require('./support/isBuffer');\n\nfunction objectToString(o) {\n return Object.prototype.toString.call(o);\n}\n\n\nfunction pad(n) {\n return n < 10 ? '0' + n.toString(10) : n.toString(10);\n}\n\n\nvar months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep',\n 'Oct', 'Nov', 'Dec'];\n\n// 26 Feb 16:19:34\nfunction timestamp() {\n var d = new Date();\n var time = [pad(d.getHours()),\n pad(d.getMinutes()),\n pad(d.getSeconds())].join(':');\n return [d.getDate(), months[d.getMonth()], time].join(' ');\n}\n\n\n// log is just a thin wrapper to console.log that prepends a timestamp\nexports.log = function() {\n console.log('%s - %s', timestamp(), exports.format.apply(exports, arguments));\n};\n\n\n/**\n * Inherit the prototype methods from one constructor into another.\n *\n * The Function.prototype.inherits from lang.js rewritten as a standalone\n * function (not on Function.prototype). NOTE: If this file is to be loaded\n * during bootstrapping this function needs to be rewritten using some native\n * functions as prototype setup using normal JavaScript does not work as\n * expected during bootstrapping (see mirror.js in r114903).\n *\n * @param {function} ctor Constructor function which needs to inherit the\n * prototype.\n * @param {function} superCtor Constructor function to inherit prototype from.\n */\nexports.inherits = require('inherits');\n\nexports._extend = function(origin, add) {\n // Don't do anything if add isn't an object\n if (!add || !isObject(add)) return origin;\n\n var keys = Object.keys(add);\n var i = keys.length;\n while (i--) {\n origin[keys[i]] = add[keys[i]];\n }\n return origin;\n};\n\nfunction hasOwnProperty(obj, prop) {\n return Object.prototype.hasOwnProperty.call(obj, prop);\n}\n\nvar kCustomPromisifiedSymbol = typeof Symbol !== 'undefined' ? Symbol('util.promisify.custom') : undefined;\n\nexports.promisify = function promisify(original) {\n if (typeof original !== 'function')\n throw new TypeError('The \"original\" argument must be of type Function');\n\n if (kCustomPromisifiedSymbol && original[kCustomPromisifiedSymbol]) {\n var fn = original[kCustomPromisifiedSymbol];\n if (typeof fn !== 'function') {\n throw new TypeError('The \"util.promisify.custom\" argument must be of type Function');\n }\n Object.defineProperty(fn, kCustomPromisifiedSymbol, {\n value: fn, enumerable: false, writable: false, configurable: true\n });\n return fn;\n }\n\n function fn() {\n var promiseResolve, promiseReject;\n var promise = new Promise(function (resolve, reject) {\n promiseResolve = resolve;\n promiseReject = reject;\n });\n\n var args = [];\n for (var i = 0; i < arguments.length; i++) {\n args.push(arguments[i]);\n }\n args.push(function (err, value) {\n if (err) {\n promiseReject(err);\n } else {\n promiseResolve(value);\n }\n });\n\n try {\n original.apply(this, args);\n } catch (err) {\n promiseReject(err);\n }\n\n return promise;\n }\n\n Object.setPrototypeOf(fn, Object.getPrototypeOf(original));\n\n if (kCustomPromisifiedSymbol) Object.defineProperty(fn, kCustomPromisifiedSymbol, {\n value: fn, enumerable: false, writable: false, configurable: true\n });\n return Object.defineProperties(\n fn,\n getOwnPropertyDescriptors(original)\n );\n}\n\nexports.promisify.custom = kCustomPromisifiedSymbol\n\nfunction callbackifyOnRejected(reason, cb) {\n // `!reason` guard inspired by bluebird (Ref: https://goo.gl/t5IS6M).\n // Because `null` is a special error value in callbacks which means \"no error\n // occurred\", we error-wrap so the callback consumer can distinguish between\n // \"the promise rejected with null\" or \"the promise fulfilled with undefined\".\n if (!reason) {\n var newReason = new Error('Promise was rejected with a falsy value');\n newReason.reason = reason;\n reason = newReason;\n }\n return cb(reason);\n}\n\nfunction callbackify(original) {\n if (typeof original !== 'function') {\n throw new TypeError('The \"original\" argument must be of type Function');\n }\n\n // We DO NOT return the promise as it gives the user a false sense that\n // the promise is actually somehow related to the callback's execution\n // and that the callback throwing will reject the promise.\n function callbackified() {\n var args = [];\n for (var i = 0; i < arguments.length; i++) {\n args.push(arguments[i]);\n }\n\n var maybeCb = args.pop();\n if (typeof maybeCb !== 'function') {\n throw new TypeError('The last argument must be of type Function');\n }\n var self = this;\n var cb = function() {\n return maybeCb.apply(self, arguments);\n };\n // In true node style we process the callback on `nextTick` with all the\n // implications (stack, `uncaughtException`, `async_hooks`)\n original.apply(this, args)\n .then(function(ret) { process.nextTick(cb.bind(null, null, ret)) },\n function(rej) { process.nextTick(callbackifyOnRejected.bind(null, rej, cb)) });\n }\n\n Object.setPrototypeOf(callbackified, Object.getPrototypeOf(original));\n Object.defineProperties(callbackified,\n getOwnPropertyDescriptors(original));\n return callbackified;\n}\nexports.callbackify = callbackify;\n","/**\n * This file automatically generated from `pre-publish.js`.\n * Do not manually edit.\n */\n\nmodule.exports = {\n \"area\": true,\n \"base\": true,\n \"br\": true,\n \"col\": true,\n \"embed\": true,\n \"hr\": true,\n \"img\": true,\n \"input\": true,\n \"link\": true,\n \"meta\": true,\n \"param\": true,\n \"source\": true,\n \"track\": true,\n \"wbr\": true\n};\n","'use strict';\n\nvar forEach = require('for-each');\nvar availableTypedArrays = require('available-typed-arrays');\nvar callBind = require('call-bind');\nvar callBound = require('call-bind/callBound');\nvar gOPD = require('gopd');\n\n/** @type {(O: object) => string} */\nvar $toString = callBound('Object.prototype.toString');\nvar hasToStringTag = require('has-tostringtag/shams')();\n\nvar g = typeof globalThis === 'undefined' ? global : globalThis;\nvar typedArrays = availableTypedArrays();\n\nvar $slice = callBound('String.prototype.slice');\nvar getPrototypeOf = Object.getPrototypeOf; // require('getprototypeof');\n\n/** @type {<T = unknown>(array: readonly T[], value: unknown) => number} */\nvar $indexOf = callBound('Array.prototype.indexOf', true) || function indexOf(array, value) {\n\tfor (var i = 0; i < array.length; i += 1) {\n\t\tif (array[i] === value) {\n\t\t\treturn i;\n\t\t}\n\t}\n\treturn -1;\n};\n\n/** @typedef {(receiver: import('.').TypedArray) => string | typeof Uint8Array.prototype.slice.call | typeof Uint8Array.prototype.set.call} Getter */\n/** @type {{ [k in `\\$${import('.').TypedArrayName}`]?: Getter } & { __proto__: null }} */\nvar cache = { __proto__: null };\nif (hasToStringTag && gOPD && getPrototypeOf) {\n\tforEach(typedArrays, function (typedArray) {\n\t\tvar arr = new g[typedArray]();\n\t\tif (Symbol.toStringTag in arr) {\n\t\t\tvar proto = getPrototypeOf(arr);\n\t\t\t// @ts-expect-error TS won't narrow inside a closure\n\t\t\tvar descriptor = gOPD(proto, Symbol.toStringTag);\n\t\t\tif (!descriptor) {\n\t\t\t\tvar superProto = getPrototypeOf(proto);\n\t\t\t\t// @ts-expect-error TS won't narrow inside a closure\n\t\t\t\tdescriptor = gOPD(superProto, Symbol.toStringTag);\n\t\t\t}\n\t\t\t// @ts-expect-error TODO: fix\n\t\t\tcache['$' + typedArray] = callBind(descriptor.get);\n\t\t}\n\t});\n} else {\n\tforEach(typedArrays, function (typedArray) {\n\t\tvar arr = new g[typedArray]();\n\t\tvar fn = arr.slice || arr.set;\n\t\tif (fn) {\n\t\t\t// @ts-expect-error TODO: fix\n\t\t\tcache['$' + typedArray] = callBind(fn);\n\t\t}\n\t});\n}\n\n/** @type {(value: object) => false | import('.').TypedArrayName} */\nvar tryTypedArrays = function tryAllTypedArrays(value) {\n\t/** @type {ReturnType<typeof tryAllTypedArrays>} */ var found = false;\n\tforEach(\n\t\t// eslint-disable-next-line no-extra-parens\n\t\t/** @type {Record<`\\$${TypedArrayName}`, Getter>} */ /** @type {any} */ (cache),\n\t\t/** @type {(getter: Getter, name: `\\$${import('.').TypedArrayName}`) => void} */\n\t\tfunction (getter, typedArray) {\n\t\t\tif (!found) {\n\t\t\t\ttry {\n\t\t\t\t// @ts-expect-error TODO: fix\n\t\t\t\t\tif ('$' + getter(value) === typedArray) {\n\t\t\t\t\t\tfound = $slice(typedArray, 1);\n\t\t\t\t\t}\n\t\t\t\t} catch (e) { /**/ }\n\t\t\t}\n\t\t}\n\t);\n\treturn found;\n};\n\n/** @type {(value: object) => false | import('.').TypedArrayName} */\nvar trySlices = function tryAllSlices(value) {\n\t/** @type {ReturnType<typeof tryAllSlices>} */ var found = false;\n\tforEach(\n\t\t// eslint-disable-next-line no-extra-parens\n\t\t/** @type {Record<`\\$${TypedArrayName}`, Getter>} */ /** @type {any} */ (cache),\n\t\t/** @type {(getter: typeof cache, name: `\\$${import('.').TypedArrayName}`) => void} */ function (getter, name) {\n\t\t\tif (!found) {\n\t\t\t\ttry {\n\t\t\t\t\t// @ts-expect-error TODO: fix\n\t\t\t\t\tgetter(value);\n\t\t\t\t\tfound = $slice(name, 1);\n\t\t\t\t} catch (e) { /**/ }\n\t\t\t}\n\t\t}\n\t);\n\treturn found;\n};\n\n/** @type {import('.')} */\nmodule.exports = function whichTypedArray(value) {\n\tif (!value || typeof value !== 'object') { return false; }\n\tif (!hasToStringTag) {\n\t\t/** @type {string} */\n\t\tvar tag = $slice($toString(value), 8, -1);\n\t\tif ($indexOf(typedArrays, tag) > -1) {\n\t\t\treturn tag;\n\t\t}\n\t\tif (tag !== 'Object') {\n\t\t\treturn false;\n\t\t}\n\t\t// node < 0.6 hits here on real Typed Arrays\n\t\treturn trySlices(value);\n\t}\n\tif (!gOPD) { return null; } // unknown engine\n\treturn tryTypedArrays(value);\n};\n","'use strict';\n\nvar possibleNames = require('possible-typed-array-names');\n\nvar g = typeof globalThis === 'undefined' ? global : globalThis;\n\n/** @type {import('.')} */\nmodule.exports = function availableTypedArrays() {\n\tvar /** @type {ReturnType<typeof availableTypedArrays>} */ out = [];\n\tfor (var i = 0; i < possibleNames.length; i++) {\n\t\tif (typeof g[possibleNames[i]] === 'function') {\n\t\t\t// @ts-expect-error\n\t\t\tout[out.length] = possibleNames[i];\n\t\t}\n\t}\n\treturn out;\n};\n","/**\n * The current status of a query’s execution in our system.\n */\nexport var NetworkStatus;\n(function (NetworkStatus) {\n /**\n * The query has never been run before and the query is now currently running. A query will still\n * have this network status even if a partial data result was returned from the cache, but a\n * query was dispatched anyway.\n */\n NetworkStatus[NetworkStatus[\"loading\"] = 1] = \"loading\";\n /**\n * If `setVariables` was called and a query was fired because of that then the network status\n * will be `setVariables` until the result of that query comes back.\n */\n NetworkStatus[NetworkStatus[\"setVariables\"] = 2] = \"setVariables\";\n /**\n * Indicates that `fetchMore` was called on this query and that the query created is currently in\n * flight.\n */\n NetworkStatus[NetworkStatus[\"fetchMore\"] = 3] = \"fetchMore\";\n /**\n * Similar to the `setVariables` network status. It means that `refetch` was called on a query\n * and the refetch request is currently in flight.\n */\n NetworkStatus[NetworkStatus[\"refetch\"] = 4] = \"refetch\";\n /**\n * Indicates that a polling query is currently in flight. So for example if you are polling a\n * query every 10 seconds then the network status will switch to `poll` every 10 seconds whenever\n * a poll request has been sent but not resolved.\n */\n NetworkStatus[NetworkStatus[\"poll\"] = 6] = \"poll\";\n /**\n * No request is in flight for this query, and no errors happened. Everything is OK.\n */\n NetworkStatus[NetworkStatus[\"ready\"] = 7] = \"ready\";\n /**\n * No request is in flight for this query, but one or more errors were detected.\n */\n NetworkStatus[NetworkStatus[\"error\"] = 8] = \"error\";\n})(NetworkStatus || (NetworkStatus = {}));\n/**\n * Returns true if there is currently a network request in flight according to a given network\n * status.\n */\nexport function isNetworkRequestInFlight(networkStatus) {\n return networkStatus ? networkStatus < 7 : false;\n}\n/**\n * Returns true if the network request is in ready or error state according to a given network\n * status.\n */\nexport function isNetworkRequestSettled(networkStatus) {\n return networkStatus === 7 || networkStatus === 8;\n}\n//# sourceMappingURL=networkStatus.js.map","import { __extends, __spreadArray } from \"tslib\";\nimport \"../utilities/globals/index.js\";\nimport { isNonNullObject } from \"../utilities/index.js\";\n// This Symbol allows us to pass transport-specific errors from the link chain\n// into QueryManager/client internals without risking a naming collision within\n// extensions (which implementers can use as they see fit).\nexport var PROTOCOL_ERRORS_SYMBOL = Symbol();\nexport function graphQLResultHasProtocolErrors(result) {\n if (result.extensions) {\n return Array.isArray(result.extensions[PROTOCOL_ERRORS_SYMBOL]);\n }\n return false;\n}\nexport function isApolloError(err) {\n return err.hasOwnProperty(\"graphQLErrors\");\n}\n// Sets the error message on this error according to the\n// the GraphQL and network errors that are present.\n// If the error message has already been set through the\n// constructor or otherwise, this function is a nop.\nvar generateErrorMessage = function (err) {\n var errors = __spreadArray(__spreadArray(__spreadArray([], err.graphQLErrors, true), err.clientErrors, true), err.protocolErrors, true);\n if (err.networkError)\n errors.push(err.networkError);\n return (errors\n // The rest of the code sometimes unsafely types non-Error objects as GraphQLErrors\n .map(function (err) {\n return (isNonNullObject(err) && err.message) || \"Error message not found.\";\n })\n .join(\"\\n\"));\n};\nvar ApolloError = /** @class */ (function (_super) {\n __extends(ApolloError, _super);\n // Constructs an instance of ApolloError given serialized GraphQL errors,\n // client errors, protocol errors or network errors.\n // Note that one of these has to be a valid\n // value or the constructed error will be meaningless.\n function ApolloError(_a) {\n var graphQLErrors = _a.graphQLErrors, protocolErrors = _a.protocolErrors, clientErrors = _a.clientErrors, networkError = _a.networkError, errorMessage = _a.errorMessage, extraInfo = _a.extraInfo;\n var _this = _super.call(this, errorMessage) || this;\n _this.name = \"ApolloError\";\n _this.graphQLErrors = graphQLErrors || [];\n _this.protocolErrors = protocolErrors || [];\n _this.clientErrors = clientErrors || [];\n _this.networkError = networkError || null;\n _this.message = errorMessage || generateErrorMessage(_this);\n _this.extraInfo = extraInfo;\n _this.cause =\n __spreadArray(__spreadArray(__spreadArray([\n networkError\n ], (graphQLErrors || []), true), (protocolErrors || []), true), (clientErrors || []), true).find(function (e) { return !!e; }) || null;\n // We're not using `Object.setPrototypeOf` here as it isn't fully\n // supported on Android (see issue #3236).\n _this.__proto__ = ApolloError.prototype;\n return _this;\n }\n return ApolloError;\n}(Error));\nexport { ApolloError };\n//# sourceMappingURL=index.js.map","import * as React from \"rehackt\";\nimport { canUseSymbol } from \"../../utilities/index.js\";\nimport { invariant } from \"../../utilities/globals/index.js\";\n// To make sure Apollo Client doesn't create more than one React context\n// (which can lead to problems like having an Apollo Client instance added\n// in one context, then attempting to retrieve it from another different\n// context), a single Apollo context is created and tracked in global state.\nvar contextKey = canUseSymbol ? Symbol.for(\"__APOLLO_CONTEXT__\") : \"__APOLLO_CONTEXT__\";\nexport function getApolloContext() {\n invariant(\"createContext\" in React, 46);\n var context = React.createContext[contextKey];\n if (!context) {\n Object.defineProperty(React.createContext, contextKey, {\n value: (context = React.createContext({})),\n enumerable: false,\n writable: false,\n configurable: true,\n });\n context.displayName = \"ApolloContext\";\n }\n return context;\n}\n/**\n * @deprecated This function has no \"resetting\" effect since Apollo Client 3.4.12,\n * and will be removed in the next major version of Apollo Client.\n * If you want to get the Apollo Context, use `getApolloContext` instead.\n */\nexport var resetApolloContext = getApolloContext;\n//# sourceMappingURL=ApolloContext.js.map","import { invariant } from \"../../utilities/globals/index.js\";\nimport * as React from \"rehackt\";\nimport { getApolloContext } from \"../context/index.js\";\n/**\n * @example\n * ```jsx\n * import { useApolloClient } from '@apollo/client';\n *\n * function SomeComponent() {\n * const client = useApolloClient();\n * // `client` is now set to the `ApolloClient` instance being used by the\n * // application (that was configured using something like `ApolloProvider`)\n * }\n * ```\n *\n * @since 3.0.0\n * @returns The `ApolloClient` instance being used by the application.\n */\nexport function useApolloClient(override) {\n var context = React.useContext(getApolloContext());\n var client = override || context.client;\n invariant(!!client, 50);\n return client;\n}\n//# sourceMappingURL=useApolloClient.js.map","import * as React from \"rehackt\";\nimport { canUseDOM } from \"../../../utilities/index.js\";\n// use canUseDOM here instead of canUseLayoutEffect because we want to be able\n// to use useLayoutEffect in our jest tests. useLayoutEffect seems to work fine\n// in useSuspenseQuery tests, but to honor the original comment about the\n// warnings for useSyncExternalStore implementation, canUseLayoutEffect is left\n// alone.\nexport var useIsomorphicLayoutEffect = canUseDOM ? React.useLayoutEffect : React.useEffect;\n//# sourceMappingURL=useIsomorphicLayoutEffect.js.map","import { __assign } from \"tslib\";\nimport * as React from \"rehackt\";\nimport { mergeOptions } from \"../../utilities/index.js\";\nimport { createMakeWatchQueryOptions, getDefaultFetchPolicy, getObsQueryOptions, toQueryResult, useQueryInternals, } from \"./useQuery.js\";\nimport { useIsomorphicLayoutEffect } from \"./internal/useIsomorphicLayoutEffect.js\";\n// The following methods, when called will execute the query, regardless of\n// whether the useLazyQuery execute function was called before.\nvar EAGER_METHODS = [\n \"refetch\",\n \"reobserve\",\n \"fetchMore\",\n \"updateQuery\",\n \"startPolling\",\n \"stopPolling\",\n \"subscribeToMore\",\n];\n/**\n * A hook for imperatively executing queries in an Apollo application, e.g. in response to user interaction.\n *\n * > Refer to the [Queries - Manual execution with useLazyQuery](https://www.apollographql.com/docs/react/data/queries#manual-execution-with-uselazyquery) section for a more in-depth overview of `useLazyQuery`.\n *\n * @example\n * ```jsx\n * import { gql, useLazyQuery } from \"@apollo/client\";\n *\n * const GET_GREETING = gql`\n * query GetGreeting($language: String!) {\n * greeting(language: $language) {\n * message\n * }\n * }\n * `;\n *\n * function Hello() {\n * const [loadGreeting, { called, loading, data }] = useLazyQuery(\n * GET_GREETING,\n * { variables: { language: \"english\" } }\n * );\n * if (called && loading) return <p>Loading ...</p>\n * if (!called) {\n * return <button onClick={() => loadGreeting()}>Load greeting</button>\n * }\n * return <h1>Hello {data.greeting.message}!</h1>;\n * }\n * ```\n * @since 3.0.0\n *\n * @param query - A GraphQL query document parsed into an AST by `gql`.\n * @param options - Default options to control how the query is executed.\n * @returns A tuple in the form of `[execute, result]`\n */\nexport function useLazyQuery(query, options) {\n var _a;\n var execOptionsRef = React.useRef();\n var optionsRef = React.useRef();\n var queryRef = React.useRef();\n var merged = mergeOptions(options, execOptionsRef.current || {});\n var document = (_a = merged === null || merged === void 0 ? void 0 : merged.query) !== null && _a !== void 0 ? _a : query;\n // Use refs to track options and the used query to ensure the `execute`\n // function remains referentially stable between renders.\n optionsRef.current = options;\n queryRef.current = document;\n var queryHookOptions = __assign(__assign({}, merged), { skip: !execOptionsRef.current });\n var _b = useQueryInternals(document, queryHookOptions), obsQueryFields = _b.obsQueryFields, useQueryResult = _b.result, client = _b.client, resultData = _b.resultData, observable = _b.observable, onQueryExecuted = _b.onQueryExecuted;\n var initialFetchPolicy = observable.options.initialFetchPolicy ||\n getDefaultFetchPolicy(queryHookOptions.defaultOptions, client.defaultOptions);\n var forceUpdateState = React.useReducer(function (tick) { return tick + 1; }, 0)[1];\n // We use useMemo here to make sure the eager methods have a stable identity.\n var eagerMethods = React.useMemo(function () {\n var eagerMethods = {};\n var _loop_1 = function (key) {\n var method = obsQueryFields[key];\n eagerMethods[key] = function () {\n if (!execOptionsRef.current) {\n execOptionsRef.current = Object.create(null);\n // Only the first time populating execOptionsRef.current matters here.\n forceUpdateState();\n }\n // @ts-expect-error this is just too generic to type\n return method.apply(this, arguments);\n };\n };\n for (var _i = 0, EAGER_METHODS_1 = EAGER_METHODS; _i < EAGER_METHODS_1.length; _i++) {\n var key = EAGER_METHODS_1[_i];\n _loop_1(key);\n }\n return eagerMethods;\n }, [forceUpdateState, obsQueryFields]);\n var called = !!execOptionsRef.current;\n var result = React.useMemo(function () { return (__assign(__assign(__assign({}, useQueryResult), eagerMethods), { called: called })); }, [useQueryResult, eagerMethods, called]);\n var execute = React.useCallback(function (executeOptions) {\n execOptionsRef.current =\n executeOptions ? __assign(__assign({}, executeOptions), { fetchPolicy: executeOptions.fetchPolicy || initialFetchPolicy }) : {\n fetchPolicy: initialFetchPolicy,\n };\n var options = mergeOptions(optionsRef.current, __assign({ query: queryRef.current }, execOptionsRef.current));\n var promise = executeQuery(resultData, observable, client, document, __assign(__assign({}, options), { skip: false }), onQueryExecuted).then(function (queryResult) { return Object.assign(queryResult, eagerMethods); });\n // Because the return value of `useLazyQuery` is usually floated, we need\n // to catch the promise to prevent unhandled rejections.\n promise.catch(function () { });\n return promise;\n }, [\n client,\n document,\n eagerMethods,\n initialFetchPolicy,\n observable,\n resultData,\n onQueryExecuted,\n ]);\n var executeRef = React.useRef(execute);\n useIsomorphicLayoutEffect(function () {\n executeRef.current = execute;\n });\n var stableExecute = React.useCallback(function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return executeRef.current.apply(executeRef, args);\n }, []);\n return [stableExecute, result];\n}\nfunction executeQuery(resultData, observable, client, currentQuery, options, onQueryExecuted) {\n var query = options.query || currentQuery;\n var watchQueryOptions = createMakeWatchQueryOptions(client, query, options, false)(observable);\n var concast = observable.reobserveAsConcast(getObsQueryOptions(observable, client, options, watchQueryOptions));\n onQueryExecuted(watchQueryOptions);\n return new Promise(function (resolve) {\n var result;\n // Subscribe to the concast independently of the ObservableQuery in case\n // the component gets unmounted before the promise resolves. This prevents\n // the concast from terminating early and resolving with `undefined` when\n // there are no more subscribers for the concast.\n concast.subscribe({\n next: function (value) {\n result = value;\n },\n error: function () {\n resolve(toQueryResult(observable.getCurrentResult(), resultData.previousData, observable, client));\n },\n complete: function () {\n resolve(toQueryResult(result, resultData.previousData, observable, client));\n },\n });\n });\n}\n//# sourceMappingURL=useLazyQuery.js.map","import { invariant } from \"../../utilities/globals/index.js\";\nimport * as React from \"rehackt\";\nimport { canUseLayoutEffect } from \"../../utilities/index.js\";\nvar didWarnUncachedGetSnapshot = false;\n// Prevent webpack from complaining about our feature detection of the\n// useSyncExternalStore property of the React namespace, which is expected not\n// to exist when using React 17 and earlier, and that's fine.\nvar uSESKey = \"useSyncExternalStore\";\nvar realHook = React[uSESKey];\n// Adapted from https://www.npmjs.com/package/use-sync-external-store, with\n// Apollo Client deviations called out by \"// DEVIATION ...\" comments.\n// When/if React.useSyncExternalStore is defined, delegate fully to it.\nexport var useSyncExternalStore = realHook ||\n (function (subscribe, getSnapshot, getServerSnapshot) {\n // Read the current snapshot from the store on every render. Again, this\n // breaks the rules of React, and only works here because of specific\n // implementation details, most importantly that updates are\n // always synchronous.\n var value = getSnapshot();\n if (\n // DEVIATION: Using __DEV__\n globalThis.__DEV__ !== false &&\n !didWarnUncachedGetSnapshot &&\n // DEVIATION: Not using Object.is because we know our snapshots will never\n // be exotic primitive values like NaN, which is !== itself.\n value !== getSnapshot()) {\n didWarnUncachedGetSnapshot = true;\n // DEVIATION: Using invariant.error instead of console.error directly.\n globalThis.__DEV__ !== false && invariant.error(60);\n }\n // Because updates are synchronous, we don't queue them. Instead we force a\n // re-render whenever the subscribed state changes by updating an some\n // arbitrary useState hook. Then, during render, we call getSnapshot to read\n // the current value.\n //\n // Because we don't actually use the state returned by the useState hook, we\n // can save a bit of memory by storing other stuff in that slot.\n //\n // To implement the early bailout, we need to track some things on a mutable\n // object. Usually, we would put that in a useRef hook, but we can stash it in\n // our useState hook instead.\n //\n // To force a re-render, we call forceUpdate({inst}). That works because the\n // new object always fails an equality check.\n var _a = React.useState({\n inst: { value: value, getSnapshot: getSnapshot },\n }), inst = _a[0].inst, forceUpdate = _a[1];\n // Track the latest getSnapshot function with a ref. This needs to be updated\n // in the layout phase so we can access it during the tearing check that\n // happens on subscribe.\n if (canUseLayoutEffect) {\n // DEVIATION: We avoid calling useLayoutEffect when !canUseLayoutEffect,\n // which may seem like a conditional hook, but this code ends up behaving\n // unconditionally (one way or the other) because canUseLayoutEffect is\n // constant.\n React.useLayoutEffect(function () {\n Object.assign(inst, { value: value, getSnapshot: getSnapshot });\n // Whenever getSnapshot or subscribe changes, we need to check in the\n // commit phase if there was an interleaved mutation. In concurrent mode\n // this can happen all the time, but even in synchronous mode, an earlier\n // effect may have mutated the store.\n if (checkIfSnapshotChanged(inst)) {\n // Force a re-render.\n forceUpdate({ inst: inst });\n }\n // React Hook React.useLayoutEffect has a missing dependency: 'inst'. Either include it or remove the dependency array.\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [subscribe, value, getSnapshot]);\n }\n else {\n Object.assign(inst, { value: value, getSnapshot: getSnapshot });\n }\n React.useEffect(function () {\n // Check for changes right before subscribing. Subsequent changes will be\n // detected in the subscription handler.\n if (checkIfSnapshotChanged(inst)) {\n // Force a re-render.\n forceUpdate({ inst: inst });\n }\n // Subscribe to the store and return a clean-up function.\n return subscribe(function handleStoreChange() {\n // TODO: Because there is no cross-renderer API for batching updates, it's\n // up to the consumer of this library to wrap their subscription event\n // with unstable_batchedUpdates. Should we try to detect when this isn't\n // the case and print a warning in development?\n // The store changed. Check if the snapshot changed since the last time we\n // read from the store.\n if (checkIfSnapshotChanged(inst)) {\n // Force a re-render.\n forceUpdate({ inst: inst });\n }\n });\n // React Hook React.useEffect has a missing dependency: 'inst'. Either include it or remove the dependency array.\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [subscribe]);\n return value;\n });\nfunction checkIfSnapshotChanged(_a) {\n var value = _a.value, getSnapshot = _a.getSnapshot;\n try {\n return value !== getSnapshot();\n }\n catch (_b) {\n return true;\n }\n}\n//# sourceMappingURL=useSyncExternalStore.js.map","import { invariant } from \"../../utilities/globals/index.js\";\nimport { AutoCleanedWeakCache, cacheSizes, } from \"../../utilities/index.js\";\nimport { registerGlobalCache } from \"../../utilities/caching/getMemoryInternals.js\";\nexport var DocumentType;\n(function (DocumentType) {\n DocumentType[DocumentType[\"Query\"] = 0] = \"Query\";\n DocumentType[DocumentType[\"Mutation\"] = 1] = \"Mutation\";\n DocumentType[DocumentType[\"Subscription\"] = 2] = \"Subscription\";\n})(DocumentType || (DocumentType = {}));\nvar cache;\nexport function operationName(type) {\n var name;\n switch (type) {\n case DocumentType.Query:\n name = \"Query\";\n break;\n case DocumentType.Mutation:\n name = \"Mutation\";\n break;\n case DocumentType.Subscription:\n name = \"Subscription\";\n break;\n }\n return name;\n}\n// This parser is mostly used to safety check incoming documents.\nexport function parser(document) {\n if (!cache) {\n cache = new AutoCleanedWeakCache(cacheSizes.parser || 1000 /* defaultCacheSizes.parser */);\n }\n var cached = cache.get(document);\n if (cached)\n return cached;\n var variables, type, name;\n invariant(!!document && !!document.kind, 62, document);\n var fragments = [];\n var queries = [];\n var mutations = [];\n var subscriptions = [];\n for (var _i = 0, _a = document.definitions; _i < _a.length; _i++) {\n var x = _a[_i];\n if (x.kind === \"FragmentDefinition\") {\n fragments.push(x);\n continue;\n }\n if (x.kind === \"OperationDefinition\") {\n switch (x.operation) {\n case \"query\":\n queries.push(x);\n break;\n case \"mutation\":\n mutations.push(x);\n break;\n case \"subscription\":\n subscriptions.push(x);\n break;\n }\n }\n }\n invariant(!fragments.length ||\n queries.length ||\n mutations.length ||\n subscriptions.length, 63);\n invariant(\n queries.length + mutations.length + subscriptions.length <= 1,\n 64,\n document,\n queries.length,\n subscriptions.length,\n mutations.length\n );\n type = queries.length ? DocumentType.Query : DocumentType.Mutation;\n if (!queries.length && !mutations.length)\n type = DocumentType.Subscription;\n var definitions = queries.length ? queries\n : mutations.length ? mutations\n : subscriptions;\n invariant(definitions.length === 1, 65, document, definitions.length);\n var definition = definitions[0];\n variables = definition.variableDefinitions || [];\n if (definition.name && definition.name.kind === \"Name\") {\n name = definition.name.value;\n }\n else {\n name = \"data\"; // fallback to using data if no name\n }\n var payload = { name: name, type: type, variables: variables };\n cache.set(document, payload);\n return payload;\n}\nparser.resetCache = function () {\n cache = undefined;\n};\nif (globalThis.__DEV__ !== false) {\n registerGlobalCache(\"parser\", function () { return (cache ? cache.size : 0); });\n}\nexport function verifyDocumentType(document, type) {\n var operation = parser(document);\n var requiredOperationName = operationName(type);\n var usedOperationName = operationName(operation.type);\n invariant(\n operation.type === type,\n 66,\n requiredOperationName,\n requiredOperationName,\n usedOperationName\n );\n}\n//# sourceMappingURL=index.js.map","var wrapperSymbol = Symbol.for(\"apollo.hook.wrappers\");\n/**\n * @internal\n *\n * Makes an Apollo Client hook \"wrappable\".\n * That means that the Apollo Client instance can expose a \"wrapper\" that will be\n * used to wrap the original hook implementation with additional logic.\n * @example\n * ```tsx\n * // this is already done in `@apollo/client` for all wrappable hooks (see `WrappableHooks`)\n * // following this pattern\n * function useQuery() {\n * return wrapHook('useQuery', _useQuery, options.client)(query, options);\n * }\n * function _useQuery(query, options) {\n * // original implementation\n * }\n *\n * // this is what a library like `@apollo/client-react-streaming` would do\n * class ApolloClientWithStreaming extends ApolloClient {\n * constructor(options) {\n * super(options);\n * this.queryManager[Symbol.for(\"apollo.hook.wrappers\")] = {\n * useQuery: (original) => (query, options) => {\n * console.log(\"useQuery was called with options\", options);\n * return original(query, options);\n * }\n * }\n * }\n * }\n *\n * // this will now log the options and then call the original `useQuery`\n * const client = new ApolloClientWithStreaming({ ... });\n * useQuery(query, { client });\n * ```\n */\nexport function wrapHook(hookName, useHook, clientOrObsQuery) {\n var queryManager = clientOrObsQuery[\"queryManager\"];\n var wrappers = queryManager && queryManager[wrapperSymbol];\n var wrapper = wrappers && wrappers[hookName];\n return wrapper ? wrapper(useHook) : useHook;\n}\n//# sourceMappingURL=wrapHook.js.map","import { __assign, __rest } from \"tslib\";\n/**\n * Function parameters in this file try to follow a common order for the sake of\n * readability and consistency. The order is as follows:\n *\n * resultData\n * observable\n * client\n * query\n * options\n * watchQueryOptions\n * makeWatchQueryOptions\n * isSSRAllowed\n * disableNetworkFetches\n * partialRefetch\n * renderPromises\n * isSyncSSR\n * callbacks\n */\n/** */\nimport { invariant } from \"../../utilities/globals/index.js\";\nimport * as React from \"rehackt\";\nimport { useSyncExternalStore } from \"./useSyncExternalStore.js\";\nimport { equal } from \"@wry/equality\";\nimport { mergeOptions } from \"../../utilities/index.js\";\nimport { getApolloContext } from \"../context/index.js\";\nimport { ApolloError } from \"../../errors/index.js\";\nimport { NetworkStatus } from \"../../core/index.js\";\nimport { DocumentType, verifyDocumentType } from \"../parser/index.js\";\nimport { useApolloClient } from \"./useApolloClient.js\";\nimport { compact, isNonEmptyArray, maybeDeepFreeze, } from \"../../utilities/index.js\";\nimport { wrapHook } from \"./internal/index.js\";\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nfunction noop() { }\nexport var lastWatchOptions = Symbol();\n/**\n * A hook for executing queries in an Apollo application.\n *\n * To run a query within a React component, call `useQuery` and pass it a GraphQL query document.\n *\n * When your component renders, `useQuery` returns an object from Apollo Client that contains `loading`, `error`, and `data` properties you can use to render your UI.\n *\n * > Refer to the [Queries](https://www.apollographql.com/docs/react/data/queries) section for a more in-depth overview of `useQuery`.\n *\n * @example\n * ```jsx\n * import { gql, useQuery } from '@apollo/client';\n *\n * const GET_GREETING = gql`\n * query GetGreeting($language: String!) {\n * greeting(language: $language) {\n * message\n * }\n * }\n * `;\n *\n * function Hello() {\n * const { loading, error, data } = useQuery(GET_GREETING, {\n * variables: { language: 'english' },\n * });\n * if (loading) return <p>Loading ...</p>;\n * return <h1>Hello {data.greeting.message}!</h1>;\n * }\n * ```\n * @since 3.0.0\n * @param query - A GraphQL query document parsed into an AST by `gql`.\n * @param options - Options to control how the query is executed.\n * @returns Query result object\n */\nexport function useQuery(query, options) {\n if (options === void 0) { options = Object.create(null); }\n return wrapHook(\"useQuery\", _useQuery, useApolloClient(options && options.client))(query, options);\n}\nfunction _useQuery(query, options) {\n var _a = useQueryInternals(query, options), result = _a.result, obsQueryFields = _a.obsQueryFields;\n return React.useMemo(function () { return (__assign(__assign({}, result), obsQueryFields)); }, [result, obsQueryFields]);\n}\nfunction useInternalState(client, query, options, renderPromises, makeWatchQueryOptions) {\n function createInternalState(previous) {\n var _a;\n verifyDocumentType(query, DocumentType.Query);\n var internalState = {\n client: client,\n query: query,\n observable: \n // See if there is an existing observable that was used to fetch the same\n // data and if so, use it instead since it will contain the proper queryId\n // to fetch the result set. This is used during SSR.\n (renderPromises &&\n renderPromises.getSSRObservable(makeWatchQueryOptions())) ||\n client.watchQuery(getObsQueryOptions(void 0, client, options, makeWatchQueryOptions())),\n resultData: {\n // Reuse previousData from previous InternalState (if any) to provide\n // continuity of previousData even if/when the query or client changes.\n previousData: (_a = previous === null || previous === void 0 ? void 0 : previous.resultData.current) === null || _a === void 0 ? void 0 : _a.data,\n },\n };\n return internalState;\n }\n var _a = React.useState(createInternalState), internalState = _a[0], updateInternalState = _a[1];\n /**\n * Used by `useLazyQuery` when a new query is executed.\n * We keep this logic here since it needs to update things in unsafe\n * ways and here we at least can keep track of that in a single place.\n */\n function onQueryExecuted(watchQueryOptions) {\n var _a;\n var _b;\n // this needs to be set to prevent an immediate `resubscribe` in the\n // next rerender of the `useQuery` internals\n Object.assign(internalState.observable, (_a = {},\n _a[lastWatchOptions] = watchQueryOptions,\n _a));\n var resultData = internalState.resultData;\n updateInternalState(__assign(__assign({}, internalState), { \n // might be a different query\n query: watchQueryOptions.query, resultData: Object.assign(resultData, {\n // We need to modify the previous `resultData` object as we rely on the\n // object reference in other places\n previousData: ((_b = resultData.current) === null || _b === void 0 ? void 0 : _b.data) || resultData.previousData,\n current: undefined,\n }) }));\n }\n if (client !== internalState.client || query !== internalState.query) {\n // If the client or query have changed, we need to create a new InternalState.\n // This will trigger a re-render with the new state, but it will also continue\n // to run the current render function to completion.\n // Since we sometimes trigger some side-effects in the render function, we\n // re-assign `state` to the new state to ensure that those side-effects are\n // triggered with the new state.\n var newInternalState = createInternalState(internalState);\n updateInternalState(newInternalState);\n return [newInternalState, onQueryExecuted];\n }\n return [internalState, onQueryExecuted];\n}\nexport function useQueryInternals(query, options) {\n var client = useApolloClient(options.client);\n var renderPromises = React.useContext(getApolloContext()).renderPromises;\n var isSyncSSR = !!renderPromises;\n var disableNetworkFetches = client.disableNetworkFetches;\n var ssrAllowed = options.ssr !== false && !options.skip;\n var partialRefetch = options.partialRefetch;\n var makeWatchQueryOptions = createMakeWatchQueryOptions(client, query, options, isSyncSSR);\n var _a = useInternalState(client, query, options, renderPromises, makeWatchQueryOptions), _b = _a[0], observable = _b.observable, resultData = _b.resultData, onQueryExecuted = _a[1];\n var watchQueryOptions = makeWatchQueryOptions(observable);\n useResubscribeIfNecessary(resultData, // might get mutated during render\n observable, // might get mutated during render\n client, options, watchQueryOptions);\n var obsQueryFields = React.useMemo(function () { return bindObservableMethods(observable); }, [observable]);\n useRegisterSSRObservable(observable, renderPromises, ssrAllowed);\n var result = useObservableSubscriptionResult(resultData, observable, client, options, watchQueryOptions, disableNetworkFetches, partialRefetch, isSyncSSR, {\n onCompleted: options.onCompleted || noop,\n onError: options.onError || noop,\n });\n return {\n result: result,\n obsQueryFields: obsQueryFields,\n observable: observable,\n resultData: resultData,\n client: client,\n onQueryExecuted: onQueryExecuted,\n };\n}\nfunction useObservableSubscriptionResult(resultData, observable, client, options, watchQueryOptions, disableNetworkFetches, partialRefetch, isSyncSSR, callbacks) {\n var callbackRef = React.useRef(callbacks);\n React.useEffect(function () {\n // Make sure state.onCompleted and state.onError always reflect the latest\n // options.onCompleted and options.onError callbacks provided to useQuery,\n // since those functions are often recreated every time useQuery is called.\n // Like the forceUpdate method, the versions of these methods inherited from\n // InternalState.prototype are empty no-ops, but we can override them on the\n // base state object (without modifying the prototype).\n callbackRef.current = callbacks;\n });\n var resultOverride = ((isSyncSSR || disableNetworkFetches) &&\n options.ssr === false &&\n !options.skip) ?\n // If SSR has been explicitly disabled, and this function has been called\n // on the server side, return the default loading state.\n ssrDisabledResult\n : options.skip || watchQueryOptions.fetchPolicy === \"standby\" ?\n // When skipping a query (ie. we're not querying for data but still want to\n // render children), make sure the `data` is cleared out and `loading` is\n // set to `false` (since we aren't loading anything).\n //\n // NOTE: We no longer think this is the correct behavior. Skipping should\n // not automatically set `data` to `undefined`, but instead leave the\n // previous data in place. In other words, skipping should not mandate that\n // previously received data is all of a sudden removed. Unfortunately,\n // changing this is breaking, so we'll have to wait until Apollo Client 4.0\n // to address this.\n skipStandbyResult\n : void 0;\n var previousData = resultData.previousData;\n var currentResultOverride = React.useMemo(function () {\n return resultOverride &&\n toQueryResult(resultOverride, previousData, observable, client);\n }, [client, observable, resultOverride, previousData]);\n return useSyncExternalStore(React.useCallback(function (handleStoreChange) {\n // reference `disableNetworkFetches` here to ensure that the rules of hooks\n // keep it as a dependency of this effect, even though it's not used\n disableNetworkFetches;\n if (isSyncSSR) {\n return function () { };\n }\n var onNext = function () {\n var previousResult = resultData.current;\n // We use `getCurrentResult()` instead of the onNext argument because\n // the values differ slightly. Specifically, loading results will have\n // an empty object for data instead of `undefined` for some reason.\n var result = observable.getCurrentResult();\n // Make sure we're not attempting to re-render similar results\n if (previousResult &&\n previousResult.loading === result.loading &&\n previousResult.networkStatus === result.networkStatus &&\n equal(previousResult.data, result.data)) {\n return;\n }\n setResult(result, resultData, observable, client, partialRefetch, handleStoreChange, callbackRef.current);\n };\n var onError = function (error) {\n subscription.current.unsubscribe();\n subscription.current = observable.resubscribeAfterError(onNext, onError);\n if (!hasOwnProperty.call(error, \"graphQLErrors\")) {\n // The error is not a GraphQL error\n throw error;\n }\n var previousResult = resultData.current;\n if (!previousResult ||\n (previousResult && previousResult.loading) ||\n !equal(error, previousResult.error)) {\n setResult({\n data: (previousResult && previousResult.data),\n error: error,\n loading: false,\n networkStatus: NetworkStatus.error,\n }, resultData, observable, client, partialRefetch, handleStoreChange, callbackRef.current);\n }\n };\n // TODO evaluate if we keep this in\n // React Compiler cannot handle scoped `let` access, but a mutable object\n // like this is fine.\n // was:\n // let subscription = observable.subscribe(onNext, onError);\n var subscription = { current: observable.subscribe(onNext, onError) };\n // Do the \"unsubscribe\" with a short delay.\n // This way, an existing subscription can be reused without an additional\n // request if \"unsubscribe\" and \"resubscribe\" to the same ObservableQuery\n // happen in very fast succession.\n return function () {\n setTimeout(function () { return subscription.current.unsubscribe(); });\n };\n }, [\n disableNetworkFetches,\n isSyncSSR,\n observable,\n resultData,\n partialRefetch,\n client,\n ]), function () {\n return currentResultOverride ||\n getCurrentResult(resultData, observable, callbackRef.current, partialRefetch, client);\n }, function () {\n return currentResultOverride ||\n getCurrentResult(resultData, observable, callbackRef.current, partialRefetch, client);\n });\n}\nfunction useRegisterSSRObservable(observable, renderPromises, ssrAllowed) {\n if (renderPromises && ssrAllowed) {\n renderPromises.registerSSRObservable(observable);\n if (observable.getCurrentResult().loading) {\n // TODO: This is a legacy API which could probably be cleaned up\n renderPromises.addObservableQueryPromise(observable);\n }\n }\n}\n// this hook is not compatible with any rules of React, and there's no good way to rewrite it.\n// it should stay a separate hook that will not be optimized by the compiler\nfunction useResubscribeIfNecessary(\n/** this hook will mutate properties on `resultData` */\nresultData, \n/** this hook will mutate properties on `observable` */\nobservable, client, options, watchQueryOptions) {\n var _a;\n if (observable[lastWatchOptions] &&\n !equal(observable[lastWatchOptions], watchQueryOptions)) {\n // Though it might be tempting to postpone this reobserve call to the\n // useEffect block, we need getCurrentResult to return an appropriate\n // loading:true result synchronously (later within the same call to\n // useQuery). Since we already have this.observable here (not true for\n // the very first call to useQuery), we are not initiating any new\n // subscriptions, though it does feel less than ideal that reobserve\n // (potentially) kicks off a network request (for example, when the\n // variables have changed), which is technically a side-effect.\n observable.reobserve(getObsQueryOptions(observable, client, options, watchQueryOptions));\n // Make sure getCurrentResult returns a fresh ApolloQueryResult<TData>,\n // but save the current data as this.previousData, just like setResult\n // usually does.\n resultData.previousData =\n ((_a = resultData.current) === null || _a === void 0 ? void 0 : _a.data) || resultData.previousData;\n resultData.current = void 0;\n }\n observable[lastWatchOptions] = watchQueryOptions;\n}\n/*\n * A function to massage options before passing them to ObservableQuery.\n * This is two-step curried because we want to reuse the `make` function,\n * but the `observable` might differ between calls to `make`.\n */\nexport function createMakeWatchQueryOptions(client, query, _a, isSyncSSR) {\n if (_a === void 0) { _a = {}; }\n var skip = _a.skip, ssr = _a.ssr, onCompleted = _a.onCompleted, onError = _a.onError, defaultOptions = _a.defaultOptions, \n // The above options are useQuery-specific, so this ...otherOptions spread\n // makes otherOptions almost a WatchQueryOptions object, except for the\n // query property that we add below.\n otherOptions = __rest(_a, [\"skip\", \"ssr\", \"onCompleted\", \"onError\", \"defaultOptions\"]);\n return function (observable) {\n // This Object.assign is safe because otherOptions is a fresh ...rest object\n // that did not exist until just now, so modifications are still allowed.\n var watchQueryOptions = Object.assign(otherOptions, { query: query });\n if (isSyncSSR &&\n (watchQueryOptions.fetchPolicy === \"network-only\" ||\n watchQueryOptions.fetchPolicy === \"cache-and-network\")) {\n // this behavior was added to react-apollo without explanation in this PR\n // https://github.com/apollographql/react-apollo/pull/1579\n watchQueryOptions.fetchPolicy = \"cache-first\";\n }\n if (!watchQueryOptions.variables) {\n watchQueryOptions.variables = {};\n }\n if (skip) {\n // When skipping, we set watchQueryOptions.fetchPolicy initially to\n // \"standby\", but we also need/want to preserve the initial non-standby\n // fetchPolicy that would have been used if not skipping.\n watchQueryOptions.initialFetchPolicy =\n watchQueryOptions.initialFetchPolicy ||\n watchQueryOptions.fetchPolicy ||\n getDefaultFetchPolicy(defaultOptions, client.defaultOptions);\n watchQueryOptions.fetchPolicy = \"standby\";\n }\n else if (!watchQueryOptions.fetchPolicy) {\n watchQueryOptions.fetchPolicy =\n (observable === null || observable === void 0 ? void 0 : observable.options.initialFetchPolicy) ||\n getDefaultFetchPolicy(defaultOptions, client.defaultOptions);\n }\n return watchQueryOptions;\n };\n}\nexport function getObsQueryOptions(observable, client, queryHookOptions, watchQueryOptions) {\n var toMerge = [];\n var globalDefaults = client.defaultOptions.watchQuery;\n if (globalDefaults)\n toMerge.push(globalDefaults);\n if (queryHookOptions.defaultOptions) {\n toMerge.push(queryHookOptions.defaultOptions);\n }\n // We use compact rather than mergeOptions for this part of the merge,\n // because we want watchQueryOptions.variables (if defined) to replace\n // this.observable.options.variables whole. This replacement allows\n // removing variables by removing them from the variables input to\n // useQuery. If the variables were always merged together (rather than\n // replaced), there would be no way to remove existing variables.\n // However, the variables from options.defaultOptions and globalDefaults\n // (if provided) should be merged, to ensure individual defaulted\n // variables always have values, if not otherwise defined in\n // observable.options or watchQueryOptions.\n toMerge.push(compact(observable && observable.options, watchQueryOptions));\n return toMerge.reduce(mergeOptions);\n}\nfunction setResult(nextResult, resultData, observable, client, partialRefetch, forceUpdate, callbacks) {\n var previousResult = resultData.current;\n if (previousResult && previousResult.data) {\n resultData.previousData = previousResult.data;\n }\n if (!nextResult.error && isNonEmptyArray(nextResult.errors)) {\n // Until a set naming convention for networkError and graphQLErrors is\n // decided upon, we map errors (graphQLErrors) to the error options.\n // TODO: Is it possible for both result.error and result.errors to be\n // defined here?\n nextResult.error = new ApolloError({ graphQLErrors: nextResult.errors });\n }\n resultData.current = toQueryResult(unsafeHandlePartialRefetch(nextResult, observable, partialRefetch), resultData.previousData, observable, client);\n // Calling state.setResult always triggers an update, though some call sites\n // perform additional equality checks before committing to an update.\n forceUpdate();\n handleErrorOrCompleted(nextResult, previousResult === null || previousResult === void 0 ? void 0 : previousResult.networkStatus, callbacks);\n}\nfunction handleErrorOrCompleted(result, previousNetworkStatus, callbacks) {\n if (!result.loading) {\n var error_1 = toApolloError(result);\n // wait a tick in case we are in the middle of rendering a component\n Promise.resolve()\n .then(function () {\n if (error_1) {\n callbacks.onError(error_1);\n }\n else if (result.data &&\n previousNetworkStatus !== result.networkStatus &&\n result.networkStatus === NetworkStatus.ready) {\n callbacks.onCompleted(result.data);\n }\n })\n .catch(function (error) {\n globalThis.__DEV__ !== false && invariant.warn(error);\n });\n }\n}\nfunction getCurrentResult(resultData, observable, callbacks, partialRefetch, client) {\n // Using this.result as a cache ensures getCurrentResult continues returning\n // the same (===) result object, unless state.setResult has been called, or\n // we're doing server rendering and therefore override the result below.\n if (!resultData.current) {\n // WARNING: SIDE-EFFECTS IN THE RENDER FUNCTION\n // this could call unsafeHandlePartialRefetch\n setResult(observable.getCurrentResult(), resultData, observable, client, partialRefetch, function () { }, callbacks);\n }\n return resultData.current;\n}\nexport function getDefaultFetchPolicy(queryHookDefaultOptions, clientDefaultOptions) {\n var _a;\n return ((queryHookDefaultOptions === null || queryHookDefaultOptions === void 0 ? void 0 : queryHookDefaultOptions.fetchPolicy) ||\n ((_a = clientDefaultOptions === null || clientDefaultOptions === void 0 ? void 0 : clientDefaultOptions.watchQuery) === null || _a === void 0 ? void 0 : _a.fetchPolicy) ||\n \"cache-first\");\n}\nexport function toApolloError(result) {\n return isNonEmptyArray(result.errors) ?\n new ApolloError({ graphQLErrors: result.errors })\n : result.error;\n}\nexport function toQueryResult(result, previousData, observable, client) {\n var data = result.data, partial = result.partial, resultWithoutPartial = __rest(result, [\"data\", \"partial\"]);\n var queryResult = __assign(__assign({ data: data }, resultWithoutPartial), { client: client, observable: observable, variables: observable.variables, called: result !== ssrDisabledResult && result !== skipStandbyResult, previousData: previousData });\n return queryResult;\n}\nfunction unsafeHandlePartialRefetch(result, observable, partialRefetch) {\n // TODO: This code should be removed when the partialRefetch option is\n // removed. I was unable to get this hook to behave reasonably in certain\n // edge cases when this block was put in an effect.\n if (result.partial &&\n partialRefetch &&\n !result.loading &&\n (!result.data || Object.keys(result.data).length === 0) &&\n observable.options.fetchPolicy !== \"cache-only\") {\n observable.refetch();\n return __assign(__assign({}, result), { loading: true, networkStatus: NetworkStatus.refetch });\n }\n return result;\n}\nvar ssrDisabledResult = maybeDeepFreeze({\n loading: true,\n data: void 0,\n error: void 0,\n networkStatus: NetworkStatus.loading,\n});\nvar skipStandbyResult = maybeDeepFreeze({\n loading: false,\n data: void 0,\n error: void 0,\n networkStatus: NetworkStatus.ready,\n});\nfunction bindObservableMethods(observable) {\n return {\n refetch: observable.refetch.bind(observable),\n reobserve: observable.reobserve.bind(observable),\n fetchMore: observable.fetchMore.bind(observable),\n updateQuery: observable.updateQuery.bind(observable),\n startPolling: observable.startPolling.bind(observable),\n stopPolling: observable.stopPolling.bind(observable),\n subscribeToMore: observable.subscribeToMore.bind(observable),\n };\n}\n//# sourceMappingURL=useQuery.js.map","import { WeakCache, StrongCache } from \"@wry/caches\";\nvar scheduledCleanup = new WeakSet();\nfunction schedule(cache) {\n if (cache.size <= (cache.max || -1)) {\n return;\n }\n if (!scheduledCleanup.has(cache)) {\n scheduledCleanup.add(cache);\n setTimeout(function () {\n cache.clean();\n scheduledCleanup.delete(cache);\n }, 100);\n }\n}\n/**\n * @internal\n * A version of WeakCache that will auto-schedule a cleanup of the cache when\n * a new item is added and the cache reached maximum size.\n * Throttled to once per 100ms.\n *\n * @privateRemarks\n * Should be used throughout the rest of the codebase instead of WeakCache,\n * with the notable exception of usage in `wrap` from `optimism` - that one\n * already handles cleanup and should remain a `WeakCache`.\n */\nexport var AutoCleanedWeakCache = function (max, dispose) {\n /*\n Some builds of `WeakCache` are function prototypes, some are classes.\n This library still builds with an ES5 target, so we can't extend the\n real classes.\n Instead, we have to use this workaround until we switch to a newer build\n target.\n */\n var cache = new WeakCache(max, dispose);\n cache.set = function (key, value) {\n var ret = WeakCache.prototype.set.call(this, key, value);\n schedule(this);\n return ret;\n };\n return cache;\n};\n/**\n * @internal\n * A version of StrongCache that will auto-schedule a cleanup of the cache when\n * a new item is added and the cache reached maximum size.\n * Throttled to once per 100ms.\n *\n * @privateRemarks\n * Should be used throughout the rest of the codebase instead of StrongCache,\n * with the notable exception of usage in `wrap` from `optimism` - that one\n * already handles cleanup and should remain a `StrongCache`.\n */\nexport var AutoCleanedStrongCache = function (max, dispose) {\n /*\n Some builds of `StrongCache` are function prototypes, some are classes.\n This library still builds with an ES5 target, so we can't extend the\n real classes.\n Instead, we have to use this workaround until we switch to a newer build\n target.\n */\n var cache = new StrongCache(max, dispose);\n cache.set = function (key, value) {\n var ret = StrongCache.prototype.set.call(this, key, value);\n schedule(this);\n return ret;\n };\n return cache;\n};\n//# sourceMappingURL=caches.js.map","import { __assign, __spreadArray } from \"tslib\";\nimport { cacheSizes } from \"./sizes.js\";\nvar globalCaches = {};\nexport function registerGlobalCache(name, getSize) {\n globalCaches[name] = getSize;\n}\n/**\n * For internal purposes only - please call `ApolloClient.getMemoryInternals` instead\n * @internal\n */\nexport var getApolloClientMemoryInternals = globalThis.__DEV__ !== false ?\n _getApolloClientMemoryInternals\n : undefined;\n/**\n * For internal purposes only - please call `ApolloClient.getMemoryInternals` instead\n * @internal\n */\nexport var getInMemoryCacheMemoryInternals = globalThis.__DEV__ !== false ?\n _getInMemoryCacheMemoryInternals\n : undefined;\n/**\n * For internal purposes only - please call `ApolloClient.getMemoryInternals` instead\n * @internal\n */\nexport var getApolloCacheMemoryInternals = globalThis.__DEV__ !== false ?\n _getApolloCacheMemoryInternals\n : undefined;\nfunction getCurrentCacheSizes() {\n // `defaultCacheSizes` is a `const enum` that will be inlined during build, so we have to reconstruct it's shape here\n var defaults = {\n parser: 1000 /* defaultCacheSizes[\"parser\"] */,\n canonicalStringify: 1000 /* defaultCacheSizes[\"canonicalStringify\"] */,\n print: 2000 /* defaultCacheSizes[\"print\"] */,\n \"documentTransform.cache\": 2000 /* defaultCacheSizes[\"documentTransform.cache\"] */,\n \"queryManager.getDocumentInfo\": 2000 /* defaultCacheSizes[\"queryManager.getDocumentInfo\"] */,\n \"PersistedQueryLink.persistedQueryHashes\": 2000 /* defaultCacheSizes[\"PersistedQueryLink.persistedQueryHashes\"] */,\n \"fragmentRegistry.transform\": 2000 /* defaultCacheSizes[\"fragmentRegistry.transform\"] */,\n \"fragmentRegistry.lookup\": 1000 /* defaultCacheSizes[\"fragmentRegistry.lookup\"] */,\n \"fragmentRegistry.findFragmentSpreads\": 4000 /* defaultCacheSizes[\"fragmentRegistry.findFragmentSpreads\"] */,\n \"cache.fragmentQueryDocuments\": 1000 /* defaultCacheSizes[\"cache.fragmentQueryDocuments\"] */,\n \"removeTypenameFromVariables.getVariableDefinitions\": 2000 /* defaultCacheSizes[\"removeTypenameFromVariables.getVariableDefinitions\"] */,\n \"inMemoryCache.maybeBroadcastWatch\": 5000 /* defaultCacheSizes[\"inMemoryCache.maybeBroadcastWatch\"] */,\n \"inMemoryCache.executeSelectionSet\": 50000 /* defaultCacheSizes[\"inMemoryCache.executeSelectionSet\"] */,\n \"inMemoryCache.executeSubSelectedArray\": 10000 /* defaultCacheSizes[\"inMemoryCache.executeSubSelectedArray\"] */,\n };\n return Object.fromEntries(Object.entries(defaults).map(function (_a) {\n var k = _a[0], v = _a[1];\n return [\n k,\n cacheSizes[k] || v,\n ];\n }));\n}\nfunction _getApolloClientMemoryInternals() {\n var _a, _b, _c, _d, _e;\n if (!(globalThis.__DEV__ !== false))\n throw new Error(\"only supported in development mode\");\n return {\n limits: getCurrentCacheSizes(),\n sizes: __assign({ print: (_a = globalCaches.print) === null || _a === void 0 ? void 0 : _a.call(globalCaches), parser: (_b = globalCaches.parser) === null || _b === void 0 ? void 0 : _b.call(globalCaches), canonicalStringify: (_c = globalCaches.canonicalStringify) === null || _c === void 0 ? void 0 : _c.call(globalCaches), links: linkInfo(this.link), queryManager: {\n getDocumentInfo: this[\"queryManager\"][\"transformCache\"].size,\n documentTransforms: transformInfo(this[\"queryManager\"].documentTransform),\n } }, (_e = (_d = this.cache).getMemoryInternals) === null || _e === void 0 ? void 0 : _e.call(_d)),\n };\n}\nfunction _getApolloCacheMemoryInternals() {\n return {\n cache: {\n fragmentQueryDocuments: getWrapperInformation(this[\"getFragmentDoc\"]),\n },\n };\n}\nfunction _getInMemoryCacheMemoryInternals() {\n var fragments = this.config.fragments;\n return __assign(__assign({}, _getApolloCacheMemoryInternals.apply(this)), { addTypenameDocumentTransform: transformInfo(this[\"addTypenameTransform\"]), inMemoryCache: {\n executeSelectionSet: getWrapperInformation(this[\"storeReader\"][\"executeSelectionSet\"]),\n executeSubSelectedArray: getWrapperInformation(this[\"storeReader\"][\"executeSubSelectedArray\"]),\n maybeBroadcastWatch: getWrapperInformation(this[\"maybeBroadcastWatch\"]),\n }, fragmentRegistry: {\n findFragmentSpreads: getWrapperInformation(fragments === null || fragments === void 0 ? void 0 : fragments.findFragmentSpreads),\n lookup: getWrapperInformation(fragments === null || fragments === void 0 ? void 0 : fragments.lookup),\n transform: getWrapperInformation(fragments === null || fragments === void 0 ? void 0 : fragments.transform),\n } });\n}\nfunction isWrapper(f) {\n return !!f && \"dirtyKey\" in f;\n}\nfunction getWrapperInformation(f) {\n return isWrapper(f) ? f.size : undefined;\n}\nfunction isDefined(value) {\n return value != null;\n}\nfunction transformInfo(transform) {\n return recurseTransformInfo(transform).map(function (cache) { return ({ cache: cache }); });\n}\nfunction recurseTransformInfo(transform) {\n return transform ?\n __spreadArray(__spreadArray([\n getWrapperInformation(transform === null || transform === void 0 ? void 0 : transform[\"performWork\"])\n ], recurseTransformInfo(transform === null || transform === void 0 ? void 0 : transform[\"left\"]), true), recurseTransformInfo(transform === null || transform === void 0 ? void 0 : transform[\"right\"]), true).filter(isDefined)\n : [];\n}\nfunction linkInfo(link) {\n var _a;\n return link ?\n __spreadArray(__spreadArray([\n (_a = link === null || link === void 0 ? void 0 : link.getMemoryInternals) === null || _a === void 0 ? void 0 : _a.call(link)\n ], linkInfo(link === null || link === void 0 ? void 0 : link.left), true), linkInfo(link === null || link === void 0 ? void 0 : link.right), true).filter(isDefined)\n : [];\n}\n//# sourceMappingURL=getMemoryInternals.js.map","import { __assign } from \"tslib\";\nimport { global } from \"../globals/index.js\";\nvar cacheSizeSymbol = Symbol.for(\"apollo.cacheSize\");\n/**\n *\n * The global cache size configuration for Apollo Client.\n *\n * @remarks\n *\n * You can directly modify this object, but any modification will\n * only have an effect on caches that are created after the modification.\n *\n * So for global caches, such as `parser`, `canonicalStringify` and `print`,\n * you might need to call `.reset` on them, which will essentially re-create them.\n *\n * Alternatively, you can set `globalThis[Symbol.for(\"apollo.cacheSize\")]` before\n * you load the Apollo Client package:\n *\n * @example\n * ```ts\n * globalThis[Symbol.for(\"apollo.cacheSize\")] = {\n * parser: 100\n * } satisfies Partial<CacheSizes> // the `satisfies` is optional if using TypeScript\n * ```\n */\nexport var cacheSizes = __assign({}, global[cacheSizeSymbol]);\n//# sourceMappingURL=sizes.js.map","// A version of Array.isArray that works better with readonly arrays.\nexport var isArray = Array.isArray;\nexport function isNonEmptyArray(value) {\n return Array.isArray(value) && value.length > 0;\n}\n//# sourceMappingURL=arrays.js.map","import { maybe } from \"../globals/index.js\";\nvar isReactNative = maybe(function () { return navigator.product; }) == \"ReactNative\";\nexport var canUseWeakMap = typeof WeakMap === \"function\" &&\n !(isReactNative && !global.HermesInternal);\nexport var canUseWeakSet = typeof WeakSet === \"function\";\nexport var canUseSymbol = typeof Symbol === \"function\" && typeof Symbol.for === \"function\";\nexport var canUseAsyncIteratorSymbol = canUseSymbol && Symbol.asyncIterator;\nexport var canUseDOM = typeof maybe(function () { return window.document.createElement; }) === \"function\";\nvar usingJSDOM = \n// Following advice found in this comment from @domenic (maintainer of jsdom):\n// https://github.com/jsdom/jsdom/issues/1537#issuecomment-229405327\n//\n// Since we control the version of Jest and jsdom used when running Apollo\n// Client tests, and that version is recent enought to include \" jsdom/x.y.z\"\n// at the end of the user agent string, I believe this case is all we need to\n// check. Testing for \"Node.js\" was recommended for backwards compatibility\n// with older version of jsdom, but we don't have that problem.\nmaybe(function () { return navigator.userAgent.indexOf(\"jsdom\") >= 0; }) || false;\n// Our tests should all continue to pass if we remove this !usingJSDOM\n// condition, thereby allowing useLayoutEffect when using jsdom. Unfortunately,\n// if we allow useLayoutEffect, then useSyncExternalStore generates many\n// warnings about useLayoutEffect doing nothing on the server. While these\n// warnings are harmless, this !usingJSDOM condition seems to be the best way to\n// prevent them (i.e. skipping useLayoutEffect when using jsdom).\nexport var canUseLayoutEffect = (canUseDOM || isReactNative) && !usingJSDOM;\n//# sourceMappingURL=canUse.js.map","/**\n * Merges the provided objects shallowly and removes\n * all properties with an `undefined` value\n */\nexport function compact() {\n var objects = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n objects[_i] = arguments[_i];\n }\n var result = Object.create(null);\n objects.forEach(function (obj) {\n if (!obj)\n return;\n Object.keys(obj).forEach(function (key) {\n var value = obj[key];\n if (value !== void 0) {\n result[key] = value;\n }\n });\n });\n return result;\n}\n//# sourceMappingURL=compact.js.map","var prefixCounts = new Map();\n// These IDs won't be globally unique, but they will be unique within this\n// process, thanks to the counter, and unguessable thanks to the random suffix.\nexport function makeUniqueId(prefix) {\n var count = prefixCounts.get(prefix) || 1;\n prefixCounts.set(prefix, count + 1);\n return \"\".concat(prefix, \":\").concat(count, \":\").concat(Math.random().toString(36).slice(2));\n}\n//# sourceMappingURL=makeUniqueId.js.map","import { isNonNullObject } from \"./objects.js\";\nfunction deepFreeze(value) {\n var workSet = new Set([value]);\n workSet.forEach(function (obj) {\n if (isNonNullObject(obj) && shallowFreeze(obj) === obj) {\n Object.getOwnPropertyNames(obj).forEach(function (name) {\n if (isNonNullObject(obj[name]))\n workSet.add(obj[name]);\n });\n }\n });\n return value;\n}\nfunction shallowFreeze(obj) {\n if (globalThis.__DEV__ !== false && !Object.isFrozen(obj)) {\n try {\n Object.freeze(obj);\n }\n catch (e) {\n // Some types like Uint8Array and Node.js's Buffer cannot be frozen, but\n // they all throw a TypeError when you try, so we re-throw any exceptions\n // that are not TypeErrors, since that would be unexpected.\n if (e instanceof TypeError)\n return null;\n throw e;\n }\n }\n return obj;\n}\nexport function maybeDeepFreeze(obj) {\n if (globalThis.__DEV__ !== false) {\n deepFreeze(obj);\n }\n return obj;\n}\n//# sourceMappingURL=maybeDeepFreeze.js.map","import { __assign } from \"tslib\";\nimport { compact } from \"./compact.js\";\nexport function mergeOptions(defaults, options) {\n return compact(defaults, options, options.variables && {\n variables: compact(__assign(__assign({}, (defaults && defaults.variables)), options.variables)),\n });\n}\n//# sourceMappingURL=mergeOptions.js.map","export function isNonNullObject(obj) {\n return obj !== null && typeof obj === \"object\";\n}\nexport function isPlainObject(obj) {\n return (obj !== null &&\n typeof obj === \"object\" &&\n (Object.getPrototypeOf(obj) === Object.prototype ||\n Object.getPrototypeOf(obj) === null));\n}\n//# sourceMappingURL=objects.js.map","import { makeUniqueId } from \"./makeUniqueId.js\";\nexport function stringifyForDisplay(value, space) {\n if (space === void 0) { space = 0; }\n var undefId = makeUniqueId(\"stringifyForDisplay\");\n return JSON.stringify(value, function (key, value) {\n return value === void 0 ? undefId : value;\n }, space)\n .split(JSON.stringify(undefId))\n .join(\"<undefined>\");\n}\n//# sourceMappingURL=stringifyForDisplay.js.map","import { __extends } from \"tslib\";\nvar genericMessage = \"Invariant Violation\";\nvar _a = Object.setPrototypeOf, setPrototypeOf = _a === void 0 ? function (obj, proto) {\n obj.__proto__ = proto;\n return obj;\n} : _a;\nvar InvariantError = /** @class */ (function (_super) {\n __extends(InvariantError, _super);\n function InvariantError(message) {\n if (message === void 0) { message = genericMessage; }\n var _this = _super.call(this, typeof message === \"number\"\n ? genericMessage + \": \" + message + \" (see https://github.com/apollographql/invariant-packages)\"\n : message) || this;\n _this.framesToPop = 1;\n _this.name = genericMessage;\n setPrototypeOf(_this, InvariantError.prototype);\n return _this;\n }\n return InvariantError;\n}(Error));\nexport { InvariantError };\nexport function invariant(condition, message) {\n if (!condition) {\n throw new InvariantError(message);\n }\n}\nvar verbosityLevels = [\"debug\", \"log\", \"warn\", \"error\", \"silent\"];\nvar verbosityLevel = verbosityLevels.indexOf(\"log\");\nfunction wrapConsoleMethod(name) {\n return function () {\n if (verbosityLevels.indexOf(name) >= verbosityLevel) {\n // Default to console.log if this host environment happens not to provide\n // all the console.* methods we need.\n var method = console[name] || console.log;\n return method.apply(console, arguments);\n }\n };\n}\n(function (invariant) {\n invariant.debug = wrapConsoleMethod(\"debug\");\n invariant.log = wrapConsoleMethod(\"log\");\n invariant.warn = wrapConsoleMethod(\"warn\");\n invariant.error = wrapConsoleMethod(\"error\");\n})(invariant || (invariant = {}));\nexport function setVerbosity(level) {\n var old = verbosityLevels[verbosityLevel];\n verbosityLevel = Math.max(0, verbosityLevels.indexOf(level));\n return old;\n}\nexport default invariant;\n//# sourceMappingURL=invariant.js.map","export function maybe(thunk) {\n try {\n return thunk();\n }\n catch (_a) { }\n}\n//# sourceMappingURL=maybe.js.map","import { maybe } from \"./maybe.js\";\nexport default (maybe(function () { return globalThis; }) ||\n maybe(function () { return window; }) ||\n maybe(function () { return self; }) ||\n maybe(function () { return global; }) || // We don't expect the Function constructor ever to be invoked at runtime, as\n// long as at least one of globalThis, window, self, or global is defined, so\n// we are under no obligation to make it easy for static analysis tools to\n// detect syntactic usage of the Function constructor. If you think you can\n// improve your static analysis to detect this obfuscation, think again. This\n// is an arms race you cannot win, at least not in JavaScript.\nmaybe(function () {\n return maybe.constructor(\"return this\")();\n}));\n//# sourceMappingURL=global.js.map","import { invariant as originalInvariant, InvariantError } from \"ts-invariant\";\nimport { version } from \"../../version.js\";\nimport global from \"./global.js\";\nimport { stringifyForDisplay } from \"../common/stringifyForDisplay.js\";\nfunction wrap(fn) {\n return function (message) {\n var args = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n args[_i - 1] = arguments[_i];\n }\n if (typeof message === \"number\") {\n var arg0 = message;\n message = getHandledErrorMsg(arg0);\n if (!message) {\n message = getFallbackErrorMsg(arg0, args);\n args = [];\n }\n }\n fn.apply(void 0, [message].concat(args));\n };\n}\nvar invariant = Object.assign(function invariant(condition, message) {\n var args = [];\n for (var _i = 2; _i < arguments.length; _i++) {\n args[_i - 2] = arguments[_i];\n }\n if (!condition) {\n originalInvariant(condition, getHandledErrorMsg(message, args) || getFallbackErrorMsg(message, args));\n }\n}, {\n debug: wrap(originalInvariant.debug),\n log: wrap(originalInvariant.log),\n warn: wrap(originalInvariant.warn),\n error: wrap(originalInvariant.error),\n});\n/**\n * Returns an InvariantError.\n *\n * `message` can only be a string, a concatenation of strings, or a ternary statement\n * that results in a string. This will be enforced on build, where the message will\n * be replaced with a message number.\n * String substitutions with %s are supported and will also return\n * pretty-stringified objects.\n * Excess `optionalParams` will be swallowed.\n */\nfunction newInvariantError(message) {\n var optionalParams = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n optionalParams[_i - 1] = arguments[_i];\n }\n return new InvariantError(getHandledErrorMsg(message, optionalParams) ||\n getFallbackErrorMsg(message, optionalParams));\n}\nvar ApolloErrorMessageHandler = Symbol.for(\"ApolloErrorMessageHandler_\" + version);\nfunction stringify(arg) {\n if (typeof arg == \"string\") {\n return arg;\n }\n try {\n return stringifyForDisplay(arg, 2).slice(0, 1000);\n }\n catch (_a) {\n return \"<non-serializable>\";\n }\n}\nfunction getHandledErrorMsg(message, messageArgs) {\n if (messageArgs === void 0) { messageArgs = []; }\n if (!message)\n return;\n return (global[ApolloErrorMessageHandler] &&\n global[ApolloErrorMessageHandler](message, messageArgs.map(stringify)));\n}\nfunction getFallbackErrorMsg(message, messageArgs) {\n if (messageArgs === void 0) { messageArgs = []; }\n if (!message)\n return;\n return \"An error occurred! For more details, see the full error text at https://go.apollo.dev/c/err#\".concat(encodeURIComponent(JSON.stringify({\n version: version,\n message: message,\n args: messageArgs.map(stringify),\n })));\n}\nexport { invariant, InvariantError, newInvariantError, ApolloErrorMessageHandler, };\n//# sourceMappingURL=invariantWrappers.js.map","import { invariant, newInvariantError, InvariantError, } from \"./invariantWrappers.js\";\nexport { maybe } from \"./maybe.js\";\nexport { default as global } from \"./global.js\";\nexport { invariant, newInvariantError, InvariantError };\n/**\n * @deprecated we do not use this internally anymore,\n * it is just exported for backwards compatibility\n */\n// this file is extempt from automatic `__DEV__` replacement\n// so we have to write it out here\n// @ts-ignore\nexport var DEV = globalThis.__DEV__ !== false;\nexport { DEV as __DEV__ };\n//# sourceMappingURL=index.js.map","export var version = \"3.11.8\";\n//# sourceMappingURL=version.js.map","function _arrayLikeToArray(r, a) {\n (null == a || a > r.length) && (a = r.length);\n for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];\n return n;\n}\nexport { _arrayLikeToArray as default };","function _classCallCheck(a, n) {\n if (!(a instanceof n)) throw new TypeError(\"Cannot call a class as a function\");\n}\nexport { _classCallCheck as default };","import toPropertyKey from \"./toPropertyKey.js\";\nfunction _defineProperties(e, r) {\n for (var t = 0; t < r.length; t++) {\n var o = r[t];\n o.enumerable = o.enumerable || !1, o.configurable = !0, \"value\" in o && (o.writable = !0), Object.defineProperty(e, toPropertyKey(o.key), o);\n }\n}\nfunction _createClass(e, r, t) {\n return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, \"prototype\", {\n writable: !1\n }), e;\n}\nexport { _createClass as default };","import toPropertyKey from \"./toPropertyKey.js\";\nfunction _defineProperty(e, r, t) {\n return (r = toPropertyKey(r)) in e ? Object.defineProperty(e, r, {\n value: t,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }) : e[r] = t, e;\n}\nexport { _defineProperty as default };","function _arrayWithHoles(r) {\n if (Array.isArray(r)) return r;\n}\nexport { _arrayWithHoles as default };","function _iterableToArrayLimit(r, l) {\n var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"];\n if (null != t) {\n var e,\n n,\n i,\n u,\n a = [],\n f = !0,\n o = !1;\n try {\n if (i = (t = t.call(r)).next, 0 === l) {\n if (Object(t) !== t) return;\n f = !1;\n } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);\n } catch (r) {\n o = !0, n = r;\n } finally {\n try {\n if (!f && null != t[\"return\"] && (u = t[\"return\"](), Object(u) !== u)) return;\n } finally {\n if (o) throw n;\n }\n }\n return a;\n }\n}\nexport { _iterableToArrayLimit as default };","function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nexport { _nonIterableRest as default };","import arrayWithHoles from \"./arrayWithHoles.js\";\nimport iterableToArrayLimit from \"./iterableToArrayLimit.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableRest from \"./nonIterableRest.js\";\nfunction _slicedToArray(r, e) {\n return arrayWithHoles(r) || iterableToArrayLimit(r, e) || unsupportedIterableToArray(r, e) || nonIterableRest();\n}\nexport { _slicedToArray as default };","import _typeof from \"./typeof.js\";\nfunction toPrimitive(t, r) {\n if (\"object\" != _typeof(t) || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r || \"default\");\n if (\"object\" != _typeof(i)) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\n}\nexport { toPrimitive as default };","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nfunction toPropertyKey(t) {\n var i = toPrimitive(t, \"string\");\n return \"symbol\" == _typeof(i) ? i : i + \"\";\n}\nexport { toPropertyKey as default };","function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, _typeof(o);\n}\nexport { _typeof as default };","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nfunction _unsupportedIterableToArray(r, a) {\n if (r) {\n if (\"string\" == typeof r) return arrayLikeToArray(r, a);\n var t = {}.toString.call(r).slice(8, -1);\n return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? arrayLikeToArray(r, a) : void 0;\n }\n}\nexport { _unsupportedIterableToArray as default };","/*!\n * Glide.js v3.6.0\n * (c) 2013-2022 JÄ™drzej ChaÅ‚ubek (https://github.com/jedrzejchalubek/)\n * Released under the MIT License.\n */\n\nfunction _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function (obj) {\n return typeof obj;\n };\n } else {\n _typeof = function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) _setPrototypeOf(subClass, superClass);\n}\n\nfunction _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}\n\nfunction _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}\n\nfunction _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n\n try {\n Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n}\n\nfunction _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}\n\nfunction _possibleConstructorReturn(self, call) {\n if (call && (typeof call === \"object\" || typeof call === \"function\")) {\n return call;\n } else if (call !== void 0) {\n throw new TypeError(\"Derived constructors may only return object or undefined\");\n }\n\n return _assertThisInitialized(self);\n}\n\nfunction _createSuper(Derived) {\n var hasNativeReflectConstruct = _isNativeReflectConstruct();\n\n return function _createSuperInternal() {\n var Super = _getPrototypeOf(Derived),\n result;\n\n if (hasNativeReflectConstruct) {\n var NewTarget = _getPrototypeOf(this).constructor;\n\n result = Reflect.construct(Super, arguments, NewTarget);\n } else {\n result = Super.apply(this, arguments);\n }\n\n return _possibleConstructorReturn(this, result);\n };\n}\n\nfunction _superPropBase(object, property) {\n while (!Object.prototype.hasOwnProperty.call(object, property)) {\n object = _getPrototypeOf(object);\n if (object === null) break;\n }\n\n return object;\n}\n\nfunction _get() {\n if (typeof Reflect !== \"undefined\" && Reflect.get) {\n _get = Reflect.get;\n } else {\n _get = function _get(target, property, receiver) {\n var base = _superPropBase(target, property);\n\n if (!base) return;\n var desc = Object.getOwnPropertyDescriptor(base, property);\n\n if (desc.get) {\n return desc.get.call(arguments.length < 3 ? target : receiver);\n }\n\n return desc.value;\n };\n }\n\n return _get.apply(this, arguments);\n}\n\nvar defaults = {\n /**\n * Type of the movement.\n *\n * Available types:\n * `slider` - Rewinds slider to the start/end when it reaches the first or last slide.\n * `carousel` - Changes slides without starting over when it reaches the first or last slide.\n *\n * @type {String}\n */\n type: 'slider',\n\n /**\n * Start at specific slide number defined with zero-based index.\n *\n * @type {Number}\n */\n startAt: 0,\n\n /**\n * A number of slides visible on the single viewport.\n *\n * @type {Number}\n */\n perView: 1,\n\n /**\n * Focus currently active slide at a specified position in the track.\n *\n * Available inputs:\n * `center` - Current slide will be always focused at the center of a track.\n * `0,1,2,3...` - Current slide will be focused on the specified zero-based index.\n *\n * @type {String|Number}\n */\n focusAt: 0,\n\n /**\n * A size of the gap added between slides.\n *\n * @type {Number}\n */\n gap: 10,\n\n /**\n * Change slides after a specified interval. Use `false` for turning off autoplay.\n *\n * @type {Number|Boolean}\n */\n autoplay: false,\n\n /**\n * Stop autoplay on mouseover event.\n *\n * @type {Boolean}\n */\n hoverpause: true,\n\n /**\n * Allow for changing slides with left and right keyboard arrows.\n *\n * @type {Boolean}\n */\n keyboard: true,\n\n /**\n * Stop running `perView` number of slides from the end. Use this\n * option if you don't want to have an empty space after\n * a slider. Works only with `slider` type and a\n * non-centered `focusAt` setting.\n *\n * @type {Boolean}\n */\n bound: false,\n\n /**\n * Minimal swipe distance needed to change the slide. Use `false` for turning off a swiping.\n *\n * @type {Number|Boolean}\n */\n swipeThreshold: 80,\n\n /**\n * Minimal mouse drag distance needed to change the slide. Use `false` for turning off a dragging.\n *\n * @type {Number|Boolean}\n */\n dragThreshold: 120,\n\n /**\n * A number of slides moved on single swipe.\n *\n * Available types:\n * `` - Moves slider by one slide per swipe\n * `|` - Moves slider between views per swipe (number of slides defined in `perView` options)\n *\n * @type {String}\n */\n perSwipe: '',\n\n /**\n * Moving distance ratio of the slides on a swiping and dragging.\n *\n * @type {Number}\n */\n touchRatio: 0.5,\n\n /**\n * Angle required to activate slides moving on swiping or dragging.\n *\n * @type {Number}\n */\n touchAngle: 45,\n\n /**\n * Duration of the animation in milliseconds.\n *\n * @type {Number}\n */\n animationDuration: 400,\n\n /**\n * Allows looping the `slider` type. Slider will rewind to the first/last slide when it's at the start/end.\n *\n * @type {Boolean}\n */\n rewind: true,\n\n /**\n * Duration of the rewinding animation of the `slider` type in milliseconds.\n *\n * @type {Number}\n */\n rewindDuration: 800,\n\n /**\n * Easing function for the animation.\n *\n * @type {String}\n */\n animationTimingFunc: 'cubic-bezier(.165, .840, .440, 1)',\n\n /**\n * Wait for the animation to finish until the next user input can be processed\n *\n * @type {boolean}\n */\n waitForTransition: true,\n\n /**\n * Throttle costly events at most once per every wait milliseconds.\n *\n * @type {Number}\n */\n throttle: 10,\n\n /**\n * Moving direction mode.\n *\n * Available inputs:\n * - 'ltr' - left to right movement,\n * - 'rtl' - right to left movement.\n *\n * @type {String}\n */\n direction: 'ltr',\n\n /**\n * The distance value of the next and previous viewports which\n * have to peek in the current view. Accepts number and\n * pixels as a string. Left and right peeking can be\n * set up separately with a directions object.\n *\n * For example:\n * `100` - Peek 100px on the both sides.\n * { before: 100, after: 50 }` - Peek 100px on the left side and 50px on the right side.\n *\n * @type {Number|String|Object}\n */\n peek: 0,\n\n /**\n * Defines how many clones of current viewport will be generated.\n *\n * @type {Number}\n */\n cloningRatio: 1,\n\n /**\n * Collection of options applied at specified media breakpoints.\n * For example: display two slides per view under 800px.\n * `{\n * '800px': {\n * perView: 2\n * }\n * }`\n */\n breakpoints: {},\n\n /**\n * Collection of internally used HTML classes.\n *\n * @todo Refactor `slider` and `carousel` properties to single `type: { slider: '', carousel: '' }` object\n * @type {Object}\n */\n classes: {\n swipeable: 'glide--swipeable',\n dragging: 'glide--dragging',\n direction: {\n ltr: 'glide--ltr',\n rtl: 'glide--rtl'\n },\n type: {\n slider: 'glide--slider',\n carousel: 'glide--carousel'\n },\n slide: {\n clone: 'glide__slide--clone',\n active: 'glide__slide--active'\n },\n arrow: {\n disabled: 'glide__arrow--disabled'\n },\n nav: {\n active: 'glide__bullet--active'\n }\n }\n};\n\n/**\n * Outputs warning message to the bowser console.\n *\n * @param {String} msg\n * @return {Void}\n */\nfunction warn(msg) {\n console.error(\"[Glide warn]: \".concat(msg));\n}\n\n/**\n * Converts value entered as number\n * or string to integer value.\n *\n * @param {String} value\n * @returns {Number}\n */\nfunction toInt(value) {\n return parseInt(value);\n}\n/**\n * Converts value entered as number\n * or string to flat value.\n *\n * @param {String} value\n * @returns {Number}\n */\n\nfunction toFloat(value) {\n return parseFloat(value);\n}\n/**\n * Indicates whether the specified value is a string.\n *\n * @param {*} value\n * @return {Boolean}\n */\n\nfunction isString(value) {\n return typeof value === 'string';\n}\n/**\n * Indicates whether the specified value is an object.\n *\n * @param {*} value\n * @return {Boolean}\n *\n * @see https://github.com/jashkenas/underscore\n */\n\nfunction isObject(value) {\n var type = _typeof(value);\n\n return type === 'function' || type === 'object' && !!value; // eslint-disable-line no-mixed-operators\n}\n/**\n * Indicates whether the specified value is a function.\n *\n * @param {*} value\n * @return {Boolean}\n */\n\nfunction isFunction(value) {\n return typeof value === 'function';\n}\n/**\n * Indicates whether the specified value is undefined.\n *\n * @param {*} value\n * @return {Boolean}\n */\n\nfunction isUndefined(value) {\n return typeof value === 'undefined';\n}\n/**\n * Indicates whether the specified value is an array.\n *\n * @param {*} value\n * @return {Boolean}\n */\n\nfunction isArray(value) {\n return value.constructor === Array;\n}\n\n/**\n * Creates and initializes specified collection of extensions.\n * Each extension receives access to instance of glide and rest of components.\n *\n * @param {Object} glide\n * @param {Object} extensions\n *\n * @returns {Object}\n */\n\nfunction mount(glide, extensions, events) {\n var components = {};\n\n for (var name in extensions) {\n if (isFunction(extensions[name])) {\n components[name] = extensions[name](glide, components, events);\n } else {\n warn('Extension must be a function');\n }\n }\n\n for (var _name in components) {\n if (isFunction(components[_name].mount)) {\n components[_name].mount();\n }\n }\n\n return components;\n}\n\n/**\n * Defines getter and setter property on the specified object.\n *\n * @param {Object} obj Object where property has to be defined.\n * @param {String} prop Name of the defined property.\n * @param {Object} definition Get and set definitions for the property.\n * @return {Void}\n */\nfunction define(obj, prop, definition) {\n Object.defineProperty(obj, prop, definition);\n}\n/**\n * Sorts aphabetically object keys.\n *\n * @param {Object} obj\n * @return {Object}\n */\n\nfunction sortKeys(obj) {\n return Object.keys(obj).sort().reduce(function (r, k) {\n r[k] = obj[k];\n return r[k], r;\n }, {});\n}\n/**\n * Merges passed settings object with default options.\n *\n * @param {Object} defaults\n * @param {Object} settings\n * @return {Object}\n */\n\nfunction mergeOptions(defaults, settings) {\n var options = Object.assign({}, defaults, settings); // `Object.assign` do not deeply merge objects, so we\n // have to do it manually for every nested object\n // in options. Although it does not look smart,\n // it's smaller and faster than some fancy\n // merging deep-merge algorithm script.\n\n if (settings.hasOwnProperty('classes')) {\n options.classes = Object.assign({}, defaults.classes, settings.classes);\n\n if (settings.classes.hasOwnProperty('direction')) {\n options.classes.direction = Object.assign({}, defaults.classes.direction, settings.classes.direction);\n }\n\n if (settings.classes.hasOwnProperty('type')) {\n options.classes.type = Object.assign({}, defaults.classes.type, settings.classes.type);\n }\n\n if (settings.classes.hasOwnProperty('slide')) {\n options.classes.slide = Object.assign({}, defaults.classes.slide, settings.classes.slide);\n }\n\n if (settings.classes.hasOwnProperty('arrow')) {\n options.classes.arrow = Object.assign({}, defaults.classes.arrow, settings.classes.arrow);\n }\n\n if (settings.classes.hasOwnProperty('nav')) {\n options.classes.nav = Object.assign({}, defaults.classes.nav, settings.classes.nav);\n }\n }\n\n if (settings.hasOwnProperty('breakpoints')) {\n options.breakpoints = Object.assign({}, defaults.breakpoints, settings.breakpoints);\n }\n\n return options;\n}\n\nvar EventsBus = /*#__PURE__*/function () {\n /**\n * Construct a EventBus instance.\n *\n * @param {Object} events\n */\n function EventsBus() {\n var events = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, EventsBus);\n\n this.events = events;\n this.hop = events.hasOwnProperty;\n }\n /**\n * Adds listener to the specifed event.\n *\n * @param {String|Array} event\n * @param {Function} handler\n */\n\n\n _createClass(EventsBus, [{\n key: \"on\",\n value: function on(event, handler) {\n if (isArray(event)) {\n for (var i = 0; i < event.length; i++) {\n this.on(event[i], handler);\n }\n\n return;\n } // Create the event's object if not yet created\n\n\n if (!this.hop.call(this.events, event)) {\n this.events[event] = [];\n } // Add the handler to queue\n\n\n var index = this.events[event].push(handler) - 1; // Provide handle back for removal of event\n\n return {\n remove: function remove() {\n delete this.events[event][index];\n }\n };\n }\n /**\n * Runs registered handlers for specified event.\n *\n * @param {String|Array} event\n * @param {Object=} context\n */\n\n }, {\n key: \"emit\",\n value: function emit(event, context) {\n if (isArray(event)) {\n for (var i = 0; i < event.length; i++) {\n this.emit(event[i], context);\n }\n\n return;\n } // If the event doesn't exist, or there's no handlers in queue, just leave\n\n\n if (!this.hop.call(this.events, event)) {\n return;\n } // Cycle through events queue, fire!\n\n\n this.events[event].forEach(function (item) {\n item(context || {});\n });\n }\n }]);\n\n return EventsBus;\n}();\n\nvar Glide$1 = /*#__PURE__*/function () {\n /**\r\n * Construct glide.\r\n *\r\n * @param {String} selector\r\n * @param {Object} options\r\n */\n function Glide(selector) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _classCallCheck(this, Glide);\n\n this._c = {};\n this._t = [];\n this._e = new EventsBus();\n this.disabled = false;\n this.selector = selector;\n this.settings = mergeOptions(defaults, options);\n this.index = this.settings.startAt;\n }\n /**\r\n * Initializes glide.\r\n *\r\n * @param {Object} extensions Collection of extensions to initialize.\r\n * @return {Glide}\r\n */\n\n\n _createClass(Glide, [{\n key: \"mount\",\n value: function mount$1() {\n var extensions = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n this._e.emit('mount.before');\n\n if (isObject(extensions)) {\n this._c = mount(this, extensions, this._e);\n } else {\n warn('You need to provide a object on `mount()`');\n }\n\n this._e.emit('mount.after');\n\n return this;\n }\n /**\r\n * Collects an instance `translate` transformers.\r\n *\r\n * @param {Array} transformers Collection of transformers.\r\n * @return {Void}\r\n */\n\n }, {\n key: \"mutate\",\n value: function mutate() {\n var transformers = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n\n if (isArray(transformers)) {\n this._t = transformers;\n } else {\n warn('You need to provide a array on `mutate()`');\n }\n\n return this;\n }\n /**\r\n * Updates glide with specified settings.\r\n *\r\n * @param {Object} settings\r\n * @return {Glide}\r\n */\n\n }, {\n key: \"update\",\n value: function update() {\n var settings = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n this.settings = mergeOptions(this.settings, settings);\n\n if (settings.hasOwnProperty('startAt')) {\n this.index = settings.startAt;\n }\n\n this._e.emit('update');\n\n return this;\n }\n /**\r\n * Change slide with specified pattern. A pattern must be in the special format:\r\n * `>` - Move one forward\r\n * `<` - Move one backward\r\n * `={i}` - Go to {i} zero-based slide (eq. '=1', will go to second slide)\r\n * `>>` - Rewinds to end (last slide)\r\n * `<<` - Rewinds to start (first slide)\r\n * `|>` - Move one viewport forward\r\n * `|<` - Move one viewport backward\r\n *\r\n * @param {String} pattern\r\n * @return {Glide}\r\n */\n\n }, {\n key: \"go\",\n value: function go(pattern) {\n this._c.Run.make(pattern);\n\n return this;\n }\n /**\r\n * Move track by specified distance.\r\n *\r\n * @param {String} distance\r\n * @return {Glide}\r\n */\n\n }, {\n key: \"move\",\n value: function move(distance) {\n this._c.Transition.disable();\n\n this._c.Move.make(distance);\n\n return this;\n }\n /**\r\n * Destroy instance and revert all changes done by this._c.\r\n *\r\n * @return {Glide}\r\n */\n\n }, {\n key: \"destroy\",\n value: function destroy() {\n this._e.emit('destroy');\n\n return this;\n }\n /**\r\n * Start instance autoplaying.\r\n *\r\n * @param {Boolean|Number} interval Run autoplaying with passed interval regardless of `autoplay` settings\r\n * @return {Glide}\r\n */\n\n }, {\n key: \"play\",\n value: function play() {\n var interval = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n if (interval) {\n this.settings.autoplay = interval;\n }\n\n this._e.emit('play');\n\n return this;\n }\n /**\r\n * Stop instance autoplaying.\r\n *\r\n * @return {Glide}\r\n */\n\n }, {\n key: \"pause\",\n value: function pause() {\n this._e.emit('pause');\n\n return this;\n }\n /**\r\n * Sets glide into a idle status.\r\n *\r\n * @return {Glide}\r\n */\n\n }, {\n key: \"disable\",\n value: function disable() {\n this.disabled = true;\n return this;\n }\n /**\r\n * Sets glide into a active status.\r\n *\r\n * @return {Glide}\r\n */\n\n }, {\n key: \"enable\",\n value: function enable() {\n this.disabled = false;\n return this;\n }\n /**\r\n * Adds cuutom event listener with handler.\r\n *\r\n * @param {String|Array} event\r\n * @param {Function} handler\r\n * @return {Glide}\r\n */\n\n }, {\n key: \"on\",\n value: function on(event, handler) {\n this._e.on(event, handler);\n\n return this;\n }\n /**\r\n * Checks if glide is a precised type.\r\n *\r\n * @param {String} name\r\n * @return {Boolean}\r\n */\n\n }, {\n key: \"isType\",\n value: function isType(name) {\n return this.settings.type === name;\n }\n /**\r\n * Gets value of the core options.\r\n *\r\n * @return {Object}\r\n */\n\n }, {\n key: \"settings\",\n get: function get() {\n return this._o;\n }\n /**\r\n * Sets value of the core options.\r\n *\r\n * @param {Object} o\r\n * @return {Void}\r\n */\n ,\n set: function set(o) {\n if (isObject(o)) {\n this._o = o;\n } else {\n warn('Options must be an `object` instance.');\n }\n }\n /**\r\n * Gets current index of the slider.\r\n *\r\n * @return {Object}\r\n */\n\n }, {\n key: \"index\",\n get: function get() {\n return this._i;\n }\n /**\r\n * Sets current index a slider.\r\n *\r\n * @return {Object}\r\n */\n ,\n set: function set(i) {\n this._i = toInt(i);\n }\n /**\r\n * Gets type name of the slider.\r\n *\r\n * @return {String}\r\n */\n\n }, {\n key: \"type\",\n get: function get() {\n return this.settings.type;\n }\n /**\r\n * Gets value of the idle status.\r\n *\r\n * @return {Boolean}\r\n */\n\n }, {\n key: \"disabled\",\n get: function get() {\n return this._d;\n }\n /**\r\n * Sets value of the idle status.\r\n *\r\n * @return {Boolean}\r\n */\n ,\n set: function set(status) {\n this._d = !!status;\n }\n }]);\n\n return Glide;\n}();\n\nfunction Run (Glide, Components, Events) {\n var Run = {\n /**\n * Initializes autorunning of the glide.\n *\n * @return {Void}\n */\n mount: function mount() {\n this._o = false;\n },\n\n /**\n * Makes glides running based on the passed moving schema.\n *\n * @param {String} move\n */\n make: function make(move) {\n var _this = this;\n\n if (!Glide.disabled) {\n !Glide.settings.waitForTransition || Glide.disable();\n this.move = move;\n Events.emit('run.before', this.move);\n this.calculate();\n Events.emit('run', this.move);\n Components.Transition.after(function () {\n if (_this.isStart()) {\n Events.emit('run.start', _this.move);\n }\n\n if (_this.isEnd()) {\n Events.emit('run.end', _this.move);\n }\n\n if (_this.isOffset()) {\n _this._o = false;\n Events.emit('run.offset', _this.move);\n }\n\n Events.emit('run.after', _this.move);\n Glide.enable();\n });\n }\n },\n\n /**\n * Calculates current index based on defined move.\n *\n * @return {Number|Undefined}\n */\n calculate: function calculate() {\n var move = this.move,\n length = this.length;\n var steps = move.steps,\n direction = move.direction; // By default assume that size of view is equal to one slide\n\n var viewSize = 1; // While direction is `=` we want jump to\n // a specified index described in steps.\n\n if (direction === '=') {\n // Check if bound is true, \n // as we want to avoid whitespaces.\n if (Glide.settings.bound && toInt(steps) > length) {\n Glide.index = length;\n return;\n }\n\n Glide.index = steps;\n return;\n } // When pattern is equal to `>>` we want\n // fast forward to the last slide.\n\n\n if (direction === '>' && steps === '>') {\n Glide.index = length;\n return;\n } // When pattern is equal to `<<` we want\n // fast forward to the first slide.\n\n\n if (direction === '<' && steps === '<') {\n Glide.index = 0;\n return;\n } // pagination movement\n\n\n if (direction === '|') {\n viewSize = Glide.settings.perView || 1;\n } // we are moving forward\n\n\n if (direction === '>' || direction === '|' && steps === '>') {\n var index = calculateForwardIndex(viewSize);\n\n if (index > length) {\n this._o = true;\n }\n\n Glide.index = normalizeForwardIndex(index, viewSize);\n return;\n } // we are moving backward\n\n\n if (direction === '<' || direction === '|' && steps === '<') {\n var _index = calculateBackwardIndex(viewSize);\n\n if (_index < 0) {\n this._o = true;\n }\n\n Glide.index = normalizeBackwardIndex(_index, viewSize);\n return;\n }\n\n warn(\"Invalid direction pattern [\".concat(direction).concat(steps, \"] has been used\"));\n },\n\n /**\n * Checks if we are on the first slide.\n *\n * @return {Boolean}\n */\n isStart: function isStart() {\n return Glide.index <= 0;\n },\n\n /**\n * Checks if we are on the last slide.\n *\n * @return {Boolean}\n */\n isEnd: function isEnd() {\n return Glide.index >= this.length;\n },\n\n /**\n * Checks if we are making a offset run.\n *\n * @param {String} direction\n * @return {Boolean}\n */\n isOffset: function isOffset() {\n var direction = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : undefined;\n\n if (!direction) {\n return this._o;\n }\n\n if (!this._o) {\n return false;\n } // did we view to the right?\n\n\n if (direction === '|>') {\n return this.move.direction === '|' && this.move.steps === '>';\n } // did we view to the left?\n\n\n if (direction === '|<') {\n return this.move.direction === '|' && this.move.steps === '<';\n }\n\n return this.move.direction === direction;\n },\n\n /**\n * Checks if bound mode is active\n *\n * @return {Boolean}\n */\n isBound: function isBound() {\n return Glide.isType('slider') && Glide.settings.focusAt !== 'center' && Glide.settings.bound;\n }\n };\n /**\n * Returns index value to move forward/to the right\n *\n * @param viewSize\n * @returns {Number}\n */\n\n function calculateForwardIndex(viewSize) {\n var index = Glide.index;\n\n if (Glide.isType('carousel')) {\n return index + viewSize;\n }\n\n return index + (viewSize - index % viewSize);\n }\n /**\n * Normalizes the given forward index based on glide settings, preventing it to exceed certain boundaries\n *\n * @param index\n * @param length\n * @param viewSize\n * @returns {Number}\n */\n\n\n function normalizeForwardIndex(index, viewSize) {\n var length = Run.length;\n\n if (index <= length) {\n return index;\n }\n\n if (Glide.isType('carousel')) {\n return index - (length + 1);\n }\n\n if (Glide.settings.rewind) {\n // bound does funny things with the length, therefor we have to be certain\n // that we are on the last possible index value given by bound\n if (Run.isBound() && !Run.isEnd()) {\n return length;\n }\n\n return 0;\n }\n\n if (Run.isBound()) {\n return length;\n }\n\n return Math.floor(length / viewSize) * viewSize;\n }\n /**\n * Calculates index value to move backward/to the left\n *\n * @param viewSize\n * @returns {Number}\n */\n\n\n function calculateBackwardIndex(viewSize) {\n var index = Glide.index;\n\n if (Glide.isType('carousel')) {\n return index - viewSize;\n } // ensure our back navigation results in the same index as a forward navigation\n // to experience a homogeneous paging\n\n\n var view = Math.ceil(index / viewSize);\n return (view - 1) * viewSize;\n }\n /**\n * Normalizes the given backward index based on glide settings, preventing it to exceed certain boundaries\n *\n * @param index\n * @param length\n * @param viewSize\n * @returns {*}\n */\n\n\n function normalizeBackwardIndex(index, viewSize) {\n var length = Run.length;\n\n if (index >= 0) {\n return index;\n }\n\n if (Glide.isType('carousel')) {\n return index + (length + 1);\n }\n\n if (Glide.settings.rewind) {\n // bound does funny things with the length, therefor we have to be certain\n // that we are on first possible index value before we to rewind to the length given by bound\n if (Run.isBound() && Run.isStart()) {\n return length;\n }\n\n return Math.floor(length / viewSize) * viewSize;\n }\n\n return 0;\n }\n\n define(Run, 'move', {\n /**\n * Gets value of the move schema.\n *\n * @returns {Object}\n */\n get: function get() {\n return this._m;\n },\n\n /**\n * Sets value of the move schema.\n *\n * @returns {Object}\n */\n set: function set(value) {\n var step = value.substr(1);\n this._m = {\n direction: value.substr(0, 1),\n steps: step ? toInt(step) ? toInt(step) : step : 0\n };\n }\n });\n define(Run, 'length', {\n /**\n * Gets value of the running distance based\n * on zero-indexing number of slides.\n *\n * @return {Number}\n */\n get: function get() {\n var settings = Glide.settings;\n var length = Components.Html.slides.length; // If the `bound` option is active, a maximum running distance should be\n // reduced by `perView` and `focusAt` settings. Running distance\n // should end before creating an empty space after instance.\n\n if (this.isBound()) {\n return length - 1 - (toInt(settings.perView) - 1) + toInt(settings.focusAt);\n }\n\n return length - 1;\n }\n });\n define(Run, 'offset', {\n /**\n * Gets status of the offsetting flag.\n *\n * @return {Boolean}\n */\n get: function get() {\n return this._o;\n }\n });\n return Run;\n}\n\n/**\n * Returns a current time.\n *\n * @return {Number}\n */\nfunction now() {\n return new Date().getTime();\n}\n\n/**\n * Returns a function, that, when invoked, will only be triggered\n * at most once during a given window of time.\n *\n * @param {Function} func\n * @param {Number} wait\n * @param {Object=} options\n * @return {Function}\n *\n * @see https://github.com/jashkenas/underscore\n */\n\nfunction throttle(func, wait, options) {\n var timeout, context, args, result;\n var previous = 0;\n if (!options) options = {};\n\n var later = function later() {\n previous = options.leading === false ? 0 : now();\n timeout = null;\n result = func.apply(context, args);\n if (!timeout) context = args = null;\n };\n\n var throttled = function throttled() {\n var at = now();\n if (!previous && options.leading === false) previous = at;\n var remaining = wait - (at - previous);\n context = this;\n args = arguments;\n\n if (remaining <= 0 || remaining > wait) {\n if (timeout) {\n clearTimeout(timeout);\n timeout = null;\n }\n\n previous = at;\n result = func.apply(context, args);\n if (!timeout) context = args = null;\n } else if (!timeout && options.trailing !== false) {\n timeout = setTimeout(later, remaining);\n }\n\n return result;\n };\n\n throttled.cancel = function () {\n clearTimeout(timeout);\n previous = 0;\n timeout = context = args = null;\n };\n\n return throttled;\n}\n\nvar MARGIN_TYPE = {\n ltr: ['marginLeft', 'marginRight'],\n rtl: ['marginRight', 'marginLeft']\n};\nfunction Gaps (Glide, Components, Events) {\n var Gaps = {\n /**\n * Applies gaps between slides. First and last\n * slides do not receive it's edge margins.\n *\n * @param {HTMLCollection} slides\n * @return {Void}\n */\n apply: function apply(slides) {\n for (var i = 0, len = slides.length; i < len; i++) {\n var style = slides[i].style;\n var direction = Components.Direction.value;\n\n if (i !== 0) {\n style[MARGIN_TYPE[direction][0]] = \"\".concat(this.value / 2, \"px\");\n } else {\n style[MARGIN_TYPE[direction][0]] = '';\n }\n\n if (i !== slides.length - 1) {\n style[MARGIN_TYPE[direction][1]] = \"\".concat(this.value / 2, \"px\");\n } else {\n style[MARGIN_TYPE[direction][1]] = '';\n }\n }\n },\n\n /**\n * Removes gaps from the slides.\n *\n * @param {HTMLCollection} slides\n * @returns {Void}\n */\n remove: function remove(slides) {\n for (var i = 0, len = slides.length; i < len; i++) {\n var style = slides[i].style;\n style.marginLeft = '';\n style.marginRight = '';\n }\n }\n };\n define(Gaps, 'value', {\n /**\n * Gets value of the gap.\n *\n * @returns {Number}\n */\n get: function get() {\n return toInt(Glide.settings.gap);\n }\n });\n define(Gaps, 'grow', {\n /**\n * Gets additional dimensions value caused by gaps.\n * Used to increase width of the slides wrapper.\n *\n * @returns {Number}\n */\n get: function get() {\n return Gaps.value * Components.Sizes.length;\n }\n });\n define(Gaps, 'reductor', {\n /**\n * Gets reduction value caused by gaps.\n * Used to subtract width of the slides.\n *\n * @returns {Number}\n */\n get: function get() {\n var perView = Glide.settings.perView;\n return Gaps.value * (perView - 1) / perView;\n }\n });\n /**\n * Apply calculated gaps:\n * - after building, so slides (including clones) will receive proper margins\n * - on updating via API, to recalculate gaps with new options\n */\n\n Events.on(['build.after', 'update'], throttle(function () {\n Gaps.apply(Components.Html.wrapper.children);\n }, 30));\n /**\n * Remove gaps:\n * - on destroying to bring markup to its inital state\n */\n\n Events.on('destroy', function () {\n Gaps.remove(Components.Html.wrapper.children);\n });\n return Gaps;\n}\n\n/**\n * Finds siblings nodes of the passed node.\n *\n * @param {Element} node\n * @return {Array}\n */\nfunction siblings(node) {\n if (node && node.parentNode) {\n var n = node.parentNode.firstChild;\n var matched = [];\n\n for (; n; n = n.nextSibling) {\n if (n.nodeType === 1 && n !== node) {\n matched.push(n);\n }\n }\n\n return matched;\n }\n\n return [];\n}\n/**\n * Checks if passed node exist and is a valid element.\n *\n * @param {Element} node\n * @return {Boolean}\n */\n\nfunction exist(node) {\n if (node && node instanceof window.HTMLElement) {\n return true;\n }\n\n return false;\n}\n/**\n * Coerces a NodeList to an Array.\n *\n * @param {NodeList} nodeList\n * @return {Array}\n */\n\nfunction toArray(nodeList) {\n return Array.prototype.slice.call(nodeList);\n}\n\nvar TRACK_SELECTOR = '[data-glide-el=\"track\"]';\nfunction Html (Glide, Components, Events) {\n var Html = {\n /**\n * Setup slider HTML nodes.\n *\n * @param {Glide} glide\n */\n mount: function mount() {\n this.root = Glide.selector;\n this.track = this.root.querySelector(TRACK_SELECTOR);\n this.collectSlides();\n },\n\n /**\n * Collect slides\n */\n collectSlides: function collectSlides() {\n this.slides = toArray(this.wrapper.children).filter(function (slide) {\n return !slide.classList.contains(Glide.settings.classes.slide.clone);\n });\n }\n };\n define(Html, 'root', {\n /**\n * Gets node of the glide main element.\n *\n * @return {Object}\n */\n get: function get() {\n return Html._r;\n },\n\n /**\n * Sets node of the glide main element.\n *\n * @return {Object}\n */\n set: function set(r) {\n if (isString(r)) {\n r = document.querySelector(r);\n }\n\n if (exist(r)) {\n Html._r = r;\n } else {\n warn('Root element must be a existing Html node');\n }\n }\n });\n define(Html, 'track', {\n /**\n * Gets node of the glide track with slides.\n *\n * @return {Object}\n */\n get: function get() {\n return Html._t;\n },\n\n /**\n * Sets node of the glide track with slides.\n *\n * @return {Object}\n */\n set: function set(t) {\n if (exist(t)) {\n Html._t = t;\n } else {\n warn(\"Could not find track element. Please use \".concat(TRACK_SELECTOR, \" attribute.\"));\n }\n }\n });\n define(Html, 'wrapper', {\n /**\n * Gets node of the slides wrapper.\n *\n * @return {Object}\n */\n get: function get() {\n return Html.track.children[0];\n }\n });\n /**\n * Add/remove/reorder dynamic slides\n */\n\n Events.on('update', function () {\n Html.collectSlides();\n });\n return Html;\n}\n\nfunction Peek (Glide, Components, Events) {\n var Peek = {\n /**\n * Setups how much to peek based on settings.\n *\n * @return {Void}\n */\n mount: function mount() {\n this.value = Glide.settings.peek;\n }\n };\n define(Peek, 'value', {\n /**\n * Gets value of the peek.\n *\n * @returns {Number|Object}\n */\n get: function get() {\n return Peek._v;\n },\n\n /**\n * Sets value of the peek.\n *\n * @param {Number|Object} value\n * @return {Void}\n */\n set: function set(value) {\n if (isObject(value)) {\n value.before = toInt(value.before);\n value.after = toInt(value.after);\n } else {\n value = toInt(value);\n }\n\n Peek._v = value;\n }\n });\n define(Peek, 'reductor', {\n /**\n * Gets reduction value caused by peek.\n *\n * @returns {Number}\n */\n get: function get() {\n var value = Peek.value;\n var perView = Glide.settings.perView;\n\n if (isObject(value)) {\n return value.before / perView + value.after / perView;\n }\n\n return value * 2 / perView;\n }\n });\n /**\n * Recalculate peeking sizes on:\n * - when resizing window to update to proper percents\n */\n\n Events.on(['resize', 'update'], function () {\n Peek.mount();\n });\n return Peek;\n}\n\nfunction Move (Glide, Components, Events) {\n var Move = {\n /**\n * Constructs move component.\n *\n * @returns {Void}\n */\n mount: function mount() {\n this._o = 0;\n },\n\n /**\n * Calculates a movement value based on passed offset and currently active index.\n *\n * @param {Number} offset\n * @return {Void}\n */\n make: function make() {\n var _this = this;\n\n var offset = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n this.offset = offset;\n Events.emit('move', {\n movement: this.value\n });\n Components.Transition.after(function () {\n Events.emit('move.after', {\n movement: _this.value\n });\n });\n }\n };\n define(Move, 'offset', {\n /**\n * Gets an offset value used to modify current translate.\n *\n * @return {Object}\n */\n get: function get() {\n return Move._o;\n },\n\n /**\n * Sets an offset value used to modify current translate.\n *\n * @return {Object}\n */\n set: function set(value) {\n Move._o = !isUndefined(value) ? toInt(value) : 0;\n }\n });\n define(Move, 'translate', {\n /**\n * Gets a raw movement value.\n *\n * @return {Number}\n */\n get: function get() {\n return Components.Sizes.slideWidth * Glide.index;\n }\n });\n define(Move, 'value', {\n /**\n * Gets an actual movement value corrected by offset.\n *\n * @return {Number}\n */\n get: function get() {\n var offset = this.offset;\n var translate = this.translate;\n\n if (Components.Direction.is('rtl')) {\n return translate + offset;\n }\n\n return translate - offset;\n }\n });\n /**\n * Make movement to proper slide on:\n * - before build, so glide will start at `startAt` index\n * - on each standard run to move to newly calculated index\n */\n\n Events.on(['build.before', 'run'], function () {\n Move.make();\n });\n return Move;\n}\n\nfunction Sizes (Glide, Components, Events) {\n var Sizes = {\n /**\n * Setups dimensions of slides.\n *\n * @return {Void}\n */\n setupSlides: function setupSlides() {\n var width = \"\".concat(this.slideWidth, \"px\");\n var slides = Components.Html.slides;\n\n for (var i = 0; i < slides.length; i++) {\n slides[i].style.width = width;\n }\n },\n\n /**\n * Setups dimensions of slides wrapper.\n *\n * @return {Void}\n */\n setupWrapper: function setupWrapper() {\n Components.Html.wrapper.style.width = \"\".concat(this.wrapperSize, \"px\");\n },\n\n /**\n * Removes applied styles from HTML elements.\n *\n * @returns {Void}\n */\n remove: function remove() {\n var slides = Components.Html.slides;\n\n for (var i = 0; i < slides.length; i++) {\n slides[i].style.width = '';\n }\n\n Components.Html.wrapper.style.width = '';\n }\n };\n define(Sizes, 'length', {\n /**\n * Gets count number of the slides.\n *\n * @return {Number}\n */\n get: function get() {\n return Components.Html.slides.length;\n }\n });\n define(Sizes, 'width', {\n /**\n * Gets width value of the slider (visible area).\n *\n * @return {Number}\n */\n get: function get() {\n return Components.Html.track.offsetWidth;\n }\n });\n define(Sizes, 'wrapperSize', {\n /**\n * Gets size of the slides wrapper.\n *\n * @return {Number}\n */\n get: function get() {\n return Sizes.slideWidth * Sizes.length + Components.Gaps.grow + Components.Clones.grow;\n }\n });\n define(Sizes, 'slideWidth', {\n /**\n * Gets width value of a single slide.\n *\n * @return {Number}\n */\n get: function get() {\n return Sizes.width / Glide.settings.perView - Components.Peek.reductor - Components.Gaps.reductor;\n }\n });\n /**\n * Apply calculated glide's dimensions:\n * - before building, so other dimensions (e.g. translate) will be calculated propertly\n * - when resizing window to recalculate sildes dimensions\n * - on updating via API, to calculate dimensions based on new options\n */\n\n Events.on(['build.before', 'resize', 'update'], function () {\n Sizes.setupSlides();\n Sizes.setupWrapper();\n });\n /**\n * Remove calculated glide's dimensions:\n * - on destoting to bring markup to its inital state\n */\n\n Events.on('destroy', function () {\n Sizes.remove();\n });\n return Sizes;\n}\n\nfunction Build (Glide, Components, Events) {\n var Build = {\n /**\n * Init glide building. Adds classes, sets\n * dimensions and setups initial state.\n *\n * @return {Void}\n */\n mount: function mount() {\n Events.emit('build.before');\n this.typeClass();\n this.activeClass();\n Events.emit('build.after');\n },\n\n /**\n * Adds `type` class to the glide element.\n *\n * @return {Void}\n */\n typeClass: function typeClass() {\n Components.Html.root.classList.add(Glide.settings.classes.type[Glide.settings.type]);\n },\n\n /**\n * Sets active class to current slide.\n *\n * @return {Void}\n */\n activeClass: function activeClass() {\n var classes = Glide.settings.classes;\n var slide = Components.Html.slides[Glide.index];\n\n if (slide) {\n slide.classList.add(classes.slide.active);\n siblings(slide).forEach(function (sibling) {\n sibling.classList.remove(classes.slide.active);\n });\n }\n },\n\n /**\n * Removes HTML classes applied at building.\n *\n * @return {Void}\n */\n removeClasses: function removeClasses() {\n var _Glide$settings$class = Glide.settings.classes,\n type = _Glide$settings$class.type,\n slide = _Glide$settings$class.slide;\n Components.Html.root.classList.remove(type[Glide.settings.type]);\n Components.Html.slides.forEach(function (sibling) {\n sibling.classList.remove(slide.active);\n });\n }\n };\n /**\n * Clear building classes:\n * - on destroying to bring HTML to its initial state\n * - on updating to remove classes before remounting component\n */\n\n Events.on(['destroy', 'update'], function () {\n Build.removeClasses();\n });\n /**\n * Remount component:\n * - on resizing of the window to calculate new dimensions\n * - on updating settings via API\n */\n\n Events.on(['resize', 'update'], function () {\n Build.mount();\n });\n /**\n * Swap active class of current slide:\n * - after each move to the new index\n */\n\n Events.on('move.after', function () {\n Build.activeClass();\n });\n return Build;\n}\n\nfunction Clones (Glide, Components, Events) {\n var Clones = {\n /**\n * Create pattern map and collect slides to be cloned.\n */\n mount: function mount() {\n this.items = [];\n\n if (Glide.isType('carousel')) {\n this.items = this.collect();\n }\n },\n\n /**\n * Collect clones with pattern.\n *\n * @return {[]}\n */\n collect: function collect() {\n var items = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n var slides = Components.Html.slides;\n var _Glide$settings = Glide.settings,\n perView = _Glide$settings.perView,\n classes = _Glide$settings.classes,\n cloningRatio = _Glide$settings.cloningRatio;\n\n if (slides.length !== 0) {\n var peekIncrementer = +!!Glide.settings.peek;\n var cloneCount = perView + peekIncrementer + Math.round(perView / 2);\n var append = slides.slice(0, cloneCount).reverse();\n var prepend = slides.slice(cloneCount * -1);\n\n for (var r = 0; r < Math.max(cloningRatio, Math.floor(perView / slides.length)); r++) {\n for (var i = 0; i < append.length; i++) {\n var clone = append[i].cloneNode(true);\n clone.classList.add(classes.slide.clone);\n items.push(clone);\n }\n\n for (var _i = 0; _i < prepend.length; _i++) {\n var _clone = prepend[_i].cloneNode(true);\n\n _clone.classList.add(classes.slide.clone);\n\n items.unshift(_clone);\n }\n }\n }\n\n return items;\n },\n\n /**\n * Append cloned slides with generated pattern.\n *\n * @return {Void}\n */\n append: function append() {\n var items = this.items;\n var _Components$Html = Components.Html,\n wrapper = _Components$Html.wrapper,\n slides = _Components$Html.slides;\n var half = Math.floor(items.length / 2);\n var prepend = items.slice(0, half).reverse();\n var append = items.slice(half * -1).reverse();\n var width = \"\".concat(Components.Sizes.slideWidth, \"px\");\n\n for (var i = 0; i < append.length; i++) {\n wrapper.appendChild(append[i]);\n }\n\n for (var _i2 = 0; _i2 < prepend.length; _i2++) {\n wrapper.insertBefore(prepend[_i2], slides[0]);\n }\n\n for (var _i3 = 0; _i3 < items.length; _i3++) {\n items[_i3].style.width = width;\n }\n },\n\n /**\n * Remove all cloned slides.\n *\n * @return {Void}\n */\n remove: function remove() {\n var items = this.items;\n\n for (var i = 0; i < items.length; i++) {\n Components.Html.wrapper.removeChild(items[i]);\n }\n }\n };\n define(Clones, 'grow', {\n /**\n * Gets additional dimensions value caused by clones.\n *\n * @return {Number}\n */\n get: function get() {\n return (Components.Sizes.slideWidth + Components.Gaps.value) * Clones.items.length;\n }\n });\n /**\n * Append additional slide's clones:\n * - while glide's type is `carousel`\n */\n\n Events.on('update', function () {\n Clones.remove();\n Clones.mount();\n Clones.append();\n });\n /**\n * Append additional slide's clones:\n * - while glide's type is `carousel`\n */\n\n Events.on('build.before', function () {\n if (Glide.isType('carousel')) {\n Clones.append();\n }\n });\n /**\n * Remove clones HTMLElements:\n * - on destroying, to bring HTML to its initial state\n */\n\n Events.on('destroy', function () {\n Clones.remove();\n });\n return Clones;\n}\n\nvar EventsBinder = /*#__PURE__*/function () {\n /**\n * Construct a EventsBinder instance.\n */\n function EventsBinder() {\n var listeners = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, EventsBinder);\n\n this.listeners = listeners;\n }\n /**\n * Adds events listeners to arrows HTML elements.\n *\n * @param {String|Array} events\n * @param {Element|Window|Document} el\n * @param {Function} closure\n * @param {Boolean|Object} capture\n * @return {Void}\n */\n\n\n _createClass(EventsBinder, [{\n key: \"on\",\n value: function on(events, el, closure) {\n var capture = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;\n\n if (isString(events)) {\n events = [events];\n }\n\n for (var i = 0; i < events.length; i++) {\n this.listeners[events[i]] = closure;\n el.addEventListener(events[i], this.listeners[events[i]], capture);\n }\n }\n /**\n * Removes event listeners from arrows HTML elements.\n *\n * @param {String|Array} events\n * @param {Element|Window|Document} el\n * @param {Boolean|Object} capture\n * @return {Void}\n */\n\n }, {\n key: \"off\",\n value: function off(events, el) {\n var capture = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n if (isString(events)) {\n events = [events];\n }\n\n for (var i = 0; i < events.length; i++) {\n el.removeEventListener(events[i], this.listeners[events[i]], capture);\n }\n }\n /**\n * Destroy collected listeners.\n *\n * @returns {Void}\n */\n\n }, {\n key: \"destroy\",\n value: function destroy() {\n delete this.listeners;\n }\n }]);\n\n return EventsBinder;\n}();\n\nfunction Resize (Glide, Components, Events) {\n /**\n * Instance of the binder for DOM Events.\n *\n * @type {EventsBinder}\n */\n var Binder = new EventsBinder();\n var Resize = {\n /**\n * Initializes window bindings.\n */\n mount: function mount() {\n this.bind();\n },\n\n /**\n * Binds `rezsize` listener to the window.\n * It's a costly event, so we are debouncing it.\n *\n * @return {Void}\n */\n bind: function bind() {\n Binder.on('resize', window, throttle(function () {\n Events.emit('resize');\n }, Glide.settings.throttle));\n },\n\n /**\n * Unbinds listeners from the window.\n *\n * @return {Void}\n */\n unbind: function unbind() {\n Binder.off('resize', window);\n }\n };\n /**\n * Remove bindings from window:\n * - on destroying, to remove added EventListener\n */\n\n Events.on('destroy', function () {\n Resize.unbind();\n Binder.destroy();\n });\n return Resize;\n}\n\nvar VALID_DIRECTIONS = ['ltr', 'rtl'];\nvar FLIPED_MOVEMENTS = {\n '>': '<',\n '<': '>',\n '=': '='\n};\nfunction Direction (Glide, Components, Events) {\n var Direction = {\n /**\n * Setups gap value based on settings.\n *\n * @return {Void}\n */\n mount: function mount() {\n this.value = Glide.settings.direction;\n },\n\n /**\n * Resolves pattern based on direction value\n *\n * @param {String} pattern\n * @returns {String}\n */\n resolve: function resolve(pattern) {\n var token = pattern.slice(0, 1);\n\n if (this.is('rtl')) {\n return pattern.split(token).join(FLIPED_MOVEMENTS[token]);\n }\n\n return pattern;\n },\n\n /**\n * Checks value of direction mode.\n *\n * @param {String} direction\n * @returns {Boolean}\n */\n is: function is(direction) {\n return this.value === direction;\n },\n\n /**\n * Applies direction class to the root HTML element.\n *\n * @return {Void}\n */\n addClass: function addClass() {\n Components.Html.root.classList.add(Glide.settings.classes.direction[this.value]);\n },\n\n /**\n * Removes direction class from the root HTML element.\n *\n * @return {Void}\n */\n removeClass: function removeClass() {\n Components.Html.root.classList.remove(Glide.settings.classes.direction[this.value]);\n }\n };\n define(Direction, 'value', {\n /**\n * Gets value of the direction.\n *\n * @returns {Number}\n */\n get: function get() {\n return Direction._v;\n },\n\n /**\n * Sets value of the direction.\n *\n * @param {String} value\n * @return {Void}\n */\n set: function set(value) {\n if (VALID_DIRECTIONS.indexOf(value) > -1) {\n Direction._v = value;\n } else {\n warn('Direction value must be `ltr` or `rtl`');\n }\n }\n });\n /**\n * Clear direction class:\n * - on destroy to bring HTML to its initial state\n * - on update to remove class before reappling bellow\n */\n\n Events.on(['destroy', 'update'], function () {\n Direction.removeClass();\n });\n /**\n * Remount component:\n * - on update to reflect changes in direction value\n */\n\n Events.on('update', function () {\n Direction.mount();\n });\n /**\n * Apply direction class:\n * - before building to apply class for the first time\n * - on updating to reapply direction class that may changed\n */\n\n Events.on(['build.before', 'update'], function () {\n Direction.addClass();\n });\n return Direction;\n}\n\n/**\n * Reflects value of glide movement.\n *\n * @param {Object} Glide\n * @param {Object} Components\n * @return {Object}\n */\nfunction Rtl (Glide, Components) {\n return {\n /**\n * Negates the passed translate if glide is in RTL option.\n *\n * @param {Number} translate\n * @return {Number}\n */\n modify: function modify(translate) {\n if (Components.Direction.is('rtl')) {\n return -translate;\n }\n\n return translate;\n }\n };\n}\n\n/**\n * Updates glide movement with a `gap` settings.\n *\n * @param {Object} Glide\n * @param {Object} Components\n * @return {Object}\n */\nfunction Gap (Glide, Components) {\n return {\n /**\n * Modifies passed translate value with number in the `gap` settings.\n *\n * @param {Number} translate\n * @return {Number}\n */\n modify: function modify(translate) {\n var multiplier = Math.floor(translate / Components.Sizes.slideWidth);\n return translate + Components.Gaps.value * multiplier;\n }\n };\n}\n\n/**\n * Updates glide movement with width of additional clones width.\n *\n * @param {Object} Glide\n * @param {Object} Components\n * @return {Object}\n */\nfunction Grow (Glide, Components) {\n return {\n /**\n * Adds to the passed translate width of the half of clones.\n *\n * @param {Number} translate\n * @return {Number}\n */\n modify: function modify(translate) {\n return translate + Components.Clones.grow / 2;\n }\n };\n}\n\n/**\n * Updates glide movement with a `peek` settings.\n *\n * @param {Object} Glide\n * @param {Object} Components\n * @return {Object}\n */\n\nfunction Peeking (Glide, Components) {\n return {\n /**\n * Modifies passed translate value with a `peek` setting.\n *\n * @param {Number} translate\n * @return {Number}\n */\n modify: function modify(translate) {\n if (Glide.settings.focusAt >= 0) {\n var peek = Components.Peek.value;\n\n if (isObject(peek)) {\n return translate - peek.before;\n }\n\n return translate - peek;\n }\n\n return translate;\n }\n };\n}\n\n/**\n * Updates glide movement with a `focusAt` settings.\n *\n * @param {Object} Glide\n * @param {Object} Components\n * @return {Object}\n */\nfunction Focusing (Glide, Components) {\n return {\n /**\n * Modifies passed translate value with index in the `focusAt` setting.\n *\n * @param {Number} translate\n * @return {Number}\n */\n modify: function modify(translate) {\n var gap = Components.Gaps.value;\n var width = Components.Sizes.width;\n var focusAt = Glide.settings.focusAt;\n var slideWidth = Components.Sizes.slideWidth;\n\n if (focusAt === 'center') {\n return translate - (width / 2 - slideWidth / 2);\n }\n\n return translate - slideWidth * focusAt - gap * focusAt;\n }\n };\n}\n\n/**\n * Applies diffrent transformers on translate value.\n *\n * @param {Object} Glide\n * @param {Object} Components\n * @return {Object}\n */\n\nfunction mutator (Glide, Components, Events) {\n /**\n * Merge instance transformers with collection of default transformers.\n * It's important that the Rtl component be last on the list,\n * so it reflects all previous transformations.\n *\n * @type {Array}\n */\n var TRANSFORMERS = [Gap, Grow, Peeking, Focusing].concat(Glide._t, [Rtl]);\n return {\n /**\n * Piplines translate value with registered transformers.\n *\n * @param {Number} translate\n * @return {Number}\n */\n mutate: function mutate(translate) {\n for (var i = 0; i < TRANSFORMERS.length; i++) {\n var transformer = TRANSFORMERS[i];\n\n if (isFunction(transformer) && isFunction(transformer().modify)) {\n translate = transformer(Glide, Components, Events).modify(translate);\n } else {\n warn('Transformer should be a function that returns an object with `modify()` method');\n }\n }\n\n return translate;\n }\n };\n}\n\nfunction Translate (Glide, Components, Events) {\n var Translate = {\n /**\n * Sets value of translate on HTML element.\n *\n * @param {Number} value\n * @return {Void}\n */\n set: function set(value) {\n var transform = mutator(Glide, Components).mutate(value);\n var translate3d = \"translate3d(\".concat(-1 * transform, \"px, 0px, 0px)\");\n Components.Html.wrapper.style.mozTransform = translate3d; // needed for supported Firefox 10-15\n\n Components.Html.wrapper.style.webkitTransform = translate3d; // needed for supported Chrome 10-35, Safari 5.1-8, and Opera 15-22\n\n Components.Html.wrapper.style.transform = translate3d;\n },\n\n /**\n * Removes value of translate from HTML element.\n *\n * @return {Void}\n */\n remove: function remove() {\n Components.Html.wrapper.style.transform = '';\n },\n\n /**\n * @return {number}\n */\n getStartIndex: function getStartIndex() {\n var length = Components.Sizes.length;\n var index = Glide.index;\n var perView = Glide.settings.perView;\n\n if (Components.Run.isOffset('>') || Components.Run.isOffset('|>')) {\n return length + (index - perView);\n } // \"modulo length\" converts an index that equals length to zero\n\n\n return (index + perView) % length;\n },\n\n /**\n * @return {number}\n */\n getTravelDistance: function getTravelDistance() {\n var travelDistance = Components.Sizes.slideWidth * Glide.settings.perView;\n\n if (Components.Run.isOffset('>') || Components.Run.isOffset('|>')) {\n // reverse travel distance so that we don't have to change subtract operations\n return travelDistance * -1;\n }\n\n return travelDistance;\n }\n };\n /**\n * Set new translate value:\n * - on move to reflect index change\n * - on updating via API to reflect possible changes in options\n */\n\n Events.on('move', function (context) {\n if (!Glide.isType('carousel') || !Components.Run.isOffset()) {\n return Translate.set(context.movement);\n }\n\n Components.Transition.after(function () {\n Events.emit('translate.jump');\n Translate.set(Components.Sizes.slideWidth * Glide.index);\n });\n var startWidth = Components.Sizes.slideWidth * Components.Translate.getStartIndex();\n return Translate.set(startWidth - Components.Translate.getTravelDistance());\n });\n /**\n * Remove translate:\n * - on destroying to bring markup to its inital state\n */\n\n Events.on('destroy', function () {\n Translate.remove();\n });\n return Translate;\n}\n\nfunction Transition (Glide, Components, Events) {\n /**\n * Holds inactivity status of transition.\n * When true transition is not applied.\n *\n * @type {Boolean}\n */\n var disabled = false;\n var Transition = {\n /**\n * Composes string of the CSS transition.\n *\n * @param {String} property\n * @return {String}\n */\n compose: function compose(property) {\n var settings = Glide.settings;\n\n if (!disabled) {\n return \"\".concat(property, \" \").concat(this.duration, \"ms \").concat(settings.animationTimingFunc);\n }\n\n return \"\".concat(property, \" 0ms \").concat(settings.animationTimingFunc);\n },\n\n /**\n * Sets value of transition on HTML element.\n *\n * @param {String=} property\n * @return {Void}\n */\n set: function set() {\n var property = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'transform';\n Components.Html.wrapper.style.transition = this.compose(property);\n },\n\n /**\n * Removes value of transition from HTML element.\n *\n * @return {Void}\n */\n remove: function remove() {\n Components.Html.wrapper.style.transition = '';\n },\n\n /**\n * Runs callback after animation.\n *\n * @param {Function} callback\n * @return {Void}\n */\n after: function after(callback) {\n setTimeout(function () {\n callback();\n }, this.duration);\n },\n\n /**\n * Enable transition.\n *\n * @return {Void}\n */\n enable: function enable() {\n disabled = false;\n this.set();\n },\n\n /**\n * Disable transition.\n *\n * @return {Void}\n */\n disable: function disable() {\n disabled = true;\n this.set();\n }\n };\n define(Transition, 'duration', {\n /**\n * Gets duration of the transition based\n * on currently running animation type.\n *\n * @return {Number}\n */\n get: function get() {\n var settings = Glide.settings;\n\n if (Glide.isType('slider') && Components.Run.offset) {\n return settings.rewindDuration;\n }\n\n return settings.animationDuration;\n }\n });\n /**\n * Set transition `style` value:\n * - on each moving, because it may be cleared by offset move\n */\n\n Events.on('move', function () {\n Transition.set();\n });\n /**\n * Disable transition:\n * - before initial build to avoid transitioning from `0` to `startAt` index\n * - while resizing window and recalculating dimensions\n * - on jumping from offset transition at start and end edges in `carousel` type\n */\n\n Events.on(['build.before', 'resize', 'translate.jump'], function () {\n Transition.disable();\n });\n /**\n * Enable transition:\n * - on each running, because it may be disabled by offset move\n */\n\n Events.on('run', function () {\n Transition.enable();\n });\n /**\n * Remove transition:\n * - on destroying to bring markup to its inital state\n */\n\n Events.on('destroy', function () {\n Transition.remove();\n });\n return Transition;\n}\n\n/**\n * Test via a getter in the options object to see\n * if the passive property is accessed.\n *\n * @see https://github.com/WICG/EventListenerOptions/blob/gh-pages/explainer.md#feature-detection\n */\nvar supportsPassive = false;\n\ntry {\n var opts = Object.defineProperty({}, 'passive', {\n get: function get() {\n supportsPassive = true;\n }\n });\n window.addEventListener('testPassive', null, opts);\n window.removeEventListener('testPassive', null, opts);\n} catch (e) {}\n\nvar supportsPassive$1 = supportsPassive;\n\nvar START_EVENTS = ['touchstart', 'mousedown'];\nvar MOVE_EVENTS = ['touchmove', 'mousemove'];\nvar END_EVENTS = ['touchend', 'touchcancel', 'mouseup', 'mouseleave'];\nvar MOUSE_EVENTS = ['mousedown', 'mousemove', 'mouseup', 'mouseleave'];\nfunction Swipe (Glide, Components, Events) {\n /**\n * Instance of the binder for DOM Events.\n *\n * @type {EventsBinder}\n */\n var Binder = new EventsBinder();\n var swipeSin = 0;\n var swipeStartX = 0;\n var swipeStartY = 0;\n var disabled = false;\n var capture = supportsPassive$1 ? {\n passive: true\n } : false;\n var Swipe = {\n /**\n * Initializes swipe bindings.\n *\n * @return {Void}\n */\n mount: function mount() {\n this.bindSwipeStart();\n },\n\n /**\n * Handler for `swipestart` event. Calculates entry points of the user's tap.\n *\n * @param {Object} event\n * @return {Void}\n */\n start: function start(event) {\n if (!disabled && !Glide.disabled) {\n this.disable();\n var swipe = this.touches(event);\n swipeSin = null;\n swipeStartX = toInt(swipe.pageX);\n swipeStartY = toInt(swipe.pageY);\n this.bindSwipeMove();\n this.bindSwipeEnd();\n Events.emit('swipe.start');\n }\n },\n\n /**\n * Handler for `swipemove` event. Calculates user's tap angle and distance.\n *\n * @param {Object} event\n */\n move: function move(event) {\n if (!Glide.disabled) {\n var _Glide$settings = Glide.settings,\n touchAngle = _Glide$settings.touchAngle,\n touchRatio = _Glide$settings.touchRatio,\n classes = _Glide$settings.classes;\n var swipe = this.touches(event);\n var subExSx = toInt(swipe.pageX) - swipeStartX;\n var subEySy = toInt(swipe.pageY) - swipeStartY;\n var powEX = Math.abs(subExSx << 2);\n var powEY = Math.abs(subEySy << 2);\n var swipeHypotenuse = Math.sqrt(powEX + powEY);\n var swipeCathetus = Math.sqrt(powEY);\n swipeSin = Math.asin(swipeCathetus / swipeHypotenuse);\n\n if (swipeSin * 180 / Math.PI < touchAngle) {\n event.stopPropagation();\n Components.Move.make(subExSx * toFloat(touchRatio));\n Components.Html.root.classList.add(classes.dragging);\n Events.emit('swipe.move');\n } else {\n return false;\n }\n }\n },\n\n /**\n * Handler for `swipeend` event. Finitializes user's tap and decides about glide move.\n *\n * @param {Object} event\n * @return {Void}\n */\n end: function end(event) {\n if (!Glide.disabled) {\n var _Glide$settings2 = Glide.settings,\n perSwipe = _Glide$settings2.perSwipe,\n touchAngle = _Glide$settings2.touchAngle,\n classes = _Glide$settings2.classes;\n var swipe = this.touches(event);\n var threshold = this.threshold(event);\n var swipeDistance = swipe.pageX - swipeStartX;\n var swipeDeg = swipeSin * 180 / Math.PI;\n this.enable();\n\n if (swipeDistance > threshold && swipeDeg < touchAngle) {\n Components.Run.make(Components.Direction.resolve(\"\".concat(perSwipe, \"<\")));\n } else if (swipeDistance < -threshold && swipeDeg < touchAngle) {\n Components.Run.make(Components.Direction.resolve(\"\".concat(perSwipe, \">\")));\n } else {\n // While swipe don't reach distance apply previous transform.\n Components.Move.make();\n }\n\n Components.Html.root.classList.remove(classes.dragging);\n this.unbindSwipeMove();\n this.unbindSwipeEnd();\n Events.emit('swipe.end');\n }\n },\n\n /**\n * Binds swipe's starting event.\n *\n * @return {Void}\n */\n bindSwipeStart: function bindSwipeStart() {\n var _this = this;\n\n var _Glide$settings3 = Glide.settings,\n swipeThreshold = _Glide$settings3.swipeThreshold,\n dragThreshold = _Glide$settings3.dragThreshold;\n\n if (swipeThreshold) {\n Binder.on(START_EVENTS[0], Components.Html.wrapper, function (event) {\n _this.start(event);\n }, capture);\n }\n\n if (dragThreshold) {\n Binder.on(START_EVENTS[1], Components.Html.wrapper, function (event) {\n _this.start(event);\n }, capture);\n }\n },\n\n /**\n * Unbinds swipe's starting event.\n *\n * @return {Void}\n */\n unbindSwipeStart: function unbindSwipeStart() {\n Binder.off(START_EVENTS[0], Components.Html.wrapper, capture);\n Binder.off(START_EVENTS[1], Components.Html.wrapper, capture);\n },\n\n /**\n * Binds swipe's moving event.\n *\n * @return {Void}\n */\n bindSwipeMove: function bindSwipeMove() {\n var _this2 = this;\n\n Binder.on(MOVE_EVENTS, Components.Html.wrapper, throttle(function (event) {\n _this2.move(event);\n }, Glide.settings.throttle), capture);\n },\n\n /**\n * Unbinds swipe's moving event.\n *\n * @return {Void}\n */\n unbindSwipeMove: function unbindSwipeMove() {\n Binder.off(MOVE_EVENTS, Components.Html.wrapper, capture);\n },\n\n /**\n * Binds swipe's ending event.\n *\n * @return {Void}\n */\n bindSwipeEnd: function bindSwipeEnd() {\n var _this3 = this;\n\n Binder.on(END_EVENTS, Components.Html.wrapper, function (event) {\n _this3.end(event);\n });\n },\n\n /**\n * Unbinds swipe's ending event.\n *\n * @return {Void}\n */\n unbindSwipeEnd: function unbindSwipeEnd() {\n Binder.off(END_EVENTS, Components.Html.wrapper);\n },\n\n /**\n * Normalizes event touches points accorting to different types.\n *\n * @param {Object} event\n */\n touches: function touches(event) {\n if (MOUSE_EVENTS.indexOf(event.type) > -1) {\n return event;\n }\n\n return event.touches[0] || event.changedTouches[0];\n },\n\n /**\n * Gets value of minimum swipe distance settings based on event type.\n *\n * @return {Number}\n */\n threshold: function threshold(event) {\n var settings = Glide.settings;\n\n if (MOUSE_EVENTS.indexOf(event.type) > -1) {\n return settings.dragThreshold;\n }\n\n return settings.swipeThreshold;\n },\n\n /**\n * Enables swipe event.\n *\n * @return {self}\n */\n enable: function enable() {\n disabled = false;\n Components.Transition.enable();\n return this;\n },\n\n /**\n * Disables swipe event.\n *\n * @return {self}\n */\n disable: function disable() {\n disabled = true;\n Components.Transition.disable();\n return this;\n }\n };\n /**\n * Add component class:\n * - after initial building\n */\n\n Events.on('build.after', function () {\n Components.Html.root.classList.add(Glide.settings.classes.swipeable);\n });\n /**\n * Remove swiping bindings:\n * - on destroying, to remove added EventListeners\n */\n\n Events.on('destroy', function () {\n Swipe.unbindSwipeStart();\n Swipe.unbindSwipeMove();\n Swipe.unbindSwipeEnd();\n Binder.destroy();\n });\n return Swipe;\n}\n\nfunction Images (Glide, Components, Events) {\n /**\n * Instance of the binder for DOM Events.\n *\n * @type {EventsBinder}\n */\n var Binder = new EventsBinder();\n var Images = {\n /**\n * Binds listener to glide wrapper.\n *\n * @return {Void}\n */\n mount: function mount() {\n this.bind();\n },\n\n /**\n * Binds `dragstart` event on wrapper to prevent dragging images.\n *\n * @return {Void}\n */\n bind: function bind() {\n Binder.on('dragstart', Components.Html.wrapper, this.dragstart);\n },\n\n /**\n * Unbinds `dragstart` event on wrapper.\n *\n * @return {Void}\n */\n unbind: function unbind() {\n Binder.off('dragstart', Components.Html.wrapper);\n },\n\n /**\n * Event handler. Prevents dragging.\n *\n * @return {Void}\n */\n dragstart: function dragstart(event) {\n event.preventDefault();\n }\n };\n /**\n * Remove bindings from images:\n * - on destroying, to remove added EventListeners\n */\n\n Events.on('destroy', function () {\n Images.unbind();\n Binder.destroy();\n });\n return Images;\n}\n\nfunction Anchors (Glide, Components, Events) {\n /**\n * Instance of the binder for DOM Events.\n *\n * @type {EventsBinder}\n */\n var Binder = new EventsBinder();\n /**\n * Holds detaching status of anchors.\n * Prevents detaching of already detached anchors.\n *\n * @private\n * @type {Boolean}\n */\n\n var detached = false;\n /**\n * Holds preventing status of anchors.\n * If `true` redirection after click will be disabled.\n *\n * @private\n * @type {Boolean}\n */\n\n var prevented = false;\n var Anchors = {\n /**\n * Setups a initial state of anchors component.\n *\n * @returns {Void}\n */\n mount: function mount() {\n /**\n * Holds collection of anchors elements.\n *\n * @private\n * @type {HTMLCollection}\n */\n this._a = Components.Html.wrapper.querySelectorAll('a');\n this.bind();\n },\n\n /**\n * Binds events to anchors inside a track.\n *\n * @return {Void}\n */\n bind: function bind() {\n Binder.on('click', Components.Html.wrapper, this.click);\n },\n\n /**\n * Unbinds events attached to anchors inside a track.\n *\n * @return {Void}\n */\n unbind: function unbind() {\n Binder.off('click', Components.Html.wrapper);\n },\n\n /**\n * Handler for click event. Prevents clicks when glide is in `prevent` status.\n *\n * @param {Object} event\n * @return {Void}\n */\n click: function click(event) {\n if (prevented) {\n event.stopPropagation();\n event.preventDefault();\n }\n },\n\n /**\n * Detaches anchors click event inside glide.\n *\n * @return {self}\n */\n detach: function detach() {\n prevented = true;\n\n if (!detached) {\n for (var i = 0; i < this.items.length; i++) {\n this.items[i].draggable = false;\n }\n\n detached = true;\n }\n\n return this;\n },\n\n /**\n * Attaches anchors click events inside glide.\n *\n * @return {self}\n */\n attach: function attach() {\n prevented = false;\n\n if (detached) {\n for (var i = 0; i < this.items.length; i++) {\n this.items[i].draggable = true;\n }\n\n detached = false;\n }\n\n return this;\n }\n };\n define(Anchors, 'items', {\n /**\n * Gets collection of the arrows HTML elements.\n *\n * @return {HTMLElement[]}\n */\n get: function get() {\n return Anchors._a;\n }\n });\n /**\n * Detach anchors inside slides:\n * - on swiping, so they won't redirect to its `href` attributes\n */\n\n Events.on('swipe.move', function () {\n Anchors.detach();\n });\n /**\n * Attach anchors inside slides:\n * - after swiping and transitions ends, so they can redirect after click again\n */\n\n Events.on('swipe.end', function () {\n Components.Transition.after(function () {\n Anchors.attach();\n });\n });\n /**\n * Unbind anchors inside slides:\n * - on destroying, to bring anchors to its initial state\n */\n\n Events.on('destroy', function () {\n Anchors.attach();\n Anchors.unbind();\n Binder.destroy();\n });\n return Anchors;\n}\n\nvar NAV_SELECTOR = '[data-glide-el=\"controls[nav]\"]';\nvar CONTROLS_SELECTOR = '[data-glide-el^=\"controls\"]';\nvar PREVIOUS_CONTROLS_SELECTOR = \"\".concat(CONTROLS_SELECTOR, \" [data-glide-dir*=\\\"<\\\"]\");\nvar NEXT_CONTROLS_SELECTOR = \"\".concat(CONTROLS_SELECTOR, \" [data-glide-dir*=\\\">\\\"]\");\nfunction Controls (Glide, Components, Events) {\n /**\n * Instance of the binder for DOM Events.\n *\n * @type {EventsBinder}\n */\n var Binder = new EventsBinder();\n var capture = supportsPassive$1 ? {\n passive: true\n } : false;\n var Controls = {\n /**\n * Inits arrows. Binds events listeners\n * to the arrows HTML elements.\n *\n * @return {Void}\n */\n mount: function mount() {\n /**\n * Collection of navigation HTML elements.\n *\n * @private\n * @type {HTMLCollection}\n */\n this._n = Components.Html.root.querySelectorAll(NAV_SELECTOR);\n /**\n * Collection of controls HTML elements.\n *\n * @private\n * @type {HTMLCollection}\n */\n\n this._c = Components.Html.root.querySelectorAll(CONTROLS_SELECTOR);\n /**\n * Collection of arrow control HTML elements.\n *\n * @private\n * @type {Object}\n */\n\n this._arrowControls = {\n previous: Components.Html.root.querySelectorAll(PREVIOUS_CONTROLS_SELECTOR),\n next: Components.Html.root.querySelectorAll(NEXT_CONTROLS_SELECTOR)\n };\n this.addBindings();\n },\n\n /**\n * Sets active class to current slide.\n *\n * @return {Void}\n */\n setActive: function setActive() {\n for (var i = 0; i < this._n.length; i++) {\n this.addClass(this._n[i].children);\n }\n },\n\n /**\n * Removes active class to current slide.\n *\n * @return {Void}\n */\n removeActive: function removeActive() {\n for (var i = 0; i < this._n.length; i++) {\n this.removeClass(this._n[i].children);\n }\n },\n\n /**\n * Toggles active class on items inside navigation.\n *\n * @param {HTMLElement} controls\n * @return {Void}\n */\n addClass: function addClass(controls) {\n var settings = Glide.settings;\n var item = controls[Glide.index];\n\n if (!item) {\n return;\n }\n\n if (item) {\n item.classList.add(settings.classes.nav.active);\n siblings(item).forEach(function (sibling) {\n sibling.classList.remove(settings.classes.nav.active);\n });\n }\n },\n\n /**\n * Removes active class from active control.\n *\n * @param {HTMLElement} controls\n * @return {Void}\n */\n removeClass: function removeClass(controls) {\n var item = controls[Glide.index];\n\n if (item) {\n item.classList.remove(Glide.settings.classes.nav.active);\n }\n },\n\n /**\n * Calculates, removes or adds `Glide.settings.classes.disabledArrow` class on the control arrows\n */\n setArrowState: function setArrowState() {\n if (Glide.settings.rewind) {\n return;\n }\n\n var next = Controls._arrowControls.next;\n var previous = Controls._arrowControls.previous;\n this.resetArrowState(next, previous);\n\n if (Glide.index === 0) {\n this.disableArrow(previous);\n }\n\n if (Glide.index === Components.Run.length) {\n this.disableArrow(next);\n }\n },\n\n /**\n * Removes `Glide.settings.classes.disabledArrow` from given NodeList elements\n *\n * @param {NodeList[]} lists\n */\n resetArrowState: function resetArrowState() {\n var settings = Glide.settings;\n\n for (var _len = arguments.length, lists = new Array(_len), _key = 0; _key < _len; _key++) {\n lists[_key] = arguments[_key];\n }\n\n lists.forEach(function (list) {\n toArray(list).forEach(function (element) {\n element.classList.remove(settings.classes.arrow.disabled);\n });\n });\n },\n\n /**\n * Adds `Glide.settings.classes.disabledArrow` to given NodeList elements\n *\n * @param {NodeList[]} lists\n */\n disableArrow: function disableArrow() {\n var settings = Glide.settings;\n\n for (var _len2 = arguments.length, lists = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n lists[_key2] = arguments[_key2];\n }\n\n lists.forEach(function (list) {\n toArray(list).forEach(function (element) {\n element.classList.add(settings.classes.arrow.disabled);\n });\n });\n },\n\n /**\n * Adds handles to the each group of controls.\n *\n * @return {Void}\n */\n addBindings: function addBindings() {\n for (var i = 0; i < this._c.length; i++) {\n this.bind(this._c[i].children);\n }\n },\n\n /**\n * Removes handles from the each group of controls.\n *\n * @return {Void}\n */\n removeBindings: function removeBindings() {\n for (var i = 0; i < this._c.length; i++) {\n this.unbind(this._c[i].children);\n }\n },\n\n /**\n * Binds events to arrows HTML elements.\n *\n * @param {HTMLCollection} elements\n * @return {Void}\n */\n bind: function bind(elements) {\n for (var i = 0; i < elements.length; i++) {\n Binder.on('click', elements[i], this.click);\n Binder.on('touchstart', elements[i], this.click, capture);\n }\n },\n\n /**\n * Unbinds events binded to the arrows HTML elements.\n *\n * @param {HTMLCollection} elements\n * @return {Void}\n */\n unbind: function unbind(elements) {\n for (var i = 0; i < elements.length; i++) {\n Binder.off(['click', 'touchstart'], elements[i]);\n }\n },\n\n /**\n * Handles `click` event on the arrows HTML elements.\n * Moves slider in direction given via the\n * `data-glide-dir` attribute.\n *\n * @param {Object} event\n * @return {void}\n */\n click: function click(event) {\n if (!supportsPassive$1 && event.type === 'touchstart') {\n event.preventDefault();\n }\n\n var direction = event.currentTarget.getAttribute('data-glide-dir');\n Components.Run.make(Components.Direction.resolve(direction));\n }\n };\n define(Controls, 'items', {\n /**\n * Gets collection of the controls HTML elements.\n *\n * @return {HTMLElement[]}\n */\n get: function get() {\n return Controls._c;\n }\n });\n /**\n * Swap active class of current navigation item:\n * - after mounting to set it to initial index\n * - after each move to the new index\n */\n\n Events.on(['mount.after', 'move.after'], function () {\n Controls.setActive();\n });\n /**\n * Add or remove disabled class of arrow elements\n */\n\n Events.on(['mount.after', 'run'], function () {\n Controls.setArrowState();\n });\n /**\n * Remove bindings and HTML Classes:\n * - on destroying, to bring markup to its initial state\n */\n\n Events.on('destroy', function () {\n Controls.removeBindings();\n Controls.removeActive();\n Binder.destroy();\n });\n return Controls;\n}\n\nfunction Keyboard (Glide, Components, Events) {\n /**\n * Instance of the binder for DOM Events.\n *\n * @type {EventsBinder}\n */\n var Binder = new EventsBinder();\n var Keyboard = {\n /**\n * Binds keyboard events on component mount.\n *\n * @return {Void}\n */\n mount: function mount() {\n if (Glide.settings.keyboard) {\n this.bind();\n }\n },\n\n /**\n * Adds keyboard press events.\n *\n * @return {Void}\n */\n bind: function bind() {\n Binder.on('keyup', document, this.press);\n },\n\n /**\n * Removes keyboard press events.\n *\n * @return {Void}\n */\n unbind: function unbind() {\n Binder.off('keyup', document);\n },\n\n /**\n * Handles keyboard's arrows press and moving glide foward and backward.\n *\n * @param {Object} event\n * @return {Void}\n */\n press: function press(event) {\n var perSwipe = Glide.settings.perSwipe;\n\n if (event.code === 'ArrowRight') {\n Components.Run.make(Components.Direction.resolve(\"\".concat(perSwipe, \">\")));\n }\n\n if (event.code === 'ArrowLeft') {\n Components.Run.make(Components.Direction.resolve(\"\".concat(perSwipe, \"<\")));\n }\n }\n };\n /**\n * Remove bindings from keyboard:\n * - on destroying to remove added events\n * - on updating to remove events before remounting\n */\n\n Events.on(['destroy', 'update'], function () {\n Keyboard.unbind();\n });\n /**\n * Remount component\n * - on updating to reflect potential changes in settings\n */\n\n Events.on('update', function () {\n Keyboard.mount();\n });\n /**\n * Destroy binder:\n * - on destroying to remove listeners\n */\n\n Events.on('destroy', function () {\n Binder.destroy();\n });\n return Keyboard;\n}\n\nfunction Autoplay (Glide, Components, Events) {\n /**\n * Instance of the binder for DOM Events.\n *\n * @type {EventsBinder}\n */\n var Binder = new EventsBinder();\n var Autoplay = {\n /**\n * Initializes autoplaying and events.\n *\n * @return {Void}\n */\n mount: function mount() {\n this.enable();\n this.start();\n\n if (Glide.settings.hoverpause) {\n this.bind();\n }\n },\n\n /**\n * Enables autoplaying\n *\n * @returns {Void}\n */\n enable: function enable() {\n this._e = true;\n },\n\n /**\n * Disables autoplaying.\n *\n * @returns {Void}\n */\n disable: function disable() {\n this._e = false;\n },\n\n /**\n * Starts autoplaying in configured interval.\n *\n * @param {Boolean|Number} force Run autoplaying with passed interval regardless of `autoplay` settings\n * @return {Void}\n */\n start: function start() {\n var _this = this;\n\n if (!this._e) {\n return;\n }\n\n this.enable();\n\n if (Glide.settings.autoplay) {\n if (isUndefined(this._i)) {\n this._i = setInterval(function () {\n _this.stop();\n\n Components.Run.make('>');\n\n _this.start();\n\n Events.emit('autoplay');\n }, this.time);\n }\n }\n },\n\n /**\n * Stops autorunning of the glide.\n *\n * @return {Void}\n */\n stop: function stop() {\n this._i = clearInterval(this._i);\n },\n\n /**\n * Stops autoplaying while mouse is over glide's area.\n *\n * @return {Void}\n */\n bind: function bind() {\n var _this2 = this;\n\n Binder.on('mouseover', Components.Html.root, function () {\n if (_this2._e) {\n _this2.stop();\n }\n });\n Binder.on('mouseout', Components.Html.root, function () {\n if (_this2._e) {\n _this2.start();\n }\n });\n },\n\n /**\n * Unbind mouseover events.\n *\n * @returns {Void}\n */\n unbind: function unbind() {\n Binder.off(['mouseover', 'mouseout'], Components.Html.root);\n }\n };\n define(Autoplay, 'time', {\n /**\n * Gets time period value for the autoplay interval. Prioritizes\n * times in `data-glide-autoplay` attrubutes over options.\n *\n * @return {Number}\n */\n get: function get() {\n var autoplay = Components.Html.slides[Glide.index].getAttribute('data-glide-autoplay');\n\n if (autoplay) {\n return toInt(autoplay);\n }\n\n return toInt(Glide.settings.autoplay);\n }\n });\n /**\n * Stop autoplaying and unbind events:\n * - on destroying, to clear defined interval\n * - on updating via API to reset interval that may changed\n */\n\n Events.on(['destroy', 'update'], function () {\n Autoplay.unbind();\n });\n /**\n * Stop autoplaying:\n * - before each run, to restart autoplaying\n * - on pausing via API\n * - on destroying, to clear defined interval\n * - while starting a swipe\n * - on updating via API to reset interval that may changed\n */\n\n Events.on(['run.before', 'swipe.start', 'update'], function () {\n Autoplay.stop();\n });\n Events.on(['pause', 'destroy'], function () {\n Autoplay.disable();\n Autoplay.stop();\n });\n /**\n * Start autoplaying:\n * - after each run, to restart autoplaying\n * - on playing via API\n * - while ending a swipe\n */\n\n Events.on(['run.after', 'swipe.end'], function () {\n Autoplay.start();\n });\n /**\n * Start autoplaying:\n * - after each run, to restart autoplaying\n * - on playing via API\n * - while ending a swipe\n */\n\n Events.on(['play'], function () {\n Autoplay.enable();\n Autoplay.start();\n });\n /**\n * Remount autoplaying:\n * - on updating via API to reset interval that may changed\n */\n\n Events.on('update', function () {\n Autoplay.mount();\n });\n /**\n * Destroy a binder:\n * - on destroying glide instance to clearup listeners\n */\n\n Events.on('destroy', function () {\n Binder.destroy();\n });\n return Autoplay;\n}\n\n/**\n * Sorts keys of breakpoint object so they will be ordered from lower to bigger.\n *\n * @param {Object} points\n * @returns {Object}\n */\n\nfunction sortBreakpoints(points) {\n if (isObject(points)) {\n return sortKeys(points);\n } else {\n warn(\"Breakpoints option must be an object\");\n }\n\n return {};\n}\n\nfunction Breakpoints (Glide, Components, Events) {\n /**\n * Instance of the binder for DOM Events.\n *\n * @type {EventsBinder}\n */\n var Binder = new EventsBinder();\n /**\n * Holds reference to settings.\n *\n * @type {Object}\n */\n\n var settings = Glide.settings;\n /**\n * Holds reference to breakpoints object in settings. Sorts breakpoints\n * from smaller to larger. It is required in order to proper\n * matching currently active breakpoint settings.\n *\n * @type {Object}\n */\n\n var points = sortBreakpoints(settings.breakpoints);\n /**\n * Cache initial settings before overwritting.\n *\n * @type {Object}\n */\n\n var defaults = Object.assign({}, settings);\n var Breakpoints = {\n /**\n * Matches settings for currectly matching media breakpoint.\n *\n * @param {Object} points\n * @returns {Object}\n */\n match: function match(points) {\n if (typeof window.matchMedia !== 'undefined') {\n for (var point in points) {\n if (points.hasOwnProperty(point)) {\n if (window.matchMedia(\"(max-width: \".concat(point, \"px)\")).matches) {\n return points[point];\n }\n }\n }\n }\n\n return defaults;\n }\n };\n /**\n * Overwrite instance settings with currently matching breakpoint settings.\n * This happens right after component initialization.\n */\n\n Object.assign(settings, Breakpoints.match(points));\n /**\n * Update glide with settings of matched brekpoint:\n * - window resize to update slider\n */\n\n Binder.on('resize', window, throttle(function () {\n Glide.settings = mergeOptions(settings, Breakpoints.match(points));\n }, Glide.settings.throttle));\n /**\n * Resort and update default settings:\n * - on reinit via API, so breakpoint matching will be performed with options\n */\n\n Events.on('update', function () {\n points = sortBreakpoints(points);\n defaults = Object.assign({}, settings);\n });\n /**\n * Unbind resize listener:\n * - on destroying, to bring markup to its initial state\n */\n\n Events.on('destroy', function () {\n Binder.off('resize', window);\n });\n return Breakpoints;\n}\n\nvar COMPONENTS = {\n // Required\n Html: Html,\n Translate: Translate,\n Transition: Transition,\n Direction: Direction,\n Peek: Peek,\n Sizes: Sizes,\n Gaps: Gaps,\n Move: Move,\n Clones: Clones,\n Resize: Resize,\n Build: Build,\n Run: Run,\n // Optional\n Swipe: Swipe,\n Images: Images,\n Anchors: Anchors,\n Controls: Controls,\n Keyboard: Keyboard,\n Autoplay: Autoplay,\n Breakpoints: Breakpoints\n};\n\nvar Glide = /*#__PURE__*/function (_Core) {\n _inherits(Glide, _Core);\n\n var _super = _createSuper(Glide);\n\n function Glide() {\n _classCallCheck(this, Glide);\n\n return _super.apply(this, arguments);\n }\n\n _createClass(Glide, [{\n key: \"mount\",\n value: function mount() {\n var extensions = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n return _get(_getPrototypeOf(Glide.prototype), \"mount\", this).call(this, Object.assign({}, COMPONENTS, extensions));\n }\n }]);\n\n return Glide;\n}(Glide$1);\n\nexport { Glide as default };\n","function _tagged_template_literal(strings, raw) {\n if (!raw) raw = strings.slice(0);\n\n return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } }));\n}\nexport { _tagged_template_literal as _ };\n","function defaultDispose() { }\nexport class StrongCache {\n constructor(max = Infinity, dispose = defaultDispose) {\n this.max = max;\n this.dispose = dispose;\n this.map = new Map();\n this.newest = null;\n this.oldest = null;\n }\n has(key) {\n return this.map.has(key);\n }\n get(key) {\n const node = this.getNode(key);\n return node && node.value;\n }\n get size() {\n return this.map.size;\n }\n getNode(key) {\n const node = this.map.get(key);\n if (node && node !== this.newest) {\n const { older, newer } = node;\n if (newer) {\n newer.older = older;\n }\n if (older) {\n older.newer = newer;\n }\n node.older = this.newest;\n node.older.newer = node;\n node.newer = null;\n this.newest = node;\n if (node === this.oldest) {\n this.oldest = newer;\n }\n }\n return node;\n }\n set(key, value) {\n let node = this.getNode(key);\n if (node) {\n return node.value = value;\n }\n node = {\n key,\n value,\n newer: null,\n older: this.newest\n };\n if (this.newest) {\n this.newest.newer = node;\n }\n this.newest = node;\n this.oldest = this.oldest || node;\n this.map.set(key, node);\n return node.value;\n }\n clean() {\n while (this.oldest && this.map.size > this.max) {\n this.delete(this.oldest.key);\n }\n }\n delete(key) {\n const node = this.map.get(key);\n if (node) {\n if (node === this.newest) {\n this.newest = node.older;\n }\n if (node === this.oldest) {\n this.oldest = node.newer;\n }\n if (node.newer) {\n node.newer.older = node.older;\n }\n if (node.older) {\n node.older.newer = node.newer;\n }\n this.map.delete(key);\n this.dispose(node.value, key);\n return true;\n }\n return false;\n }\n}\n//# sourceMappingURL=strong.js.map","function noop() { }\nconst defaultDispose = noop;\nconst _WeakRef = typeof WeakRef !== \"undefined\"\n ? WeakRef\n : function (value) {\n return { deref: () => value };\n };\nconst _WeakMap = typeof WeakMap !== \"undefined\" ? WeakMap : Map;\nconst _FinalizationRegistry = typeof FinalizationRegistry !== \"undefined\"\n ? FinalizationRegistry\n : function () {\n return {\n register: noop,\n unregister: noop,\n };\n };\nconst finalizationBatchSize = 10024;\nexport class WeakCache {\n constructor(max = Infinity, dispose = defaultDispose) {\n this.max = max;\n this.dispose = dispose;\n this.map = new _WeakMap();\n this.newest = null;\n this.oldest = null;\n this.unfinalizedNodes = new Set();\n this.finalizationScheduled = false;\n this.size = 0;\n this.finalize = () => {\n const iterator = this.unfinalizedNodes.values();\n for (let i = 0; i < finalizationBatchSize; i++) {\n const node = iterator.next().value;\n if (!node)\n break;\n this.unfinalizedNodes.delete(node);\n const key = node.key;\n delete node.key;\n node.keyRef = new _WeakRef(key);\n this.registry.register(key, node, node);\n }\n if (this.unfinalizedNodes.size > 0) {\n queueMicrotask(this.finalize);\n }\n else {\n this.finalizationScheduled = false;\n }\n };\n this.registry = new _FinalizationRegistry(this.deleteNode.bind(this));\n }\n has(key) {\n return this.map.has(key);\n }\n get(key) {\n const node = this.getNode(key);\n return node && node.value;\n }\n getNode(key) {\n const node = this.map.get(key);\n if (node && node !== this.newest) {\n const { older, newer } = node;\n if (newer) {\n newer.older = older;\n }\n if (older) {\n older.newer = newer;\n }\n node.older = this.newest;\n node.older.newer = node;\n node.newer = null;\n this.newest = node;\n if (node === this.oldest) {\n this.oldest = newer;\n }\n }\n return node;\n }\n set(key, value) {\n let node = this.getNode(key);\n if (node) {\n return (node.value = value);\n }\n node = {\n key,\n value,\n newer: null,\n older: this.newest,\n };\n if (this.newest) {\n this.newest.newer = node;\n }\n this.newest = node;\n this.oldest = this.oldest || node;\n this.scheduleFinalization(node);\n this.map.set(key, node);\n this.size++;\n return node.value;\n }\n clean() {\n while (this.oldest && this.size > this.max) {\n this.deleteNode(this.oldest);\n }\n }\n deleteNode(node) {\n if (node === this.newest) {\n this.newest = node.older;\n }\n if (node === this.oldest) {\n this.oldest = node.newer;\n }\n if (node.newer) {\n node.newer.older = node.older;\n }\n if (node.older) {\n node.older.newer = node.newer;\n }\n this.size--;\n const key = node.key || (node.keyRef && node.keyRef.deref());\n this.dispose(node.value, key);\n if (!node.keyRef) {\n this.unfinalizedNodes.delete(node);\n }\n else {\n this.registry.unregister(node);\n }\n if (key)\n this.map.delete(key);\n }\n delete(key) {\n const node = this.map.get(key);\n if (node) {\n this.deleteNode(node);\n return true;\n }\n return false;\n }\n scheduleFinalization(node) {\n this.unfinalizedNodes.add(node);\n if (!this.finalizationScheduled) {\n this.finalizationScheduled = true;\n queueMicrotask(this.finalize);\n }\n }\n}\n//# sourceMappingURL=weak.js.map","const { toString, hasOwnProperty } = Object.prototype;\nconst fnToStr = Function.prototype.toString;\nconst previousComparisons = new Map();\n/**\n * Performs a deep equality check on two JavaScript values, tolerating cycles.\n */\nexport function equal(a, b) {\n try {\n return check(a, b);\n }\n finally {\n previousComparisons.clear();\n }\n}\n// Allow default imports as well.\nexport default equal;\nfunction check(a, b) {\n // If the two values are strictly equal, our job is easy.\n if (a === b) {\n return true;\n }\n // Object.prototype.toString returns a representation of the runtime type of\n // the given value that is considerably more precise than typeof.\n const aTag = toString.call(a);\n const bTag = toString.call(b);\n // If the runtime types of a and b are different, they could maybe be equal\n // under some interpretation of equality, but for simplicity and performance\n // we just return false instead.\n if (aTag !== bTag) {\n return false;\n }\n switch (aTag) {\n case '[object Array]':\n // Arrays are a lot like other objects, but we can cheaply compare their\n // lengths as a short-cut before comparing their elements.\n if (a.length !== b.length)\n return false;\n // Fall through to object case...\n case '[object Object]': {\n if (previouslyCompared(a, b))\n return true;\n const aKeys = definedKeys(a);\n const bKeys = definedKeys(b);\n // If `a` and `b` have a different number of enumerable keys, they\n // must be different.\n const keyCount = aKeys.length;\n if (keyCount !== bKeys.length)\n return false;\n // Now make sure they have the same keys.\n for (let k = 0; k < keyCount; ++k) {\n if (!hasOwnProperty.call(b, aKeys[k])) {\n return false;\n }\n }\n // Finally, check deep equality of all child properties.\n for (let k = 0; k < keyCount; ++k) {\n const key = aKeys[k];\n if (!check(a[key], b[key])) {\n return false;\n }\n }\n return true;\n }\n case '[object Error]':\n return a.name === b.name && a.message === b.message;\n case '[object Number]':\n // Handle NaN, which is !== itself.\n if (a !== a)\n return b !== b;\n // Fall through to shared +a === +b case...\n case '[object Boolean]':\n case '[object Date]':\n return +a === +b;\n case '[object RegExp]':\n case '[object String]':\n return a == `${b}`;\n case '[object Map]':\n case '[object Set]': {\n if (a.size !== b.size)\n return false;\n if (previouslyCompared(a, b))\n return true;\n const aIterator = a.entries();\n const isMap = aTag === '[object Map]';\n while (true) {\n const info = aIterator.next();\n if (info.done)\n break;\n // If a instanceof Set, aValue === aKey.\n const [aKey, aValue] = info.value;\n // So this works the same way for both Set and Map.\n if (!b.has(aKey)) {\n return false;\n }\n // However, we care about deep equality of values only when dealing\n // with Map structures.\n if (isMap && !check(aValue, b.get(aKey))) {\n return false;\n }\n }\n return true;\n }\n case '[object Uint16Array]':\n case '[object Uint8Array]': // Buffer, in Node.js.\n case '[object Uint32Array]':\n case '[object Int32Array]':\n case '[object Int8Array]':\n case '[object Int16Array]':\n case '[object ArrayBuffer]':\n // DataView doesn't need these conversions, but the equality check is\n // otherwise the same.\n a = new Uint8Array(a);\n b = new Uint8Array(b);\n // Fall through...\n case '[object DataView]': {\n let len = a.byteLength;\n if (len === b.byteLength) {\n while (len-- && a[len] === b[len]) {\n // Keep looping as long as the bytes are equal.\n }\n }\n return len === -1;\n }\n case '[object AsyncFunction]':\n case '[object GeneratorFunction]':\n case '[object AsyncGeneratorFunction]':\n case '[object Function]': {\n const aCode = fnToStr.call(a);\n if (aCode !== fnToStr.call(b)) {\n return false;\n }\n // We consider non-native functions equal if they have the same code\n // (native functions require === because their code is censored).\n // Note that this behavior is not entirely sound, since !== function\n // objects with the same code can behave differently depending on\n // their closure scope. However, any function can behave differently\n // depending on the values of its input arguments (including this)\n // and its calling context (including its closure scope), even\n // though the function object is === to itself; and it is entirely\n // possible for functions that are not === to behave exactly the\n // same under all conceivable circumstances. Because none of these\n // factors are statically decidable in JavaScript, JS function\n // equality is not well-defined. This ambiguity allows us to\n // consider the best possible heuristic among various imperfect\n // options, and equating non-native functions that have the same\n // code has enormous practical benefits, such as when comparing\n // functions that are repeatedly passed as fresh function\n // expressions within objects that are otherwise deeply equal. Since\n // any function created from the same syntactic expression (in the\n // same code location) will always stringify to the same code\n // according to fnToStr.call, we can reasonably expect these\n // repeatedly passed function expressions to have the same code, and\n // thus behave \"the same\" (with all the caveats mentioned above),\n // even though the runtime function objects are !== to one another.\n return !endsWith(aCode, nativeCodeSuffix);\n }\n }\n // Otherwise the values are not equal.\n return false;\n}\nfunction definedKeys(obj) {\n // Remember that the second argument to Array.prototype.filter will be\n // used as `this` within the callback function.\n return Object.keys(obj).filter(isDefinedKey, obj);\n}\nfunction isDefinedKey(key) {\n return this[key] !== void 0;\n}\nconst nativeCodeSuffix = \"{ [native code] }\";\nfunction endsWith(full, suffix) {\n const fromIndex = full.length - suffix.length;\n return fromIndex >= 0 &&\n full.indexOf(suffix, fromIndex) === fromIndex;\n}\nfunction previouslyCompared(a, b) {\n // Though cyclic references can make an object graph appear infinite from the\n // perspective of a depth-first traversal, the graph still contains a finite\n // number of distinct object references. We use the previousComparisons cache\n // to avoid comparing the same pair of object references more than once, which\n // guarantees termination (even if we end up comparing every object in one\n // graph to every object in the other graph, which is extremely unlikely),\n // while still allowing weird isomorphic structures (like rings with different\n // lengths) a chance to pass the equality test.\n let bSet = previousComparisons.get(a);\n if (bSet) {\n // Return true here because we can be sure false will be returned somewhere\n // else if the objects are not equivalent.\n if (bSet.has(b))\n return true;\n }\n else {\n previousComparisons.set(a, bSet = new Set);\n }\n bSet.add(b);\n return false;\n}\n//# sourceMappingURL=index.js.map","// src/utils/env.ts\nvar NOTHING = Symbol.for(\"immer-nothing\");\nvar DRAFTABLE = Symbol.for(\"immer-draftable\");\nvar DRAFT_STATE = Symbol.for(\"immer-state\");\n\n// src/utils/errors.ts\nvar errors = process.env.NODE_ENV !== \"production\" ? [\n // All error codes, starting by 0:\n function(plugin) {\n return `The plugin for '${plugin}' has not been loaded into Immer. To enable the plugin, import and call \\`enable${plugin}()\\` when initializing your application.`;\n },\n function(thing) {\n return `produce can only be called on things that are draftable: plain objects, arrays, Map, Set or classes that are marked with '[immerable]: true'. Got '${thing}'`;\n },\n \"This object has been frozen and should not be mutated\",\n function(data) {\n return \"Cannot use a proxy that has been revoked. Did you pass an object from inside an immer function to an async process? \" + data;\n },\n \"An immer producer returned a new value *and* modified its draft. Either return a new value *or* modify the draft.\",\n \"Immer forbids circular references\",\n \"The first or second argument to `produce` must be a function\",\n \"The third argument to `produce` must be a function or undefined\",\n \"First argument to `createDraft` must be a plain object, an array, or an immerable object\",\n \"First argument to `finishDraft` must be a draft returned by `createDraft`\",\n function(thing) {\n return `'current' expects a draft, got: ${thing}`;\n },\n \"Object.defineProperty() cannot be used on an Immer draft\",\n \"Object.setPrototypeOf() cannot be used on an Immer draft\",\n \"Immer only supports deleting array indices\",\n \"Immer only supports setting array indices and the 'length' property\",\n function(thing) {\n return `'original' expects a draft, got: ${thing}`;\n }\n // Note: if more errors are added, the errorOffset in Patches.ts should be increased\n // See Patches.ts for additional errors\n] : [];\nfunction die(error, ...args) {\n if (process.env.NODE_ENV !== \"production\") {\n const e = errors[error];\n const msg = typeof e === \"function\" ? e.apply(null, args) : e;\n throw new Error(`[Immer] ${msg}`);\n }\n throw new Error(\n `[Immer] minified error nr: ${error}. Full error at: https://bit.ly/3cXEKWf`\n );\n}\n\n// src/utils/common.ts\nvar getPrototypeOf = Object.getPrototypeOf;\nfunction isDraft(value) {\n return !!value && !!value[DRAFT_STATE];\n}\nfunction isDraftable(value) {\n if (!value)\n return false;\n return isPlainObject(value) || Array.isArray(value) || !!value[DRAFTABLE] || !!value.constructor?.[DRAFTABLE] || isMap(value) || isSet(value);\n}\nvar objectCtorString = Object.prototype.constructor.toString();\nfunction isPlainObject(value) {\n if (!value || typeof value !== \"object\")\n return false;\n const proto = getPrototypeOf(value);\n if (proto === null) {\n return true;\n }\n const Ctor = Object.hasOwnProperty.call(proto, \"constructor\") && proto.constructor;\n if (Ctor === Object)\n return true;\n return typeof Ctor == \"function\" && Function.toString.call(Ctor) === objectCtorString;\n}\nfunction original(value) {\n if (!isDraft(value))\n die(15, value);\n return value[DRAFT_STATE].base_;\n}\nfunction each(obj, iter) {\n if (getArchtype(obj) === 0 /* Object */) {\n Reflect.ownKeys(obj).forEach((key) => {\n iter(key, obj[key], obj);\n });\n } else {\n obj.forEach((entry, index) => iter(index, entry, obj));\n }\n}\nfunction getArchtype(thing) {\n const state = thing[DRAFT_STATE];\n return state ? state.type_ : Array.isArray(thing) ? 1 /* Array */ : isMap(thing) ? 2 /* Map */ : isSet(thing) ? 3 /* Set */ : 0 /* Object */;\n}\nfunction has(thing, prop) {\n return getArchtype(thing) === 2 /* Map */ ? thing.has(prop) : Object.prototype.hasOwnProperty.call(thing, prop);\n}\nfunction get(thing, prop) {\n return getArchtype(thing) === 2 /* Map */ ? thing.get(prop) : thing[prop];\n}\nfunction set(thing, propOrOldValue, value) {\n const t = getArchtype(thing);\n if (t === 2 /* Map */)\n thing.set(propOrOldValue, value);\n else if (t === 3 /* Set */) {\n thing.add(value);\n } else\n thing[propOrOldValue] = value;\n}\nfunction is(x, y) {\n if (x === y) {\n return x !== 0 || 1 / x === 1 / y;\n } else {\n return x !== x && y !== y;\n }\n}\nfunction isMap(target) {\n return target instanceof Map;\n}\nfunction isSet(target) {\n return target instanceof Set;\n}\nfunction latest(state) {\n return state.copy_ || state.base_;\n}\nfunction shallowCopy(base, strict) {\n if (isMap(base)) {\n return new Map(base);\n }\n if (isSet(base)) {\n return new Set(base);\n }\n if (Array.isArray(base))\n return Array.prototype.slice.call(base);\n const isPlain = isPlainObject(base);\n if (strict === true || strict === \"class_only\" && !isPlain) {\n const descriptors = Object.getOwnPropertyDescriptors(base);\n delete descriptors[DRAFT_STATE];\n let keys = Reflect.ownKeys(descriptors);\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i];\n const desc = descriptors[key];\n if (desc.writable === false) {\n desc.writable = true;\n desc.configurable = true;\n }\n if (desc.get || desc.set)\n descriptors[key] = {\n configurable: true,\n writable: true,\n // could live with !!desc.set as well here...\n enumerable: desc.enumerable,\n value: base[key]\n };\n }\n return Object.create(getPrototypeOf(base), descriptors);\n } else {\n const proto = getPrototypeOf(base);\n if (proto !== null && isPlain) {\n return { ...base };\n }\n const obj = Object.create(proto);\n return Object.assign(obj, base);\n }\n}\nfunction freeze(obj, deep = false) {\n if (isFrozen(obj) || isDraft(obj) || !isDraftable(obj))\n return obj;\n if (getArchtype(obj) > 1) {\n obj.set = obj.add = obj.clear = obj.delete = dontMutateFrozenCollections;\n }\n Object.freeze(obj);\n if (deep)\n Object.entries(obj).forEach(([key, value]) => freeze(value, true));\n return obj;\n}\nfunction dontMutateFrozenCollections() {\n die(2);\n}\nfunction isFrozen(obj) {\n return Object.isFrozen(obj);\n}\n\n// src/utils/plugins.ts\nvar plugins = {};\nfunction getPlugin(pluginKey) {\n const plugin = plugins[pluginKey];\n if (!plugin) {\n die(0, pluginKey);\n }\n return plugin;\n}\nfunction loadPlugin(pluginKey, implementation) {\n if (!plugins[pluginKey])\n plugins[pluginKey] = implementation;\n}\n\n// src/core/scope.ts\nvar currentScope;\nfunction getCurrentScope() {\n return currentScope;\n}\nfunction createScope(parent_, immer_) {\n return {\n drafts_: [],\n parent_,\n immer_,\n // Whenever the modified draft contains a draft from another scope, we\n // need to prevent auto-freezing so the unowned draft can be finalized.\n canAutoFreeze_: true,\n unfinalizedDrafts_: 0\n };\n}\nfunction usePatchesInScope(scope, patchListener) {\n if (patchListener) {\n getPlugin(\"Patches\");\n scope.patches_ = [];\n scope.inversePatches_ = [];\n scope.patchListener_ = patchListener;\n }\n}\nfunction revokeScope(scope) {\n leaveScope(scope);\n scope.drafts_.forEach(revokeDraft);\n scope.drafts_ = null;\n}\nfunction leaveScope(scope) {\n if (scope === currentScope) {\n currentScope = scope.parent_;\n }\n}\nfunction enterScope(immer2) {\n return currentScope = createScope(currentScope, immer2);\n}\nfunction revokeDraft(draft) {\n const state = draft[DRAFT_STATE];\n if (state.type_ === 0 /* Object */ || state.type_ === 1 /* Array */)\n state.revoke_();\n else\n state.revoked_ = true;\n}\n\n// src/core/finalize.ts\nfunction processResult(result, scope) {\n scope.unfinalizedDrafts_ = scope.drafts_.length;\n const baseDraft = scope.drafts_[0];\n const isReplaced = result !== void 0 && result !== baseDraft;\n if (isReplaced) {\n if (baseDraft[DRAFT_STATE].modified_) {\n revokeScope(scope);\n die(4);\n }\n if (isDraftable(result)) {\n result = finalize(scope, result);\n if (!scope.parent_)\n maybeFreeze(scope, result);\n }\n if (scope.patches_) {\n getPlugin(\"Patches\").generateReplacementPatches_(\n baseDraft[DRAFT_STATE].base_,\n result,\n scope.patches_,\n scope.inversePatches_\n );\n }\n } else {\n result = finalize(scope, baseDraft, []);\n }\n revokeScope(scope);\n if (scope.patches_) {\n scope.patchListener_(scope.patches_, scope.inversePatches_);\n }\n return result !== NOTHING ? result : void 0;\n}\nfunction finalize(rootScope, value, path) {\n if (isFrozen(value))\n return value;\n const state = value[DRAFT_STATE];\n if (!state) {\n each(\n value,\n (key, childValue) => finalizeProperty(rootScope, state, value, key, childValue, path)\n );\n return value;\n }\n if (state.scope_ !== rootScope)\n return value;\n if (!state.modified_) {\n maybeFreeze(rootScope, state.base_, true);\n return state.base_;\n }\n if (!state.finalized_) {\n state.finalized_ = true;\n state.scope_.unfinalizedDrafts_--;\n const result = state.copy_;\n let resultEach = result;\n let isSet2 = false;\n if (state.type_ === 3 /* Set */) {\n resultEach = new Set(result);\n result.clear();\n isSet2 = true;\n }\n each(\n resultEach,\n (key, childValue) => finalizeProperty(rootScope, state, result, key, childValue, path, isSet2)\n );\n maybeFreeze(rootScope, result, false);\n if (path && rootScope.patches_) {\n getPlugin(\"Patches\").generatePatches_(\n state,\n path,\n rootScope.patches_,\n rootScope.inversePatches_\n );\n }\n }\n return state.copy_;\n}\nfunction finalizeProperty(rootScope, parentState, targetObject, prop, childValue, rootPath, targetIsSet) {\n if (process.env.NODE_ENV !== \"production\" && childValue === targetObject)\n die(5);\n if (isDraft(childValue)) {\n const path = rootPath && parentState && parentState.type_ !== 3 /* Set */ && // Set objects are atomic since they have no keys.\n !has(parentState.assigned_, prop) ? rootPath.concat(prop) : void 0;\n const res = finalize(rootScope, childValue, path);\n set(targetObject, prop, res);\n if (isDraft(res)) {\n rootScope.canAutoFreeze_ = false;\n } else\n return;\n } else if (targetIsSet) {\n targetObject.add(childValue);\n }\n if (isDraftable(childValue) && !isFrozen(childValue)) {\n if (!rootScope.immer_.autoFreeze_ && rootScope.unfinalizedDrafts_ < 1) {\n return;\n }\n finalize(rootScope, childValue);\n if ((!parentState || !parentState.scope_.parent_) && typeof prop !== \"symbol\" && Object.prototype.propertyIsEnumerable.call(targetObject, prop))\n maybeFreeze(rootScope, childValue);\n }\n}\nfunction maybeFreeze(scope, value, deep = false) {\n if (!scope.parent_ && scope.immer_.autoFreeze_ && scope.canAutoFreeze_) {\n freeze(value, deep);\n }\n}\n\n// src/core/proxy.ts\nfunction createProxyProxy(base, parent) {\n const isArray = Array.isArray(base);\n const state = {\n type_: isArray ? 1 /* Array */ : 0 /* Object */,\n // Track which produce call this is associated with.\n scope_: parent ? parent.scope_ : getCurrentScope(),\n // True for both shallow and deep changes.\n modified_: false,\n // Used during finalization.\n finalized_: false,\n // Track which properties have been assigned (true) or deleted (false).\n assigned_: {},\n // The parent draft state.\n parent_: parent,\n // The base state.\n base_: base,\n // The base proxy.\n draft_: null,\n // set below\n // The base copy with any updated values.\n copy_: null,\n // Called by the `produce` function.\n revoke_: null,\n isManual_: false\n };\n let target = state;\n let traps = objectTraps;\n if (isArray) {\n target = [state];\n traps = arrayTraps;\n }\n const { revoke, proxy } = Proxy.revocable(target, traps);\n state.draft_ = proxy;\n state.revoke_ = revoke;\n return proxy;\n}\nvar objectTraps = {\n get(state, prop) {\n if (prop === DRAFT_STATE)\n return state;\n const source = latest(state);\n if (!has(source, prop)) {\n return readPropFromProto(state, source, prop);\n }\n const value = source[prop];\n if (state.finalized_ || !isDraftable(value)) {\n return value;\n }\n if (value === peek(state.base_, prop)) {\n prepareCopy(state);\n return state.copy_[prop] = createProxy(value, state);\n }\n return value;\n },\n has(state, prop) {\n return prop in latest(state);\n },\n ownKeys(state) {\n return Reflect.ownKeys(latest(state));\n },\n set(state, prop, value) {\n const desc = getDescriptorFromProto(latest(state), prop);\n if (desc?.set) {\n desc.set.call(state.draft_, value);\n return true;\n }\n if (!state.modified_) {\n const current2 = peek(latest(state), prop);\n const currentState = current2?.[DRAFT_STATE];\n if (currentState && currentState.base_ === value) {\n state.copy_[prop] = value;\n state.assigned_[prop] = false;\n return true;\n }\n if (is(value, current2) && (value !== void 0 || has(state.base_, prop)))\n return true;\n prepareCopy(state);\n markChanged(state);\n }\n if (state.copy_[prop] === value && // special case: handle new props with value 'undefined'\n (value !== void 0 || prop in state.copy_) || // special case: NaN\n Number.isNaN(value) && Number.isNaN(state.copy_[prop]))\n return true;\n state.copy_[prop] = value;\n state.assigned_[prop] = true;\n return true;\n },\n deleteProperty(state, prop) {\n if (peek(state.base_, prop) !== void 0 || prop in state.base_) {\n state.assigned_[prop] = false;\n prepareCopy(state);\n markChanged(state);\n } else {\n delete state.assigned_[prop];\n }\n if (state.copy_) {\n delete state.copy_[prop];\n }\n return true;\n },\n // Note: We never coerce `desc.value` into an Immer draft, because we can't make\n // the same guarantee in ES5 mode.\n getOwnPropertyDescriptor(state, prop) {\n const owner = latest(state);\n const desc = Reflect.getOwnPropertyDescriptor(owner, prop);\n if (!desc)\n return desc;\n return {\n writable: true,\n configurable: state.type_ !== 1 /* Array */ || prop !== \"length\",\n enumerable: desc.enumerable,\n value: owner[prop]\n };\n },\n defineProperty() {\n die(11);\n },\n getPrototypeOf(state) {\n return getPrototypeOf(state.base_);\n },\n setPrototypeOf() {\n die(12);\n }\n};\nvar arrayTraps = {};\neach(objectTraps, (key, fn) => {\n arrayTraps[key] = function() {\n arguments[0] = arguments[0][0];\n return fn.apply(this, arguments);\n };\n});\narrayTraps.deleteProperty = function(state, prop) {\n if (process.env.NODE_ENV !== \"production\" && isNaN(parseInt(prop)))\n die(13);\n return arrayTraps.set.call(this, state, prop, void 0);\n};\narrayTraps.set = function(state, prop, value) {\n if (process.env.NODE_ENV !== \"production\" && prop !== \"length\" && isNaN(parseInt(prop)))\n die(14);\n return objectTraps.set.call(this, state[0], prop, value, state[0]);\n};\nfunction peek(draft, prop) {\n const state = draft[DRAFT_STATE];\n const source = state ? latest(state) : draft;\n return source[prop];\n}\nfunction readPropFromProto(state, source, prop) {\n const desc = getDescriptorFromProto(source, prop);\n return desc ? `value` in desc ? desc.value : (\n // This is a very special case, if the prop is a getter defined by the\n // prototype, we should invoke it with the draft as context!\n desc.get?.call(state.draft_)\n ) : void 0;\n}\nfunction getDescriptorFromProto(source, prop) {\n if (!(prop in source))\n return void 0;\n let proto = getPrototypeOf(source);\n while (proto) {\n const desc = Object.getOwnPropertyDescriptor(proto, prop);\n if (desc)\n return desc;\n proto = getPrototypeOf(proto);\n }\n return void 0;\n}\nfunction markChanged(state) {\n if (!state.modified_) {\n state.modified_ = true;\n if (state.parent_) {\n markChanged(state.parent_);\n }\n }\n}\nfunction prepareCopy(state) {\n if (!state.copy_) {\n state.copy_ = shallowCopy(\n state.base_,\n state.scope_.immer_.useStrictShallowCopy_\n );\n }\n}\n\n// src/core/immerClass.ts\nvar Immer2 = class {\n constructor(config) {\n this.autoFreeze_ = true;\n this.useStrictShallowCopy_ = false;\n /**\n * The `produce` function takes a value and a \"recipe function\" (whose\n * return value often depends on the base state). The recipe function is\n * free to mutate its first argument however it wants. All mutations are\n * only ever applied to a __copy__ of the base state.\n *\n * Pass only a function to create a \"curried producer\" which relieves you\n * from passing the recipe function every time.\n *\n * Only plain objects and arrays are made mutable. All other objects are\n * considered uncopyable.\n *\n * Note: This function is __bound__ to its `Immer` instance.\n *\n * @param {any} base - the initial state\n * @param {Function} recipe - function that receives a proxy of the base state as first argument and which can be freely modified\n * @param {Function} patchListener - optional function that will be called with all the patches produced here\n * @returns {any} a new state, or the initial state if nothing was modified\n */\n this.produce = (base, recipe, patchListener) => {\n if (typeof base === \"function\" && typeof recipe !== \"function\") {\n const defaultBase = recipe;\n recipe = base;\n const self = this;\n return function curriedProduce(base2 = defaultBase, ...args) {\n return self.produce(base2, (draft) => recipe.call(this, draft, ...args));\n };\n }\n if (typeof recipe !== \"function\")\n die(6);\n if (patchListener !== void 0 && typeof patchListener !== \"function\")\n die(7);\n let result;\n if (isDraftable(base)) {\n const scope = enterScope(this);\n const proxy = createProxy(base, void 0);\n let hasError = true;\n try {\n result = recipe(proxy);\n hasError = false;\n } finally {\n if (hasError)\n revokeScope(scope);\n else\n leaveScope(scope);\n }\n usePatchesInScope(scope, patchListener);\n return processResult(result, scope);\n } else if (!base || typeof base !== \"object\") {\n result = recipe(base);\n if (result === void 0)\n result = base;\n if (result === NOTHING)\n result = void 0;\n if (this.autoFreeze_)\n freeze(result, true);\n if (patchListener) {\n const p = [];\n const ip = [];\n getPlugin(\"Patches\").generateReplacementPatches_(base, result, p, ip);\n patchListener(p, ip);\n }\n return result;\n } else\n die(1, base);\n };\n this.produceWithPatches = (base, recipe) => {\n if (typeof base === \"function\") {\n return (state, ...args) => this.produceWithPatches(state, (draft) => base(draft, ...args));\n }\n let patches, inversePatches;\n const result = this.produce(base, recipe, (p, ip) => {\n patches = p;\n inversePatches = ip;\n });\n return [result, patches, inversePatches];\n };\n if (typeof config?.autoFreeze === \"boolean\")\n this.setAutoFreeze(config.autoFreeze);\n if (typeof config?.useStrictShallowCopy === \"boolean\")\n this.setUseStrictShallowCopy(config.useStrictShallowCopy);\n }\n createDraft(base) {\n if (!isDraftable(base))\n die(8);\n if (isDraft(base))\n base = current(base);\n const scope = enterScope(this);\n const proxy = createProxy(base, void 0);\n proxy[DRAFT_STATE].isManual_ = true;\n leaveScope(scope);\n return proxy;\n }\n finishDraft(draft, patchListener) {\n const state = draft && draft[DRAFT_STATE];\n if (!state || !state.isManual_)\n die(9);\n const { scope_: scope } = state;\n usePatchesInScope(scope, patchListener);\n return processResult(void 0, scope);\n }\n /**\n * Pass true to automatically freeze all copies created by Immer.\n *\n * By default, auto-freezing is enabled.\n */\n setAutoFreeze(value) {\n this.autoFreeze_ = value;\n }\n /**\n * Pass true to enable strict shallow copy.\n *\n * By default, immer does not copy the object descriptors such as getter, setter and non-enumrable properties.\n */\n setUseStrictShallowCopy(value) {\n this.useStrictShallowCopy_ = value;\n }\n applyPatches(base, patches) {\n let i;\n for (i = patches.length - 1; i >= 0; i--) {\n const patch = patches[i];\n if (patch.path.length === 0 && patch.op === \"replace\") {\n base = patch.value;\n break;\n }\n }\n if (i > -1) {\n patches = patches.slice(i + 1);\n }\n const applyPatchesImpl = getPlugin(\"Patches\").applyPatches_;\n if (isDraft(base)) {\n return applyPatchesImpl(base, patches);\n }\n return this.produce(\n base,\n (draft) => applyPatchesImpl(draft, patches)\n );\n }\n};\nfunction createProxy(value, parent) {\n const draft = isMap(value) ? getPlugin(\"MapSet\").proxyMap_(value, parent) : isSet(value) ? getPlugin(\"MapSet\").proxySet_(value, parent) : createProxyProxy(value, parent);\n const scope = parent ? parent.scope_ : getCurrentScope();\n scope.drafts_.push(draft);\n return draft;\n}\n\n// src/core/current.ts\nfunction current(value) {\n if (!isDraft(value))\n die(10, value);\n return currentImpl(value);\n}\nfunction currentImpl(value) {\n if (!isDraftable(value) || isFrozen(value))\n return value;\n const state = value[DRAFT_STATE];\n let copy;\n if (state) {\n if (!state.modified_)\n return state.base_;\n state.finalized_ = true;\n copy = shallowCopy(value, state.scope_.immer_.useStrictShallowCopy_);\n } else {\n copy = shallowCopy(value, true);\n }\n each(copy, (key, childValue) => {\n set(copy, key, currentImpl(childValue));\n });\n if (state) {\n state.finalized_ = false;\n }\n return copy;\n}\n\n// src/plugins/patches.ts\nfunction enablePatches() {\n const errorOffset = 16;\n if (process.env.NODE_ENV !== \"production\") {\n errors.push(\n 'Sets cannot have \"replace\" patches.',\n function(op) {\n return \"Unsupported patch operation: \" + op;\n },\n function(path) {\n return \"Cannot apply patch, path doesn't resolve: \" + path;\n },\n \"Patching reserved attributes like __proto__, prototype and constructor is not allowed\"\n );\n }\n const REPLACE = \"replace\";\n const ADD = \"add\";\n const REMOVE = \"remove\";\n function generatePatches_(state, basePath, patches, inversePatches) {\n switch (state.type_) {\n case 0 /* Object */:\n case 2 /* Map */:\n return generatePatchesFromAssigned(\n state,\n basePath,\n patches,\n inversePatches\n );\n case 1 /* Array */:\n return generateArrayPatches(state, basePath, patches, inversePatches);\n case 3 /* Set */:\n return generateSetPatches(\n state,\n basePath,\n patches,\n inversePatches\n );\n }\n }\n function generateArrayPatches(state, basePath, patches, inversePatches) {\n let { base_, assigned_ } = state;\n let copy_ = state.copy_;\n if (copy_.length < base_.length) {\n ;\n [base_, copy_] = [copy_, base_];\n [patches, inversePatches] = [inversePatches, patches];\n }\n for (let i = 0; i < base_.length; i++) {\n if (assigned_[i] && copy_[i] !== base_[i]) {\n const path = basePath.concat([i]);\n patches.push({\n op: REPLACE,\n path,\n // Need to maybe clone it, as it can in fact be the original value\n // due to the base/copy inversion at the start of this function\n value: clonePatchValueIfNeeded(copy_[i])\n });\n inversePatches.push({\n op: REPLACE,\n path,\n value: clonePatchValueIfNeeded(base_[i])\n });\n }\n }\n for (let i = base_.length; i < copy_.length; i++) {\n const path = basePath.concat([i]);\n patches.push({\n op: ADD,\n path,\n // Need to maybe clone it, as it can in fact be the original value\n // due to the base/copy inversion at the start of this function\n value: clonePatchValueIfNeeded(copy_[i])\n });\n }\n for (let i = copy_.length - 1; base_.length <= i; --i) {\n const path = basePath.concat([i]);\n inversePatches.push({\n op: REMOVE,\n path\n });\n }\n }\n function generatePatchesFromAssigned(state, basePath, patches, inversePatches) {\n const { base_, copy_ } = state;\n each(state.assigned_, (key, assignedValue) => {\n const origValue = get(base_, key);\n const value = get(copy_, key);\n const op = !assignedValue ? REMOVE : has(base_, key) ? REPLACE : ADD;\n if (origValue === value && op === REPLACE)\n return;\n const path = basePath.concat(key);\n patches.push(op === REMOVE ? { op, path } : { op, path, value });\n inversePatches.push(\n op === ADD ? { op: REMOVE, path } : op === REMOVE ? { op: ADD, path, value: clonePatchValueIfNeeded(origValue) } : { op: REPLACE, path, value: clonePatchValueIfNeeded(origValue) }\n );\n });\n }\n function generateSetPatches(state, basePath, patches, inversePatches) {\n let { base_, copy_ } = state;\n let i = 0;\n base_.forEach((value) => {\n if (!copy_.has(value)) {\n const path = basePath.concat([i]);\n patches.push({\n op: REMOVE,\n path,\n value\n });\n inversePatches.unshift({\n op: ADD,\n path,\n value\n });\n }\n i++;\n });\n i = 0;\n copy_.forEach((value) => {\n if (!base_.has(value)) {\n const path = basePath.concat([i]);\n patches.push({\n op: ADD,\n path,\n value\n });\n inversePatches.unshift({\n op: REMOVE,\n path,\n value\n });\n }\n i++;\n });\n }\n function generateReplacementPatches_(baseValue, replacement, patches, inversePatches) {\n patches.push({\n op: REPLACE,\n path: [],\n value: replacement === NOTHING ? void 0 : replacement\n });\n inversePatches.push({\n op: REPLACE,\n path: [],\n value: baseValue\n });\n }\n function applyPatches_(draft, patches) {\n patches.forEach((patch) => {\n const { path, op } = patch;\n let base = draft;\n for (let i = 0; i < path.length - 1; i++) {\n const parentType = getArchtype(base);\n let p = path[i];\n if (typeof p !== \"string\" && typeof p !== \"number\") {\n p = \"\" + p;\n }\n if ((parentType === 0 /* Object */ || parentType === 1 /* Array */) && (p === \"__proto__\" || p === \"constructor\"))\n die(errorOffset + 3);\n if (typeof base === \"function\" && p === \"prototype\")\n die(errorOffset + 3);\n base = get(base, p);\n if (typeof base !== \"object\")\n die(errorOffset + 2, path.join(\"/\"));\n }\n const type = getArchtype(base);\n const value = deepClonePatchValue(patch.value);\n const key = path[path.length - 1];\n switch (op) {\n case REPLACE:\n switch (type) {\n case 2 /* Map */:\n return base.set(key, value);\n case 3 /* Set */:\n die(errorOffset);\n default:\n return base[key] = value;\n }\n case ADD:\n switch (type) {\n case 1 /* Array */:\n return key === \"-\" ? base.push(value) : base.splice(key, 0, value);\n case 2 /* Map */:\n return base.set(key, value);\n case 3 /* Set */:\n return base.add(value);\n default:\n return base[key] = value;\n }\n case REMOVE:\n switch (type) {\n case 1 /* Array */:\n return base.splice(key, 1);\n case 2 /* Map */:\n return base.delete(key);\n case 3 /* Set */:\n return base.delete(patch.value);\n default:\n return delete base[key];\n }\n default:\n die(errorOffset + 1, op);\n }\n });\n return draft;\n }\n function deepClonePatchValue(obj) {\n if (!isDraftable(obj))\n return obj;\n if (Array.isArray(obj))\n return obj.map(deepClonePatchValue);\n if (isMap(obj))\n return new Map(\n Array.from(obj.entries()).map(([k, v]) => [k, deepClonePatchValue(v)])\n );\n if (isSet(obj))\n return new Set(Array.from(obj).map(deepClonePatchValue));\n const cloned = Object.create(getPrototypeOf(obj));\n for (const key in obj)\n cloned[key] = deepClonePatchValue(obj[key]);\n if (has(obj, DRAFTABLE))\n cloned[DRAFTABLE] = obj[DRAFTABLE];\n return cloned;\n }\n function clonePatchValueIfNeeded(obj) {\n if (isDraft(obj)) {\n return deepClonePatchValue(obj);\n } else\n return obj;\n }\n loadPlugin(\"Patches\", {\n applyPatches_,\n generatePatches_,\n generateReplacementPatches_\n });\n}\n\n// src/plugins/mapset.ts\nfunction enableMapSet() {\n class DraftMap extends Map {\n constructor(target, parent) {\n super();\n this[DRAFT_STATE] = {\n type_: 2 /* Map */,\n parent_: parent,\n scope_: parent ? parent.scope_ : getCurrentScope(),\n modified_: false,\n finalized_: false,\n copy_: void 0,\n assigned_: void 0,\n base_: target,\n draft_: this,\n isManual_: false,\n revoked_: false\n };\n }\n get size() {\n return latest(this[DRAFT_STATE]).size;\n }\n has(key) {\n return latest(this[DRAFT_STATE]).has(key);\n }\n set(key, value) {\n const state = this[DRAFT_STATE];\n assertUnrevoked(state);\n if (!latest(state).has(key) || latest(state).get(key) !== value) {\n prepareMapCopy(state);\n markChanged(state);\n state.assigned_.set(key, true);\n state.copy_.set(key, value);\n state.assigned_.set(key, true);\n }\n return this;\n }\n delete(key) {\n if (!this.has(key)) {\n return false;\n }\n const state = this[DRAFT_STATE];\n assertUnrevoked(state);\n prepareMapCopy(state);\n markChanged(state);\n if (state.base_.has(key)) {\n state.assigned_.set(key, false);\n } else {\n state.assigned_.delete(key);\n }\n state.copy_.delete(key);\n return true;\n }\n clear() {\n const state = this[DRAFT_STATE];\n assertUnrevoked(state);\n if (latest(state).size) {\n prepareMapCopy(state);\n markChanged(state);\n state.assigned_ = /* @__PURE__ */ new Map();\n each(state.base_, (key) => {\n state.assigned_.set(key, false);\n });\n state.copy_.clear();\n }\n }\n forEach(cb, thisArg) {\n const state = this[DRAFT_STATE];\n latest(state).forEach((_value, key, _map) => {\n cb.call(thisArg, this.get(key), key, this);\n });\n }\n get(key) {\n const state = this[DRAFT_STATE];\n assertUnrevoked(state);\n const value = latest(state).get(key);\n if (state.finalized_ || !isDraftable(value)) {\n return value;\n }\n if (value !== state.base_.get(key)) {\n return value;\n }\n const draft = createProxy(value, state);\n prepareMapCopy(state);\n state.copy_.set(key, draft);\n return draft;\n }\n keys() {\n return latest(this[DRAFT_STATE]).keys();\n }\n values() {\n const iterator = this.keys();\n return {\n [Symbol.iterator]: () => this.values(),\n next: () => {\n const r = iterator.next();\n if (r.done)\n return r;\n const value = this.get(r.value);\n return {\n done: false,\n value\n };\n }\n };\n }\n entries() {\n const iterator = this.keys();\n return {\n [Symbol.iterator]: () => this.entries(),\n next: () => {\n const r = iterator.next();\n if (r.done)\n return r;\n const value = this.get(r.value);\n return {\n done: false,\n value: [r.value, value]\n };\n }\n };\n }\n [(DRAFT_STATE, Symbol.iterator)]() {\n return this.entries();\n }\n }\n function proxyMap_(target, parent) {\n return new DraftMap(target, parent);\n }\n function prepareMapCopy(state) {\n if (!state.copy_) {\n state.assigned_ = /* @__PURE__ */ new Map();\n state.copy_ = new Map(state.base_);\n }\n }\n class DraftSet extends Set {\n constructor(target, parent) {\n super();\n this[DRAFT_STATE] = {\n type_: 3 /* Set */,\n parent_: parent,\n scope_: parent ? parent.scope_ : getCurrentScope(),\n modified_: false,\n finalized_: false,\n copy_: void 0,\n base_: target,\n draft_: this,\n drafts_: /* @__PURE__ */ new Map(),\n revoked_: false,\n isManual_: false\n };\n }\n get size() {\n return latest(this[DRAFT_STATE]).size;\n }\n has(value) {\n const state = this[DRAFT_STATE];\n assertUnrevoked(state);\n if (!state.copy_) {\n return state.base_.has(value);\n }\n if (state.copy_.has(value))\n return true;\n if (state.drafts_.has(value) && state.copy_.has(state.drafts_.get(value)))\n return true;\n return false;\n }\n add(value) {\n const state = this[DRAFT_STATE];\n assertUnrevoked(state);\n if (!this.has(value)) {\n prepareSetCopy(state);\n markChanged(state);\n state.copy_.add(value);\n }\n return this;\n }\n delete(value) {\n if (!this.has(value)) {\n return false;\n }\n const state = this[DRAFT_STATE];\n assertUnrevoked(state);\n prepareSetCopy(state);\n markChanged(state);\n return state.copy_.delete(value) || (state.drafts_.has(value) ? state.copy_.delete(state.drafts_.get(value)) : (\n /* istanbul ignore next */\n false\n ));\n }\n clear() {\n const state = this[DRAFT_STATE];\n assertUnrevoked(state);\n if (latest(state).size) {\n prepareSetCopy(state);\n markChanged(state);\n state.copy_.clear();\n }\n }\n values() {\n const state = this[DRAFT_STATE];\n assertUnrevoked(state);\n prepareSetCopy(state);\n return state.copy_.values();\n }\n entries() {\n const state = this[DRAFT_STATE];\n assertUnrevoked(state);\n prepareSetCopy(state);\n return state.copy_.entries();\n }\n keys() {\n return this.values();\n }\n [(DRAFT_STATE, Symbol.iterator)]() {\n return this.values();\n }\n forEach(cb, thisArg) {\n const iterator = this.values();\n let result = iterator.next();\n while (!result.done) {\n cb.call(thisArg, result.value, result.value, this);\n result = iterator.next();\n }\n }\n }\n function proxySet_(target, parent) {\n return new DraftSet(target, parent);\n }\n function prepareSetCopy(state) {\n if (!state.copy_) {\n state.copy_ = /* @__PURE__ */ new Set();\n state.base_.forEach((value) => {\n if (isDraftable(value)) {\n const draft = createProxy(value, state);\n state.drafts_.set(value, draft);\n state.copy_.add(draft);\n } else {\n state.copy_.add(value);\n }\n });\n }\n }\n function assertUnrevoked(state) {\n if (state.revoked_)\n die(3, JSON.stringify(latest(state)));\n }\n loadPlugin(\"MapSet\", { proxyMap_, proxySet_ });\n}\n\n// src/immer.ts\nvar immer = new Immer2();\nvar produce = immer.produce;\nvar produceWithPatches = immer.produceWithPatches.bind(\n immer\n);\nvar setAutoFreeze = immer.setAutoFreeze.bind(immer);\nvar setUseStrictShallowCopy = immer.setUseStrictShallowCopy.bind(immer);\nvar applyPatches = immer.applyPatches.bind(immer);\nvar createDraft = immer.createDraft.bind(immer);\nvar finishDraft = immer.finishDraft.bind(immer);\nfunction castDraft(value) {\n return value;\n}\nfunction castImmutable(value) {\n return value;\n}\nexport {\n Immer2 as Immer,\n applyPatches,\n castDraft,\n castImmutable,\n createDraft,\n current,\n enableMapSet,\n enablePatches,\n finishDraft,\n freeze,\n DRAFTABLE as immerable,\n isDraft,\n isDraftable,\n NOTHING as nothing,\n original,\n produce,\n produceWithPatches,\n setAutoFreeze,\n setUseStrictShallowCopy\n};\n//# sourceMappingURL=immer.mjs.map","/*! js-cookie v3.0.5 | MIT */\n/* eslint-disable no-var */\nfunction assign (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n target[key] = source[key];\n }\n }\n return target\n}\n/* eslint-enable no-var */\n\n/* eslint-disable no-var */\nvar defaultConverter = {\n read: function (value) {\n if (value[0] === '\"') {\n value = value.slice(1, -1);\n }\n return value.replace(/(%[\\dA-F]{2})+/gi, decodeURIComponent)\n },\n write: function (value) {\n return encodeURIComponent(value).replace(\n /%(2[346BF]|3[AC-F]|40|5[BDE]|60|7[BCD])/g,\n decodeURIComponent\n )\n }\n};\n/* eslint-enable no-var */\n\n/* eslint-disable no-var */\n\nfunction init (converter, defaultAttributes) {\n function set (name, value, attributes) {\n if (typeof document === 'undefined') {\n return\n }\n\n attributes = assign({}, defaultAttributes, attributes);\n\n if (typeof attributes.expires === 'number') {\n attributes.expires = new Date(Date.now() + attributes.expires * 864e5);\n }\n if (attributes.expires) {\n attributes.expires = attributes.expires.toUTCString();\n }\n\n name = encodeURIComponent(name)\n .replace(/%(2[346B]|5E|60|7C)/g, decodeURIComponent)\n .replace(/[()]/g, escape);\n\n var stringifiedAttributes = '';\n for (var attributeName in attributes) {\n if (!attributes[attributeName]) {\n continue\n }\n\n stringifiedAttributes += '; ' + attributeName;\n\n if (attributes[attributeName] === true) {\n continue\n }\n\n // Considers RFC 6265 section 5.2:\n // ...\n // 3. If the remaining unparsed-attributes contains a %x3B (\";\")\n // character:\n // Consume the characters of the unparsed-attributes up to,\n // not including, the first %x3B (\";\") character.\n // ...\n stringifiedAttributes += '=' + attributes[attributeName].split(';')[0];\n }\n\n return (document.cookie =\n name + '=' + converter.write(value, name) + stringifiedAttributes)\n }\n\n function get (name) {\n if (typeof document === 'undefined' || (arguments.length && !name)) {\n return\n }\n\n // To prevent the for loop in the first place assign an empty array\n // in case there are no cookies at all.\n var cookies = document.cookie ? document.cookie.split('; ') : [];\n var jar = {};\n for (var i = 0; i < cookies.length; i++) {\n var parts = cookies[i].split('=');\n var value = parts.slice(1).join('=');\n\n try {\n var found = decodeURIComponent(parts[0]);\n jar[found] = converter.read(value, found);\n\n if (name === found) {\n break\n }\n } catch (e) {}\n }\n\n return name ? jar[name] : jar\n }\n\n return Object.create(\n {\n set,\n get,\n remove: function (name, attributes) {\n set(\n name,\n '',\n assign({}, attributes, {\n expires: -1\n })\n );\n },\n withAttributes: function (attributes) {\n return init(this.converter, assign({}, this.attributes, attributes))\n },\n withConverter: function (converter) {\n return init(assign({}, this.converter, converter), this.attributes)\n }\n },\n {\n attributes: { value: Object.freeze(defaultAttributes) },\n converter: { value: Object.freeze(converter) }\n }\n )\n}\n\nvar api = init(defaultConverter, { path: '/' });\n/* eslint-enable no-var */\n\nexport { api as default };\n","import e from\"void-elements\";var t=/\\s([^'\"/\\s><]+?)[\\s/>]|([^\\s=]+)=\\s?(\".*?\"|'.*?')/g;function n(n){var r={type:\"tag\",name:\"\",voidElement:!1,attrs:{},children:[]},i=n.match(/<\\/?([^\\s]+?)[/\\s>]/);if(i&&(r.name=i[1],(e[i[1]]||\"/\"===n.charAt(n.length-2))&&(r.voidElement=!0),r.name.startsWith(\"!--\"))){var s=n.indexOf(\"--\\x3e\");return{type:\"comment\",comment:-1!==s?n.slice(4,s):\"\"}}for(var a=new RegExp(t),c=null;null!==(c=a.exec(n));)if(c[0].trim())if(c[1]){var o=c[1].trim(),l=[o,\"\"];o.indexOf(\"=\")>-1&&(l=o.split(\"=\")),r.attrs[l[0]]=l[1],a.lastIndex--}else c[2]&&(r.attrs[c[2]]=c[3].trim().substring(1,c[3].length-1));return r}var r=/<[a-zA-Z0-9\\-\\!\\/](?:\"[^\"]*\"|'[^']*'|[^'\">])*>/g,i=/^\\s*$/,s=Object.create(null);function a(e,t){switch(t.type){case\"text\":return e+t.content;case\"tag\":return e+=\"<\"+t.name+(t.attrs?function(e){var t=[];for(var n in e)t.push(n+'=\"'+e[n]+'\"');return t.length?\" \"+t.join(\" \"):\"\"}(t.attrs):\"\")+(t.voidElement?\"/>\":\">\"),t.voidElement?e:e+t.children.reduce(a,\"\")+\"</\"+t.name+\">\";case\"comment\":return e+\"\\x3c!--\"+t.comment+\"--\\x3e\"}}var c={parse:function(e,t){t||(t={}),t.components||(t.components=s);var a,c=[],o=[],l=-1,m=!1;if(0!==e.indexOf(\"<\")){var u=e.indexOf(\"<\");c.push({type:\"text\",content:-1===u?e:e.substring(0,u)})}return e.replace(r,function(r,s){if(m){if(r!==\"</\"+a.name+\">\")return;m=!1}var u,f=\"/\"!==r.charAt(1),h=r.startsWith(\"\\x3c!--\"),p=s+r.length,d=e.charAt(p);if(h){var v=n(r);return l<0?(c.push(v),c):((u=o[l]).children.push(v),c)}if(f&&(l++,\"tag\"===(a=n(r)).type&&t.components[a.name]&&(a.type=\"component\",m=!0),a.voidElement||m||!d||\"<\"===d||a.children.push({type:\"text\",content:e.slice(p,e.indexOf(\"<\",p))}),0===l&&c.push(a),(u=o[l-1])&&u.children.push(a),o[l]=a),(!f||a.voidElement)&&(l>-1&&(a.voidElement||a.name===r.slice(2,-1))&&(l--,a=-1===l?c:o[l]),!m&&\"<\"!==d&&d)){u=-1===l?c:o[l].children;var x=e.indexOf(\"<\",p),g=e.slice(p,-1===x?void 0:x);i.test(g)&&(g=\" \"),(x>-1&&l+u.length>=0||\" \"!==g)&&u.push({type:\"text\",content:g})}}),c},stringify:function(e){return e.reduce(function(e,t){return e+a(\"\",t)},\"\")}};export default c;\n//# sourceMappingURL=html-parse-stringify.module.js.map\n","export function warn() {\n if (console && console.warn) {\n var _console;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n if (typeof args[0] === 'string') args[0] = \"react-i18next:: \".concat(args[0]);\n\n (_console = console).warn.apply(_console, args);\n }\n}\nvar alreadyWarned = {};\nexport function warnOnce() {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n if (typeof args[0] === 'string' && alreadyWarned[args[0]]) return;\n if (typeof args[0] === 'string') alreadyWarned[args[0]] = new Date();\n warn.apply(void 0, args);\n}\n\nvar loadedClb = function loadedClb(i18n, cb) {\n return function () {\n if (i18n.isInitialized) {\n cb();\n } else {\n var initialized = function initialized() {\n setTimeout(function () {\n i18n.off('initialized', initialized);\n }, 0);\n cb();\n };\n\n i18n.on('initialized', initialized);\n }\n };\n};\n\nexport function loadNamespaces(i18n, ns, cb) {\n i18n.loadNamespaces(ns, loadedClb(i18n, cb));\n}\nexport function loadLanguages(i18n, lng, ns, cb) {\n if (typeof ns === 'string') ns = [ns];\n ns.forEach(function (n) {\n if (i18n.options.ns.indexOf(n) < 0) i18n.options.ns.push(n);\n });\n i18n.loadLanguages(lng, loadedClb(i18n, cb));\n}\n\nfunction oldI18nextHasLoadedNamespace(ns, i18n) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var lng = i18n.languages[0];\n var fallbackLng = i18n.options ? i18n.options.fallbackLng : false;\n var lastLng = i18n.languages[i18n.languages.length - 1];\n if (lng.toLowerCase() === 'cimode') return true;\n\n var loadNotPending = function loadNotPending(l, n) {\n var loadState = i18n.services.backendConnector.state[\"\".concat(l, \"|\").concat(n)];\n return loadState === -1 || loadState === 2;\n };\n\n if (options.bindI18n && options.bindI18n.indexOf('languageChanging') > -1 && i18n.services.backendConnector.backend && i18n.isLanguageChangingTo && !loadNotPending(i18n.isLanguageChangingTo, ns)) return false;\n if (i18n.hasResourceBundle(lng, ns)) return true;\n if (!i18n.services.backendConnector.backend || i18n.options.resources && !i18n.options.partialBundledLanguages) return true;\n if (loadNotPending(lng, ns) && (!fallbackLng || loadNotPending(lastLng, ns))) return true;\n return false;\n}\n\nexport function hasLoadedNamespace(ns, i18n) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n if (!i18n.languages || !i18n.languages.length) {\n warnOnce('i18n.languages were undefined or empty', i18n.languages);\n return true;\n }\n\n var isNewerI18next = i18n.options.ignoreJSONStructure !== undefined;\n\n if (!isNewerI18next) {\n return oldI18nextHasLoadedNamespace(ns, i18n, options);\n }\n\n return i18n.hasLoadedNamespace(ns, {\n lng: options.lng,\n precheck: function precheck(i18nInstance, loadNotPending) {\n if (options.bindI18n && options.bindI18n.indexOf('languageChanging') > -1 && i18nInstance.services.backendConnector.backend && i18nInstance.isLanguageChangingTo && !loadNotPending(i18nInstance.isLanguageChangingTo, ns)) return false;\n }\n });\n}\nexport function getDisplayName(Component) {\n return Component.displayName || Component.name || (typeof Component === 'string' && Component.length > 0 ? Component : 'Unknown');\n}","var matchHtmlEntity = /&(?:amp|#38|lt|#60|gt|#62|apos|#39|quot|#34|nbsp|#160|copy|#169|reg|#174|hellip|#8230|#x2F|#47);/g;\nvar htmlEntities = {\n '&': '&',\n '&': '&',\n '<': '<',\n '<': '<',\n '>': '>',\n '>': '>',\n ''': \"'\",\n ''': \"'\",\n '"': '\"',\n '"': '\"',\n ' ': ' ',\n ' ': ' ',\n '©': '©',\n '©': '©',\n '®': '®',\n '®': '®',\n '…': '…',\n '…': '…',\n '/': '/',\n '/': '/'\n};\n\nvar unescapeHtmlEntity = function unescapeHtmlEntity(m) {\n return htmlEntities[m];\n};\n\nexport var unescape = function unescape(text) {\n return text.replace(matchHtmlEntity, unescapeHtmlEntity);\n};","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nimport { unescape } from './unescape.js';\nvar defaultOptions = {\n bindI18n: 'languageChanged',\n bindI18nStore: '',\n transEmptyNodeValue: '',\n transSupportBasicHtmlNodes: true,\n transWrapTextNodes: '',\n transKeepBasicHtmlNodesFor: ['br', 'strong', 'i', 'p'],\n useSuspense: true,\n unescape: unescape\n};\nexport function setDefaults() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n defaultOptions = _objectSpread(_objectSpread({}, defaultOptions), options);\n}\nexport function getDefaults() {\n return defaultOptions;\n}","import _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nimport _typeof from \"@babel/runtime/helpers/typeof\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nvar _excluded = [\"format\"],\n _excluded2 = [\"children\", \"count\", \"parent\", \"i18nKey\", \"context\", \"tOptions\", \"values\", \"defaults\", \"components\", \"ns\", \"i18n\", \"t\", \"shouldUnescape\"];\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nimport { isValidElement, cloneElement, createElement } from 'react';\nimport HTML from 'html-parse-stringify';\nimport { warn, warnOnce } from './utils.js';\nimport { getDefaults } from './defaults.js';\nimport { getI18n } from './i18nInstance.js';\n\nfunction hasChildren(node, checkLength) {\n if (!node) return false;\n var base = node.props ? node.props.children : node.children;\n if (checkLength) return base.length > 0;\n return !!base;\n}\n\nfunction getChildren(node) {\n if (!node) return [];\n return node.props ? node.props.children : node.children;\n}\n\nfunction hasValidReactChildren(children) {\n if (Object.prototype.toString.call(children) !== '[object Array]') return false;\n return children.every(function (child) {\n return isValidElement(child);\n });\n}\n\nfunction getAsArray(data) {\n return Array.isArray(data) ? data : [data];\n}\n\nfunction mergeProps(source, target) {\n var newTarget = _objectSpread({}, target);\n\n newTarget.props = Object.assign(source.props, target.props);\n return newTarget;\n}\n\nexport function nodesToString(children, i18nOptions) {\n if (!children) return '';\n var stringNode = '';\n var childrenArray = getAsArray(children);\n var keepArray = i18nOptions.transSupportBasicHtmlNodes && i18nOptions.transKeepBasicHtmlNodesFor ? i18nOptions.transKeepBasicHtmlNodesFor : [];\n childrenArray.forEach(function (child, childIndex) {\n if (typeof child === 'string') {\n stringNode += \"\".concat(child);\n } else if (isValidElement(child)) {\n var childPropsCount = Object.keys(child.props).length;\n var shouldKeepChild = keepArray.indexOf(child.type) > -1;\n var childChildren = child.props.children;\n\n if (!childChildren && shouldKeepChild && childPropsCount === 0) {\n stringNode += \"<\".concat(child.type, \"/>\");\n } else if (!childChildren && (!shouldKeepChild || childPropsCount !== 0)) {\n stringNode += \"<\".concat(childIndex, \"></\").concat(childIndex, \">\");\n } else if (child.props.i18nIsDynamicList) {\n stringNode += \"<\".concat(childIndex, \"></\").concat(childIndex, \">\");\n } else if (shouldKeepChild && childPropsCount === 1 && typeof childChildren === 'string') {\n stringNode += \"<\".concat(child.type, \">\").concat(childChildren, \"</\").concat(child.type, \">\");\n } else {\n var content = nodesToString(childChildren, i18nOptions);\n stringNode += \"<\".concat(childIndex, \">\").concat(content, \"</\").concat(childIndex, \">\");\n }\n } else if (child === null) {\n warn(\"Trans: the passed in value is invalid - seems you passed in a null child.\");\n } else if (_typeof(child) === 'object') {\n var format = child.format,\n clone = _objectWithoutProperties(child, _excluded);\n\n var keys = Object.keys(clone);\n\n if (keys.length === 1) {\n var value = format ? \"\".concat(keys[0], \", \").concat(format) : keys[0];\n stringNode += \"{{\".concat(value, \"}}\");\n } else {\n warn(\"react-i18next: the passed in object contained more than one variable - the object should look like {{ value, format }} where format is optional.\", child);\n }\n } else {\n warn(\"Trans: the passed in value is invalid - seems you passed in a variable like {number} - please pass in variables for interpolation as full objects like {{number}}.\", child);\n }\n });\n return stringNode;\n}\n\nfunction renderNodes(children, targetString, i18n, i18nOptions, combinedTOpts, shouldUnescape) {\n if (targetString === '') return [];\n var keepArray = i18nOptions.transKeepBasicHtmlNodesFor || [];\n var emptyChildrenButNeedsHandling = targetString && new RegExp(keepArray.join('|')).test(targetString);\n if (!children && !emptyChildrenButNeedsHandling) return [targetString];\n var data = {};\n\n function getData(childs) {\n var childrenArray = getAsArray(childs);\n childrenArray.forEach(function (child) {\n if (typeof child === 'string') return;\n if (hasChildren(child)) getData(getChildren(child));else if (_typeof(child) === 'object' && !isValidElement(child)) Object.assign(data, child);\n });\n }\n\n getData(children);\n var ast = HTML.parse(\"<0>\".concat(targetString, \"</0>\"));\n\n var opts = _objectSpread(_objectSpread({}, data), combinedTOpts);\n\n function renderInner(child, node, rootReactNode) {\n var childs = getChildren(child);\n var mappedChildren = mapAST(childs, node.children, rootReactNode);\n return hasValidReactChildren(childs) && mappedChildren.length === 0 ? childs : mappedChildren;\n }\n\n function pushTranslatedJSX(child, inner, mem, i, isVoid) {\n if (child.dummy) child.children = inner;\n mem.push(cloneElement(child, _objectSpread(_objectSpread({}, child.props), {}, {\n key: i\n }), isVoid ? undefined : inner));\n }\n\n function mapAST(reactNode, astNode, rootReactNode) {\n var reactNodes = getAsArray(reactNode);\n var astNodes = getAsArray(astNode);\n return astNodes.reduce(function (mem, node, i) {\n var translationContent = node.children && node.children[0] && node.children[0].content && i18n.services.interpolator.interpolate(node.children[0].content, opts, i18n.language);\n\n if (node.type === 'tag') {\n var tmp = reactNodes[parseInt(node.name, 10)];\n if (!tmp && rootReactNode.length === 1 && rootReactNode[0][node.name]) tmp = rootReactNode[0][node.name];\n if (!tmp) tmp = {};\n var child = Object.keys(node.attrs).length !== 0 ? mergeProps({\n props: node.attrs\n }, tmp) : tmp;\n var isElement = isValidElement(child);\n var isValidTranslationWithChildren = isElement && hasChildren(node, true) && !node.voidElement;\n var isEmptyTransWithHTML = emptyChildrenButNeedsHandling && _typeof(child) === 'object' && child.dummy && !isElement;\n var isKnownComponent = _typeof(children) === 'object' && children !== null && Object.hasOwnProperty.call(children, node.name);\n\n if (typeof child === 'string') {\n var value = i18n.services.interpolator.interpolate(child, opts, i18n.language);\n mem.push(value);\n } else if (hasChildren(child) || isValidTranslationWithChildren) {\n var inner = renderInner(child, node, rootReactNode);\n pushTranslatedJSX(child, inner, mem, i);\n } else if (isEmptyTransWithHTML) {\n var _inner = mapAST(reactNodes, node.children, rootReactNode);\n\n mem.push(cloneElement(child, _objectSpread(_objectSpread({}, child.props), {}, {\n key: i\n }), _inner));\n } else if (Number.isNaN(parseFloat(node.name))) {\n if (isKnownComponent) {\n var _inner2 = renderInner(child, node, rootReactNode);\n\n pushTranslatedJSX(child, _inner2, mem, i, node.voidElement);\n } else if (i18nOptions.transSupportBasicHtmlNodes && keepArray.indexOf(node.name) > -1) {\n if (node.voidElement) {\n mem.push(createElement(node.name, {\n key: \"\".concat(node.name, \"-\").concat(i)\n }));\n } else {\n var _inner3 = mapAST(reactNodes, node.children, rootReactNode);\n\n mem.push(createElement(node.name, {\n key: \"\".concat(node.name, \"-\").concat(i)\n }, _inner3));\n }\n } else if (node.voidElement) {\n mem.push(\"<\".concat(node.name, \" />\"));\n } else {\n var _inner4 = mapAST(reactNodes, node.children, rootReactNode);\n\n mem.push(\"<\".concat(node.name, \">\").concat(_inner4, \"</\").concat(node.name, \">\"));\n }\n } else if (_typeof(child) === 'object' && !isElement) {\n var content = node.children[0] ? translationContent : null;\n if (content) mem.push(content);\n } else if (node.children.length === 1 && translationContent) {\n mem.push(cloneElement(child, _objectSpread(_objectSpread({}, child.props), {}, {\n key: i\n }), translationContent));\n } else {\n mem.push(cloneElement(child, _objectSpread(_objectSpread({}, child.props), {}, {\n key: i\n })));\n }\n } else if (node.type === 'text') {\n var wrapTextNodes = i18nOptions.transWrapTextNodes;\n\n var _content = shouldUnescape ? i18nOptions.unescape(i18n.services.interpolator.interpolate(node.content, opts, i18n.language)) : i18n.services.interpolator.interpolate(node.content, opts, i18n.language);\n\n if (wrapTextNodes) {\n mem.push(createElement(wrapTextNodes, {\n key: \"\".concat(node.name, \"-\").concat(i)\n }, _content));\n } else {\n mem.push(_content);\n }\n }\n\n return mem;\n }, []);\n }\n\n var result = mapAST([{\n dummy: true,\n children: children || []\n }], ast, getAsArray(children || []));\n return getChildren(result[0]);\n}\n\nexport function Trans(_ref) {\n var children = _ref.children,\n count = _ref.count,\n parent = _ref.parent,\n i18nKey = _ref.i18nKey,\n context = _ref.context,\n _ref$tOptions = _ref.tOptions,\n tOptions = _ref$tOptions === void 0 ? {} : _ref$tOptions,\n values = _ref.values,\n defaults = _ref.defaults,\n components = _ref.components,\n ns = _ref.ns,\n i18nFromProps = _ref.i18n,\n tFromProps = _ref.t,\n shouldUnescape = _ref.shouldUnescape,\n additionalProps = _objectWithoutProperties(_ref, _excluded2);\n\n var i18n = i18nFromProps || getI18n();\n\n if (!i18n) {\n warnOnce('You will need to pass in an i18next instance by using i18nextReactModule');\n return children;\n }\n\n var t = tFromProps || i18n.t.bind(i18n) || function (k) {\n return k;\n };\n\n if (context) tOptions.context = context;\n\n var reactI18nextOptions = _objectSpread(_objectSpread({}, getDefaults()), i18n.options && i18n.options.react);\n\n var namespaces = ns || t.ns || i18n.options && i18n.options.defaultNS;\n namespaces = typeof namespaces === 'string' ? [namespaces] : namespaces || ['translation'];\n var defaultValue = defaults || nodesToString(children, reactI18nextOptions) || reactI18nextOptions.transEmptyNodeValue || i18nKey;\n var hashTransKey = reactI18nextOptions.hashTransKey;\n var key = i18nKey || (hashTransKey ? hashTransKey(defaultValue) : defaultValue);\n var interpolationOverride = values ? tOptions.interpolation : {\n interpolation: _objectSpread(_objectSpread({}, tOptions.interpolation), {}, {\n prefix: '#$?',\n suffix: '?$#'\n })\n };\n\n var combinedTOpts = _objectSpread(_objectSpread(_objectSpread(_objectSpread({}, tOptions), {}, {\n count: count\n }, values), interpolationOverride), {}, {\n defaultValue: defaultValue,\n ns: namespaces\n });\n\n var translation = key ? t(key, combinedTOpts) : defaultValue;\n var content = renderNodes(components || children, translation, i18n, reactI18nextOptions, combinedTOpts, shouldUnescape);\n var useAsParent = parent !== undefined ? parent : reactI18nextOptions.defaultTransParent;\n return useAsParent ? createElement(useAsParent, additionalProps, content) : content;\n}","var i18nInstance;\nexport function setI18n(instance) {\n i18nInstance = instance;\n}\nexport function getI18n() {\n return i18nInstance;\n}","import { setDefaults } from './defaults.js';\nimport { setI18n } from './i18nInstance.js';\nexport var initReactI18next = {\n type: '3rdParty',\n init: function init(instance) {\n setDefaults(instance.options.react);\n setI18n(instance);\n }\n};","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nimport { createContext } from 'react';\nimport { getDefaults, setDefaults } from './defaults.js';\nimport { getI18n, setI18n } from './i18nInstance.js';\nimport { initReactI18next } from './initReactI18next.js';\nexport { getDefaults, setDefaults, getI18n, setI18n, initReactI18next };\nexport var I18nContext = createContext();\nexport var ReportNamespaces = function () {\n function ReportNamespaces() {\n _classCallCheck(this, ReportNamespaces);\n\n this.usedNamespaces = {};\n }\n\n _createClass(ReportNamespaces, [{\n key: \"addUsedNamespaces\",\n value: function addUsedNamespaces(namespaces) {\n var _this = this;\n\n namespaces.forEach(function (ns) {\n if (!_this.usedNamespaces[ns]) _this.usedNamespaces[ns] = true;\n });\n }\n }, {\n key: \"getUsedNamespaces\",\n value: function getUsedNamespaces() {\n return Object.keys(this.usedNamespaces);\n }\n }]);\n\n return ReportNamespaces;\n}();\nexport function composeInitialProps(ForComponent) {\n return function (ctx) {\n return new Promise(function (resolve) {\n var i18nInitialProps = getInitialProps();\n\n if (ForComponent.getInitialProps) {\n ForComponent.getInitialProps(ctx).then(function (componentsInitialProps) {\n resolve(_objectSpread(_objectSpread({}, componentsInitialProps), i18nInitialProps));\n });\n } else {\n resolve(i18nInitialProps);\n }\n });\n };\n}\nexport function getInitialProps() {\n var i18n = getI18n();\n var namespaces = i18n.reportNamespaces ? i18n.reportNamespaces.getUsedNamespaces() : [];\n var ret = {};\n var initialI18nStore = {};\n i18n.languages.forEach(function (l) {\n initialI18nStore[l] = {};\n namespaces.forEach(function (ns) {\n initialI18nStore[l][ns] = i18n.getResourceBundle(l, ns) || {};\n });\n });\n ret.initialI18nStore = initialI18nStore;\n ret.initialLanguage = i18n.language;\n return ret;\n}","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"children\", \"count\", \"parent\", \"i18nKey\", \"context\", \"tOptions\", \"values\", \"defaults\", \"components\", \"ns\", \"i18n\", \"t\", \"shouldUnescape\"];\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nimport { useContext } from 'react';\nimport { nodesToString, Trans as TransWithoutContext } from './TransWithoutContext.js';\nimport { getI18n, I18nContext } from './context.js';\nexport { nodesToString };\nexport function Trans(_ref) {\n var children = _ref.children,\n count = _ref.count,\n parent = _ref.parent,\n i18nKey = _ref.i18nKey,\n context = _ref.context,\n _ref$tOptions = _ref.tOptions,\n tOptions = _ref$tOptions === void 0 ? {} : _ref$tOptions,\n values = _ref.values,\n defaults = _ref.defaults,\n components = _ref.components,\n ns = _ref.ns,\n i18nFromProps = _ref.i18n,\n tFromProps = _ref.t,\n shouldUnescape = _ref.shouldUnescape,\n additionalProps = _objectWithoutProperties(_ref, _excluded);\n\n var _ref2 = useContext(I18nContext) || {},\n i18nFromContext = _ref2.i18n,\n defaultNSFromContext = _ref2.defaultNS;\n\n var i18n = i18nFromProps || i18nFromContext || getI18n();\n var t = tFromProps || i18n && i18n.t.bind(i18n);\n return TransWithoutContext(_objectSpread({\n children: children,\n count: count,\n parent: parent,\n i18nKey: i18nKey,\n context: context,\n tOptions: tOptions,\n values: values,\n defaults: defaults,\n components: components,\n ns: ns || t && t.ns || defaultNSFromContext || i18n && i18n.options && i18n.options.defaultNS,\n i18n: i18n,\n t: tFromProps,\n shouldUnescape: shouldUnescape\n }, additionalProps));\n}","import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _typeof from \"@babel/runtime/helpers/typeof\";\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nimport { useState, useEffect, useContext, useRef } from 'react';\nimport { getI18n, getDefaults, ReportNamespaces, I18nContext } from './context.js';\nimport { warnOnce, loadNamespaces, loadLanguages, hasLoadedNamespace } from './utils.js';\n\nvar usePrevious = function usePrevious(value, ignore) {\n var ref = useRef();\n useEffect(function () {\n ref.current = ignore ? ref.current : value;\n }, [value, ignore]);\n return ref.current;\n};\n\nexport function useTranslation(ns) {\n var props = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var i18nFromProps = props.i18n;\n\n var _ref = useContext(I18nContext) || {},\n i18nFromContext = _ref.i18n,\n defaultNSFromContext = _ref.defaultNS;\n\n var i18n = i18nFromProps || i18nFromContext || getI18n();\n if (i18n && !i18n.reportNamespaces) i18n.reportNamespaces = new ReportNamespaces();\n\n if (!i18n) {\n warnOnce('You will need to pass in an i18next instance by using initReactI18next');\n\n var notReadyT = function notReadyT(k, optsOrDefaultValue) {\n if (typeof optsOrDefaultValue === 'string') return optsOrDefaultValue;\n if (optsOrDefaultValue && _typeof(optsOrDefaultValue) === 'object' && typeof optsOrDefaultValue.defaultValue === 'string') return optsOrDefaultValue.defaultValue;\n return Array.isArray(k) ? k[k.length - 1] : k;\n };\n\n var retNotReady = [notReadyT, {}, false];\n retNotReady.t = notReadyT;\n retNotReady.i18n = {};\n retNotReady.ready = false;\n return retNotReady;\n }\n\n if (i18n.options.react && i18n.options.react.wait !== undefined) warnOnce('It seems you are still using the old wait option, you may migrate to the new useSuspense behaviour.');\n\n var i18nOptions = _objectSpread(_objectSpread(_objectSpread({}, getDefaults()), i18n.options.react), props);\n\n var useSuspense = i18nOptions.useSuspense,\n keyPrefix = i18nOptions.keyPrefix;\n var namespaces = ns || defaultNSFromContext || i18n.options && i18n.options.defaultNS;\n namespaces = typeof namespaces === 'string' ? [namespaces] : namespaces || ['translation'];\n if (i18n.reportNamespaces.addUsedNamespaces) i18n.reportNamespaces.addUsedNamespaces(namespaces);\n var ready = (i18n.isInitialized || i18n.initializedStoreOnce) && namespaces.every(function (n) {\n return hasLoadedNamespace(n, i18n, i18nOptions);\n });\n\n function getT() {\n return i18n.getFixedT(props.lng || null, i18nOptions.nsMode === 'fallback' ? namespaces : namespaces[0], keyPrefix);\n }\n\n var _useState = useState(getT),\n _useState2 = _slicedToArray(_useState, 2),\n t = _useState2[0],\n setT = _useState2[1];\n\n var joinedNS = namespaces.join();\n if (props.lng) joinedNS = \"\".concat(props.lng).concat(joinedNS);\n var previousJoinedNS = usePrevious(joinedNS);\n var isMounted = useRef(true);\n useEffect(function () {\n var bindI18n = i18nOptions.bindI18n,\n bindI18nStore = i18nOptions.bindI18nStore;\n isMounted.current = true;\n\n if (!ready && !useSuspense) {\n if (props.lng) {\n loadLanguages(i18n, props.lng, namespaces, function () {\n if (isMounted.current) setT(getT);\n });\n } else {\n loadNamespaces(i18n, namespaces, function () {\n if (isMounted.current) setT(getT);\n });\n }\n }\n\n if (ready && previousJoinedNS && previousJoinedNS !== joinedNS && isMounted.current) {\n setT(getT);\n }\n\n function boundReset() {\n if (isMounted.current) setT(getT);\n }\n\n if (bindI18n && i18n) i18n.on(bindI18n, boundReset);\n if (bindI18nStore && i18n) i18n.store.on(bindI18nStore, boundReset);\n return function () {\n isMounted.current = false;\n if (bindI18n && i18n) bindI18n.split(' ').forEach(function (e) {\n return i18n.off(e, boundReset);\n });\n if (bindI18nStore && i18n) bindI18nStore.split(' ').forEach(function (e) {\n return i18n.store.off(e, boundReset);\n });\n };\n }, [i18n, joinedNS]);\n var isInitial = useRef(true);\n useEffect(function () {\n if (isMounted.current && !isInitial.current) {\n setT(getT);\n }\n\n isInitial.current = false;\n }, [i18n, keyPrefix]);\n var ret = [t, i18n, ready];\n ret.t = t;\n ret.i18n = i18n;\n ret.ready = ready;\n if (ready) return ret;\n if (!ready && !useSuspense) return ret;\n throw new Promise(function (resolve) {\n if (props.lng) {\n loadLanguages(i18n, props.lng, namespaces, function () {\n return resolve();\n });\n } else {\n loadNamespaces(i18n, namespaces, function () {\n return resolve();\n });\n }\n });\n}","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"forwardedRef\"];\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nimport { createElement, forwardRef as forwardRefReact } from 'react';\nimport { useTranslation } from './useTranslation.js';\nimport { getDisplayName } from './utils.js';\nexport function withTranslation(ns) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n return function Extend(WrappedComponent) {\n function I18nextWithTranslation(_ref) {\n var forwardedRef = _ref.forwardedRef,\n rest = _objectWithoutProperties(_ref, _excluded);\n\n var _useTranslation = useTranslation(ns, _objectSpread(_objectSpread({}, rest), {}, {\n keyPrefix: options.keyPrefix\n })),\n _useTranslation2 = _slicedToArray(_useTranslation, 3),\n t = _useTranslation2[0],\n i18n = _useTranslation2[1],\n ready = _useTranslation2[2];\n\n var passDownProps = _objectSpread(_objectSpread({}, rest), {}, {\n t: t,\n i18n: i18n,\n tReady: ready\n });\n\n if (options.withRef && forwardedRef) {\n passDownProps.ref = forwardedRef;\n } else if (!options.withRef && forwardedRef) {\n passDownProps.forwardedRef = forwardedRef;\n }\n\n return createElement(WrappedComponent, passDownProps);\n }\n\n I18nextWithTranslation.displayName = \"withI18nextTranslation(\".concat(getDisplayName(WrappedComponent), \")\");\n I18nextWithTranslation.WrappedComponent = WrappedComponent;\n\n var forwardRef = function forwardRef(props, ref) {\n return createElement(I18nextWithTranslation, Object.assign({}, props, {\n forwardedRef: ref\n }));\n };\n\n return options.withRef ? forwardRefReact(forwardRef) : I18nextWithTranslation;\n };\n}","import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"ns\", \"children\"];\nimport { useTranslation } from './useTranslation.js';\nexport function Translation(props) {\n var ns = props.ns,\n children = props.children,\n options = _objectWithoutProperties(props, _excluded);\n\n var _useTranslation = useTranslation(ns, options),\n _useTranslation2 = _slicedToArray(_useTranslation, 3),\n t = _useTranslation2[0],\n i18n = _useTranslation2[1],\n ready = _useTranslation2[2];\n\n return children(t, {\n i18n: i18n,\n lng: i18n.language\n }, ready);\n}","import { createElement, useMemo } from 'react';\nimport { I18nContext } from './context.js';\nexport function I18nextProvider(_ref) {\n var i18n = _ref.i18n,\n defaultNS = _ref.defaultNS,\n children = _ref.children;\n var value = useMemo(function () {\n return {\n i18n: i18n,\n defaultNS: defaultNS\n };\n }, [i18n, defaultNS]);\n return createElement(I18nContext.Provider, {\n value: value\n }, children);\n}","import { useContext } from 'react';\nimport { getI18n, I18nContext } from './context.js';\nexport function useSSR(initialI18nStore, initialLanguage) {\n var props = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var i18nFromProps = props.i18n;\n\n var _ref = useContext(I18nContext) || {},\n i18nFromContext = _ref.i18n;\n\n var i18n = i18nFromProps || i18nFromContext || getI18n();\n if (i18n.options && i18n.options.isClone) return;\n\n if (initialI18nStore && !i18n.initializedStoreOnce) {\n i18n.services.resourceStore.data = initialI18nStore;\n i18n.options.ns = Object.values(initialI18nStore).reduce(function (mem, lngResources) {\n Object.keys(lngResources).forEach(function (ns) {\n if (mem.indexOf(ns) < 0) mem.push(ns);\n });\n return mem;\n }, i18n.options.ns);\n i18n.initializedStoreOnce = true;\n i18n.isInitialized = true;\n }\n\n if (initialLanguage && !i18n.initializedLanguageOnce) {\n i18n.changeLanguage(initialLanguage);\n i18n.initializedLanguageOnce = true;\n }\n}","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"initialI18nStore\", \"initialLanguage\"];\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nimport { createElement } from 'react';\nimport { useSSR } from './useSSR.js';\nimport { composeInitialProps } from './context.js';\nimport { getDisplayName } from './utils.js';\nexport function withSSR() {\n return function Extend(WrappedComponent) {\n function I18nextWithSSR(_ref) {\n var initialI18nStore = _ref.initialI18nStore,\n initialLanguage = _ref.initialLanguage,\n rest = _objectWithoutProperties(_ref, _excluded);\n\n useSSR(initialI18nStore, initialLanguage);\n return createElement(WrappedComponent, _objectSpread({}, rest));\n }\n\n I18nextWithSSR.getInitialProps = composeInitialProps(WrappedComponent);\n I18nextWithSSR.displayName = \"withI18nextSSR(\".concat(getDisplayName(WrappedComponent), \")\");\n I18nextWithSSR.WrappedComponent = WrappedComponent;\n return I18nextWithSSR;\n };\n}","export { Trans } from './Trans.js';\nexport { Trans as TransWithoutContext } from './TransWithoutContext.js';\nexport { useTranslation } from './useTranslation.js';\nexport { withTranslation } from './withTranslation.js';\nexport { Translation } from './Translation.js';\nexport { I18nextProvider } from './I18nextProvider.js';\nexport { withSSR } from './withSSR.js';\nexport { useSSR } from './useSSR.js';\nexport { initReactI18next } from './initReactI18next.js';\nexport { setDefaults, getDefaults } from './defaults.js';\nexport { setI18n, getI18n } from './i18nInstance.js';\nexport { I18nContext, composeInitialProps, getInitialProps } from './context.js';\nexport var date = function date() {\n return '';\n};\nexport var time = function time() {\n return '';\n};\nexport var number = function number() {\n return '';\n};\nexport var select = function select() {\n return '';\n};\nexport var plural = function plural() {\n return '';\n};\nexport var selectOrdinal = function selectOrdinal() {\n return '';\n};","/******************************************************************************\nCopyright (c) Microsoft Corporation.\n\nPermission to use, copy, modify, and/or distribute this software for any\npurpose with or without fee is hereby granted.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\nPERFORMANCE OF THIS SOFTWARE.\n***************************************************************************** */\n/* global Reflect, Promise, SuppressedError, Symbol, Iterator */\n\nvar extendStatics = function(d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n};\n\nexport function __extends(d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n}\n\nexport var __assign = function() {\n __assign = Object.assign || function __assign(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n return t;\n }\n return __assign.apply(this, arguments);\n}\n\nexport function __rest(s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n}\n\nexport function __decorate(decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n}\n\nexport function __param(paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n}\n\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n var _, done = false;\n for (var i = decorators.length - 1; i >= 0; i--) {\n var context = {};\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\n if (kind === \"accessor\") {\n if (result === void 0) continue;\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n if (_ = accept(result.get)) descriptor.get = _;\n if (_ = accept(result.set)) descriptor.set = _;\n if (_ = accept(result.init)) initializers.unshift(_);\n }\n else if (_ = accept(result)) {\n if (kind === \"field\") initializers.unshift(_);\n else descriptor[key] = _;\n }\n }\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\n done = true;\n};\n\nexport function __runInitializers(thisArg, initializers, value) {\n var useValue = arguments.length > 2;\n for (var i = 0; i < initializers.length; i++) {\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n }\n return useValue ? value : void 0;\n};\n\nexport function __propKey(x) {\n return typeof x === \"symbol\" ? x : \"\".concat(x);\n};\n\nexport function __setFunctionName(f, name, prefix) {\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\n};\n\nexport function __metadata(metadataKey, metadataValue) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\n}\n\nexport function __awaiter(thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n}\n\nexport function __generator(thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === \"function\" ? Iterator : Object).prototype);\n return g.next = verb(0), g[\"throw\"] = verb(1), g[\"return\"] = verb(2), typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n}\n\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n});\n\nexport function __exportStar(m, o) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\n}\n\nexport function __values(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n}\n\nexport function __read(o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n}\n\n/** @deprecated */\nexport function __spread() {\n for (var ar = [], i = 0; i < arguments.length; i++)\n ar = ar.concat(__read(arguments[i]));\n return ar;\n}\n\n/** @deprecated */\nexport function __spreadArrays() {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n}\n\nexport function __spreadArray(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}\n\nexport function __await(v) {\n return this instanceof __await ? (this.v = v, this) : new __await(v);\n}\n\nexport function __asyncGenerator(thisArg, _arguments, generator) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\n return i = Object.create((typeof AsyncIterator === \"function\" ? AsyncIterator : Object).prototype), verb(\"next\"), verb(\"throw\"), verb(\"return\", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;\n function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }\n function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\n function fulfill(value) { resume(\"next\", value); }\n function reject(value) { resume(\"throw\", value); }\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\n}\n\nexport function __asyncDelegator(o) {\n var i, p;\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\n}\n\nexport function __asyncValues(o) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var m = o[Symbol.asyncIterator], i;\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\n}\n\nexport function __makeTemplateObject(cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n\nvar __setModuleDefault = Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n};\n\nvar ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n};\n\nexport function __importStar(mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n}\n\nexport function __importDefault(mod) {\n return (mod && mod.__esModule) ? mod : { default: mod };\n}\n\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n}\n\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n}\n\nexport function __classPrivateFieldIn(state, receiver) {\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\n}\n\nexport function __addDisposableResource(env, value, async) {\n if (value !== null && value !== void 0) {\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\n var dispose, inner;\n if (async) {\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\n dispose = value[Symbol.asyncDispose];\n }\n if (dispose === void 0) {\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\n dispose = value[Symbol.dispose];\n if (async) inner = dispose;\n }\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\n if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };\n env.stack.push({ value: value, dispose: dispose, async: async });\n }\n else if (async) {\n env.stack.push({ async: true });\n }\n return value;\n}\n\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\n var e = new Error(message);\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\n};\n\nexport function __disposeResources(env) {\n function fail(e) {\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\n env.hasError = true;\n }\n var r, s = 0;\n function next() {\n while (r = env.stack.pop()) {\n try {\n if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);\n if (r.dispose) {\n var result = r.dispose.call(r.value);\n if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\n }\n else s |= 1;\n }\n catch (e) {\n fail(e);\n }\n }\n if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();\n if (env.hasError) throw env.error;\n }\n return next();\n}\n\nexport function __rewriteRelativeImportExtension(path, preserveJsx) {\n if (typeof path === \"string\" && /^\\.\\.?\\//.test(path)) {\n return path.replace(/\\.(tsx)$|((?:\\.d)?)((?:\\.[^./]+?)?)\\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {\n return tsx ? preserveJsx ? \".jsx\" : \".js\" : d && (!ext || !cm) ? m : (d + ext + \".\" + cm.toLowerCase() + \"js\");\n });\n }\n return path;\n}\n\nexport default {\n __extends,\n __assign,\n __rest,\n __decorate,\n __param,\n __esDecorate,\n __runInitializers,\n __propKey,\n __setFunctionName,\n __metadata,\n __awaiter,\n __generator,\n __createBinding,\n __exportStar,\n __values,\n __read,\n __spread,\n __spreadArrays,\n __spreadArray,\n __await,\n __asyncGenerator,\n __asyncDelegator,\n __asyncValues,\n __makeTemplateObject,\n __importStar,\n __importDefault,\n __classPrivateFieldGet,\n __classPrivateFieldSet,\n __classPrivateFieldIn,\n __addDisposableResource,\n __disposeResources,\n __rewriteRelativeImportExtension,\n};\n","import { createStore } from 'zustand/vanilla';\nexport * from 'zustand/vanilla';\nimport ReactExports from 'react';\nimport useSyncExternalStoreExports from 'use-sync-external-store/shim/with-selector.js';\n\nconst { useDebugValue } = ReactExports;\nconst { useSyncExternalStoreWithSelector } = useSyncExternalStoreExports;\nlet didWarnAboutEqualityFn = false;\nconst identity = (arg) => arg;\nfunction useStore(api, selector = identity, equalityFn) {\n if ((import.meta.env ? import.meta.env.MODE : void 0) !== \"production\" && equalityFn && !didWarnAboutEqualityFn) {\n console.warn(\n \"[DEPRECATED] Use `createWithEqualityFn` instead of `create` or use `useStoreWithEqualityFn` instead of `useStore`. They can be imported from 'zustand/traditional'. https://github.com/pmndrs/zustand/discussions/1937\"\n );\n didWarnAboutEqualityFn = true;\n }\n const slice = useSyncExternalStoreWithSelector(\n api.subscribe,\n api.getState,\n api.getServerState || api.getInitialState,\n selector,\n equalityFn\n );\n useDebugValue(slice);\n return slice;\n}\nconst createImpl = (createState) => {\n if ((import.meta.env ? import.meta.env.MODE : void 0) !== \"production\" && typeof createState !== \"function\") {\n console.warn(\n \"[DEPRECATED] Passing a vanilla store will be unsupported in a future version. Instead use `import { useStore } from 'zustand'`.\"\n );\n }\n const api = typeof createState === \"function\" ? createStore(createState) : createState;\n const useBoundStore = (selector, equalityFn) => useStore(api, selector, equalityFn);\n Object.assign(useBoundStore, api);\n return useBoundStore;\n};\nconst create = (createState) => createState ? createImpl(createState) : createImpl;\nvar react = (createState) => {\n if ((import.meta.env ? import.meta.env.MODE : void 0) !== \"production\") {\n console.warn(\n \"[DEPRECATED] Default export is deprecated. Instead use `import { create } from 'zustand'`.\"\n );\n }\n return create(createState);\n};\n\nexport { create, react as default, useStore };\n","const createStoreImpl = (createState) => {\n let state;\n const listeners = /* @__PURE__ */ new Set();\n const setState = (partial, replace) => {\n const nextState = typeof partial === \"function\" ? partial(state) : partial;\n if (!Object.is(nextState, state)) {\n const previousState = state;\n state = (replace != null ? replace : typeof nextState !== \"object\" || nextState === null) ? nextState : Object.assign({}, state, nextState);\n listeners.forEach((listener) => listener(state, previousState));\n }\n };\n const getState = () => state;\n const getInitialState = () => initialState;\n const subscribe = (listener) => {\n listeners.add(listener);\n return () => listeners.delete(listener);\n };\n const destroy = () => {\n if ((import.meta.env ? import.meta.env.MODE : void 0) !== \"production\") {\n console.warn(\n \"[DEPRECATED] The `destroy` method will be unsupported in a future version. Instead use unsubscribe function returned by subscribe. Everything will be garbage-collected if store is garbage-collected.\"\n );\n }\n listeners.clear();\n };\n const api = { setState, getState, getInitialState, subscribe, destroy };\n const initialState = state = createState(setState, getState, api);\n return api;\n};\nconst createStore = (createState) => createState ? createStoreImpl(createState) : createStoreImpl;\nvar vanilla = (createState) => {\n if ((import.meta.env ? import.meta.env.MODE : void 0) !== \"production\") {\n console.warn(\n \"[DEPRECATED] Default export is deprecated. Instead use import { createStore } from 'zustand/vanilla'.\"\n );\n }\n return createStore(createState);\n};\n\nexport { createStore, vanilla as default };\n"],"names":["process","ContainerConfig","emptyLabel","isEmpty","props","cqItemsOrder","length","MapTo","AllowedComponentsContainer","ExperienceFragmentVariationConfig","configured","Container","isInEditor","isPage","model","respGridUtil","cqItems","root","responsivegrid","StyledContainer","styled","div","toRem","baseVariables","color","StyledRow","mediaQuery","md","StyledFooterContainer","isBulgari","getBulgariStyles","Text","StyledP","p","Link","LanguageSelectorContainer","DestinationWrapper","font","fontWeightRegular","fontS","fontXl","fontSwiss","lineHeightXs","fontWeightMedium","LineHeightWrapper","parseBoolean","bool","JSON","parse","toLowerCase","LinkFeature","item","trackingPropertiesObject","hasLink","linkLabel","linkURL","hasHTML","htmlContent","LinkWrapper","span","className","clsx","dangerouslySetInnerHTML","__html","RETURN_DOM","outerHTML","target","openInaNewTab","linkHref","linkClassName","custom_click_track_value","getClickTrackValue","trackingProperties","text","trackingContentPosition","clickTrack","trackingOfferType","impressionCount","impressionTrack","trackingDescription","trackingTag","fallbacks","position","location","DEFAULT_TRACKING_VALUES","LABEL_NULLISH","description","ColumnLayout","values","maxColumns","maxValuesPerColumn","columns","distributeValues","i","Math","min","ceil","push","slice","MarriottWrapper","map","column","index","value","resourceProperties","destinationOnTop","destinationItems","DestinationOnTopWrapper","Accordion","styleclass","id","isOpen","destinationState","headerChildren","StyledText","element","Types","copyText","destinationTitle","fontSize","large","customClass","destinationItem","style","borderBottom","paddingTop","ourCompanyTitle","ourCompanyItems","companyItem","workWithUsTitle","workwithusItems","workWithUsItem","findHelpTitle","findhelpItems","findHelpItem","privacyTitle","privacyItems","privacyItem","minimizedItems","minimizedItem","isLanguageSelectorOpen","setIsLanguageSelectorOpen","useState","useEffect","attempts","checkWindow","window","_satellite","setTimeout","LanguageSelectorContext","Provider","variation","ExpandedFooter","CollapsedFooter","socialItems","socialTitle","socialItem","ariaLabel","socialLinks","copyrightDescription","LanguageSelector","buttonClassName","renderUtilityLink","languageLable","restProps","regions","aria-label","Footer","FooterConfig","resourceType","footerContent","FooterComp","data-component-name","data-testid","cqPath","includes","EditableComponent","config","EditableHTLWrapper","dynamic","then","mod","CardHorizontalMini","CobrandCardHorizontalFlexible","CardHorizontalFeature","BannerLayered","AccordionContainer","CardLayered","CardVertical","RichText","IconBlock","VariableColumnContainer","NavigationContainerWrapper","NavigationUtilityLinkWrapper","NavigationWrapper","$boxBoardShadow","StyledLocalHeader","rtl","lg","neutral30","base20","xl","neutral40","base10","contextualVariable","linkNavBorderColor","document","convertPhoneNumberToDE","result","num","phoneNumber","split","join","n","toString","amount","locale","currency","pricingFormat","Intl","NumberFormat","currencyDisplay","format","replace","trim","LocalHeaderDescription","pageProps","data","preProcessorResponse","useContext","PageParamsContext","baiduMap","response","fetch","method","headers","status","json","apiKey","atob","script","createElement","src","defer","head","appendChild","addEventListener","e","preventDefault","BMap","Map","event","CustomEvent","detail","loaded","dispatchEvent","console","log","error","getBaiduMap","mapele","querySelector","latlng","href","search","substr","substring","lat","long","gPoint","Point","translateCallback","points","lng","classList","remove","convertor","Convertor","translate","removeEventListener","dataLayer","chineseLocations","add","a","homePage","sameTab","cna","openHotelLogoInNewTab","rel","Image","defaultImageURL","hotelLogoFile","altText","logoAltText","renditions","dynamicMedia","title","loading","property","basicInformation","name","hideMap","tabIndex","openMapInNewTab","mapURL","replaceAll","mapCtaLabel","mobileMapCtaLabel","baiduMapURL","latitude","longitude","contactInformation","contactNumbers","display","buttonLink","openButtonLinkInNewTab","buttonLabel","$border","StyledAccuWeather","neutral00","initialState","accuWeatherData","accuWeatherDataLoading","accuWeatherDataError","skipQuery","setAccuWeatherData","AccuWeatherStore","set","fallbackData","Object","keys","useAccuWeatherStore","createAppStore","usePersistentStore","Date","AccuWeatherMockUXL","weather","hourly","dateTime","myDate","weatherIcon","temperature","unit","__typename","mobileLink","link","tenDay","date","setDate","getDate","maximum","day","weatherForecast","daysOfWeek","accuWeatherImage","imageAltText","isAuthorMode","state","useMemo","forecast","setForecast","dateDiff","getTime","weatherDate","forEach","trunc","getDay","weatherIcons","icon","iconKey","iconClass","img","alt","headerDetails","require","heroBannerQuery","setData","isServer","sessionID","requestId","lang","useQuery","accuWeather","fetchPolicy","variables","propertyId","marsha","context","now","skip","undefined","NEXT_PUBLIC_AEM_SITE","AccuWeather","selectPositioning","AccuWeatherData","AccuWeatherHeader","AccuWeatherNearByThingsToDo","_props","AccuWeatherConfig","LocalHeaderAccuWeather","hideNavigation","pagePath","itemPath","AccuWeatherContainer","ResponsiveGrid","gridClassNames","columnClassNames","AccuWeatherContainerWrapper","cardName","jsonData","returnable","hasOwnProperty","cardItems","card","itemKey","experienceFragmentComponentTypes","j","k","l","m","obj","showAccuWeatherContainer","Array","from","_","serviceData","serviceClicked","serviceUXL","connectBtnClick","servicesLoaded","merchandisingAvailable","serviceLoading","serviceError","setservice","ServiceStore","stringify","useServiceStore","navigationAttributes","localHeaderNavigationRef","linkClicked","l2NavLinks","setL2NavLinks","isLuxuriousBrand","setIsLuxuriousBrand","linkedTargetElements","brandCode","handleLinkClick","merchandisingLuxuryBrand","querySelectorAll","targetElement","hash","linkElement","links","navigation","getElementById","componentId","merchandisingContectID","localOffersContectID","li","label","ref","ul","data-id","data-compid","onLocalHeaderDataFetched","filter","localheaderMockUXL","LocalHeader","offsetTop","lastScrollTop","globalNavHeight","setHideMap","setHideNavigation","singleRefLocalheaderTop","useRef","singleRefAnchorList","localHeaderData","setLocalHeaderData","accWrapper","hideFunction","selectedStatesMap","hideL2Navigation","selectedStatesL2Navigation","current","clientHeight","pageScroll","passive","linkArray","propertyAcc","removeAllActiveAcc","acc","infoLink","setAttribute","referenceInfo","scrollIntoView","selectedStatesArr","setStateFunc","isCNA","stickyNav","globalNav","currentScroll","documentElement","scrollTop","body","pageYOffset","top","stickOffset","contains","linkTarget","clientRects","getBoundingClientRect","parseInt","bottom","right","innerWidth","scrollTo","left","requiredElementHash","requiredElement","v1Offset","totalOffset","singleRefLocalheaderTopRef","singleRefAnchorListRef","scrollY","LocalHeaderData","LocalHeaderNavigation","LocalHeaderConfig","StyledHeroBanner","accentColor","ppv5Data","ppv5DataLoading","ppv5DataError","setPpv5Data","Ppv5Store","useStore","size","tags","ButtonTypeVariation","StyledPpv5Modal","brandedFontColor","showModal","setShowModal","lastElement","setLastElement","modalRef","handleCloseBtnClick","closeBtnHandler","handleDropdownClick","setShowDropdown","dropdownRef","setShowDropdownFirstTier","dropdownRefFirst","setShowDropdownSecondTier","dropdownRefSecond","handleModalClick","stopPropagation","focusCloseBtn","focus","navigateToLastFocusableElement","focusable","lastFocusable","handleModalFocus","code","handleShiftTab","shiftKey","activeElement","modalTitleMaxWidth","modalWidth","clientWidth","modalHorizontalSpacing","maxWidth","modalHeaderTitle","diningModal","priceModal","upgradeModal","overflow","Modal","modalId","labelledBy","role","errorModal","secondaryClassName","diningModalClass","show","handleBlur","popupOpenState","allFilterPopUp","Header","labelText","modalTitle","popupHeaderOnCLoseFunc","popupCloseClassName","headingTagElement","customHeadingClass","Body","modalContent","setCookie","options","Cookies","get","Constants","usageAEM","ELITE","MEMBER","usage","FREE","PURCHASED","ACCESS","plan","PLAN1","PLAN2","INTERNET_BAR_INITIAL_STATE","welcomeText","isConnectState","connectUpgradeBtn","signInButton","signInButtonLink","signInButtonLabel","signInButtonLinkInNewTab","joinNowButton","joinButtonLabel","joinButtonLink","joinButtonLinkInNewTab","termsAndConditions","signInText","noLoginInterfaceModal","showLoginModal","loginModal","default","separatorLabel","userAccessCodeLabel","requestAccessCodeLabel","errorMessage","connectNowLabel","showAccessModal","accessModal","acErrorMessage","showReqAccessModal","reqAccessModal","racErrorMessage","showUpgradeGenErr","showUpgradeLRErr","showUpgradeMaxErr","showUpgradeNoCCErr","showUpgradePMSErr","showUpgradeSuccessNAInfo","showUpgradeSuccessMAXInfo","showPricingModal","showUpgradeModal","mr_enrolled","mr_enrollment_source","DEFAULT_LOCALE","guest","public","INTERNETBAR_PRICING_TIER_OPTIONS","tierOne","tierTwo","postEndpoint","form","parsedBody","submitFormEndpoint","indexOf","DOMPurify","RETURN_DOM_FRAGMENT","input","type","getElementsByTagName","submit","isNoLoginInterfaceModal","internetBarDataValues","zoneMapping","Z","usageAttr","LR","aemUSAGE","SP","sp","toUpperCase","MARSHA","ACTION","USAGE","DURATION","DOMAIN","MS","APS","TIERS","submitDynamicForm","getEnrolledUserFlag","loyaltyEnrollmentSourceCode","DEFAULT_LOYALTY_OBJ","sessionData","cacheData","AriesRewards","dropdownListRef","durations","dropdownList","list","children","dIndex","findIndex","d","dValue","settlementCurreny","hasOtherThanHotelQuotingCurrency","defaultCurrency","tierOnePricingInfo","hasTierOne","tierOneId","tierOneName","tierOneFee","currencyOne","externalRecordId","tierType","feeDetails","settlementFee","fee","settlementCurrency","getZonePricingInfo","settlementCurrenyDetails","hotelTier","pricingInfo","tierTwoFee","hasTierTwo","tierTwoId","hasOtherThanHotelQuotingCurrencyForZone","every","showDefaultPricing","tierOneInfo","getTierOneInfo","currencyTwo","zonePricingInfo","hasError","parseFloat","getPricingTierInfo","pricingTierInfo","feeType","settlementCurrencyHandler","propertyPortalData","internet","connectionPricingDetails","pricingInfoHasError","settlementCurrenyPublicDetails","INTERNETBAR_PRICING_ZONE_OPTIONS","settlementCurrenyGuestDetails","guestZoneMapping","pricingTier","enrollmentSourceCode","find","key","sourceCodeMappingAEM","uxlGlobalDivision","uxlCountryCode","finalEnrollmentSourceCode","matchedGlobalDivision","globalDivision","matchedCountryCode","countryCode","getPricingTierEnrollmentSourceCode","getRegionEnrollmentSourceCode","enrollmentSourceCodeMappingAEM","currentRegionUXL","loyaltyEnableFlag","loyaltyEnrollmentSourceCodeValue","loyalty","nonloyalty","address","country","InternetBarLoginModal","loginDetails","currentStateMapping","loginModalType","login","accessHref","setAccessHref","reqSMSHref","setReqSMSHref","isUserEnrolled","setIsUserEnrolled","inputRef","isPrimaryButtonLoading","setIsPrimaryButtonLoading","isSecondaryButtonLoading","setIsSecondaryButtonLoading","unknownFreeConnection","offeredPlan","isMobileAndAboveViewPort","useCheckBreakpoint","U_URLEndpoint","ppv5Enrollment","isUpgrade","isLoyaltyEnabled","LOYALTY_ENABLED_ZONES","tierInfo","loginModalError","setLoginModalError","roomNumber","lastName","loginError","setLoginError","roomNumberError","lastNameError","showRoomNumberError","showLastNameError","getLoginModalInformation","userInfoCookie","getCookies","decodedText","userInfoDetails","cookieDecoded","TextDecoder","decode","Uint8Array","char","charCodeAt","loginBtnTrigger","lastNameValue","roomNumberValue","endpoint","action","cookieKey","encodedText","TextEncoder","encode","cookieValue","btoa","String","fromCharCode","apply","ROOM_NUMBER","LAST_NAME","freeConnectBtnTrigger","getPrimaryButtonCta","primaryBtnCTA","loyaltyContinueAsMemberCta","loginContinueButtonLabel","loginButtonLabel","getSecondaryButtonCta","secondaryBtnCTA","loyaltyConnectAsGuestCta","handleQueryParamUpdate","paramName","paramValue","accessParams","URLSearchParams","access","reqSMS","timeout","clearTimeout","loyaltyLoginWelcomeText","h6","loyaltyLoginDescription","loyaltyGuestAtHotelDescription","guestLoginLabel","requiredLabel","InputTextField","roomNumberLabel","placeHolderText","roomNumberPlaceHolder","classNameForLineType","inputTextFieldClassName","showIcon","getInputProps","showUnderline","hideFontClass","togglePlaceholder","assignInputValue","onBlur","getInputValue","setLoginDetails","onFocus","showErrorMessage","inputValue","lastNameLabel","lastNamePlaceHolder","Button","isLink","isDisabled","callback","connectBtnTrigger","accessModalType","returnToLogin","setReturnToLogin","accessCodeDetails","setAccessCodeDetails","accessModalError","setAccessModalError","accessError","setAccessError","accessCodeError","showError","isButtonLoading","setIsButtonLoading","isAccessOnly","setIsAccessOnly","handleAccessBtnClick","ACCESS_CODE","hrefURL","accessCodeTitle","accessCodeLabel","testId","continueButtonLabel","acSeparatorLabel","returnLabel","InternetBarReqAccessModal","reqAccess","reqAccessModalType","showDropdown","DropdownSearchValue","setDropdownSearchValue","ButtonValue","setButtonValue","defaultOption","setCountryCode","mobileNumber","setMobileNumber","reqSMSModalError","setReqSMSModalError","reqSMSError","setReqSMSError","phoneFormatError","setPhoneFormatError","countriesArray","setCountriesArray","guidLinks","filterCountriesArray","setFilterCountriesArray","countryCodeRef","countryCodeDetails","reqSMStBtnTrigger","number","parsePhoneNumber","CODE","countryCallingCode","PHONE_NUMBER","nationalNumber","handleDropdownSearch","tempArray","guidDecode","startsWith","prorityList","priorityCountries","countriesList","prorityCountryObject","guidAltDecode","chinaCountry","extraSmall","htmlFor","data-search-placeholder","searchCountryRegionLabel","data-search-country","placeholder","onChange","onClick","filteredCountryIndex","guidCode","onKeyDown","data-code","enterYourPhoneNumber","getLabelProps","updatedValue","combinedNumber","updatedNumber","AsYouType","isPossible","racContinueButtonLabel","racSeparatorLabel","racReturnLabel","StyledInternetBarModal","linkIconFocusBoxShadow","formErrorColor","inputBorderFocusColor","neutral20","memberSolidAlt","getErrorBody","message","StyledErrorBody","wifiUpgradeGENError","wifiUpgradeLR","wifiUpgradeMAX","wifiUpgradeNoCC","wifiUpgradePMS","showSettlementCurrencyErrorModal","currencyUxlFailureErrorFieldsBean","invalidCurrencyErrorFieldsBean","ERR","getErrorModal","modalBody","upgradeErrorMessage","upgradeErrorDescription","errorMessageLr","descriptionLr","errorMessagePms","descriptionPms","errorMessageMax","descriptionMax","upgradeMessage","description1","experienceSegment","internetPricingInfo","internetPricingModel","showDropdownFirstTier","showDropdownSecondTier","pricingConnectNowButtonRef","pricingConnectNowButtonRefTwo","pricingDurationDropdownRef","pricingDurationDropdownRefTwo","dropdownListOne","dropdownListTwo","connectOneBtnDisable","setConnectOneBtnDisable","connectTwoBtnDisable","setConnectTwoBtnDisable","DD","durationDropdownSpacingIssue","LOCALE_SUPPORT_NO_SPACE_C_PRICE_MODAL","MAX_DURATION","justDaysLabel","justDayLabel","durationOne","setDurationOne","durationTwo","setDurationTwo","dataIsFirstTier","setDataIsFirstTier","pricingModalLabels","generalDescription","resortDescription","destinationDescription","destinationDescriptionPP","resortDescriptionPP","toFixed","updatedPricingModalLabels","tierName","tierId","tierFee","tierCurrency","isFree","tierTwoName","isTier1","tierConnect","evt","dataSPValue","getAttribute","tierDurationValue","isFirstTier","price","spValue","usageValue","pricing","CURRENCY","PRICE","handleListKeyPress","itemValue","updatedPricingModalIndex","handleDurationDropdownKeyDownEvent","setFocusToCurrentValue","duration","handleDurationDropdownClick","screenX","screenY","getPricingModal","pricingProps","tierLength","freeLabel","formatCurrency","dayLabel","internetPricingDescription","freeDescription","choosedurationlabel","modalType","button","data-sp-value","disabled","updatedPricingModal","internetPricingInfoUpgrade","upgradeModalRef","upgradeConnectionButtonRef","upgradeDurationDropdownRef","setDuration","upgradeConnection","upgradeDurationValue","intUpgNoThanksLink","intUpgTierTitle","intUpgFreeLabel","intUpgDescription","intUpgResortDescription","intUpgDestinationDescription","intUpgDurationLabel","intUpgConnectionLabel","loyaltyLoginConnectNowButtonRef","enrolled","loyaltyLoginConnectNowButton","InternetBarModal","setServiceData","showInternetBarModal","getNoErrorBody","StyledNoErrorBody","getModalContent","InternetBarAccessModal","requestAccessCodeModal","InternetBarErrorModal","wifiUpgradeSuccessMAX","upgradeMessageSmax","descriptionSmax","wifiUpgradeSuccessNA","upgradeMessageSna","descriptionSna","InternetBarPricingModal","InternetBarUpgradeModal","InternetBarLoyaltyWelcomeModal","getModalTitle","loginUpgradeText","acTitle","racTitle","headingtext","headingtextLr","headingtextPms","headingtextMax","headingtext1","headingtextSmax","headingtextSna","connectlabelTier1","intUpgConnectLabel","closeButtonHandler","Ppv5Modal","internetBarContent","internetBarContentContainer","internetBarContentDescriptionContainer","internetBarButtonContainer","internetBarButtonContentContainer","internetBarFooterContainer","internetBarIcon","internetBarNotWelcomeTitle","internetBarWelcomeText","internetBarDescription","internetBarSigninButton","internetBarJoinNowButton","internetBarConnectButton","internetBarTermsAndConditions","internetBarLoyaltyContainer","internetBarLoyaltyDescription","internetBarLoyaltySubDescription","internetBarLoyaltyButtons","getInternetBarStateSpecificClasses","userSegment","stateCSS","STATE_CSS_INITIAL","StyledInternetBar","brandedFontFamily","settlementCurrenyDetailsMock","region","stateProvince","enumCode","isCompForBonvoyElite","isCompForBonvoyMember","feeInterval","InternetBar","internetBarIcons","urlQueryParams","asPath","useRouter","setPropertyPortalData","router","query","unknownFreeConnectionForPostConnect","enrollmentSourceCodeMapping","loyaltyFlip","inStayMockResponse","setInternetBarDataValues","setShowInternetBarModal","currentStateHasModalOption","setCurrentStateHasModalOption","loyaltyCurrentStateMapping","setLoyaltyCurrentStateMapping","setIsNoLoginInterfaceModal","setModalType","loyaltyJoinNow","setLoyaltyJoinNow","defaultJoinNow","setDefaultJoinNow","isLoyaltyConnectNowBtnLoading","setLoyaltyConnectNowBtnLoading","isDefaultConnectNowBtnLoading","setDefaultConnectNowBtnLoading","settlementCurrencyData","setSettlementCurrencyData","setShowSettlementCurrencyErrorModal","updatedEnrollmentSourceCode","setUpdatedEnrollmentSourceCode","dataLists","isJoinNowBtnLoading","setIsJoinNowBtnLoading","v5Redirect","setV5Redirect","isMBVUser","setIsMBVState","ADD_ATTR","innerHTML","descriptionText","descriptionSanitizedNode","termsAndConditionsText","termsAndConditionsSanitizedNode","signInTextSanitizedNode","isWelcomeTitle","showButtonContainer","handleBtnClick","useCallback","internetbarInitialValue","initializeInternetBarData","zoneValue","localRequirement","btnName","version","connectionPricingFilter","pricingType","mvList","mVParamList","MV","zList","zParamList","zoneValues","propertyTier","updatedRegionEnrollmentSourceCode","settlementData","hasModalOption","lrList","lrParamList","lr","updatedState","apsValue","urlAsPerMapping","showSeparator","internetbarInitialValues","checkPropertyLinks","anchorList","hasAttribute","removeAttribute","bottomFoldElements","ele","elements","joinNowLink","defaultjoinNowLink","segmentId","replaceEnrollmentSourceCode","updatedJoinNowLinkWithEnrollment","updatedURLQueryParams","urlQueryParam","enrollment","returnToURL","returnTo","encodeURIComponent","sourceSystem","globalNavLogo","globalNavMenu","globalNavMenuLogo","globalNavLanguageClosebtn","textContent","requestAccessCodeModel","racClosingLabel","getConnectUpgradeBtn","statesConstant","connected","data-custom_click_track_value","data-is-click-track","connectButtonLabel","upgradeButtonLink","userState","defaultLayout","loyaltyLayout","loyaltyJoinnowScenarioText","loyaltyJoinnowScenarioDescription","loyaltyConnectScenarioText","loyaltyConnectScenarioDescription","loyaltyConnectNowButton","renderInternetBarComponent","accessCodeModel","loginModel","wifiUpgradeErrorFieldsBean","wifiUpgradeLrFieldsBean","wifiUpgradeMaxFieldsBean","wifiUpgradeCreditFieldsBean","wifiUpgradePmsFieldsBean","wifiUpgradeSuccessMaxFieldsBean","wifiUpgradeSuccessNaFieldsBean","LOYALTY_DISABLED_ZONES","iconName","h3","tier1Title","InternetBarConfig","onHeroBannerImageDataFetched","heroBannerPageProps","heroBannerImage","heroImage","imagedata","media","internetPortalPrimaryImage","imageUrls","classicHorizontal","dacImageQueryParamsHeroBanner","imageQueryParamsHeroBanner","wideHorizontal","square","alternateDescription","assetPath","imageSrc","imageQueryParams","viewportQuery","viewPortName","viewportValue","mediaVal","Number","imagePath","mediaValue","renditionPath","cacheURL","nonRetinaDisplayParams","retinaDisplayParams","authoredImage","fallbackBrandImage","dynamicImageFileReference","imageData","newRenditions","imageQueryParamHeroBanner","queryValue","matchMedia","rend","HeroBanner","setHeroBannerImage","internetBarContainerRef","heroBannerContainerRef","InternetBarContainer","InternetBarContainerWrapper","showInternetBarContainer","useLayoutEffect","internetBarContainerHeight","heroBannerContainerHeight","heroBannerImageStyle","internetBarHeight","height","HeroBannerImage","constants","BASE_IMG_URL","HeroBannerConfig","StyledConnectContainer","ConnectContainer","contentContainerRef","propertyDetails","parentElement","section","referencePath","ConnectContainerStaticWrapper","contentID","showConnectContainer","ConnectContainerConfig","desktop","mobileOnly","minDesktop","tabletOnly","smallMobileOnly","tablet","tabletMax","allTablets","mobileTablet","mobile","Swiss721BTRegular","generateRandomString","characters","randomString","charAt","floor","generateRandomNumber","targetPayloadRequest","req","visitor","datalayer","mvpOffers","satellite","getInstance","DCA_CONSTANTS","orgId","isUxl","targetRequestPayload","getWEBGLRenderer","gl","getContext","debugInfo","getExtension","getParameter","UNMASKED_RENDERER_WEBGL","getTnTId","mtGC","MI_Visitor","getTnTIdforNonUxl","mboxCookieLength","getThirdPartyId","consumerID","loginState","parameters","getSatelliteVar","variable","isArray","source","combinedObj","tempPayload","userAgent","navigator","channel","screen","width","orientation","colorDepth","pixelRatio","pixelDepth","innerHeight","browser","host","webGLRenderer","url","referringUrl","origin","timeOffsetInMinutes","getTimezoneOffset","cleanObject","tntId","thirdPartyId","marketingCloudVisitorId","mtGCV","gcv","getMarketingCloudVisitorID","token","propertyToken","experienceCloud","audienceManager","locationHint","getLocationHint","blob","getAudienceManagerBlob","analytics","trackingServer","trackingServerSecure","supplementalDataId","getSupplementalDataID","_generateID","mboxes","execute","updatedParameters","targetParameters","DCA","mboxName","cellCodes","localeOfContent","useClientEnvVarsStore","getState","envVarsObject","DEFAULT_LANG","ITEM_PATH_ROOT","ITEM_PATH_HEADER","ITEM_PATH_FOOTER","PAGE_LOADED","PAGE_LOADING","ROUTING_CONFIG","APPLICATION_NAME","EXPERIENCE_SEGMENT","INDEX_FOLLOW","NO_INDEX_NO_FOLLOW","NO_INDEX_FOLLOW","MARRIOTT_DEALS","REQUIRED_ASPECT_RATIO","ASSET_VARIATION_ICON","IMPERIAL","CAMPAIGN_ACTIVE","CAMPAIGN_INACTIVE","CHINESE_LANG","BREAKPOINT_TABLET","extractValue","str","strDelimeter","startIndex","firstHashIndex","secondHashIndex","cookieString","cookieName","mbox","cookie","str1","cookies","decodeURIComponent","cookievalue","strValue","getCookieValue","MBOX_COOKIE","ADOBE_COOKIE","BREAKPOINT_DESKTOP","ASPECT_RATIO","Wide","Feature","Classic","Pano","Square","IMG_TYPE_JPG","FALLBACK_IMG_URI","FALLBACK_CN_IMG_URI","playServicePath","autoSuggestionLocationDetailsAPI","searchFormDataAPI","searchFormDefaultActionURLSPO","searchFormDefaultActionURL","searchFormGroupActionURL","searchFormMeetingURL","MAX_OFFERS_COUNT","FALLBACK_OFFERS_COUNT","API_TIMEOUT","OFFERS_BASE_URL","imageDomain","IMAGE_CACHE_DOMAIN","getFallbackImg","imgAspectRatio","aspectRatio","content","MARRIOTT_DOMAIN_CN","addSubDirectoryPrefix","SUBDIRECTORY_PREFIX","findNthOccurence","nth","checkEliteUser","rewardMemberLevel","isEliteUser","memberLevel","match","edgeValue","stateCode","isStateEnabled","isCountryEnabled","isPOI","limit","offset","participatingPropertiesLimit2","sort","field","atCCeVar48","impressionEventType","merchandisingCategory","additionalTrackingVariables","payloadType","compName","enableScrollingBehavior","cardLocation","leftArrowDesc","rightArrowDesc","modelProp","isCoBrand","MEMBER_EXCLUSIVE","processOfferCarousel","isRecipeEliteExclusive","cardType","isPreview","count","offersData","cardKeys","imageDomainVal","offerMap","isMemberExclusive","imageUri","imageUriLg","sizeParams","baseUri","image","isMerchandisingOffer","parentOfferType","MERCHANDISING_OFFER","eyeBrowText","descriptionTeaser","propertiesCount","propertyName","eyebrow","MemberExclusive","badgeText","offerCategory","memberExclusive","cardLocDetails","cardTrackingTag","catalogId","cardTrackingOfferType","isCardVertical","CARDSTYPE_VERTICAL","cardObj","cardVerticalVariations","CardVerticalVariations","Tall1x1","ctaLinkText","readMore","Standard","cardLayeredVariations","LAYERED_WIDE","CARD_LAYERED_WIDE","CARD_LAYERED_VARIATION","cardlayered_copy","header","cardTheme","headerTag","IMPRESSION_TRACK","badgeIcon","imgAltText","IMAGE_ALT_TEXT","fileReferenceImage","damPath","MERCHANDISING_CATEGORY","ctaLink","makeDomainSpecificContent","ctaUrl","logoIcon","openInNewTab","uxlData","isFallback","experienceId","destinationName","concatenatedOfferIds","fallbackOffers","offerCollection","offersSearchByArea","edges","offersSearchByGeolocation","offersCarousel","maxOffersCount","ASPECT_RATIO_UXL_FIELD_MAPPING","imageRatio","ASPECT_RATIO_WIDE","ASPECT_RATIO_SQUARE","isChinaDomain","defaultOffers","offer","node","objKey","primaryImageSrc","primaryImage","isValidCnImg","fallbackImg","DACImagePath","imageUrl","keyData","photos","images","participatingProperties","properties","numProperties","queryData","defaultOffersReceipe","noOfCards","DESTINATION_OFFERS_RECIPE","getTargettingCriteria","workspaceId","isRecipePropNonStayOffers","propsMarshCode","resortRequestVariables","edgeHost","modifiedDataLayerPayload","targetingCriteria","propertyIds","generateRequestVariables","OFFER_CAROUSEL_CHANNEL","sourceUrl","OFFER_CAROUSEL_URL_REFERRER","searchCriteria","offersSearchInputVar","optimizedOffersInput","urlReferrer","isIncludeGatedOffer","CardCarousel","datalayerPayload","acceptLanguage","DestinationDetails","useSession","city","openInaNewTabStr","cardsType","offersRecipe","isOfferRecipeNone","OFFER_RECIPE_NONE","OFFER_RECIPE_PROPERTY_NON_STAY","listjson","fallbackOfferIdsList","offerslistjson","object","offersId","offerResult","setResultOffer","cardCount","setCardCount","dataLayerOnLoad","setDataLayerOnLoad","setKeys","moreCTALink","setMoreCTALink","isMobileViewPort","setIsMobileViewPort","useGetBreakpoint","acceptLang","isNonEmptyString","DEFAULT_ACCEPT_LANGUAGE","timestamp","useId","dataLoaded","OFFER_RECIPE_ELITE_EXCLUSIVE","cookieSearchCriteria","sessionId","getMbopCookie","OffersCardCarouselSkeletonLoader","lazy","GetCarouselUXLMockJson","CARD_SQUARE","isWcmModeDisabledFlag","getWCMModeFlagValue","RESORT_OFFERS_RECIPE","checkIsWCMModeResortOffers","dataElements","at_property","settings","call","getEdgeHost","regionControl","resortTypes","activities","destinationRequestVariables","generateUXLVariablesForDestination","objectToArray","offersSearchInput","queries","_fields","MCMID","requestVariables","fallbackRequestVariables","getDestinationOffersQuery","PhoenixDestinationOffersSearchByArea","PhoenixDestinationOffersSearchByGeolocation","queryGQ","phoenixOfferPreview","phoenixOffersCarousel","isDataLoading","errorPolicy","OFFER_CAROUSEL_ERROR_POLICY","offerPreviewId","offerId","onCompleted","checkNoDataAvailable","loadFallbackQuery","processUxlData","updatedMoreCTALink","reformPreviewResponse","CarouselMockUXL","Authorization","fallbackComplete","_fallbackResults","_fallbackError","called","fallbackCalled","isLazyLoading","useLazyQuery","phoenixOffersFallbackOffers","offerPreview","handleResize","GetOfferCardsInAuthorMode","CarouselUXLMock","fetchData","allowedComponents","path","carouselHeaderText","StyledOfferCarouselContainer","Suspense","fallback","numberOfCards","CardCarouselContainer","headerText","mobileTitle","subHeaderText","ctaLabel","ctaType","totalNumberOfCards","trackingPropertiesObj","wcmMode","noOfCardsTablet","NO_OF_CARDS_TABLET","VARIATION_INVERSE","isControlType2","OfferCardCarousel","OfferCardCarouselWrapperConfig","StyledOfferCardsDivPreviewMode","OfferCardCarouselWrapper","StyledLocalServicesMenu","brandedBackgroundColor","neutral10","LocalServicesMenu","localServicesCount","setLocalServicesCount","services","setServices","dinningRestaurants","setDinningRestaurants","restaurantsTitle","restaurantsURL","showDinningModal","setshowDinningModal","setModalBody","scrollPosition","setScrollPosition","firstdiningMenuRef","sessionStorage","getItem","spaData","dinningData","service","isOrderFoodAndBeverageByMobileSupported","localServiceConstants","foodAndBeverage","onProperty","bookNowURL","fnBorderingURL","foodBeverageCard","foodBeverageCtaLink","serviceIcons","iconDining","fnbTitle","spa","edge","iconSpa","spaTitle","golfReservationURL","golf","iconGolf","golfTitle","restaurants","reservationURL","dinning","iconDiningChopsticks","diningTitle","restaurant","Glide","bound","startAt","rewind","gap","keyboard","autoplay","hoverpause","perView","peek","before","after","breakpoints","mount","ArrowDisabler","Components","on","controlItem","Controls","items","Sizes","handleClick","preconnect","connect","initLetsGetConnected","setItem","open","closeDinningModal","data-items","data-desktopperview","data-tabletperview","data-mobileperview","data-desktoprightpeak","data-tabletrightpeak","data-mobilerightpeak","data-glide-el","data-glide-dir","diningModalTitle","$glideBulletBgColor","$activeGlideBulletBgColor","StyledLocalServicesCards","servicesCards","setServicesCards","servicesCardsCount","setServicesCardsCount","currentSlideIndex","setCurrentSlideIndex","direction","disableImageModifier","isTabletAndAboveViewPort","isDesktopAndAboveViewPort","DESKTOP_VIEWPORT_PER_VIEW","TABLET_VIEWPORT_PER_VIEW","MOBILE_VIEWPORT_PER_VIEW","spaImages","addImagePref","calculateRenditions","serviceCards","updatedServiceCards","serviceCard","imageQueryParamsAmenities","imageQueryParamsAmenity","foodBeverageCardLabel","foodBeverageTitle","foodBeverageDescription","foodBeverageImageSrc","foodBeverageCtaLabel","reservations","reservationImages","restaurantImageValidation","diningReservationsCard","AEMDinningImages","reservation","hasImage","diningCardLabel","diningFallbackImage","diningCtaLabel","SpaImageValidation","spaCard","photoGallery","spaFallbackImage","spaCardLabel","spaCtaLabel","epicgolfCardList","golfCard","golfCardLabel","dynamicServiceCardImage","golfFallbackImage","golfCtaLabel","updatedCards","glide","destroy","getImageLoadingType","imageIndex","getRTLClass","dir","rendition","ren","AEMImages","uxlArray","reservationImg","fill","uxlItem","productIdIndex","aem","productId","splice","percentage","maxpercentage","altTextIndex","uxlIndex","fuzzySearch","_reservation","uxlLogic","selectedUXLItem","caption","imageConnection","isPrimaryServices","defaultImage","updatedName","common_words","updatedAltText","prep","b","bg1","bigrams","bg2","c1","c2","combined","Set","reduce","t","max","c","xs","x","cardSkeletonComponent","cardCarouselComponent","heading","data-cards","h4","localServiceAnalyticsTrackConstant","linkType","LocalServices","phoenixPpv5Services","localServicesMockUXL","LocalServicesCards","LocalServicesConfig","StyledLetsConnect","LetsConnect","continueButtonRef","setModalTitle","letsConnectTitle","letsConnectDescription","letsConnectSubDescription","data-dialog-id","letsConnectButton","letsConnectTertiaryButton","youAreConnectedTitle","youAreConnectedDescription","youAreConnectedSubDescription","continueButtonHandle","youAreConnectedButton","youAreConnectedTertiaryButton","LetsConnectConfig","StyledBonvoyApplicationAd","BonvoyApplicationAd","getElementsByClassName","BonvoyApplicationAdConfig","StyledJoinBanner","JoinBanner","returnURL","updateReturnUrl","setUpdateReturnUrl","topSpacing","setTopSpacing","bannerLayeredModel","secondaryCtaLink","custom_click_track_value_primary","JoinBannerConfig","StyledMMNComponent","MMNComponent","bottomspacing","topspacing","posidesktop","posidmobile","dcnid","data-pos-id-desktop","data-pos-id-mobile","data-dcn-id","MMNComponentConfig","StyledPropertyPortalMerchandising","targetContent","componentProps","setTargetContent","getOffersData","responseItem","getOffers","cardCarousel","cqType","subTitleText","isAuthor","StyledPropertyPortalExperienceFragment","PropertyPortalExperienceFragment","getExperienceFragmentComponent","experienceFragmentComponent","cardHorizontalMini","bannerLayered","mmnContainer","offers","canUseDOM","headersData","universalFooter","PropertyPortalMerchandising","responsive","h2","getComponent","itemsOrder","component","StyledPropertyPortalContainer","PropertyPortalContainer","mac","showContainer","setShowContainer","hideMerchandising","setHideMerchandising","PropertyPortalContainerWrapper","experiencefragment","letsConnect","staticwrapper","serviceCarousel","productSpecificResponse","brandConfigCard","brandConfigCards","doHide","selectedStates","brandConfigCardMatch","isMAC","updatedUserSegment","stateSelector","brandStateMatch","selectorBrandCodes","brandCodeMatch","brandMarshaCodes","marshaCodeMatch","brandSelectVisibilityMarsha","showPropertyPortalContainer","PropertyPortalConfig","AEM_REACT_MAPPING","StaticWrapper","LocalHeaderEditable","HeroBannerEditable","ConnectContainerEditable","InternetBarEditable","AccuWeatherEditable","PropertyPortalContainerEditable","LocalServicesEditable","LetsConnectEditable","MMNComponentEditable","JoinBannerExperienceEditable","Heading","BonvoyApplicationAdEditable","readyToMount","existingMappings","mapping","baseModelPath","componentPath","CustomModelClient","ModelClient","modelPath","Promise","reject","err","apiHost","AuthoringUtils","catch","resolve","pageModel","createPageModelStore","initProps","createStore","setPageModel","updateComponent","componentKey","produce","draft","PageModelContext","createContext","$","jQuery","modelClient","ModelManager","NEXT_PUBLIC_AEM_HOST","App","Component","components","respGridModel","store","initialPageModel","rtlPluginTs","args","rtlPlugin","setEnvVars","envVars","PPv5","defineComponentMapping","defineProperty","UserSessionProvider","StyleSheetManager","stylisPlugins","rtlEnable","StyledLanguageSelector","sm","smallMobile","useWindowSize","useLanguageSelectorContext","setIsOpen","toggleHandler","isObject","o","sortJSON","regionData","GLOBAL_NAV","setPopupOpenState","StyledModalHeader","StyledModalBody","LinksCollection","linkListData","headingClassName","listCollectionClassname","listItemClassName","hasIconArrow","StyledBorder","CardCarouselContainerConfig","enableTabletBreakpoint","isRTL","updateAEMCQKeys","isCombo","mapper","AEMReactCompMap","pageWcmMode","updateStyleComponent","observer","MutationObserver","mutations","mutation","attributeName","currWcmMode","observe","attributes","disconnect","authorCardWrapper","columnCount","PublishCardWrapper","prototype","itemType","pop","innerComp","module","customAttributes","CardCarouselContainerMolecule","isDirectionRightToLeft","CardCarouselContainerComp","componentName","standard","inverse","alternate","CarouselEditableComponent","StyledSection","StaticWrapperReact","StaticWrapperConfig","StaticWrapperEditable","INTERNAL","EXTERNAL","labelOverride","TRACKING_SEARCH_URL","HOTEL_LOGO_ALT_TEXT","DEFAULT_COUNTRY","APAC_COUNTRY","iconText","in_stay","upgrade","upgraded","mboxParam","offerResponse","adobe","request","MCMID_COOKIE","marketingCloudServer","marketingCloudServerSecure","cookie_mi_site","request_id","browser_akamai_loc_country","env_date_time","env_is_prod","env_platform","env_server_id","env_site_id","page_requested_uri","page_url_query_string","browser_akamai_loc_lat","browser_akamai_loc_long","browser_akamai_loc_city","cookie_personalization_guid","device_language_preferred","env_language","site_id","bot_cookie_info","browser_akamai_loc_state","previous_page","personalization","miCnSite","miSite","merchViewed","miVisitor","altCustId","mr_id_alternate","session_jsession_id","cookie_mi_visitor","NEXT_PUBLIC_DYNAMIC_ROUTING_URL","SESSION_APP_CALL_URL","NEXT_PUBLIC_FEATURE_FLAG_URL","getProcessEnvs","processENV","envTag","envObject","transformToCQ","propKey","tempKey","getOwnPropertyNames","populatePIdataLayer","sessionDataObj","isEnableWebSDK","piObj","memState","isAnonymousUser","val","entries","dataLayerFilterList","cookieNames","oldDataLayer","cname","ca","cnameValue","fromEntries","v","getEnvProp","__NEXT_DATA__","LoggerClass","PERF_LOGGING_ENABLED","Logger","loggerName","enableLogger","localStorage","getTimeStampFormat","warn","info","debug","toISOString","constructor","identifiers","PerfLogger","getOpsTime","start","end","isPerfLoggingEnabled","self","nextTick","logger","ids","getLogger","pLog","getCurrentDateTime","dayjs","utc","getCurrentLocale","propertyResolver","getEnvServerId","COOKIE_KEYS","getCountryFromLocale","currentLocale","currentCountry","headerValue","pair","country_code","region_code","getDatalayerAttrList","datalayerAttrList","referrer","personalizationCookie","substringAfterGuid","decodedValue","substringAfterColon","finalvalue","getPromoSpecialOfferId","pathname","AriesCommon","promo_special_offer_id","AriesSearch","marrOfferId","wsErrors","AriesErrors","API_PREFIX","errorString","errorObj","getStandardizedAPIEndPoint","apiName","statusCode","wsErrorCode","apiEndpoint","standardizedAPIEndPoint","apiToken","Boolean","processWSURITokens","outlierAPIEndpoint","outlierAPIEndpointAfterFirstDynamicIndex","isDynamicSegment","test","segment","getPageUrlPathBranch","pageURI","resolvedUrl","getCommonKeys","xHost","cookie_merchViewed","getCookiePersonalizationGuid","env_api_tile_error_info","env_site_name","getAriesErrorObj","page_domain_name","page_type","page_url_path_branch","datalayerValueGenerator","akamaiLocationAttrs","getEnvSiteId","getPreviousPageUrl","getFilteredDataLayerValues","valueGenerator","includePiData","getAkamaiLocationAttrs","akamaiHeader","datalayerObj","defaultValue","dataLayerCanBeNullList","piDataLayerObj","commonKeysObj","serverDataLayer","addMissingDataLayerElements","newDataLayer","fillMissingElements","dataLayerIgnoreList","getDatalayerObject","includeStaticElements","skipOldDatalayer","updateServerSession","requestID","sessionHeaders","Headers","append","createOrUpdate","clientTimeStamp","ok","getSessionStoreData","Error","nestedSessionData","xRequestId","serverData","largestTimeStamp","session","syncedWithServer","serverSyncLocalStorage","valueObj","lastUpdatedNumber","lastUpdated","sessionStr","removeItem","setSyncedWithServer","synced","updateSession","merge","persistentStoreName","devToolsName","customStorage","onRehydrateStorage","browserData","sessionToken","enableWebSDK","browserDataStr","sessionStoreData","browserTimeStamp","serverTimeStamp","getMvpOffersData","PageURI","UserSessionContext","updateDatalayer","getDatalayer","setDatalayer","setMvpOffers","isCompleted","setIsCompleted","useUserSessionStore","updateSessionStore","payload","adobeDataLayer","skipDatalayerUpdate","mvpOffersData","initialize","contextValue","displayName","AuthStateEnum","pathName","paramWcmMode","isWCM","crypto","randomBytes","readUInt32LE","array","Uint32Array","getRandomValues","clientEnvVarsStore","mergeEnvVars","updateEnvVar","addMiddleWares","creator","useLocalStorage","skipHydration","wrapperCreator","rest","persist","storage","createJSONStorage","immer","initState","create","forwardRef","buttonCopy","isTextBeforeChildren","linkAriaLabelOpenNewWindow","ariaExpanded","ariaRole","ariaDescribedBy","COBRAND_NON_POINTS_MATH","TARGET_BLANK","trackingProps","clickTrackValSeparator","trackImpression","preTrackVal","ariaLabelCopy","renderLink","data-tracking-content-position","data-tracking-offer-type","data-at-c-ce-var48","data-tracking-description","data-tracking-tag","data-comp-name","data-is-co-brand","data-is-impression-track","data-is-impression-count","data-additional-tracking-variables","aria-expanded","data-is-auth","isAuth","data-is-dca-enabled","isDCAEnabled","aria-describedby","Eyebrow","StyledTag","Tag","medium","titleText","clickTrackingLoc","disableCustomClickTrack","dangerouslySet","containerRef","updateAnchorAriaLabels","container","anchorTag","parentSpan","closest","childList","subtree","hasValidClickTrackingLoc","hasValidTitleText","doCustomClickTrack","titleTags","small","h1","subtitleTags","h5","extraLarge","headingType","Icon","iconHref","ariaLive","enableLinkClsName","aria-live","aria-atomic","picture","srcSet","data-srcset","data-src","touchCallback","onTouchEnd","paragraph","trackingDetailArr","pre","SIMPLE","OPEN_IN_NEW_TAB","NO_OPENER","NO_REFERER","DEFAULT","IMG_ALT_TEXT","HOMEPAGE_HB_16X9_DES_REND2X","HOMEPAGE_HB_16X9_TABLET_REND2X","HOMEPAGE_HB_16X9_MOB_REND2X","HOMEPAGE_HB_3X1_DES_REND2X","HOMEPAGE_HB_3X1_TABLET_REND2X","HOMEPAGE_HB_3X1_MOB_REND2X","DOWNSIZE_PARAM","COBRAND_MATH_HERO_CTA_CLASS","cardCodes","USPC","USBU","USMT","ctaURL","code1","code2","HIO","ctaUrlChasePrefix","ctaUrlChase","ctaUrlAmex","ctaUrlAmexEvergreen","LOCALE_ZH_CN","viewportSize","isGreater","setIsGreater","targetViewportSize","APPLICATION_BREAKPOINTS","useDocumentDirection","setDir","windowSize","setWindowSize","StyledAccordion","enableAccordionSeparator","disableAccInTabletAndDesktop","disableAccInDesktop","css","enableFullWidthHeader","headerAriaLabel","custom_click_track_open_value","custom_click_track_closed_value","disableAccResize","childrenClass","handleHeaderClick","HEADING_SELECTOR","ICON_ARROW_UP","ICON_ARROW_DOWN","setAriaLabel","headingRef","listRef","titleRef","handleAccordionExpand","handleAccordionCollapse","headerElement","acc_body","acc_header","matches","accordionHeaderClick","headerIcon","currentTarget","AccordionHiddenClasses","StyledBannerLayered","scrimGradient","gradient","opacity","primaryCtaText","primaryCtaLink","primaryCtaOpenInNewTab","primaryCtaAriaLabel","tertiaryLinkText","tertiaryLinkUrl","tertiaryLinkOpenInNewTab","tertiaryCtaAriaLabel","secondaryCtaText","secondaryCtaOpenInNewTab","secondaryCtaAriaLabel","iconPath","linkUrl","dynamicMediaMobile","imageLoading","mobileRenditions","hasPrimaryButton","hasSecondaryButton","hasTertiaryLink","isCaptionLink","isMobileImage","CardLinkPrimaryBtnRef","CardLinkTertiaryBtnRef","mQuery","setMQuery","handleScreenResize","mobileSize","tabletSize","StyledCardCarousel","cardsPerView","setCardsPerView","carouselRootSelector","dragThreshold","addArrowEventListener","arrowId","arrow","click","stopImmediatePropagation","buttonCallback","subHeader","cta","eyebrowContent","carouselHeader","carouselComboHeader","innerCompStyleClass","customClassName","publishCardWrapper","data-content","StyledHorzMiniCardContainer","border","borderWidth02","borderStyleDefault","logoResize","fontIcon","FONT_ICON_1_1_SIZE","headerShort","descriptionShort","assetVariation","hideEllipsis","hideDescriptionOnMobile","hideImage","openInAModel","modalHeader","modalDescription","modalLinkText","isBodyCopy","isBodyCopyMobile","CardHorizontalMiniRef","descriptionRTEText","removeParentTagRTE","toggleModal","getCardContent","subtitle","StyledInputTextField","React","setErrorHtml","iconForLabel","iconAriaLabel","iconOnMouseDownCapture","messageToShow","messageClass","errorIconClass","messageFontSize","showBadge","badgeValue","handleKeyDown","inputMaxLength","iconOnClick","icon_custom_click_track_value","infoLabel","withinModal","trailingIconProps","isFocusEnabled","isBlurOn","isClickEnabled","lastElementRef","mandatory","isEmail","customDownshiftLabel","setValue","isErrorBlur","setIsError","isPlaceholderVisible","setPlaceholderVisible","inputId","labelId","handleFocus","ev","handleChange","newValue","handleKeyDownEvent","keyCode","inputBlur","emailRegex","maxLength","required","onMouseDownCapture","StyledLinkCollection","LinksCollectionVariations","alignment","listCollectionClass","linkListClass","linkItemClass","LinksCollectionAlignment","Horizontal","el","idx","linkListClassName","StyledPopupDiv","StyledPopUpContentContainerDiv","alert10","StyledPopupMain","assign","onClose","disableScrollOnBody","popupRef","popupElem","setupFocusTrap","focusableElements","firstFocusableElement","lastFocusableElement","cleanupFocusTrap","clickListener","focusoutListener","relatedTarget","clickListenerForToolTip","aria-labelledby","ModalHeader","ModalBody","ModalFooter","FooterGeneric","ModalFooterGeneric","PopupMain","StyledPopupFooterDiv","StyledApplyButtonDiv","PopupFooter","applyBtnClickHandler","clearClickHandler","setPopUpOpenState","clearButtonLabel","applyLabel","setFeatureSelected","viewRatesURL","fromToolTip","viewRateLabel","applyButtonDisabled","applyBtnClickTrackValue","errorMessageAriaLabel","clearBtnClickTrackValue","clearBtnClassname","onHandleApplyClick","clearButtonHandler","StyledPopupFooterGeneric","actions","fadeEffect","StyledButtonGroup","Children","StyledPopupHeaderDiv","base15","PopupHeader","closeIconClickTrackValue","closeBtnAriaLabel","isDesktop","StyledCloseDiv","StyledRichText","contentEditable","customProps","editableDivRef","tagName","handleContentChange","onInput","VanilaCardCarouselContainer","isCobrandVariant","leftArrowRef","rightArrowRef","leftArrowClickTrackRef","rightArrowClickTrackRef","cleanupFns","addClickTrackListeners","fn","origRef","clickTrackRef","handler","spacers","shadows","mediaQueries","animations","cnColor","baiduButtonColor","styles","vars","varsLowercase","mediaQueryDepricated","largeDesktop","viewportXl","viewportL","viewportM","viewportS","viewportXs","deleteDuplicateValues","baseVars","contextual","baseVals","contextualVars","pixels","parsed","capitalize","arr","word","aemComponent","CookieUtils","getCookie","setCookies","trackPosAndDesc","isImpressionTrack","isClickTrack","dataset","RefCurrent","atCTAclickTrackVal","hasType","currentHref","updatedHref","getDCAHref","updateCTA","getHref","getTrackingProps","atMArray","atmMValue","setMerchImpTrack","trackingVar","tracking","getTrackingProperties","preTrackValue","impressionArr","trackingString","ImpressionEventType","seperator","trackingArr","atCCctaUrl","atCCaltID","atCCmcvID","isDSTFlag","isDST","cardCode","evarWithURL","dataAdditionalTrackingVariables","customClickTrack","queryString","strings","urlParams","params","regex","updateCardParam","toLocaleLowerCase","updateTrackingPropertiesWithDST","getDCAEverGreenHref","atCCrpcCode","URL","atCCctaUrlVersion","cell","spid","rpcCode","offerCode","protocol","hostname","listOfQueries","queriesAddedByUXl","searchParams","queryParam","delete","encodedQueryString","ctemp","cvalue","atCArray","currentURL","some","isChase","tempClickTrackArr1","tempClickTrackArr2","tempURLarr","tempURL","oldAmexOfferID","tempClickTrack","tempClickTrackArr3","addDSTValues","clickTrackVal","updatedOfferCode","tempClickTrackArr4","BadgeVariation","Themes","LinkTargetType","TypographyColorVariations","ButtonStyle","RZ","deskTopSize","EB","JW","AK","BR","GE","CY","RI","SH","FI","TS","PR","OX","LC","WI","SI","MD","TX","DS","AL","HV","RCR","BG","trc","reserve","MG","WV","SV","BA","WH_word_mark","ENTER","TAB","ESCAPE","ARROW_UP","ARROW_DOWN","ARROW_RIGHT","ARROW_LEFT","SPACEBAR","ImageAspectRatio","FONT_ICON_CARD_LAYRED_LOGO_SIZE","XR","WH","DE","MC","AR","EL","RS","XE","XF","SN","FP","ER","FONT_ICON_PORTFOLIO_LOGO_SIZE_D135_M90","edition","jw","renaissance","gaylord","courtyard","moxy","westin","sheraton","aloft","hvmi","mg","rcr","ba","marriott","mvc","xe","xf","rs","escape","SEE_MORE","SEE_LESS","DOC_DIR","textRTE","lastIndexOf","getEventKeyTypes","KEY_BOARD_EVENTS","isEnterKey","isTabKey","isEscapseKey","isUpArrowKey","isDownArrowKey","isRightArrowKey","isLeftArrowKey","isSpaceBarKey","throttle","func","delay","timeoutId","lastExecTime","currentTime","elapsedTime","cqKeyMap","aemModelObj","updatedObject","updatedKey","inputString","generateLogoStyle","logoRatio","ratio","sameMobileTabletView","noSSR","isServerSide","convertModule","LoadableInitializer","loadableOptions","webpack","modules","Loading","isLoading","pastDelay","timedOut","dynamicOptions","loadableFn","Loadable","loader","loaderFn","loadableGenerated","ssr","LoadableContext","ALL_INITIALIZERS","READY_INITIALIZERS","initialized","load","promise","createLoadableComponent","loadFn","opts","subscription","init","sub","LoadableSubscription","getCurrentValue","bind","subscribe","retry","moduleIds","moduleId","useLoadableModule","moduleName","LoadableComponent","useSyncExternalStore","useImperativeHandle","preload","_res","_clearTimeouts","_loadFn","_opts","_state","res","_delay","_update","_timeout","partial","_callbacks","flushInitializers","initializers","promises","all","preloadAll","resolveInitializers","preloadReady","resolvePreload","__NEXT_PRELOADREADY"],"sourceRoot":"","ignoreList":[2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,367,368,422,423,424,426,427,428,429,430,431,432,433,434,435,436,437,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526]}