{"version":3,"sources":["jsdelivr-header.js","/npm/@razorpay/i18nify-js@1.12.8/lib/cjs/index.js"],"names":[],"mappings":"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IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,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O,+EACP,KAAO,mKACP,KAAO,wCACP,KAAO,+BACP,KAAO,gBACP,KAAO,kFACP,KAAO,+BACP,KAAO,mIACP,KAAO,sBACP,KAAO,0BACP,KAAO,iBACP,KAAO,+BACP,KAAO,yBACP,KAAO,+BACP,KAAO,uBACP,KAAO,qCACP,KAAO,uDACP,KAAO,GACP,KAAO,0FACP,KAAO,UACP,KAAO,gBACP,KAAO,iDACP,KAAO,gBACP,KAAO,wBACP,KAAO,6BACP,KAAO,wBACP,KAAO,wBACP,KAAO,gCACP,KAAO,+BACP,KAAO,4BACP,KAAO,0BACP,KAAO,qCACP,KAAO,sHACP,KAAO,qEACP,KAAO,qEACP,KAAO,2CACP,KAAO,eACP,KAAO,2BACP,KAAO,8BACP,KAAO,gBACP,KAAO,gDACP,KAAO,aACP,KAAO,iEACP,KAAO,kDACP,KAAO,mCACP,KAAO,2BACP,KAAO,qCACP,KAAO,cACP,KAAO,oBACP,KAAO,gCACP,KAAO,2BACP,KAAO,kCACP,KAAO,yCACP,KAAO,6CACP,KAAO,oCACP,KAAO,cACP,KAAO,6CACP,KAAO,oCACP,KAAO,0BACP,KAAO,cACP,KAAO,cACP,KAAO,qCACP,KAAO,2EACP,KAAO,cACP,KAAO,iCACP,KAAO,+BACP,KAAO,GACP,KAAO,oCACP,KAAO,cACP,KAAO,6BACP,KAAO,gMACP,KAAO,4BACP,KAAO,uBACP,KAAO,iDACP,KAAO,6BACP,KAAO,+BACP,KAAO,iCACP,KAAO,+BACP,KAAO,mCACP,KAAO,kDACP,KAAO,6BACP,KAAO,qBACP,KAAO,6BACP,KAAO,0BACP,KAAO,GACP,KAAO,+EACP,KAAO,yBACP,KAAO,sDACP,KAAO,4BACP,KAAO,wBACP,KAAO,uDACP,KAAO,+EACP,KAAO,wCACP,KAAO,oCACP,KAAO,sDACP,KAAO,oCACP,KAAO,gDACP,KAAO,8FACP,KAAO,+BACP,KAAO,0DACP,KAAO,oCACP,KAAO,qCACP,KAAO,qCACP,KAAO,2DACP,KAAO,mDACP,KAAO,iCACP,KAAO,2GACP,KAAO,kCACP,KAAO,wBACP,KAAO,6CACP,KAAO,wBACP,KAAO,4BACP,KAAO,4BACP,KAAO,mDACP,KAAO,cACP,KAAO,oCACP,KAAO,+BACP,KAAO,yEACP,KAAO,kCACP,KAAO,aACP,KAAO,oCACP,KAAO,iCACP,KAAO,2CACP,KAAO,eACP,KAAO,wCACP,KAAO,kCACP,KAAO,iCACP,KAAO,4BACP,KAAO,uCACP,KAAO,qCACP,KAAO,cACP,KAAO,2BACP,KAAO,6BACP,KAAO,wBACP,KAAO,2BACP,KAAO,oCACP,KAAO,+BACP,KAAO,cACP,KAAO,mBACP,KAAO,oEACP,KAAO,eACP,KAAO,mCACP,KAAO,+BACP,KAAO,+EACP,KAAO,+BACP,KAAO,0FACP,KAAO,8BACP,KAAO,gBACP,KAAO,uEACP,KAAO,yBACP,KAAO,aACP,KAAO,gBACP,KAAO,8BACP,KAAO,0BACP,KAAO,6CACP,KAAO,kKACP,KAAO,iCACP,KAAO,iCACP,KAAO,oDACP,KAAO,mDACP,KAAO,uDACP,KAAO,wBACP,KAAO,kDACP,KAAO,GACP,KAAO,wDACP,KAAO,oCACP,KAAO,4BACP,KAAO,iDACP,KAAO,wBACP,KAAO,qCACP,KAAO,yBACP,KAAO,iCACP,KAAO,iCACP,KAAO,uBACP,KAAO,2BACP,KAAO,+BACP,KAAO,iCACP,KAAO,iCACP,KAAO,+BACP,KAAO,gDACP,KAAO,0BACP,KAAO,oBACP,KAAO,+BACP,KAAO,wBACP,KAAO,wGACP,KAAO,kCACP,KAAO,0BACP,KAAO,+CACP,KAAO,sCACP,KAAO,yCACP,KAAO,mCACP,KAAO,0BACP,KAAO,uDACP,KAAO,yBACP,KAAO,GACP,KAAO,aACP,KAAO,cACP,KAAO,cACP,KAAO,aACP,KAAO,6BACP,KAAO,gCACP,KAAO,0EACP,KAAO,uBACP,KAAO,2BACP,KAAO,+CACP,KAAO,iBACP,KAAO,4BACP,KAAO,6CACP,KAAO,oCACP,KAAO,cACP,KAAO,iBACP,KAAO,oDACP,KAAO,2BACP,KAAO,iBACP,KAAO,iDACP,KAAO,wBACP,KAAO,+BACP,KAAO,yBACP,KAAO,qCACP,KAAO,yBACP,KAAO,yDACP,KAAO,qCACP,KAAO,GACP,KAAO,sBACP,KAAO,iDACP,KAAO,+BACP,KAAO,qCACP,KAAO,uCACP,KAAO,mDACP,KAAO,+BACP,KAAO,8BACP,KAAO,qCACP,KAAO,cACP,KAAO,+BACP,KAAO,oCACP,KAAO,wHACP,KAAO,gDACP,KAAO,+CACP,mBAAqB,CACxB,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,SAAU,sBACV,QAAS,GACT,QAAS,GACT,QAAS,GACT,SAAU,GACV,SAAU,GACV,SAAU,GACV,SAAU,GACV,SAAU,IAGP,qBAAuB,CAC1B,EAAK,CACJ,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MAED,EAAK,CACJ,KACA,MAED,GAAM,CACL,MAED,GAAM,CACL,MAED,GAAM,CACL,MAED,GAAM,CACL,MAED,GAAM,CACL,MAED,GAAM,CACL,MAED,GAAM,CACL,MAED,GAAM,CACL,MAED,GAAM,CACL,KACA,MAED,GAAM,CACL,MAED,GAAM,CACL,MAED,GAAM,CACL,MAED,GAAM,CACL,KACA,SACA,SACA,SACA,SACA,SACA,KACA,KACA,MAED,GAAM,CACL,MAED,GAAM,CACL,MAED,GAAM,CACL,KACA,KACA,MAED,GAAM,CACL,MAED,GAAM,CACL,MAED,GAAM,CACL,MAED,GAAM,CACL,MAED,GAAM,CACL,MAED,GAAM,CACL,MAED,GAAM,CACL,MAED,GAAM,CACL,MAED,GAAM,CACL,MAED,GAAM,CACL,MAED,GAAM,CACL,MAED,GAAM,CACL,KACA,KACA,MAED,GAAM,CACL,MAED,GAAM,CACL,MAED,GAAM,CACL,KACA,MAED,GAAM,CACL,MAED,GAAM,CACL,MAED,GAAM,CACL,MAED,GAAM,CACL,MAED,GAAM,CACL,MAED,GAAM,CACL,MAED,GAAM,CACL,MAED,GAAM,CACL,MAED,GAAM,CACL,MAED,GAAM,CACL,MAED,GAAM,CACL,MAED,GAAM,CACL,MAED,GAAM,CACL,MAED,IAAO,CACN,MAED,IAAO,CACN,KACA,MAED,IAAO,CACN,MAED,IAAO,CACN,MAED,IAAO,CACN,MAED,IAAO,CACN,MAED,IAAO,CACN,MAED,IAAO,CACN,MAED,IAAO,CACN,MAED,IAAO,CACN,MAED,IAAO,CACN,MAED,IAAO,CACN,MAED,IAAO,CACN,MAED,IAAO,CACN,MAED,IAAO,CACN,MAED,IAAO,CACN,MAED,IAAO,CACN,MAED,IAAO,CACN,MAED,IAAO,CACN,MAED,IAAO,CACN,MAED,IAAO,CACN,MAED,IAAO,CACN,MAED,IAAO,CACN,MAED,IAAO,CACN,MAED,IAAO,CACN,MAED,IAAO,CACN,MAED,IAAO,CACN,MAED,IAAO,CACN,MAED,IAAO,CACN,MAED,IAAO,CACN,MAED,IAAO,CACN,MAED,IAAO,CACN,MAED,IAAO,CACN,MAED,IAAO,CACN,MAED,IAAO,CACN,MAED,IAAO,CACN,MAED,IAAO,CACN,MAED,IAAO,CACN,MAED,IAAO,CACN,MAED,IAAO,CACN,MAED,IAAO,CACN,MAED,IAAO,CACN,MAED,IAAO,CACN,MAED,IAAO,CACN,MAED,IAAO,CACN,MAED,IAAO,CACN,KACA,KACA,UAED,IAAO,CACN,MAED,IAAO,CACN,MAED,IAAO,CACN,MAED,IAAO,CACN,MAED,IAAO,CACN,MAED,IAAO,CACN,MAED,IAAO,CACN,MAED,IAAO,CACN,MAED,IAAO,CACN,MAED,IAAO,CACN,MAED,IAAO,CACN,MAED,IAAO,CACN,MAED,IAAO,CACN,MAED,IAAO,CACN,MAED,IAAO,CACN,MAED,IAAO,CACN,MAED,IAAO,CACN,MAED,IAAO,CACN,MAED,IAAO,CACN,MAED,IAAO,CACN,MAED,IAAO,CACN,KACA,MAED,IAAO,CACN,MAED,IAAO,CACN,MAED,IAAO,CACN,MAED,IAAO,CACN,MAED,IAAO,CACN,MAED,IAAO,CACN,MAED,IAAO,CACN,MAED,IAAO,CACN,MAED,IAAO,CACN,MAED,IAAO,CACN,MAED,IAAO,CACN,MAED,IAAO,CACN,MAED,IAAO,CACN,MAED,IAAO,CACN,MAED,IAAO,CACN,MAED,IAAO,CACN,MAED,IAAO,CACN,MAED,IAAO,CACN,MAED,IAAO,CACN,MAED,IAAO,CACN,MAED,IAAO,CACN,MAED,IAAO,CACN,KACA,MAED,IAAO,CACN,MAED,IAAO,CACN,MAED,IAAO,CACN,MAED,IAAO,CACN,MAED,IAAO,CACN,MAED,IAAO,CACN,MAED,IAAO,CACN,MAED,IAAO,CACN,MAED,IAAO,CACN,MAED,IAAO,CACN,KACA,KACA,KACA,MAED,IAAO,CACN,MAED,IAAO,CACN,MAED,IAAO,CACN,MAED,IAAO,CACN,MAED,IAAO,CACN,MAED,IAAO,CACN,MAED,IAAO,CACN,MAED,IAAO,CACN,MAED,IAAO,CACN,KACA,KACA,QACA,QACA,SAED,IAAO,CACN,MAED,IAAO,CACN,KACA,MAED,IAAO,CACN,MAED,IAAO,CACN,MAED,IAAO,CACN,MAED,IAAO,CACN,MAED,IAAO,CACN,MAED,IAAO,CACN,MAED,IAAO,CACN,MAED,IAAO,CACN,MAED,IAAO,CACN,MAED,IAAO,CACN,MAED,IAAO,CACN,MAED,IAAO,CACN,MAED,IAAO,CACN,MAED,IAAO,CACN,MAED,IAAO,CACN,MAED,IAAO,CACN,MAED,IAAO,CACN,MAED,IAAO,CACN,MAED,IAAO,CACN,MAED,IAAO,CACN,MAED,IAAO,CACN,MAED,IAAO,CACN,MAED,IAAO,CACN,MAED,IAAO,CACN,MAED,IAAO,CACN,MAED,IAAO,CACN,MAED,IAAO,CACN,MAED,IAAO,CACN,MAED,IAAO,CACN,MAED,IAAO,CACN,MAED,IAAO,CACN,MAED,IAAO,CACN,MAED,IAAO,CACN,MAED,IAAO,CACN,MAED,IAAO,CACN,MAED,IAAO,CACN,MAED,IAAO,CACN,MAED,IAAO,CACN,MAED,IAAO,C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,YACL,GAAK,WACL,GAAK,YACL,GAAK,cACL,GAAK,cACL,GAAK,cACL,GAAK,WACL,GAAK,cACL,GAAK,cACL,GAAK,cACL,GAAK,YACL,GAAK,cACL,GAAK,aACL,GAAK,WACL,GAAK,cACL,GAAK,cACL,GAAK,QACL,GAAK,UACL,GAAK,YACL,GAAK,cACL,GAAK,iBACL,GAAK,eACL,GAAK,cACL,GAAK,GACL,GAAK,cACL,GAAK,YACL,GAAK,cACL,GAAK,eACL,GAAK,eACL,GAAK,YACL,GAAK,cACL,GAAK,WACL,GAAK,WACL,GAAK,eACL,GAAK,WACL,GAAK,YACL,GAAK,YACL,GAAK,cACL,GAAK,cACL,GAAK,WACL,GAAK,WACL,GAAK,GACL,GAAK,gBACL,GAAK,YACL,GAAK,YACL,GAAK,eACL,GAAK,WACL,GAAK,cACL,GAAK,iBACL,GAAK,eACL,GAAK,cACL,GAAK,cACL,GAAK,YACL,GAAK,eACL,GAAK,gBACL,GAAK,WACL,GAAK,eACL,GAAK,YACL,GAAK,eACL,GAAK,gBACL,GAAK,aACL,GAAK,SACL,GAAK,cACL,GAAK,eACL,GAAK,cACL,GAAK,eACL,GAAK,cACL,GAAK,YACL,GAAK,aACL,GAAK,cACL,GAAK,eACL,GAAK,gBACL,GAAK,YACL,GAAK,YACL,GAAK,aACL,GAAK,YACL,GAAK,iBACL,GAAK,eACL,GAAK,cACL,GAAK,SACL,GAAK,cACL,GAAK,cACL,GAAK,WACL,GAAK,eACL,GAAK,cACL,GAAK,eACL,GAAK,eACL,GAAK,eACL,GAAK,WACL,GAAK,YACL,GAAK,cACL,GAAK,cACL,GAAK,YACL,GAAK,WACL,GAAK,cACL,GAAK,aACL,GAAK,YACL,GAAK,eACL,GAAK,WACL,GAAK,eACL,GAAK,cACL,GAAK,WACL,GAAK,cACL,GAAK,YACL,GAAK,cACL,GAAK,eACL,GAAK,OACL,GAAK,SACL,GAAK,cACL,GAAK,WACL,GAAK,YACL,GAAK,YACL,GAAK,cACL,GAAK,WACL,GAAK,eACL,GAAK,WACL,GAAK,aACL,GAAK,aACL,GAAK,cACL,GAAK,WACL,GAAK,GACL,GAAK,cACL,GAAK,cACL,GAAK,eACL,GAAK,YACL,GAAK,eACL,GAAK,eACL,GAAK,gBACL,GAAK,aACL,GAAK,eACL,GAAK,OACL,GAAK,WACL,GAAK,WACL,GAAK,eACL,GAAK,WACL,GAAK,WACL,GAAK,WACL,GAAK,cACL,GAAK,YACL,GAAK,cACL,GAAK,eACL,GAAK,YACL,GAAK,WACL,GAAK,aACL,GAAK,YACL,GAAK,WACL,GAAK,cACL,GAAK,YACL,GAAK,QACL,GAAK,cACL,GAAK,eACL,GAAK,GACL,GAAK,eACL,GAAK,cACL,GAAK,cACL,GAAK,cACL,GAAK,WACL,GAAK,aACL,GAAK,gBACL,GAAK,cACL,GAAK,eACL,GAAK,cACL,GAAK,eACL,GAAK,eACL,GAAK,cACL,GAAK,cACL,GAAK,cACL,GAAK,OACL,GAAK,QACL,GAAK,WACL,GAAK,YACL,GAAK,gBACL,GAAK,YACL,GAAK,WACL,GAAK,QACL,GAAK,cACL,GAAK,eACL,GAAK,cACL,GAAK,eACL,GAAK,GACL,GAAK,eACL,GAAK,YACL,GAAK,gBACL,GAAK,WACL,GAAK,gBACL,GAAK,eACL,GAAK,WACL,GAAK,WACL,GAAK,UACL,GAAK,cACL,GAAK,YACL,GAAK,cACL,GAAK,cACL,GAAK,cACL,GAAK,eACL,uBAAyB,CAC5B,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ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zG,IAAI,MAAM,6CAA6C,IAErE,GAEJ,IAAI,cAAgB,kBAAkB,aAEtC,MAAM,0BAA4B,CAC9B,MACA,YACA,MACA,mBACA,OACA,SACA,QACA,cACA,SACA,WACA,UACA,OACA,YAWE,cAAgB,CAAC,EAAM,EAAU,CAAC,KAEpC,MAAM,EAAe,sBAAsB,GACrC,EAAS,UAAU,GACzB,IAEI,MACM,EADiB,IAAI,0CAA0C,EAAQ,EAAQ,aAC/C,cAAc,GAC9C,EAAe,CAAC,EAWtB,OATA,EAAe,SAAS,IAGhB,0BAA0B,SAAS,EAAK,QAExC,EAAa,EAAK,OAAS,EAAa,EAAK,OAAS,IAAM,EAAK,MACrE,IAGG,OAAO,OAAO,OAAO,OAAO,CAAC,EAAG,GAAe,CAAE,SAAU,EAAgB,cAAe,EAAe,KAAK,GAAM,EAAE,QAAO,KAAK,IAAK,KAAM,GACxJ,CACA,MAAO,GAEH,MAAI,aAAe,MACT,IAAI,MAAM,6CAA6C,EAAI,iFAG3D,IAAI,MAAM,6CAA6C,IAErE,GAEJ,IAAI,gBAAkB,kBAAkB,eAExC,MAAM,mBAAqB,0DACrB,eAAiB,sBACjB,oBAAsB,yEACtB,iCAAmC,CAAC,KAAM,KAAM,KAAM,MAEtD,sBAAwB,CAC1B,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,QACA,QACA,QACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,SACA,SACA,SACA,SACA,SACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,SACA,KACA,KACA,KACA,MAGJ,SAAS,eAAe,GACpB,MAAM,EAAc,EAAa,cAEjC,OAAO,sBAAsB,SAAS,EAC1C,CAcA,MAAM,iBAAoB,IACtB,IAAK,eAAe,GAChB,MAAM,IAAI,MAAM,iEAAiE,2KAErF,MAAM,EAAc,EAAa,cACjC,MAAO,CACH,SAAU,GAAG,kBAAkB,QAC/B,MAAO,GAAG,sBAAsB,QACnC,EAEL,IAAI,mBAAqB,kBAAkB,kBAW3C,MAAM,wBAA0B,KAE5B,MAAM,EAA0B,CAAC,EAWjC,OATA,sBAAsB,KAAK,IACvB,MAAM,EAAwB,EAAY,cAE1C,EAAwB,GAAe,CACnC,SAAU,GAAG,kBAAkB,QAC/B,MAAO,GAAG,sBAAsB,QACnC,IAGE,CAAuB,EAElC,IAAI,0BAA4B,kBAAkB,yBAUlD,M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","file":"/npm/@razorpay/i18nify-js@1.12.8/lib/cjs/index.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/@razorpay/i18nify-js@1.12.8/lib/cjs/index.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","'use strict';\n\n// Custom Error class to extend properties to error object\nclass I18nifyError extends Error {\n    constructor(message) {\n        super(message);\n        this.name = 'i18nify Error';\n        this.timestamp = new Date();\n        // more params like type of error/severity can be added in future for better debugging.\n    }\n}\n/**\n * withErrorBoundary is a higher order function that takes function as parameter and wraps it in try/catch block.\n * It appends additional attributes and serves as a centralized error-handling service.\n * Usage =>\n * const wrappedUtilityFn = withErrorBoundary(utilityFn)\n *\n * @param fn utility that is wrapped in error boundary\n * @returns {Function} returns the function wrapped in try/catch block\n */\nconst withErrorBoundary = (fn) => {\n    return function (...rest) {\n        try {\n            return fn.call(this, ...rest);\n        }\n        catch (err) {\n            console.error('[i18nify Error]: ', err);\n            // Currently, we are throwing the error as it is to consumers.\n            // In the future, this can be modified as per our requirement, like an error logging service.\n            throw new I18nifyError(err);\n        }\n    };\n};\n\nfunction getDefaultState() {\n    return {\n        locale: '',\n        direction: '',\n        country: '',\n    };\n}\n\nclass I18nStateManager {\n    constructor() {\n        this.state = getDefaultState();\n    }\n    static getInstance() {\n        if (!I18nStateManager.instance) {\n            I18nStateManager.instance = new I18nStateManager();\n        }\n        return I18nStateManager.instance;\n    }\n    static resetInstance() {\n        I18nStateManager.instance = undefined;\n    }\n    getState() {\n        return Object.assign({}, this.state);\n    }\n    setState(newState) {\n        this.state = Object.assign(Object.assign({}, this.state), newState);\n    }\n    resetState() {\n        this.state = getDefaultState();\n    }\n}\nvar state = I18nStateManager.getInstance();\n\n/**\n * function to return active i18n state\n *\n *  ===== USAGE =====\n * import { getState } from '@razorpay/i18nify-js';\n *\n * console.log(getState())\n *\n * @returns i18n state\n */\nconst getState = () => {\n    return state.getState();\n};\nvar getState$1 = withErrorBoundary(getState);\n\n/**\n * Function to set and override the active state in i18nify SDK\n *\n * ===== USAGE =====\n * import { setState } from \"@razorpay/i18nify-js\";\n * setState({locale: 'en-US'})\n *\n * @param newState data to set in i18nState instance\n */\nconst setState = (newState) => {\n    state.setState(newState);\n};\nvar setState$1 = withErrorBoundary(setState);\n\n/**\n * Function to reset the active state in i18nify SDK\n *\n * ===== USAGE =====\n * import { resetState } from \"@razorpay/i18nify-js\";\n * resetState()\n *\n * @param newState data to set in i18nState instance\n */\nconst resetState = () => {\n    state.resetState();\n};\nvar resetState$1 = withErrorBoundary(resetState);\n\nconst getLocale = (options = {}) => {\n    /** retrieve locale from below areas in order of preference\n     * 1. options.locale (used in case if someone wants to override locale just for a specific area and not globally)\n     * 2. i18nState.locale (uses locale set globally)\n     * 3. navigator (in case locale is not passed or set, use it from browser's navigator)\n     * */\n    let locale = (options === null || options === void 0 ? void 0 : options.locale) || state.getState().locale;\n    // If a specific locale is provided, use it; otherwise, use the browser's locale\n    if (locale) {\n        return locale;\n    }\n    // Check if running in a non-browser environment (e.g., Node.js or older browsers).\n    if (typeof navigator === 'undefined') {\n        return 'en-IN';\n    }\n    // Check if the browser supports the Intl object and user language preferences.\n    if (window.Intl &&\n        typeof window.Intl === 'object' &&\n        (window.navigator.languages || window.navigator.language)) {\n        const userLocales = window.navigator.languages || [\n            window.navigator.language,\n        ];\n        return userLocales[0];\n    }\n    // Fallback to a supported locale or the default locale.\n    return 'en-IN';\n};\n\nconst getIntlInstanceWithOptions = (options = {}) => {\n    const locale = getLocale(options);\n    const intlOptions = (options === null || options === void 0 ? void 0 : options.intlOptions) ? Object.assign({}, options.intlOptions) : {};\n    if ((options === null || options === void 0 ? void 0 : options.currency) || intlOptions.currency) {\n        intlOptions.style = 'currency';\n        intlOptions.currency = (options.currency || intlOptions.currency);\n    }\n    if (!locale)\n        throw new Error(`The provided locale value is invalid. The received value was: ${locale}. Please ensure you pass a correct locale string for proper formatting.`);\n    return new Intl.NumberFormat(locale || undefined, intlOptions);\n};\n\nvar AFN = {\n\tname: \"Afghani\",\n\tminor_unit: \"2\",\n\tsymbol: \"؋\"\n};\nvar EUR = {\n\tname: \"Euro\",\n\tminor_unit: \"2\",\n\tsymbol: \"€\"\n};\nvar ALL = {\n\tname: \"Lek\",\n\tminor_unit: \"2\",\n\tsymbol: \"L\"\n};\nvar DZD = {\n\tname: \"Algerian Dinar\",\n\tminor_unit: \"2\",\n\tsymbol: \"د.ج\"\n};\nvar USD = {\n\tname: \"US Dollar\",\n\tminor_unit: \"2\",\n\tsymbol: \"$\"\n};\nvar AOA = {\n\tname: \"Kwanza\",\n\tminor_unit: \"2\",\n\tsymbol: \"Kz\"\n};\nvar XCD = {\n\tname: \"East Caribbean Dollar\",\n\tminor_unit: \"2\",\n\tsymbol: \"EC$\"\n};\nvar ARS = {\n\tname: \"Argentine Peso\",\n\tminor_unit: \"2\",\n\tsymbol: \"ARS\"\n};\nvar AMD = {\n\tname: \"Armenian Dram\",\n\tminor_unit: \"2\",\n\tsymbol: \"֏\"\n};\nvar AWG = {\n\tname: \"Aruban Florin\",\n\tminor_unit: \"2\",\n\tsymbol: \"Aƒ\"\n};\nvar AUD = {\n\tname: \"Australian Dollar\",\n\tminor_unit: \"2\",\n\tsymbol: \"A$\"\n};\nvar AZN = {\n\tname: \"Azerbaijan Manat\",\n\tminor_unit: \"2\",\n\tsymbol: \"₼\"\n};\nvar BSD = {\n\tname: \"Bahamian Dollar\",\n\tminor_unit: \"2\",\n\tsymbol: \"BSD\"\n};\nvar BHD = {\n\tname: \"Bahraini Dinar\",\n\tminor_unit: \"3\",\n\tsymbol: \".د.ب\"\n};\nvar BDT = {\n\tname: \"Taka\",\n\tminor_unit: \"2\",\n\tsymbol: \"৳\"\n};\nvar BBD = {\n\tname: \"Barbados Dollar\",\n\tminor_unit: \"2\",\n\tsymbol: \"Bds$\"\n};\nvar BYN = {\n\tname: \"Belarusian Ruble\",\n\tminor_unit: \"2\",\n\tsymbol: \"Rbl\"\n};\nvar BZD = {\n\tname: \"Belize Dollar\",\n\tminor_unit: \"2\",\n\tsymbol: \"BZ$\"\n};\nvar XOF = {\n\tname: \"CFA Franc BCEAO\",\n\tminor_unit: \"0\",\n\tsymbol: \"CFA\"\n};\nvar BMD = {\n\tname: \"Bermudian Dollar\",\n\tminor_unit: \"2\",\n\tsymbol: \"BD$\"\n};\nvar INR = {\n\tname: \"Indian Rupee\",\n\tminor_unit: \"2\",\n\tsymbol: \"₹\"\n};\nvar BTN = {\n\tname: \"Ngultrum\",\n\tminor_unit: \"2\",\n\tsymbol: \"Nu.\"\n};\nvar BOB = {\n\tname: \"Boliviano\",\n\tminor_unit: \"2\",\n\tsymbol: \"Bs.\"\n};\nvar BOV = {\n\tname: \"Mvdol\",\n\tminor_unit: \"2\",\n\tsymbol: \"Bs\"\n};\nvar BAM = {\n\tname: \"Convertible Mark\",\n\tminor_unit: \"2\",\n\tsymbol: \"KM\"\n};\nvar BWP = {\n\tname: \"Pula\",\n\tminor_unit: \"2\",\n\tsymbol: \"P\"\n};\nvar NOK = {\n\tname: \"Norwegian Krone\",\n\tminor_unit: \"2\",\n\tsymbol: \"kr\"\n};\nvar BRL = {\n\tname: \"Brazilian Real\",\n\tminor_unit: \"2\",\n\tsymbol: \"R$\"\n};\nvar BND = {\n\tname: \"Brunei Dollar\",\n\tminor_unit: \"2\",\n\tsymbol: \"B$\"\n};\nvar BGN = {\n\tname: \"Bulgarian Lev\",\n\tminor_unit: \"2\",\n\tsymbol: \"лв.\"\n};\nvar BIF = {\n\tname: \"Burundi Franc\",\n\tminor_unit: \"0\",\n\tsymbol: \"FBu\"\n};\nvar CVE = {\n\tname: \"Cabo Verde Escudo\",\n\tminor_unit: \"2\",\n\tsymbol: \"CVE\"\n};\nvar KHR = {\n\tname: \"Riel\",\n\tminor_unit: \"2\",\n\tsymbol: \"៛\"\n};\nvar XAF = {\n\tname: \"CFA Franc BEAC\",\n\tminor_unit: \"0\",\n\tsymbol: \"FCFA\"\n};\nvar CAD = {\n\tname: \"Canadian Dollar\",\n\tminor_unit: \"2\",\n\tsymbol: \"CA$\"\n};\nvar KYD = {\n\tname: \"Cayman Islands Dollar\",\n\tminor_unit: \"2\",\n\tsymbol: \"CI$\"\n};\nvar CLP = {\n\tname: \"Chilean Peso\",\n\tminor_unit: \"0\",\n\tsymbol: \"CLP\"\n};\nvar CLF = {\n\tname: \"Unidad de Fomento\",\n\tminor_unit: \"4\",\n\tsymbol: \"UF\"\n};\nvar CNY = {\n\tname: \"Yuan Renminbi\",\n\tminor_unit: \"2\",\n\tsymbol: \"CN¥\"\n};\nvar COP = {\n\tname: \"Colombian Peso\",\n\tminor_unit: \"2\",\n\tsymbol: \"COL$\"\n};\nvar COU = {\n\tname: \"Unidad de Valor Real\",\n\tminor_unit: \"2\",\n\tsymbol: \"UVR\"\n};\nvar KMF = {\n\tname: \"Comorian Franc\",\n\tminor_unit: \"0\",\n\tsymbol: \"CF\"\n};\nvar CDF = {\n\tname: \"Congolese Franc\",\n\tminor_unit: \"2\",\n\tsymbol: \"FC\"\n};\nvar NZD = {\n\tname: \"New Zealand Dollar\",\n\tminor_unit: \"2\",\n\tsymbol: \"NZ$\"\n};\nvar CRC = {\n\tname: \"Costa Rican Colon\",\n\tminor_unit: \"2\",\n\tsymbol: \"₡\"\n};\nvar HRK = {\n\tname: \"Kuna\",\n\tminor_unit: \"2\",\n\tsymbol: \"kn\"\n};\nvar CUP = {\n\tname: \"Cuban Peso\",\n\tminor_unit: \"2\",\n\tsymbol: \"$MN\"\n};\nvar CUC = {\n\tname: \"Peso Convertible\",\n\tminor_unit: \"2\",\n\tsymbol: \"CUC$\"\n};\nvar ANG = {\n\tname: \"Netherlands Antillean Guilder\",\n\tminor_unit: \"2\",\n\tsymbol: \"ƒ\"\n};\nvar CZK = {\n\tname: \"Czech Koruna\",\n\tminor_unit: \"2\",\n\tsymbol: \"Kč\"\n};\nvar DKK = {\n\tname: \"Danish Krone\",\n\tminor_unit: \"2\",\n\tsymbol: \"kr\"\n};\nvar DJF = {\n\tname: \"Djibouti Franc\",\n\tminor_unit: \"0\",\n\tsymbol: \"Fdj\"\n};\nvar DOP = {\n\tname: \"Dominican Peso\",\n\tminor_unit: \"2\",\n\tsymbol: \"RD$\"\n};\nvar EGP = {\n\tname: \"Egyptian Pound\",\n\tminor_unit: \"2\",\n\tsymbol: \"E£\"\n};\nvar SVC = {\n\tname: \"El Salvador Colon\",\n\tminor_unit: \"2\",\n\tsymbol: \"₡\"\n};\nvar ERN = {\n\tname: \"Nakfa\",\n\tminor_unit: \"2\",\n\tsymbol: \"Nfk\"\n};\nvar SZL = {\n\tname: \"Lilangeni\",\n\tminor_unit: \"2\",\n\tsymbol: \"E\"\n};\nvar ETB = {\n\tname: \"Ethiopian Birr\",\n\tminor_unit: \"2\",\n\tsymbol: \"Br\"\n};\nvar FKP = {\n\tname: \"Falkland Islands Pound\",\n\tminor_unit: \"2\",\n\tsymbol: \"FK£\"\n};\nvar FJD = {\n\tname: \"Fiji Dollar\",\n\tminor_unit: \"2\",\n\tsymbol: \"FJ$\"\n};\nvar XPF = {\n\tname: \"CFP Franc\",\n\tminor_unit: \"0\",\n\tsymbol: \"F\"\n};\nvar GMD = {\n\tname: \"Dalasi\",\n\tminor_unit: \"2\",\n\tsymbol: \"D\"\n};\nvar GEL = {\n\tname: \"Lari\",\n\tminor_unit: \"2\",\n\tsymbol: \"₾\"\n};\nvar GHS = {\n\tname: \"Ghana Cedi\",\n\tminor_unit: \"2\",\n\tsymbol: \"GH₵\"\n};\nvar GIP = {\n\tname: \"Gibraltar Pound\",\n\tminor_unit: \"2\",\n\tsymbol: \"£\"\n};\nvar GTQ = {\n\tname: \"Quetzal\",\n\tminor_unit: \"2\",\n\tsymbol: \"Q\"\n};\nvar GBP = {\n\tname: \"Pound Sterling\",\n\tminor_unit: \"2\",\n\tsymbol: \"£\"\n};\nvar GNF = {\n\tname: \"Guinean Franc\",\n\tminor_unit: \"0\",\n\tsymbol: \"FG\"\n};\nvar GYD = {\n\tname: \"Guyana Dollar\",\n\tminor_unit: \"2\",\n\tsymbol: \"GY$\"\n};\nvar HTG = {\n\tname: \"Gourde\",\n\tminor_unit: \"2\",\n\tsymbol: \"G\"\n};\nvar HNL = {\n\tname: \"Lempira\",\n\tminor_unit: \"2\",\n\tsymbol: \"L\"\n};\nvar HKD = {\n\tname: \"Hong Kong Dollar\",\n\tminor_unit: \"2\",\n\tsymbol: \"HK$\"\n};\nvar HUF = {\n\tname: \"Forint\",\n\tminor_unit: \"2\",\n\tsymbol: \"Ft\"\n};\nvar ISK = {\n\tname: \"Iceland Krona\",\n\tminor_unit: \"0\",\n\tsymbol: \"kr\"\n};\nvar IDR = {\n\tname: \"Rupiah\",\n\tminor_unit: \"2\",\n\tsymbol: \"Rp\"\n};\nvar IRR = {\n\tname: \"Iranian Rial\",\n\tminor_unit: \"2\",\n\tsymbol: \"﷼\"\n};\nvar IQD = {\n\tname: \"Iraqi Dinar\",\n\tminor_unit: \"3\",\n\tsymbol: \"ع.د\"\n};\nvar ILS = {\n\tname: \"New Israeli Sheqel\",\n\tminor_unit: \"2\",\n\tsymbol: \"₪\"\n};\nvar JMD = {\n\tname: \"Jamaican Dollar\",\n\tminor_unit: \"2\",\n\tsymbol: \"J$\"\n};\nvar JPY = {\n\tname: \"Yen\",\n\tminor_unit: \"0\",\n\tsymbol: \"¥\"\n};\nvar JOD = {\n\tname: \"Jordanian Dinar\",\n\tminor_unit: \"3\",\n\tsymbol: \"JD\"\n};\nvar KZT = {\n\tname: \"Tenge\",\n\tminor_unit: \"2\",\n\tsymbol: \"₸\"\n};\nvar KES = {\n\tname: \"Kenyan Shilling\",\n\tminor_unit: \"2\",\n\tsymbol: \"KSh\"\n};\nvar KPW = {\n\tname: \"North Korean Won\",\n\tminor_unit: \"2\",\n\tsymbol: \"₩\"\n};\nvar KRW = {\n\tname: \"Won\",\n\tminor_unit: \"0\",\n\tsymbol: \"₩\"\n};\nvar KWD = {\n\tname: \"Kuwaiti Dinar\",\n\tminor_unit: \"3\",\n\tsymbol: \"د.ك\"\n};\nvar KGS = {\n\tname: \"Som\",\n\tminor_unit: \"2\",\n\tsymbol: \"сом\"\n};\nvar LAK = {\n\tname: \"Kip\",\n\tminor_unit: \"2\",\n\tsymbol: \"₭\"\n};\nvar LBP = {\n\tname: \"Lebanese Pound\",\n\tminor_unit: \"2\",\n\tsymbol: \"L£\"\n};\nvar LSL = {\n\tname: \"Loti\",\n\tminor_unit: \"2\",\n\tsymbol: \"M\"\n};\nvar ZAR = {\n\tname: \"South African Rand\",\n\tminor_unit: \"2\",\n\tsymbol: \"R\"\n};\nvar LRD = {\n\tname: \"Liberian Dollar\",\n\tminor_unit: \"2\",\n\tsymbol: \"L$\"\n};\nvar LYD = {\n\tname: \"Libyan Dinar\",\n\tminor_unit: \"3\",\n\tsymbol: \"LD\"\n};\nvar CHF = {\n\tname: \"Swiss Franc\",\n\tminor_unit: \"2\",\n\tsymbol: \"CHF\"\n};\nvar MOP = {\n\tname: \"Pataca\",\n\tminor_unit: \"2\",\n\tsymbol: \"MOP$\"\n};\nvar MKD = {\n\tname: \"Denar\",\n\tminor_unit: \"2\",\n\tsymbol: \"ден\"\n};\nvar MGA = {\n\tname: \"Malagasy Ariary\",\n\tminor_unit: \"2\",\n\tsymbol: \"Ar\"\n};\nvar MWK = {\n\tname: \"Malawi Kwacha\",\n\tminor_unit: \"2\",\n\tsymbol: \"MK\"\n};\nvar MYR = {\n\tname: \"Malaysian Ringgit\",\n\tminor_unit: \"2\",\n\tsymbol: \"RM\"\n};\nvar MVR = {\n\tname: \"Rufiyaa\",\n\tminor_unit: \"2\",\n\tsymbol: \"Rf\"\n};\nvar MRU = {\n\tname: \"Ouguiya\",\n\tminor_unit: \"2\",\n\tsymbol: \"UM\"\n};\nvar MUR = {\n\tname: \"Mauritian Rupee\",\n\tminor_unit: \"2\",\n\tsymbol: \"₨\"\n};\nvar MXN = {\n\tname: \"Mexican Peso\",\n\tminor_unit: \"2\",\n\tsymbol: \"Mex$\"\n};\nvar MXV = {\n\tname: \"Mexican Unidad de Inversion (UDI)\",\n\tminor_unit: \"2\",\n\tsymbol: \"UDI\"\n};\nvar MDL = {\n\tname: \"Moldovan Leu\",\n\tminor_unit: \"2\",\n\tsymbol: \"L\"\n};\nvar MNT = {\n\tname: \"Tugrik\",\n\tminor_unit: \"2\",\n\tsymbol: \"₮\"\n};\nvar MAD = {\n\tname: \"Moroccan Dirham\",\n\tminor_unit: \"2\",\n\tsymbol: \"DH\"\n};\nvar MZN = {\n\tname: \"Mozambique Metical\",\n\tminor_unit: \"2\",\n\tsymbol: \"MT\"\n};\nvar MMK = {\n\tname: \"Kyat\",\n\tminor_unit: \"2\",\n\tsymbol: \"Ks\"\n};\nvar NAD = {\n\tname: \"Namibia Dollar\",\n\tminor_unit: \"2\",\n\tsymbol: \"N$\"\n};\nvar NPR = {\n\tname: \"Nepalese Rupee\",\n\tminor_unit: \"2\",\n\tsymbol: \"₨\"\n};\nvar NIO = {\n\tname: \"Cordoba Oro\",\n\tminor_unit: \"2\",\n\tsymbol: \"C$\"\n};\nvar NGN = {\n\tname: \"Naira\",\n\tminor_unit: \"2\",\n\tsymbol: \"₦\"\n};\nvar OMR = {\n\tname: \"Rial Omani\",\n\tminor_unit: \"3\",\n\tsymbol: \"ر.ع.\"\n};\nvar PKR = {\n\tname: \"Pakistan Rupee\",\n\tminor_unit: \"2\",\n\tsymbol: \"₨\"\n};\nvar PAB = {\n\tname: \"Balboa\",\n\tminor_unit: \"2\",\n\tsymbol: \"B/.\"\n};\nvar PGK = {\n\tname: \"Kina\",\n\tminor_unit: \"2\",\n\tsymbol: \"K\"\n};\nvar PYG = {\n\tname: \"Guarani\",\n\tminor_unit: \"0\",\n\tsymbol: \"₲\"\n};\nvar PEN = {\n\tname: \"Sol\",\n\tminor_unit: \"2\",\n\tsymbol: \"S/\"\n};\nvar PHP = {\n\tname: \"Philippine Peso\",\n\tminor_unit: \"2\",\n\tsymbol: \"₱\"\n};\nvar PLN = {\n\tname: \"Zloty\",\n\tminor_unit: \"2\",\n\tsymbol: \"zł\"\n};\nvar QAR = {\n\tname: \"Qatari Rial\",\n\tminor_unit: \"2\",\n\tsymbol: \"ر.ق\"\n};\nvar RON = {\n\tname: \"Romanian Leu\",\n\tminor_unit: \"2\",\n\tsymbol: \"lei\"\n};\nvar RUB = {\n\tname: \"Russian Ruble\",\n\tminor_unit: \"2\",\n\tsymbol: \"₽\"\n};\nvar RWF = {\n\tname: \"Rwandan Franc\",\n\tminor_unit: \"0\",\n\tsymbol: \"FRw\"\n};\nvar SHP = {\n\tname: \"Saint Helena Pound\",\n\tminor_unit: \"2\",\n\tsymbol: \"£\"\n};\nvar WST = {\n\tname: \"Tala\",\n\tminor_unit: \"2\",\n\tsymbol: \"WS$\"\n};\nvar STN = {\n\tname: \"Dobra\",\n\tminor_unit: \"2\",\n\tsymbol: \"Db\"\n};\nvar SAR = {\n\tname: \"Saudi Riyal\",\n\tminor_unit: \"2\",\n\tsymbol: \"ر.س\"\n};\nvar RSD = {\n\tname: \"Serbian Dinar\",\n\tminor_unit: \"2\",\n\tsymbol: \"дин.\"\n};\nvar SCR = {\n\tname: \"Seychelles Rupee\",\n\tminor_unit: \"2\",\n\tsymbol: \"₨\"\n};\nvar SLL = {\n\tname: \"Leone\",\n\tminor_unit: \"2\",\n\tsymbol: \"Le\"\n};\nvar SGD = {\n\tname: \"Singapore Dollar\",\n\tminor_unit: \"2\",\n\tsymbol: \"S$\"\n};\nvar SBD = {\n\tname: \"Solomon Islands Dollar\",\n\tminor_unit: \"2\",\n\tsymbol: \"SI$\"\n};\nvar SOS = {\n\tname: \"Somali Shilling\",\n\tminor_unit: \"2\",\n\tsymbol: \"S\"\n};\nvar SSP = {\n\tname: \"South Sudanese Pound\",\n\tminor_unit: \"2\",\n\tsymbol: \"SS£\"\n};\nvar LKR = {\n\tname: \"Sri Lanka Rupee\",\n\tminor_unit: \"2\",\n\tsymbol: \"₨\"\n};\nvar SDG = {\n\tname: \"Sudanese Pound\",\n\tminor_unit: \"2\",\n\tsymbol: \"£\"\n};\nvar SRD = {\n\tname: \"Surinam Dollar\",\n\tminor_unit: \"2\",\n\tsymbol: \"SRD\"\n};\nvar SEK = {\n\tname: \"Swedish Krona\",\n\tminor_unit: \"2\",\n\tsymbol: \"kr\"\n};\nvar CHE = {\n\tname: \"WIR Euro\",\n\tminor_unit: \"2\",\n\tsymbol: \"CHE\"\n};\nvar CHW = {\n\tname: \"WIR Franc\",\n\tminor_unit: \"2\",\n\tsymbol: \"CHW\"\n};\nvar SYP = {\n\tname: \"Syrian Pound\",\n\tminor_unit: \"2\",\n\tsymbol: \"£\"\n};\nvar TWD = {\n\tname: \"New Taiwan Dollar\",\n\tminor_unit: \"2\",\n\tsymbol: \"NT$\"\n};\nvar TJS = {\n\tname: \"Somoni\",\n\tminor_unit: \"2\",\n\tsymbol: \"ЅМ\"\n};\nvar TZS = {\n\tname: \"Tanzanian Shilling\",\n\tminor_unit: \"2\",\n\tsymbol: \"Sh\"\n};\nvar THB = {\n\tname: \"Baht\",\n\tminor_unit: \"2\",\n\tsymbol: \"฿\"\n};\nvar TOP = {\n\tname: \"Pa’anga\",\n\tminor_unit: \"2\",\n\tsymbol: \"T$\"\n};\nvar TTD = {\n\tname: \"Trinidad and Tobago Dollar\",\n\tminor_unit: \"2\",\n\tsymbol: \"TT$\"\n};\nvar TND = {\n\tname: \"Tunisian Dinar\",\n\tminor_unit: \"3\",\n\tsymbol: \"DT\"\n};\nvar TRY = {\n\tname: \"Turkish Lira\",\n\tminor_unit: \"2\",\n\tsymbol: \"₺\"\n};\nvar TMT = {\n\tname: \"Turkmenistan New Manat\",\n\tminor_unit: \"2\",\n\tsymbol: \"T\"\n};\nvar UGX = {\n\tname: \"Uganda Shilling\",\n\tminor_unit: \"0\",\n\tsymbol: \"USh\"\n};\nvar UAH = {\n\tname: \"Hryvnia\",\n\tminor_unit: \"2\",\n\tsymbol: \"₴\"\n};\nvar AED = {\n\tname: \"UAE Dirham\",\n\tminor_unit: \"2\",\n\tsymbol: \"د.إ\"\n};\nvar UYI = {\n\tname: \"Uruguay Peso en Unidades Indexadas (URUIURUI)\",\n\tminor_unit: \"0\",\n\tsymbol: \"$U\"\n};\nvar UYU = {\n\tname: \"Peso Uruguayo\",\n\tminor_unit: \"2\",\n\tsymbol: \"$U\"\n};\nvar UYW = {\n\tname: \"Unidad Previsional\",\n\tminor_unit: \"4\",\n\tsymbol: \"UR\"\n};\nvar UZS = {\n\tname: \"Uzbekistan Sum\",\n\tminor_unit: \"2\",\n\tsymbol: \"so‘m\"\n};\nvar VUV = {\n\tname: \"Vatu\",\n\tminor_unit: \"0\",\n\tsymbol: \"VT\"\n};\nvar VES = {\n\tname: \"Bolívar Soberano\",\n\tminor_unit: \"2\",\n\tsymbol: \"Bs.S.\"\n};\nvar VED = {\n\tname: \"Bolívar Soberano\",\n\tminor_unit: \"2\",\n\tsymbol: \"Bs.S.\"\n};\nvar VND = {\n\tname: \"Dong\",\n\tminor_unit: \"0\",\n\tsymbol: \"₫\"\n};\nvar YER = {\n\tname: \"Yemeni Rial\",\n\tminor_unit: \"2\",\n\tsymbol: \"﷼\"\n};\nvar ZMW = {\n\tname: \"Zambian Kwacha\",\n\tminor_unit: \"2\",\n\tsymbol: \"ZK\"\n};\nvar ZWL = {\n\tname: \"Zimbabwe Dollar\",\n\tminor_unit: \"2\",\n\tsymbol: \"Z$\"\n};\nvar CURRENCY_INFO = {\n\tAFN: AFN,\n\tEUR: EUR,\n\tALL: ALL,\n\tDZD: DZD,\n\tUSD: USD,\n\tAOA: AOA,\n\tXCD: XCD,\n\tARS: ARS,\n\tAMD: AMD,\n\tAWG: AWG,\n\tAUD: AUD,\n\tAZN: AZN,\n\tBSD: BSD,\n\tBHD: BHD,\n\tBDT: BDT,\n\tBBD: BBD,\n\tBYN: BYN,\n\tBZD: BZD,\n\tXOF: XOF,\n\tBMD: BMD,\n\tINR: INR,\n\tBTN: BTN,\n\tBOB: BOB,\n\tBOV: BOV,\n\tBAM: BAM,\n\tBWP: BWP,\n\tNOK: NOK,\n\tBRL: BRL,\n\tBND: BND,\n\tBGN: BGN,\n\tBIF: BIF,\n\tCVE: CVE,\n\tKHR: KHR,\n\tXAF: XAF,\n\tCAD: CAD,\n\tKYD: KYD,\n\tCLP: CLP,\n\tCLF: CLF,\n\tCNY: CNY,\n\tCOP: COP,\n\tCOU: COU,\n\tKMF: KMF,\n\tCDF: CDF,\n\tNZD: NZD,\n\tCRC: CRC,\n\tHRK: HRK,\n\tCUP: CUP,\n\tCUC: CUC,\n\tANG: ANG,\n\tCZK: CZK,\n\tDKK: DKK,\n\tDJF: DJF,\n\tDOP: DOP,\n\tEGP: EGP,\n\tSVC: SVC,\n\tERN: ERN,\n\tSZL: SZL,\n\tETB: ETB,\n\tFKP: FKP,\n\tFJD: FJD,\n\tXPF: XPF,\n\tGMD: GMD,\n\tGEL: GEL,\n\tGHS: GHS,\n\tGIP: GIP,\n\tGTQ: GTQ,\n\tGBP: GBP,\n\tGNF: GNF,\n\tGYD: GYD,\n\tHTG: HTG,\n\tHNL: HNL,\n\tHKD: HKD,\n\tHUF: HUF,\n\tISK: ISK,\n\tIDR: IDR,\n\tIRR: IRR,\n\tIQD: IQD,\n\tILS: ILS,\n\tJMD: JMD,\n\tJPY: JPY,\n\tJOD: JOD,\n\tKZT: KZT,\n\tKES: KES,\n\tKPW: KPW,\n\tKRW: KRW,\n\tKWD: KWD,\n\tKGS: KGS,\n\tLAK: LAK,\n\tLBP: LBP,\n\tLSL: LSL,\n\tZAR: ZAR,\n\tLRD: LRD,\n\tLYD: LYD,\n\tCHF: CHF,\n\tMOP: MOP,\n\tMKD: MKD,\n\tMGA: MGA,\n\tMWK: MWK,\n\tMYR: MYR,\n\tMVR: MVR,\n\tMRU: MRU,\n\tMUR: MUR,\n\tMXN: MXN,\n\tMXV: MXV,\n\tMDL: MDL,\n\tMNT: MNT,\n\tMAD: MAD,\n\tMZN: MZN,\n\tMMK: MMK,\n\tNAD: NAD,\n\tNPR: NPR,\n\tNIO: NIO,\n\tNGN: NGN,\n\tOMR: OMR,\n\tPKR: PKR,\n\tPAB: PAB,\n\tPGK: PGK,\n\tPYG: PYG,\n\tPEN: PEN,\n\tPHP: PHP,\n\tPLN: PLN,\n\tQAR: QAR,\n\tRON: RON,\n\tRUB: RUB,\n\tRWF: RWF,\n\tSHP: SHP,\n\tWST: WST,\n\tSTN: STN,\n\tSAR: SAR,\n\tRSD: RSD,\n\tSCR: SCR,\n\tSLL: SLL,\n\tSGD: SGD,\n\tSBD: SBD,\n\tSOS: SOS,\n\tSSP: SSP,\n\tLKR: LKR,\n\tSDG: SDG,\n\tSRD: SRD,\n\tSEK: SEK,\n\tCHE: CHE,\n\tCHW: CHW,\n\tSYP: SYP,\n\tTWD: TWD,\n\tTJS: TJS,\n\tTZS: TZS,\n\tTHB: THB,\n\tTOP: TOP,\n\tTTD: TTD,\n\tTND: TND,\n\tTRY: TRY,\n\tTMT: TMT,\n\tUGX: UGX,\n\tUAH: UAH,\n\tAED: AED,\n\tUYI: UYI,\n\tUYU: UYU,\n\tUYW: UYW,\n\tUZS: UZS,\n\tVUV: VUV,\n\tVES: VES,\n\tVED: VED,\n\tVND: VND,\n\tYER: YER,\n\tZMW: ZMW,\n\tZWL: ZWL\n};\n\nconst ALLOWED_FORMAT_PARTS_KEYS$1 = [\n    'nan',\n    'infinity',\n    'percent',\n    'integer',\n    'group',\n    'decimal',\n    'fraction',\n    'plusSign',\n    'minusSign',\n    'percentSign',\n    'currency',\n    'code',\n    'symbol',\n    'name',\n    'compact',\n    'exponentInteger',\n    'exponentMinusSign',\n    'exponentSeparator',\n    'unit',\n];\nconst INTL_MAPPING = {\n    SGD: { $: CURRENCY_INFO.SGD.symbol }, // Singapore Dollar\n    XCD: { $: CURRENCY_INFO.XCD.symbol }, // East Caribbean Dollar\n    ARS: { $: CURRENCY_INFO.ARS.symbol }, // Argentine Peso\n    AUD: { $: CURRENCY_INFO.AUD.symbol }, // Australian Dollar\n    BSD: { $: CURRENCY_INFO.BSD.symbol }, // Bahamian Dollar\n    BBD: { $: CURRENCY_INFO.BBD.symbol }, // Barbados Dollar\n    BMD: { $: CURRENCY_INFO.BMD.symbol }, // Bermudian Dollar\n    CVE: { $: CURRENCY_INFO.CVE.symbol }, // Cabo Verde Escudo\n    CAD: { $: CURRENCY_INFO.CAD.symbol }, // Canadian Dollar\n    KYD: { $: CURRENCY_INFO.KYD.symbol }, // Cayman Islands Dollar\n    CLP: { $: CURRENCY_INFO.CLP.symbol }, // Chilean Peso\n    COP: { $: CURRENCY_INFO.COP.symbol }, // Colombian Peso\n    NZD: { $: CURRENCY_INFO.NZD.symbol }, // New Zealand Dollar\n    CUP: { $: CURRENCY_INFO.CUP.symbol }, // Cuban Peso\n    SVC: { $: CURRENCY_INFO.SVC.symbol }, // El Salvador Colon\n    FJD: { $: CURRENCY_INFO.FJD.symbol }, // Fiji Dollar\n    GYD: { $: CURRENCY_INFO.GYD.symbol }, // Guyana Dollar\n    HKD: { $: CURRENCY_INFO.HKD.symbol }, // Hong Kong Dollar\n    JMD: { $: CURRENCY_INFO.JMD.symbol }, // Jamaican Dollar\n    LRD: { $: CURRENCY_INFO.LRD.symbol }, // Liberian Dollar\n    MOP: { $: CURRENCY_INFO.MOP.symbol }, // Pataca\n    MXN: { $: CURRENCY_INFO.MXN.symbol }, // Mexican Peso\n    NAD: { $: CURRENCY_INFO.NAD.symbol }, // Namibia Dollar\n    SBD: { $: CURRENCY_INFO.SBD.symbol }, // Solomon Islands Dollar\n    SRD: { $: CURRENCY_INFO.SRD.symbol }, // Surinam Dollar\n    ZWL: { $: CURRENCY_INFO.ZWL.symbol }, // Zimbabwe Dollar\n    LSL: { L: CURRENCY_INFO.LSL.symbol }, // Loti\n    AWG: { 'Afl.': CURRENCY_INFO.AWG.symbol }, // Aruban Florin\n    BYN: { Br: CURRENCY_INFO.BYN.symbol }, // Belarusian Ruble\n    XAF: { FCFA: CURRENCY_INFO.XAF.symbol }, // CFA Franc BEAC\n    CNY: { '¥': CURRENCY_INFO.CNY.symbol }, // Yuan Renminbi\n    EGP: { '£': CURRENCY_INFO.EGP.symbol }, // Egyptian Pound\n    FKP: { '£': CURRENCY_INFO.FKP.symbol }, // Falkland Islands Pound\n    LBP: { '£': CURRENCY_INFO.LBP.symbol }, // Lebanese Pound\n    SSP: { '£': CURRENCY_INFO.SSP.symbol }, // South Sudanese Pound\n    WST: { T: CURRENCY_INFO.WST.symbol }, // Tala\n};\n\n/**\n * This function replaces the default parameters like currency symbols, currency codes, etc.,\n * returned by the JavaScript Intl API with custom values provided by a local configuration\n * (i18nify-data). This allows for customization of how different currencies or other locale-specific\n * data are represented, providing greater control over the displayed formatting.\n *\n * @param {ByParts['rawParts']} parts - An array of parts representing the formatted components\n *                                      of a currency amount, as generated by Intl.NumberFormat.\n * @param {string} currencyCode - The currency code (e.g., 'USD', 'EUR') for which the replacement\n *                                values should be applied.\n * @returns {ByParts['rawParts']} - The modified array of parts with replaced values based on the\n *                                  local i18nify configuration.\n */\nconst transformPartsFromIntl = (parts, currencyCode) => {\n    // Loop through each part of the formatted amount\n    for (let i = 0; i < parts.length; i++) {\n        const part = parts[i];\n        if (part.type === 'currency' && currencyCode in INTL_MAPPING) {\n            const mapping = INTL_MAPPING[currencyCode];\n            if (part.value in mapping) {\n                parts[i].value = mapping[part.value];\n                break; // Exit the loop after the first replacement\n            }\n        }\n    }\n    return parts;\n};\n\n// this function formats number based on different arguments passed\nconst formatNumber = (amount, options = {}) => {\n    // Validate the amount parameter to ensure it is a number\n    if (!Number(amount) && Number(amount) !== 0)\n        throw new Error(`Parameter 'amount' is not a valid number. The received value was: ${amount} of type ${typeof amount}. Please ensure you pass a valid number.`);\n    try {\n        // Get an instance of Intl.NumberFormat with the provided options\n        const formattedAmount = getIntlInstanceWithOptions(options).formatToParts(Number(amount));\n        let parts = formattedAmount;\n        const intlOptions = (options === null || options === void 0 ? void 0 : options.intlOptions) ? Object.assign({}, options.intlOptions) : {};\n        const currencyCode = ((options === null || options === void 0 ? void 0 : options.currency) || intlOptions.currency);\n        parts = transformPartsFromIntl(parts, currencyCode);\n        // Join the parts back together to form the final formatted string\n        return parts.map((p) => p.value).join('');\n    }\n    catch (err) {\n        if (err instanceof Error) {\n            throw new Error(`An error occurred while formatting the number: ${err.message}`);\n        }\n        else {\n            throw new Error(`An unknown error occurred. Error details: ${err}`);\n        }\n    }\n};\nvar formatNumber$1 = withErrorBoundary(formatNumber);\n\nconst getCurrencyList = () => {\n    return CURRENCY_INFO;\n};\nvar getCurrencyList$1 = withErrorBoundary(getCurrencyList);\n\nconst getCurrencySymbol = (currencyCode) => {\n    var _a;\n    const currencyInformation = CURRENCY_INFO;\n    if (currencyCode in currencyInformation)\n        return (_a = currencyInformation[currencyCode]) === null || _a === void 0 ? void 0 : _a.symbol;\n    else\n        throw new Error(`The provided currency code is invalid. The received value was: ${String(currencyCode)}. Please ensure you pass a valid currency code. Check valid currency codes here: https://github.com/razorpay/i18nify/blob/master/i18nify-data/currency/data.json`);\n};\nvar getCurrencySymbol$1 = withErrorBoundary(getCurrencySymbol);\n\nconst formatNumberByParts = (amount, options = {}) => {\n    // Validate the amount parameter to ensure it is a number\n    if (!Number(amount) && Number(amount) !== 0)\n        throw new Error(`Parameter 'amount' is not a valid number. The received value was: ${amount} of type ${typeof amount}. Please ensure you pass a valid number.`);\n    try {\n        // Get an instance of Intl.NumberFormat with the provided options\n        const formattedAmount = getIntlInstanceWithOptions(options).formatToParts(Number(amount));\n        let parts = formattedAmount;\n        const formattedObj = {};\n        const intlOptions = (options === null || options === void 0 ? void 0 : options.intlOptions) ? Object.assign({}, options.intlOptions) : {};\n        const currencyCode = ((options === null || options === void 0 ? void 0 : options.currency) || intlOptions.currency);\n        parts = transformPartsFromIntl(parts, currencyCode);\n        parts.forEach((p) => {\n            // If the part is a group separator, add it to the integer part\n            if (p.type === 'group') {\n                formattedObj.integer = (formattedObj.integer || '') + p.value;\n            }\n            else if (ALLOWED_FORMAT_PARTS_KEYS$1.findIndex((item) => item === p.type) != -1) {\n                // If the part type is allowed, add it to the formatted object\n                // @ts-expect-error only allowed keys are added to the formattedObj. For eg, key 'literal' is skipped\n                formattedObj[p.type] = (formattedObj[p.type] || '') + p.value;\n            }\n        });\n        return Object.assign(Object.assign({}, formattedObj), { isPrefixSymbol: parts.findIndex((item) => item.type === 'currency') <\n                parts.findIndex((item) => item.type === 'integer'), rawParts: parts });\n    }\n    catch (err) {\n        if (err instanceof Error) {\n            throw new Error(`An error occurred while formatting the number: ${err.message}`);\n        }\n        else {\n            throw new Error(`An unknown error occurred. Error details: ${err}`);\n        }\n    }\n};\nvar formatNumberByParts$1 = withErrorBoundary(formatNumberByParts);\n\n/**\n * Converts an amount from a minor currency unit to a major currency unit.\n *\n * The function takes an amount in the minor unit (e.g., cents, pence) and a currency code,\n * then converts the amount to the major unit (e.g., dollars, pounds) using the conversion rate\n * defined in the CURRENCY_INFO object. If the currency code is not supported, it throws an error.\n *\n * @param {number} amount - The amount in the minor currency unit.\n * @param {object} options - The options object\n * @returns {number} - The amount converted to the major currency unit.\n * @throws Will throw an error if the currency code is not supported.\n */\nconst convertToMajorUnit = (amount, options) => {\n    const currencyInfo = CURRENCY_INFO[options.currency];\n    if (!options.currency || !currencyInfo) {\n        throw new Error(`The provided currency code is either empty or not supported. The received value was ${options.currency === '' ? 'an empty string' : `: ${String(options.currency)}`}. Please ensure you pass a valid currency code. Check valid currency codes here: https://github.com/razorpay/i18nify/blob/master/i18nify-data/currency/data.json`);\n    }\n    const minorUnitMultiplier = Math.pow(10, Number(currencyInfo.minor_unit)) || 100;\n    const higherCurrencyValue = amount / minorUnitMultiplier;\n    return higherCurrencyValue;\n};\nvar convertToMajorUnit$1 = withErrorBoundary(convertToMajorUnit);\n\n/**\n * Converts an amount from a major currency unit to a minor currency unit.\n *\n * The function takes an amount in the major unit (e.g., dollars, pounds) and a currency code,\n * then converts the amount to the minor unit (e.g., cents, pence) using the conversion rate\n * defined in the CURRENCY_INFO object. If the currency code is not supported, it throws an error.\n *\n * @param {number} amount - The amount in the major currency unit.\n * @param {object} options - The options object\n * @returns {number} - The amount converted to the minor currency unit.\n * @throws Will throw an error if the currency code is not supported.\n */\nconst convertToMinorUnit = (amount, options) => {\n    const currencyInfo = CURRENCY_INFO[options.currency];\n    if (!options.currency || !currencyInfo) {\n        throw new Error(`The provided currency code is either empty or not supported. The received value was ${options.currency === '' ? 'an empty string' : `: ${String(options.currency)}`}. Please ensure you pass a valid currency code. Check valid currency codes here: https://github.com/razorpay/i18nify/blob/master/i18nify-data/currency/data.json`);\n    }\n    const minorUnitMultiplier = Math.pow(10, Number(currencyInfo.minor_unit)) || 100;\n    const lowerCurrencyValue = parseFloat((amount * minorUnitMultiplier).toFixed(0));\n    return lowerCurrencyValue;\n};\nvar convertToMinorUnit$1 = withErrorBoundary(convertToMinorUnit);\n\nvar AF$1 = \"[2-7]\\\\d{8}\";\nvar AX$1 = \"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}\";\nvar AL$1 = \"(?:700\\\\d\\\\d|900)\\\\d{3}|8\\\\d{5,7}|(?:[2-5]|6\\\\d)\\\\d{7}\";\nvar DZ$1 = \"(?:[1-4]|[5-79]\\\\d|80)\\\\d{7}\";\nvar AS$1 = \"(?:[58]\\\\d\\\\d|684|900)\\\\d{7}\";\nvar AD$1 = \"(?:1|6\\\\d)\\\\d{7}|[135-9]\\\\d{5}\";\nvar AO$1 = \"[29]\\\\d{8}\";\nvar AI$1 = \"(?:264|[58]\\\\d\\\\d|900)\\\\d{7}\";\nvar AQ$1 = \"\";\nvar AG$1 = \"(?:268|[58]\\\\d\\\\d|900)\\\\d{7}\";\nvar AR$1 = \"(?:11|[89]\\\\d\\\\d)\\\\d{8}|[2368]\\\\d{9}\";\nvar AM$1 = \"(?:[1-489]\\\\d|55|60|77)\\\\d{6}\";\nvar AW$1 = \"(?:[25-79]\\\\d\\\\d|800)\\\\d{4}\";\nvar AU$1 = \"1(?:[0-79]\\\\d{7}(?:\\\\d(?:\\\\d{2})?)?|8[0-24-9]\\\\d{7})|[2-478]\\\\d{8}|1\\\\d{4,7}\";\nvar AT$1 = \"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}\";\nvar AZ$1 = \"365\\\\d{6}|(?:[124579]\\\\d|60|88)\\\\d{7}\";\nvar BS$1 = \"(?:242|[58]\\\\d\\\\d|900)\\\\d{7}\";\nvar BH$1 = \"[136-9]\\\\d{7}\";\nvar BD$1 = \"[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}\";\nvar BB$1 = \"(?:246|[58]\\\\d\\\\d|900)\\\\d{7}\";\nvar BY$1 = \"(?:[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}\";\nvar BE$1 = \"4\\\\d{8}|[1-9]\\\\d{7}\";\nvar BZ$1 = \"(?:0800\\\\d|[2-8])\\\\d{6}\";\nvar BJ$1 = \"[24-689]\\\\d{7}\";\nvar BM$1 = \"(?:441|[58]\\\\d\\\\d|900)\\\\d{7}\";\nvar BT$1 = \"[17]\\\\d{7}|[2-8]\\\\d{6}\";\nvar BO$1 = \"(?:[2-467]\\\\d\\\\d|8001)\\\\d{5}\";\nvar BQ$1 = \"(?:[34]1|7\\\\d)\\\\d{5}\";\nvar BA$1 = \"6\\\\d{8}|(?:[35689]\\\\d|49|70)\\\\d{6}\";\nvar BW$1 = \"(?:0800|(?:[37]|800)\\\\d)\\\\d{6}|(?:[2-6]\\\\d|90)\\\\d{5}\";\nvar BV$1 = \"\";\nvar BR$1 = \"(?:[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}\";\nvar IO$1 = \"3\\\\d{6}\";\nvar BN$1 = \"[2-578]\\\\d{6}\";\nvar BG$1 = \"00800\\\\d{7}|[2-7]\\\\d{6,7}|[89]\\\\d{6,8}|2\\\\d{5}\";\nvar BF$1 = \"[025-7]\\\\d{7}\";\nvar BI$1 = \"(?:[267]\\\\d|31)\\\\d{6}\";\nvar CV$1 = \"(?:[2-59]\\\\d\\\\d|800)\\\\d{4}\";\nvar KH$1 = \"1\\\\d{9}|[1-9]\\\\d{7,8}\";\nvar CM$1 = \"[26]\\\\d{8}|88\\\\d{6,7}\";\nvar CA$1 = \"(?:[2-8]\\\\d|90)\\\\d{8}|3\\\\d{6}\";\nvar KY$1 = \"(?:345|[58]\\\\d\\\\d|900)\\\\d{7}\";\nvar CF$1 = \"(?:[27]\\\\d{3}|8776)\\\\d{4}\";\nvar TD$1 = \"(?:22|[69]\\\\d|77)\\\\d{6}\";\nvar CL$1 = \"12300\\\\d{6}|6\\\\d{9,10}|[2-9]\\\\d{8}\";\nvar CN$1 = \"1[127]\\\\d{8,9}|2\\\\d{9}(?:\\\\d{2})?|[12]\\\\d{6,7}|86\\\\d{6}|(?:1[03-689]\\\\d|6)\\\\d{7,9}|(?:[3-579]\\\\d|8[0-57-9])\\\\d{6,9}\";\nvar CX$1 = \"1(?:[0-79]\\\\d{8}(?:\\\\d{2})?|8[0-24-9]\\\\d{7})|[148]\\\\d{8}|1\\\\d{5,7}\";\nvar CC$1 = \"1(?:[0-79]\\\\d{8}(?:\\\\d{2})?|8[0-24-9]\\\\d{7})|[148]\\\\d{8}|1\\\\d{5,7}\";\nvar CO$1 = \"(?:60\\\\d\\\\d|9101)\\\\d{6}|(?:1\\\\d|3)\\\\d{9}\";\nvar KM$1 = \"[3478]\\\\d{6}\";\nvar CD$1 = \"[189]\\\\d{8}|[1-68]\\\\d{6}\";\nvar CG$1 = \"222\\\\d{6}|(?:0\\\\d|80)\\\\d{7}\";\nvar CK$1 = \"[2-578]\\\\d{4}\";\nvar CR$1 = \"(?:8\\\\d|90)\\\\d{8}|(?:[24-8]\\\\d{3}|3005)\\\\d{4}\";\nvar CI$1 = \"[02]\\\\d{9}\";\nvar HR$1 = \"(?:[24-69]\\\\d|3[0-79])\\\\d{7}|80\\\\d{5,7}|[1-79]\\\\d{7}|6\\\\d{5,6}\";\nvar CU$1 = \"(?:[2-7]|8\\\\d\\\\d)\\\\d{7}|[2-47]\\\\d{6}|[34]\\\\d{5}\";\nvar CW$1 = \"(?:[34]1|60|(?:7|9\\\\d)\\\\d)\\\\d{5}\";\nvar CY$1 = \"(?:[279]\\\\d|[58]0)\\\\d{6}\";\nvar CZ$1 = \"(?:[2-578]\\\\d|60)\\\\d{7}|9\\\\d{8,11}\";\nvar DK$1 = \"[2-9]\\\\d{7}\";\nvar DJ$1 = \"(?:2\\\\d|77)\\\\d{6}\";\nvar DM$1 = \"^(?:(?!767)\\\\d{7}|767\\\\d{7})$\";\nvar DO$1 = \"(?:[58]\\\\d\\\\d|900)\\\\d{7}\";\nvar EC$1 = \"1\\\\d{9,10}|(?:[2-7]|9\\\\d)\\\\d{7}\";\nvar EG$1 = \"[189]\\\\d{8,9}|[24-6]\\\\d{8}|[135]\\\\d{7}\";\nvar SV$1 = \"[267]\\\\d{7}|(?:80\\\\d|900)\\\\d{4}(?:\\\\d{4})?\";\nvar GQ$1 = \"222\\\\d{6}|(?:3\\\\d|55|[89]0)\\\\d{7}\";\nvar ER$1 = \"[178]\\\\d{6}\";\nvar EE$1 = \"8\\\\d{9}|[4578]\\\\d{7}|(?:[3-8]\\\\d|90)\\\\d{5}\";\nvar SZ$1 = \"0800\\\\d{4}|(?:[237]\\\\d|900)\\\\d{6}\";\nvar ET$1 = \"(?:11|[2-579]\\\\d)\\\\d{7}\";\nvar FK$1 = \"[2-7]\\\\d{4}\";\nvar FO$1 = \"[2-9]\\\\d{5}\";\nvar FJ$1 = \"45\\\\d{5}|(?:0800\\\\d|[235-9])\\\\d{6}\";\nvar FI$1 = \"[1-35689]\\\\d{4}|7\\\\d{10,11}|(?:[124-7]\\\\d|3[0-46-9])\\\\d{8}|[1-9]\\\\d{5,8}\";\nvar FR$1 = \"[1-9]\\\\d{8}\";\nvar GF$1 = \"[56]94\\\\d{6}|(?:80|9\\\\d)\\\\d{7}\";\nvar PF$1 = \"4\\\\d{5}(?:\\\\d{2})?|8\\\\d{7,8}\";\nvar TF$1 = \"\";\nvar GA$1 = \"(?:[067]\\\\d|11)\\\\d{6}|[2-7]\\\\d{6}\";\nvar GM$1 = \"[2-9]\\\\d{6}\";\nvar GE$1 = \"(?:[3-57]\\\\d\\\\d|800)\\\\d{6}\";\nvar DE$1 = \"[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}\";\nvar GH$1 = \"(?:[235]\\\\d{3}|800)\\\\d{5}\";\nvar GI$1 = \"(?:[25]\\\\d|60)\\\\d{6}\";\nvar GR$1 = \"5005000\\\\d{3}|8\\\\d{9,11}|(?:[269]\\\\d|70)\\\\d{8}\";\nvar GL$1 = \"(?:19|[2-689]\\\\d|70)\\\\d{4}\";\nvar GD$1 = \"(?:473|[58]\\\\d\\\\d|900)\\\\d{7}\";\nvar GP$1 = \"590\\\\d{6}|(?:69|80|9\\\\d)\\\\d{7}\";\nvar GU$1 = \"(?:[58]\\\\d\\\\d|671|900)\\\\d{7}\";\nvar GT$1 = \"80\\\\d{6}|(?:1\\\\d{3}|[2-7])\\\\d{7}\";\nvar GG$1 = \"(?:1481|[357-9]\\\\d{3})\\\\d{6}|8\\\\d{6}(?:\\\\d{2})?\";\nvar GN$1 = \"722\\\\d{6}|(?:3|6\\\\d)\\\\d{7}\";\nvar GW$1 = \"[49]\\\\d{8}|4\\\\d{6}\";\nvar GY$1 = \"(?:[2-8]\\\\d{3}|9008)\\\\d{3}\";\nvar HT$1 = \"(?:[2-489]\\\\d|55)\\\\d{6}\";\nvar HM$1 = \"\";\nvar VA$1 = \"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}\";\nvar HN$1 = \"8\\\\d{10}|[237-9]\\\\d{7}\";\nvar HK$1 = \"8[0-46-9]\\\\d{6,7}|9\\\\d{4,7}|(?:[2-7]|9\\\\d{3})\\\\d{7}\";\nvar HU$1 = \"[235-7]\\\\d{8}|[1-9]\\\\d{7}\";\nvar IS$1 = \"(?:38\\\\d|[4-9])\\\\d{6}\";\nvar IN$1 = \"^(?:(?:\\\\+|0{0,2})91\\\\s*[-]?\\\\s*|[0]?)?[6789]\\\\d{9}$\";\nvar ID$1 = \"(?:(?:00[1-9]|8\\\\d)\\\\d{4}|[1-36])\\\\d{6}|00\\\\d{10}|[1-9]\\\\d{8,10}|[2-9]\\\\d{7}\";\nvar IR$1 = \"[1-9]\\\\d{9}|(?:[1-8]\\\\d\\\\d|9)\\\\d{3,4}\";\nvar IQ$1 = \"(?:1|7\\\\d\\\\d)\\\\d{7}|[2-6]\\\\d{7,8}\";\nvar IE$1 = \"(?:1\\\\d|[2569])\\\\d{6,8}|4\\\\d{6,9}|7\\\\d{8}|8\\\\d{8,9}\";\nvar IM$1 = \"1624\\\\d{6}|(?:[3578]\\\\d|90)\\\\d{8}\";\nvar IL$1 = \"1\\\\d{6}(?:\\\\d{3,5})?|[57]\\\\d{8}|[1-489]\\\\d{7}\";\nvar IT$1 = \"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})?\";\nvar JM$1 = \"(?:[58]\\\\d\\\\d|658|900)\\\\d{7}\";\nvar JP$1 = \"00[1-9]\\\\d{6,14}|[257-9]\\\\d{9}|(?:00|[1-9]\\\\d\\\\d)\\\\d{6}\";\nvar JE$1 = \"1534\\\\d{6}|(?:[3578]\\\\d|90)\\\\d{8}\";\nvar JO$1 = \"(?:(?:[2689]|7\\\\d)\\\\d|32|53)\\\\d{6}\";\nvar KZ$1 = \"(?:33622|8\\\\d{8})\\\\d{5}|[78]\\\\d{9}\";\nvar KE$1 = \"(?:[17]\\\\d\\\\d|900)\\\\d{6}|(?:2|80)0\\\\d{6,7}|[4-6]\\\\d{6,8}\";\nvar KI$1 = \"(?:[37]\\\\d|6[0-79])\\\\d{6}|(?:[2-48]\\\\d|50)\\\\d{3}\";\nvar KP$1 = \"85\\\\d{6}|(?:19\\\\d|[2-7])\\\\d{7}\";\nvar KR$1 = \"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}\";\nvar KW$1 = \"18\\\\d{5}|(?:[2569]\\\\d|41)\\\\d{6}\";\nvar KG$1 = \"8\\\\d{9}|[235-9]\\\\d{8}\";\nvar LA$1 = \"[23]\\\\d{9}|3\\\\d{8}|(?:[235-8]\\\\d|41)\\\\d{6}\";\nvar LV$1 = \"(?:[268]\\\\d|90)\\\\d{6}\";\nvar LB$1 = \"[27-9]\\\\d{7}|[13-9]\\\\d{6}\";\nvar LS$1 = \"(?:[256]\\\\d\\\\d|800)\\\\d{5}\";\nvar LR$1 = \"(?:[245]\\\\d|33|77|88)\\\\d{7}|(?:2\\\\d|[4-6])\\\\d{6}\";\nvar LY$1 = \"[2-9]\\\\d{8}\";\nvar LI$1 = \"[68]\\\\d{8}|(?:[2378]\\\\d|90)\\\\d{5}\";\nvar LT$1 = \"(?:[3469]\\\\d|52|[78]0)\\\\d{6}\";\nvar LU$1 = \"35[013-9]\\\\d{4,8}|6\\\\d{8}|35\\\\d{2,4}|(?:[2457-9]\\\\d|3[0-46-9])\\\\d{2,9}\";\nvar MO$1 = \"0800\\\\d{3}|(?:28|[68]\\\\d)\\\\d{6}\";\nvar MG$1 = \"[23]\\\\d{8}\";\nvar MW$1 = \"(?:[1289]\\\\d|31|77)\\\\d{7}|1\\\\d{6}\";\nvar MY$1 = \"1\\\\d{8,9}|(?:3\\\\d|[4-9])\\\\d{7}\";\nvar MV$1 = \"(?:800|9[0-57-9]\\\\d)\\\\d{7}|[34679]\\\\d{6}\";\nvar ML$1 = \"[24-9]\\\\d{7}\";\nvar MT$1 = \"3550\\\\d{4}|(?:[2579]\\\\d\\\\d|800)\\\\d{5}\";\nvar MH$1 = \"329\\\\d{4}|(?:[256]\\\\d|45)\\\\d{5}\";\nvar MQ$1 = \"596\\\\d{6}|(?:69|80|9\\\\d)\\\\d{7}\";\nvar MR$1 = \"(?:[2-4]\\\\d\\\\d|800)\\\\d{5}\";\nvar MU$1 = \"(?:[57]|8\\\\d\\\\d)\\\\d{7}|[2-468]\\\\d{6}\";\nvar YT$1 = \"(?:80|9\\\\d)\\\\d{7}|(?:26|63)9\\\\d{6}\";\nvar MX$1 = \"[2-9]\\\\d{9}\";\nvar FM$1 = \"(?:[39]\\\\d\\\\d|820)\\\\d{4}\";\nvar MD$1 = \"(?:[235-7]\\\\d|[89]0)\\\\d{6}\";\nvar MC$1 = \"(?:[3489]|6\\\\d)\\\\d{7}\";\nvar MN$1 = \"[12]\\\\d{7,9}|[5-9]\\\\d{7}\";\nvar ME$1 = \"(?:20|[3-79]\\\\d)\\\\d{6}|80\\\\d{6,7}\";\nvar MS$1 = \"(?:[58]\\\\d\\\\d|664|900)\\\\d{7}\";\nvar MA$1 = \"[5-8]\\\\d{8}\";\nvar MZ$1 = \"(?:2|8\\\\d)\\\\d{7}\";\nvar MM$1 = \"1\\\\d{5,7}|95\\\\d{6}|(?:[4-7]|9[0-46-9])\\\\d{6,8}|(?:2|8\\\\d)\\\\d{5,8}\";\nvar NA$1 = \"[68]\\\\d{7,8}\";\nvar NR$1 = \"(?:444|(?:55|8\\\\d)\\\\d|666)\\\\d{4}\";\nvar NP$1 = \"(?:1\\\\d|9)\\\\d{9}|[1-9]\\\\d{7}\";\nvar NL$1 = \"(?:[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}\";\nvar NC$1 = \"(?:050|[2-57-9]\\\\d\\\\d)\\\\d{3}\";\nvar NZ$1 = \"[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}\";\nvar NI$1 = \"(?:1800|[25-8]\\\\d{3})\\\\d{4}\";\nvar NE$1 = \"[027-9]\\\\d{7}\";\nvar NG$1 = \"2[0-24-9]\\\\d{8}|[78]\\\\d{10,13}|[7-9]\\\\d{9}|[1-9]\\\\d{7}|[124-7]\\\\d{6}\";\nvar NU$1 = \"(?:[4-7]|888\\\\d)\\\\d{3}\";\nvar NF$1 = \"[13]\\\\d{5}\";\nvar MK$1 = \"[2-578]\\\\d{7}\";\nvar MP$1 = \"[58]\\\\d{9}|(?:67|90)0\\\\d{7}\";\nvar NO$1 = \"(?:0|[2-9]\\\\d{3})\\\\d{4}\";\nvar OM$1 = \"(?:1505|[279]\\\\d{3}|500)\\\\d{4}|800\\\\d{5,6}\";\nvar PK$1 = \"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}\";\nvar PW$1 = \"(?:[24-8]\\\\d\\\\d|345|900)\\\\d{4}\";\nvar PS$1 = \"[2489]2\\\\d{6}|(?:1\\\\d|5)\\\\d{8}\";\nvar PA$1 = \"(?:00800|8\\\\d{3})\\\\d{6}|[68]\\\\d{7}|[1-57-9]\\\\d{6}\";\nvar PG$1 = \"(?:180|[78]\\\\d{3})\\\\d{4}|(?:[2-589]\\\\d|64)\\\\d{5}\";\nvar PY$1 = \"59\\\\d{4,6}|9\\\\d{5,10}|(?:[2-46-8]\\\\d|5[0-8])\\\\d{4,7}\";\nvar PE$1 = \"(?:[14-8]|9\\\\d)\\\\d{7}\";\nvar PH$1 = \"(?:[2-7]|9\\\\d)\\\\d{8}|2\\\\d{5}|(?:1800|8)\\\\d{7,9}\";\nvar PN$1 = \"\";\nvar PL$1 = \"(?:6|8\\\\d\\\\d)\\\\d{7}|[1-9]\\\\d{6}(?:\\\\d{2})?|[26]\\\\d{5}\";\nvar PT$1 = \"1693\\\\d{5}|(?:[26-9]\\\\d|30)\\\\d{7}\";\nvar PR$1 = \"(?:[589]\\\\d\\\\d|787)\\\\d{7}\";\nvar QA$1 = \"800\\\\d{4}|(?:2|800)\\\\d{6}|(?:0080|[3-7])\\\\d{7}\";\nvar RE$1 = \"(?:26|[689]\\\\d)\\\\d{7}\";\nvar RO$1 = \"(?:[236-8]\\\\d|90)\\\\d{7}|[23]\\\\d{5}\";\nvar RU$1 = \"8\\\\d{13}|[347-9]\\\\d{9}\";\nvar RW$1 = \"(?:06|[27]\\\\d\\\\d|[89]00)\\\\d{6}\";\nvar BL$1 = \"590\\\\d{6}|(?:69|80|9\\\\d)\\\\d{7}\";\nvar SH$1 = \"(?:[256]\\\\d|8)\\\\d{3}\";\nvar KN$1 = \"(?:[58]\\\\d\\\\d|900)\\\\d{7}\";\nvar LC$1 = \"(?:[58]\\\\d\\\\d|758|900)\\\\d{7}\";\nvar MF$1 = \"590\\\\d{6}|(?:69|80|9\\\\d)\\\\d{7}\";\nvar PM$1 = \"[45]\\\\d{5}|(?:708|80\\\\d)\\\\d{6}\";\nvar VC$1 = \"(?:[58]\\\\d\\\\d|784|900)\\\\d{7}\";\nvar WS$1 = \"(?:[2-6]|8\\\\d{5})\\\\d{4}|[78]\\\\d{6}|[68]\\\\d{5}\";\nvar SM$1 = \"(?:0549|[5-7]\\\\d)\\\\d{6}\";\nvar ST$1 = \"(?:22|9\\\\d)\\\\d{5}\";\nvar SA$1 = \"92\\\\d{7}|(?:[15]|8\\\\d)\\\\d{8}\";\nvar SN$1 = \"(?:[378]\\\\d|93)\\\\d{7}\";\nvar RS$1 = \"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}\";\nvar SC$1 = \"800\\\\d{4}|(?:[249]\\\\d|64)\\\\d{5}\";\nvar SL$1 = \"(?:[237-9]\\\\d|66)\\\\d{6}\";\nvar SG$1 = \"(?:(?:1\\\\d|8)\\\\d\\\\d|7000)\\\\d{7}|[3689]\\\\d{7}\";\nvar SX$1 = \"7215\\\\d{6}|(?:[58]\\\\d\\\\d|900)\\\\d{7}\";\nvar SK$1 = \"[2-689]\\\\d{8}|[2-59]\\\\d{6}|[2-5]\\\\d{5}\";\nvar SI$1 = \"[1-7]\\\\d{7}|8\\\\d{4,7}|90\\\\d{4,6}\";\nvar SB$1 = \"[6-9]\\\\d{6}|[1-6]\\\\d{4}\";\nvar SO$1 = \"[346-9]\\\\d{8}|[12679]\\\\d{7}|[1-5]\\\\d{6}|[1348]\\\\d{5}\";\nvar ZA$1 = \"[1-79]\\\\d{8}|8\\\\d{4,9}\";\nvar GS$1 = \"\";\nvar SS$1 = \"[19]\\\\d{8}\";\nvar ES$1 = \"[5-9]\\\\d{8}\";\nvar LK$1 = \"[1-9]\\\\d{8}\";\nvar SD$1 = \"[19]\\\\d{8}\";\nvar SR$1 = \"(?:[2-5]|68|[78]\\\\d)\\\\d{5}\";\nvar SJ$1 = \"0\\\\d{4}|(?:[489]\\\\d|79)\\\\d{6}\";\nvar SE$1 = \"(?:[26]\\\\d\\\\d|9)\\\\d{9}|[1-9]\\\\d{8}|[1-689]\\\\d{7}|[1-4689]\\\\d{6}|2\\\\d{5}\";\nvar CH$1 = \"8\\\\d{11}|[2-9]\\\\d{8}\";\nvar SY$1 = \"[1-39]\\\\d{8}|[1-5]\\\\d{7}\";\nvar TW$1 = \"[2-689]\\\\d{8}|7\\\\d{9,10}|[2-8]\\\\d{7}|2\\\\d{6}\";\nvar TJ$1 = \"[0-57-9]\\\\d{8}\";\nvar TZ$1 = \"(?:[25-8]\\\\d|41|90)\\\\d{7}\";\nvar TH$1 = \"(?:001800|[2-57]|[689]\\\\d)\\\\d{7}|1\\\\d{7,9}\";\nvar TL$1 = \"7\\\\d{7}|(?:[2-47]\\\\d|[89]0)\\\\d{5}\";\nvar TG$1 = \"[279]\\\\d{7}\";\nvar TK$1 = \"[2-47]\\\\d{3,6}\";\nvar TO$1 = \"(?:0800|(?:[5-8]\\\\d\\\\d|999)\\\\d)\\\\d{3}|[2-8]\\\\d{4}\";\nvar TT$1 = \"(?:[58]\\\\d\\\\d|900)\\\\d{7}\";\nvar TN$1 = \"[2-57-9]\\\\d{7}\";\nvar TR$1 = \"4\\\\d{6}|8\\\\d{11,12}|(?:[2-58]\\\\d\\\\d|900)\\\\d{7}\";\nvar TM$1 = \"(?:[1-6]\\\\d|71)\\\\d{6}\";\nvar TC$1 = \"(?:[58]\\\\d\\\\d|649|900)\\\\d{7}\";\nvar TV$1 = \"(?:2|7\\\\d\\\\d|90)\\\\d{4}\";\nvar UG$1 = \"800\\\\d{6}|(?:[29]0|[347]\\\\d)\\\\d{7}\";\nvar UA$1 = \"[89]\\\\d{9}|[3-9]\\\\d{8}\";\nvar AE$1 = \"(?:[4-7]\\\\d|9[0-689])\\\\d{7}|800\\\\d{2,9}|[2-4679]\\\\d{7}\";\nvar GB$1 = \"[1-357-9]\\\\d{9}|[18]\\\\d{8}|8\\\\d{6}\";\nvar UM$1 = \"\";\nvar US$1 = \"[2-9]\\\\d{9}|3\\\\d{6}\";\nvar UY$1 = \"0004\\\\d{2,9}|[1249]\\\\d{7}|(?:[49]\\\\d|80)\\\\d{5}\";\nvar UZ$1 = \"(?:20|33|[5-79]\\\\d|88)\\\\d{7}\";\nvar VU$1 = \"[57-9]\\\\d{6}|(?:[238]\\\\d|48)\\\\d{3}\";\nvar VE$1 = \"[68]00\\\\d{7}|(?:[24]\\\\d|[59]0)\\\\d{8}\";\nvar VN$1 = \"[12]\\\\d{9}|[135-9]\\\\d{8}|[16]\\\\d{7}|[16-8]\\\\d{6}\";\nvar VG$1 = \"(?:284|[58]\\\\d\\\\d|900)\\\\d{7}\";\nvar VI$1 = \"[58]\\\\d{9}|(?:34|90)0\\\\d{7}\";\nvar WF$1 = \"(?:40|72)\\\\d{4}|8\\\\d{5}(?:\\\\d{3})?\";\nvar EH$1 = \"[5-8]\\\\d{8}\";\nvar YE$1 = \"(?:1|7\\\\d)\\\\d{7}|[1-7]\\\\d{6}\";\nvar ZM$1 = \"800\\\\d{6}|(?:21|63|[79]\\\\d)\\\\d{7}\";\nvar ZW$1 = \"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}\";\nvar XK$1 = \"2\\\\d{7,8}|3\\\\d{7,11}|(?:4\\\\d\\\\d|[89]00)\\\\d{5}\";\nvar FW$1 = \"^\\\\+590\\\\s\\\\d{2}\\\\s\\\\d{2}\\\\s\\\\d{2}\\\\s\\\\d{2}$\";\nvar PHONE_REGEX_MAPPER = {\n\tAF: AF$1,\n\tAX: AX$1,\n\tAL: AL$1,\n\tDZ: DZ$1,\n\tAS: AS$1,\n\tAD: AD$1,\n\tAO: AO$1,\n\tAI: AI$1,\n\tAQ: AQ$1,\n\tAG: AG$1,\n\tAR: AR$1,\n\tAM: AM$1,\n\tAW: AW$1,\n\tAU: AU$1,\n\tAT: AT$1,\n\tAZ: AZ$1,\n\tBS: BS$1,\n\tBH: BH$1,\n\tBD: BD$1,\n\tBB: BB$1,\n\tBY: BY$1,\n\tBE: BE$1,\n\tBZ: BZ$1,\n\tBJ: BJ$1,\n\tBM: BM$1,\n\tBT: BT$1,\n\tBO: BO$1,\n\tBQ: BQ$1,\n\tBA: BA$1,\n\tBW: BW$1,\n\tBV: BV$1,\n\tBR: BR$1,\n\tIO: IO$1,\n\tBN: BN$1,\n\tBG: BG$1,\n\tBF: BF$1,\n\tBI: BI$1,\n\tCV: CV$1,\n\tKH: KH$1,\n\tCM: CM$1,\n\tCA: CA$1,\n\tKY: KY$1,\n\tCF: CF$1,\n\tTD: TD$1,\n\tCL: CL$1,\n\tCN: CN$1,\n\tCX: CX$1,\n\tCC: CC$1,\n\tCO: CO$1,\n\tKM: KM$1,\n\tCD: CD$1,\n\tCG: CG$1,\n\tCK: CK$1,\n\tCR: CR$1,\n\tCI: CI$1,\n\tHR: HR$1,\n\tCU: CU$1,\n\tCW: CW$1,\n\tCY: CY$1,\n\tCZ: CZ$1,\n\tDK: DK$1,\n\tDJ: DJ$1,\n\tDM: DM$1,\n\tDO: DO$1,\n\tEC: EC$1,\n\tEG: EG$1,\n\tSV: SV$1,\n\tGQ: GQ$1,\n\tER: ER$1,\n\tEE: EE$1,\n\tSZ: SZ$1,\n\tET: ET$1,\n\tFK: FK$1,\n\tFO: FO$1,\n\tFJ: FJ$1,\n\tFI: FI$1,\n\tFR: FR$1,\n\tGF: GF$1,\n\tPF: PF$1,\n\tTF: TF$1,\n\tGA: GA$1,\n\tGM: GM$1,\n\tGE: GE$1,\n\tDE: DE$1,\n\tGH: GH$1,\n\tGI: GI$1,\n\tGR: GR$1,\n\tGL: GL$1,\n\tGD: GD$1,\n\tGP: GP$1,\n\tGU: GU$1,\n\tGT: GT$1,\n\tGG: GG$1,\n\tGN: GN$1,\n\tGW: GW$1,\n\tGY: GY$1,\n\tHT: HT$1,\n\tHM: HM$1,\n\tVA: VA$1,\n\tHN: HN$1,\n\tHK: HK$1,\n\tHU: HU$1,\n\tIS: IS$1,\n\tIN: IN$1,\n\tID: ID$1,\n\tIR: IR$1,\n\tIQ: IQ$1,\n\tIE: IE$1,\n\tIM: IM$1,\n\tIL: IL$1,\n\tIT: IT$1,\n\tJM: JM$1,\n\tJP: JP$1,\n\tJE: JE$1,\n\tJO: JO$1,\n\tKZ: KZ$1,\n\tKE: KE$1,\n\tKI: KI$1,\n\tKP: KP$1,\n\tKR: KR$1,\n\tKW: KW$1,\n\tKG: KG$1,\n\tLA: LA$1,\n\tLV: LV$1,\n\tLB: LB$1,\n\tLS: LS$1,\n\tLR: LR$1,\n\tLY: LY$1,\n\tLI: LI$1,\n\tLT: LT$1,\n\tLU: LU$1,\n\tMO: MO$1,\n\tMG: MG$1,\n\tMW: MW$1,\n\tMY: MY$1,\n\tMV: MV$1,\n\tML: ML$1,\n\tMT: MT$1,\n\tMH: MH$1,\n\tMQ: MQ$1,\n\tMR: MR$1,\n\tMU: MU$1,\n\tYT: YT$1,\n\tMX: MX$1,\n\tFM: FM$1,\n\tMD: MD$1,\n\tMC: MC$1,\n\tMN: MN$1,\n\tME: ME$1,\n\tMS: MS$1,\n\tMA: MA$1,\n\tMZ: MZ$1,\n\tMM: MM$1,\n\tNA: NA$1,\n\tNR: NR$1,\n\tNP: NP$1,\n\tNL: NL$1,\n\tNC: NC$1,\n\tNZ: NZ$1,\n\tNI: NI$1,\n\tNE: NE$1,\n\tNG: NG$1,\n\tNU: NU$1,\n\tNF: NF$1,\n\tMK: MK$1,\n\tMP: MP$1,\n\tNO: NO$1,\n\tOM: OM$1,\n\tPK: PK$1,\n\tPW: PW$1,\n\tPS: PS$1,\n\tPA: PA$1,\n\tPG: PG$1,\n\tPY: PY$1,\n\tPE: PE$1,\n\tPH: PH$1,\n\tPN: PN$1,\n\tPL: PL$1,\n\tPT: PT$1,\n\tPR: PR$1,\n\tQA: QA$1,\n\tRE: RE$1,\n\tRO: RO$1,\n\tRU: RU$1,\n\tRW: RW$1,\n\tBL: BL$1,\n\tSH: SH$1,\n\tKN: KN$1,\n\tLC: LC$1,\n\tMF: MF$1,\n\tPM: PM$1,\n\tVC: VC$1,\n\tWS: WS$1,\n\tSM: SM$1,\n\tST: ST$1,\n\tSA: SA$1,\n\tSN: SN$1,\n\tRS: RS$1,\n\tSC: SC$1,\n\tSL: SL$1,\n\tSG: SG$1,\n\tSX: SX$1,\n\tSK: SK$1,\n\tSI: SI$1,\n\tSB: SB$1,\n\tSO: SO$1,\n\tZA: ZA$1,\n\tGS: GS$1,\n\tSS: SS$1,\n\tES: ES$1,\n\tLK: LK$1,\n\tSD: SD$1,\n\tSR: SR$1,\n\tSJ: SJ$1,\n\tSE: SE$1,\n\tCH: CH$1,\n\tSY: SY$1,\n\tTW: TW$1,\n\tTJ: TJ$1,\n\tTZ: TZ$1,\n\tTH: TH$1,\n\tTL: TL$1,\n\tTG: TG$1,\n\tTK: TK$1,\n\tTO: TO$1,\n\tTT: TT$1,\n\tTN: TN$1,\n\tTR: TR$1,\n\tTM: TM$1,\n\tTC: TC$1,\n\tTV: TV$1,\n\tUG: UG$1,\n\tUA: UA$1,\n\tAE: AE$1,\n\tGB: GB$1,\n\tUM: UM$1,\n\tUS: US$1,\n\tUY: UY$1,\n\tUZ: UZ$1,\n\tVU: VU$1,\n\tVE: VE$1,\n\tVN: VN$1,\n\tVG: VG$1,\n\tVI: VI$1,\n\tWF: WF$1,\n\tEH: EH$1,\n\tYE: YE$1,\n\tZM: ZM$1,\n\tZW: ZW$1,\n\tXK: XK$1,\n\tFW: FW$1,\n\t\"YT-UNF\": \"^(?:\\\\+262)?\\\\d{9}$\",\n\t\"BQ-BO\": \"\",\n\t\"BQ-SA\": \"\",\n\t\"BQ-SE\": \"\",\n\t\"GB-ENG\": \"\",\n\t\"GB-NIR\": \"\",\n\t\"GB-SCT\": \"\",\n\t\"GB-UKM\": \"\",\n\t\"GB-WLS\": \"\"\n};\n\nvar dial_code_to_country = {\n\t\"1\": [\n\t\t\"US\",\n\t\t\"AG\",\n\t\t\"AI\",\n\t\t\"AS\",\n\t\t\"BB\",\n\t\t\"BM\",\n\t\t\"BS\",\n\t\t\"CA\",\n\t\t\"DM\",\n\t\t\"DO\",\n\t\t\"GD\",\n\t\t\"GU\",\n\t\t\"JM\",\n\t\t\"KN\",\n\t\t\"KY\",\n\t\t\"LC\",\n\t\t\"MP\",\n\t\t\"MS\",\n\t\t\"PR\",\n\t\t\"TC\",\n\t\t\"TT\",\n\t\t\"TF\",\n\t\t\"VC\",\n\t\t\"VG\",\n\t\t\"SX\",\n\t\t\"VI\",\n\t\t\"UM\"\n\t],\n\t\"7\": [\n\t\t\"RU\",\n\t\t\"KZ\"\n\t],\n\t\"20\": [\n\t\t\"EG\"\n\t],\n\t\"27\": [\n\t\t\"ZA\"\n\t],\n\t\"30\": [\n\t\t\"GR\"\n\t],\n\t\"31\": [\n\t\t\"NL\"\n\t],\n\t\"32\": [\n\t\t\"BE\"\n\t],\n\t\"33\": [\n\t\t\"FR\"\n\t],\n\t\"34\": [\n\t\t\"ES\"\n\t],\n\t\"36\": [\n\t\t\"HU\"\n\t],\n\t\"39\": [\n\t\t\"IT\",\n\t\t\"VA\"\n\t],\n\t\"40\": [\n\t\t\"RO\"\n\t],\n\t\"41\": [\n\t\t\"CH\"\n\t],\n\t\"43\": [\n\t\t\"AT\"\n\t],\n\t\"44\": [\n\t\t\"GB\",\n\t\t\"GB-ENG\",\n\t\t\"GB-NIR\",\n\t\t\"GB-SCT\",\n\t\t\"GB-UKM\",\n\t\t\"GB-WLS\",\n\t\t\"GG\",\n\t\t\"IM\",\n\t\t\"JE\"\n\t],\n\t\"45\": [\n\t\t\"DK\"\n\t],\n\t\"46\": [\n\t\t\"SE\"\n\t],\n\t\"47\": [\n\t\t\"NO\",\n\t\t\"BV\",\n\t\t\"SJ\"\n\t],\n\t\"48\": [\n\t\t\"PL\"\n\t],\n\t\"49\": [\n\t\t\"DE\"\n\t],\n\t\"51\": [\n\t\t\"PE\"\n\t],\n\t\"52\": [\n\t\t\"MX\"\n\t],\n\t\"53\": [\n\t\t\"CU\"\n\t],\n\t\"54\": [\n\t\t\"AR\"\n\t],\n\t\"55\": [\n\t\t\"BR\"\n\t],\n\t\"56\": [\n\t\t\"CL\"\n\t],\n\t\"57\": [\n\t\t\"CO\"\n\t],\n\t\"58\": [\n\t\t\"VE\"\n\t],\n\t\"60\": [\n\t\t\"MY\"\n\t],\n\t\"61\": [\n\t\t\"AU\",\n\t\t\"CX\",\n\t\t\"CC\"\n\t],\n\t\"62\": [\n\t\t\"ID\"\n\t],\n\t\"63\": [\n\t\t\"PH\"\n\t],\n\t\"64\": [\n\t\t\"NZ\",\n\t\t\"PN\"\n\t],\n\t\"65\": [\n\t\t\"SG\"\n\t],\n\t\"66\": [\n\t\t\"TH\"\n\t],\n\t\"81\": [\n\t\t\"JP\"\n\t],\n\t\"82\": [\n\t\t\"KR\"\n\t],\n\t\"84\": [\n\t\t\"VN\"\n\t],\n\t\"86\": [\n\t\t\"CN\"\n\t],\n\t\"90\": [\n\t\t\"TR\"\n\t],\n\t\"91\": [\n\t\t\"IN\"\n\t],\n\t\"92\": [\n\t\t\"PK\"\n\t],\n\t\"93\": [\n\t\t\"AF\"\n\t],\n\t\"94\": [\n\t\t\"LK\"\n\t],\n\t\"95\": [\n\t\t\"MM\"\n\t],\n\t\"98\": [\n\t\t\"IR\"\n\t],\n\t\"211\": [\n\t\t\"SS\"\n\t],\n\t\"212\": [\n\t\t\"MA\",\n\t\t\"EH\"\n\t],\n\t\"213\": [\n\t\t\"DZ\"\n\t],\n\t\"216\": [\n\t\t\"TN\"\n\t],\n\t\"218\": [\n\t\t\"LY\"\n\t],\n\t\"220\": [\n\t\t\"GM\"\n\t],\n\t\"221\": [\n\t\t\"SN\"\n\t],\n\t\"222\": [\n\t\t\"MR\"\n\t],\n\t\"223\": [\n\t\t\"ML\"\n\t],\n\t\"224\": [\n\t\t\"GN\"\n\t],\n\t\"225\": [\n\t\t\"CI\"\n\t],\n\t\"226\": [\n\t\t\"BF\"\n\t],\n\t\"227\": [\n\t\t\"NE\"\n\t],\n\t\"228\": [\n\t\t\"TG\"\n\t],\n\t\"229\": [\n\t\t\"BJ\"\n\t],\n\t\"230\": [\n\t\t\"MU\"\n\t],\n\t\"231\": [\n\t\t\"LR\"\n\t],\n\t\"232\": [\n\t\t\"SL\"\n\t],\n\t\"233\": [\n\t\t\"GH\"\n\t],\n\t\"234\": [\n\t\t\"NG\"\n\t],\n\t\"235\": [\n\t\t\"TD\"\n\t],\n\t\"236\": [\n\t\t\"CF\"\n\t],\n\t\"237\": [\n\t\t\"CM\"\n\t],\n\t\"238\": [\n\t\t\"CV\"\n\t],\n\t\"239\": [\n\t\t\"ST\"\n\t],\n\t\"240\": [\n\t\t\"GQ\"\n\t],\n\t\"241\": [\n\t\t\"GA\"\n\t],\n\t\"242\": [\n\t\t\"CG\"\n\t],\n\t\"243\": [\n\t\t\"CD\"\n\t],\n\t\"244\": [\n\t\t\"AO\"\n\t],\n\t\"245\": [\n\t\t\"GW\"\n\t],\n\t\"246\": [\n\t\t\"IO\"\n\t],\n\t\"248\": [\n\t\t\"SC\"\n\t],\n\t\"249\": [\n\t\t\"SD\"\n\t],\n\t\"250\": [\n\t\t\"RW\"\n\t],\n\t\"251\": [\n\t\t\"ET\"\n\t],\n\t\"252\": [\n\t\t\"SO\"\n\t],\n\t\"253\": [\n\t\t\"DJ\"\n\t],\n\t\"254\": [\n\t\t\"KE\"\n\t],\n\t\"255\": [\n\t\t\"TZ\"\n\t],\n\t\"256\": [\n\t\t\"UG\"\n\t],\n\t\"257\": [\n\t\t\"BI\"\n\t],\n\t\"258\": [\n\t\t\"MZ\"\n\t],\n\t\"260\": [\n\t\t\"ZM\"\n\t],\n\t\"261\": [\n\t\t\"MG\"\n\t],\n\t\"262\": [\n\t\t\"RE\",\n\t\t\"YT\",\n\t\t\"YT-UNF\"\n\t],\n\t\"263\": [\n\t\t\"ZW\"\n\t],\n\t\"264\": [\n\t\t\"NA\"\n\t],\n\t\"265\": [\n\t\t\"MW\"\n\t],\n\t\"266\": [\n\t\t\"LS\"\n\t],\n\t\"267\": [\n\t\t\"BW\"\n\t],\n\t\"268\": [\n\t\t\"SZ\"\n\t],\n\t\"269\": [\n\t\t\"KM\"\n\t],\n\t\"290\": [\n\t\t\"SH\"\n\t],\n\t\"291\": [\n\t\t\"ER\"\n\t],\n\t\"297\": [\n\t\t\"AW\"\n\t],\n\t\"298\": [\n\t\t\"FO\"\n\t],\n\t\"299\": [\n\t\t\"GL\"\n\t],\n\t\"350\": [\n\t\t\"GI\"\n\t],\n\t\"351\": [\n\t\t\"PT\"\n\t],\n\t\"352\": [\n\t\t\"LU\"\n\t],\n\t\"353\": [\n\t\t\"IE\"\n\t],\n\t\"354\": [\n\t\t\"IS\"\n\t],\n\t\"355\": [\n\t\t\"AL\"\n\t],\n\t\"356\": [\n\t\t\"MT\"\n\t],\n\t\"357\": [\n\t\t\"CY\"\n\t],\n\t\"358\": [\n\t\t\"FI\",\n\t\t\"AX\"\n\t],\n\t\"359\": [\n\t\t\"BG\"\n\t],\n\t\"370\": [\n\t\t\"LT\"\n\t],\n\t\"371\": [\n\t\t\"LV\"\n\t],\n\t\"372\": [\n\t\t\"EE\"\n\t],\n\t\"373\": [\n\t\t\"MD\"\n\t],\n\t\"374\": [\n\t\t\"AM\"\n\t],\n\t\"375\": [\n\t\t\"BY\"\n\t],\n\t\"376\": [\n\t\t\"AD\"\n\t],\n\t\"377\": [\n\t\t\"MC\"\n\t],\n\t\"378\": [\n\t\t\"SM\"\n\t],\n\t\"380\": [\n\t\t\"UA\"\n\t],\n\t\"381\": [\n\t\t\"RS\"\n\t],\n\t\"382\": [\n\t\t\"ME\"\n\t],\n\t\"383\": [\n\t\t\"XK\"\n\t],\n\t\"385\": [\n\t\t\"HR\"\n\t],\n\t\"386\": [\n\t\t\"SI\"\n\t],\n\t\"387\": [\n\t\t\"BA\"\n\t],\n\t\"389\": [\n\t\t\"MK\"\n\t],\n\t\"420\": [\n\t\t\"CZ\"\n\t],\n\t\"421\": [\n\t\t\"SK\"\n\t],\n\t\"423\": [\n\t\t\"LI\"\n\t],\n\t\"500\": [\n\t\t\"FK\",\n\t\t\"GS\"\n\t],\n\t\"501\": [\n\t\t\"BZ\"\n\t],\n\t\"502\": [\n\t\t\"GT\"\n\t],\n\t\"503\": [\n\t\t\"SV\"\n\t],\n\t\"504\": [\n\t\t\"HN\"\n\t],\n\t\"505\": [\n\t\t\"NI\"\n\t],\n\t\"506\": [\n\t\t\"CR\"\n\t],\n\t\"507\": [\n\t\t\"PA\"\n\t],\n\t\"508\": [\n\t\t\"PM\"\n\t],\n\t\"509\": [\n\t\t\"HT\"\n\t],\n\t\"590\": [\n\t\t\"MF\",\n\t\t\"FW\",\n\t\t\"GP\",\n\t\t\"BL\"\n\t],\n\t\"591\": [\n\t\t\"BO\"\n\t],\n\t\"592\": [\n\t\t\"GY\"\n\t],\n\t\"593\": [\n\t\t\"EC\"\n\t],\n\t\"594\": [\n\t\t\"GF\"\n\t],\n\t\"595\": [\n\t\t\"PY\"\n\t],\n\t\"596\": [\n\t\t\"MQ\"\n\t],\n\t\"597\": [\n\t\t\"SR\"\n\t],\n\t\"598\": [\n\t\t\"UY\"\n\t],\n\t\"599\": [\n\t\t\"CW\",\n\t\t\"BQ\",\n\t\t\"BQ-BO\",\n\t\t\"BQ-SA\",\n\t\t\"BQ-SE\"\n\t],\n\t\"670\": [\n\t\t\"TL\"\n\t],\n\t\"672\": [\n\t\t\"AQ\",\n\t\t\"NF\"\n\t],\n\t\"673\": [\n\t\t\"BN\"\n\t],\n\t\"674\": [\n\t\t\"NR\"\n\t],\n\t\"675\": [\n\t\t\"PG\"\n\t],\n\t\"676\": [\n\t\t\"TO\"\n\t],\n\t\"677\": [\n\t\t\"SB\"\n\t],\n\t\"678\": [\n\t\t\"VU\"\n\t],\n\t\"679\": [\n\t\t\"FJ\"\n\t],\n\t\"680\": [\n\t\t\"PW\"\n\t],\n\t\"681\": [\n\t\t\"WF\"\n\t],\n\t\"682\": [\n\t\t\"CK\"\n\t],\n\t\"683\": [\n\t\t\"NU\"\n\t],\n\t\"685\": [\n\t\t\"WS\"\n\t],\n\t\"686\": [\n\t\t\"KI\"\n\t],\n\t\"687\": [\n\t\t\"NC\"\n\t],\n\t\"688\": [\n\t\t\"TV\"\n\t],\n\t\"689\": [\n\t\t\"PF\"\n\t],\n\t\"690\": [\n\t\t\"TK\"\n\t],\n\t\"691\": [\n\t\t\"FM\"\n\t],\n\t\"692\": [\n\t\t\"MH\"\n\t],\n\t\"850\": [\n\t\t\"KP\"\n\t],\n\t\"852\": [\n\t\t\"HK\"\n\t],\n\t\"853\": [\n\t\t\"MO\"\n\t],\n\t\"855\": [\n\t\t\"KH\"\n\t],\n\t\"856\": [\n\t\t\"LA\"\n\t],\n\t\"880\": [\n\t\t\"BD\"\n\t],\n\t\"886\": [\n\t\t\"TW\"\n\t],\n\t\"960\": [\n\t\t\"MV\"\n\t],\n\t\"961\": [\n\t\t\"LB\"\n\t],\n\t\"962\": [\n\t\t\"JO\"\n\t],\n\t\"963\": [\n\t\t\"SY\"\n\t],\n\t\"964\": [\n\t\t\"IQ\"\n\t],\n\t\"965\": [\n\t\t\"KW\"\n\t],\n\t\"966\": [\n\t\t\"SA\"\n\t],\n\t\"967\": [\n\t\t\"YE\"\n\t],\n\t\"968\": [\n\t\t\"OM\"\n\t],\n\t\"970\": [\n\t\t\"PS\"\n\t],\n\t\"971\": [\n\t\t\"AE\"\n\t],\n\t\"972\": [\n\t\t\"IL\"\n\t],\n\t\"973\": [\n\t\t\"BH\"\n\t],\n\t\"974\": [\n\t\t\"QA\"\n\t],\n\t\"975\": [\n\t\t\"BT\"\n\t],\n\t\"976\": [\n\t\t\"MN\"\n\t],\n\t\"977\": [\n\t\t\"NP\"\n\t],\n\t\"992\": [\n\t\t\"TJ\"\n\t],\n\t\"993\": [\n\t\t\"TM\"\n\t],\n\t\"994\": [\n\t\t\"AZ\"\n\t],\n\t\"995\": [\n\t\t\"GE\"\n\t],\n\t\"996\": [\n\t\t\"KG\"\n\t],\n\t\"998\": [\n\t\t\"UZ\"\n\t],\n\t\"00672\": [\n\t\t\"HM\"\n\t]\n};\nvar DIAL_CODE_MAPPER = {\n\tdial_code_to_country: dial_code_to_country\n};\n\n/**\n * Determines the country data (countryCode, dialCode) based on the provided phone number.\n * This function employs a multi-step approach to identify the country code:\n * - If the phone number starts with '+', it extracts the numeric characters\n *   and matches the leading digits with known dial codes mapped to countries.\n * - For matched dial codes, it further filters based on country-specific regex patterns\n *   to validate the phone number format for those countries.\n * - If the phone number doesn't start with '+', it returns empty strings as dialCode and countryCode\n *\n * @param phoneNumber The input phone number (string or number).\n * @returns The detected countryCode & dialCode or an empty strings in both if not found.\n */\nconst detectCountryAndDialCodeFromPhone = (phoneNumber) => {\n    const regexMapper = PHONE_REGEX_MAPPER;\n    // If the phone number starts with '+', extract numeric characters\n    if (phoneNumber.toString().charAt(0) === '+') {\n        const cleanedPhoneNumberWithoutPlusPrefix = phoneNumber\n            .toString()\n            .replace(/\\D/g, '');\n        const matchingCountries = [];\n        const dialCodeMap = DIAL_CODE_MAPPER.dial_code_to_country;\n        // Iterate through dial codes and check for matches with cleaned phone number\n        for (const code in dialCodeMap) {\n            if (cleanedPhoneNumberWithoutPlusPrefix.startsWith(code)) {\n                matchingCountries.push(...dialCodeMap[code].map((item) => ({\n                    countryCode: item,\n                    dialCode: `+${code}`,\n                })));\n            }\n        }\n        // Filter matching countries based on phone number validation regex\n        const matchedCountryCode = matchingCountries.find((country) => {\n            const phoneNumberWithoutDialCode = String(phoneNumber).replace(country.dialCode, '');\n            const regex = regexMapper[country.countryCode];\n            if (regex &&\n                matchesEntirely(phoneNumberWithoutDialCode, regex))\n                return country;\n            return undefined;\n        });\n        // Return the first matched country code, if any\n        return (matchedCountryCode || {\n            countryCode: '',\n            dialCode: '',\n        });\n    }\n    // Return empty string if no country code is detected\n    return { countryCode: '', dialCode: '' };\n};\nconst getPhoneNumberWithoutDialCode = (phoneNumber) => {\n    const cleanedPhoneNumber = cleanPhoneNumber(String(phoneNumber));\n    const { dialCode } = detectCountryAndDialCodeFromPhone(cleanedPhoneNumber);\n    return String(cleanedPhoneNumber).replace(dialCode, '');\n};\nconst cleanPhoneNumber = (phoneNumber) => {\n    // Regular expression to match all characters except numbers and + sign at the start\n    const regex = /[^0-9+]|(?!A)\\+/g;\n    // Replace matched characters with an empty string\n    const cleanedPhoneNumber = phoneNumber.replace(regex, '');\n    return phoneNumber[0] === '+' ? `+${cleanedPhoneNumber}` : cleanedPhoneNumber;\n};\n/**\n * Replaces the first `n` occurrences of 'x' in a source string with the first `n` characters from a replacement string.\n *\n * @param source {string} - The original string where replacements are to be made.\n * @param replacement {string} - The string from which replacement characters are taken.\n * @param n {number} - The number of 'x' characters to replace (unmasked digit count).\n * @returns {string} - The modified string after replacements.\n */\nconst suffixMasking = (source, replacement, n) => {\n    // Convert the source string into an array of characters for easy manipulation\n    const result = source.split('');\n    let replaceIndex = 0;\n    let replacementsDone = 0;\n    // Iterate over the result array to replace 'x' with characters from the replacement string\n    for (let i = 0; i < result.length && replacementsDone < n; i++) {\n        if (result[i] === 'x' && replaceIndex < replacement.length) {\n            result[i] = replacement[replaceIndex++];\n            replacementsDone++;\n        }\n    }\n    // Join the array back into a string and return the modified result\n    return result.join('');\n};\n/**\n * Replaces the last `n` occurrences of 'x' in a source string with the last `n` characters from a replacement string.\n *\n * @param source {string} - The original string where replacements are to be made.\n * @param replacement {string} - The string from which replacement characters are taken.\n * @param n {number} - The number of 'x' characters to replace from the end of the source string  (unmasked digit count).\n * @returns {string} - The modified string after replacements.\n */\nconst prefixMasking = (source, replacement, n) => {\n    // Convert the source string into an array of characters for easy manipulation\n    const result = source.split('');\n    let replaceIndex = replacement.length - 1;\n    let replacementsDone = 0;\n    // Iterate from the end of the source string\n    for (let i = result.length - 1; i >= 0 && replacementsDone < n; i--) {\n        if (result[i] === 'x' && replaceIndex >= 0) {\n            result[i] = replacement[replaceIndex--];\n            replacementsDone++;\n        }\n    }\n    // Join the array back into a string and return the modified result\n    return result.join('');\n};\n/**\n * Replaces every alternate digit of phone number with 'x' in phoneNumberWithoutDialCode.\n *\n * @param phoneNumberWithoutDialCode {number | string} - The original phone number without dial code where replacements are to be made.\n * @returns {string} - The modified string after replacements.\n */\nconst alternateMasking = (phoneNumberWithoutDialCode) => {\n    return String(phoneNumberWithoutDialCode)\n        .trim()\n        .split('')\n        .reduce((acc, char) => {\n        if (/\\d/.test(char)) {\n            acc.numericCount % 2 !== 0\n                ? acc.result.push('x')\n                : acc.result.push(char);\n            acc.numericCount++;\n        }\n        return acc;\n    }, { result: [], numericCount: 0 })\n        .result.join('');\n};\nconst matchesEntirely = (text, regular_expression) => {\n    text = text || '';\n    return new RegExp('^(?:' + regular_expression + ')$').test(text);\n};\n\n// Validates whether a given phone number is valid based on the provided country code or auto-detects the country code and checks if the number matches the defined regex pattern for that country.\nconst isValidPhoneNumber = (phoneNumber, countryCode) => {\n    // Return false if phoneNumber is empty, null, or undefined\n    if (!phoneNumber)\n        return false;\n    // Clean the provided phoneNumber by removing non-numeric characters\n    const cleanedPhoneNumber = cleanPhoneNumber(phoneNumber.toString());\n    if (!cleanedPhoneNumber)\n        return false;\n    const regexMapper = PHONE_REGEX_MAPPER;\n    const phoneInfo = detectCountryAndDialCodeFromPhone(cleanedPhoneNumber);\n    // Detect or validate the country code\n    countryCode = (countryCode && countryCode in regexMapper\n        ? countryCode\n        : phoneInfo.countryCode);\n    // Check if the countryCode exists in the PHONE_REGEX_MAPPER\n    if (countryCode in regexMapper) {\n        const phoneNumberWithoutDialCode = getPhoneNumberWithoutDialCode(cleanedPhoneNumber);\n        // Fetch the regex pattern for the countryCode\n        const regex = regexMapper[countryCode];\n        // Test if the cleanedPhoneNumber matches the regex pattern\n        return matchesEntirely(phoneNumberWithoutDialCode, regex);\n    }\n    // Return false if the countryCode is not supported\n    return false;\n};\nvar isValidPhoneNumber$1 = withErrorBoundary(isValidPhoneNumber);\n\nvar AF = \"xx xxx xxxx\";\nvar AX = \"xxx xxx\";\nvar AL = \"xxx xx xxxx\";\nvar DZ = \"xxxx-xxxx-xxx\";\nvar AS = \"xxx-xxxx\";\nvar AD = \"xxx xxx\";\nvar AO = \"xx xxx xxxx\";\nvar AI = \"xxx-xxxx\";\nvar AQ = \"\";\nvar AG = \"xxx-xxxx\";\nvar AR = \"xxxx-xxxx\";\nvar AM = \"xx xx xx xx\";\nvar AW = \"xxx-xxxx\";\nvar AU = \"xxx xxx xxx\";\nvar AT = \"xxx xxxxxxxx\";\nvar AZ = \"xx xxx xx xx\";\nvar BS = \"xxx-xxxx\";\nvar BH = \"xxxx xxxx\";\nvar BD = \"xxxx-xxxxxx\";\nvar BB = \"xxx-xxxx\";\nvar BY = \"xx xxx-xx-xx\";\nvar BE = \"xxx xx xx xx\";\nvar BZ = \"xxx-xxxx\";\nvar BJ = \"xx xx xx xx\";\nvar BM = \"xxx-xxxx\";\nvar BT = \"x xxx xxx\";\nvar BO = \"xxxx-xxxx\";\nvar BQ = \"xxx xxxx\";\nvar BA = \"xx xxx-xxxx\";\nvar BW = \"xx xxxx xxxx\";\nvar BV = \"\";\nvar BR = \"xx xxxx-xxxx\";\nvar IO = \"xxx xxxx\";\nvar BN = \"xxxx-xxxx\";\nvar BG = \"xx xxx xxxx\";\nvar BF = \"xx xx xx xx\";\nvar BI = \"xx xx xx xx\";\nvar CV = \"xxx xxxx\";\nvar KH = \"xxx-xxx-xxx\";\nvar CM = \"xx xx xx xx\";\nvar CA = \"xxx-xxx-xxxx\";\nvar KY = \"xxx-xxxx\";\nvar CF = \"xx xx xx xx\";\nvar TD = \"xx xx xx xx\";\nvar CL = \"x xxxx xxxx\";\nvar CN = \"xxxx-xxxxxxx\";\nvar CX = \"xxx xxxx xxxx\";\nvar CC = \"xxx xxxx xxxx\";\nvar CO = \"xxxx-xxxxxxx\";\nvar KM = \"xx xx xx xx\";\nvar CD = \"xx xxx xxxx\";\nvar CG = \"xx xx xx xx\";\nvar CK = \"xx xxx\";\nvar CR = \"xxxx-xxxx\";\nvar CI = \"xx xx xx xx\";\nvar HR = \"xxx xxx xxxx\";\nvar CU = \"xxxx-xxxx\";\nvar CW = \"xxx xxxx\";\nvar CY = \"xx xxxxxx\";\nvar CZ = \"xxx xxx xxx\";\nvar DK = \"xx xx xx xx\";\nvar DJ = \"xx xx xx xx\";\nvar DM = \"xxx-xxxx\";\nvar DO = \"xxx-xxxxxxx\";\nvar EC = \"xx xxx xxxx\";\nvar EG = \"xx xxx xxxx\";\nvar SV = \"xxxx-xxxx\";\nvar GQ = \"xx xxx xxxx\";\nvar ER = \"x xxx xxxx\";\nvar EE = \"xxx xxxx\";\nvar SZ = \"xxx xx xxxx\";\nvar ET = \"xx xxx xxxx\";\nvar FK = \"xxxxx\";\nvar FO = \"xxx xxx\";\nvar FJ = \"xxxx xxxx\";\nvar FI = \"xx xxx xxxx\";\nvar FR = \"xx xx xx xx xx\";\nvar GF = \"xxx xx xx xx\";\nvar PF = \"xx xx xx xx\";\nvar TF = \"\";\nvar GA = \"xx xx xx xx\";\nvar GM = \"xxxx-xxxx\";\nvar GE = \"xxx xxx xxx\";\nvar DE = \"xxx xxxxxxxx\";\nvar GH = \"xxx xxx xxxx\";\nvar GI = \"xxxx xxxx\";\nvar GR = \"xx xxx xxxx\";\nvar GL = \"xx xx xx\";\nvar GD = \"xxx-xxxx\";\nvar GP = \"xxx xx xx xx\";\nvar GU = \"xxx-xxxx\";\nvar GT = \"xxxx-xxxx\";\nvar GG = \"xxxx xxxx\";\nvar GN = \"xx xx xx xx\";\nvar GW = \"xx xx xx xx\";\nvar GY = \"xxx-xxxx\";\nvar HT = \"xxx-xxxx\";\nvar HM = \"\";\nvar VA = \"xxx xxxx xxxx\";\nvar HN = \"xxxx-xxxx\";\nvar HK = \"xxxx xxxx\";\nvar HU = \"xxx xxx xxxx\";\nvar IS = \"xxx xxxx\";\nvar IN = \"xxxx xxxxxx\";\nvar ID = \"xxxx-xxxx-xxxx\";\nvar IR = \"xx xxxx xxxx\";\nvar IQ = \"xx xxx xxxx\";\nvar IE = \"xx xxx xxxx\";\nvar IM = \"xxxx xxxx\";\nvar IL = \"xxxx-xxx-xxx\";\nvar IT = \"xxx xxxx xxxx\";\nvar JM = \"xxx-xxxx\";\nvar JP = \"xx xxxx xxxx\";\nvar JE = \"xxxx xxxx\";\nvar JO = \"xx xxxx xxxx\";\nvar KZ = \"xxx-xxx-xx-xx\";\nvar KE = \"xxx xxxxxx\";\nvar KI = \"xx xxx\";\nvar KP = \"xx xxx xxxx\";\nvar KR = \"xx xxxx xxxx\";\nvar KW = \"xxx xx xxxx\";\nvar KG = \"xxx-xx-xx-xx\";\nvar LA = \"xxx xx xxxx\";\nvar LV = \"xxxx xxxx\";\nvar LB = \"xx xxx xxx\";\nvar LS = \"xxx xx xxxx\";\nvar LR = \"xxx-xxx-xxxx\";\nvar LY = \"xx xxxxx xxxx\";\nvar LI = \"xxx xx xx\";\nvar LT = \"xxx xxxxx\";\nvar LU = \"xxx xx xxx\";\nvar MO = \"xxxx xxxx\";\nvar MG = \"xx xx xx xx xx\";\nvar MW = \"xx xxxx xxxx\";\nvar MY = \"xx xxxxx xx\";\nvar MV = \"xxxxxx\";\nvar ML = \"xx xx xx xx\";\nvar MT = \"xx xx xx xx\";\nvar MH = \"xxx xxxx\";\nvar MQ = \"xxx xx xx xx\";\nvar MR = \"xx xx xx xx\";\nvar MU = \"xx xxxx xxxx\";\nvar YT = \"xxx xx xx xx\";\nvar MX = \"xxx-xxx-xxxx\";\nvar FM = \"xxx xxxx\";\nvar MD = \"xx xxxxxx\";\nvar MC = \"xx xx xx xx\";\nvar MN = \"xxx-xx-xxxx\";\nvar ME = \"xx xxxxxx\";\nvar MS = \"xxx-xxxx\";\nvar MA = \"xxxx-xxxxxx\";\nvar MZ = \"xx xxxxxxx\";\nvar MM = \"xx xxxxxx\";\nvar NA = \"xx xxxx xxxx\";\nvar NR = \"xxx xxxx\";\nvar NP = \"xxxx-xxxxxxx\";\nvar NL = \"xxx-xxxxxxx\";\nvar NC = \"xx xx xx\";\nvar NZ = \"xxx-xxxxxxx\";\nvar NI = \"xxxx-xxxx\";\nvar NE = \"xx xx xx xx\";\nvar NG = \"xxx xxx xxxx\";\nvar NU = \"xxxx\";\nvar NF = \"x xxxx\";\nvar MK = \"xx xx xx xx\";\nvar MP = \"xxx-xxxx\";\nvar NO = \"xxxx xxxx\";\nvar OM = \"xxxx-xxxx\";\nvar PK = \"xxx-xxxxxxx\";\nvar PW = \"xxx xxxx\";\nvar PS = \"xxxx-xxxxxxx\";\nvar PA = \"xxx-xxxx\";\nvar PG = \"xxx-xxxxxx\";\nvar PY = \"xxx-xxxxxx\";\nvar PE = \"xxx-xxx-xxx\";\nvar PH = \"xxx-xxxx\";\nvar PN = \"\";\nvar PL = \"xxx xxx xxx\";\nvar PT = \"xxx xxx xxx\";\nvar PR = \"xxx-xxx-xxxx\";\nvar QA = \"xxxx xxxx\";\nvar RE = \"xxx xx xx xx\";\nvar RO = \"xxx xxx xxxx\";\nvar RU = \"xxx xxx-xx-xx\";\nvar RW = \"xxx xxxxxx\";\nvar BL = \"xxx xx xx xx\";\nvar SH = \"xxxx\";\nvar KN = \"xxx-xxxx\";\nvar LC = \"xxx-xxxx\";\nvar MF = \"xxx xx xx xx\";\nvar PM = \"xxx xxxx\";\nvar VC = \"xxx-xxxx\";\nvar WS = \"xx xxxxx\";\nvar SM = \"xxxxx xxxxx\";\nvar ST = \"xx xxx xx\";\nvar SA = \"xxx-xxxxxxx\";\nvar SN = \"xx xxx xx xx\";\nvar RS = \"xxx xxxxx\";\nvar SC = \"xx xxxxx\";\nvar SL = \"xxx-xxxxxx\";\nvar SG = \"xxxx xxxx\";\nvar SX = \"xxx-xxxx\";\nvar SK = \"xxx xxx xxx\";\nvar SI = \"xx xxxxxx\";\nvar SB = \"xxxxx\";\nvar SO = \"xxx xxxxxxx\";\nvar ZA = \"xxx-xxx-xxxx\";\nvar GS = \"\";\nvar SS = \"xxx xxxx xxx\";\nvar ES = \"xxx xxx xxx\";\nvar LK = \"xx xxx xxxx\";\nvar SD = \"xx xxx xxxx\";\nvar SR = \"xxx-xxxx\";\nvar SJ = \"xxx xx xxx\";\nvar SE = \"xxx-xxx xx xx\";\nvar CH = \"xxx xxx xxx\";\nvar SY = \"xx xxxx xxxx\";\nvar TW = \"xxxx-xxxxxx\";\nvar TJ = \"xxx xx xx xx\";\nvar TZ = \"xxx xxx xxxx\";\nvar TH = \"xxx-xxxxxxx\";\nvar TL = \"xxx-xxxxxxx\";\nvar TG = \"xx xx xx xx\";\nvar TK = \"xxxx\";\nvar TO = \"xxxxx\";\nvar TT = \"xxx-xxxx\";\nvar TN = \"xx xxxxxx\";\nvar TR = \"xxx xxx xx xx\";\nvar TM = \"x xxx xxx\";\nvar TC = \"xxx-xxxx\";\nvar TV = \"xxxxx\";\nvar UG = \"xxx xxxxxxx\";\nvar UA = \"xx xxx xx xx\";\nvar AE = \"xx xxx xxxx\";\nvar GB = \"xxxx xxx xxx\";\nvar UM = \"\";\nvar US = \"xxx-xxx-xxxx\";\nvar UY = \"xxx-xxxxx\";\nvar UZ = \"xxx-xxx-xx-xx\";\nvar VU = \"xx xxxxx\";\nvar VE = \"xxxx-xxx-xxxx\";\nvar VN = \"xxxx-xxxxxxx\";\nvar VG = \"xxx-xxxx\";\nvar VI = \"xxx-xxxx\";\nvar WF = \"xx xxxx\";\nvar EH = \"xx xx xx xx\";\nvar YE = \"xxxx-xxxx\";\nvar ZM = \"xxx-xxxxxxx\";\nvar ZW = \"xx xxx xxxx\";\nvar XK = \"xxx xxx xxx\";\nvar FW = \"xxx xx xx xx\";\nvar PHONE_FORMATTER_MAPPER = {\n\tAF: AF,\n\tAX: AX,\n\tAL: AL,\n\tDZ: DZ,\n\tAS: AS,\n\tAD: AD,\n\tAO: AO,\n\tAI: AI,\n\tAQ: AQ,\n\tAG: AG,\n\tAR: AR,\n\tAM: AM,\n\tAW: AW,\n\tAU: AU,\n\tAT: AT,\n\tAZ: AZ,\n\tBS: BS,\n\tBH: BH,\n\tBD: BD,\n\tBB: BB,\n\tBY: BY,\n\tBE: BE,\n\tBZ: BZ,\n\tBJ: BJ,\n\tBM: BM,\n\tBT: BT,\n\tBO: BO,\n\tBQ: BQ,\n\tBA: BA,\n\tBW: BW,\n\tBV: BV,\n\tBR: BR,\n\tIO: IO,\n\tBN: BN,\n\tBG: BG,\n\tBF: BF,\n\tBI: BI,\n\tCV: CV,\n\tKH: KH,\n\tCM: CM,\n\tCA: CA,\n\tKY: KY,\n\tCF: CF,\n\tTD: TD,\n\tCL: CL,\n\tCN: CN,\n\tCX: CX,\n\tCC: CC,\n\tCO: CO,\n\tKM: KM,\n\tCD: CD,\n\tCG: CG,\n\tCK: CK,\n\tCR: CR,\n\tCI: CI,\n\tHR: HR,\n\tCU: CU,\n\tCW: CW,\n\tCY: CY,\n\tCZ: CZ,\n\tDK: DK,\n\tDJ: DJ,\n\tDM: DM,\n\tDO: DO,\n\tEC: EC,\n\tEG: EG,\n\tSV: SV,\n\tGQ: GQ,\n\tER: ER,\n\tEE: EE,\n\tSZ: SZ,\n\tET: ET,\n\tFK: FK,\n\tFO: FO,\n\tFJ: FJ,\n\tFI: FI,\n\tFR: FR,\n\tGF: GF,\n\tPF: PF,\n\tTF: TF,\n\tGA: GA,\n\tGM: GM,\n\tGE: GE,\n\tDE: DE,\n\tGH: GH,\n\tGI: GI,\n\tGR: GR,\n\tGL: GL,\n\tGD: GD,\n\tGP: GP,\n\tGU: GU,\n\tGT: GT,\n\tGG: GG,\n\tGN: GN,\n\tGW: GW,\n\tGY: GY,\n\tHT: HT,\n\tHM: HM,\n\tVA: VA,\n\tHN: HN,\n\tHK: HK,\n\tHU: HU,\n\tIS: IS,\n\tIN: IN,\n\tID: ID,\n\tIR: IR,\n\tIQ: IQ,\n\tIE: IE,\n\tIM: IM,\n\tIL: IL,\n\tIT: IT,\n\tJM: JM,\n\tJP: JP,\n\tJE: JE,\n\tJO: JO,\n\tKZ: KZ,\n\tKE: KE,\n\tKI: KI,\n\tKP: KP,\n\tKR: KR,\n\tKW: KW,\n\tKG: KG,\n\tLA: LA,\n\tLV: LV,\n\tLB: LB,\n\tLS: LS,\n\tLR: LR,\n\tLY: LY,\n\tLI: LI,\n\tLT: LT,\n\tLU: LU,\n\tMO: MO,\n\tMG: MG,\n\tMW: MW,\n\tMY: MY,\n\tMV: MV,\n\tML: ML,\n\tMT: MT,\n\tMH: MH,\n\tMQ: MQ,\n\tMR: MR,\n\tMU: MU,\n\tYT: YT,\n\tMX: MX,\n\tFM: FM,\n\tMD: MD,\n\tMC: MC,\n\tMN: MN,\n\tME: ME,\n\tMS: MS,\n\tMA: MA,\n\tMZ: MZ,\n\tMM: MM,\n\tNA: NA,\n\tNR: NR,\n\tNP: NP,\n\tNL: NL,\n\tNC: NC,\n\tNZ: NZ,\n\tNI: NI,\n\tNE: NE,\n\tNG: NG,\n\tNU: NU,\n\tNF: NF,\n\tMK: MK,\n\tMP: MP,\n\tNO: NO,\n\tOM: OM,\n\tPK: PK,\n\tPW: PW,\n\tPS: PS,\n\tPA: PA,\n\tPG: PG,\n\tPY: PY,\n\tPE: PE,\n\tPH: PH,\n\tPN: PN,\n\tPL: PL,\n\tPT: PT,\n\tPR: PR,\n\tQA: QA,\n\tRE: RE,\n\tRO: RO,\n\tRU: RU,\n\tRW: RW,\n\tBL: BL,\n\tSH: SH,\n\tKN: KN,\n\tLC: LC,\n\tMF: MF,\n\tPM: PM,\n\tVC: VC,\n\tWS: WS,\n\tSM: SM,\n\tST: ST,\n\tSA: SA,\n\tSN: SN,\n\tRS: RS,\n\tSC: SC,\n\tSL: SL,\n\tSG: SG,\n\tSX: SX,\n\tSK: SK,\n\tSI: SI,\n\tSB: SB,\n\tSO: SO,\n\tZA: ZA,\n\tGS: GS,\n\tSS: SS,\n\tES: ES,\n\tLK: LK,\n\tSD: SD,\n\tSR: SR,\n\tSJ: SJ,\n\tSE: SE,\n\tCH: CH,\n\tSY: SY,\n\tTW: TW,\n\tTJ: TJ,\n\tTZ: TZ,\n\tTH: TH,\n\tTL: TL,\n\tTG: TG,\n\tTK: TK,\n\tTO: TO,\n\tTT: TT,\n\tTN: TN,\n\tTR: TR,\n\tTM: TM,\n\tTC: TC,\n\tTV: TV,\n\tUG: UG,\n\tUA: UA,\n\tAE: AE,\n\tGB: GB,\n\tUM: UM,\n\tUS: US,\n\tUY: UY,\n\tUZ: UZ,\n\tVU: VU,\n\tVE: VE,\n\tVN: VN,\n\tVG: VG,\n\tVI: VI,\n\tWF: WF,\n\tEH: EH,\n\tYE: YE,\n\tZM: ZM,\n\tZW: ZW,\n\tXK: XK,\n\tFW: FW,\n\t\"YT-UNF\": \"xxx xx xx xx\",\n\t\"BQ-BO\": \"\",\n\t\"BQ-SA\": \"\",\n\t\"BQ-SE\": \"\",\n\t\"GB-ENG\": \"\",\n\t\"GB-NIR\": \"\",\n\t\"GB-SCT\": \"\",\n\t\"GB-UKM\": \"\",\n\t\"GB-WLS\": \"\"\n};\n\n// Formats a provided phone number according to the predefined format for a specific country code, or auto-detects the country code and formats the number accordingly.\nconst formatPhoneNumber = (phoneNumber, countryCode) => {\n    // Throw errors if phoneNumber is invalid\n    if (!phoneNumber)\n        throw new Error(`Parameter 'phoneNumber' is invalid! The received value was: ${phoneNumber}. Please ensure you provide a valid phone number.`);\n    // Convert phoneNumber to string and clean it by removing non-numeric characters\n    phoneNumber = phoneNumber.toString();\n    phoneNumber = cleanPhoneNumber(phoneNumber);\n    const formatterMap = PHONE_FORMATTER_MAPPER;\n    // Detect or validate the country code\n    countryCode = (countryCode && countryCode in formatterMap\n        ? countryCode\n        : detectCountryAndDialCodeFromPhone(phoneNumber).countryCode);\n    // Fetch the pattern for the countryCode from the PHONE_FORMATTER_MAPPER\n    const pattern = formatterMap[countryCode];\n    if (!pattern)\n        return phoneNumber;\n    // Count the number of 'x' characters in the format pattern\n    let charCountInFormatterPattern = 0;\n    for (let i = 0; i < pattern.length; i++) {\n        if (pattern[i] === 'x') {\n            charCountInFormatterPattern++;\n        }\n    }\n    // Calculate the difference between phoneNumber length and 'x' characters count in pattern\n    const diff = phoneNumber.length - charCountInFormatterPattern;\n    // Extract the phoneNumber without the prefix\n    const phoneNumberWithoutPrefix = phoneNumber.slice(diff);\n    const formattedNumber = [];\n    let numberIndex = 0;\n    // Loop through the pattern to format the phoneNumber\n    for (let i = 0; i < pattern.length; i++) {\n        const patternChar = pattern[i];\n        if (patternChar === 'x') {\n            // Insert phoneNumber digits at 'x' positions\n            if (numberIndex < phoneNumberWithoutPrefix.length) {\n                formattedNumber.push(phoneNumberWithoutPrefix[numberIndex]);\n                numberIndex++;\n            }\n        }\n        else {\n            // Insert non-digit characters from the pattern\n            formattedNumber.push(patternChar);\n        }\n    }\n    // Join the formattedNumber array to create the formattedPhoneNumber without prefix\n    const formattedPhoneNumberWithoutPrefix = formattedNumber.join('');\n    // Combine the prefix and formattedPhoneNumberWithoutPrefix\n    const formattedPhoneNumberWithPrefix = phoneNumber.slice(0, diff) + ' ' + formattedPhoneNumberWithoutPrefix;\n    // Return the formattedPhoneNumber with prefix after trimming whitespace\n    return formattedPhoneNumberWithPrefix.trim();\n};\nvar formatPhoneNumber$1 = withErrorBoundary(formatPhoneNumber);\n\n// Parses a given phone number, identifies its country code (if not provided), and returns an object with details including the country code, formatted phone number, dial code, and format template.\nconst parsePhoneNumber = (phoneNumber, country) => {\n    // Throw errors if phoneNumber is invalid\n    if (!phoneNumber)\n        throw new Error(`Parameter 'phoneNumber' is invalid! The received value was: ${phoneNumber}. Please ensure you provide a valid phone number.`);\n    // Clean the phoneNumber by removing non-numeric characters\n    phoneNumber = phoneNumber.toString();\n    phoneNumber = cleanPhoneNumber(phoneNumber);\n    const countryData = detectCountryAndDialCodeFromPhone(phoneNumber);\n    const formatterMap = PHONE_FORMATTER_MAPPER;\n    // Detect or validate the country code\n    const countryCode = (country && country in formatterMap ? country : countryData.countryCode);\n    const dialCode = countryData.dialCode;\n    // Format the phone number using the detected/validated country code\n    const formattedPhoneNumber = formatPhoneNumber$1(phoneNumber, countryCode);\n    // Fetch the pattern associated with the countryCode from the PHONE_FORMATTER_MAPPER\n    const pattern = formatterMap[countryCode];\n    if (!pattern)\n        return {\n            countryCode,\n            dialCode,\n            formattedPhoneNumber: phoneNumber,\n            formatTemplate: '',\n            phoneNumber,\n        };\n    // Count the number of 'x' characters in the format pattern\n    let charCountInFormatterPattern = 0;\n    for (let i = 0; i < pattern.length; i++) {\n        if (pattern[i] === 'x') {\n            charCountInFormatterPattern++;\n        }\n    }\n    // Calculate the difference between phoneNumber length and 'x' characters count in pattern\n    const diff = phoneNumber.length - charCountInFormatterPattern;\n    // Obtain the format template associated with the countryCode\n    const formatTemplate = formatterMap[countryCode];\n    // Return the parsed phone number information\n    return {\n        phoneNumber: phoneNumber.slice(diff),\n        countryCode,\n        dialCode,\n        formattedPhoneNumber: pattern ? formattedPhoneNumber : phoneNumber,\n        formatTemplate: formatTemplate || '',\n    };\n};\nvar parsePhoneNumber$1 = withErrorBoundary(parsePhoneNumber);\n\n/**\n * Retrieves a mapping of country codes to their respective international dial codes.\n * @returns {Object} An object where each key is a country code (e.g., 'US', 'CA') and its value is the corresponding dial code (e.g., '+1' for 'US' and 'CA').\n */\nconst getDialCodes = () => {\n    const countryDialCode = {};\n    for (const [dialCode, countryCodes] of Object.entries(DIAL_CODE_MAPPER.dial_code_to_country)) {\n        countryCodes.forEach((countryCode) => {\n            countryDialCode[countryCode] = `+${Number(dialCode)}`;\n        });\n    }\n    return countryDialCode;\n};\nvar getDialCodes$1 = withErrorBoundary(getDialCodes);\n\n/**\n * Retrieves the dial code for a specified country code.\n *\n * @param countryCode The country code for which the dial code is to be retrieved.\n *                    It must be a key of the object returned by the `getDialCodes` function.\n * @returns The corresponding dial code as a string.\n * @throws An error if the provided country code is not found in the dial code mapping.\n */\nconst getDialCodeByCountryCode = (countryCode) => {\n    // Get the mapping of all country codes to their respective dial codes\n    const dialCodeForAllCountries = getDialCodes$1();\n    /** Check if the provided country code exists in the mapping.\n     * Return the corresponding dial code if the country code is valid.\n     * Throw an error if the country code is not found in the mapping\n     * */\n    if (countryCode in dialCodeForAllCountries)\n        return dialCodeForAllCountries[countryCode];\n    else\n        throw new Error(`The provided country code is invalid. The received value was: ${countryCode}. Please ensure you pass a valid country code. Check valid country codes here: https://github.com/razorpay/i18nify/blob/master/i18nify-data/country/metadata/data.json`);\n};\nvar getDialCodeByCountryCode$1 = withErrorBoundary(getDialCodeByCountryCode);\n\nexports.MaskingStyle = void 0;\n(function (MaskingStyle) {\n    MaskingStyle[\"Full\"] = \"full\";\n    MaskingStyle[\"Prefix\"] = \"prefix\";\n    MaskingStyle[\"Suffix\"] = \"suffix\";\n    MaskingStyle[\"Alternate\"] = \"alternate\";\n})(exports.MaskingStyle || (exports.MaskingStyle = {}));\n\n/**\n * Generates a masked phone number based on provided options.\n * This function handles the complexity of different phone number formats and\n * masking preferences such as complete masking or partial masking of digits.\n *\n * @param {GetMaskedPhoneNumberOptions} options - Options for generating the masked phone number.\n * @param {CountryCodeType} options.countryCode - The country code associated with the phone number.\n * @param {boolean} options.withDialCode - Determines if the dial code should be included in the masked number.\n * @param {string} options.phoneNumber - The actual phone number to mask.\n * @param {MaskingOptions} options.maskingOptions - Options to specify how the masking should be performed.\n * @returns {string} The masked phone number formatted as per the specified options.\n * @throws {Error} Throws an error if both countryCode and phoneNumber are empty or if other input validations fail.\n */\nconst getMaskedPhoneNumber = ({ countryCode, withDialCode = true, phoneNumber, maskingOptions = {}, }) => {\n    const { maskingStyle = exports.MaskingStyle.Full, maskedDigitsCount = 0, maskingChar = 'x', } = maskingOptions;\n    if (!countryCode && !phoneNumber) {\n        throw new Error(`Either 'countryCode' or 'phoneNumber' is mandatory. Please provide a valid 'countryCode' or 'phoneNumber'. Check valid country codes here: https://github.com/razorpay/i18nify/blob/master/i18nify-data/country/metadata/data.json`);\n    }\n    let maskedContactNumber;\n    let dialCode;\n    if (phoneNumber) {\n        // Clean the phone number to remove any non-numeric characters, except the leading '+'\n        let updatedPhoneNumber = phoneNumber;\n        updatedPhoneNumber = updatedPhoneNumber.toString();\n        updatedPhoneNumber = cleanPhoneNumber(updatedPhoneNumber);\n        // Detect the country code and dial code from the cleaned phone number\n        const countryData = detectCountryAndDialCodeFromPhone(updatedPhoneNumber);\n        const updatedCountryCode = countryCode || countryData.countryCode;\n        try {\n            dialCode = getDialCodeByCountryCode$1(updatedCountryCode);\n        }\n        catch (error) {\n            dialCode = countryData.dialCode;\n        }\n        // Extract the phone number without dial code\n        const phoneNumberWithoutDialCode = updatedPhoneNumber[0] === '+'\n            ? updatedPhoneNumber.slice(dialCode.toString().length)\n            : updatedPhoneNumber;\n        // Get the phone number formatting template based on the country code\n        const formattingTemplate = PHONE_FORMATTER_MAPPER[updatedCountryCode] ||\n            phoneNumber.replace(/\\d/g, 'x');\n        switch (maskingStyle) {\n            case exports.MaskingStyle.Alternate:\n                // Example: 7394926646 --> 7x9x9x6x4x\n                maskedContactNumber = alternateMasking(phoneNumberWithoutDialCode);\n                break;\n            case exports.MaskingStyle.Prefix:\n                // Example: 7394926646 --> xxxx 926646\n                maskedContactNumber = prefixMasking(formattingTemplate, String(phoneNumberWithoutDialCode), phoneNumberWithoutDialCode.length - maskedDigitsCount);\n                break;\n            case exports.MaskingStyle.Suffix:\n                // Example: 7394926646 --> 7494 92xxxx\n                maskedContactNumber = suffixMasking(formattingTemplate, String(phoneNumberWithoutDialCode), phoneNumberWithoutDialCode.length - maskedDigitsCount);\n                break;\n            default: // Full Masking Condition\n                maskedContactNumber = formattingTemplate;\n        }\n    }\n    else {\n        // Retrieve the phone number formatting template using the country code\n        maskedContactNumber = PHONE_FORMATTER_MAPPER[countryCode];\n        if (!maskedContactNumber) {\n            throw new Error(`Parameter 'countryCode' is invalid. The received value was: ${countryCode}. Check valid country codes here: https://github.com/razorpay/i18nify/blob/master/i18nify-data/country/metadata/data.json`);\n        }\n        dialCode = getDialCodeByCountryCode$1(countryCode);\n    }\n    // Include the dial code in the masked phone number if requested\n    if (withDialCode) {\n        return `${dialCode} ${maskedContactNumber.replace(/x/g, maskingChar)}`.trim();\n    }\n    else {\n        return maskedContactNumber.trim().replace(/x/g, maskingChar);\n    }\n};\nvar getMaskedPhoneNumber$1 = withErrorBoundary(getMaskedPhoneNumber);\n\n/*\n * Copyright 2020 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 */ \nfunction $2b4dce13dd5a17fa$export$842a2cf37af977e1(amount, numerator) {\n    return amount - numerator * Math.floor(amount / numerator);\n}\n\n/*\n * Copyright 2020 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 */ // Portions of the code in this file are based on code from ICU.\n// Original licensing can be found in the NOTICE file in the root directory of this source tree.\n\n\nconst $3b62074eb05584b2$var$EPOCH = 1721426; // 001/01/03 Julian C.E.\nfunction $3b62074eb05584b2$export$f297eb839006d339(era, year, month, day) {\n    year = $3b62074eb05584b2$export$c36e0ecb2d4fa69d(era, year);\n    let y1 = year - 1;\n    let monthOffset = -2;\n    if (month <= 2) monthOffset = 0;\n    else if ($3b62074eb05584b2$export$553d7fa8e3805fc0(year)) monthOffset = -1;\n    return $3b62074eb05584b2$var$EPOCH - 1 + 365 * y1 + Math.floor(y1 / 4) - Math.floor(y1 / 100) + Math.floor(y1 / 400) + Math.floor((367 * month - 362) / 12 + monthOffset + day);\n}\nfunction $3b62074eb05584b2$export$553d7fa8e3805fc0(year) {\n    return year % 4 === 0 && (year % 100 !== 0 || year % 400 === 0);\n}\nfunction $3b62074eb05584b2$export$c36e0ecb2d4fa69d(era, year) {\n    return era === 'BC' ? 1 - year : year;\n}\nfunction $3b62074eb05584b2$export$4475b7e617eb123c(year) {\n    let era = 'AD';\n    if (year <= 0) {\n        era = 'BC';\n        year = 1 - year;\n    }\n    return [\n        era,\n        year\n    ];\n}\nconst $3b62074eb05584b2$var$daysInMonth = {\n    standard: [\n        31,\n        28,\n        31,\n        30,\n        31,\n        30,\n        31,\n        31,\n        30,\n        31,\n        30,\n        31\n    ],\n    leapyear: [\n        31,\n        29,\n        31,\n        30,\n        31,\n        30,\n        31,\n        31,\n        30,\n        31,\n        30,\n        31\n    ]\n};\nclass $3b62074eb05584b2$export$80ee6245ec4f29ec {\n    fromJulianDay(jd) {\n        let jd0 = jd;\n        let depoch = jd0 - $3b62074eb05584b2$var$EPOCH;\n        let quadricent = Math.floor(depoch / 146097);\n        let dqc = ($2b4dce13dd5a17fa$export$842a2cf37af977e1)(depoch, 146097);\n        let cent = Math.floor(dqc / 36524);\n        let dcent = ($2b4dce13dd5a17fa$export$842a2cf37af977e1)(dqc, 36524);\n        let quad = Math.floor(dcent / 1461);\n        let dquad = ($2b4dce13dd5a17fa$export$842a2cf37af977e1)(dcent, 1461);\n        let yindex = Math.floor(dquad / 365);\n        let extendedYear = quadricent * 400 + cent * 100 + quad * 4 + yindex + (cent !== 4 && yindex !== 4 ? 1 : 0);\n        let [era, year] = $3b62074eb05584b2$export$4475b7e617eb123c(extendedYear);\n        let yearDay = jd0 - $3b62074eb05584b2$export$f297eb839006d339(era, year, 1, 1);\n        let leapAdj = 2;\n        if (jd0 < $3b62074eb05584b2$export$f297eb839006d339(era, year, 3, 1)) leapAdj = 0;\n        else if ($3b62074eb05584b2$export$553d7fa8e3805fc0(year)) leapAdj = 1;\n        let month = Math.floor(((yearDay + leapAdj) * 12 + 373) / 367);\n        let day = jd0 - $3b62074eb05584b2$export$f297eb839006d339(era, year, month, 1) + 1;\n        return new ($35ea8db9cb2ccb90$export$99faa760c7908e4f)(era, year, month, day);\n    }\n    toJulianDay(date) {\n        return $3b62074eb05584b2$export$f297eb839006d339(date.era, date.year, date.month, date.day);\n    }\n    getDaysInMonth(date) {\n        return $3b62074eb05584b2$var$daysInMonth[$3b62074eb05584b2$export$553d7fa8e3805fc0(date.year) ? 'leapyear' : 'standard'][date.month - 1];\n    }\n    // eslint-disable-next-line @typescript-eslint/no-unused-vars\n    getMonthsInYear(date) {\n        return 12;\n    }\n    getDaysInYear(date) {\n        return $3b62074eb05584b2$export$553d7fa8e3805fc0(date.year) ? 366 : 365;\n    }\n    // eslint-disable-next-line @typescript-eslint/no-unused-vars\n    getYearsInEra(date) {\n        return 9999;\n    }\n    getEras() {\n        return [\n            'BC',\n            'AD'\n        ];\n    }\n    isInverseEra(date) {\n        return date.era === 'BC';\n    }\n    balanceDate(date) {\n        if (date.year <= 0) {\n            date.era = date.era === 'BC' ? 'AD' : 'BC';\n            date.year = 1 - date.year;\n        }\n    }\n    constructor(){\n        this.identifier = 'gregory';\n    }\n}\n\nfunction $14e0f24ef4ac5c92$export$68781ddf31c0090f(a, b) {\n    return a.calendar.toJulianDay(a) - b.calendar.toJulianDay(b);\n}\nfunction $14e0f24ef4ac5c92$export$c19a80a9721b80f6(a, b) {\n    return $14e0f24ef4ac5c92$var$timeToMs(a) - $14e0f24ef4ac5c92$var$timeToMs(b);\n}\nfunction $14e0f24ef4ac5c92$var$timeToMs(a) {\n    return a.hour * 3600000 + a.minute * 60000 + a.second * 1000 + a.millisecond;\n}\nlet $14e0f24ef4ac5c92$var$localTimeZone = null;\nfunction $14e0f24ef4ac5c92$export$aa8b41735afcabd2() {\n    // TODO: invalidate this somehow?\n    if ($14e0f24ef4ac5c92$var$localTimeZone == null) $14e0f24ef4ac5c92$var$localTimeZone = new Intl.DateTimeFormat().resolvedOptions().timeZone;\n    return $14e0f24ef4ac5c92$var$localTimeZone;\n}\n\n/*\n * Copyright 2020 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 */ // Portions of the code in this file are based on code from the TC39 Temporal proposal.\n// Original licensing can be found in the NOTICE file in the root directory of this source tree.\n\n\n\n\nfunction $11d87f3f76e88657$export$bd4fb2bc8bb06fb(date) {\n    date = $11d87f3f76e88657$export$b4a036af3fc0b032(date, new ($3b62074eb05584b2$export$80ee6245ec4f29ec)());\n    let year = ($3b62074eb05584b2$export$c36e0ecb2d4fa69d)(date.era, date.year);\n    return $11d87f3f76e88657$var$epochFromParts(year, date.month, date.day, date.hour, date.minute, date.second, date.millisecond);\n}\nfunction $11d87f3f76e88657$var$epochFromParts(year, month, day, hour, minute, second, millisecond) {\n    // Note: Date.UTC() interprets one and two-digit years as being in the\n    // 20th century, so don't use it\n    let date = new Date();\n    date.setUTCHours(hour, minute, second, millisecond);\n    date.setUTCFullYear(year, month - 1, day);\n    return date.getTime();\n}\nfunction $11d87f3f76e88657$export$59c99f3515d3493f(ms, timeZone) {\n    // Fast path for UTC.\n    if (timeZone === 'UTC') return 0;\n    // Fast path: for local timezone after 1970, use native Date.\n    if (ms > 0 && timeZone === ($14e0f24ef4ac5c92$export$aa8b41735afcabd2)()) return new Date(ms).getTimezoneOffset() * -6e4;\n    let { year: year, month: month, day: day, hour: hour, minute: minute, second: second } = $11d87f3f76e88657$var$getTimeZoneParts(ms, timeZone);\n    let utc = $11d87f3f76e88657$var$epochFromParts(year, month, day, hour, minute, second, 0);\n    return utc - Math.floor(ms / 1000) * 1000;\n}\nconst $11d87f3f76e88657$var$formattersByTimeZone = new Map();\nfunction $11d87f3f76e88657$var$getTimeZoneParts(ms, timeZone) {\n    let formatter = $11d87f3f76e88657$var$formattersByTimeZone.get(timeZone);\n    if (!formatter) {\n        formatter = new Intl.DateTimeFormat('en-US', {\n            timeZone: timeZone,\n            hour12: false,\n            era: 'short',\n            year: 'numeric',\n            month: 'numeric',\n            day: 'numeric',\n            hour: 'numeric',\n            minute: 'numeric',\n            second: 'numeric'\n        });\n        $11d87f3f76e88657$var$formattersByTimeZone.set(timeZone, formatter);\n    }\n    let parts = formatter.formatToParts(new Date(ms));\n    let namedParts = {};\n    for (let part of parts)if (part.type !== 'literal') namedParts[part.type] = part.value;\n    return {\n        // Firefox returns B instead of BC... https://bugzilla.mozilla.org/show_bug.cgi?id=1752253\n        year: namedParts.era === 'BC' || namedParts.era === 'B' ? -namedParts.year + 1 : +namedParts.year,\n        month: +namedParts.month,\n        day: +namedParts.day,\n        hour: namedParts.hour === '24' ? 0 : +namedParts.hour,\n        minute: +namedParts.minute,\n        second: +namedParts.second\n    };\n}\nconst $11d87f3f76e88657$var$DAYMILLIS = 86400000;\nfunction $11d87f3f76e88657$var$getValidWallTimes(date, timeZone, earlier, later) {\n    let found = earlier === later ? [\n        earlier\n    ] : [\n        earlier,\n        later\n    ];\n    return found.filter((absolute)=>$11d87f3f76e88657$var$isValidWallTime(date, timeZone, absolute));\n}\nfunction $11d87f3f76e88657$var$isValidWallTime(date, timeZone, absolute) {\n    let parts = $11d87f3f76e88657$var$getTimeZoneParts(absolute, timeZone);\n    return date.year === parts.year && date.month === parts.month && date.day === parts.day && date.hour === parts.hour && date.minute === parts.minute && date.second === parts.second;\n}\nfunction $11d87f3f76e88657$export$5107c82f94518f5c(date, timeZone, disambiguation = 'compatible') {\n    let dateTime = $11d87f3f76e88657$export$b21e0b124e224484(date);\n    // Fast path: if the time zone is UTC, use native Date.\n    if (timeZone === 'UTC') return $11d87f3f76e88657$export$bd4fb2bc8bb06fb(dateTime);\n    // Fast path: if the time zone is the local timezone and disambiguation is compatible, use native Date.\n    if (timeZone === ($14e0f24ef4ac5c92$export$aa8b41735afcabd2)() && disambiguation === 'compatible') {\n        dateTime = $11d87f3f76e88657$export$b4a036af3fc0b032(dateTime, new ($3b62074eb05584b2$export$80ee6245ec4f29ec)());\n        // Don't use Date constructor here because two-digit years are interpreted in the 20th century.\n        let date = new Date();\n        let year = ($3b62074eb05584b2$export$c36e0ecb2d4fa69d)(dateTime.era, dateTime.year);\n        date.setFullYear(year, dateTime.month - 1, dateTime.day);\n        date.setHours(dateTime.hour, dateTime.minute, dateTime.second, dateTime.millisecond);\n        return date.getTime();\n    }\n    let ms = $11d87f3f76e88657$export$bd4fb2bc8bb06fb(dateTime);\n    let offsetBefore = $11d87f3f76e88657$export$59c99f3515d3493f(ms - $11d87f3f76e88657$var$DAYMILLIS, timeZone);\n    let offsetAfter = $11d87f3f76e88657$export$59c99f3515d3493f(ms + $11d87f3f76e88657$var$DAYMILLIS, timeZone);\n    let valid = $11d87f3f76e88657$var$getValidWallTimes(dateTime, timeZone, ms - offsetBefore, ms - offsetAfter);\n    if (valid.length === 1) return valid[0];\n    if (valid.length > 1) switch(disambiguation){\n        // 'compatible' means 'earlier' for \"fall back\" transitions\n        case 'compatible':\n        case 'earlier':\n            return valid[0];\n        case 'later':\n            return valid[valid.length - 1];\n        case 'reject':\n            throw new RangeError('Multiple possible absolute times found');\n    }\n    switch(disambiguation){\n        case 'earlier':\n            return Math.min(ms - offsetBefore, ms - offsetAfter);\n        // 'compatible' means 'later' for \"spring forward\" transitions\n        case 'compatible':\n        case 'later':\n            return Math.max(ms - offsetBefore, ms - offsetAfter);\n        case 'reject':\n            throw new RangeError('No such absolute time found');\n    }\n}\nfunction $11d87f3f76e88657$export$e67a095c620b86fe(dateTime, timeZone, disambiguation = 'compatible') {\n    return new Date($11d87f3f76e88657$export$5107c82f94518f5c(dateTime, timeZone, disambiguation));\n}\nfunction $11d87f3f76e88657$export$1b96692a1ba042ac(ms, timeZone) {\n    let offset = $11d87f3f76e88657$export$59c99f3515d3493f(ms, timeZone);\n    let date = new Date(ms + offset);\n    let year = date.getUTCFullYear();\n    let month = date.getUTCMonth() + 1;\n    let day = date.getUTCDate();\n    let hour = date.getUTCHours();\n    let minute = date.getUTCMinutes();\n    let second = date.getUTCSeconds();\n    let millisecond = date.getUTCMilliseconds();\n    return new ($35ea8db9cb2ccb90$export$d3b7288e7994edea)(year < 1 ? 'BC' : 'AD', year < 1 ? -year + 1 : year, month, day, timeZone, offset, hour, minute, second, millisecond);\n}\nfunction $11d87f3f76e88657$export$b21e0b124e224484(date, time) {\n    let hour = 0, minute = 0, second = 0, millisecond = 0;\n    if ('timeZone' in date) ({ hour: hour, minute: minute, second: second, millisecond: millisecond } = date);\n    else if ('hour' in date && !time) return date;\n    if (time) ({ hour: hour, minute: minute, second: second, millisecond: millisecond } = time);\n    return new ($35ea8db9cb2ccb90$export$ca871e8dbb80966f)(date.calendar, date.era, date.year, date.month, date.day, hour, minute, second, millisecond);\n}\nfunction $11d87f3f76e88657$export$b4a036af3fc0b032(date, calendar) {\n    if (date.calendar.identifier === calendar.identifier) return date;\n    let calendarDate = calendar.fromJulianDay(date.calendar.toJulianDay(date));\n    let copy = date.copy();\n    copy.calendar = calendar;\n    copy.era = calendarDate.era;\n    copy.year = calendarDate.year;\n    copy.month = calendarDate.month;\n    copy.day = calendarDate.day;\n    ($735220c2d4774dd3$export$c4e2ecac49351ef2)(copy);\n    return copy;\n}\nfunction $11d87f3f76e88657$export$84c95a83c799e074(date, timeZone, disambiguation) {\n    if (date instanceof ($35ea8db9cb2ccb90$export$d3b7288e7994edea)) {\n        if (date.timeZone === timeZone) return date;\n        return $11d87f3f76e88657$export$538b00033cc11c75(date, timeZone);\n    }\n    let ms = $11d87f3f76e88657$export$5107c82f94518f5c(date, timeZone, disambiguation);\n    return $11d87f3f76e88657$export$1b96692a1ba042ac(ms, timeZone);\n}\nfunction $11d87f3f76e88657$export$83aac07b4c37b25(date) {\n    let ms = $11d87f3f76e88657$export$bd4fb2bc8bb06fb(date) - date.offset;\n    return new Date(ms);\n}\nfunction $11d87f3f76e88657$export$538b00033cc11c75(date, timeZone) {\n    let ms = $11d87f3f76e88657$export$bd4fb2bc8bb06fb(date) - date.offset;\n    return $11d87f3f76e88657$export$b4a036af3fc0b032($11d87f3f76e88657$export$1b96692a1ba042ac(ms, timeZone), date.calendar);\n}\n\n/*\n * Copyright 2020 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\nconst $735220c2d4774dd3$var$ONE_HOUR = 3600000;\nfunction $735220c2d4774dd3$export$e16d8520af44a096(date, duration) {\n    let mutableDate = date.copy();\n    let days = 'hour' in mutableDate ? $735220c2d4774dd3$var$addTimeFields(mutableDate, duration) : 0;\n    $735220c2d4774dd3$var$addYears(mutableDate, duration.years || 0);\n    if (mutableDate.calendar.balanceYearMonth) mutableDate.calendar.balanceYearMonth(mutableDate, date);\n    mutableDate.month += duration.months || 0;\n    $735220c2d4774dd3$var$balanceYearMonth(mutableDate);\n    $735220c2d4774dd3$var$constrainMonthDay(mutableDate);\n    mutableDate.day += (duration.weeks || 0) * 7;\n    mutableDate.day += duration.days || 0;\n    mutableDate.day += days;\n    $735220c2d4774dd3$var$balanceDay(mutableDate);\n    if (mutableDate.calendar.balanceDate) mutableDate.calendar.balanceDate(mutableDate);\n    // Constrain in case adding ended up with a date outside the valid range for the calendar system.\n    // The behavior here is slightly different than when constraining in the `set` function in that\n    // we adjust smaller fields to their minimum/maximum values rather than constraining each field\n    // individually. This matches the general behavior of `add` vs `set` regarding how fields are balanced.\n    if (mutableDate.year < 1) {\n        mutableDate.year = 1;\n        mutableDate.month = 1;\n        mutableDate.day = 1;\n    }\n    let maxYear = mutableDate.calendar.getYearsInEra(mutableDate);\n    if (mutableDate.year > maxYear) {\n        var _mutableDate_calendar_isInverseEra, _mutableDate_calendar;\n        let isInverseEra = (_mutableDate_calendar_isInverseEra = (_mutableDate_calendar = mutableDate.calendar).isInverseEra) === null || _mutableDate_calendar_isInverseEra === void 0 ? void 0 : _mutableDate_calendar_isInverseEra.call(_mutableDate_calendar, mutableDate);\n        mutableDate.year = maxYear;\n        mutableDate.month = isInverseEra ? 1 : mutableDate.calendar.getMonthsInYear(mutableDate);\n        mutableDate.day = isInverseEra ? 1 : mutableDate.calendar.getDaysInMonth(mutableDate);\n    }\n    if (mutableDate.month < 1) {\n        mutableDate.month = 1;\n        mutableDate.day = 1;\n    }\n    let maxMonth = mutableDate.calendar.getMonthsInYear(mutableDate);\n    if (mutableDate.month > maxMonth) {\n        mutableDate.month = maxMonth;\n        mutableDate.day = mutableDate.calendar.getDaysInMonth(mutableDate);\n    }\n    mutableDate.day = Math.max(1, Math.min(mutableDate.calendar.getDaysInMonth(mutableDate), mutableDate.day));\n    return mutableDate;\n}\nfunction $735220c2d4774dd3$var$addYears(date, years) {\n    var _date_calendar_isInverseEra, _date_calendar;\n    if ((_date_calendar_isInverseEra = (_date_calendar = date.calendar).isInverseEra) === null || _date_calendar_isInverseEra === void 0 ? void 0 : _date_calendar_isInverseEra.call(_date_calendar, date)) years = -years;\n    date.year += years;\n}\nfunction $735220c2d4774dd3$var$balanceYearMonth(date) {\n    while(date.month < 1){\n        $735220c2d4774dd3$var$addYears(date, -1);\n        date.month += date.calendar.getMonthsInYear(date);\n    }\n    let monthsInYear = 0;\n    while(date.month > (monthsInYear = date.calendar.getMonthsInYear(date))){\n        date.month -= monthsInYear;\n        $735220c2d4774dd3$var$addYears(date, 1);\n    }\n}\nfunction $735220c2d4774dd3$var$balanceDay(date) {\n    while(date.day < 1){\n        date.month--;\n        $735220c2d4774dd3$var$balanceYearMonth(date);\n        date.day += date.calendar.getDaysInMonth(date);\n    }\n    while(date.day > date.calendar.getDaysInMonth(date)){\n        date.day -= date.calendar.getDaysInMonth(date);\n        date.month++;\n        $735220c2d4774dd3$var$balanceYearMonth(date);\n    }\n}\nfunction $735220c2d4774dd3$var$constrainMonthDay(date) {\n    date.month = Math.max(1, Math.min(date.calendar.getMonthsInYear(date), date.month));\n    date.day = Math.max(1, Math.min(date.calendar.getDaysInMonth(date), date.day));\n}\nfunction $735220c2d4774dd3$export$c4e2ecac49351ef2(date) {\n    if (date.calendar.constrainDate) date.calendar.constrainDate(date);\n    date.year = Math.max(1, Math.min(date.calendar.getYearsInEra(date), date.year));\n    $735220c2d4774dd3$var$constrainMonthDay(date);\n}\nfunction $735220c2d4774dd3$export$3e2544e88a25bff8(duration) {\n    let inverseDuration = {};\n    for(let key in duration)if (typeof duration[key] === 'number') inverseDuration[key] = -duration[key];\n    return inverseDuration;\n}\nfunction $735220c2d4774dd3$export$4e2d2ead65e5f7e3(date, duration) {\n    return $735220c2d4774dd3$export$e16d8520af44a096(date, $735220c2d4774dd3$export$3e2544e88a25bff8(duration));\n}\nfunction $735220c2d4774dd3$export$adaa4cf7ef1b65be(date, fields) {\n    let mutableDate = date.copy();\n    if (fields.era != null) mutableDate.era = fields.era;\n    if (fields.year != null) mutableDate.year = fields.year;\n    if (fields.month != null) mutableDate.month = fields.month;\n    if (fields.day != null) mutableDate.day = fields.day;\n    $735220c2d4774dd3$export$c4e2ecac49351ef2(mutableDate);\n    return mutableDate;\n}\nfunction $735220c2d4774dd3$export$e5d5e1c1822b6e56(value, fields) {\n    let mutableValue = value.copy();\n    if (fields.hour != null) mutableValue.hour = fields.hour;\n    if (fields.minute != null) mutableValue.minute = fields.minute;\n    if (fields.second != null) mutableValue.second = fields.second;\n    if (fields.millisecond != null) mutableValue.millisecond = fields.millisecond;\n    $735220c2d4774dd3$export$7555de1e070510cb(mutableValue);\n    return mutableValue;\n}\nfunction $735220c2d4774dd3$var$balanceTime(time) {\n    time.second += Math.floor(time.millisecond / 1000);\n    time.millisecond = $735220c2d4774dd3$var$nonNegativeMod(time.millisecond, 1000);\n    time.minute += Math.floor(time.second / 60);\n    time.second = $735220c2d4774dd3$var$nonNegativeMod(time.second, 60);\n    time.hour += Math.floor(time.minute / 60);\n    time.minute = $735220c2d4774dd3$var$nonNegativeMod(time.minute, 60);\n    let days = Math.floor(time.hour / 24);\n    time.hour = $735220c2d4774dd3$var$nonNegativeMod(time.hour, 24);\n    return days;\n}\nfunction $735220c2d4774dd3$export$7555de1e070510cb(time) {\n    time.millisecond = Math.max(0, Math.min(time.millisecond, 1000));\n    time.second = Math.max(0, Math.min(time.second, 59));\n    time.minute = Math.max(0, Math.min(time.minute, 59));\n    time.hour = Math.max(0, Math.min(time.hour, 23));\n}\nfunction $735220c2d4774dd3$var$nonNegativeMod(a, b) {\n    let result = a % b;\n    if (result < 0) result += b;\n    return result;\n}\nfunction $735220c2d4774dd3$var$addTimeFields(time, duration) {\n    time.hour += duration.hours || 0;\n    time.minute += duration.minutes || 0;\n    time.second += duration.seconds || 0;\n    time.millisecond += duration.milliseconds || 0;\n    return $735220c2d4774dd3$var$balanceTime(time);\n}\nfunction $735220c2d4774dd3$export$7ed87b6bc2506470(time, duration) {\n    let res = time.copy();\n    $735220c2d4774dd3$var$addTimeFields(res, duration);\n    return res;\n}\nfunction $735220c2d4774dd3$export$fe34d3a381cd7501(time, duration) {\n    return $735220c2d4774dd3$export$7ed87b6bc2506470(time, $735220c2d4774dd3$export$3e2544e88a25bff8(duration));\n}\nfunction $735220c2d4774dd3$export$d52ced6badfb9a4c(value, field, amount, options) {\n    let mutable = value.copy();\n    switch(field){\n        case 'era':\n            {\n                let eras = value.calendar.getEras();\n                let eraIndex = eras.indexOf(value.era);\n                if (eraIndex < 0) throw new Error('Invalid era: ' + value.era);\n                eraIndex = $735220c2d4774dd3$var$cycleValue(eraIndex, amount, 0, eras.length - 1, options === null || options === void 0 ? void 0 : options.round);\n                mutable.era = eras[eraIndex];\n                // Constrain the year and other fields within the era, so the era doesn't change when we balance below.\n                $735220c2d4774dd3$export$c4e2ecac49351ef2(mutable);\n                break;\n            }\n        case 'year':\n            var _mutable_calendar_isInverseEra, _mutable_calendar;\n            if ((_mutable_calendar_isInverseEra = (_mutable_calendar = mutable.calendar).isInverseEra) === null || _mutable_calendar_isInverseEra === void 0 ? void 0 : _mutable_calendar_isInverseEra.call(_mutable_calendar, mutable)) amount = -amount;\n            // The year field should not cycle within the era as that can cause weird behavior affecting other fields.\n            // We need to also allow values < 1 so that decrementing goes to the previous era. If we get -Infinity back\n            // we know we wrapped around after reaching 9999 (the maximum), so set the year back to 1.\n            mutable.year = $735220c2d4774dd3$var$cycleValue(value.year, amount, -Infinity, 9999, options === null || options === void 0 ? void 0 : options.round);\n            if (mutable.year === -Infinity) mutable.year = 1;\n            if (mutable.calendar.balanceYearMonth) mutable.calendar.balanceYearMonth(mutable, value);\n            break;\n        case 'month':\n            mutable.month = $735220c2d4774dd3$var$cycleValue(value.month, amount, 1, value.calendar.getMonthsInYear(value), options === null || options === void 0 ? void 0 : options.round);\n            break;\n        case 'day':\n            mutable.day = $735220c2d4774dd3$var$cycleValue(value.day, amount, 1, value.calendar.getDaysInMonth(value), options === null || options === void 0 ? void 0 : options.round);\n            break;\n        default:\n            throw new Error('Unsupported field ' + field);\n    }\n    if (value.calendar.balanceDate) value.calendar.balanceDate(mutable);\n    $735220c2d4774dd3$export$c4e2ecac49351ef2(mutable);\n    return mutable;\n}\nfunction $735220c2d4774dd3$export$dd02b3e0007dfe28(value, field, amount, options) {\n    let mutable = value.copy();\n    switch(field){\n        case 'hour':\n            {\n                let hours = value.hour;\n                let min = 0;\n                let max = 23;\n                if ((options === null || options === void 0 ? void 0 : options.hourCycle) === 12) {\n                    let isPM = hours >= 12;\n                    min = isPM ? 12 : 0;\n                    max = isPM ? 23 : 11;\n                }\n                mutable.hour = $735220c2d4774dd3$var$cycleValue(hours, amount, min, max, options === null || options === void 0 ? void 0 : options.round);\n                break;\n            }\n        case 'minute':\n            mutable.minute = $735220c2d4774dd3$var$cycleValue(value.minute, amount, 0, 59, options === null || options === void 0 ? void 0 : options.round);\n            break;\n        case 'second':\n            mutable.second = $735220c2d4774dd3$var$cycleValue(value.second, amount, 0, 59, options === null || options === void 0 ? void 0 : options.round);\n            break;\n        case 'millisecond':\n            mutable.millisecond = $735220c2d4774dd3$var$cycleValue(value.millisecond, amount, 0, 999, options === null || options === void 0 ? void 0 : options.round);\n            break;\n        default:\n            throw new Error('Unsupported field ' + field);\n    }\n    return mutable;\n}\nfunction $735220c2d4774dd3$var$cycleValue(value, amount, min, max, round = false) {\n    if (round) {\n        value += Math.sign(amount);\n        if (value < min) value = max;\n        let div = Math.abs(amount);\n        if (amount > 0) value = Math.ceil(value / div) * div;\n        else value = Math.floor(value / div) * div;\n        if (value > max) value = min;\n    } else {\n        value += amount;\n        if (value < min) value = max - (min - value - 1);\n        else if (value > max) value = min + (value - max - 1);\n    }\n    return value;\n}\nfunction $735220c2d4774dd3$export$96b1d28349274637(dateTime, duration) {\n    let ms;\n    if (duration.years != null && duration.years !== 0 || duration.months != null && duration.months !== 0 || duration.weeks != null && duration.weeks !== 0 || duration.days != null && duration.days !== 0) {\n        let res = $735220c2d4774dd3$export$e16d8520af44a096(($11d87f3f76e88657$export$b21e0b124e224484)(dateTime), {\n            years: duration.years,\n            months: duration.months,\n            weeks: duration.weeks,\n            days: duration.days\n        });\n        // Changing the date may change the timezone offset, so we need to recompute\n        // using the 'compatible' disambiguation.\n        ms = ($11d87f3f76e88657$export$5107c82f94518f5c)(res, dateTime.timeZone);\n    } else // Otherwise, preserve the offset of the original date.\n    ms = ($11d87f3f76e88657$export$bd4fb2bc8bb06fb)(dateTime) - dateTime.offset;\n    // Perform time manipulation in milliseconds rather than on the original time fields to account for DST.\n    // For example, adding one hour during a DST transition may result in the hour field staying the same or\n    // skipping an hour. This results in the offset field changing value instead of the specified field.\n    ms += duration.milliseconds || 0;\n    ms += (duration.seconds || 0) * 1000;\n    ms += (duration.minutes || 0) * 60000;\n    ms += (duration.hours || 0) * 3600000;\n    let res = ($11d87f3f76e88657$export$1b96692a1ba042ac)(ms, dateTime.timeZone);\n    return ($11d87f3f76e88657$export$b4a036af3fc0b032)(res, dateTime.calendar);\n}\nfunction $735220c2d4774dd3$export$6814caac34ca03c7(dateTime, duration) {\n    return $735220c2d4774dd3$export$96b1d28349274637(dateTime, $735220c2d4774dd3$export$3e2544e88a25bff8(duration));\n}\nfunction $735220c2d4774dd3$export$9a297d111fc86b79(dateTime, field, amount, options) {\n    // For date fields, we want the time to remain consistent and the UTC offset to potentially change to account for DST changes.\n    // For time fields, we want the time to change by the amount given. This may result in the hour field staying the same, but the UTC\n    // offset changing in the case of a backward DST transition, or skipping an hour in the case of a forward DST transition.\n    switch(field){\n        case 'hour':\n            {\n                let min = 0;\n                let max = 23;\n                if ((options === null || options === void 0 ? void 0 : options.hourCycle) === 12) {\n                    let isPM = dateTime.hour >= 12;\n                    min = isPM ? 12 : 0;\n                    max = isPM ? 23 : 11;\n                }\n                // The minimum and maximum hour may be affected by daylight saving time.\n                // For example, it might jump forward at midnight, and skip 1am.\n                // Or it might end at midnight and repeat the 11pm hour. To handle this, we get\n                // the possible absolute times for the min and max, and find the maximum range\n                // that is within the current day.\n                let plainDateTime = ($11d87f3f76e88657$export$b21e0b124e224484)(dateTime);\n                let minDate = ($11d87f3f76e88657$export$b4a036af3fc0b032)($735220c2d4774dd3$export$e5d5e1c1822b6e56(plainDateTime, {\n                    hour: min\n                }), new ($3b62074eb05584b2$export$80ee6245ec4f29ec)());\n                let minAbsolute = [\n                    ($11d87f3f76e88657$export$5107c82f94518f5c)(minDate, dateTime.timeZone, 'earlier'),\n                    ($11d87f3f76e88657$export$5107c82f94518f5c)(minDate, dateTime.timeZone, 'later')\n                ].filter((ms)=>($11d87f3f76e88657$export$1b96692a1ba042ac)(ms, dateTime.timeZone).day === minDate.day)[0];\n                let maxDate = ($11d87f3f76e88657$export$b4a036af3fc0b032)($735220c2d4774dd3$export$e5d5e1c1822b6e56(plainDateTime, {\n                    hour: max\n                }), new ($3b62074eb05584b2$export$80ee6245ec4f29ec)());\n                let maxAbsolute = [\n                    ($11d87f3f76e88657$export$5107c82f94518f5c)(maxDate, dateTime.timeZone, 'earlier'),\n                    ($11d87f3f76e88657$export$5107c82f94518f5c)(maxDate, dateTime.timeZone, 'later')\n                ].filter((ms)=>($11d87f3f76e88657$export$1b96692a1ba042ac)(ms, dateTime.timeZone).day === maxDate.day).pop();\n                // Since hours may repeat, we need to operate on the absolute time in milliseconds.\n                // This is done in hours from the Unix epoch so that cycleValue works correctly,\n                // and then converted back to milliseconds.\n                let ms = ($11d87f3f76e88657$export$bd4fb2bc8bb06fb)(dateTime) - dateTime.offset;\n                let hours = Math.floor(ms / $735220c2d4774dd3$var$ONE_HOUR);\n                let remainder = ms % $735220c2d4774dd3$var$ONE_HOUR;\n                ms = $735220c2d4774dd3$var$cycleValue(hours, amount, Math.floor(minAbsolute / $735220c2d4774dd3$var$ONE_HOUR), Math.floor(maxAbsolute / $735220c2d4774dd3$var$ONE_HOUR), options === null || options === void 0 ? void 0 : options.round) * $735220c2d4774dd3$var$ONE_HOUR + remainder;\n                // Now compute the new timezone offset, and convert the absolute time back to local time.\n                return ($11d87f3f76e88657$export$b4a036af3fc0b032)(($11d87f3f76e88657$export$1b96692a1ba042ac)(ms, dateTime.timeZone), dateTime.calendar);\n            }\n        case 'minute':\n        case 'second':\n        case 'millisecond':\n            // @ts-ignore\n            return $735220c2d4774dd3$export$dd02b3e0007dfe28(dateTime, field, amount, options);\n        case 'era':\n        case 'year':\n        case 'month':\n        case 'day':\n            {\n                let res = $735220c2d4774dd3$export$d52ced6badfb9a4c(($11d87f3f76e88657$export$b21e0b124e224484)(dateTime), field, amount, options);\n                let ms = ($11d87f3f76e88657$export$5107c82f94518f5c)(res, dateTime.timeZone);\n                return ($11d87f3f76e88657$export$b4a036af3fc0b032)(($11d87f3f76e88657$export$1b96692a1ba042ac)(ms, dateTime.timeZone), dateTime.calendar);\n            }\n        default:\n            throw new Error('Unsupported field ' + field);\n    }\n}\nfunction $735220c2d4774dd3$export$31b5430eb18be4f8(dateTime, fields, disambiguation) {\n    // Set the date/time fields, and recompute the UTC offset to account for DST changes.\n    // We also need to validate by converting back to a local time in case hours are skipped during forward DST transitions.\n    let plainDateTime = ($11d87f3f76e88657$export$b21e0b124e224484)(dateTime);\n    let res = $735220c2d4774dd3$export$e5d5e1c1822b6e56($735220c2d4774dd3$export$adaa4cf7ef1b65be(plainDateTime, fields), fields);\n    // If the resulting plain date time values are equal, return the original time.\n    // We don't want to change the offset when setting the time to the same value.\n    if (res.compare(plainDateTime) === 0) return dateTime;\n    let ms = ($11d87f3f76e88657$export$5107c82f94518f5c)(res, dateTime.timeZone, disambiguation);\n    return ($11d87f3f76e88657$export$b4a036af3fc0b032)(($11d87f3f76e88657$export$1b96692a1ba042ac)(ms, dateTime.timeZone), dateTime.calendar);\n}\n\nfunction $fae977aafc393c5c$export$f59dee82248f5ad4(time) {\n    return `${String(time.hour).padStart(2, '0')}:${String(time.minute).padStart(2, '0')}:${String(time.second).padStart(2, '0')}${time.millisecond ? String(time.millisecond / 1000).slice(1) : ''}`;\n}\nfunction $fae977aafc393c5c$export$60dfd74aa96791bd(date) {\n    let gregorianDate = ($11d87f3f76e88657$export$b4a036af3fc0b032)(date, new ($3b62074eb05584b2$export$80ee6245ec4f29ec)());\n    let year;\n    if (gregorianDate.era === 'BC') year = gregorianDate.year === 1 ? '0000' : '-' + String(Math.abs(1 - gregorianDate.year)).padStart(6, '00');\n    else year = String(gregorianDate.year).padStart(4, '0');\n    return `${year}-${String(gregorianDate.month).padStart(2, '0')}-${String(gregorianDate.day).padStart(2, '0')}`;\n}\nfunction $fae977aafc393c5c$export$4223de14708adc63(date) {\n    // @ts-ignore\n    return `${$fae977aafc393c5c$export$60dfd74aa96791bd(date)}T${$fae977aafc393c5c$export$f59dee82248f5ad4(date)}`;\n}\nfunction $fae977aafc393c5c$var$offsetToString(offset) {\n    let sign = Math.sign(offset) < 0 ? '-' : '+';\n    offset = Math.abs(offset);\n    let offsetHours = Math.floor(offset / 3600000);\n    let offsetMinutes = offset % 3600000 / 60000;\n    return `${sign}${String(offsetHours).padStart(2, '0')}:${String(offsetMinutes).padStart(2, '0')}`;\n}\nfunction $fae977aafc393c5c$export$bf79f1ebf4b18792(date) {\n    return `${$fae977aafc393c5c$export$4223de14708adc63(date)}${$fae977aafc393c5c$var$offsetToString(date.offset)}[${date.timeZone}]`;\n}\n\nfunction _check_private_redeclaration(obj, privateCollection) {\n    if (privateCollection.has(obj)) {\n        throw new TypeError(\"Cannot initialize the same private elements twice on an object\");\n    }\n}\n\nfunction _class_private_field_init(obj, privateMap, value) {\n    _check_private_redeclaration(obj, privateMap);\n    privateMap.set(obj, value);\n}\n\n/*\n * Copyright 2020 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\n\n\n\nfunction $35ea8db9cb2ccb90$var$shiftArgs(args) {\n    let calendar = typeof args[0] === 'object' ? args.shift() : new ($3b62074eb05584b2$export$80ee6245ec4f29ec)();\n    let era;\n    if (typeof args[0] === 'string') era = args.shift();\n    else {\n        let eras = calendar.getEras();\n        era = eras[eras.length - 1];\n    }\n    let year = args.shift();\n    let month = args.shift();\n    let day = args.shift();\n    return [\n        calendar,\n        era,\n        year,\n        month,\n        day\n    ];\n}\nvar // This prevents TypeScript from allowing other types with the same fields to match.\n// i.e. a ZonedDateTime should not be be passable to a parameter that expects CalendarDate.\n// If that behavior is desired, use the AnyCalendarDate interface instead.\n// @ts-ignore\n$35ea8db9cb2ccb90$var$_type = /*#__PURE__*/ new WeakMap();\nclass $35ea8db9cb2ccb90$export$99faa760c7908e4f {\n    /** Returns a copy of this date. */ copy() {\n        if (this.era) return new $35ea8db9cb2ccb90$export$99faa760c7908e4f(this.calendar, this.era, this.year, this.month, this.day);\n        else return new $35ea8db9cb2ccb90$export$99faa760c7908e4f(this.calendar, this.year, this.month, this.day);\n    }\n    /** Returns a new `CalendarDate` with the given duration added to it. */ add(duration) {\n        return ($735220c2d4774dd3$export$e16d8520af44a096)(this, duration);\n    }\n    /** Returns a new `CalendarDate` with the given duration subtracted from it. */ subtract(duration) {\n        return ($735220c2d4774dd3$export$4e2d2ead65e5f7e3)(this, duration);\n    }\n    /** Returns a new `CalendarDate` with the given fields set to the provided values. Other fields will be constrained accordingly. */ set(fields) {\n        return ($735220c2d4774dd3$export$adaa4cf7ef1b65be)(this, fields);\n    }\n    /**\n   * Returns a new `CalendarDate` with the given field adjusted by a specified amount.\n   * When the resulting value reaches the limits of the field, it wraps around.\n   */ cycle(field, amount, options) {\n        return ($735220c2d4774dd3$export$d52ced6badfb9a4c)(this, field, amount, options);\n    }\n    /** Converts the date to a native JavaScript Date object, with the time set to midnight in the given time zone. */ toDate(timeZone) {\n        return ($11d87f3f76e88657$export$e67a095c620b86fe)(this, timeZone);\n    }\n    /** Converts the date to an ISO 8601 formatted string. */ toString() {\n        return ($fae977aafc393c5c$export$60dfd74aa96791bd)(this);\n    }\n    /** Compares this date with another. A negative result indicates that this date is before the given one, and a positive date indicates that it is after. */ compare(b) {\n        return ($14e0f24ef4ac5c92$export$68781ddf31c0090f)(this, b);\n    }\n    constructor(...args){\n        (_class_private_field_init)(this, $35ea8db9cb2ccb90$var$_type, {\n            writable: true,\n            value: void 0\n        });\n        let [calendar, era, year, month, day] = $35ea8db9cb2ccb90$var$shiftArgs(args);\n        this.calendar = calendar;\n        this.era = era;\n        this.year = year;\n        this.month = month;\n        this.day = day;\n        ($735220c2d4774dd3$export$c4e2ecac49351ef2)(this);\n    }\n}\nvar // This prevents TypeScript from allowing other types with the same fields to match.\n// @ts-ignore\n$35ea8db9cb2ccb90$var$_type1 = /*#__PURE__*/ new WeakMap();\nclass $35ea8db9cb2ccb90$export$680ea196effce5f {\n    /** Returns a copy of this time. */ copy() {\n        return new $35ea8db9cb2ccb90$export$680ea196effce5f(this.hour, this.minute, this.second, this.millisecond);\n    }\n    /** Returns a new `Time` with the given duration added to it. */ add(duration) {\n        return ($735220c2d4774dd3$export$7ed87b6bc2506470)(this, duration);\n    }\n    /** Returns a new `Time` with the given duration subtracted from it. */ subtract(duration) {\n        return ($735220c2d4774dd3$export$fe34d3a381cd7501)(this, duration);\n    }\n    /** Returns a new `Time` with the given fields set to the provided values. Other fields will be constrained accordingly. */ set(fields) {\n        return ($735220c2d4774dd3$export$e5d5e1c1822b6e56)(this, fields);\n    }\n    /**\n   * Returns a new `Time` with the given field adjusted by a specified amount.\n   * When the resulting value reaches the limits of the field, it wraps around.\n   */ cycle(field, amount, options) {\n        return ($735220c2d4774dd3$export$dd02b3e0007dfe28)(this, field, amount, options);\n    }\n    /** Converts the time to an ISO 8601 formatted string. */ toString() {\n        return ($fae977aafc393c5c$export$f59dee82248f5ad4)(this);\n    }\n    /** Compares this time with another. A negative result indicates that this time is before the given one, and a positive time indicates that it is after. */ compare(b) {\n        return ($14e0f24ef4ac5c92$export$c19a80a9721b80f6)(this, b);\n    }\n    constructor(hour = 0, minute = 0, second = 0, millisecond = 0){\n        (_class_private_field_init)(this, $35ea8db9cb2ccb90$var$_type1, {\n            writable: true,\n            value: void 0\n        });\n        this.hour = hour;\n        this.minute = minute;\n        this.second = second;\n        this.millisecond = millisecond;\n        ($735220c2d4774dd3$export$7555de1e070510cb)(this);\n    }\n}\nvar // This prevents TypeScript from allowing other types with the same fields to match.\n// @ts-ignore\n$35ea8db9cb2ccb90$var$_type2 = /*#__PURE__*/ new WeakMap();\nclass $35ea8db9cb2ccb90$export$ca871e8dbb80966f {\n    /** Returns a copy of this date. */ copy() {\n        if (this.era) return new $35ea8db9cb2ccb90$export$ca871e8dbb80966f(this.calendar, this.era, this.year, this.month, this.day, this.hour, this.minute, this.second, this.millisecond);\n        else return new $35ea8db9cb2ccb90$export$ca871e8dbb80966f(this.calendar, this.year, this.month, this.day, this.hour, this.minute, this.second, this.millisecond);\n    }\n    /** Returns a new `CalendarDateTime` with the given duration added to it. */ add(duration) {\n        return ($735220c2d4774dd3$export$e16d8520af44a096)(this, duration);\n    }\n    /** Returns a new `CalendarDateTime` with the given duration subtracted from it. */ subtract(duration) {\n        return ($735220c2d4774dd3$export$4e2d2ead65e5f7e3)(this, duration);\n    }\n    /** Returns a new `CalendarDateTime` with the given fields set to the provided values. Other fields will be constrained accordingly. */ set(fields) {\n        return ($735220c2d4774dd3$export$adaa4cf7ef1b65be)(($735220c2d4774dd3$export$e5d5e1c1822b6e56)(this, fields), fields);\n    }\n    /**\n   * Returns a new `CalendarDateTime` with the given field adjusted by a specified amount.\n   * When the resulting value reaches the limits of the field, it wraps around.\n   */ cycle(field, amount, options) {\n        switch(field){\n            case 'era':\n            case 'year':\n            case 'month':\n            case 'day':\n                return ($735220c2d4774dd3$export$d52ced6badfb9a4c)(this, field, amount, options);\n            default:\n                return ($735220c2d4774dd3$export$dd02b3e0007dfe28)(this, field, amount, options);\n        }\n    }\n    /** Converts the date to a native JavaScript Date object in the given time zone. */ toDate(timeZone, disambiguation) {\n        return ($11d87f3f76e88657$export$e67a095c620b86fe)(this, timeZone, disambiguation);\n    }\n    /** Converts the date to an ISO 8601 formatted string. */ toString() {\n        return ($fae977aafc393c5c$export$4223de14708adc63)(this);\n    }\n    /** Compares this date with another. A negative result indicates that this date is before the given one, and a positive date indicates that it is after. */ compare(b) {\n        let res = ($14e0f24ef4ac5c92$export$68781ddf31c0090f)(this, b);\n        if (res === 0) return ($14e0f24ef4ac5c92$export$c19a80a9721b80f6)(this, ($11d87f3f76e88657$export$b21e0b124e224484)(b));\n        return res;\n    }\n    constructor(...args){\n        (_class_private_field_init)(this, $35ea8db9cb2ccb90$var$_type2, {\n            writable: true,\n            value: void 0\n        });\n        let [calendar, era, year, month, day] = $35ea8db9cb2ccb90$var$shiftArgs(args);\n        this.calendar = calendar;\n        this.era = era;\n        this.year = year;\n        this.month = month;\n        this.day = day;\n        this.hour = args.shift() || 0;\n        this.minute = args.shift() || 0;\n        this.second = args.shift() || 0;\n        this.millisecond = args.shift() || 0;\n        ($735220c2d4774dd3$export$c4e2ecac49351ef2)(this);\n    }\n}\nvar // This prevents TypeScript from allowing other types with the same fields to match.\n// @ts-ignore\n$35ea8db9cb2ccb90$var$_type3 = /*#__PURE__*/ new WeakMap();\nclass $35ea8db9cb2ccb90$export$d3b7288e7994edea {\n    /** Returns a copy of this date. */ copy() {\n        if (this.era) return new $35ea8db9cb2ccb90$export$d3b7288e7994edea(this.calendar, this.era, this.year, this.month, this.day, this.timeZone, this.offset, this.hour, this.minute, this.second, this.millisecond);\n        else return new $35ea8db9cb2ccb90$export$d3b7288e7994edea(this.calendar, this.year, this.month, this.day, this.timeZone, this.offset, this.hour, this.minute, this.second, this.millisecond);\n    }\n    /** Returns a new `ZonedDateTime` with the given duration added to it. */ add(duration) {\n        return ($735220c2d4774dd3$export$96b1d28349274637)(this, duration);\n    }\n    /** Returns a new `ZonedDateTime` with the given duration subtracted from it. */ subtract(duration) {\n        return ($735220c2d4774dd3$export$6814caac34ca03c7)(this, duration);\n    }\n    /** Returns a new `ZonedDateTime` with the given fields set to the provided values. Other fields will be constrained accordingly. */ set(fields, disambiguation) {\n        return ($735220c2d4774dd3$export$31b5430eb18be4f8)(this, fields, disambiguation);\n    }\n    /**\n   * Returns a new `ZonedDateTime` with the given field adjusted by a specified amount.\n   * When the resulting value reaches the limits of the field, it wraps around.\n   */ cycle(field, amount, options) {\n        return ($735220c2d4774dd3$export$9a297d111fc86b79)(this, field, amount, options);\n    }\n    /** Converts the date to a native JavaScript Date object. */ toDate() {\n        return ($11d87f3f76e88657$export$83aac07b4c37b25)(this);\n    }\n    /** Converts the date to an ISO 8601 formatted string, including the UTC offset and time zone identifier. */ toString() {\n        return ($fae977aafc393c5c$export$bf79f1ebf4b18792)(this);\n    }\n    /** Converts the date to an ISO 8601 formatted string in UTC. */ toAbsoluteString() {\n        return this.toDate().toISOString();\n    }\n    /** Compares this date with another. A negative result indicates that this date is before the given one, and a positive date indicates that it is after. */ compare(b) {\n        // TODO: Is this a bad idea??\n        return this.toDate().getTime() - ($11d87f3f76e88657$export$84c95a83c799e074)(b, this.timeZone).toDate().getTime();\n    }\n    constructor(...args){\n        (_class_private_field_init)(this, $35ea8db9cb2ccb90$var$_type3, {\n            writable: true,\n            value: void 0\n        });\n        let [calendar, era, year, month, day] = $35ea8db9cb2ccb90$var$shiftArgs(args);\n        let timeZone = args.shift();\n        let offset = args.shift();\n        this.calendar = calendar;\n        this.era = era;\n        this.year = year;\n        this.month = month;\n        this.day = day;\n        this.timeZone = timeZone;\n        this.offset = offset;\n        this.hour = args.shift() || 0;\n        this.minute = args.shift() || 0;\n        this.second = args.shift() || 0;\n        this.millisecond = args.shift() || 0;\n        ($735220c2d4774dd3$export$c4e2ecac49351ef2)(this);\n    }\n}\n\n/*\n * Copyright 2020 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 */ let $fb18d541ea1ad717$var$formatterCache = new Map();\nclass $fb18d541ea1ad717$export$ad991b66133851cf {\n    /** Formats a date as a string according to the locale and format options passed to the constructor. */ format(value) {\n        return this.formatter.format(value);\n    }\n    /** Formats a date to an array of parts such as separators, numbers, punctuation, and more. */ formatToParts(value) {\n        return this.formatter.formatToParts(value);\n    }\n    /** Formats a date range as a string. */ formatRange(start, end) {\n        // @ts-ignore\n        if (typeof this.formatter.formatRange === 'function') // @ts-ignore\n        return this.formatter.formatRange(start, end);\n        if (end < start) throw new RangeError('End date must be >= start date');\n        // Very basic fallback for old browsers.\n        return `${this.formatter.format(start)} \\u{2013} ${this.formatter.format(end)}`;\n    }\n    /** Formats a date range as an array of parts. */ formatRangeToParts(start, end) {\n        // @ts-ignore\n        if (typeof this.formatter.formatRangeToParts === 'function') // @ts-ignore\n        return this.formatter.formatRangeToParts(start, end);\n        if (end < start) throw new RangeError('End date must be >= start date');\n        let startParts = this.formatter.formatToParts(start);\n        let endParts = this.formatter.formatToParts(end);\n        return [\n            ...startParts.map((p)=>({\n                    ...p,\n                    source: 'startRange'\n                })),\n            {\n                type: 'literal',\n                value: \" \\u2013 \",\n                source: 'shared'\n            },\n            ...endParts.map((p)=>({\n                    ...p,\n                    source: 'endRange'\n                }))\n        ];\n    }\n    /** Returns the resolved formatting options based on the values passed to the constructor. */ resolvedOptions() {\n        let resolvedOptions = this.formatter.resolvedOptions();\n        if ($fb18d541ea1ad717$var$hasBuggyResolvedHourCycle()) {\n            if (!this.resolvedHourCycle) this.resolvedHourCycle = $fb18d541ea1ad717$var$getResolvedHourCycle(resolvedOptions.locale, this.options);\n            resolvedOptions.hourCycle = this.resolvedHourCycle;\n            resolvedOptions.hour12 = this.resolvedHourCycle === 'h11' || this.resolvedHourCycle === 'h12';\n        }\n        // Safari uses a different name for the Ethiopic (Amete Alem) calendar.\n        // https://bugs.webkit.org/show_bug.cgi?id=241564\n        if (resolvedOptions.calendar === 'ethiopic-amete-alem') resolvedOptions.calendar = 'ethioaa';\n        return resolvedOptions;\n    }\n    constructor(locale, options = {}){\n        this.formatter = $fb18d541ea1ad717$var$getCachedDateFormatter(locale, options);\n        this.options = options;\n    }\n}\n// There are multiple bugs involving the hour12 and hourCycle options in various browser engines.\n//   - Chrome [1] (and the ECMA 402 spec [2]) resolve hour12: false in English and other locales to h24 (24:00 - 23:59)\n//     rather than h23 (00:00 - 23:59). Same can happen with hour12: true in French, which Chrome resolves to h11 (00:00 - 11:59)\n//     rather than h12 (12:00 - 11:59).\n//   - WebKit returns an incorrect hourCycle resolved option in the French locale due to incorrect parsing of 'h' literal\n//     in the resolved pattern. It also formats incorrectly when specifying the hourCycle option for the same reason. [3]\n// [1] https://bugs.chromium.org/p/chromium/issues/detail?id=1045791\n// [2] https://github.com/tc39/ecma402/issues/402\n// [3] https://bugs.webkit.org/show_bug.cgi?id=229313\n// https://github.com/unicode-org/cldr/blob/018b55eff7ceb389c7e3fc44e2f657eae3b10b38/common/supplemental/supplementalData.xml#L4774-L4802\nconst $fb18d541ea1ad717$var$hour12Preferences = {\n    true: {\n        // Only Japanese uses the h11 style for 12 hour time. All others use h12.\n        ja: 'h11'\n    },\n    false: {\n    }\n};\nfunction $fb18d541ea1ad717$var$getCachedDateFormatter(locale, options = {}) {\n    // Work around buggy hour12 behavior in Chrome / ECMA 402 spec by using hourCycle instead.\n    // Only apply the workaround if the issue is detected, because the hourCycle option is buggy in Safari.\n    if (typeof options.hour12 === 'boolean' && $fb18d541ea1ad717$var$hasBuggyHour12Behavior()) {\n        options = {\n            ...options\n        };\n        let pref = $fb18d541ea1ad717$var$hour12Preferences[String(options.hour12)][locale.split('-')[0]];\n        let defaultHourCycle = options.hour12 ? 'h12' : 'h23';\n        options.hourCycle = pref !== null && pref !== void 0 ? pref : defaultHourCycle;\n        delete options.hour12;\n    }\n    let cacheKey = locale + (options ? Object.entries(options).sort((a, b)=>a[0] < b[0] ? -1 : 1).join() : '');\n    if ($fb18d541ea1ad717$var$formatterCache.has(cacheKey)) return $fb18d541ea1ad717$var$formatterCache.get(cacheKey);\n    let numberFormatter = new Intl.DateTimeFormat(locale, options);\n    $fb18d541ea1ad717$var$formatterCache.set(cacheKey, numberFormatter);\n    return numberFormatter;\n}\nlet $fb18d541ea1ad717$var$_hasBuggyHour12Behavior = null;\nfunction $fb18d541ea1ad717$var$hasBuggyHour12Behavior() {\n    if ($fb18d541ea1ad717$var$_hasBuggyHour12Behavior == null) $fb18d541ea1ad717$var$_hasBuggyHour12Behavior = new Intl.DateTimeFormat('en-US', {\n        hour: 'numeric',\n        hour12: false\n    }).format(new Date(2020, 2, 3, 0)) === '24';\n    return $fb18d541ea1ad717$var$_hasBuggyHour12Behavior;\n}\nlet $fb18d541ea1ad717$var$_hasBuggyResolvedHourCycle = null;\nfunction $fb18d541ea1ad717$var$hasBuggyResolvedHourCycle() {\n    if ($fb18d541ea1ad717$var$_hasBuggyResolvedHourCycle == null) $fb18d541ea1ad717$var$_hasBuggyResolvedHourCycle = new Intl.DateTimeFormat('fr', {\n        hour: 'numeric',\n        hour12: false\n    }).resolvedOptions().hourCycle === 'h12';\n    return $fb18d541ea1ad717$var$_hasBuggyResolvedHourCycle;\n}\nfunction $fb18d541ea1ad717$var$getResolvedHourCycle(locale, options) {\n    if (!options.timeStyle && !options.hour) return undefined;\n    // Work around buggy results in resolved hourCycle and hour12 options in WebKit.\n    // Format the minimum possible hour and maximum possible hour in a day and parse the results.\n    locale = locale.replace(/(-u-)?-nu-[a-zA-Z0-9]+/, '');\n    locale += (locale.includes('-u-') ? '' : '-u') + '-nu-latn';\n    let formatter = $fb18d541ea1ad717$var$getCachedDateFormatter(locale, {\n        ...options,\n        timeZone: undefined // use local timezone\n    });\n    let min = parseInt(formatter.formatToParts(new Date(2020, 2, 3, 0)).find((p)=>p.type === 'hour').value, 10);\n    let max = parseInt(formatter.formatToParts(new Date(2020, 2, 3, 23)).find((p)=>p.type === 'hour').value, 10);\n    if (min === 0 && max === 23) return 'h23';\n    if (min === 24 && max === 23) return 'h24';\n    if (min === 0 && max === 11) return 'h11';\n    if (min === 12 && max === 11) return 'h12';\n    throw new Error('Unexpected hour cycle result');\n}\n\n// These are the standard Date Formats being followed globally\nconst SUPPORTED_DATE_FORMATS = [\n    // Date formats\n    {\n        regex: /^(\\d{4})\\/(0[1-9]|1[0-2])\\/(\\d{2})$/,\n        yearIndex: 1,\n        monthIndex: 2,\n        dayIndex: 3,\n        format: 'YYYY/MM/DD',\n    },\n    {\n        regex: /^(\\d{2})\\/(0[1-9]|1[0-2])\\/(\\d{4})$/,\n        yearIndex: 3,\n        monthIndex: 2,\n        dayIndex: 1,\n        format: 'DD/MM/YYYY',\n    },\n    {\n        regex: /^(\\d{4})\\.(0[1-9]|1[0-2])\\.(\\d{2})$/,\n        yearIndex: 1,\n        monthIndex: 2,\n        dayIndex: 3,\n        format: 'YYYY.MM.DD',\n    },\n    {\n        regex: /^(\\d{2})-(0[1-9]|1[0-2])-(\\d{4})$/,\n        yearIndex: 3,\n        monthIndex: 2,\n        dayIndex: 1,\n        format: 'DD-MM-YYYY',\n    },\n    {\n        regex: /^(0[1-9]|1[0-2])\\/(\\d{2})\\/(\\d{4})$/,\n        yearIndex: 3,\n        monthIndex: 1,\n        dayIndex: 2,\n        format: 'MM/DD/YYYY',\n    },\n    {\n        regex: /^(\\d{4})-(0[1-9]|1[0-2])-(\\d{2})$/,\n        yearIndex: 1,\n        monthIndex: 2,\n        dayIndex: 3,\n        format: 'YYYY-MM-DD',\n    },\n    {\n        regex: /^(\\d{4})\\.\\s*(0[1-9]|1[0-2])\\.\\s*(\\d{2})\\.\\s*$/,\n        yearIndex: 1,\n        monthIndex: 2,\n        dayIndex: 3,\n        format: 'YYYY. MM. DD.',\n    },\n    {\n        regex: /^(\\d{2})\\.(0[1-9]|1[0-2])\\.(\\d{4})$/,\n        yearIndex: 3,\n        monthIndex: 2,\n        dayIndex: 1,\n        format: 'DD.MM.YYYY',\n    },\n    {\n        regex: /^(0[1-9]|1[0-2])\\.(\\d{2})\\.(\\d{4})$/,\n        yearIndex: 3,\n        monthIndex: 1,\n        dayIndex: 2,\n        format: 'MM.DD.YYYY',\n    },\n    // Timestamp formats\n    {\n        regex: /^(\\d{4})\\/(0[1-9]|1[0-2])\\/(\\d{2}) (\\d{2}):(\\d{2}):(\\d{2})$/,\n        yearIndex: 1,\n        monthIndex: 2,\n        dayIndex: 3,\n        hourIndex: 4,\n        minuteIndex: 5,\n        secondIndex: 6,\n        format: 'YYYY/MM/DD HH:MM:SS',\n    },\n    {\n        regex: /^(\\d{2})\\/(0[1-9]|1[0-2])\\/(\\d{4}) (\\d{2}):(\\d{2}):(\\d{2})$/,\n        yearIndex: 3,\n        monthIndex: 2,\n        dayIndex: 1,\n        hourIndex: 4,\n        minuteIndex: 5,\n        secondIndex: 6,\n        format: 'DD/MM/YYYY HH:MM:SS',\n    },\n    {\n        regex: /^(\\d{4})-(0[1-9]|1[0-2])-(\\d{2}) (\\d{2}):(\\d{2}):(\\d{2})$/,\n        yearIndex: 1,\n        monthIndex: 2,\n        dayIndex: 3,\n        hourIndex: 4,\n        minuteIndex: 5,\n        secondIndex: 6,\n        format: 'YYYY-MM-DD HH:MM:SS',\n    },\n    {\n        regex: /^(\\d{2})-(0[1-9]|1[0-2])-(\\d{4}) (\\d{2}):(\\d{2}):(\\d{2})$/,\n        yearIndex: 3,\n        monthIndex: 2,\n        dayIndex: 1,\n        hourIndex: 4,\n        minuteIndex: 5,\n        secondIndex: 6,\n        format: 'DD-MM-YYYY HH:MM:SS',\n    },\n    {\n        regex: /^(\\d{4})\\.(0[1-9]|1[0-2])\\.(\\d{2}) (\\d{2}):(\\d{2}):(\\d{2})$/,\n        yearIndex: 1,\n        monthIndex: 2,\n        dayIndex: 3,\n        hourIndex: 4,\n        minuteIndex: 5,\n        secondIndex: 6,\n        format: 'YYYY.MM.DD HH:MM:SS',\n    },\n    {\n        regex: /^(\\d{2})\\.(0[1-9]|1[0-2])\\.(\\d{4}) (\\d{2}):(\\d{2}):(\\d{2})$/,\n        yearIndex: 3,\n        monthIndex: 2,\n        dayIndex: 1,\n        hourIndex: 4,\n        minuteIndex: 5,\n        secondIndex: 6,\n        format: 'DD.MM.YYYY HH:MM:SS',\n    },\n    // ISO 8601 Timestamp format\n    {\n        regex: /^(\\d{4})-(0[1-9]|1[0-2])-(\\d{2})T(\\d{2}):(\\d{2}):(\\d{2})$/,\n        yearIndex: 1,\n        monthIndex: 2,\n        dayIndex: 3,\n        hourIndex: 4,\n        minuteIndex: 5,\n        secondIndex: 6,\n        format: 'YYYY-MM-DDTHH:MM:SS',\n    },\n];\n\n/**\n * Converts a string representation of a date into a Date object.\n * The function supports various date and timestamp formats,\n * including both American and European styles, with or without time components.\n * If the provided string doesn't match any of the supported formats,\n * the function throws an error.\n *\n * @param {string} dateString - The date string to be converted to a Date object.\n * @returns {Date} A Date object representing the date and time specified in the dateString.\n * @throws {Error} If the date format is not recognized.\n */\nconst stringToDate = (dateString) => {\n    // Iterate through each supported date format.\n    for (const format of SUPPORTED_DATE_FORMATS) {\n        const match = dateString.match(format.regex);\n        if (match) {\n            // Extract year, month, and day from the matched groups.\n            const year = match[format.yearIndex];\n            const month = match[format.monthIndex];\n            const day = match[format.dayIndex];\n            // Extract time components if available, defaulting to '00' if not present.\n            const hour = format.hourIndex ? match[format.hourIndex] : '00';\n            const minute = format.minuteIndex ? match[format.minuteIndex] : '00';\n            const second = format.secondIndex ? match[format.secondIndex] : '00';\n            // Construct and return the Date object.\n            try {\n                const dateObj = new Date(`${year}-${month}-${day}T${hour}:${minute}:${second}`);\n                if (dateObj.getTime())\n                    return dateObj;\n                else\n                    throw new Error(`Invalid Date! The constructed date from the provided string \"${dateString}\" is invalid. Please ensure the date string is correct.`);\n            }\n            catch (err) {\n                if (err instanceof Error) {\n                    throw new Error(`An error occurred while constructing the date: ${err.message}. Please ensure the date string \"${dateString}\" is in a supported format.`);\n                }\n                else {\n                    throw new Error(`An unknown error occurred. Error details: ${err}`);\n                }\n            }\n        }\n    }\n    // If no format matches, throw an error.\n    throw new Error(`Date format not recognized. The provided date string \"${dateString}\" does not match any supported formats. Please use a recognized date format.`);\n};\nconst convertToStandardDate = (date) => {\n    const standardDate = typeof date === 'string' ? new Date(stringToDate(date)) : new Date(date);\n    return standardDate;\n};\n\n/**\n * Formats date and time based on the locale.\n * @param {DateInput} date - Date object or date string.\n * @param options - Config object.\n * @returns {string} Formatted date and time string.\n */\nconst formatDateTime = (date, options = {}) => {\n    var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r;\n    const extractedLocale = getLocale(options);\n    const standardDate = convertToStandardDate(date);\n    let finalIntlOptions = {};\n    switch (options.dateTimeMode) {\n        case 'dateOnly':\n            finalIntlOptions = {\n                year: ((_a = options.intlOptions) === null || _a === void 0 ? void 0 : _a.year) || 'numeric',\n                month: ((_b = options.intlOptions) === null || _b === void 0 ? void 0 : _b.month) || 'numeric',\n                day: ((_c = options.intlOptions) === null || _c === void 0 ? void 0 : _c.day) || 'numeric',\n            };\n            break;\n        case 'timeOnly':\n            finalIntlOptions = {\n                hour: ((_d = options.intlOptions) === null || _d === void 0 ? void 0 : _d.hour) || 'numeric',\n                minute: ((_e = options.intlOptions) === null || _e === void 0 ? void 0 : _e.minute) || 'numeric',\n                second: ((_f = options.intlOptions) === null || _f === void 0 ? void 0 : _f.second) || 'numeric',\n            };\n            if (((_g = options.intlOptions) === null || _g === void 0 ? void 0 : _g.hour12) !== undefined)\n                finalIntlOptions.hour12 = (_h = options.intlOptions) === null || _h === void 0 ? void 0 : _h.hour12;\n            break;\n        case 'dateTime':\n            finalIntlOptions = {\n                year: ((_j = options.intlOptions) === null || _j === void 0 ? void 0 : _j.year) || 'numeric',\n                month: ((_k = options.intlOptions) === null || _k === void 0 ? void 0 : _k.month) || 'numeric',\n                day: ((_l = options.intlOptions) === null || _l === void 0 ? void 0 : _l.day) || 'numeric',\n                hour: ((_m = options.intlOptions) === null || _m === void 0 ? void 0 : _m.hour) || 'numeric',\n                minute: ((_o = options.intlOptions) === null || _o === void 0 ? void 0 : _o.minute) || 'numeric',\n                second: ((_p = options.intlOptions) === null || _p === void 0 ? void 0 : _p.second) || 'numeric',\n            };\n            if (((_q = options.intlOptions) === null || _q === void 0 ? void 0 : _q.hour12) !== undefined)\n                finalIntlOptions.hour12 = (_r = options.intlOptions) === null || _r === void 0 ? void 0 : _r.hour12;\n            break;\n        default:\n            finalIntlOptions = Object.assign({}, options.intlOptions);\n    }\n    let formatter;\n    try {\n        formatter = new $fb18d541ea1ad717$export$ad991b66133851cf(extractedLocale, finalIntlOptions);\n    }\n    catch (err) {\n        if (err instanceof Error) {\n            throw new Error(`An error occurred while creating the DateFormatter instance: ${err.message}. Please ensure the provided options are valid and try again.`);\n        }\n        else {\n            throw new Error(`An unknown error occurred. Error details: ${err}`);\n        }\n    }\n    return formatter.format(new Date(standardDate));\n};\nvar formatDateTime$1 = withErrorBoundary(formatDateTime);\n\n/**\n * Provides a relative time string (e.g., '3 hours ago', 'in 2 days').\n * This function calculates the difference between the given date and the base date,\n * then formats it in a locale-sensitive manner. It allows customization of the output\n * through Intl.RelativeTimeFormat options.\n *\n * @param date - The date to compare.\n * @param options - Config object.\n * @returns The relative time as a string.\n */\nconst getRelativeTime = (date, options = {}) => {\n    const standardDate = convertToStandardDate(date);\n    const standardBaseDate = convertToStandardDate(options.baseDate || new Date());\n    const locale = getLocale(options);\n    const diffInSeconds = (standardDate.getTime() - standardBaseDate.getTime()) / 1000;\n    // Define time units in seconds\n    const minute = 60;\n    const hour = minute * 60;\n    const day = hour * 24;\n    const week = day * 7;\n    const month = day * 30;\n    const year = day * 365;\n    let value;\n    let unit;\n    if (Math.abs(diffInSeconds) < minute) {\n        value = diffInSeconds;\n        unit = 'second';\n    }\n    else if (Math.abs(diffInSeconds) < hour) {\n        value = diffInSeconds / minute;\n        unit = 'minute';\n    }\n    else if (Math.abs(diffInSeconds) < day) {\n        value = diffInSeconds / hour;\n        unit = 'hour';\n    }\n    else if (Math.abs(diffInSeconds) < week) {\n        value = diffInSeconds / day;\n        unit = 'day';\n    }\n    else if (Math.abs(diffInSeconds) < month) {\n        value = diffInSeconds / week;\n        unit = 'week';\n    }\n    else if (Math.abs(diffInSeconds) < year) {\n        value = diffInSeconds / month;\n        unit = 'month';\n    }\n    else {\n        value = diffInSeconds / year;\n        unit = 'year';\n    }\n    let relativeTime;\n    try {\n        const rtf = new Intl.RelativeTimeFormat(locale, options.intlOptions);\n        relativeTime = rtf.format(Math.round(value), unit);\n    }\n    catch (err) {\n        if (err instanceof Error) {\n            throw new Error(`An error occurred while creating the RelativeTimeFormat instance: ${err.message}. Please ensure the provided options are valid and try again.`);\n        }\n        else {\n            throw new Error(`An unknown error occurred. Error details: ${err}`);\n        }\n    }\n    return relativeTime;\n};\nvar getRelativeTime$1 = withErrorBoundary(getRelativeTime);\n\n/**\n * Returns an array of weekdays according to the specified locale.\n *\n * @param options Config object\n * @returns An array of weekday names.\n */\nconst getWeekdays = (options) => {\n    try {\n        const locale = getLocale(options);\n        const formatter = new $fb18d541ea1ad717$export$ad991b66133851cf(locale, {\n            weekday: options.weekday || 'long',\n        });\n        /** The date January 1, 1970, is a well-known reference point in computing known as the Unix epoch.\n         * It's the date at which time is measured for Unix systems, making it a consistent and reliable choice for date calculations.\n         * The choice of the date January 4, 1970, as the starting point is significant.\n         * January 4, 1970, was a Sunday.\n         * Since weeks typically start on Sunday or Monday in most locales, starting from a known Sunday allows the function to cycle through a complete week, capturing all weekdays in the order they appear for the given locale.\n         * */\n        return Array.from({ length: 7 }, (_, i) => formatter.format(new Date(1970, 0, 4 + i)));\n    }\n    catch (err) {\n        if (err instanceof Error) {\n            throw new Error(`An error occurred while creating the DateFormatter instance or formatting the weekdays: ${err.message}. Please ensure the provided options are valid and try again.`);\n        }\n        else {\n            throw new Error(`An unknown error occurred. Error details: ${err}`);\n        }\n    }\n};\nvar getWeekdays$1 = withErrorBoundary(getWeekdays);\n\nconst ALLOWED_FORMAT_PARTS_KEYS = [\n    'day',\n    'dayPeriod',\n    'era',\n    'fractionalSecond',\n    'hour',\n    'minute',\n    'month',\n    'relatedYear',\n    'second',\n    'timeZone',\n    'weekday',\n    'year',\n    'yearName',\n];\n\n/**\n * Parses a date input and returns a detailed object containing various date components\n * and their formatted representations.\n *\n * @param {DateInput} date - The date input, can be a string or a Date object.\n * @param options - Config object.\n * @returns {ParsedDateTime} An object containing the parsed date and its components.\n */\nconst parseDateTime = (date, options = {}) => {\n    // Parse the input date, converting strings to Date objects if necessary\n    const standardDate = convertToStandardDate(date);\n    const locale = getLocale(options);\n    try {\n        // Create an DateFormatter instance for formatting\n        const dateTimeFormat = new $fb18d541ea1ad717$export$ad991b66133851cf(locale, options.intlOptions);\n        const formattedParts = dateTimeFormat.formatToParts(standardDate);\n        const formattedObj = {};\n        // Iterate over each part of the formatted date\n        formattedParts.forEach((part) => {\n            // If the part is allowed, add it to the formatted object\n            // @ts-expect-error only allowed keys are added to the formattedObj. For eg, key 'literal', 'unknown' is skipped\n            if (ALLOWED_FORMAT_PARTS_KEYS.includes(part.type)) {\n                // @ts-expect-error only allowed keys are added to the formattedObj. For eg, key 'literal', 'unknown' is skipped\n                formattedObj[part.type] = (formattedObj[part.type] || '') + part.value;\n            }\n        });\n        // Return the detailed parsed date object\n        return Object.assign(Object.assign({}, formattedObj), { rawParts: formattedParts, formattedDate: formattedParts.map((p) => p.value).join(''), date: standardDate });\n    }\n    catch (err) {\n        // Handle any errors that occur during parsing\n        if (err instanceof Error) {\n            throw new Error(`An error occurred while parsing the date: ${err.message}. Please ensure the provided date and options are valid and try again.`);\n        }\n        else {\n            throw new Error(`An unknown error occurred. Error details: ${err}`);\n        }\n    }\n};\nvar parseDateTime$1 = withErrorBoundary(parseDateTime);\n\nconst FLAG_4X3_BASE_PATH = 'https://unpkg.com/@razorpay/i18nify-js/lib/assets/flags';\nconst FLAG_BASE_PATH = 'https://flagcdn.com';\nconst I18NIFY_DATA_SOURCE = 'https://raw.githubusercontent.com/razorpay/i18nify/master/i18nify-data';\nconst I18NIFY_DATA_SUPPORTED_COUNTRIES = ['IN', 'MY', 'SG', 'US'];\n\nconst LIST_OF_ALL_COUNTRIES = [\n    'AD',\n    'AE',\n    'AF',\n    'AG',\n    'AI',\n    'AL',\n    'AM',\n    'AO',\n    'AQ',\n    'AR',\n    'AS',\n    'AT',\n    'AU',\n    'AW',\n    'AX',\n    'AZ',\n    'BA',\n    'BB',\n    'BD',\n    'BE',\n    'BF',\n    'BG',\n    'BH',\n    'BI',\n    'BJ',\n    'BL',\n    'BM',\n    'BN',\n    'BO',\n    'BQ-BO',\n    'BQ-SA',\n    'BQ-SE',\n    'BQ',\n    'BR',\n    'BS',\n    'BT',\n    'BV',\n    'BW',\n    'BY',\n    'BZ',\n    'CA',\n    'CC',\n    'CD',\n    'CF',\n    'CG',\n    'CH',\n    'CI',\n    'CK',\n    'CL',\n    'CM',\n    'CN',\n    'CO',\n    'CR',\n    'CU',\n    'CV',\n    'CW',\n    'CX',\n    'CY',\n    'CZ',\n    'DE',\n    'DJ',\n    'DK',\n    'DM',\n    'DO',\n    'DZ',\n    'EC',\n    'EE',\n    'EG',\n    'EH',\n    'ER',\n    'ES',\n    'ET',\n    'FI',\n    'FJ',\n    'FK',\n    'FM',\n    'FO',\n    'FR',\n    'GA',\n    'GB-ENG',\n    'GB-NIR',\n    'GB-SCT',\n    'GB-UKM',\n    'GB-WLS',\n    'GB',\n    'GD',\n    'GE',\n    'GF',\n    'GG',\n    'GH',\n    'GI',\n    'GL',\n    'GM',\n    'GN',\n    'GP',\n    'GQ',\n    'GR',\n    'GS',\n    'GT',\n    'GU',\n    'GW',\n    'GY',\n    'HK',\n    'HM',\n    'HN',\n    'HR',\n    'HT',\n    'HU',\n    'ID',\n    'IE',\n    'IL',\n    'IM',\n    'IN',\n    'IO',\n    'IQ',\n    'IR',\n    'IS',\n    'IT',\n    'JE',\n    'JM',\n    'JO',\n    'JP',\n    'KE',\n    'KG',\n    'KH',\n    'KI',\n    'KM',\n    'KN',\n    'KP',\n    'KR',\n    'KW',\n    'KY',\n    'KZ',\n    'LA',\n    'LB',\n    'LC',\n    'LI',\n    'LK',\n    'LR',\n    'LS',\n    'LT',\n    'LU',\n    'LV',\n    'LY',\n    'MA',\n    'MC',\n    'MD',\n    'ME',\n    'MF',\n    'MG',\n    'MH',\n    'MK',\n    'ML',\n    'MM',\n    'MN',\n    'MO',\n    'MP',\n    'MQ',\n    'MR',\n    'MS',\n    'MT',\n    'MU',\n    'MV',\n    'MW',\n    'MX',\n    'MY',\n    'MZ',\n    'NA',\n    'NC',\n    'NE',\n    'NF',\n    'NG',\n    'NI',\n    'NL',\n    'NO',\n    'NP',\n    'NR',\n    'NU',\n    'NZ',\n    'OM',\n    'PA',\n    'PE',\n    'PF',\n    'PG',\n    'PH',\n    'PK',\n    'PL',\n    'PM',\n    'PN',\n    'PR',\n    'PS',\n    'PT',\n    'PW',\n    'PY',\n    'QA',\n    'RE',\n    'RO',\n    'RS',\n    'RU',\n    'RW',\n    'SA',\n    'SB',\n    'SC',\n    'SD',\n    'SE',\n    'SG',\n    'SH',\n    'SI',\n    'SJ',\n    'SK',\n    'SL',\n    'SM',\n    'SN',\n    'SO',\n    'SR',\n    'SS',\n    'ST',\n    'SV',\n    'SX',\n    'SY',\n    'SZ',\n    'TC',\n    'TD',\n    'TF',\n    'TG',\n    'TH',\n    'TJ',\n    'TK',\n    'TL',\n    'TM',\n    'TN',\n    'TO',\n    'TR',\n    'TT',\n    'TV',\n    'TW',\n    'TZ',\n    'UA',\n    'UG',\n    'UM',\n    'US',\n    'UY',\n    'UZ',\n    'VA',\n    'VC',\n    'VE',\n    'VG',\n    'VI',\n    'VN',\n    'VU',\n    'WF',\n    'WS',\n    'YE',\n    'YT-UNF',\n    'YT',\n    'ZA',\n    'ZM',\n    'ZW',\n];\n\nfunction isCountryValid(_countryCode) {\n    const countryCode = _countryCode.toUpperCase();\n    // @ts-expect-error countryCode here can be a random string\n    return LIST_OF_ALL_COUNTRIES.includes(countryCode);\n}\n\n/**\n * Retrieves the URL for the flag of a given country.\n *\n * This function checks if the provided country code is valid by verifying it against\n * a predefined list of country codes. If the country code is valid, it constructs and\n * returns a URL pointing to the flag image for that country. If the country code is not\n * found in the list, it throws an error indicating that the country code is invalid.\n *\n * @param countryCode - The country code for which to retrieve the flag URL. Must be a valid code from the list of all countries.\n * @returns The URL of the flag image for the given country code.\n * @throws {Error} If the country code is not in the list of valid country codes.\n */\nconst getFlagOfCountry = (_countryCode) => {\n    if (!isCountryValid(_countryCode)) {\n        throw new Error(`The provided country code is invalid. The received value was: ${_countryCode}. Please ensure you pass a valid country code. Check valid country codes here: https://github.com/razorpay/i18nify/blob/master/i18nify-data/country/metadata/data.json`);\n    }\n    const countryCode = _countryCode.toLowerCase();\n    return {\n        original: `${FLAG_BASE_PATH}/${countryCode}.svg`,\n        '4X3': `${FLAG_4X3_BASE_PATH}/${countryCode}.svg`,\n    };\n};\nvar getFlagOfCountry$1 = withErrorBoundary(getFlagOfCountry);\n\n/**\n * Retrieves a mapping of country codes to their corresponding flag image URLs.\n *\n * This function iterates over a predefined list of country codes, constructs a URL\n * for each country's flag image based on the country code, and then returns an object\n * where each key is a country code and its value is the URL to that country's flag image.\n *\n * @returns An object mapping each country code from the list to its flag image URL.\n */\nconst getFlagsForAllCountries = () => {\n    // Initialize an empty object to hold the country code to flag URL mapping\n    const flagsForAllCountriesMap = {};\n    // Loop through each country code in the list\n    LIST_OF_ALL_COUNTRIES.map((countryCode) => {\n        const lowerCasedCountryCode = countryCode.toLowerCase();\n        // Construct the flag image URL and assign it to the corresponding country code in the map\n        flagsForAllCountriesMap[countryCode] = {\n            original: `${FLAG_BASE_PATH}/${lowerCasedCountryCode}.svg`,\n            '4X3': `${FLAG_4X3_BASE_PATH}/${lowerCasedCountryCode}.svg`,\n        };\n    });\n    // Return the populated map of country codes to flag image URLs\n    return flagsForAllCountriesMap;\n};\nvar getFlagsForAllCountries$1 = withErrorBoundary(getFlagsForAllCountries);\n\n/**\n * Retrieves the meta data for all countries\n *\n * This function makes a network request to central i18nify-data source and\n * returns a promise for list of all countries with their meta data\n *\n * @returns {Promise} Promise object for all countries\n */\nconst getAllCountries = () => {\n    return fetch(`${I18NIFY_DATA_SOURCE}/country/metadata/data.json`)\n        .then((res) => res.json())\n        .then((res) => res.metadata_information)\n        .catch((err) => {\n        throw new Error(`An error occurred while fetching country metadata. The error details are: ${err.message}.`);\n    });\n};\nvar getAllCountries$1 = withErrorBoundary(getAllCountries);\n\n/**\n * Retrieves the list of states for a country\n *\n * This function makes a network request to central i18nify-data source and\n * returns a promise for list of all states with their meta data based on country code passed\n *\n * @returns {Promise} Promise object for all states\n */\nconst getStates = (_countryCode) => {\n    const countryCode = _countryCode.toUpperCase();\n    if (!I18NIFY_DATA_SUPPORTED_COUNTRIES.includes(countryCode)) {\n        return Promise.reject(new Error(`Invalid country code: ${countryCode}. Please ensure you provide a valid country code. Check valid country codes here: https://github.com/razorpay/i18nify/blob/master/i18nify-data/country/metadata/data.json`));\n    }\n    return fetch(`${I18NIFY_DATA_SOURCE}/country/subdivisions/${countryCode}.json`)\n        .then((res) => res.json())\n        .then((res) => res.states)\n        .catch((err) => {\n        throw new Error(`An error occurred while fetching state data. The error details are: ${err.message}.`);\n    });\n};\nvar getStates$1 = withErrorBoundary(getStates);\n\n/**\n * Retrieves the list of all cities of a state\n *\n * This function makes a network request to central i18nify-data source and\n * returns a promise for list of all cities with their meta data based on country and state code passed\n *\n * @returns {Promise} Promise object for all cities\n */\nconst getCities = (_countryCode, _stateCode) => {\n    const countryCode = _countryCode.toUpperCase();\n    const stateCode = _stateCode && _stateCode.toUpperCase();\n    if (!I18NIFY_DATA_SUPPORTED_COUNTRIES.includes(countryCode)) {\n        return Promise.reject(new Error(`Invalid country code: ${countryCode}. Please ensure you provide a valid country code. Check valid country codes here: https://github.com/razorpay/i18nify/blob/master/i18nify-data/country/metadata/data.json`));\n    }\n    return fetch(`${I18NIFY_DATA_SOURCE}/country/subdivisions/${countryCode}.json`)\n        .then((res) => res.json())\n        .then((res) => {\n        // return cities from all states if state code is not provided\n        if (!stateCode) {\n            return Object.keys(res.states).reduce((acc, curr) => {\n                acc = [...acc, ...Object.keys(res.states[curr].cities)];\n                return acc;\n            }, []);\n        }\n        if (!res.states[stateCode]) {\n            return Promise.reject(new Error(`State code ${stateCode} is missing in ${countryCode}. Please ensure you provide a valid state code that exists within the specified country.`));\n        }\n        return Object.keys(res.states[stateCode].cities);\n    })\n        .catch((err) => {\n        throw new Error(`An error occurred while fetching city data. The error details are: ${err.message}.`);\n    });\n};\nvar getCities$1 = withErrorBoundary(getCities);\n\n/**\n * Queries the response received from i18nify-data and returns a list of zipcodes within the state provided\n * @param response i18nify-data country specific response\n * @param stateCode code assigned to the State\n * @returns array of all zipcodes present in state provided\n */\nfunction getZipcodesFromState(response, stateCode) {\n    const state = response.states[stateCode];\n    if (!state) {\n        throw new Error(`State with code ${stateCode} not found.`);\n    }\n    const zipcodes = Object.values(state.cities).reduce((acc, city) => {\n        return [...acc, ...city.zipcodes];\n    }, []);\n    // Remove duplicate zipcodes using a Set\n    return [...new Set(zipcodes)];\n}\n/**\n * Retrieves the list of all cities of a state\n *\n * This function makes a network request to central i18nify-data source and\n * returns a promise for list of all cities with their meta data based on country and state code passed\n *\n * @returns {Promise} Promise object for all cities\n */\nconst getZipcodes = (_countryCode, _stateCode) => {\n    const countryCode = _countryCode.toUpperCase();\n    const stateCode = _stateCode && _stateCode.toUpperCase();\n    if (!I18NIFY_DATA_SUPPORTED_COUNTRIES.includes(countryCode)) {\n        return Promise.reject(new Error(`Invalid country code: ${countryCode}. Please ensure you provide a valid country code.`));\n    }\n    return fetch(`${I18NIFY_DATA_SOURCE}/country/subdivisions/${countryCode}.json`)\n        .then((res) => res.json())\n        .then((res) => {\n        // return zipcodes of all states if state code is not provided\n        if (!stateCode) {\n            return Object.keys(res.states).reduce((acc, state) => {\n                const stateZipcodes = getZipcodesFromState(res, state);\n                return [...acc, ...stateZipcodes];\n            }, []);\n        }\n        if (!res.states[stateCode]) {\n            return Promise.reject(`State code ${stateCode} is missing in ${countryCode}. Please ensure you provide a valid state code that exists within the specified country. Check valid state codes and country codes here: https://github.com/razorpay/i18nify/blob/master/i18nify-data/country/metadata/data.json`);\n        }\n        return getZipcodesFromState(res, stateCode);\n    })\n        .catch((err) => {\n        throw new Error(`An error occurred while fetching zipcode data. The error details are: ${err}.`);\n    });\n};\nvar getZipcodes$1 = withErrorBoundary(getZipcodes);\n\n/**\n * Retrieves the list of all zipcodes for a specific city\n *\n * This function makes a network request to central i18nify-data source and\n * returns a promise for list of all zipcodes based on country and city identifier passed.\n * The city identifier can be either the complete city name or the city code.\n *\n * @param countryCode The country code to get zipcodes for\n * @param cityIdentifier The name or code of the city to get zipcodes for\n * @returns {Promise<string[]>} Promise object for all zipcodes in the city\n */\nconst getZipcodesByCity = (_countryCode, _cityIdentifier) => {\n    const countryCode = _countryCode.toUpperCase();\n    const cityIdentifier = _cityIdentifier.trim();\n    if (!I18NIFY_DATA_SUPPORTED_COUNTRIES.includes(countryCode)) {\n        return Promise.reject(new Error(`Invalid country code: ${countryCode}. Please ensure you provide a valid country code.`));\n    }\n    if (!cityIdentifier) {\n        return Promise.reject(new Error('City identifier is required. Please provide a valid city name or city code.'));\n    }\n    return fetch(`${I18NIFY_DATA_SOURCE}/country/subdivisions/${countryCode}.json`)\n        .then((res) => res.json())\n        .then((res) => {\n        // Search for the city across all states\n        for (const state of Object.values(res.states)) {\n            // Try to find by exact city name match first\n            const cityByExactName = Object.values(state.cities).find((c) => c.name.toUpperCase() === cityIdentifier.toUpperCase());\n            if (cityByExactName) {\n                return cityByExactName.zipcodes;\n            }\n            // Try to find by partial city name match\n            const cityByPartialName = Object.values(state.cities).find((c) => c.name.toUpperCase().includes(cityIdentifier.toUpperCase()) ||\n                cityIdentifier.toUpperCase().includes(c.name.toUpperCase()));\n            if (cityByPartialName) {\n                return cityByPartialName.zipcodes;\n            }\n        }\n        return Promise.reject(new Error(`City with identifier \"${cityIdentifier}\" not found in ${countryCode}. Please ensure you provide a valid city name or city code that exists within the specified country.`));\n    })\n        .catch((err) => {\n        throw new Error(`An error occurred while fetching zipcode data. The error details are: ${(err === null || err === void 0 ? void 0 : err.message) || err}.`);\n    });\n};\nvar getZipcodesByCity$1 = withErrorBoundary(getZipcodesByCity);\n\n/**\n * Retrieves the meta data for a country\n *\n * This function makes a network request to central i18nify-data source and\n * returns a promise for the meta data for a country\n *\n * @returns {Promise} Promise object for data of a country\n */\nconst getByCountry = (_countryCode) => {\n    return fetch(`${I18NIFY_DATA_SOURCE}/country/metadata/data.json`)\n        .then((res) => res.json())\n        .then((res) => res.metadata_information[_countryCode])\n        .catch((err) => {\n        throw new Error(`An error occurred while fetching country metadata. The error details are: ${err.message}.`);\n    });\n};\nvar getByCountry$1 = withErrorBoundary(getByCountry);\n\n/**\n * Retrieves the default locale for a country\n *\n * This function makes a network request to central i18nify-data source and\n * returns a promise for the default locale for a country\n *\n * @returns {Promise} Promise object for default locale of a country\n */\nconst getDefaultLocaleByCountry = (_countryCode) => {\n    return fetch(`${I18NIFY_DATA_SOURCE}/country/metadata/data.json`)\n        .then((res) => res.json())\n        .then((res) => res.metadata_information[_countryCode].default_locale)\n        .catch((err) => {\n        throw new Error(`An error occurred while fetching country metadata. The error details are: ${err.message}.`);\n    });\n};\nvar getDefaultLocaleByCountry$1 = withErrorBoundary(getDefaultLocaleByCountry);\n\n/**\n * Retrieves the list of locales for a country or all countries\n *\n * This function makes a network request to central i18nify-data source and\n * returns a promise for the locales of a country or all countries\n *\n * @param {CountryCodeType} [countryCode] - Optional country code to get locales for a specific country\n * @returns {Promise} Promise object containing locale information\n */\nconst getLocaleList = () => {\n    return fetch(`${I18NIFY_DATA_SOURCE}/country/metadata/data.json`)\n        .then((res) => res.json())\n        .then((res) => {\n        const allLocales = {};\n        Object.keys(res.metadata_information).forEach((code) => {\n            allLocales[code] = Object.keys(res.metadata_information[code].locales);\n        });\n        return allLocales;\n    })\n        .catch((err) => {\n        throw new Error(`An error occurred while fetching country metadata. The error details are: ${err.message}.`);\n    });\n};\nvar getLocaleList$1 = withErrorBoundary(getLocaleList);\n\n/**\n * Retrieves all supported locales for a country\n *\n * This function makes a network request to central i18nify-data source and\n * returns a promise for an array of supported locale codes for a country\n *\n * @returns {Promise} Promise object for array of supported locales of a country\n */\nconst getLocaleByCountry = (_countryCode) => {\n    return fetch(`${I18NIFY_DATA_SOURCE}/country/metadata/data.json`)\n        .then((res) => res.json())\n        .then((res) => Object.keys(res.metadata_information[_countryCode].locales))\n        .catch((err) => {\n        throw new Error(`An error occurred while fetching country locales. The error details are: ${err.message}.`);\n    });\n};\nvar getLocaleByCountry$1 = withErrorBoundary(getLocaleByCountry);\n\n/**\n * Retrieves the city name for a specific zipcode\n *\n * This function makes a network request to central i18nify-data source and\n * returns a promise for the city name that contains the provided zipcode.\n *\n * @param zipcode The zipcode to find the city for\n * @param countryCode The country code to search in\n * @returns {Promise<string>} Promise object for the city name\n */\nconst getCityByZipcode = (_zipcode, _countryCode) => {\n    const countryCode = _countryCode ? _countryCode.toUpperCase() : undefined;\n    const zipcode = _zipcode.trim();\n    if (countryCode && !I18NIFY_DATA_SUPPORTED_COUNTRIES.includes(countryCode)) {\n        return Promise.reject(new Error(`Invalid country code: ${countryCode}. Please ensure you provide a valid country code.`));\n    }\n    if (!zipcode) {\n        return Promise.reject(new Error('Zipcode is required. Please provide a valid zipcode.'));\n    }\n    const countriesToSearch = countryCode\n        ? [countryCode]\n        : I18NIFY_DATA_SUPPORTED_COUNTRIES;\n    const searchPromises = countriesToSearch.map((code) => fetch(`${I18NIFY_DATA_SOURCE}/country/subdivisions/${code}.json`)\n        .then((res) => res.json())\n        .then((res) => {\n        for (const state of Object.values(res.states)) {\n            for (const [cityName, cityData] of Object.entries(state.cities)) {\n                if (cityData.zipcodes.includes(zipcode)) {\n                    return cityName;\n                }\n            }\n        }\n        return null;\n    }));\n    return Promise.all(searchPromises)\n        .then((results) => {\n        const cityName = results.find((name) => name !== null);\n        if (cityName) {\n            return cityName;\n        }\n        return Promise.reject(new Error(`Zipcode \"${zipcode}\" not found in any supported country. Please ensure you provide a valid zipcode that exists within the specified countries.`));\n    })\n        .catch((err) => {\n        throw new Error(`An error occurred while fetching city data. The error details are: ${(err === null || err === void 0 ? void 0 : err.message) || err}.`);\n    });\n};\nvar getCityByZipcode$1 = withErrorBoundary(getCityByZipcode);\n\n/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise, SuppressedError, Symbol, Iterator */\r\n\r\n\r\nfunction __awaiter(thisArg, _arguments, P, generator) {\r\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n    return new (P || (P = Promise))(function (resolve, reject) {\r\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n    });\r\n}\r\n\r\ntypeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\r\n    var e = new Error(message);\r\n    return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\r\n};\n\n/**\n * Validates if a zipcode exists in a country or across all supported countries.\n * If a country code is provided, it checks only in that country.\n * If no country code is provided, it searches across all supported countries.\n *\n * @param {string} zipcode - The zipcode to validate\n * @param {I18nifyCountryCodeType} [countryCode] - Optional country code to validate against\n * @returns {Promise<boolean>} Promise that resolves to true if zipcode exists, false otherwise\n *\n * @throws {Error} If zipcode is empty or invalid\n * @throws {Error} If provided country code is not supported\n * @throws {Error} If API request fails when searching in a specific country\n */\nconst validateZipCode = (zipcode, countryCode) => __awaiter(void 0, void 0, void 0, function* () {\n    // Input validation: Ensure zipcode is not empty or just whitespace\n    if (!(zipcode === null || zipcode === void 0 ? void 0 : zipcode.trim())) {\n        throw new Error('Zipcode is required. Please provide a valid zipcode.');\n    }\n    // Normalize zipcode by removing leading/trailing spaces\n    const normalizedZipcode = zipcode.trim();\n    // If country code is provided, validate only for that country\n    if (countryCode) {\n        // Validate that the provided country code is supported\n        if (!I18NIFY_DATA_SUPPORTED_COUNTRIES.includes(countryCode)) {\n            throw new Error(`Invalid country code: ${countryCode}. Please ensure you provide a valid country code.`);\n        }\n        try {\n            // Fetch country data from the API\n            const res = yield fetch(`${I18NIFY_DATA_SOURCE}/country/subdivisions/${countryCode}.json`);\n            const data = yield res.json();\n            // Validate response structure: check if data and states exist\n            if (!data || !data.states) {\n                return false;\n            }\n            // Get array of states and validate it's not empty\n            const states = Object.values(data.states);\n            if (!states.length) {\n                return false;\n            }\n            // Search through each state for the zipcode\n            return states.some((state) => {\n                // Validate state and cities exist\n                if (!state || !state.cities) {\n                    return false;\n                }\n                // Get array of cities and validate it's not empty\n                const cities = Object.values(state.cities);\n                if (!cities.length) {\n                    return false;\n                }\n                // Search through each city for the zipcode\n                return cities.some((city) => {\n                    // Validate city and zipcodes array exist\n                    if (!city || !city.zipcodes) {\n                        return false;\n                    }\n                    // Check if zipcode exists in the city's zipcodes array\n                    return city.zipcodes.includes(normalizedZipcode);\n                });\n            });\n        }\n        catch (error) {\n            // Propagate error with additional context when searching in a specific country\n            throw new Error(`An error occurred while validating zipcode. The error details are: ${error instanceof Error ? error.message : String(error)}`);\n        }\n    }\n    // When no country code is provided, search across all supported countries\n    const supportedCountries = [...I18NIFY_DATA_SUPPORTED_COUNTRIES];\n    // Fetch and validate data from all supported countries in parallel\n    const results = yield Promise.all(supportedCountries.map((code) => __awaiter(void 0, void 0, void 0, function* () {\n        try {\n            // Fetch country data from the API\n            const res = yield fetch(`${I18NIFY_DATA_SOURCE}/country/subdivisions/${code}.json`);\n            const data = yield res.json();\n            // Validate response structure: check if data and states exist\n            if (!data || !data.states) {\n                return false;\n            }\n            // Get array of states and validate it's not empty\n            const states = Object.values(data.states);\n            if (!states.length) {\n                return false;\n            }\n            // Search through each state for the zipcode\n            return states.some((state) => {\n                // Validate state and cities exist\n                if (!state || !state.cities) {\n                    return false;\n                }\n                // Get array of cities and validate it's not empty\n                const cities = Object.values(state.cities);\n                if (!cities.length) {\n                    return false;\n                }\n                // Search through each city for the zipcode\n                return cities.some((city) => {\n                    // Validate city and zipcodes array exist\n                    if (!city || !city.zipcodes) {\n                        return false;\n                    }\n                    // Check if zipcode exists in the city's zipcodes array\n                    return city.zipcodes.includes(normalizedZipcode);\n                });\n            });\n        }\n        catch (error) {\n            // Silently handle errors in multi-country search by returning false\n            // This allows the search to continue with other countries\n            return false;\n        }\n    })));\n    // Return true if zipcode is found in any country, false otherwise\n    return results.some((result) => result === true);\n});\n// Wrap the function with error boundary for consistent error handling\nvar validateZipCode$1 = withErrorBoundary(validateZipCode);\n\n/**\n * Retrieves the state information for a specific zipcode\n *\n * This function makes a network request to central i18nify-data source and\n * returns a promise for the state name that contains the provided zipcode.\n * If a country code is provided, it will only search in that country,\n * otherwise it will search across all supported countries.\n *\n * @param zipcode The zipcode to find the state for\n * @param countryCode Optional country code to narrow down the search\n * @returns {Promise<{code: string; name: string; country: string}>} Promise object containing state information\n */\nconst getStatesByZipCode = (_zipcode, _countryCode) => {\n    // Normalize inputs: convert country code to uppercase and trim zipcode\n    const countryCode = _countryCode ? _countryCode.toUpperCase() : undefined;\n    const zipcode = _zipcode.trim();\n    // Validate country code if provided\n    if (countryCode && !I18NIFY_DATA_SUPPORTED_COUNTRIES.includes(countryCode)) {\n        return Promise.reject(new Error(`Invalid country code: ${countryCode}. Please ensure you provide a valid country code.`));\n    }\n    // Validate zipcode is not empty\n    if (!zipcode) {\n        return Promise.reject(new Error('Zipcode is required. Please provide a valid zipcode.'));\n    }\n    // Determine which countries to search based on provided country code\n    const countriesToSearch = countryCode\n        ? [countryCode]\n        : I18NIFY_DATA_SUPPORTED_COUNTRIES;\n    // Create an array of promises to search for the zipcode in each country\n    const searchPromises = countriesToSearch.map((code) => \n    // Fetch country data from the API\n    fetch(`${I18NIFY_DATA_SOURCE}/country/subdivisions/${code}.json`)\n        .then((res) => res.json())\n        .then((res) => {\n        // Validate response structure\n        if (!res || !res.states) {\n            throw new Error(`Cannot read properties of undefined (reading 'states')`);\n        }\n        // Skip if country has no states\n        if (Object.keys(res.states).length === 0) {\n            return null;\n        }\n        // Iterate through states to find matching zipcode\n        for (const [stateCode, stateData] of Object.entries(res.states)) {\n            // Skip states with no cities\n            if (!stateData.cities || Object.keys(stateData.cities).length === 0) {\n                continue;\n            }\n            // Check each city's zipcodes\n            for (const cityData of Object.values(stateData.cities)) {\n                // Skip cities with no zipcodes\n                if (!cityData.zipcodes || cityData.zipcodes.length === 0) {\n                    continue;\n                }\n                // Return state info if zipcode is found\n                if (cityData.zipcodes.includes(zipcode)) {\n                    return {\n                        code: stateCode,\n                        name: stateData.name,\n                        country: code,\n                    };\n                }\n            }\n        }\n        // Return null if zipcode not found in this country\n        return null;\n    }));\n    // Process all search results\n    return Promise.all(searchPromises)\n        .then((results) => {\n        // Find the first non-null result (matching state)\n        const stateInfo = results.find((info) => info !== null);\n        if (stateInfo) {\n            return stateInfo;\n        }\n        // Reject if zipcode not found in any country\n        return Promise.reject(new Error(`Zipcode \"${zipcode}\" not found in any supported country. Please ensure you provide a valid zipcode that exists within the specified countries.`));\n    })\n        .catch((err) => {\n        // Handle any errors during the search process\n        throw new Error(`An error occurred while fetching state data. The error details are: ${(err === null || err === void 0 ? void 0 : err.message) || err}.`);\n    });\n};\nvar getStatesByZipCode$1 = withErrorBoundary(getStatesByZipCode);\n\n/**\n * Retrieves the default locale for all countries\n *\n * This function makes a network request to central i18nify-data source and\n * returns a promise for the default locales of all countries\n *\n * @returns {Promise<Record<string, string>>} Promise object containing default locale information for all countries\n * @throws {Error} If the API request fails or returns invalid data\n */\nconst getDefaultLocaleList = () => __awaiter(void 0, void 0, void 0, function* () {\n    try {\n        // Make HTTP request to fetch country metadata\n        const response = yield fetch(`${I18NIFY_DATA_SOURCE}/country/metadata/data.json`);\n        // Check if the response is successful\n        if (!response.ok) {\n            throw new Error(`HTTP error! status: ${response.status}`);\n        }\n        // Parse the JSON response and type it as CountryMetadata\n        const data = (yield response.json());\n        // Validate that the response contains the required metadata_information\n        if (!(data === null || data === void 0 ? void 0 : data.metadata_information)) {\n            throw new Error('Invalid response format: missing metadata_information');\n        }\n        // Initialize an empty object to store country code to default locale mapping\n        const defaultLocales = {};\n        // Iterate through each country's metadata and extract default locale\n        // Skip countries that don't have a default_locale defined\n        Object.entries(data.metadata_information).forEach(([code, info]) => {\n            if (info === null || info === void 0 ? void 0 : info.default_locale) {\n                defaultLocales[code] = info.default_locale;\n            }\n        });\n        // Validate that we found at least one default locale\n        if (Object.keys(defaultLocales).length === 0) {\n            throw new Error('No default locales found in the response');\n        }\n        return defaultLocales;\n    }\n    catch (err) {\n        // Wrap any errors in a descriptive message while preserving the original error details\n        throw new Error(`An error occurred while fetching country metadata. The error details are: ${err instanceof Error ? err.message : String(err)}.`);\n    }\n});\n// Export the function wrapped with error boundary for consistent error handling\nvar getDefaultLocaleList$1 = withErrorBoundary(getDefaultLocaleList);\n\n/**\n * Retrieves the list of all banks available for a specified country.\n *\n * This function makes a network request to the central i18nify-data source\n * and returns a promise that resolves to the array of banks (without branches).\n *\n * @param {I18nifyCountryCodeType} _countryCode - The ISO country code (e.g. \"IN\")\n * @returns {Promise<any[]>} A Promise that resolves to an array of banks\n *\n * @example\n * getBanks(\"IN\").then((banks) => console.log(banks));\n */\nconst getListOfBanks = (_countryCode) => {\n    const countryCode = _countryCode.toUpperCase();\n    if (!I18NIFY_DATA_SUPPORTED_COUNTRIES.includes(countryCode)) {\n        return Promise.reject(new Error(`Data not available for country code: ${countryCode}. Data only available for country codes mentioned here: https://github.com/razorpay/i18nify/blob/master/packages/i18nify-js/src/modules/geo/constants.ts#L8`));\n    }\n    return fetch(`${I18NIFY_DATA_SOURCE}/bankcodes/${countryCode}.json`)\n        .then((res) => {\n        if (!res.ok) {\n            // Non-2xx HTTP status\n            throw new Error(`Failed to load bank data for country: ${countryCode}.`);\n        }\n        return res.json();\n    })\n        .then((data) => {\n        // Return the array of banks (data.details) without branches\n        return data.details || [];\n    })\n        .catch((err) => {\n        throw new Error(`An error occurred while fetching bank data. The error details are: ${err.message}.`);\n    });\n};\nvar getListOfBanks$1 = withErrorBoundary(getListOfBanks);\n\nexports.CalendarDate = $35ea8db9cb2ccb90$export$99faa760c7908e4f;\nexports.CalendarDateTime = $35ea8db9cb2ccb90$export$ca871e8dbb80966f;\nexports.Time = $35ea8db9cb2ccb90$export$680ea196effce5f;\nexports.ZonedDateTime = $35ea8db9cb2ccb90$export$d3b7288e7994edea;\nexports.convertToMajorUnit = convertToMajorUnit$1;\nexports.convertToMinorUnit = convertToMinorUnit$1;\nexports.formatDateTime = formatDateTime$1;\nexports.formatNumber = formatNumber$1;\nexports.formatNumberByParts = formatNumberByParts$1;\nexports.formatPhoneNumber = formatPhoneNumber$1;\nexports.getAllCountries = getAllCountries$1;\nexports.getByCountry = getByCountry$1;\nexports.getCities = getCities$1;\nexports.getCityByZipcode = getCityByZipcode$1;\nexports.getCurrencyList = getCurrencyList$1;\nexports.getCurrencySymbol = getCurrencySymbol$1;\nexports.getDefaultLocaleByCountry = getDefaultLocaleByCountry$1;\nexports.getDefaultLocaleList = getDefaultLocaleList$1;\nexports.getDialCodeByCountryCode = getDialCodeByCountryCode$1;\nexports.getDialCodes = getDialCodes$1;\nexports.getFlagOfCountry = getFlagOfCountry$1;\nexports.getFlagsForAllCountries = getFlagsForAllCountries$1;\nexports.getListOfBanks = getListOfBanks$1;\nexports.getLocaleByCountry = getLocaleByCountry$1;\nexports.getLocaleList = getLocaleList$1;\nexports.getMaskedPhoneNumber = getMaskedPhoneNumber$1;\nexports.getRelativeTime = getRelativeTime$1;\nexports.getState = getState$1;\nexports.getStates = getStates$1;\nexports.getStatesByZipCode = getStatesByZipCode$1;\nexports.getWeekdays = getWeekdays$1;\nexports.getZipcodes = getZipcodes$1;\nexports.getZipcodesByCity = getZipcodesByCity$1;\nexports.isValidPhoneNumber = isValidPhoneNumber$1;\nexports.parseDateTime = parseDateTime$1;\nexports.parsePhoneNumber = parsePhoneNumber$1;\nexports.resetState = resetState$1;\nexports.setState = setState$1;\nexports.validateZipCode = validateZipCode$1;\n"]}