@openmrs/esm-utils 6.2.1-pre.2774 → 6.2.1-pre.2777
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openmrs-esm-utils.js","mappings":"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J,KAAQ,CACJ,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MAEJ,KAAQ,CACJ,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KAEJ,KAAQ,CACJ,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KAEJ,KAAQ,CACJ,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MAEJ,SAAY,CACR,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KAEJ,KAAQ,CACJ,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MAEJ,KAAQ,CACJ,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MAEJ,KAAQ,CACJ,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KAEJ,KAAQ,CACJ,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KAEJ,QAAW,CACP,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KAEJ,KAAQ,CACJ,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MAEJ,KAAQ,CACJ,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MAEJ,KAAQ,CACJ,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KAEJ,KAAQ,CACJ,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KAEJ,KAAQ,CACJ,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KAEJ,KAAQ,CACJ,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KAEJ,KAAQ,CACJ,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KAEJ,SAAY,CACR,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KAEJ,KAAQ,CACJ,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KAEJ,KAAQ,CACJ,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KAEJ,KAAQ,CACJ,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KAEJ,SAAY,CACR,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MAEJ,QAAW,CACP,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MAEJ,SAAY,CACR,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MAEJ,SAAY,CACR,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MAEJ,SAAY,CACR,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MAEJ,KAAQ,CACJ,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KAEJ,KAAQ,CACJ,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MAEJ,KAAQ,CACJ,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KAEJ,KAAQ,CACJ,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MAEJ,KAAQ,CACJ,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KAEJ,KAAQ,CACJ,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KAEJ,SAAY,CACR,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KAEJ,SAAY,CACR,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KAEJ,KAAQ,CACJ,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MAEJ,KAAQ,CACJ,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KAEJ,KAAQ,CACJ,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KAEJ,KAAQ,CACJ,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KAEJ,KAAQ,CACJ,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MAEJ,KAAQ,CACJ,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MAEJ,KAAQ,CACJ,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KAEJ,QAAW,CACP,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MAEJ,KAAQ,CACJ,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MAEJ,KAAQ,CACJ,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MAEJ,KAAQ,CACJ,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KAEJ,KAAQ,CACJ,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MAEJ,KAAQ,CACJ,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KAEJ,KAAQ,CACJ,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MAEJ,KAAQ,CACJ,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KAEJ,QAAW,CACP,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KAEJ,KAAQ,CACJ,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KAEJ,KAAQ,CACJ,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KAEJ,KAAQ,CACJ,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KAEJ,KAAQ,CACJ,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MAEJ,KAAQ,CACJ,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KAEJ,KAAQ,CACJ,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MAEJ,KAAQ,CACJ,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,OCrwBJC,GAAwB,IAAIC,OAAO,IAAInK,OAAOgK,GAAgBI,SAE9DC,GAAyB,IAAIF,OAAO,GAAGnK,OAAOgK,GAAgBI,OAAQ,MACtEE,GAAsB,uBACX,SAASC,GAAcC,EAAcC,EAAMxG,EAAIzE,GAC1D,IAUIkL,EAqBAC,EA/BAC,EAAOJ,EAA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,GAAM,CACF,GAAM,CACF,SAGR,IAAO,CACH,GAAM,CACF,SAGR,IAAO,CACH,GAAM,CACF,SAGR,GAAM,CACF,GAAM,CACF,OACA,SAGR,QAAS,CACL,GAAM,CACF,OACA,SAGR,QAAS,CACL,GAAM,CACF,OACA,SAGR,QAAS,CACL,GAAM,CACF,OACA,SAGR,QAAS,CACL,GAAM,CACF,OACA,SAGR,QAAS,CACL,GAAM,CACF,OACA,SAGR,QAAS,CACL,GAAM,CACF,OACA,SAGR,QAAS,CACL,GAAM,CACF,OACA,SAGR,QAAS,CACL,GAAM,CACF,OACA,SAGR,QAAS,CACL,GAAM,CACF,OACA,SAGR,QAAS,CACL,GAAM,CACF,OACA,SAGR,QAAS,CACL,GAAM,CACF,OACA,SAGR,QAAS,CACL,GAAM,CACF,OACA,SAGR,QAAS,CACL,GAAM,CACF,OACA,SAGR,QAAS,CACL,GAAM,CACF,OACA,SAGR,QAAS,CACL,GAAM,CACF,OACA,SAGR,QAAS,CACL,GAAM,CACF,OACA,SAGR,QAAS,CACL,GAAM,CACF,OACA,SAGR,QAAS,CACL,GAAM,CACF,OACA,SAGR,QAAS,CACL,GAAM,CACF,OACA,SAGR,QAAS,CACL,GAAM,CACF,OACA,SAGR,QAAS,CACL,GAAM,CACF,OACA,SAGR,QAAS,CACL,GAAM,CACF,OACA,SAGR,QAAS,CACL,GAAM,CACF,OACA,SAGR,QAAS,CACL,GAAM,CACF,OACA,SAGR,QAAS,CACL,GAAM,CACF,OACA,SAGR,QAAS,CACL,GAAM,CACF,OACA,SAGR,QAAS,CACL,GAAM,CACF,OACA,SAGR,IAAO,CACH,GAAM,CACF,SAGR,GAAM,CACF,GAAM,CACF,SAGR,IAAO,CACH,GAAM,CACF,SAGR,IAAO,CACH,GAAM,CACF,SAGR,GAAM,CACF,GAAM,CACF,SAGR,UAAW,CACP,GAAM,CACF,YAGR,aAAc,CACV,GAAM,CACF,YAGR,aAAc,CACV,GAAM,CACF,YAGR,UAAW,CACP,GAAM,CACF,SAGR,UAAW,CACP,GAAM,CACF,SAGR,GAAM,CACF,GAAM,CACF,SAGR,IAAO,CACH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R,QAAS,CACL,GAAM,CACF,SAGR,QAAS,CACL,GAAM,CACF,SAGR,QAAS,CACL,GAAM,CACF,SAGR,QAAS,CACL,GAAM,CACF,SAGR,QAAS,CACL,GAAM,CACF,SAGR,QAAS,CACL,GAAM,CACF,SAGR,QAAS,CACL,GAAM,CACF,SAGR,QAAS,CACL,GAAM,CACF,SAGR,QAAS,CACL,GAAM,CACF,SAGR,QAAS,CACL,GAAM,CACF,SAGR,QAAS,CACL,GAAM,CACF,SAGR,QAAS,CACL,GAAM,CACF,SAGR,QAAS,CACL,GAAM,CACF,SAGR,QAAS,CACL,GAAM,CACF,SAGR,QAAS,CACL,GAAM,CACF,SAGR,QAAS,CACL,GAAM,CACF,SAGR,QAAS,CACL,GAAM,CACF,SAGR,QAAS,CACL,GAAM,CACF,SAGR,QAAS,CACL,GAAM,CACF,SAGR,QAAS,CACL,GAAM,CACF,SAGR,QAAS,CACL,GAAM,CACF,SAGR,QAAS,CACL,GAAM,CACF,SAGR,QAAS,CACL,GAAM,CACF,SAGR,QAAS,CACL,GAAM,CACF,SAGR,QAAS,CACL,GAAM,CACF,SAGR,UAAW,CACP,GAAM,CACF,SAGR,QAAS,CACL,GAAM,CACF,SAGR,QAAS,CACL,GAAM,CACF,SAGR,QAAS,CACL,GAAM,CACF,SAGR,QAAS,CACL,GAAM,CACF,SAGR,QAAS,CACL,GAAM,CACF,SAGR,QAAS,CACL,GAAM,CACF,SAGR,QAAS,CACL,GAAM,CACF,SAGR,QAAS,CACL,GAAM,CACF,SAGR,QAAS,CACL,GAAM,CACF,SAGR,QAAS,CACL,GAAM,CACF,SAGR,QAAS,CACL,GAAM,CACF,SAGR,QAAS,CACL,GAAM,CACF,SAGR,QAAS,CACL,GAAM,CACF,SAGR,QAAS,CACL,GAAM,CACF,SAGR,QAAS,CACL,GAAM,CACF,SAGR,QAAS,CACL,GAAM,CACF,SAGR,GAAM,CACF,GAAM,CACF,SAGR,GAAM,CACF,GAAM,CACF,SAGR,SAAU,CACN,GAAM,CACF,SAGR,QAAS,CACL,GAAM,CACF,SAGR,QAAS,CACL,GAAM,CACF,SAGR,QAAS,CACL,GAAM,CACF,SAG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B,GAAI,CACAlC,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACI2B,GAAI,CACAlC,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACI4B,GAAI,CACAnC,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACI6B,GAAI,CACApC,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACI6B,GAAI,CACApC,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACI6B,GAAI,CACApC,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACI6B,GAAI,CACApC,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACI6B,GAAI,CACApC,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACI6B,GAAI,CACApC,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACI6B,GAAI,CACApC,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACI6B,GAAI,CACApC,SAAU,KACVC,UAAW,KACXM,QAAS,SAGjB,CACI6B,GAAI,CACApC,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACI6B,GAAI,CACApC,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACI6B,GAAI,CACApC,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACI6B,GAAI,CACApC,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACI6B,GAAI,CACApC,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACI6B,GAAI,CACApC,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACI6B,GAAI,CACApC,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACI6B,GAAI,CACApC,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACI6B,GAAI,CACApC,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACI6B,GAAI,CACApC,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACI6B,GAAI,CACApC,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACI6B,GAAI,CACApC,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACI6B,GAAI,CACApC,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACI6B,GAAI,CACApC,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACI6B,GAAI,CACApC,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACI6B,GAAI,CACApC,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACI6B,GAAI,CACApC,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACI6B,GAAI,CACApC,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACI6B,GAAI,CACApC,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACI6B,GAAI,CACApC,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACI6B,GAAI,CACApC,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACI6B,GAAI,CACApC,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACI6B,GAAI,CACApC,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACI6B,GAAI,CACApC,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACI6B,GAAI,CACApC,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACI6B,GAAI,CACApC,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACI6B,GAAI,CACApC,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACI8B,GAAI,CACArC,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACI+B,GAAI,CACAtC,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACI+B,GAAI,CACAtC,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACI+B,GAAI,CACAtC,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACIgC,GAAI,CACAvC,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACIiC,GAAI,CACAxC,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACIiC,GAAI,CACAxC,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACIkC,GAAI,CACAzC,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACIkC,GAAI,CACAzC,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACIkC,GAAI,CACAzC,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACIkC,GAAI,CACAzC,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACIkC,GAAI,CACAzC,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACIkC,GAAI,CACAzC,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACIkC,GAAI,CACAzC,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACIkC,GAAI,CACAzC,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACIkC,GAAI,CACAzC,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACIkC,GAAI,CACAzC,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACIkC,GAAI,CACAzC,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACIkC,GAAI,CACAzC,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACIkC,GAAI,CACAzC,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACIkC,GAAI,CACAzC,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACIkC,GAAI,CACAzC,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACIkC,GAAI,CACAzC,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACIkC,GAAI,CACAzC,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACIkC,GAAI,CACAzC,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACIkC,GAAI,CACAzC,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACIkC,GAAI,CACAzC,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACIkC,GAAI,CACAzC,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACIkC,GAAI,CACAzC,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACIkC,GAAI,CACAzC,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACIkC,GAAI,CACAzC,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACIkC,GAAI,CACAzC,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACIkC,GAAI,CACAzC,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACIkC,GAAI,CACAzC,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACIkC,GAAI,CACAzC,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACIkC,GAAI,CACAzC,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACIkC,GAAI,CACAzC,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACIkC,GAAI,CACAzC,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACIkC,GAAI,CACAzC,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACIkC,GAAI,CACAzC,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACIkC,GAAI,CACAzC,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACIkC,GAAI,CACAzC,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACIkC,GAAI,CACAzC,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACIkC,GAAI,CACAzC,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACIkC,GAAI,CACAzC,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACIkC,GAAI,CACAzC,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACIkC,GAAI,CACAzC,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACIkC,GAAI,CACAzC,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACIkC,GAAI,CACAzC,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACImC,GAAI,CACA1C,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACImC,GAAI,CACA1C,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACImC,GAAI,CACA1C,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACIoC,GAAI,CACA3C,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACIoC,GAAI,CACA3C,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACIoC,GAAI,CACA3C,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACIqC,IAAK,CACD5C,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACIsC,GAAI,CACA7C,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACIuC,GAAI,CACA9C,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACIQ,GAAI,CACAf,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACIQ,GAAI,CACAf,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACIQ,GAAI,CACAf,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACIQ,GAAI,CACAf,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACIQ,GAAI,CACAf,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACIQ,GAAI,CACAf,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACIQ,GAAI,CACAf,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACIQ,GAAI,CACAf,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACIQ,GAAI,CACAf,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACIQ,GAAI,CACAf,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACIQ,GAAI,CACAf,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACIQ,GAAI,CACAf,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACIQ,GAAI,CACAf,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACI,IAAK,CACDP,SAAU,IACVC,UAAW,OAGnB,CACI,UAAW,CACPD,SAAU,UACVC,UAAW,KACXM,QAAS,SAGjB,CACI,UAAW,CACPP,SAAU,UACVC,UAAW,KACXM,QAAS,SAGjB,CACI,UAAW,CACPP,SAAU,UACVC,UAAW,KACXM,QAAS,SAGjB,CACI,UAAW,CACPP,SAAU,UACVC,UAAW,KACXM,QAAS,SAGjB,CACI,UAAW,CACPP,SAAU,UACVC,UAAW,KACXM,QAAS,SAGjB,CACI,UAAW,CACPP,SAAU,UACVC,UAAW,KACXM,QAAS,SAGjB,CACI,UAAW,CACPP,SAAU,UACVC,UAAW,KACXM,QAAS,SAGjB,CACI,UAAW,CACPP,SAAU,UACVC,UAAW,KACXM,QAAS,SAGjB,CACI,UAAW,CACPP,SAAU,UACVC,UAAW,KACXM,QAAS,SAGjB,CACI,UAAW,CACPP,SAAU,UACVC,UAAW,KACXM,QAAS,SAGjB,CACI,UAAW,CACPP,SAAU,UACVC,UAAW,KACXM,QAAS,SAGjB,CACI,UAAW,CACPP,SAAU,UACVC,UAAW,KACXM,QAAS,SAGjB,CACI,UAAW,CACPP,SAAU,UACVC,UAAW,KACXM,QAAS,SAGjB,CACI,UAAW,CACPP,SAAU,UACVC,UAAW,KACXM,QAAS,SAGjB,CACI,UAAW,CACPP,SAAU,UACVC,UAAW,KACXM,QAAS,SAGjB,CACI,UAAW,CACPP,SAAU,UACVC,UAAW,KACXM,QAAS,SAGjB,CACI,UAAW,CACPP,SAAU,UACVC,UAAW,KACXM,QAAS,SAGjB,CACI,UAAW,CACPP,SAAU,UACVC,UAAW,KACXM,QAAS,SAGjB,CACI,UAAW,CACPP,SAAU,UACVC,UAAW,KACXM,QAAS,SAGjB,CACI,UAAW,CACPP,SAAU,UACVC,UAAW,KACXM,QAAS,SAGjB,CACI,UAAW,CACPP,SAAU,UACVC,UAAW,KACXM,QAAS,SAGjB,CACI,UAAW,CACPP,SAAU,UACVC,UAAW,KACXM,QAAS,SAGjB,CACI,UAAW,CACPP,SAAU,UACVC,UAAW,KACXM,QAAS,SAGjB,CACI,UAAW,CACPP,SAAU,UACVC,UAAW,KACXM,QAAS,SAGjB,CACI,UAAW,CACPP,SAAU,UACVC,UAAW,MAGnB,CACI,UAAW,CACPD,SAAU,UACVC,UAAW,KACXM,QAAS,SAGjB,CACI,UAAW,CACPP,SAAU,UACVC,UAAW,KACXM,QAAS,SAGjB,CACI,UAAW,CACPP,SAAU,UACVC,UAAW,KACXM,QAAS,SAGjB,CACI,UAAW,CACPP,SAAU,UACVC,UAAW,KACXM,QAAS,SAGjB,CACI,UAAW,CACPP,SAAU,UACVC,UAAW,KACXM,QAAS,SAGjB,CACI,UAAW,CACPP,SAAU,UACVC,UAAW,KACXM,QAAS,SAGjB,CACI,UAAW,CACPP,SAAU,UACVC,UAAW,KACXM,QAAS,SAGjB,CACI,UAAW,CACPP,SAAU,UACVC,UAAW,KACXM,QAAS,SAGjB,CACI,UAAW,CACPP,SAAU,UACVC,UAAW,KACXM,QAAS,SAGjB,CACI,UAAW,CACPP,SAAU,UACVC,UAAW,KACXM,QAAS,SAGjB,CACI,UAAW,CACPP,SAAU,UACVC,UAAW,KACXM,QAAS,SAGjB,CACI,UAAW,CACPP,SAAU,UACVC,UAAW,KACXM,QAAS,SAGjB,CACI,UAAW,CACPP,SAAU,UACVC,UAAW,KACXM,QAAS,SAGjB,CACI,UAAW,CACPP,SAAU,UACVC,UAAW,IACXM,QAAS,SAGjB,CACI,UAAW,CACPP,SAAU,UACVC,UAAW,IACXM,QAAS,SAGjB,CACI,UAAW,CACPP,SAAU,UACVC,UAAW,IACXM,QAAS,SAGjB,CACI,UAAW,CACPP,SAAU,UACVC,UAAW,IACXM,QAAS,SAGjB,CACI,UAAW,CACPP,SAAU,UACVC,UAAW,IACXM,QAAS,SAGjB,CACI,UAAW,CACPP,SAAU,UACVC,UAAW,IACXM,QAAS,SAGjB,CACI,UAAW,CACPP,SAAU,UACVC,UAAW,IACXM,QAAS,SAGjB,CACI,UAAW,CACPP,SAAU,UACVC,UAAW,IACXM,QAAS,SAGjB,CACI,UAAW,CACPP,SAAU,UACVC,UAAW,IACXM,QAAS,SAGjB,CACI,UAAW,CACPP,SAAU,UACVC,UAAW,IACXM,QAAS,SAGjB,CACI,UAAW,CACPP,SAAU,UACVC,UAAW,IACXM,QAAS,SAGjB,CACI,MAAO,CACHP,SAAU,MACVC,UAAW,OAGnB,CACI,gBAAiB,CACbD,SAAU,gBACVC,UAAW,MAGnB,CACI,iBAAkB,CACdD,SAAU,iBACVC,UAAW,MAGnB,CACI,SAAU,CACND,SAAU,SACVC,UAAW,MAGnB,CACI,aAAc,CACVD,SAAU,aACVC,UAAW,MAGnB,CACI,UAAW,CACPD,SAAU,cACVC,UAAW,MAGnB,CACI,cAAe,CACXD,SAAU,cACVC,UAAW,MAGnB,CACI,SAAU,CACND,SAAU,SACVC,UAAW,MAGnB,CACI,iBAAkB,CACdD,SAAU,iBACVC,UAAW,MAGnB,CACI,kBAAmB,CACfD,SAAU,kBACVC,UAAW,MAGnB,CACI,SAAU,CACND,SAAU,SACVC,UAAW,MAGnB,CACI,iBAAkB,CACdD,SAAU,iBACVC,UAAW,MAGnB,CACI,kBAAmB,CACfD,SAAU,kBACVC,UAAW,MAGnB,CACI,SAAU,CACND,SAAU,SACVC,UAAW,MAGnB,CACI,iBAAkB,CACdD,SAAU,iBACVC,UAAW,MAGnB,CACI,kBAAmB,CACfD,SAAU,kBACVC,UAAW,MAGnB,CACI,YAAa,CACTD,SAAU,YACVC,UAAW,MAGnB,CACI,QAAS,CACLD,SAAU,QACVC,UAAW,UCpjFxB8C,EAAU,CACjB,MAAO,CACH,MACA,sBACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,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,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,MAEJ,MAAO,CACH,MACA,sBACA,MACA,MACA,MACA,MACA,MACA,MACA,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,MAEJ,MAAO,CACH,MACA,MACA,MACA,MACA,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,MAEJ,MAAO,CACH,MACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MAEJ,MAAO,CACH,MACA,MACA,MACA,MACA,MACA,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,MAEJ,MAAO,CACH,MACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MAEJ,MAAO,CACH,MACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MAEJ,MAAO,CACH,MACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MAEJ,MAAO,CACH,MACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MAEJ,MAAO,CACH,MACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MAEJ,MAAO,CACH,MACA,KACA,KACA,KACA,KACA,MAEJ,MAAO,CACH,MACA,MACA,MACA,MACA,sBACA,MACA,MACA,MACA,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,MAEJ,MAAO,CACH,MACA,KACA,KACA,KACA,KACA,MAEJ,MAAO,CACH,MACA,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,MAEJ,MAAO,CACH,MACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MAEJ,MAAO,CACH,MACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MAEJ,MAAO,CACH,MACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MAEJ,MAAO,CACH,MACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MAEJ,MAAO,CACH,MACA,KACA,KACA,KACA,KACA,KACA,MAEJ,MAAO,CACH,MACA,KACA,KACA,KACA,KACA,MAEJ,MAAO,CACH,MACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MAEJ,MAAO,CACH,MACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MAEJ,IAAO,CACH,MACA,MACA,MACA,MACA,MACA,MACA,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,MAEJ,IAAO,CACH,MACA,KACA,KACA,KACA,KACA,MAEJ,IAAO,CACH,MACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MAEJ,IAAO,CACH,MACA,MACA,MACA,MACA,MACA,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,MAEJ,IAAO,CACH,MACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MAEJ,IAAO,CACH,MACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MAEJ,IAAO,CACH,MACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MAEJ,IAAO,CACH,MACA,MACA,MACA,MACA,MACA,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,MAEJ,IAAO,CACH,MACA,MACA,MACA,MACA,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,MAEJ,GAAM,CACF,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,MAEJ,GAAM,CACF,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MAEJ,GAAM,CACF,KACA,KACA,KACA,KACA,KACA,MAEJ,GAAM,CACF,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,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,OChzCGC,EAAmC,0BACvC,SAASvY,EAAUC,EAAWC,EAASC,GAE1C,QADY,IAARA,IAAkBA,EAAMvH,QACvBqH,EACD,MAAM,IAAIE,EAAID,EAEtB,CAEA,IACIsY,EADAC,EAA6B,IAiCjC,SAASC,EAAU3K,EA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","sources":["webpack://@openmrs/esm-utils/../../../node_modules/@formatjs/intl-durationformat/index.js","webpack://@openmrs/esm-utils/../../../node_modules/@formatjs/intl-durationformat/node_modules/@formatjs/ecma402-abstract/lib/CanonicalizeLocaleList.js","webpack://@openmrs/esm-utils/../../../node_modules/@formatjs/intl-durationformat/node_modules/@formatjs/ecma402-abstract/lib/CanonicalizeTimeZoneName.js","webpack://@openmrs/esm-utils/../../../node_modules/@formatjs/intl-durationformat/node_modules/@formatjs/ecma402-abstract/lib/262.js","webpack://@openmrs/esm-utils/../../../node_modules/@formatjs/intl-durationformat/node_modules/@formatjs/ecma402-abstract/lib/CoerceOptionsToObject.js","webpack://@openmrs/esm-utils/../../../node_modules/@formatjs/intl-durationformat/node_modules/@formatjs/ecma402-abstract/lib/DefaultNumberOption.js","webpack://@openmrs/esm-utils/../../../node_modules/@formatjs/intl-durationformat/node_modules/@formatjs/ecma402-abstract/lib/GetNumberOption.js","webpack://@openmrs/esm-utils/../../../node_modules/@formatjs/intl-durationformat/node_modules/@formatjs/ecma402-abstract/lib/GetOption.js","webpack://@openmrs/esm-utils/../../../node_modules/@formatjs/intl-durationformat/node_modules/@formatjs/ecma402-abstract/lib/GetOptionsObject.js","webpack://@openmrs/esm-utils/../../../node_modules/@formatjs/intl-durationformat/node_modules/@formatjs/ecma402-abstract/lib/GetStringOrBooleanOption.js","webpack://@openmrs/esm-utils/../../../node_modules/@formatjs/intl-durationformat/node_modules/@formatjs/ecma402-abstract/lib/IsSanctionedSimpleUnitIdentifier.js","webpack://@openmrs/esm-utils/../../../node_modules/@formatjs/intl-durationformat/node_modules/@formatjs/ecma402-abstract/lib/IsValidTimeZoneName.js","webpack://@openmrs/esm-utils/../../../node_modules/@formatjs/intl-durationformat/node_modules/@formatjs/ecma402-abstract/lib/IsWellFormedCurrencyCode.js","webpack://@openmrs/esm-utils/../../../node_modules/@formatjs/intl-durationformat/node_modules/@formatjs/ecma402-abstract/lib/IsWellFormedUnitIdentifier.js","webpack://@openmrs/esm-utils/../../../node_modules/@formatjs/intl-durationformat/node_modules/@formatjs/ecma402-abstract/lib/NumberFormat/ApplyUnsignedRoundingMode.js","webpack://@openmrs/esm-utils/../../../node_modules/@formatjs/intl-durationformat/node_modules/@formatjs/ecma402-abstract/lib/NumberFormat/CollapseNumberRange.js","webpack://@openmrs/esm-utils/../../../node_modules/@formatjs/intl-durationformat/node_modules/@formatjs/ecma402-abstract/lib/utils.js","webpack://@openmrs/esm-utils/../../../node_modules/@formatjs/intl-durationformat/node_modules/@formatjs/ecma402-abstract/lib/NumberFormat/ComputeExponentForMagnitude.js","webpack://@openmrs/esm-utils/../../../node_modules/@formatjs/intl-durationformat/node_modules/@formatjs/ecma402-abstract/lib/NumberFormat/ToRawPrecision.js","webpack://@openmrs/esm-utils/../../../node_modules/@formatjs/intl-durationformat/node_modules/@formatjs/ecma402-abstract/lib/NumberFormat/ToRawFixed.js","webpack://@openmrs/esm-utils/../../../node_modules/@formatjs/intl-durationformat/node_modules/@formatjs/ecma402-abstract/lib/NumberFormat/FormatNumericToString.js","webpack://@openmrs/esm-utils/../../../node_modules/@formatjs/intl-durationformat/node_modules/@formatjs/ecma402-abstract/lib/NumberFormat/ComputeExponent.js","webpack://@openmrs/esm-utils/../../../node_modules/@formatjs/intl-durationformat/node_modules/@formatjs/ecma402-abstract/lib/NumberFormat/CurrencyDigits.js","webpack://@openmrs/esm-utils/../../../node_modules/@formatjs/intl-durationformat/node_modules/@formatjs/ecma402-abstract/lib/NumberFormat/FormatApproximately.js","webpack://@openmrs/esm-utils/../../../node_modules/@formatjs/intl-durationformat/node_modules/@formatjs/ecma402-abstract/lib/regex.generated.js","webpack://@openmrs/esm-utils/../../../node_modules/@formatjs/intl-durationformat/node_modules/@formatjs/ecma402-abstract/lib/NumberFormat/digit-mapping.generated.js","webpack://@openmrs/esm-utils/../../../node_modules/@formatjs/intl-durationformat/node_modules/@formatjs/ecma402-abstract/lib/NumberFormat/format_to_parts.js","webpack://@openmrs/esm-utils/../../../node_modules/@formatjs/intl-durationformat/node_modules/@formatjs/ecma402-abstract/lib/NumberFormat/PartitionNumberPattern.js","webpack://@openmrs/esm-utils/../../../node_modules/@formatjs/intl-durationformat/node_modules/@formatjs/ecma402-abstract/lib/NumberFormat/PartitionNumberRangePattern.js","webpack://@openmrs/esm-utils/../../../node_modules/@formatjs/intl-durationformat/node_modules/@formatjs/ecma402-abstract/lib/NumberFormat/FormatNumericRange.js","webpack://@openmrs/esm-utils/../../../node_modules/@formatjs/intl-durationformat/node_modules/@formatjs/ecma402-abstract/lib/NumberFormat/FormatNumericRangeToParts.js","webpack://@openmrs/esm-utils/../../../node_modules/@formatjs/intl-durationformat/node_modules/@formatjs/ecma402-abstract/lib/NumberFormat/FormatNumericToParts.js","webpack://@openmrs/esm-utils/../../../node_modules/@formatjs/intl-durationformat/node_modules/@formatjs/ecma402-abstract/lib/NumberFormat/GetUnsignedRoundingMode.js","webpack://@openmrs/esm-utils/../../../node_modules/@formatjs/intl-durationformat/node_modules/@formatjs/ecma402-abstract/lib/NumberFormat/SetNumberFormatDigitOptions.js","webpack://@openmrs/esm-utils/../../../node_modules/@formatjs/intl-durationformat/node_modules/@formatjs/ecma402-abstract/lib/NumberFormat/SetNumberFormatUnitOptions.js","webpack://@openmrs/esm-utils/../../../node_modules/@formatjs/intl-durationformat/node_modules/@formatjs/ecma402-abstract/lib/NumberFormat/InitializeNumberFormat.js","webpack://@openmrs/esm-utils/../../../node_modules/@formatjs/intl-durationformat/node_modules/@formatjs/ecma402-abstract/lib/PartitionPattern.js","webpack://@openmrs/esm-utils/../../../node_modules/@formatjs/intl-durationformat/node_modules/@formatjs/ecma402-abstract/lib/SupportedLocales.js","webpack://@openmrs/esm-utils/../../../node_modules/@formatjs/intl-durationformat/node_modules/@formatjs/ecma402-abstract/lib/types/date-time.js","webpack://@openmrs/esm-utils/../../../node_modules/@formatjs/intl-durationformat/node_modules/@formatjs/ecma402-abstract/lib/data.js","webpack://@openmrs/esm-utils/../../../node_modules/@formatjs/intl-durationformat/src/abstract/DurationRecordSign.js","webpack://@openmrs/esm-utils/../../../node_modules/@formatjs/intl-durationformat/src/abstract/GetDurationUnitOptions.js","webpack://@openmrs/esm-utils/../../../node_modules/@formatjs/intl-durationformat/src/abstract/IsValidDurationRecord.js","webpack://@openmrs/esm-utils/../../../node_modules/@formatjs/intl-durationformat/src/abstract/PartitionDurationFormatPattern.js","webpack://@openmrs/esm-utils/../../../node_modules/@formatjs/intl-durationformat/src/abstract/ToDurationRecord.js","webpack://@openmrs/esm-utils/../../../node_modules/@formatjs/intl-durationformat/src/abstract/ToIntegerIfIntegral.js","webpack://@openmrs/esm-utils/../../../node_modules/@formatjs/intl-durationformat/src/constants.js","webpack://@openmrs/esm-utils/../../../node_modules/@formatjs/intl-durationformat/src/core.js","webpack://@openmrs/esm-utils/../../../node_modules/@formatjs/intl-durationformat/src/get_internal_slots.js","webpack://@openmrs/esm-utils/../../../node_modules/@formatjs/intl-durationformat/src/numbering-systems.generated.js","webpack://@openmrs/esm-utils/../../../node_modules/@formatjs/intl-durationformat/src/time-separators.generated.js","webpack://@openmrs/esm-utils/../../../node_modules/@formatjs/intl-localematcher/lib/abstract/languageMatching.js","webpack://@openmrs/esm-utils/../../../node_modules/@formatjs/intl-localematcher/lib/abstract/regions.generated.js","webpack://@openmrs/esm-utils/../../../node_modules/@formatjs/intl-localematcher/lib/abstract/utils.js","webpack://@openmrs/esm-utils/../../../node_modules/@formatjs/intl-localematcher/lib/abstract/BestFitMatcher.js","webpack://@openmrs/esm-utils/../../../node_modules/@formatjs/intl-localematcher/lib/abstract/BestAvailableLocale.js","webpack://@openmrs/esm-utils/../../../node_modules/@formatjs/intl-localematcher/lib/abstract/UnicodeExtensionValue.js","webpack://@openmrs/esm-utils/../../../node_modules/@formatjs/intl-localematcher/lib/abstract/ResolveLocale.js","webpack://@openmrs/esm-utils/../../../node_modules/@formatjs/intl-localematcher/lib/abstract/LookupMatcher.js","webpack://@openmrs/esm-utils/../../../node_modules/@formatjs/intl-localematcher/lib/abstract/LookupSupportedLocales.js","webpack://@openmrs/esm-utils/../../../node_modules/@formatjs/intl-localematcher/lib/index.js","webpack://@openmrs/esm-utils/../../../node_modules/@formatjs/intl-localematcher/lib/abstract/CanonicalizeLocaleList.js","webpack://@openmrs/esm-utils/../../../node_modules/dayjs/plugin/isToday.js","webpack://@openmrs/esm-utils/../../../node_modules/dayjs/plugin/utc.js","webpack://@openmrs/esm-utils/./node_modules/semver/classes/comparator.js","webpack://@openmrs/esm-utils/./node_modules/semver/classes/range.js","webpack://@openmrs/esm-utils/./node_modules/semver/classes/semver.js","webpack://@openmrs/esm-utils/./node_modules/semver/functions/clean.js","webpack://@openmrs/esm-utils/./node_modules/semver/functions/cmp.js","webpack://@openmrs/esm-utils/./node_modules/semver/functions/coerce.js","webpack://@openmrs/esm-utils/./node_modules/semver/functions/compare-build.js","webpack://@openmrs/esm-utils/./node_modules/semver/functions/compare-loose.js","webpack://@openmrs/esm-utils/./node_modules/semver/functions/compare.js","webpack://@openmrs/esm-utils/./node_modules/semver/functions/diff.js","webpack://@openmrs/esm-utils/./node_modules/semver/functions/eq.js","webpack://@openmrs/esm-utils/./node_modules/semver/functions/gt.js","webpack://@openmrs/esm-utils/./node_modules/semver/functions/gte.js","webpack://@openmrs/esm-utils/./node_modules/semver/functions/inc.js","webpack://@openmrs/esm-utils/./node_modules/semver/functions/lt.js","webpack://@openmrs/esm-utils/./node_modules/semver/functions/lte.js","webpack://@openmrs/esm-utils/./node_modules/semver/functions/major.js","webpack://@openmrs/esm-utils/./node_modules/semver/functions/minor.js","webpack://@openmrs/esm-utils/./node_modules/semver/functions/neq.js","webpack://@openmrs/esm-utils/./node_modules/semver/functions/parse.js","webpack://@openmrs/esm-utils/./node_modules/semver/functions/patch.js","webpack://@openmrs/esm-utils/./node_modules/semver/functions/prerelease.js","webpack://@openmrs/esm-utils/./node_modules/semver/functions/rcompare.js","webpack://@openmrs/esm-utils/./node_modules/semver/functions/rsort.js","webpack://@openmrs/esm-utils/./node_modules/semver/functions/satisfies.js","webpack://@openmrs/esm-utils/./node_modules/semver/functions/sort.js","webpack://@openmrs/esm-utils/./node_modules/semver/functions/valid.js","webpack://@openmrs/esm-utils/./node_modules/semver/index.js","webpack://@openmrs/esm-utils/./node_modules/semver/internal/constants.js","webpack://@openmrs/esm-utils/./node_modules/semver/internal/debug.js","webpack://@openmrs/esm-utils/./node_modules/semver/internal/identifiers.js","webpack://@openmrs/esm-utils/./node_modules/semver/internal/re.js","webpack://@openmrs/esm-utils/./node_modules/semver/ranges/gtr.js","webpack://@openmrs/esm-utils/./node_modules/semver/ranges/intersects.js","webpack://@openmrs/esm-utils/./node_modules/semver/ranges/ltr.js","webpack://@openmrs/esm-utils/./node_modules/semver/ranges/max-satisfying.js","webpack://@openmrs/esm-utils/./node_modules/semver/ranges/min-satisfying.js","webpack://@openmrs/esm-utils/./node_modules/semver/ranges/min-version.js","webpack://@openmrs/esm-utils/./node_modules/semver/ranges/outside.js","webpack://@openmrs/esm-utils/./node_modules/semver/ranges/simplify.js","webpack://@openmrs/esm-utils/./node_modules/semver/ranges/subset.js","webpack://@openmrs/esm-utils/./node_modules/semver/ranges/to-comparators.js","webpack://@openmrs/esm-utils/./node_modules/semver/ranges/valid.js","webpack://@openmrs/esm-utils/external system \"dayjs\"","webpack://@openmrs/esm-utils/../../../node_modules/tslib/tslib.es6.mjs","webpack://@openmrs/esm-utils/webpack/bootstrap","webpack://@openmrs/esm-utils/webpack/runtime/compat get default export","webpack://@openmrs/esm-utils/webpack/runtime/define property getters","webpack://@openmrs/esm-utils/webpack/runtime/hasOwnProperty shorthand","webpack://@openmrs/esm-utils/webpack/runtime/make namespace object","webpack://@openmrs/esm-utils/./src/get-locale.ts","webpack://@openmrs/esm-utils/./src/age-helpers.ts","webpack://@openmrs/esm-utils/../../../node_modules/@internationalized/date/dist/manipulation.mjs","webpack://@openmrs/esm-utils/../../../node_modules/@internationalized/date/dist/queries.mjs","webpack://@openmrs/esm-utils/../../../node_modules/@internationalized/date/dist/utils.mjs","webpack://@openmrs/esm-utils/../../../node_modules/@internationalized/date/dist/GregorianCalendar.mjs","webpack://@openmrs/esm-utils/../../../node_modules/@internationalized/date/dist/string.mjs","webpack://@openmrs/esm-utils/../../../node_modules/@swc/helpers/esm/_class_private_field_init.js","webpack://@openmrs/esm-utils/../../../node_modules/@swc/helpers/esm/_check_private_redeclaration.js","webpack://@openmrs/esm-utils/../../../node_modules/@internationalized/date/dist/CalendarDate.mjs","webpack://@openmrs/esm-utils/../../../node_modules/@internationalized/date/dist/conversion.mjs","webpack://@openmrs/esm-utils/../../../node_modules/@internationalized/date/dist/BuddhistCalendar.mjs","webpack://@openmrs/esm-utils/../../../node_modules/@internationalized/date/dist/EthiopicCalendar.mjs","webpack://@openmrs/esm-utils/../../../node_modules/@internationalized/date/dist/HebrewCalendar.mjs","webpack://@openmrs/esm-utils/../../../node_modules/@internationalized/date/dist/IndianCalendar.mjs","webpack://@openmrs/esm-utils/../../../node_modules/@internationalized/date/dist/IslamicCalendar.mjs","webpack://@openmrs/esm-utils/../../../node_modules/@internationalized/date/dist/JapaneseCalendar.mjs","webpack://@openmrs/esm-utils/../../../node_modules/@internationalized/date/dist/PersianCalendar.mjs","webpack://@openmrs/esm-utils/../../../node_modules/@internationalized/date/dist/TaiwanCalendar.mjs","webpack://@openmrs/esm-utils/./src/dates/date-util.ts","webpack://@openmrs/esm-utils/../../../node_modules/@internationalized/date/dist/createCalendar.mjs","webpack://@openmrs/esm-utils/./src/is-online.ts","webpack://@openmrs/esm-utils/./src/patient-helpers.ts","webpack://@openmrs/esm-utils/./src/shallowEqual.ts","webpack://@openmrs/esm-utils/./src/storage.ts","webpack://@openmrs/esm-utils/./src/test-helpers.ts","webpack://@openmrs/esm-utils/./src/version.ts","webpack://@openmrs/esm-utils/./src/retry.ts"],"sourcesContent":["\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar tslib_1 = require(\"tslib\");\ntslib_1.__exportStar(require(\"./src/core\"), exports);\n","/**\n * http://ecma-international.org/ecma-402/7.0/index.html#sec-canonicalizelocalelist\n * @param locales\n */\nexport function CanonicalizeLocaleList(locales) {\n // TODO\n return Intl.getCanonicalLocales(locales);\n}\n","/**\n * https://tc39.es/ecma402/#sec-canonicalizetimezonename\n * @param tz\n */\nexport function CanonicalizeTimeZoneName(tz, _a) {\n var zoneNames = _a.zoneNames, uppercaseLinks = _a.uppercaseLinks;\n var uppercasedTz = tz.toUpperCase();\n var uppercasedZones = zoneNames.reduce(function (all, z) {\n all[z.toUpperCase()] = z;\n return all;\n }, {});\n var ianaTimeZone = uppercaseLinks[uppercasedTz] || uppercasedZones[uppercasedTz];\n if (ianaTimeZone === 'Etc/UTC' || ianaTimeZone === 'Etc/GMT') {\n return 'UTC';\n }\n return ianaTimeZone;\n}\n","/**\n * https://tc39.es/ecma262/#sec-tostring\n */\nexport function ToString(o) {\n // Only symbol is irregular...\n if (typeof o === 'symbol') {\n throw TypeError('Cannot convert a Symbol value to a string');\n }\n return String(o);\n}\n/**\n * https://tc39.es/ecma262/#sec-tonumber\n * @param val\n */\nexport function ToNumber(val) {\n if (val === undefined) {\n return NaN;\n }\n if (val === null) {\n return +0;\n }\n if (typeof val === 'boolean') {\n return val ? 1 : +0;\n }\n if (typeof val === 'number') {\n return val;\n }\n if (typeof val === 'symbol' || typeof val === 'bigint') {\n throw new TypeError('Cannot convert symbol/bigint to number');\n }\n return Number(val);\n}\n/**\n * https://tc39.es/ecma262/#sec-tointeger\n * @param n\n */\nfunction ToInteger(n) {\n var number = ToNumber(n);\n if (isNaN(number) || SameValue(number, -0)) {\n return 0;\n }\n if (isFinite(number)) {\n return number;\n }\n var integer = Math.floor(Math.abs(number));\n if (number < 0) {\n integer = -integer;\n }\n if (SameValue(integer, -0)) {\n return 0;\n }\n return integer;\n}\n/**\n * https://tc39.es/ecma262/#sec-timeclip\n * @param time\n */\nexport function TimeClip(time) {\n if (!isFinite(time)) {\n return NaN;\n }\n if (Math.abs(time) > 8.64 * 1e15) {\n return NaN;\n }\n return ToInteger(time);\n}\n/**\n * https://tc39.es/ecma262/#sec-toobject\n * @param arg\n */\nexport function ToObject(arg) {\n if (arg == null) {\n throw new TypeError('undefined/null cannot be converted to object');\n }\n return Object(arg);\n}\n/**\n * https://www.ecma-international.org/ecma-262/11.0/index.html#sec-samevalue\n * @param x\n * @param y\n */\nexport function SameValue(x, y) {\n if (Object.is) {\n return Object.is(x, y);\n }\n // SameValue algorithm\n if (x === y) {\n // Steps 1-5, 7-10\n // Steps 6.b-6.e: +0 != -0\n return x !== 0 || 1 / x === 1 / y;\n }\n // Step 6.a: NaN == NaN\n return x !== x && y !== y;\n}\n/**\n * https://www.ecma-international.org/ecma-262/11.0/index.html#sec-arraycreate\n * @param len\n */\nexport function ArrayCreate(len) {\n return new Array(len);\n}\n/**\n * https://www.ecma-international.org/ecma-262/11.0/index.html#sec-hasownproperty\n * @param o\n * @param prop\n */\nexport function HasOwnProperty(o, prop) {\n return Object.prototype.hasOwnProperty.call(o, prop);\n}\n/**\n * https://www.ecma-international.org/ecma-262/11.0/index.html#sec-type\n * @param x\n */\nexport function Type(x) {\n if (x === null) {\n return 'Null';\n }\n if (typeof x === 'undefined') {\n return 'Undefined';\n }\n if (typeof x === 'function' || typeof x === 'object') {\n return 'Object';\n }\n if (typeof x === 'number') {\n return 'Number';\n }\n if (typeof x === 'boolean') {\n return 'Boolean';\n }\n if (typeof x === 'string') {\n return 'String';\n }\n if (typeof x === 'symbol') {\n return 'Symbol';\n }\n if (typeof x === 'bigint') {\n return 'BigInt';\n }\n}\nvar MS_PER_DAY = 86400000;\n/**\n * https://www.ecma-international.org/ecma-262/11.0/index.html#eqn-modulo\n * @param x\n * @param y\n * @return k of the same sign as y\n */\nfunction mod(x, y) {\n return x - Math.floor(x / y) * y;\n}\n/**\n * https://tc39.es/ecma262/#eqn-Day\n * @param t\n */\nexport function Day(t) {\n return Math.floor(t / MS_PER_DAY);\n}\n/**\n * https://tc39.es/ecma262/#sec-week-day\n * @param t\n */\nexport function WeekDay(t) {\n return mod(Day(t) + 4, 7);\n}\n/**\n * https://tc39.es/ecma262/#sec-year-number\n * @param y\n */\nexport function DayFromYear(y) {\n return Date.UTC(y, 0) / MS_PER_DAY;\n}\n/**\n * https://tc39.es/ecma262/#sec-year-number\n * @param y\n */\nexport function TimeFromYear(y) {\n return Date.UTC(y, 0);\n}\n/**\n * https://tc39.es/ecma262/#sec-year-number\n * @param t\n */\nexport function YearFromTime(t) {\n return new Date(t).getUTCFullYear();\n}\nexport function DaysInYear(y) {\n if (y % 4 !== 0) {\n return 365;\n }\n if (y % 100 !== 0) {\n return 366;\n }\n if (y % 400 !== 0) {\n return 365;\n }\n return 366;\n}\nexport function DayWithinYear(t) {\n return Day(t) - DayFromYear(YearFromTime(t));\n}\nexport function InLeapYear(t) {\n return DaysInYear(YearFromTime(t)) === 365 ? 0 : 1;\n}\n/**\n * https://tc39.es/ecma262/#sec-month-number\n * @param t\n */\nexport function MonthFromTime(t) {\n var dwy = DayWithinYear(t);\n var leap = InLeapYear(t);\n if (dwy >= 0 && dwy < 31) {\n return 0;\n }\n if (dwy < 59 + leap) {\n return 1;\n }\n if (dwy < 90 + leap) {\n return 2;\n }\n if (dwy < 120 + leap) {\n return 3;\n }\n if (dwy < 151 + leap) {\n return 4;\n }\n if (dwy < 181 + leap) {\n return 5;\n }\n if (dwy < 212 + leap) {\n return 6;\n }\n if (dwy < 243 + leap) {\n return 7;\n }\n if (dwy < 273 + leap) {\n return 8;\n }\n if (dwy < 304 + leap) {\n return 9;\n }\n if (dwy < 334 + leap) {\n return 10;\n }\n if (dwy < 365 + leap) {\n return 11;\n }\n throw new Error('Invalid time');\n}\nexport function DateFromTime(t) {\n var dwy = DayWithinYear(t);\n var mft = MonthFromTime(t);\n var leap = InLeapYear(t);\n if (mft === 0) {\n return dwy + 1;\n }\n if (mft === 1) {\n return dwy - 30;\n }\n if (mft === 2) {\n return dwy - 58 - leap;\n }\n if (mft === 3) {\n return dwy - 89 - leap;\n }\n if (mft === 4) {\n return dwy - 119 - leap;\n }\n if (mft === 5) {\n return dwy - 150 - leap;\n }\n if (mft === 6) {\n return dwy - 180 - leap;\n }\n if (mft === 7) {\n return dwy - 211 - leap;\n }\n if (mft === 8) {\n return dwy - 242 - leap;\n }\n if (mft === 9) {\n return dwy - 272 - leap;\n }\n if (mft === 10) {\n return dwy - 303 - leap;\n }\n if (mft === 11) {\n return dwy - 333 - leap;\n }\n throw new Error('Invalid time');\n}\nvar HOURS_PER_DAY = 24;\nvar MINUTES_PER_HOUR = 60;\nvar SECONDS_PER_MINUTE = 60;\nvar MS_PER_SECOND = 1e3;\nvar MS_PER_MINUTE = MS_PER_SECOND * SECONDS_PER_MINUTE;\nvar MS_PER_HOUR = MS_PER_MINUTE * MINUTES_PER_HOUR;\nexport function HourFromTime(t) {\n return mod(Math.floor(t / MS_PER_HOUR), HOURS_PER_DAY);\n}\nexport function MinFromTime(t) {\n return mod(Math.floor(t / MS_PER_MINUTE), MINUTES_PER_HOUR);\n}\nexport function SecFromTime(t) {\n return mod(Math.floor(t / MS_PER_SECOND), SECONDS_PER_MINUTE);\n}\nfunction IsCallable(fn) {\n return typeof fn === 'function';\n}\n/**\n * The abstract operation OrdinaryHasInstance implements\n * the default algorithm for determining if an object O\n * inherits from the instance object inheritance path\n * provided by constructor C.\n * @param C class\n * @param O object\n * @param internalSlots internalSlots\n */\nexport function OrdinaryHasInstance(C, O, internalSlots) {\n if (!IsCallable(C)) {\n return false;\n }\n if (internalSlots === null || internalSlots === void 0 ? void 0 : internalSlots.boundTargetFunction) {\n var BC = internalSlots === null || internalSlots === void 0 ? void 0 : internalSlots.boundTargetFunction;\n return O instanceof BC;\n }\n if (typeof O !== 'object') {\n return false;\n }\n var P = C.prototype;\n if (typeof P !== 'object') {\n throw new TypeError('OrdinaryHasInstance called on an object with an invalid prototype property.');\n }\n return Object.prototype.isPrototypeOf.call(P, O);\n}\nexport function msFromTime(t) {\n return mod(t, MS_PER_SECOND);\n}\n","import { ToObject } from './262';\n/**\n * https://tc39.es/ecma402/#sec-coerceoptionstoobject\n * @param options\n * @returns\n */\nexport function CoerceOptionsToObject(options) {\n if (typeof options === 'undefined') {\n return Object.create(null);\n }\n return ToObject(options);\n}\n","/**\n * https://tc39.es/ecma402/#sec-defaultnumberoption\n * @param val\n * @param min\n * @param max\n * @param fallback\n */\nexport function DefaultNumberOption(inputVal, min, max, fallback) {\n if (inputVal === undefined) {\n // @ts-expect-error\n return fallback;\n }\n var val = Number(inputVal);\n if (isNaN(val) || val < min || val > max) {\n throw new RangeError(\"\".concat(val, \" is outside of range [\").concat(min, \", \").concat(max, \"]\"));\n }\n return Math.floor(val);\n}\n","/**\n * https://tc39.es/ecma402/#sec-getnumberoption\n * @param options\n * @param property\n * @param min\n * @param max\n * @param fallback\n */\nimport { DefaultNumberOption } from './DefaultNumberOption';\nexport function GetNumberOption(options, property, minimum, maximum, fallback) {\n var val = options[property];\n return DefaultNumberOption(val, minimum, maximum, fallback);\n}\n","import { ToString } from './262';\n/**\n * https://tc39.es/ecma402/#sec-getoption\n * @param opts\n * @param prop\n * @param type\n * @param values\n * @param fallback\n */\nexport function GetOption(opts, prop, type, values, fallback) {\n if (typeof opts !== 'object') {\n throw new TypeError('Options must be an object');\n }\n var value = opts[prop];\n if (value !== undefined) {\n if (type !== 'boolean' && type !== 'string') {\n throw new TypeError('invalid type');\n }\n if (type === 'boolean') {\n value = Boolean(value);\n }\n if (type === 'string') {\n value = ToString(value);\n }\n if (values !== undefined && !values.filter(function (val) { return val == value; }).length) {\n throw new RangeError(\"\".concat(value, \" is not within \").concat(values.join(', ')));\n }\n return value;\n }\n return fallback;\n}\n","/**\n * https://tc39.es/ecma402/#sec-getoptionsobject\n * @param options\n * @returns\n */\nexport function GetOptionsObject(options) {\n if (typeof options === 'undefined') {\n return Object.create(null);\n }\n if (typeof options === 'object') {\n return options;\n }\n throw new TypeError('Options must be an object');\n}\n","/**\n * https://tc39.es/ecma402/#sec-getstringorbooleanoption\n * @param opts\n * @param prop\n * @param values\n * @param trueValue\n * @param falsyValue\n * @param fallback\n */\nimport { ToString } from './262';\nexport function GetStringOrBooleanOption(opts, prop, values, trueValue, falsyValue, fallback) {\n var value = opts[prop];\n if (value === undefined) {\n return fallback;\n }\n if (value === true) {\n return trueValue;\n }\n var valueBoolean = Boolean(value);\n if (valueBoolean === false) {\n return falsyValue;\n }\n value = ToString(value);\n if (value === 'true' || value === 'false') {\n return fallback;\n }\n if ((values || []).indexOf(value) === -1) {\n throw new RangeError(\"Invalid value \".concat(value));\n }\n return value;\n}\n","/**\n * https://tc39.es/ecma402/#table-sanctioned-simple-unit-identifiers\n */\nexport var SANCTIONED_UNITS = [\n 'angle-degree',\n 'area-acre',\n 'area-hectare',\n 'concentr-percent',\n 'digital-bit',\n 'digital-byte',\n 'digital-gigabit',\n 'digital-gigabyte',\n 'digital-kilobit',\n 'digital-kilobyte',\n 'digital-megabit',\n 'digital-megabyte',\n 'digital-petabyte',\n 'digital-terabit',\n 'digital-terabyte',\n 'duration-day',\n 'duration-hour',\n 'duration-millisecond',\n 'duration-minute',\n 'duration-month',\n 'duration-second',\n 'duration-week',\n 'duration-year',\n 'length-centimeter',\n 'length-foot',\n 'length-inch',\n 'length-kilometer',\n 'length-meter',\n 'length-mile-scandinavian',\n 'length-mile',\n 'length-millimeter',\n 'length-yard',\n 'mass-gram',\n 'mass-kilogram',\n 'mass-ounce',\n 'mass-pound',\n 'mass-stone',\n 'temperature-celsius',\n 'temperature-fahrenheit',\n 'volume-fluid-ounce',\n 'volume-gallon',\n 'volume-liter',\n 'volume-milliliter',\n];\n// In CLDR, the unit name always follows the form `namespace-unit` pattern.\n// For example: `digital-bit` instead of `bit`. This function removes the namespace prefix.\nexport function removeUnitNamespace(unit) {\n return unit.slice(unit.indexOf('-') + 1);\n}\n/**\n * https://tc39.es/ecma402/#table-sanctioned-simple-unit-identifiers\n */\nexport var SIMPLE_UNITS = SANCTIONED_UNITS.map(removeUnitNamespace);\n/**\n * https://tc39.es/ecma402/#sec-issanctionedsimpleunitidentifier\n */\nexport function IsSanctionedSimpleUnitIdentifier(unitIdentifier) {\n return SIMPLE_UNITS.indexOf(unitIdentifier) > -1;\n}\n","/**\n * https://tc39.es/ecma402/#sec-isvalidtimezonename\n * @param tz\n * @param implDetails implementation details\n */\nexport function IsValidTimeZoneName(tz, _a) {\n var zoneNamesFromData = _a.zoneNamesFromData, uppercaseLinks = _a.uppercaseLinks;\n var uppercasedTz = tz.toUpperCase();\n var zoneNames = new Set();\n var linkNames = new Set();\n zoneNamesFromData.map(function (z) { return z.toUpperCase(); }).forEach(function (z) { return zoneNames.add(z); });\n Object.keys(uppercaseLinks).forEach(function (linkName) {\n linkNames.add(linkName.toUpperCase());\n zoneNames.add(uppercaseLinks[linkName].toUpperCase());\n });\n return zoneNames.has(uppercasedTz) || linkNames.has(uppercasedTz);\n}\n","/**\n * This follows https://tc39.es/ecma402/#sec-case-sensitivity-and-case-mapping\n * @param str string to convert\n */\nfunction toUpperCase(str) {\n return str.replace(/([a-z])/g, function (_, c) { return c.toUpperCase(); });\n}\nvar NOT_A_Z_REGEX = /[^A-Z]/;\n/**\n * https://tc39.es/ecma402/#sec-iswellformedcurrencycode\n */\nexport function IsWellFormedCurrencyCode(currency) {\n currency = toUpperCase(currency);\n if (currency.length !== 3) {\n return false;\n }\n if (NOT_A_Z_REGEX.test(currency)) {\n return false;\n }\n return true;\n}\n","import { IsSanctionedSimpleUnitIdentifier } from './IsSanctionedSimpleUnitIdentifier';\n/**\n * This follows https://tc39.es/ecma402/#sec-case-sensitivity-and-case-mapping\n * @param str string to convert\n */\nfunction toLowerCase(str) {\n return str.replace(/([A-Z])/g, function (_, c) { return c.toLowerCase(); });\n}\n/**\n * https://tc39.es/ecma402/#sec-iswellformedunitidentifier\n * @param unit\n */\nexport function IsWellFormedUnitIdentifier(unit) {\n unit = toLowerCase(unit);\n if (IsSanctionedSimpleUnitIdentifier(unit)) {\n return true;\n }\n var units = unit.split('-per-');\n if (units.length !== 2) {\n return false;\n }\n var numerator = units[0], denominator = units[1];\n if (!IsSanctionedSimpleUnitIdentifier(numerator) ||\n !IsSanctionedSimpleUnitIdentifier(denominator)) {\n return false;\n }\n return true;\n}\n","export function ApplyUnsignedRoundingMode(x, r1, r2, unsignedRoundingMode) {\n if (x === r1)\n return r1;\n if (unsignedRoundingMode === undefined) {\n throw new Error('unsignedRoundingMode is mandatory');\n }\n if (unsignedRoundingMode === 'zero') {\n return r1;\n }\n if (unsignedRoundingMode === 'infinity') {\n return r2;\n }\n var d1 = x - r1;\n var d2 = r2 - x;\n if (d1 < d2) {\n return r1;\n }\n if (d2 < d1) {\n return r2;\n }\n if (d1 !== d2) {\n throw new Error('Unexpected error');\n }\n if (unsignedRoundingMode === 'half-zero') {\n return r1;\n }\n if (unsignedRoundingMode === 'half-infinity') {\n return r2;\n }\n if (unsignedRoundingMode !== 'half-even') {\n throw new Error(\"Unexpected value for unsignedRoundingMode: \".concat(unsignedRoundingMode));\n }\n var cardinality = (r1 / (r2 - r1)) % 2;\n if (cardinality === 0) {\n return r1;\n }\n return r2;\n}\n","/**\n * https://tc39.es/ecma402/#sec-collapsenumberrange\n */\nexport function CollapseNumberRange(result) {\n return result;\n}\n","/**\n * Cannot do Math.log(x) / Math.log(10) bc if IEEE floating point issue\n * @param x number\n */\nexport function getMagnitude(x) {\n // Cannot count string length via Number.toString because it may use scientific notation\n // for very small or very large numbers.\n return Math.floor(Math.log(x) * Math.LOG10E);\n}\nexport function repeat(s, times) {\n if (typeof s.repeat === 'function') {\n return s.repeat(times);\n }\n var arr = new Array(times);\n for (var i = 0; i < arr.length; i++) {\n arr[i] = s;\n }\n return arr.join('');\n}\nexport function setInternalSlot(map, pl, field, value) {\n if (!map.get(pl)) {\n map.set(pl, Object.create(null));\n }\n var slots = map.get(pl);\n slots[field] = value;\n}\nexport function setMultiInternalSlots(map, pl, props) {\n for (var _i = 0, _a = Object.keys(props); _i < _a.length; _i++) {\n var k = _a[_i];\n setInternalSlot(map, pl, k, props[k]);\n }\n}\nexport function getInternalSlot(map, pl, field) {\n return getMultiInternalSlots(map, pl, field)[field];\n}\nexport function getMultiInternalSlots(map, pl) {\n var fields = [];\n for (var _i = 2; _i < arguments.length; _i++) {\n fields[_i - 2] = arguments[_i];\n }\n var slots = map.get(pl);\n if (!slots) {\n throw new TypeError(\"\".concat(pl, \" InternalSlot has not been initialized\"));\n }\n return fields.reduce(function (all, f) {\n all[f] = slots[f];\n return all;\n }, Object.create(null));\n}\nexport function isLiteralPart(patternPart) {\n return patternPart.type === 'literal';\n}\n/*\n 17 ECMAScript Standard Built-in Objects:\n Every built-in Function object, including constructors, that is not\n identified as an anonymous function has a name property whose value\n is a String.\n\n Unless otherwise specified, the name property of a built-in Function\n object, if it exists, has the attributes { [[Writable]]: false,\n [[Enumerable]]: false, [[Configurable]]: true }.\n*/\nexport function defineProperty(target, name, _a) {\n var value = _a.value;\n Object.defineProperty(target, name, {\n configurable: true,\n enumerable: false,\n writable: true,\n value: value,\n });\n}\n/**\n * 7.3.5 CreateDataProperty\n * @param target\n * @param name\n * @param value\n */\nexport function createDataProperty(target, name, value) {\n Object.defineProperty(target, name, {\n configurable: true,\n enumerable: true,\n writable: true,\n value: value,\n });\n}\nexport var UNICODE_EXTENSION_SEQUENCE_REGEX = /-u(?:-[0-9a-z]{2,8})+/gi;\nexport function invariant(condition, message, Err) {\n if (Err === void 0) { Err = Error; }\n if (!condition) {\n throw new Err(message);\n }\n}\n","/**\n * The abstract operation ComputeExponentForMagnitude computes an exponent by which to scale a\n * number of the given magnitude (power of ten of the most significant digit) according to the\n * locale and the desired notation (scientific, engineering, or compact).\n */\nexport function ComputeExponentForMagnitude(numberFormat, magnitude, _a) {\n var getInternalSlots = _a.getInternalSlots;\n var internalSlots = getInternalSlots(numberFormat);\n var notation = internalSlots.notation, dataLocaleData = internalSlots.dataLocaleData, numberingSystem = internalSlots.numberingSystem;\n switch (notation) {\n case 'standard':\n return 0;\n case 'scientific':\n return magnitude;\n case 'engineering':\n return Math.floor(magnitude / 3) * 3;\n default: {\n // Let exponent be an implementation- and locale-dependent (ILD) integer by which to scale a\n // number of the given magnitude in compact notation for the current locale.\n var compactDisplay = internalSlots.compactDisplay, style = internalSlots.style, currencyDisplay = internalSlots.currencyDisplay;\n var thresholdMap = void 0;\n if (style === 'currency' && currencyDisplay !== 'name') {\n var currency = dataLocaleData.numbers.currency[numberingSystem] ||\n dataLocaleData.numbers.currency[dataLocaleData.numbers.nu[0]];\n thresholdMap = currency.short;\n }\n else {\n var decimal = dataLocaleData.numbers.decimal[numberingSystem] ||\n dataLocaleData.numbers.decimal[dataLocaleData.numbers.nu[0]];\n thresholdMap = compactDisplay === 'long' ? decimal.long : decimal.short;\n }\n if (!thresholdMap) {\n return 0;\n }\n var num = String(Math.pow(10, magnitude));\n var thresholds = Object.keys(thresholdMap); // TODO: this can be pre-processed\n if (num < thresholds[0]) {\n return 0;\n }\n if (num > thresholds[thresholds.length - 1]) {\n return thresholds[thresholds.length - 1].length - 1;\n }\n var i = thresholds.indexOf(num);\n if (i === -1) {\n return 0;\n }\n // See https://unicode.org/reports/tr35/tr35-numbers.html#Compact_Number_Formats\n // Special handling if the pattern is precisely `0`.\n var magnitudeKey = thresholds[i];\n // TODO: do we need to handle plural here?\n var compactPattern = thresholdMap[magnitudeKey].other;\n if (compactPattern === '0') {\n return 0;\n }\n // Example: in zh-TW, `10000000` maps to `0000萬`. So we need to return 8 - 4 = 4 here.\n return (magnitudeKey.length -\n thresholdMap[magnitudeKey].other.match(/0+/)[0].length);\n }\n }\n}\n","import { repeat, getMagnitude } from '../utils';\nexport function ToRawPrecision(x, minPrecision, maxPrecision) {\n var p = maxPrecision;\n var m;\n var e;\n var xFinal;\n if (x === 0) {\n m = repeat('0', p);\n e = 0;\n xFinal = 0;\n }\n else {\n var xToString = x.toString();\n // If xToString is formatted as scientific notation, the number is either very small or very\n // large. If the precision of the formatted string is lower that requested max precision, we\n // should still infer them from the formatted string, otherwise the formatted result might have\n // precision loss (e.g. 1e41 will not have 0 in every trailing digits).\n var xToStringExponentIndex = xToString.indexOf('e');\n var _a = xToString.split('e'), xToStringMantissa = _a[0], xToStringExponent = _a[1];\n var xToStringMantissaWithoutDecimalPoint = xToStringMantissa.replace('.', '');\n if (xToStringExponentIndex >= 0 &&\n xToStringMantissaWithoutDecimalPoint.length <= p) {\n e = +xToStringExponent;\n m =\n xToStringMantissaWithoutDecimalPoint +\n repeat('0', p - xToStringMantissaWithoutDecimalPoint.length);\n xFinal = x;\n }\n else {\n e = getMagnitude(x);\n var decimalPlaceOffset = e - p + 1;\n // n is the integer containing the required precision digits. To derive the formatted string,\n // we will adjust its decimal place in the logic below.\n var n = Math.round(adjustDecimalPlace(x, decimalPlaceOffset));\n // The rounding caused the change of magnitude, so we should increment `e` by 1.\n if (adjustDecimalPlace(n, p - 1) >= 10) {\n e = e + 1;\n // Divide n by 10 to swallow one precision.\n n = Math.floor(n / 10);\n }\n m = n.toString();\n // Equivalent of n * 10 ** (e - p + 1)\n xFinal = adjustDecimalPlace(n, p - 1 - e);\n }\n }\n var int;\n if (e >= p - 1) {\n m = m + repeat('0', e - p + 1);\n int = e + 1;\n }\n else if (e >= 0) {\n m = \"\".concat(m.slice(0, e + 1), \".\").concat(m.slice(e + 1));\n int = e + 1;\n }\n else {\n m = \"0.\".concat(repeat('0', -e - 1)).concat(m);\n int = 1;\n }\n if (m.indexOf('.') >= 0 && maxPrecision > minPrecision) {\n var cut = maxPrecision - minPrecision;\n while (cut > 0 && m[m.length - 1] === '0') {\n m = m.slice(0, -1);\n cut--;\n }\n if (m[m.length - 1] === '.') {\n m = m.slice(0, -1);\n }\n }\n return { formattedString: m, roundedNumber: xFinal, integerDigitsCount: int };\n // x / (10 ** magnitude), but try to preserve as much floating point precision as possible.\n function adjustDecimalPlace(x, magnitude) {\n return magnitude < 0 ? x * Math.pow(10, -magnitude) : x / Math.pow(10, magnitude);\n }\n}\n","import { repeat } from '../utils';\n/**\n * TODO: dedup with intl-pluralrules and support BigInt\n * https://tc39.es/ecma402/#sec-torawfixed\n * @param x a finite non-negative Number or BigInt\n * @param minFraction and integer between 0 and 20\n * @param maxFraction and integer between 0 and 20\n */\nexport function ToRawFixed(x, minFraction, maxFraction) {\n var f = maxFraction;\n var n = Math.round(x * Math.pow(10, f));\n var xFinal = n / Math.pow(10, f);\n // n is a positive integer, but it is possible to be greater than 1e21.\n // In such case we will go the slow path.\n // See also: https://tc39.es/ecma262/#sec-numeric-types-number-tostring\n var m;\n if (n < 1e21) {\n m = n.toString();\n }\n else {\n m = n.toString();\n var _a = m.split('e'), mantissa = _a[0], exponent = _a[1];\n m = mantissa.replace('.', '');\n m = m + repeat('0', Math.max(+exponent - m.length + 1, 0));\n }\n var int;\n if (f !== 0) {\n var k = m.length;\n if (k <= f) {\n var z = repeat('0', f + 1 - k);\n m = z + m;\n k = f + 1;\n }\n var a = m.slice(0, k - f);\n var b = m.slice(k - f);\n m = \"\".concat(a, \".\").concat(b);\n int = a.length;\n }\n else {\n int = m.length;\n }\n var cut = maxFraction - minFraction;\n while (cut > 0 && m[m.length - 1] === '0') {\n m = m.slice(0, -1);\n cut--;\n }\n if (m[m.length - 1] === '.') {\n m = m.slice(0, -1);\n }\n return { formattedString: m, roundedNumber: xFinal, integerDigitsCount: int };\n}\n","import { SameValue } from '../262';\nimport { ToRawPrecision } from './ToRawPrecision';\nimport { repeat } from '../utils';\nimport { ToRawFixed } from './ToRawFixed';\n/**\n * https://tc39.es/ecma402/#sec-formatnumberstring\n */\nexport function FormatNumericToString(intlObject, x) {\n var isNegative = x < 0 || SameValue(x, -0);\n if (isNegative) {\n x = -x;\n }\n var result;\n var rourndingType = intlObject.roundingType;\n switch (rourndingType) {\n case 'significantDigits':\n result = ToRawPrecision(x, intlObject.minimumSignificantDigits, intlObject.maximumSignificantDigits);\n break;\n case 'fractionDigits':\n result = ToRawFixed(x, intlObject.minimumFractionDigits, intlObject.maximumFractionDigits);\n break;\n default:\n result = ToRawPrecision(x, 1, 2);\n if (result.integerDigitsCount > 1) {\n result = ToRawFixed(x, 0, 0);\n }\n break;\n }\n x = result.roundedNumber;\n var string = result.formattedString;\n var int = result.integerDigitsCount;\n var minInteger = intlObject.minimumIntegerDigits;\n if (int < minInteger) {\n var forwardZeros = repeat('0', minInteger - int);\n string = forwardZeros + string;\n }\n if (isNegative) {\n x = -x;\n }\n return { roundedNumber: x, formattedString: string };\n}\n","import { getMagnitude } from '../utils';\nimport { ComputeExponentForMagnitude } from './ComputeExponentForMagnitude';\nimport { FormatNumericToString } from './FormatNumericToString';\n/**\n * The abstract operation ComputeExponent computes an exponent (power of ten) by which to scale x\n * according to the number formatting settings. It handles cases such as 999 rounding up to 1000,\n * requiring a different exponent.\n *\n * NOT IN SPEC: it returns [exponent, magnitude].\n */\nexport function ComputeExponent(numberFormat, x, _a) {\n var getInternalSlots = _a.getInternalSlots;\n if (x === 0) {\n return [0, 0];\n }\n if (x < 0) {\n x = -x;\n }\n var magnitude = getMagnitude(x);\n var exponent = ComputeExponentForMagnitude(numberFormat, magnitude, {\n getInternalSlots: getInternalSlots,\n });\n // Preserve more precision by doing multiplication when exponent is negative.\n x = exponent < 0 ? x * Math.pow(10, -exponent) : x / Math.pow(10, exponent);\n var formatNumberResult = FormatNumericToString(getInternalSlots(numberFormat), x);\n if (formatNumberResult.roundedNumber === 0) {\n return [exponent, magnitude];\n }\n var newMagnitude = getMagnitude(formatNumberResult.roundedNumber);\n if (newMagnitude === magnitude - exponent) {\n return [exponent, magnitude];\n }\n return [\n ComputeExponentForMagnitude(numberFormat, magnitude + 1, {\n getInternalSlots: getInternalSlots,\n }),\n magnitude + 1,\n ];\n}\n","import { HasOwnProperty } from '../262';\n/**\n * https://tc39.es/ecma402/#sec-currencydigits\n */\nexport function CurrencyDigits(c, _a) {\n var currencyDigitsData = _a.currencyDigitsData;\n return HasOwnProperty(currencyDigitsData, c)\n ? currencyDigitsData[c]\n : 2;\n}\n","/**\n * https://tc39.es/ecma402/#sec-formatapproximately\n */\nexport function FormatApproximately(numberFormat, result, _a) {\n var getInternalSlots = _a.getInternalSlots;\n var internalSlots = getInternalSlots(numberFormat);\n var symbols = internalSlots.dataLocaleData.numbers.symbols[internalSlots.numberingSystem];\n var approximatelySign = symbols.approximatelySign;\n result.push({ type: 'approximatelySign', value: approximatelySign });\n return result;\n}\n","// @generated from regex-gen.ts\nexport var S_UNICODE_REGEX = /[\\$\\+<->\\^`\\|~\\xA2-\\xA6\\xA8\\xA9\\xAC\\xAE-\\xB1\\xB4\\xB8\\xD7\\xF7\\u02C2-\\u02C5\\u02D2-\\u02DF\\u02E5-\\u02EB\\u02ED\\u02EF-\\u02FF\\u0375\\u0384\\u0385\\u03F6\\u0482\\u058D-\\u058F\\u0606-\\u0608\\u060B\\u060E\\u060F\\u06DE\\u06E9\\u06FD\\u06FE\\u07F6\\u07FE\\u07FF\\u09F2\\u09F3\\u09FA\\u09FB\\u0AF1\\u0B70\\u0BF3-\\u0BFA\\u0C7F\\u0D4F\\u0D79\\u0E3F\\u0F01-\\u0F03\\u0F13\\u0F15-\\u0F17\\u0F1A-\\u0F1F\\u0F34\\u0F36\\u0F38\\u0FBE-\\u0FC5\\u0FC7-\\u0FCC\\u0FCE\\u0FCF\\u0FD5-\\u0FD8\\u109E\\u109F\\u1390-\\u1399\\u166D\\u17DB\\u1940\\u19DE-\\u19FF\\u1B61-\\u1B6A\\u1B74-\\u1B7C\\u1FBD\\u1FBF-\\u1FC1\\u1FCD-\\u1FCF\\u1FDD-\\u1FDF\\u1FED-\\u1FEF\\u1FFD\\u1FFE\\u2044\\u2052\\u207A-\\u207C\\u208A-\\u208C\\u20A0-\\u20BF\\u2100\\u2101\\u2103-\\u2106\\u2108\\u2109\\u2114\\u2116-\\u2118\\u211E-\\u2123\\u2125\\u2127\\u2129\\u212E\\u213A\\u213B\\u2140-\\u2144\\u214A-\\u214D\\u214F\\u218A\\u218B\\u2190-\\u2307\\u230C-\\u2328\\u232B-\\u2426\\u2440-\\u244A\\u249C-\\u24E9\\u2500-\\u2767\\u2794-\\u27C4\\u27C7-\\u27E5\\u27F0-\\u2982\\u2999-\\u29D7\\u29DC-\\u29FB\\u29FE-\\u2B73\\u2B76-\\u2B95\\u2B97-\\u2BFF\\u2CE5-\\u2CEA\\u2E50\\u2E51\\u2E80-\\u2E99\\u2E9B-\\u2EF3\\u2F00-\\u2FD5\\u2FF0-\\u2FFB\\u3004\\u3012\\u3013\\u3020\\u3036\\u3037\\u303E\\u303F\\u309B\\u309C\\u3190\\u3191\\u3196-\\u319F\\u31C0-\\u31E3\\u3200-\\u321E\\u322A-\\u3247\\u3250\\u3260-\\u327F\\u328A-\\u32B0\\u32C0-\\u33FF\\u4DC0-\\u4DFF\\uA490-\\uA4C6\\uA700-\\uA716\\uA720\\uA721\\uA789\\uA78A\\uA828-\\uA82B\\uA836-\\uA839\\uAA77-\\uAA79\\uAB5B\\uAB6A\\uAB6B\\uFB29\\uFBB2-\\uFBC1\\uFDFC\\uFDFD\\uFE62\\uFE64-\\uFE66\\uFE69\\uFF04\\uFF0B\\uFF1C-\\uFF1E\\uFF3E\\uFF40\\uFF5C\\uFF5E\\uFFE0-\\uFFE6\\uFFE8-\\uFFEE\\uFFFC\\uFFFD]|\\uD800[\\uDD37-\\uDD3F\\uDD79-\\uDD89\\uDD8C-\\uDD8E\\uDD90-\\uDD9C\\uDDA0\\uDDD0-\\uDDFC]|\\uD802[\\uDC77\\uDC78\\uDEC8]|\\uD805\\uDF3F|\\uD807[\\uDFD5-\\uDFF1]|\\uD81A[\\uDF3C-\\uDF3F\\uDF45]|\\uD82F\\uDC9C|\\uD834[\\uDC00-\\uDCF5\\uDD00-\\uDD26\\uDD29-\\uDD64\\uDD6A-\\uDD6C\\uDD83\\uDD84\\uDD8C-\\uDDA9\\uDDAE-\\uDDE8\\uDE00-\\uDE41\\uDE45\\uDF00-\\uDF56]|\\uD835[\\uDEC1\\uDEDB\\uDEFB\\uDF15\\uDF35\\uDF4F\\uDF6F\\uDF89\\uDFA9\\uDFC3]|\\uD836[\\uDC00-\\uDDFF\\uDE37-\\uDE3A\\uDE6D-\\uDE74\\uDE76-\\uDE83\\uDE85\\uDE86]|\\uD838[\\uDD4F\\uDEFF]|\\uD83B[\\uDCAC\\uDCB0\\uDD2E\\uDEF0\\uDEF1]|\\uD83C[\\uDC00-\\uDC2B\\uDC30-\\uDC93\\uDCA0-\\uDCAE\\uDCB1-\\uDCBF\\uDCC1-\\uDCCF\\uDCD1-\\uDCF5\\uDD0D-\\uDDAD\\uDDE6-\\uDE02\\uDE10-\\uDE3B\\uDE40-\\uDE48\\uDE50\\uDE51\\uDE60-\\uDE65\\uDF00-\\uDFFF]|\\uD83D[\\uDC00-\\uDED7\\uDEE0-\\uDEEC\\uDEF0-\\uDEFC\\uDF00-\\uDF73\\uDF80-\\uDFD8\\uDFE0-\\uDFEB]|\\uD83E[\\uDC00-\\uDC0B\\uDC10-\\uDC47\\uDC50-\\uDC59\\uDC60-\\uDC87\\uDC90-\\uDCAD\\uDCB0\\uDCB1\\uDD00-\\uDD78\\uDD7A-\\uDDCB\\uDDCD-\\uDE53\\uDE60-\\uDE6D\\uDE70-\\uDE74\\uDE78-\\uDE7A\\uDE80-\\uDE86\\uDE90-\\uDEA8\\uDEB0-\\uDEB6\\uDEC0-\\uDEC2\\uDED0-\\uDED6\\uDF00-\\uDF92\\uDF94-\\uDFCA]/;\n","export var digitMapping = {\n \"adlm\": [\n \"𞥐\",\n \"𞥑\",\n \"𞥒\",\n \"𞥓\",\n \"𞥔\",\n \"𞥕\",\n \"𞥖\",\n \"𞥗\",\n \"𞥘\",\n \"𞥙\"\n ],\n \"ahom\": [\n \"𑜰\",\n \"𑜱\",\n \"𑜲\",\n \"𑜳\",\n \"𑜴\",\n \"𑜵\",\n \"𑜶\",\n \"𑜷\",\n \"𑜸\",\n \"𑜹\"\n ],\n \"arab\": [\n \"٠\",\n \"١\",\n \"٢\",\n \"٣\",\n \"٤\",\n \"٥\",\n \"٦\",\n \"٧\",\n \"٨\",\n \"٩\"\n ],\n \"arabext\": [\n \"۰\",\n \"۱\",\n \"۲\",\n \"۳\",\n \"۴\",\n \"۵\",\n \"۶\",\n \"۷\",\n \"۸\",\n \"۹\"\n ],\n \"bali\": [\n \"᭐\",\n \"᭑\",\n \"᭒\",\n \"᭓\",\n \"᭔\",\n \"᭕\",\n \"᭖\",\n \"᭗\",\n \"᭘\",\n \"᭙\"\n ],\n \"beng\": [\n \"০\",\n \"১\",\n \"২\",\n \"৩\",\n \"৪\",\n \"৫\",\n \"৬\",\n \"৭\",\n \"৮\",\n \"৯\"\n ],\n \"bhks\": [\n \"𑱐\",\n \"𑱑\",\n \"𑱒\",\n \"𑱓\",\n \"𑱔\",\n \"𑱕\",\n \"𑱖\",\n \"𑱗\",\n \"𑱘\",\n \"𑱙\"\n ],\n \"brah\": [\n \"𑁦\",\n \"𑁧\",\n \"𑁨\",\n \"𑁩\",\n \"𑁪\",\n \"𑁫\",\n \"𑁬\",\n \"𑁭\",\n \"𑁮\",\n \"𑁯\"\n ],\n \"cakm\": [\n \"𑄶\",\n \"𑄷\",\n \"𑄸\",\n \"𑄹\",\n \"𑄺\",\n \"𑄻\",\n \"𑄼\",\n \"𑄽\",\n \"𑄾\",\n \"𑄿\"\n ],\n \"cham\": [\n \"꩐\",\n \"꩑\",\n \"꩒\",\n \"꩓\",\n \"꩔\",\n \"꩕\",\n \"꩖\",\n \"꩗\",\n \"꩘\",\n \"꩙\"\n ],\n \"deva\": [\n \"०\",\n \"१\",\n \"२\",\n \"३\",\n \"४\",\n \"५\",\n \"६\",\n \"७\",\n \"८\",\n \"९\"\n ],\n \"diak\": [\n \"𑥐\",\n \"𑥑\",\n \"𑥒\",\n \"𑥓\",\n \"𑥔\",\n \"𑥕\",\n \"𑥖\",\n \"𑥗\",\n \"𑥘\",\n \"𑥙\"\n ],\n \"fullwide\": [\n \"0\",\n \"1\",\n \"2\",\n \"3\",\n \"4\",\n \"5\",\n \"6\",\n \"7\",\n \"8\",\n \"9\"\n ],\n \"gong\": [\n \"𑶠\",\n \"𑶡\",\n \"𑶢\",\n \"𑶣\",\n \"𑶤\",\n \"𑶥\",\n \"𑶦\",\n \"𑶧\",\n \"𑶨\",\n \"𑶩\"\n ],\n \"gonm\": [\n \"𑵐\",\n \"𑵑\",\n \"𑵒\",\n \"𑵓\",\n \"𑵔\",\n \"𑵕\",\n \"𑵖\",\n \"𑵗\",\n \"𑵘\",\n \"𑵙\"\n ],\n \"gujr\": [\n \"૦\",\n \"૧\",\n \"૨\",\n \"૩\",\n \"૪\",\n \"૫\",\n \"૬\",\n \"૭\",\n \"૮\",\n \"૯\"\n ],\n \"guru\": [\n \"੦\",\n \"੧\",\n \"੨\",\n \"੩\",\n \"੪\",\n \"੫\",\n \"੬\",\n \"੭\",\n \"੮\",\n \"੯\"\n ],\n \"hanidec\": [\n \"〇\",\n \"一\",\n \"二\",\n \"三\",\n \"四\",\n \"五\",\n \"六\",\n \"七\",\n \"八\",\n \"九\"\n ],\n \"hmng\": [\n \"𖭐\",\n \"𖭑\",\n \"𖭒\",\n \"𖭓\",\n \"𖭔\",\n \"𖭕\",\n \"𖭖\",\n \"𖭗\",\n \"𖭘\",\n \"𖭙\"\n ],\n \"hmnp\": [\n \"𞅀\",\n \"𞅁\",\n \"𞅂\",\n \"𞅃\",\n \"𞅄\",\n \"𞅅\",\n \"𞅆\",\n \"𞅇\",\n \"𞅈\",\n \"𞅉\"\n ],\n \"java\": [\n \"꧐\",\n \"꧑\",\n \"꧒\",\n \"꧓\",\n \"꧔\",\n \"꧕\",\n \"꧖\",\n \"꧗\",\n \"꧘\",\n \"꧙\"\n ],\n \"kali\": [\n \"꤀\",\n \"꤁\",\n \"꤂\",\n \"꤃\",\n \"꤄\",\n \"꤅\",\n \"꤆\",\n \"꤇\",\n \"꤈\",\n \"꤉\"\n ],\n \"khmr\": [\n \"០\",\n \"១\",\n \"២\",\n \"៣\",\n \"៤\",\n \"៥\",\n \"៦\",\n \"៧\",\n \"៨\",\n \"៩\"\n ],\n \"knda\": [\n \"೦\",\n \"೧\",\n \"೨\",\n \"೩\",\n \"೪\",\n \"೫\",\n \"೬\",\n \"೭\",\n \"೮\",\n \"೯\"\n ],\n \"lana\": [\n \"᪀\",\n \"᪁\",\n \"᪂\",\n \"᪃\",\n \"᪄\",\n \"᪅\",\n \"᪆\",\n \"᪇\",\n \"᪈\",\n \"᪉\"\n ],\n \"lanatham\": [\n \"᪐\",\n \"᪑\",\n \"᪒\",\n \"᪓\",\n \"᪔\",\n \"᪕\",\n \"᪖\",\n \"᪗\",\n \"᪘\",\n \"᪙\"\n ],\n \"laoo\": [\n \"໐\",\n \"໑\",\n \"໒\",\n \"໓\",\n \"໔\",\n \"໕\",\n \"໖\",\n \"໗\",\n \"໘\",\n \"໙\"\n ],\n \"lepc\": [\n \"᪐\",\n \"᪑\",\n \"᪒\",\n \"᪓\",\n \"᪔\",\n \"᪕\",\n \"᪖\",\n \"᪗\",\n \"᪘\",\n \"᪙\"\n ],\n \"limb\": [\n \"᥆\",\n \"᥇\",\n \"᥈\",\n \"᥉\",\n \"᥊\",\n \"᥋\",\n \"᥌\",\n \"᥍\",\n \"᥎\",\n \"᥏\"\n ],\n \"mathbold\": [\n \"𝟎\",\n \"𝟏\",\n \"𝟐\",\n \"𝟑\",\n \"𝟒\",\n \"𝟓\",\n \"𝟔\",\n \"𝟕\",\n \"𝟖\",\n \"𝟗\"\n ],\n \"mathdbl\": [\n \"𝟘\",\n \"𝟙\",\n \"𝟚\",\n \"𝟛\",\n \"𝟜\",\n \"𝟝\",\n \"𝟞\",\n \"𝟟\",\n \"𝟠\",\n \"𝟡\"\n ],\n \"mathmono\": [\n \"𝟶\",\n \"𝟷\",\n \"𝟸\",\n \"𝟹\",\n \"𝟺\",\n \"𝟻\",\n \"𝟼\",\n \"𝟽\",\n \"𝟾\",\n \"𝟿\"\n ],\n \"mathsanb\": [\n \"𝟬\",\n \"𝟭\",\n \"𝟮\",\n \"𝟯\",\n \"𝟰\",\n \"𝟱\",\n \"𝟲\",\n \"𝟳\",\n \"𝟴\",\n \"𝟵\"\n ],\n \"mathsans\": [\n \"𝟢\",\n \"𝟣\",\n \"𝟤\",\n \"𝟥\",\n \"𝟦\",\n \"𝟧\",\n \"𝟨\",\n \"𝟩\",\n \"𝟪\",\n \"𝟫\"\n ],\n \"mlym\": [\n \"൦\",\n \"൧\",\n \"൨\",\n \"൩\",\n \"൪\",\n \"൫\",\n \"൬\",\n \"൭\",\n \"൮\",\n \"൯\"\n ],\n \"modi\": [\n \"𑙐\",\n \"𑙑\",\n \"𑙒\",\n \"𑙓\",\n \"𑙔\",\n \"𑙕\",\n \"𑙖\",\n \"𑙗\",\n \"𑙘\",\n \"𑙙\"\n ],\n \"mong\": [\n \"᠐\",\n \"᠑\",\n \"᠒\",\n \"᠓\",\n \"᠔\",\n \"᠕\",\n \"᠖\",\n \"᠗\",\n \"᠘\",\n \"᠙\"\n ],\n \"mroo\": [\n \"𖩠\",\n \"𖩡\",\n \"𖩢\",\n \"𖩣\",\n \"𖩤\",\n \"𖩥\",\n \"𖩦\",\n \"𖩧\",\n \"𖩨\",\n \"𖩩\"\n ],\n \"mtei\": [\n \"꯰\",\n \"꯱\",\n \"꯲\",\n \"꯳\",\n \"꯴\",\n \"꯵\",\n \"꯶\",\n \"꯷\",\n \"꯸\",\n \"꯹\"\n ],\n \"mymr\": [\n \"၀\",\n \"၁\",\n \"၂\",\n \"၃\",\n \"၄\",\n \"၅\",\n \"၆\",\n \"၇\",\n \"၈\",\n \"၉\"\n ],\n \"mymrshan\": [\n \"႐\",\n \"႑\",\n \"႒\",\n \"႓\",\n \"႔\",\n \"႕\",\n \"႖\",\n \"႗\",\n \"႘\",\n \"႙\"\n ],\n \"mymrtlng\": [\n \"꧰\",\n \"꧱\",\n \"꧲\",\n \"꧳\",\n \"꧴\",\n \"꧵\",\n \"꧶\",\n \"꧷\",\n \"꧸\",\n \"꧹\"\n ],\n \"newa\": [\n \"𑑐\",\n \"𑑑\",\n \"𑑒\",\n \"𑑓\",\n \"𑑔\",\n \"𑑕\",\n \"𑑖\",\n \"𑑗\",\n \"𑑘\",\n \"𑑙\"\n ],\n \"nkoo\": [\n \"߀\",\n \"߁\",\n \"߂\",\n \"߃\",\n \"߄\",\n \"߅\",\n \"߆\",\n \"߇\",\n \"߈\",\n \"߉\"\n ],\n \"olck\": [\n \"᱐\",\n \"᱑\",\n \"᱒\",\n \"᱓\",\n \"᱔\",\n \"᱕\",\n \"᱖\",\n \"᱗\",\n \"᱘\",\n \"᱙\"\n ],\n \"orya\": [\n \"୦\",\n \"୧\",\n \"୨\",\n \"୩\",\n \"୪\",\n \"୫\",\n \"୬\",\n \"୭\",\n \"୮\",\n \"୯\"\n ],\n \"osma\": [\n \"𐒠\",\n \"𐒡\",\n \"𐒢\",\n \"𐒣\",\n \"𐒤\",\n \"𐒥\",\n \"𐒦\",\n \"𐒧\",\n \"𐒨\",\n \"𐒩\"\n ],\n \"rohg\": [\n \"𐴰\",\n \"𐴱\",\n \"𐴲\",\n \"𐴳\",\n \"𐴴\",\n \"𐴵\",\n \"𐴶\",\n \"𐴷\",\n \"𐴸\",\n \"𐴹\"\n ],\n \"saur\": [\n \"꣐\",\n \"꣑\",\n \"꣒\",\n \"꣓\",\n \"꣔\",\n \"꣕\",\n \"꣖\",\n \"꣗\",\n \"꣘\",\n \"꣙\"\n ],\n \"segment\": [\n \"🯰\",\n \"🯱\",\n \"🯲\",\n \"🯳\",\n \"🯴\",\n \"🯵\",\n \"🯶\",\n \"🯷\",\n \"🯸\",\n \"🯹\"\n ],\n \"shrd\": [\n \"𑇐\",\n \"𑇑\",\n \"𑇒\",\n \"𑇓\",\n \"𑇔\",\n \"𑇕\",\n \"𑇖\",\n \"𑇗\",\n \"𑇘\",\n \"𑇙\"\n ],\n \"sind\": [\n \"𑋰\",\n \"𑋱\",\n \"𑋲\",\n \"𑋳\",\n \"𑋴\",\n \"𑋵\",\n \"𑋶\",\n \"𑋷\",\n \"𑋸\",\n \"𑋹\"\n ],\n \"sinh\": [\n \"෦\",\n \"෧\",\n \"෨\",\n \"෩\",\n \"෪\",\n \"෫\",\n \"෬\",\n \"෭\",\n \"෮\",\n \"෯\"\n ],\n \"sora\": [\n \"𑃰\",\n \"𑃱\",\n \"𑃲\",\n \"𑃳\",\n \"𑃴\",\n \"𑃵\",\n \"𑃶\",\n \"𑃷\",\n \"𑃸\",\n \"𑃹\"\n ],\n \"sund\": [\n \"᮰\",\n \"᮱\",\n \"᮲\",\n \"᮳\",\n \"᮴\",\n \"᮵\",\n \"᮶\",\n \"᮷\",\n \"᮸\",\n \"᮹\"\n ],\n \"takr\": [\n \"𑛀\",\n \"𑛁\",\n \"𑛂\",\n \"𑛃\",\n \"𑛄\",\n \"𑛅\",\n \"𑛆\",\n \"𑛇\",\n \"𑛈\",\n \"𑛉\"\n ],\n \"talu\": [\n \"᧐\",\n \"᧑\",\n \"᧒\",\n \"᧓\",\n \"᧔\",\n \"᧕\",\n \"᧖\",\n \"᧗\",\n \"᧘\",\n \"᧙\"\n ],\n \"tamldec\": [\n \"௦\",\n \"௧\",\n \"௨\",\n \"௩\",\n \"௪\",\n \"௫\",\n \"௬\",\n \"௭\",\n \"௮\",\n \"௯\"\n ],\n \"telu\": [\n \"౦\",\n \"౧\",\n \"౨\",\n \"౩\",\n \"౪\",\n \"౫\",\n \"౬\",\n \"౭\",\n \"౮\",\n \"౯\"\n ],\n \"thai\": [\n \"๐\",\n \"๑\",\n \"๒\",\n \"๓\",\n \"๔\",\n \"๕\",\n \"๖\",\n \"๗\",\n \"๘\",\n \"๙\"\n ],\n \"tibt\": [\n \"༠\",\n \"༡\",\n \"༢\",\n \"༣\",\n \"༤\",\n \"༥\",\n \"༦\",\n \"༧\",\n \"༨\",\n \"༩\"\n ],\n \"tirh\": [\n \"𑓐\",\n \"𑓑\",\n \"𑓒\",\n \"𑓓\",\n \"𑓔\",\n \"𑓕\",\n \"𑓖\",\n \"𑓗\",\n \"𑓘\",\n \"𑓙\"\n ],\n \"vaii\": [\n \"ᘠ\",\n \"ᘡ\",\n \"ᘢ\",\n \"ᘣ\",\n \"ᘤ\",\n \"ᘥ\",\n \"ᘦ\",\n \"ᘧ\",\n \"ᘨ\",\n \"ᘩ\"\n ],\n \"wara\": [\n \"𑣠\",\n \"𑣡\",\n \"𑣢\",\n \"𑣣\",\n \"𑣤\",\n \"𑣥\",\n \"𑣦\",\n \"𑣧\",\n \"𑣨\",\n \"𑣩\"\n ],\n \"wcho\": [\n \"𞋰\",\n \"𞋱\",\n \"𞋲\",\n \"𞋳\",\n \"𞋴\",\n \"𞋵\",\n \"𞋶\",\n \"𞋷\",\n \"𞋸\",\n \"𞋹\"\n ]\n};\n","import { S_UNICODE_REGEX } from '../regex.generated';\nimport { ToRawFixed } from './ToRawFixed';\nimport { digitMapping } from './digit-mapping.generated';\n// This is from: unicode-12.1.0/General_Category/Symbol/regex.js\n// IE11 does not support unicode flag, otherwise this is just /\\p{S}/u.\n// /^\\p{S}/u\nvar CARET_S_UNICODE_REGEX = new RegExp(\"^\".concat(S_UNICODE_REGEX.source));\n// /\\p{S}$/u\nvar S_DOLLAR_UNICODE_REGEX = new RegExp(\"\".concat(S_UNICODE_REGEX.source, \"$\"));\nvar CLDR_NUMBER_PATTERN = /[#0](?:[\\.,][#0]+)*/g;\nexport default function formatToParts(numberResult, data, pl, options) {\n var sign = numberResult.sign, exponent = numberResult.exponent, magnitude = numberResult.magnitude;\n var notation = options.notation, style = options.style, numberingSystem = options.numberingSystem;\n var defaultNumberingSystem = data.numbers.nu[0];\n // #region Part 1: partition and interpolate the CLDR number pattern.\n // ----------------------------------------------------------\n var compactNumberPattern = null;\n if (notation === 'compact' && magnitude) {\n compactNumberPattern = getCompactDisplayPattern(numberResult, pl, data, style, options.compactDisplay, options.currencyDisplay, numberingSystem);\n }\n // This is used multiple times\n var nonNameCurrencyPart;\n if (style === 'currency' && options.currencyDisplay !== 'name') {\n var byCurrencyDisplay = data.currencies[options.currency];\n if (byCurrencyDisplay) {\n switch (options.currencyDisplay) {\n case 'code':\n nonNameCurrencyPart = options.currency;\n break;\n case 'symbol':\n nonNameCurrencyPart = byCurrencyDisplay.symbol;\n break;\n default:\n nonNameCurrencyPart = byCurrencyDisplay.narrow;\n break;\n }\n }\n else {\n // Fallback for unknown currency\n nonNameCurrencyPart = options.currency;\n }\n }\n var numberPattern;\n if (!compactNumberPattern) {\n // Note: if the style is unit, or is currency and the currency display is name,\n // its unit parts will be interpolated in part 2. So here we can fallback to decimal.\n if (style === 'decimal' ||\n style === 'unit' ||\n (style === 'currency' && options.currencyDisplay === 'name')) {\n // Shortcut for decimal\n var decimalData = data.numbers.decimal[numberingSystem] ||\n data.numbers.decimal[defaultNumberingSystem];\n numberPattern = getPatternForSign(decimalData.standard, sign);\n }\n else if (style === 'currency') {\n var currencyData = data.numbers.currency[numberingSystem] ||\n data.numbers.currency[defaultNumberingSystem];\n // We replace number pattern part with `0` for easier postprocessing.\n numberPattern = getPatternForSign(currencyData[options.currencySign], sign);\n }\n else {\n // percent\n var percentPattern = data.numbers.percent[numberingSystem] ||\n data.numbers.percent[defaultNumberingSystem];\n numberPattern = getPatternForSign(percentPattern, sign);\n }\n }\n else {\n numberPattern = compactNumberPattern;\n }\n // Extract the decimal number pattern string. It looks like \"#,##0,00\", which will later be\n // used to infer decimal group sizes.\n var decimalNumberPattern = CLDR_NUMBER_PATTERN.exec(numberPattern)[0];\n // Now we start to substitute patterns\n // 1. replace strings like `0` and `#,##0.00` with `{0}`\n // 2. unquote characters (invariant: the quoted characters does not contain the special tokens)\n numberPattern = numberPattern\n .replace(CLDR_NUMBER_PATTERN, '{0}')\n .replace(/'(.)'/g, '$1');\n // Handle currency spacing (both compact and non-compact).\n if (style === 'currency' && options.currencyDisplay !== 'name') {\n var currencyData = data.numbers.currency[numberingSystem] ||\n data.numbers.currency[defaultNumberingSystem];\n // See `currencySpacing` substitution rule in TR-35.\n // Here we always assume the currencyMatch is \"[:^S:]\" and surroundingMatch is \"[:digit:]\".\n //\n // Example 1: for pattern \"#,##0.00¤\" with symbol \"US$\", we replace \"¤\" with the symbol,\n // but insert an extra non-break space before the symbol, because \"[:^S:]\" matches \"U\" in\n // \"US$\" and \"[:digit:]\" matches the latn numbering system digits.\n //\n // Example 2: for pattern \"¤#,##0.00\" with symbol \"US$\", there is no spacing between symbol\n // and number, because `$` does not match \"[:^S:]\".\n //\n // Implementation note: here we do the best effort to infer the insertion.\n // We also assume that `beforeInsertBetween` and `afterInsertBetween` will never be `;`.\n var afterCurrency = currencyData.currencySpacing.afterInsertBetween;\n if (afterCurrency && !S_DOLLAR_UNICODE_REGEX.test(nonNameCurrencyPart)) {\n numberPattern = numberPattern.replace('¤{0}', \"\\u00A4\".concat(afterCurrency, \"{0}\"));\n }\n var beforeCurrency = currencyData.currencySpacing.beforeInsertBetween;\n if (beforeCurrency && !CARET_S_UNICODE_REGEX.test(nonNameCurrencyPart)) {\n numberPattern = numberPattern.replace('{0}¤', \"{0}\".concat(beforeCurrency, \"\\u00A4\"));\n }\n }\n // The following tokens are special: `{0}`, `¤`, `%`, `-`, `+`, `{c:...}.\n var numberPatternParts = numberPattern.split(/({c:[^}]+}|\\{0\\}|[¤%\\-\\+])/g);\n var numberParts = [];\n var symbols = data.numbers.symbols[numberingSystem] ||\n data.numbers.symbols[defaultNumberingSystem];\n for (var _i = 0, numberPatternParts_1 = numberPatternParts; _i < numberPatternParts_1.length; _i++) {\n var part = numberPatternParts_1[_i];\n if (!part) {\n continue;\n }\n switch (part) {\n case '{0}': {\n // We only need to handle scientific and engineering notation here.\n numberParts.push.apply(numberParts, paritionNumberIntoParts(symbols, numberResult, notation, exponent, numberingSystem, \n // If compact number pattern exists, do not insert group separators.\n !compactNumberPattern && Boolean(options.useGrouping), decimalNumberPattern, style));\n break;\n }\n case '-':\n numberParts.push({ type: 'minusSign', value: symbols.minusSign });\n break;\n case '+':\n numberParts.push({ type: 'plusSign', value: symbols.plusSign });\n break;\n case '%':\n numberParts.push({ type: 'percentSign', value: symbols.percentSign });\n break;\n case '¤':\n // Computed above when handling currency spacing.\n numberParts.push({ type: 'currency', value: nonNameCurrencyPart });\n break;\n default:\n if (/^\\{c:/.test(part)) {\n numberParts.push({\n type: 'compact',\n value: part.substring(3, part.length - 1),\n });\n }\n else {\n // literal\n numberParts.push({ type: 'literal', value: part });\n }\n break;\n }\n }\n // #endregion\n // #region Part 2: interpolate unit pattern if necessary.\n // ----------------------------------------------\n switch (style) {\n case 'currency': {\n // `currencyDisplay: 'name'` has similar pattern handling as units.\n if (options.currencyDisplay === 'name') {\n var unitPattern = (data.numbers.currency[numberingSystem] ||\n data.numbers.currency[defaultNumberingSystem]).unitPattern;\n // Select plural\n var unitName = void 0;\n var currencyNameData = data.currencies[options.currency];\n if (currencyNameData) {\n unitName = selectPlural(pl, numberResult.roundedNumber * Math.pow(10, exponent), currencyNameData.displayName);\n }\n else {\n // Fallback for unknown currency\n unitName = options.currency;\n }\n // Do {0} and {1} substitution\n var unitPatternParts = unitPattern.split(/(\\{[01]\\})/g);\n var result = [];\n for (var _a = 0, unitPatternParts_1 = unitPatternParts; _a < unitPatternParts_1.length; _a++) {\n var part = unitPatternParts_1[_a];\n switch (part) {\n case '{0}':\n result.push.apply(result, numberParts);\n break;\n case '{1}':\n result.push({ type: 'currency', value: unitName });\n break;\n default:\n if (part) {\n result.push({ type: 'literal', value: part });\n }\n break;\n }\n }\n return result;\n }\n else {\n return numberParts;\n }\n }\n case 'unit': {\n var unit = options.unit, unitDisplay = options.unitDisplay;\n var unitData = data.units.simple[unit];\n var unitPattern = void 0;\n if (unitData) {\n // Simple unit pattern\n unitPattern = selectPlural(pl, numberResult.roundedNumber * Math.pow(10, exponent), data.units.simple[unit][unitDisplay]);\n }\n else {\n // See: http://unicode.org/reports/tr35/tr35-general.html#perUnitPatterns\n // If cannot find unit in the simple pattern, it must be \"per\" compound pattern.\n // Implementation note: we are not following TR-35 here because we need to format to parts!\n var _b = unit.split('-per-'), numeratorUnit = _b[0], denominatorUnit = _b[1];\n unitData = data.units.simple[numeratorUnit];\n var numeratorUnitPattern = selectPlural(pl, numberResult.roundedNumber * Math.pow(10, exponent), data.units.simple[numeratorUnit][unitDisplay]);\n var perUnitPattern = data.units.simple[denominatorUnit].perUnit[unitDisplay];\n if (perUnitPattern) {\n // perUnitPattern exists, combine it with numeratorUnitPattern\n unitPattern = perUnitPattern.replace('{0}', numeratorUnitPattern);\n }\n else {\n // get compoundUnit pattern (e.g. \"{0} per {1}\"), repalce {0} with numerator pattern and {1} with\n // the denominator pattern in singular form.\n var perPattern = data.units.compound.per[unitDisplay];\n var denominatorPattern = selectPlural(pl, 1, data.units.simple[denominatorUnit][unitDisplay]);\n unitPattern = unitPattern = perPattern\n .replace('{0}', numeratorUnitPattern)\n .replace('{1}', denominatorPattern.replace('{0}', ''));\n }\n }\n var result = [];\n // We need spacing around \"{0}\" because they are not treated as \"unit\" parts, but \"literal\".\n for (var _c = 0, _d = unitPattern.split(/(\\s*\\{0\\}\\s*)/); _c < _d.length; _c++) {\n var part = _d[_c];\n var interpolateMatch = /^(\\s*)\\{0\\}(\\s*)$/.exec(part);\n if (interpolateMatch) {\n // Space before \"{0}\"\n if (interpolateMatch[1]) {\n result.push({ type: 'literal', value: interpolateMatch[1] });\n }\n // \"{0}\" itself\n result.push.apply(result, numberParts);\n // Space after \"{0}\"\n if (interpolateMatch[2]) {\n result.push({ type: 'literal', value: interpolateMatch[2] });\n }\n }\n else if (part) {\n result.push({ type: 'unit', value: part });\n }\n }\n return result;\n }\n default:\n return numberParts;\n }\n // #endregion\n}\n// A subset of https://tc39.es/ecma402/#sec-partitionnotationsubpattern\n// Plus the exponent parts handling.\nfunction paritionNumberIntoParts(symbols, numberResult, notation, exponent, numberingSystem, useGrouping, \n/**\n * This is the decimal number pattern without signs or symbols.\n * It is used to infer the group size when `useGrouping` is true.\n *\n * A typical value looks like \"#,##0.00\" (primary group size is 3).\n * Some locales like Hindi has secondary group size of 2 (e.g. \"#,##,##0.00\").\n */\ndecimalNumberPattern, style) {\n var result = [];\n // eslint-disable-next-line prefer-const\n var n = numberResult.formattedString, x = numberResult.roundedNumber;\n if (isNaN(x)) {\n return [{ type: 'nan', value: n }];\n }\n else if (!isFinite(x)) {\n return [{ type: 'infinity', value: n }];\n }\n var digitReplacementTable = digitMapping[numberingSystem];\n if (digitReplacementTable) {\n n = n.replace(/\\d/g, function (digit) { return digitReplacementTable[+digit] || digit; });\n }\n // TODO: Else use an implementation dependent algorithm to map n to the appropriate\n // representation of n in the given numbering system.\n var decimalSepIndex = n.indexOf('.');\n var integer;\n var fraction;\n if (decimalSepIndex > 0) {\n integer = n.slice(0, decimalSepIndex);\n fraction = n.slice(decimalSepIndex + 1);\n }\n else {\n integer = n;\n }\n // #region Grouping integer digits\n // The weird compact and x >= 10000 check is to ensure consistency with Node.js and Chrome.\n // Note that `de` does not have compact form for thousands, but Node.js does not insert grouping separator\n // unless the rounded number is greater than 10000:\n // NumberFormat('de', {notation: 'compact', compactDisplay: 'short'}).format(1234) //=> \"1234\"\n // NumberFormat('de').format(1234) //=> \"1.234\"\n if (useGrouping && (notation !== 'compact' || x >= 10000)) {\n // a. Let groupSepSymbol be the implementation-, locale-, and numbering system-dependent (ILND) String representing the grouping separator.\n // For currency we should use `currencyGroup` instead of generic `group`\n var groupSepSymbol = style === 'currency' && symbols.currencyGroup != null\n ? symbols.currencyGroup\n : symbols.group;\n var groups = [];\n // > There may be two different grouping sizes: The primary grouping size used for the least\n // > significant integer group, and the secondary grouping size used for more significant groups.\n // > If a pattern contains multiple grouping separators, the interval between the last one and the\n // > end of the integer defines the primary grouping size, and the interval between the last two\n // > defines the secondary grouping size. All others are ignored.\n var integerNumberPattern = decimalNumberPattern.split('.')[0];\n var patternGroups = integerNumberPattern.split(',');\n var primaryGroupingSize = 3;\n var secondaryGroupingSize = 3;\n if (patternGroups.length > 1) {\n primaryGroupingSize = patternGroups[patternGroups.length - 1].length;\n }\n if (patternGroups.length > 2) {\n secondaryGroupingSize = patternGroups[patternGroups.length - 2].length;\n }\n var i = integer.length - primaryGroupingSize;\n if (i > 0) {\n // Slice the least significant integer group\n groups.push(integer.slice(i, i + primaryGroupingSize));\n // Then iteratively push the more signicant groups\n // TODO: handle surrogate pairs in some numbering system digits\n for (i -= secondaryGroupingSize; i > 0; i -= secondaryGroupingSize) {\n groups.push(integer.slice(i, i + secondaryGroupingSize));\n }\n groups.push(integer.slice(0, i + secondaryGroupingSize));\n }\n else {\n groups.push(integer);\n }\n while (groups.length > 0) {\n var integerGroup = groups.pop();\n result.push({ type: 'integer', value: integerGroup });\n if (groups.length > 0) {\n result.push({ type: 'group', value: groupSepSymbol });\n }\n }\n }\n else {\n result.push({ type: 'integer', value: integer });\n }\n // #endregion\n if (fraction !== undefined) {\n var decimalSepSymbol = style === 'currency' && symbols.currencyDecimal != null\n ? symbols.currencyDecimal\n : symbols.decimal;\n result.push({ type: 'decimal', value: decimalSepSymbol }, { type: 'fraction', value: fraction });\n }\n if ((notation === 'scientific' || notation === 'engineering') &&\n isFinite(x)) {\n result.push({ type: 'exponentSeparator', value: symbols.exponential });\n if (exponent < 0) {\n result.push({ type: 'exponentMinusSign', value: symbols.minusSign });\n exponent = -exponent;\n }\n var exponentResult = ToRawFixed(exponent, 0, 0);\n result.push({\n type: 'exponentInteger',\n value: exponentResult.formattedString,\n });\n }\n return result;\n}\nfunction getPatternForSign(pattern, sign) {\n if (pattern.indexOf(';') < 0) {\n pattern = \"\".concat(pattern, \";-\").concat(pattern);\n }\n var _a = pattern.split(';'), zeroPattern = _a[0], negativePattern = _a[1];\n switch (sign) {\n case 0:\n return zeroPattern;\n case -1:\n return negativePattern;\n default:\n return negativePattern.indexOf('-') >= 0\n ? negativePattern.replace(/-/g, '+')\n : \"+\".concat(zeroPattern);\n }\n}\n// Find the CLDR pattern for compact notation based on the magnitude of data and style.\n//\n// Example return value: \"¤ {c:laki}000;¤{c:laki} -0\" (`sw` locale):\n// - Notice the `{c:...}` token that wraps the compact literal.\n// - The consecutive zeros are normalized to single zero to match CLDR_NUMBER_PATTERN.\n//\n// Returning null means the compact display pattern cannot be found.\nfunction getCompactDisplayPattern(numberResult, pl, data, style, compactDisplay, currencyDisplay, numberingSystem) {\n var _a;\n var roundedNumber = numberResult.roundedNumber, sign = numberResult.sign, magnitude = numberResult.magnitude;\n var magnitudeKey = String(Math.pow(10, magnitude));\n var defaultNumberingSystem = data.numbers.nu[0];\n var pattern;\n if (style === 'currency' && currencyDisplay !== 'name') {\n var byNumberingSystem = data.numbers.currency;\n var currencyData = byNumberingSystem[numberingSystem] ||\n byNumberingSystem[defaultNumberingSystem];\n // NOTE: compact notation ignores currencySign!\n var compactPluralRules = (_a = currencyData.short) === null || _a === void 0 ? void 0 : _a[magnitudeKey];\n if (!compactPluralRules) {\n return null;\n }\n pattern = selectPlural(pl, roundedNumber, compactPluralRules);\n }\n else {\n var byNumberingSystem = data.numbers.decimal;\n var byCompactDisplay = byNumberingSystem[numberingSystem] ||\n byNumberingSystem[defaultNumberingSystem];\n var compactPlaralRule = byCompactDisplay[compactDisplay][magnitudeKey];\n if (!compactPlaralRule) {\n return null;\n }\n pattern = selectPlural(pl, roundedNumber, compactPlaralRule);\n }\n // See https://unicode.org/reports/tr35/tr35-numbers.html#Compact_Number_Formats\n // > If the value is precisely “0”, either explicit or defaulted, then the normal number format\n // > pattern for that sort of object is supplied.\n if (pattern === '0') {\n return null;\n }\n pattern = getPatternForSign(pattern, sign)\n // Extract compact literal from the pattern\n .replace(/([^\\s;\\-\\+\\d¤]+)/g, '{c:$1}')\n // We replace one or more zeros with a single zero so it matches `CLDR_NUMBER_PATTERN`.\n .replace(/0+/, '0');\n return pattern;\n}\nfunction selectPlural(pl, x, rules) {\n return rules[pl.select(x)] || rules.other;\n}\n","import { FormatNumericToString } from './FormatNumericToString';\nimport { SameValue } from '../262';\nimport { ComputeExponent } from './ComputeExponent';\nimport formatToParts from './format_to_parts';\n/**\n * https://tc39.es/ecma402/#sec-formatnumberstring\n */\nexport function PartitionNumberPattern(numberFormat, x, _a) {\n var _b;\n var getInternalSlots = _a.getInternalSlots;\n var internalSlots = getInternalSlots(numberFormat);\n var pl = internalSlots.pl, dataLocaleData = internalSlots.dataLocaleData, numberingSystem = internalSlots.numberingSystem;\n var symbols = dataLocaleData.numbers.symbols[numberingSystem] ||\n dataLocaleData.numbers.symbols[dataLocaleData.numbers.nu[0]];\n var magnitude = 0;\n var exponent = 0;\n var n;\n if (isNaN(x)) {\n n = symbols.nan;\n }\n else if (x == Number.POSITIVE_INFINITY || x == Number.NEGATIVE_INFINITY) {\n n = symbols.infinity;\n }\n else {\n if (!SameValue(x, -0)) {\n if (!isFinite(x)) {\n throw new Error('Input must be a mathematical value');\n }\n if (internalSlots.style == 'percent') {\n x *= 100;\n }\n ;\n _b = ComputeExponent(numberFormat, x, {\n getInternalSlots: getInternalSlots,\n }), exponent = _b[0], magnitude = _b[1];\n // Preserve more precision by doing multiplication when exponent is negative.\n x = exponent < 0 ? x * Math.pow(10, -exponent) : x / Math.pow(10, exponent);\n }\n var formatNumberResult = FormatNumericToString(internalSlots, x);\n n = formatNumberResult.formattedString;\n x = formatNumberResult.roundedNumber;\n }\n // Based on https://tc39.es/ecma402/#sec-getnumberformatpattern\n // We need to do this before `x` is rounded.\n var sign;\n var signDisplay = internalSlots.signDisplay;\n switch (signDisplay) {\n case 'never':\n sign = 0;\n break;\n case 'auto':\n if (SameValue(x, 0) || x > 0 || isNaN(x)) {\n sign = 0;\n }\n else {\n sign = -1;\n }\n break;\n case 'always':\n if (SameValue(x, 0) || x > 0 || isNaN(x)) {\n sign = 1;\n }\n else {\n sign = -1;\n }\n break;\n default:\n // x === 0 -> x is 0 or x is -0\n if (x === 0 || isNaN(x)) {\n sign = 0;\n }\n else if (x > 0) {\n sign = 1;\n }\n else {\n sign = -1;\n }\n }\n return formatToParts({ roundedNumber: x, formattedString: n, exponent: exponent, magnitude: magnitude, sign: sign }, internalSlots.dataLocaleData, pl, internalSlots);\n}\n","import { PartitionNumberPattern } from './PartitionNumberPattern';\nimport { CollapseNumberRange } from './CollapseNumberRange';\nimport { FormatApproximately } from './FormatApproximately';\n/**\n * https://tc39.es/ecma402/#sec-partitionnumberrangepattern\n */\nexport function PartitionNumberRangePattern(numberFormat, x, y, _a) {\n var getInternalSlots = _a.getInternalSlots;\n if (isNaN(x) || isNaN(y)) {\n throw new RangeError('Input must be a number');\n }\n var result = [];\n var xResult = PartitionNumberPattern(numberFormat, x, { getInternalSlots: getInternalSlots });\n var yResult = PartitionNumberPattern(numberFormat, y, { getInternalSlots: getInternalSlots });\n if (xResult === yResult) {\n return FormatApproximately(numberFormat, xResult, { getInternalSlots: getInternalSlots });\n }\n for (var _i = 0, xResult_1 = xResult; _i < xResult_1.length; _i++) {\n var r = xResult_1[_i];\n r.source = 'startRange';\n }\n result = result.concat(xResult);\n var internalSlots = getInternalSlots(numberFormat);\n var symbols = internalSlots.dataLocaleData.numbers.symbols[internalSlots.numberingSystem];\n result.push({ type: 'literal', value: symbols.rangeSign, source: 'shared' });\n for (var _b = 0, yResult_1 = yResult; _b < yResult_1.length; _b++) {\n var r = yResult_1[_b];\n r.source = 'endRange';\n }\n result = result.concat(yResult);\n return CollapseNumberRange(result);\n}\n","import { PartitionNumberRangePattern } from './PartitionNumberRangePattern';\n/**\n * https://tc39.es/ecma402/#sec-formatnumericrange\n */\nexport function FormatNumericRange(numberFormat, x, y, _a) {\n var getInternalSlots = _a.getInternalSlots;\n var parts = PartitionNumberRangePattern(numberFormat, x, y, {\n getInternalSlots: getInternalSlots,\n });\n return parts.map(function (part) { return part.value; }).join('');\n}\n","import { PartitionNumberRangePattern } from './PartitionNumberRangePattern';\n/**\n * https://tc39.es/ecma402/#sec-formatnumericrangetoparts\n */\nexport function FormatNumericRangeToParts(numberFormat, x, y, _a) {\n var getInternalSlots = _a.getInternalSlots;\n var parts = PartitionNumberRangePattern(numberFormat, x, y, {\n getInternalSlots: getInternalSlots,\n });\n return parts.map(function (part, index) { return ({\n type: part.type,\n value: part.value,\n source: part.source,\n result: index.toString(),\n }); });\n}\n","import { PartitionNumberPattern } from './PartitionNumberPattern';\nimport { ArrayCreate } from '../262';\nexport function FormatNumericToParts(nf, x, implDetails) {\n var parts = PartitionNumberPattern(nf, x, implDetails);\n var result = ArrayCreate(0);\n for (var _i = 0, parts_1 = parts; _i < parts_1.length; _i++) {\n var part = parts_1[_i];\n result.push({\n type: part.type,\n value: part.value,\n });\n }\n return result;\n}\n","var negativeMapping = {\n ceil: 'zero',\n floor: 'infinity',\n expand: 'infinity',\n trunc: 'zero',\n halfCeil: 'half-zero',\n halfFloor: 'half-infinity',\n halfExpand: 'half-infinity',\n halfTrunc: 'half-zero',\n halfEven: 'half-even',\n};\nvar positiveMapping = {\n ceil: 'infinity',\n floor: 'zero',\n expand: 'infinity',\n trunc: 'zero',\n halfCeil: 'half-infinity',\n halfFloor: 'half-zero',\n halfExpand: 'half-infinity',\n halfTrunc: 'half-zero',\n halfEven: 'half-even',\n};\nexport function GetUnsignedRoundingMode(roundingMode, isNegative) {\n if (isNegative) {\n return negativeMapping[roundingMode];\n }\n return positiveMapping[roundingMode];\n}\n","import { DefaultNumberOption } from '../DefaultNumberOption';\nimport { GetNumberOption } from '../GetNumberOption';\nimport { GetOption } from '../GetOption';\n/**\n * https://tc39.es/ecma402/#sec-setnfdigitoptions\n */\nexport function SetNumberFormatDigitOptions(internalSlots, opts, mnfdDefault, mxfdDefault, notation) {\n var mnid = GetNumberOption(opts, 'minimumIntegerDigits', 1, 21, 1);\n var mnfd = opts.minimumFractionDigits;\n var mxfd = opts.maximumFractionDigits;\n var mnsd = opts.minimumSignificantDigits;\n var mxsd = opts.maximumSignificantDigits;\n internalSlots.minimumIntegerDigits = mnid;\n var roundingPriority = GetOption(opts, 'roundingPriority', 'string', ['auto', 'morePrecision', 'lessPrecision'], 'auto');\n var hasSd = mnsd !== undefined || mxsd !== undefined;\n var hasFd = mnfd !== undefined || mxfd !== undefined;\n var needSd = true;\n var needFd = true;\n if (roundingPriority === 'auto') {\n needSd = hasSd;\n if (hasSd || (!hasFd && notation === 'compact')) {\n needFd = false;\n }\n }\n if (needSd) {\n if (hasSd) {\n mnsd = DefaultNumberOption(mnsd, 1, 21, 1);\n mxsd = DefaultNumberOption(mxsd, mnsd, 21, 21);\n internalSlots.minimumSignificantDigits = mnsd;\n internalSlots.maximumSignificantDigits = mxsd;\n }\n else {\n internalSlots.minimumSignificantDigits = 1;\n internalSlots.maximumSignificantDigits = 21;\n }\n }\n if (needFd) {\n if (hasFd) {\n mnfd = DefaultNumberOption(mnfd, 0, 20, undefined);\n mxfd = DefaultNumberOption(mxfd, 0, 20, undefined);\n if (mnfd === undefined) {\n // @ts-expect-error\n mnfd = Math.min(mnfdDefault, mxfd);\n }\n else if (mxfd === undefined) {\n mxfd = Math.max(mxfdDefault, mnfd);\n }\n else if (mnfd > mxfd) {\n throw new RangeError(\"Invalid range, \".concat(mnfd, \" > \").concat(mxfd));\n }\n internalSlots.minimumFractionDigits = mnfd;\n internalSlots.maximumFractionDigits = mxfd;\n }\n else {\n internalSlots.minimumFractionDigits = mnfdDefault;\n internalSlots.maximumFractionDigits = mxfdDefault;\n }\n }\n if (needSd || needFd) {\n if (roundingPriority === 'morePrecision') {\n internalSlots.roundingType = 'morePrecision';\n }\n else if (roundingPriority === 'lessPrecision') {\n internalSlots.roundingType = 'lessPrecision';\n }\n else if (hasSd) {\n internalSlots.roundingType = 'significantDigits';\n }\n else {\n internalSlots.roundingType = 'fractionDigits';\n }\n }\n else {\n internalSlots.roundingType = 'morePrecision';\n internalSlots.minimumFractionDigits = 0;\n internalSlots.maximumFractionDigits = 0;\n internalSlots.minimumSignificantDigits = 1;\n internalSlots.maximumSignificantDigits = 2;\n }\n}\n","import { GetOption } from '../GetOption';\nimport { IsWellFormedCurrencyCode } from '../IsWellFormedCurrencyCode';\nimport { IsWellFormedUnitIdentifier } from '../IsWellFormedUnitIdentifier';\n/**\n * https://tc39.es/ecma402/#sec-setnumberformatunitoptions\n */\nexport function SetNumberFormatUnitOptions(nf, options, _a) {\n if (options === void 0) { options = Object.create(null); }\n var getInternalSlots = _a.getInternalSlots;\n var internalSlots = getInternalSlots(nf);\n var style = GetOption(options, 'style', 'string', ['decimal', 'percent', 'currency', 'unit'], 'decimal');\n internalSlots.style = style;\n var currency = GetOption(options, 'currency', 'string', undefined, undefined);\n if (currency !== undefined && !IsWellFormedCurrencyCode(currency)) {\n throw RangeError('Malformed currency code');\n }\n if (style === 'currency' && currency === undefined) {\n throw TypeError('currency cannot be undefined');\n }\n var currencyDisplay = GetOption(options, 'currencyDisplay', 'string', ['code', 'symbol', 'narrowSymbol', 'name'], 'symbol');\n var currencySign = GetOption(options, 'currencySign', 'string', ['standard', 'accounting'], 'standard');\n var unit = GetOption(options, 'unit', 'string', undefined, undefined);\n if (unit !== undefined && !IsWellFormedUnitIdentifier(unit)) {\n throw RangeError('Invalid unit argument for Intl.NumberFormat()');\n }\n if (style === 'unit' && unit === undefined) {\n throw TypeError('unit cannot be undefined');\n }\n var unitDisplay = GetOption(options, 'unitDisplay', 'string', ['short', 'narrow', 'long'], 'short');\n if (style === 'currency') {\n internalSlots.currency = currency.toUpperCase();\n internalSlots.currencyDisplay = currencyDisplay;\n internalSlots.currencySign = currencySign;\n }\n if (style === 'unit') {\n internalSlots.unit = unit;\n internalSlots.unitDisplay = unitDisplay;\n }\n}\n","import { ResolveLocale } from '@formatjs/intl-localematcher';\nimport { CanonicalizeLocaleList } from '../CanonicalizeLocaleList';\nimport { CoerceOptionsToObject } from '../CoerceOptionsToObject';\nimport { GetNumberOption } from '../GetNumberOption';\nimport { GetOption } from '../GetOption';\nimport { GetStringOrBooleanOption } from '../GetStringOrBooleanOption';\nimport { invariant } from '../utils';\nimport { CurrencyDigits } from './CurrencyDigits';\nimport { SetNumberFormatDigitOptions } from './SetNumberFormatDigitOptions';\nimport { SetNumberFormatUnitOptions } from './SetNumberFormatUnitOptions';\nvar VALID_ROUND_INCREMENT_VALUES = [\n 1, 2, 5, 10, 20, 25, 50, 100, 200, 250, 500, 1000, 2000,\n];\n/**\n * https://tc39.es/ecma402/#sec-initializenumberformat\n */\nexport function InitializeNumberFormat(nf, locales, opts, _a) {\n var getInternalSlots = _a.getInternalSlots, localeData = _a.localeData, availableLocales = _a.availableLocales, numberingSystemNames = _a.numberingSystemNames, getDefaultLocale = _a.getDefaultLocale, currencyDigitsData = _a.currencyDigitsData;\n // @ts-ignore\n var requestedLocales = CanonicalizeLocaleList(locales);\n var options = CoerceOptionsToObject(opts);\n var opt = Object.create(null);\n var matcher = GetOption(options, 'localeMatcher', 'string', ['lookup', 'best fit'], 'best fit');\n opt.localeMatcher = matcher;\n var numberingSystem = GetOption(options, 'numberingSystem', 'string', undefined, undefined);\n if (numberingSystem !== undefined &&\n numberingSystemNames.indexOf(numberingSystem) < 0) {\n // 8.a. If numberingSystem does not match the Unicode Locale Identifier type nonterminal,\n // throw a RangeError exception.\n throw RangeError(\"Invalid numberingSystems: \".concat(numberingSystem));\n }\n opt.nu = numberingSystem;\n var r = ResolveLocale(Array.from(availableLocales), requestedLocales, opt, \n // [[RelevantExtensionKeys]] slot, which is a constant\n ['nu'], localeData, getDefaultLocale);\n var dataLocaleData = localeData[r.dataLocale];\n invariant(!!dataLocaleData, \"Missing locale data for \".concat(r.dataLocale));\n var internalSlots = getInternalSlots(nf);\n internalSlots.locale = r.locale;\n internalSlots.dataLocale = r.dataLocale;\n internalSlots.numberingSystem = r.nu;\n internalSlots.dataLocaleData = dataLocaleData;\n SetNumberFormatUnitOptions(nf, options, { getInternalSlots: getInternalSlots });\n var style = internalSlots.style;\n var mnfdDefault;\n var mxfdDefault;\n if (style === 'currency') {\n var currency = internalSlots.currency;\n var cDigits = CurrencyDigits(currency, { currencyDigitsData: currencyDigitsData });\n mnfdDefault = cDigits;\n mxfdDefault = cDigits;\n }\n else {\n mnfdDefault = 0;\n mxfdDefault = style === 'percent' ? 0 : 3;\n }\n var notation = GetOption(options, 'notation', 'string', ['standard', 'scientific', 'engineering', 'compact'], 'standard');\n internalSlots.notation = notation;\n SetNumberFormatDigitOptions(internalSlots, options, mnfdDefault, mxfdDefault, notation);\n var roundingIncrement = GetNumberOption(options, 'roundingIncrement', 1, 5000, 1);\n if (VALID_ROUND_INCREMENT_VALUES.indexOf(roundingIncrement) === -1) {\n throw new RangeError(\"Invalid rounding increment value: \".concat(roundingIncrement, \".\\nValid values are \").concat(VALID_ROUND_INCREMENT_VALUES, \".\"));\n }\n if (roundingIncrement !== 1 &&\n internalSlots.roundingType !== 'fractionDigits') {\n throw new TypeError(\"For roundingIncrement > 1 only fractionDigits is a valid roundingType\");\n }\n if (roundingIncrement !== 1 &&\n internalSlots.maximumFractionDigits !== internalSlots.minimumFractionDigits) {\n throw new RangeError('With roundingIncrement > 1, maximumFractionDigits and minimumFractionDigits must be equal.');\n }\n internalSlots.roundingIncrement = roundingIncrement;\n var trailingZeroDisplay = GetOption(options, 'trailingZeroDisplay', 'string', ['auto', 'stripIfInteger'], 'auto');\n internalSlots.trailingZeroDisplay = trailingZeroDisplay;\n var compactDisplay = GetOption(options, 'compactDisplay', 'string', ['short', 'long'], 'short');\n var defaultUseGrouping = 'auto';\n if (notation === 'compact') {\n internalSlots.compactDisplay = compactDisplay;\n defaultUseGrouping = 'min2';\n }\n internalSlots.useGrouping = GetStringOrBooleanOption(options, 'useGrouping', ['min2', 'auto', 'always'], 'always', false, defaultUseGrouping);\n internalSlots.signDisplay = GetOption(options, 'signDisplay', 'string', ['auto', 'never', 'always', 'exceptZero', 'negative'], 'auto');\n internalSlots.roundingMode = GetOption(options, 'roundingMode', 'string', [\n 'ceil',\n 'floor',\n 'expand',\n 'trunc',\n 'halfCeil',\n 'halfFloor',\n 'halfExpand',\n 'halfTrunc',\n 'halfEven',\n ], 'halfExpand');\n return nf;\n}\n","import { invariant } from './utils';\n/**\n * https://tc39.es/ecma402/#sec-partitionpattern\n * @param pattern\n */\nexport function PartitionPattern(pattern) {\n var result = [];\n var beginIndex = pattern.indexOf('{');\n var endIndex = 0;\n var nextIndex = 0;\n var length = pattern.length;\n while (beginIndex < pattern.length && beginIndex > -1) {\n endIndex = pattern.indexOf('}', beginIndex);\n invariant(endIndex > beginIndex, \"Invalid pattern \".concat(pattern));\n if (beginIndex > nextIndex) {\n result.push({\n type: 'literal',\n value: pattern.substring(nextIndex, beginIndex),\n });\n }\n result.push({\n type: pattern.substring(beginIndex + 1, endIndex),\n value: undefined,\n });\n nextIndex = endIndex + 1;\n beginIndex = pattern.indexOf('{', nextIndex);\n }\n if (nextIndex < length) {\n result.push({\n type: 'literal',\n value: pattern.substring(nextIndex, length),\n });\n }\n return result;\n}\n","import { LookupSupportedLocales } from '@formatjs/intl-localematcher';\nimport { ToObject } from './262';\nimport { GetOption } from './GetOption';\n/**\n * https://tc39.es/ecma402/#sec-supportedlocales\n * @param availableLocales\n * @param requestedLocales\n * @param options\n */\nexport function SupportedLocales(availableLocales, requestedLocales, options) {\n var matcher = 'best fit';\n if (options !== undefined) {\n options = ToObject(options);\n matcher = GetOption(options, 'localeMatcher', 'string', ['lookup', 'best fit'], 'best fit');\n }\n if (matcher === 'best fit') {\n return LookupSupportedLocales(Array.from(availableLocales), requestedLocales);\n }\n return LookupSupportedLocales(Array.from(availableLocales), requestedLocales);\n}\n","export var RangePatternType;\n(function (RangePatternType) {\n RangePatternType[\"startRange\"] = \"startRange\";\n RangePatternType[\"shared\"] = \"shared\";\n RangePatternType[\"endRange\"] = \"endRange\";\n})(RangePatternType || (RangePatternType = {}));\n","import { __extends } from \"tslib\";\nvar MissingLocaleDataError = /** @class */ (function (_super) {\n __extends(MissingLocaleDataError, _super);\n function MissingLocaleDataError() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.type = 'MISSING_LOCALE_DATA';\n return _this;\n }\n return MissingLocaleDataError;\n}(Error));\nexport function isMissingLocaleDataError(e) {\n return e.type === 'MISSING_LOCALE_DATA';\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DurationRecordSign = void 0;\nvar constants_1 = require(\"../constants\");\nfunction DurationRecordSign(record) {\n for (var _i = 0, TABLE_1_1 = constants_1.TABLE_1; _i < TABLE_1_1.length; _i++) {\n var key = TABLE_1_1[_i];\n if (record[key] < 0) {\n return -1;\n }\n if (record[key] > 0) {\n return 1;\n }\n }\n return 0;\n}\nexports.DurationRecordSign = DurationRecordSign;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.GetDurationUnitOptions = void 0;\nvar ecma402_abstract_1 = require(\"@formatjs/ecma402-abstract\");\nfunction GetDurationUnitOptions(unit, options, baseStyle, stylesList, digitalBase, prevStyle) {\n var style = (0, ecma402_abstract_1.GetOption)(options, unit, 'string', stylesList, undefined);\n var displayDefault = 'always';\n if (style === undefined) {\n if (baseStyle === 'digital') {\n if (unit !== 'hours' && unit !== 'minutes' && unit !== 'seconds') {\n displayDefault = 'auto';\n }\n style = digitalBase;\n }\n else {\n displayDefault = 'auto';\n if (prevStyle === 'numeric' || prevStyle === '2-digit') {\n style = 'numeric';\n }\n else {\n style = baseStyle;\n }\n }\n }\n var displayField = \"\".concat(unit, \"Display\");\n var display = (0, ecma402_abstract_1.GetOption)(options, displayField, 'string', ['always', 'auto'], displayDefault);\n if (prevStyle === 'numeric' || prevStyle === '2-digit') {\n if (style !== 'numeric' && style !== '2-digit') {\n throw new RangeError(\"Can't mix numeric and non-numeric styles\");\n }\n else if (unit === 'minutes' || unit === 'seconds') {\n style = '2-digit';\n }\n if (style === 'numeric' &&\n display === 'always' &&\n (unit === 'milliseconds' ||\n unit === 'microseconds' ||\n unit === 'nanoseconds')) {\n throw new RangeError(\"Can't display milliseconds, microseconds, or nanoseconds in numeric format\");\n }\n }\n return {\n style: style,\n display: display,\n };\n}\nexports.GetDurationUnitOptions = GetDurationUnitOptions;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.IsValidDurationRecord = void 0;\nvar ecma402_abstract_1 = require(\"@formatjs/ecma402-abstract\");\nvar constants_1 = require(\"../constants\");\nvar DurationRecordSign_1 = require(\"./DurationRecordSign\");\nfunction IsValidDurationRecord(record) {\n var sign = (0, DurationRecordSign_1.DurationRecordSign)(record);\n for (var _i = 0, TABLE_1_1 = constants_1.TABLE_1; _i < TABLE_1_1.length; _i++) {\n var key = TABLE_1_1[_i];\n var v = record[key];\n (0, ecma402_abstract_1.invariant)(isFinite(Number(v)), \"\".concat(key, \" is not finite\"));\n if (v < 0 && sign > 0) {\n return false;\n }\n if (v > 0 && sign < 0) {\n return false;\n }\n }\n return true;\n}\nexports.IsValidDurationRecord = IsValidDurationRecord;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.PartitionDurationFormatPattern = void 0;\nvar ecma402_abstract_1 = require(\"@formatjs/ecma402-abstract\");\nvar constants_1 = require(\"../constants\");\nvar core_1 = require(\"../core\");\nvar get_internal_slots_1 = require(\"../get_internal_slots\");\nfunction PartitionDurationFormatPattern(df, duration) {\n var result = [];\n var done = false;\n var separated = false;\n var internalSlots = (0, get_internal_slots_1.getInternalSlots)(df);\n var dataLocale = internalSlots.dataLocale;\n var dataLocaleData = core_1.DurationFormat.localeData[dataLocale];\n if (!dataLocaleData) {\n throw new TypeError('Invalid locale');\n }\n var numberingSystem = internalSlots.numberingSystem;\n var separator = dataLocaleData.digitalFormat[numberingSystem];\n var _loop_1 = function (i) {\n var row = constants_1.TABLE_2[i];\n var value = duration[row.valueField];\n var style = internalSlots[row.styleSlot];\n var display = internalSlots[row.displaySlot];\n var unit = row.unit, numberFormatUnit = row.numberFormatUnit;\n var nfOpts = Object.create(null);\n if (unit === 'seconds' ||\n unit === 'milliseconds' ||\n unit === 'microseconds') {\n var nextStyle = void 0;\n if (unit === 'seconds') {\n nextStyle = internalSlots.milliseconds;\n }\n else if (unit === 'milliseconds') {\n nextStyle = internalSlots.microseconds;\n }\n else {\n nextStyle = internalSlots.nanoseconds;\n }\n if (nextStyle === 'numeric') {\n if (unit === 'seconds') {\n value +=\n duration.milliseconds / 1e3 +\n duration.microseconds / 1e6 +\n duration.nanoseconds / 1e9;\n }\n else if (unit === 'milliseconds') {\n value += duration.microseconds / 1e3 + duration.nanoseconds / 1e6;\n }\n else {\n value += duration.nanoseconds / 1e3;\n }\n if (internalSlots.fractionalDigits === undefined) {\n nfOpts.maximumFractionDigits = 9;\n nfOpts.minimumFractionDigits = 0;\n }\n else {\n nfOpts.maximumFractionDigits = internalSlots.fractionalDigits;\n nfOpts.minimumFractionDigits = internalSlots.fractionalDigits;\n }\n nfOpts.roundingMode = 'trunc';\n done = true;\n }\n }\n if (value !== 0 || display !== 'auto') {\n nfOpts.numberingSystem = internalSlots.numberingSystem;\n if (style === '2-digit') {\n nfOpts.minimumIntegerDigits = 2;\n }\n if (style !== '2-digit' && style !== 'numeric') {\n nfOpts.style = 'unit';\n nfOpts.unit = numberFormatUnit;\n nfOpts.unitDisplay = style;\n }\n var nf = new Intl.NumberFormat(internalSlots.locale, nfOpts);\n var list_1;\n if (!separated) {\n list_1 = [];\n }\n else {\n list_1 = result[result.length - 1];\n list_1.push({\n type: 'literal',\n value: separator,\n });\n }\n var parts = nf.formatToParts(value);\n parts.forEach(function (_a) {\n var type = _a.type, value = _a.value;\n list_1.push({\n type: type,\n value: value,\n unit: numberFormatUnit,\n });\n });\n if (!separated) {\n if (style === '2-digit' || style === 'numeric') {\n separated = true;\n }\n result.push(list_1);\n }\n }\n else {\n separated = false;\n }\n };\n for (var i = 0; i < constants_1.TABLE_2.length && !done; i++) {\n _loop_1(i);\n }\n var lfOpts = Object.create(null);\n lfOpts.type = 'unit';\n var listStyle = internalSlots.style;\n if (listStyle === 'digital') {\n listStyle = 'short';\n }\n lfOpts.style = listStyle;\n var lf = new Intl.ListFormat(internalSlots.locale, lfOpts);\n var strings = [];\n for (var _i = 0, result_1 = result; _i < result_1.length; _i++) {\n var parts = result_1[_i];\n var string = '';\n for (var _a = 0, parts_1 = parts; _a < parts_1.length; _a++) {\n var value = parts_1[_a].value;\n string += value;\n }\n strings.push(string);\n }\n var formatted = lf.formatToParts(strings);\n var resultIndex = 0;\n var resultLength = result.length;\n var flattened = [];\n for (var _b = 0, formatted_1 = formatted; _b < formatted_1.length; _b++) {\n var _c = formatted_1[_b], type = _c.type, value = _c.value;\n if (type === 'element') {\n (0, ecma402_abstract_1.invariant)(resultIndex < resultLength, 'Index out of bounds');\n var parts = result[resultIndex];\n for (var _d = 0, parts_2 = parts; _d < parts_2.length; _d++) {\n var part = parts_2[_d];\n flattened.push(part);\n }\n resultIndex++;\n }\n else {\n (0, ecma402_abstract_1.invariant)(type === 'literal', 'Type must be literal');\n flattened.push({\n type: 'literal',\n value: value,\n });\n }\n }\n return flattened;\n}\nexports.PartitionDurationFormatPattern = PartitionDurationFormatPattern;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ToDurationRecord = void 0;\nvar IsValidDurationRecord_1 = require(\"./IsValidDurationRecord\");\nvar ToIntegerIfIntegral_1 = require(\"./ToIntegerIfIntegral\");\nfunction ToDurationRecord(input) {\n if (typeof input !== 'object') {\n if (typeof input === 'string') {\n throw new RangeError('Invalid duration format');\n }\n throw new TypeError('Invalid duration');\n }\n var result = {\n years: 0,\n months: 0,\n weeks: 0,\n days: 0,\n hours: 0,\n minutes: 0,\n seconds: 0,\n milliseconds: 0,\n microseconds: 0,\n nanoseconds: 0,\n };\n if (input.days !== undefined) {\n result.days = (0, ToIntegerIfIntegral_1.ToIntegerIfIntegral)(input.days);\n }\n if (input.hours !== undefined) {\n result.hours = (0, ToIntegerIfIntegral_1.ToIntegerIfIntegral)(input.hours);\n }\n if (input.microseconds !== undefined) {\n result.microseconds = (0, ToIntegerIfIntegral_1.ToIntegerIfIntegral)(input.microseconds);\n }\n if (input.milliseconds !== undefined) {\n result.milliseconds = (0, ToIntegerIfIntegral_1.ToIntegerIfIntegral)(input.milliseconds);\n }\n if (input.minutes !== undefined) {\n result.minutes = (0, ToIntegerIfIntegral_1.ToIntegerIfIntegral)(input.minutes);\n }\n if (input.months !== undefined) {\n result.months = (0, ToIntegerIfIntegral_1.ToIntegerIfIntegral)(input.months);\n }\n if (input.nanoseconds !== undefined) {\n result.nanoseconds = (0, ToIntegerIfIntegral_1.ToIntegerIfIntegral)(input.nanoseconds);\n }\n if (input.seconds !== undefined) {\n result.seconds = (0, ToIntegerIfIntegral_1.ToIntegerIfIntegral)(input.seconds);\n }\n if (input.weeks !== undefined) {\n result.weeks = (0, ToIntegerIfIntegral_1.ToIntegerIfIntegral)(input.weeks);\n }\n if (input.years !== undefined) {\n result.years = (0, ToIntegerIfIntegral_1.ToIntegerIfIntegral)(input.years);\n }\n if (input.years === undefined &&\n input.months === undefined &&\n input.weeks === undefined &&\n input.days === undefined &&\n input.hours === undefined &&\n input.minutes === undefined &&\n input.seconds === undefined &&\n input.milliseconds === undefined &&\n input.microseconds === undefined &&\n input.nanoseconds === undefined) {\n throw new TypeError('Invalid duration format');\n }\n if (!(0, IsValidDurationRecord_1.IsValidDurationRecord)(result)) {\n throw new RangeError('Invalid duration format');\n }\n return result;\n}\nexports.ToDurationRecord = ToDurationRecord;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ToIntegerIfIntegral = void 0;\nvar ecma402_abstract_1 = require(\"@formatjs/ecma402-abstract\");\nfunction ToIntegerIfIntegral(arg) {\n var number = (0, ecma402_abstract_1.ToNumber)(arg);\n if (!Number.isInteger(number)) {\n throw new RangeError(\"\".concat(arg, \" is not an integer\"));\n }\n return number;\n}\nexports.ToIntegerIfIntegral = ToIntegerIfIntegral;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TABLE_2 = exports.TABLE_1 = void 0;\nexports.TABLE_1 = [\n 'years',\n 'months',\n 'weeks',\n 'days',\n 'hours',\n 'minutes',\n 'seconds',\n 'milliseconds',\n 'microseconds',\n 'nanoseconds',\n];\nexports.TABLE_2 = [\n {\n valueField: 'years',\n styleSlot: 'years',\n displaySlot: 'yearsDisplay',\n unit: 'years',\n numberFormatUnit: 'year',\n },\n {\n valueField: 'months',\n styleSlot: 'months',\n displaySlot: 'monthsDisplay',\n unit: 'months',\n numberFormatUnit: 'month',\n },\n {\n valueField: 'weeks',\n styleSlot: 'weeks',\n displaySlot: 'weeksDisplay',\n unit: 'weeks',\n numberFormatUnit: 'week',\n },\n {\n valueField: 'days',\n styleSlot: 'days',\n displaySlot: 'daysDisplay',\n unit: 'days',\n numberFormatUnit: 'day',\n },\n {\n valueField: 'hours',\n styleSlot: 'hours',\n displaySlot: 'hoursDisplay',\n unit: 'hours',\n numberFormatUnit: 'hour',\n },\n {\n valueField: 'minutes',\n styleSlot: 'minutes',\n displaySlot: 'minutesDisplay',\n unit: 'minutes',\n numberFormatUnit: 'minute',\n },\n {\n valueField: 'seconds',\n styleSlot: 'seconds',\n displaySlot: 'secondsDisplay',\n unit: 'seconds',\n numberFormatUnit: 'second',\n },\n {\n valueField: 'milliseconds',\n styleSlot: 'milliseconds',\n displaySlot: 'millisecondsDisplay',\n unit: 'milliseconds',\n numberFormatUnit: 'millisecond',\n },\n {\n valueField: 'microseconds',\n styleSlot: 'microseconds',\n displaySlot: 'microsecondsDisplay',\n unit: 'microseconds',\n numberFormatUnit: 'microsecond',\n },\n {\n valueField: 'nanoseconds',\n styleSlot: 'nanoseconds',\n displaySlot: 'nanosecondsDisplay',\n unit: 'nanoseconds',\n numberFormatUnit: 'nanosecond',\n },\n];\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DurationFormat = void 0;\nvar ecma402_abstract_1 = require(\"@formatjs/ecma402-abstract\");\nvar intl_localematcher_1 = require(\"@formatjs/intl-localematcher\");\nvar GetDurationUnitOptions_1 = require(\"./abstract/GetDurationUnitOptions\");\nvar PartitionDurationFormatPattern_1 = require(\"./abstract/PartitionDurationFormatPattern\");\nvar ToDurationRecord_1 = require(\"./abstract/ToDurationRecord\");\nvar get_internal_slots_1 = require(\"./get_internal_slots\");\nvar numbering_systems_generated_1 = require(\"./numbering-systems.generated\");\nvar time_separators_generated_1 = require(\"./time-separators.generated\");\nvar RESOLVED_OPTIONS_KEYS = [\n 'locale',\n 'style',\n 'years',\n 'yearsDisplay',\n 'months',\n 'monthsDisplay',\n 'weeks',\n 'weeksDisplay',\n 'days',\n 'daysDisplay',\n 'hours',\n 'hoursDisplay',\n 'minutes',\n 'minutesDisplay',\n 'seconds',\n 'secondsDisplay',\n 'milliseconds',\n 'millisecondsDisplay',\n 'microseconds',\n 'microsecondsDisplay',\n 'nanoseconds',\n 'nanosecondsDisplay',\n 'numberingSystem',\n 'fractionalDigits',\n];\nvar TABLE_3 = [\n {\n styleSlot: 'years',\n displaySlot: 'yearsDisplay',\n unit: 'years',\n values: ['long', 'short', 'narrow'],\n digitalDefault: 'short',\n },\n {\n styleSlot: 'months',\n displaySlot: 'monthsDisplay',\n unit: 'months',\n values: ['long', 'short', 'narrow'],\n digitalDefault: 'short',\n },\n {\n styleSlot: 'weeks',\n displaySlot: 'weeksDisplay',\n unit: 'weeks',\n values: ['long', 'short', 'narrow'],\n digitalDefault: 'short',\n },\n {\n styleSlot: 'days',\n displaySlot: 'daysDisplay',\n unit: 'days',\n values: ['long', 'short', 'narrow'],\n digitalDefault: 'short',\n },\n {\n styleSlot: 'hours',\n displaySlot: 'hoursDisplay',\n unit: 'hours',\n values: ['long', 'short', 'narrow', 'numeric', '2-digit'],\n digitalDefault: 'numeric',\n },\n {\n styleSlot: 'minutes',\n displaySlot: 'minutesDisplay',\n unit: 'minutes',\n values: ['long', 'short', 'narrow', 'numeric', '2-digit'],\n digitalDefault: 'numeric',\n },\n {\n styleSlot: 'seconds',\n displaySlot: 'secondsDisplay',\n unit: 'seconds',\n values: ['long', 'short', 'narrow', 'numeric', '2-digit'],\n digitalDefault: 'numeric',\n },\n {\n styleSlot: 'milliseconds',\n displaySlot: 'millisecondsDisplay',\n unit: 'milliseconds',\n values: ['long', 'short', 'narrow', 'numeric'],\n digitalDefault: 'numeric',\n },\n {\n styleSlot: 'microseconds',\n displaySlot: 'microsecondsDisplay',\n unit: 'microseconds',\n values: ['long', 'short', 'narrow', 'numeric'],\n digitalDefault: 'numeric',\n },\n {\n styleSlot: 'nanoseconds',\n displaySlot: 'nanosecondsDisplay',\n unit: 'nanoseconds',\n values: ['long', 'short', 'narrow', 'numeric'],\n digitalDefault: 'numeric',\n },\n];\nvar DurationFormat = /** @class */ (function () {\n function DurationFormat(locales, options) {\n // test262/test/intl402/ListFormat/constructor/constructor/newtarget-undefined.js\n // Cannot use `new.target` bc of IE11 & TS transpiles it to something else\n var newTarget = this && this instanceof DurationFormat ? this.constructor : void 0;\n if (!newTarget) {\n throw new TypeError(\"Intl.DurationFormat must be called with 'new'\");\n }\n var requestedLocales = (0, ecma402_abstract_1.CanonicalizeLocaleList)(locales);\n var opt = Object.create(null);\n var opts = options === undefined ? Object.create(null) : (0, ecma402_abstract_1.ToObject)(options);\n var matcher = (0, ecma402_abstract_1.GetOption)(opts, 'localeMatcher', 'string', ['best fit', 'lookup'], 'best fit');\n var numberingSystem = (0, ecma402_abstract_1.GetOption)(opts, 'numberingSystem', 'string', undefined, undefined);\n if (numberingSystem !== undefined &&\n numbering_systems_generated_1.numberingSystemNames.indexOf(numberingSystem) < 0) {\n // 8.a. If numberingSystem does not match the Unicode Locale Identifier type nonterminal,\n // throw a RangeError exception.\n throw RangeError(\"Invalid numberingSystems: \".concat(numberingSystem));\n }\n opt.nu = numberingSystem;\n opt.localeMatcher = matcher;\n var localeData = DurationFormat.localeData, availableLocales = DurationFormat.availableLocales;\n var r = (0, intl_localematcher_1.ResolveLocale)(availableLocales, requestedLocales, opt, \n // [[RelevantExtensionKeys]] slot, which is a constant\n ['nu'], localeData, DurationFormat.getDefaultLocale);\n var locale = r.locale;\n var internalSlots = (0, get_internal_slots_1.getInternalSlots)(this);\n internalSlots.initializedDurationFormat = true;\n internalSlots.locale = locale;\n internalSlots.numberingSystem = r.nu;\n var style = (0, ecma402_abstract_1.GetOption)(opts, 'style', 'string', ['long', 'short', 'narrow', 'digital'], 'short');\n internalSlots.style = style;\n internalSlots.dataLocale = r.dataLocale;\n var prevStyle = '';\n TABLE_3.forEach(function (row) {\n var styleSlot = row.styleSlot, displaySlot = row.displaySlot, unit = row.unit, valueList = row.values, digitalBase = row.digitalDefault;\n var unitOptions = (0, GetDurationUnitOptions_1.GetDurationUnitOptions)(unit, opts, style, valueList, digitalBase, prevStyle);\n internalSlots[styleSlot] = unitOptions.style;\n internalSlots[displaySlot] = unitOptions.display;\n if (unit === 'hours' ||\n unit === 'minutes' ||\n unit === 'seconds' ||\n unit === 'milliseconds' ||\n unit === 'microseconds') {\n prevStyle = unitOptions.style;\n }\n });\n internalSlots.fractionalDigits = (0, ecma402_abstract_1.GetNumberOption)(opts, 'fractionalDigits', 0, 9, undefined);\n }\n DurationFormat.prototype.resolvedOptions = function () {\n if (typeof this !== 'object' ||\n !(0, ecma402_abstract_1.OrdinaryHasInstance)(DurationFormat, this)) {\n throw TypeError('Method Intl.DurationFormat.prototype.resolvedOptions called on incompatible receiver');\n }\n var internalSlots = (0, get_internal_slots_1.getInternalSlots)(this);\n var ro = {};\n for (var _i = 0, RESOLVED_OPTIONS_KEYS_1 = RESOLVED_OPTIONS_KEYS; _i < RESOLVED_OPTIONS_KEYS_1.length; _i++) {\n var key = RESOLVED_OPTIONS_KEYS_1[_i];\n var v = internalSlots[key];\n if (key === 'fractionalDigits') {\n if (v !== undefined) {\n v = Number(v);\n }\n }\n else {\n (0, ecma402_abstract_1.invariant)(v !== undefined, \"Missing internal slot \".concat(key));\n }\n ro[key] = v;\n }\n return ro;\n };\n DurationFormat.prototype.formatToParts = function (duration) {\n var df = this;\n var locInternalSlots = (0, get_internal_slots_1.getInternalSlots)(this);\n if (locInternalSlots.initializedDurationFormat === undefined) {\n throw new TypeError('Error uninitialized locale');\n }\n var record = (0, ToDurationRecord_1.ToDurationRecord)(duration);\n var parts = (0, PartitionDurationFormatPattern_1.PartitionDurationFormatPattern)(df, record);\n var result = [];\n for (var _i = 0, parts_1 = parts; _i < parts_1.length; _i++) {\n var _a = parts_1[_i], type = _a.type, unit = _a.unit, value = _a.value;\n var obj = { type: type, value: value };\n if (unit) {\n obj.unit = unit;\n }\n result.push(obj);\n }\n return result;\n };\n DurationFormat.prototype.format = function (duration) {\n var df = this;\n var locInternalSlots = (0, get_internal_slots_1.getInternalSlots)(this);\n if (locInternalSlots.initializedDurationFormat === undefined) {\n throw new TypeError('Error uninitialized locale');\n }\n var record = (0, ToDurationRecord_1.ToDurationRecord)(duration);\n var parts = (0, PartitionDurationFormatPattern_1.PartitionDurationFormatPattern)(df, record);\n var result = '';\n for (var _i = 0, parts_2 = parts; _i < parts_2.length; _i++) {\n var value = parts_2[_i].value;\n result += value;\n }\n return result;\n };\n DurationFormat.supportedLocalesOf = function (locales, options) {\n return (0, ecma402_abstract_1.SupportedLocales)(DurationFormat.availableLocales, (0, ecma402_abstract_1.CanonicalizeLocaleList)(locales), options);\n };\n DurationFormat.__defaultLocale = 'en';\n DurationFormat.availableLocales = new Set();\n DurationFormat.localeData = Object.keys(time_separators_generated_1.TIME_SEPARATORS.localeData).reduce(function (all, locale) {\n DurationFormat.availableLocales.add(locale);\n var nu = time_separators_generated_1.TIME_SEPARATORS.localeData[locale].nu;\n all[locale] = {\n nu: nu,\n digitalFormat: time_separators_generated_1.TIME_SEPARATORS.localeData[locale].separator ||\n nu.reduce(function (separators, n) {\n separators[n] = time_separators_generated_1.TIME_SEPARATORS.default;\n return separators;\n }, {}),\n };\n return all;\n }, {});\n DurationFormat.getDefaultLocale = function () {\n return DurationFormat.__defaultLocale;\n };\n DurationFormat.polyfilled = true;\n return DurationFormat;\n}());\nexports.DurationFormat = DurationFormat;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getInternalSlots = void 0;\nvar internalSlotMap = new WeakMap();\nfunction getInternalSlots(x) {\n var internalSlots = internalSlotMap.get(x);\n if (!internalSlots) {\n internalSlots = Object.create(null);\n internalSlotMap.set(x, internalSlots);\n }\n return internalSlots;\n}\nexports.getInternalSlots = getInternalSlots;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.numberingSystemNames = void 0;\nexports.numberingSystemNames = [\"adlm\", \"ahom\", \"arab\", \"arabext\", \"armn\", \"armnlow\", \"bali\", \"beng\", \"bhks\", \"brah\", \"cakm\", \"cham\", \"cyrl\", \"deva\", \"diak\", \"ethi\", \"fullwide\", \"geor\", \"gong\", \"gonm\", \"grek\", \"greklow\", \"gujr\", \"guru\", \"hanidays\", \"hanidec\", \"hans\", \"hansfin\", \"hant\", \"hantfin\", \"hebr\", \"hmng\", \"hmnp\", \"java\", \"jpan\", \"jpanfin\", \"jpanyear\", \"kali\", \"kawi\", \"khmr\", \"knda\", \"lana\", \"lanatham\", \"laoo\", \"latn\", \"lepc\", \"limb\", \"mathbold\", \"mathdbl\", \"mathmono\", \"mathsanb\", \"mathsans\", \"mlym\", \"modi\", \"mong\", \"mroo\", \"mtei\", \"mymr\", \"mymrshan\", \"mymrtlng\", \"nagm\", \"newa\", \"nkoo\", \"olck\", \"orya\", \"osma\", \"rohg\", \"roman\", \"romanlow\", \"saur\", \"segment\", \"shrd\", \"sind\", \"sinh\", \"sora\", \"sund\", \"takr\", \"talu\", \"taml\", \"tamldec\", \"telu\", \"thai\", \"tibt\", \"tirh\", \"tnsa\", \"vaii\", \"wara\", \"wcho\"];\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TIME_SEPARATORS = void 0;\n/* @generated */\n// prettier-ignore\nexports.TIME_SEPARATORS = {\n \"default\": \":\",\n \"localeData\": {\n \"aa\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"aa-DJ\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"aa-ER\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"ab\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"af\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"af-NA\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"agq\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"ak\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"am\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"an\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"ann\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"apc\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"ar\": {\n \"nu\": [\n \"arab\",\n \"latn\"\n ]\n },\n \"ar-AE\": {\n \"nu\": [\n \"latn\",\n \"latn\"\n ]\n },\n \"ar-BH\": {\n \"nu\": [\n \"arab\",\n \"latn\"\n ]\n },\n \"ar-DJ\": {\n \"nu\": [\n \"arab\",\n \"latn\"\n ]\n },\n \"ar-DZ\": {\n \"nu\": [\n \"latn\",\n \"latn\"\n ]\n },\n \"ar-EG\": {\n \"nu\": [\n \"arab\",\n \"latn\"\n ]\n },\n \"ar-EH\": {\n \"nu\": [\n \"latn\",\n \"latn\"\n ]\n },\n \"ar-ER\": {\n \"nu\": [\n \"arab\",\n \"latn\"\n ]\n },\n \"ar-IL\": {\n \"nu\": [\n \"arab\",\n \"latn\"\n ]\n },\n \"ar-IQ\": {\n \"nu\": [\n \"arab\",\n \"latn\"\n ]\n },\n \"ar-JO\": {\n \"nu\": [\n \"arab\",\n \"latn\"\n ]\n },\n \"ar-KM\": {\n \"nu\": [\n \"arab\",\n \"latn\"\n ]\n },\n \"ar-KW\": {\n \"nu\": [\n \"arab\",\n \"latn\"\n ]\n },\n \"ar-LB\": {\n \"nu\": [\n \"arab\",\n \"latn\"\n ]\n },\n \"ar-LY\": {\n \"nu\": [\n \"latn\",\n \"latn\"\n ]\n },\n \"ar-MA\": {\n \"nu\": [\n \"latn\",\n \"latn\"\n ]\n },\n \"ar-MR\": {\n \"nu\": [\n \"arab\",\n \"latn\"\n ]\n },\n \"ar-OM\": {\n \"nu\": [\n \"arab\",\n \"latn\"\n ]\n },\n \"ar-PS\": {\n \"nu\": [\n \"arab\",\n \"latn\"\n ]\n },\n \"ar-QA\": {\n \"nu\": [\n \"arab\",\n \"latn\"\n ]\n },\n \"ar-SA\": {\n \"nu\": [\n \"arab\",\n \"latn\"\n ]\n },\n \"ar-SD\": {\n \"nu\": [\n \"arab\",\n \"latn\"\n ]\n },\n \"ar-SO\": {\n \"nu\": [\n \"arab\",\n \"latn\"\n ]\n },\n \"ar-SS\": {\n \"nu\": [\n \"arab\",\n \"latn\"\n ]\n },\n \"ar-SY\": {\n \"nu\": [\n \"arab\",\n \"latn\"\n ]\n },\n \"ar-TD\": {\n \"nu\": [\n \"arab\",\n \"latn\"\n ]\n },\n \"ar-TN\": {\n \"nu\": [\n \"latn\",\n \"latn\"\n ]\n },\n \"ar-YE\": {\n \"nu\": [\n \"arab\",\n \"latn\"\n ]\n },\n \"arn\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"as\": {\n \"nu\": [\n \"beng\"\n ]\n },\n \"asa\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"ast\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"az\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"az-Arab\": {\n \"nu\": [\n \"arabext\"\n ]\n },\n \"az-Arab-IQ\": {\n \"nu\": [\n \"arabext\"\n ]\n },\n \"az-Arab-TR\": {\n \"nu\": [\n \"arabext\"\n ]\n },\n \"az-Cyrl\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"az-Latn\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"ba\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"bal\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"bal-Arab\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"bal-Latn\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"bas\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"be\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"be-tarask\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"bem\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"bez\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"bg\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"bgc\": {\n \"nu\": [\n \"deva\"\n ]\n },\n \"bgn\": {\n \"nu\": [\n \"arabext\"\n ]\n },\n \"bgn-AE\": {\n \"nu\": [\n \"arabext\"\n ]\n },\n \"bgn-AF\": {\n \"nu\": [\n \"arabext\"\n ]\n },\n \"bgn-IR\": {\n \"nu\": [\n \"arabext\"\n ]\n },\n \"bgn-OM\": {\n \"nu\": [\n \"arabext\"\n ]\n },\n \"bho\": {\n \"nu\": [\n \"deva\"\n ]\n },\n \"blt\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"bm\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"bm-Nkoo\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"bn\": {\n \"nu\": [\n \"beng\"\n ]\n },\n \"bn-IN\": {\n \"nu\": [\n \"beng\"\n ]\n },\n \"bo\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"bo-IN\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"br\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"brx\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"bs\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"bs-Cyrl\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"bs-Latn\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"bss\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"byn\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"ca\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"ca-AD\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"ca-ES-valencia\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"ca-FR\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"ca-IT\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"cad\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"cch\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"ccp\": {\n \"nu\": [\n \"cakm\"\n ]\n },\n \"ccp-IN\": {\n \"nu\": [\n \"cakm\"\n ]\n },\n \"ce\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"ceb\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"cgg\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"cho\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"chr\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"cic\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"ckb\": {\n \"nu\": [\n \"arab\"\n ]\n },\n \"ckb-IR\": {\n \"nu\": [\n \"arab\"\n ]\n },\n \"co\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"cs\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"cu\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"cv\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"cy\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"da\": {\n \"nu\": [\n \"latn\"\n ],\n \"separator\": {\n \"latn\": \".\"\n }\n },\n \"da-GL\": {\n \"nu\": [\n \"latn\"\n ],\n \"separator\": {\n \"latn\": \".\"\n }\n },\n \"dav\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"de\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"de-AT\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"de-BE\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"de-CH\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"de-IT\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"de-LI\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"de-LU\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"dje\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"doi\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"dsb\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"dua\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"dv\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"dyo\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"dz\": {\n \"nu\": [\n \"tibt\"\n ]\n },\n \"ebu\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"ee\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"ee-TG\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"el\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"el-CY\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"el-polyton\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"en\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"en-001\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"en-150\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"en-AE\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"en-AG\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"en-AI\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"en-AS\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"en-AT\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"en-AU\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"en-BB\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"en-BE\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"en-BI\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"en-BM\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"en-BS\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"en-BW\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"en-BZ\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"en-CA\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"en-CC\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"en-CH\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"en-CK\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"en-CM\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"en-CX\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"en-CY\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"en-DE\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"en-DG\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"en-DK\": {\n \"nu\": [\n \"latn\"\n ],\n \"separator\": {\n \"latn\": \".\"\n }\n },\n \"en-DM\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"en-Dsrt\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"en-ER\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"en-FI\": {\n \"nu\": [\n \"latn\"\n ],\n \"separator\": {\n \"latn\": \".\"\n }\n },\n \"en-FJ\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"en-FK\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"en-FM\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"en-GB\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"en-GD\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"en-GG\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"en-GH\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"en-GI\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"en-GM\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"en-GU\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"en-GY\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"en-HK\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"en-IE\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"en-IL\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"en-IM\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"en-IN\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"en-IO\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"en-JE\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"en-JM\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"en-KE\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"en-KI\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"en-KN\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"en-KY\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"en-LC\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"en-LR\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"en-LS\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"en-MG\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"en-MH\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"en-MO\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"en-MP\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"en-MS\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"en-MT\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"en-MU\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"en-MV\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"en-MW\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"en-MY\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"en-NA\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"en-NF\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"en-NG\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"en-NL\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"en-NR\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"en-NU\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"en-NZ\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"en-PG\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"en-PH\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"en-PK\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"en-PN\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"en-PR\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"en-PW\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"en-RW\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"en-SB\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"en-SC\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"en-SD\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"en-SE\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"en-SG\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"en-SH\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"en-SI\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"en-SL\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"en-SS\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"en-SX\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"en-SZ\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"en-Shaw\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"en-TC\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"en-TK\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"en-TO\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"en-TT\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"en-TV\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"en-TZ\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"en-UG\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"en-UM\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"en-VC\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"en-VG\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"en-VI\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"en-VU\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"en-WS\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"en-ZA\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"en-ZM\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"en-ZW\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"eo\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"es\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"es-419\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"es-AR\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"es-BO\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"es-BR\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"es-BZ\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"es-CL\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"es-CO\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"es-CR\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"es-CU\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"es-DO\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"es-EA\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"es-EC\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"es-GQ\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"es-GT\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"es-HN\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"es-IC\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"es-MX\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"es-NI\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"es-PA\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"es-PE\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"es-PH\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"es-PR\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"es-PY\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"es-SV\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"es-US\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"es-UY\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"es-VE\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"et\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"eu\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"ewo\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"fa\": {\n \"nu\": [\n \"arabext\"\n ]\n },\n \"fa-AF\": {\n \"nu\": [\n \"arabext\"\n ]\n },\n \"ff\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"ff-Adlm\": {\n \"nu\": [\n \"adlm\"\n ]\n },\n \"ff-Adlm-BF\": {\n \"nu\": [\n \"adlm\"\n ]\n },\n \"ff-Adlm-CM\": {\n \"nu\": [\n \"adlm\"\n ]\n },\n \"ff-Adlm-GH\": {\n \"nu\": [\n \"adlm\"\n ]\n },\n \"ff-Adlm-GM\": {\n \"nu\": [\n \"adlm\"\n ]\n },\n \"ff-Adlm-GW\": {\n \"nu\": [\n \"adlm\"\n ]\n },\n \"ff-Adlm-LR\": {\n \"nu\": [\n \"adlm\"\n ]\n },\n \"ff-Adlm-MR\": {\n \"nu\": [\n \"adlm\"\n ]\n },\n \"ff-Adlm-NE\": {\n \"nu\": [\n \"adlm\"\n ]\n },\n \"ff-Adlm-NG\": {\n \"nu\": [\n \"adlm\"\n ]\n },\n \"ff-Adlm-SL\": {\n \"nu\": [\n \"adlm\"\n ]\n },\n \"ff-Adlm-SN\": {\n \"nu\": [\n \"adlm\"\n ]\n },\n \"ff-Latn\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"ff-Latn-BF\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"ff-Latn-CM\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"ff-Latn-GH\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"ff-Latn-GM\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"ff-Latn-GN\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"ff-Latn-GW\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"ff-Latn-LR\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"ff-Latn-MR\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"ff-Latn-NE\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"ff-Latn-NG\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"ff-Latn-SL\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"fi\": {\n \"nu\": [\n \"latn\"\n ],\n \"separator\": {\n \"latn\": \".\"\n }\n },\n \"fil\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"fo\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"fo-DK\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"fr\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"fr-BE\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"fr-BF\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"fr-BI\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"fr-BJ\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"fr-BL\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"fr-CA\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"fr-CD\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"fr-CF\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"fr-CG\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"fr-CH\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"fr-CI\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"fr-CM\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"fr-DJ\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"fr-DZ\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"fr-GA\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"fr-GF\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"fr-GN\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"fr-GP\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"fr-GQ\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"fr-HT\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"fr-KM\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"fr-LU\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"fr-MA\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"fr-MC\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"fr-MF\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"fr-MG\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"fr-ML\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"fr-MQ\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"fr-MR\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"fr-MU\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"fr-NC\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"fr-NE\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"fr-PF\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"fr-PM\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"fr-RE\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"fr-RW\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"fr-SC\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"fr-SN\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"fr-SY\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"fr-TD\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"fr-TG\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"fr-TN\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"fr-VU\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"fr-WF\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"fr-YT\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"frr\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"fur\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"fy\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"ga\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"ga-GB\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"gaa\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"gd\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"gez\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"gez-ER\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"gl\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"gn\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"gsw\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"gsw-FR\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"gsw-LI\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"gu\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"guz\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"gv\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"ha\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"ha-Arab\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"ha-Arab-SD\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"ha-GH\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"ha-NE\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"haw\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"he\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"hi\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"hi-Latn\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"hnj\": {\n \"nu\": [\n \"hmnp\",\n \"latn\"\n ]\n },\n \"hnj-Hmnp\": {\n \"nu\": [\n \"hmnp\",\n \"latn\"\n ]\n },\n \"hr\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"hr-BA\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"hsb\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"hu\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"hy\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"ia\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"id\": {\n \"nu\": [\n \"latn\"\n ],\n \"separator\": {\n \"latn\": \".\"\n }\n },\n \"ig\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"ii\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"io\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"is\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"it\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"it-CH\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"it-SM\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"it-VA\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"iu\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"iu-Latn\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"ja\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"jbo\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"jgo\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"jmc\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"jv\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"ka\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"kab\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"kaj\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"kam\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"kcg\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"kde\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"kea\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"ken\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"kgp\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"khq\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"ki\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"kk\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"kkj\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"kl\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"kln\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"km\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"kn\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"ko\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"ko-KP\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"kok\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"kpe\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"kpe-GN\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"ks\": {\n \"nu\": [\n \"arabext\"\n ]\n },\n \"ks-Arab\": {\n \"nu\": [\n \"arabext\"\n ]\n },\n \"ks-Deva\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"ksb\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"ksf\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"ksh\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"ku\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"kw\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"ky\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"la\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"lag\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"lb\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"lg\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"lij\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"lkt\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"lmo\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"ln\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"ln-AO\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"ln-CF\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"ln-CG\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"lo\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"lrc\": {\n \"nu\": [\n \"arabext\"\n ]\n },\n \"lrc-IQ\": {\n \"nu\": [\n \"arabext\"\n ]\n },\n \"lt\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"lu\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"luo\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"luy\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"lv\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"mai\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"mas\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"mas-TZ\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"mdf\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"mer\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"mfe\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"mg\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"mgh\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"mgo\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"mi\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"mk\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"ml\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"mn\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"mn-Mong\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"mn-Mong-MN\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"mni\": {\n \"nu\": [\n \"beng\"\n ]\n },\n \"mni-Beng\": {\n \"nu\": [\n \"beng\"\n ]\n },\n \"mni-Mtei\": {\n \"nu\": [\n \"mtei\"\n ]\n },\n \"moh\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"mr\": {\n \"nu\": [\n \"deva\"\n ]\n },\n \"ms\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"ms-Arab\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"ms-Arab-BN\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"ms-BN\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"ms-ID\": {\n \"nu\": [\n \"latn\"\n ],\n \"separator\": {\n \"latn\": \".\"\n }\n },\n \"ms-SG\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"mt\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"mua\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"mus\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"my\": {\n \"nu\": [\n \"mymr\"\n ]\n },\n \"myv\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"mzn\": {\n \"nu\": [\n \"arabext\"\n ]\n },\n \"naq\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"nb\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"nb-SJ\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"nd\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"nds\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"nds-NL\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"ne\": {\n \"nu\": [\n \"deva\"\n ]\n },\n \"ne-IN\": {\n \"nu\": [\n \"deva\"\n ]\n },\n \"nl\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"nl-AW\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"nl-BE\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"nl-BQ\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"nl-CW\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"nl-SR\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"nl-SX\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"nmg\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"nn\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"nnh\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"no\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"nqo\": {\n \"nu\": [\n \"nkoo\"\n ]\n },\n \"nr\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"nso\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"nus\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"nv\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"ny\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"nyn\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"oc\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"oc-ES\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"om\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"om-KE\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"or\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"os\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"os-RU\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"osa\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"pa\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"pa-Arab\": {\n \"nu\": [\n \"arabext\"\n ]\n },\n \"pa-Guru\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"pap\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"pap-AW\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"pcm\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"pis\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"pl\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"prg\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"ps\": {\n \"nu\": [\n \"arabext\"\n ]\n },\n \"ps-PK\": {\n \"nu\": [\n \"arabext\"\n ]\n },\n \"pt\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"pt-AO\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"pt-CH\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"pt-CV\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"pt-GQ\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"pt-GW\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"pt-LU\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"pt-MO\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"pt-MZ\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"pt-PT\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"pt-ST\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"pt-TL\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"qu\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"qu-BO\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"qu-EC\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"quc\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"raj\": {\n \"nu\": [\n \"deva\"\n ]\n },\n \"rhg\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"rhg-Rohg\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"rhg-Rohg-BD\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"rif\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"rm\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"rn\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"ro\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"ro-MD\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"rof\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"ru\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"ru-BY\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"ru-KG\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"ru-KZ\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"ru-MD\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"ru-UA\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"rw\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"rwk\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"sa\": {\n \"nu\": [\n \"deva\"\n ]\n },\n \"sah\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"saq\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"sat\": {\n \"nu\": [\n \"olck\"\n ]\n },\n \"sat-Deva\": {\n \"nu\": [\n \"deva\"\n ]\n },\n \"sat-Olck\": {\n \"nu\": [\n \"olck\"\n ]\n },\n \"sbp\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"sc\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"scn\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"sd\": {\n \"nu\": [\n \"arab\"\n ]\n },\n \"sd-Arab\": {\n \"nu\": [\n \"arab\"\n ]\n },\n \"sd-Deva\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"sdh\": {\n \"nu\": [\n \"arab\"\n ]\n },\n \"sdh-IQ\": {\n \"nu\": [\n \"arab\"\n ]\n },\n \"se\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"se-FI\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"se-SE\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"seh\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"ses\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"sg\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"shi\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"shi-Latn\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"shi-Tfng\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"shn\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"shn-TH\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"si\": {\n \"nu\": [\n \"latn\"\n ],\n \"separator\": {\n \"latn\": \".\"\n }\n },\n \"sid\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"sk\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"sl\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"sma\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"sma-NO\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"smj\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"smj-NO\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"smn\": {\n \"nu\": [\n \"latn\"\n ],\n \"separator\": {\n \"latn\": \".\"\n }\n },\n \"sms\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"sn\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"so\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"so-DJ\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"so-ET\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"so-KE\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"sq\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"sq-MK\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"sq-XK\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"sr\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"sr-Cyrl\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"sr-Cyrl-BA\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"sr-Cyrl-ME\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"sr-Cyrl-XK\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"sr-Latn\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"sr-Latn-BA\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"sr-Latn-ME\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"sr-Latn-XK\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"ss\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"ss-SZ\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"ssy\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"st\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"st-LS\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"su\": {\n \"nu\": [\n \"latn\"\n ],\n \"separator\": {\n \"latn\": \".\"\n }\n },\n \"su-Latn\": {\n \"nu\": [\n \"latn\"\n ],\n \"separator\": {\n \"latn\": \".\"\n }\n },\n \"sv\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"sv-AX\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"sv-FI\": {\n \"nu\": [\n \"latn\"\n ],\n \"separator\": {\n \"latn\": \".\"\n }\n },\n \"sw\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"sw-CD\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"sw-KE\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"sw-UG\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"syr\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"syr-SY\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"szl\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"ta\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"ta-LK\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"ta-MY\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"ta-SG\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"te\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"teo\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"teo-KE\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"tg\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"th\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"ti\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"ti-ER\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"tig\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"tk\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"tn\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"tn-BW\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"to\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"tok\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"tpi\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"tr\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"tr-CY\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"trv\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"trw\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"ts\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"tt\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"twq\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"tzm\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"ug\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"uk\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"und\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"ur\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"ur-IN\": {\n \"nu\": [\n \"arabext\"\n ],\n \"separator\": {\n \"arabext\": \"٫\"\n }\n },\n \"uz\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"uz-Arab\": {\n \"nu\": [\n \"arabext\"\n ]\n },\n \"uz-Cyrl\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"uz-Latn\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"vai\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"vai-Latn\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"vai-Vaii\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"ve\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"vec\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"vi\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"vo\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"vun\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"wa\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"wae\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"wal\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"wbp\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"wo\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"xh\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"xog\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"yav\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"yi\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"yo\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"yo-BJ\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"yrl\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"yrl-CO\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"yrl-VE\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"yue\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"yue-Hans\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"yue-Hant\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"zgh\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"zh\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"zh-Hans\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"zh-Hans-HK\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"zh-Hans-MO\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"zh-Hans-SG\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"zh-Hant\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"zh-Hant-HK\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"zh-Hant-MO\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"zu\": {\n \"nu\": [\n \"latn\"\n ]\n }\n }\n};\n","export var data = {\n supplemental: {\n languageMatching: {\n 'written-new': [\n {\n paradigmLocales: {\n _locales: 'en en_GB es es_419 pt_BR pt_PT',\n },\n },\n {\n $enUS: {\n _value: 'AS+CA+GU+MH+MP+PH+PR+UM+US+VI',\n },\n },\n {\n $cnsar: {\n _value: 'HK+MO',\n },\n },\n {\n $americas: {\n _value: '019',\n },\n },\n {\n $maghreb: {\n _value: 'MA+DZ+TN+LY+MR+EH',\n },\n },\n {\n no: {\n _desired: 'nb',\n _distance: '1',\n },\n },\n {\n bs: {\n _desired: 'hr',\n _distance: '4',\n },\n },\n {\n bs: {\n _desired: 'sh',\n _distance: '4',\n },\n },\n {\n hr: {\n _desired: 'sh',\n _distance: '4',\n },\n },\n {\n sr: {\n _desired: 'sh',\n _distance: '4',\n },\n },\n {\n aa: {\n _desired: 'ssy',\n _distance: '4',\n },\n },\n {\n de: {\n _desired: 'gsw',\n _distance: '4',\n _oneway: 'true',\n },\n },\n {\n de: {\n _desired: 'lb',\n _distance: '4',\n _oneway: 'true',\n },\n },\n {\n no: {\n _desired: 'da',\n _distance: '8',\n },\n },\n {\n nb: {\n _desired: 'da',\n _distance: '8',\n },\n },\n {\n ru: {\n _desired: 'ab',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'ach',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n nl: {\n _desired: 'af',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'ak',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'am',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n es: {\n _desired: 'ay',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n ru: {\n _desired: 'az',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n ur: {\n _desired: 'bal',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n ru: {\n _desired: 'be',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'bem',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n hi: {\n _desired: 'bh',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'bn',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n zh: {\n _desired: 'bo',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n fr: {\n _desired: 'br',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n es: {\n _desired: 'ca',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n fil: {\n _desired: 'ceb',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'chr',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n ar: {\n _desired: 'ckb',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n fr: {\n _desired: 'co',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n fr: {\n _desired: 'crs',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n sk: {\n _desired: 'cs',\n _distance: '20',\n },\n },\n {\n en: {\n _desired: 'cy',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'ee',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'eo',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n es: {\n _desired: 'eu',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n da: {\n _desired: 'fo',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n nl: {\n _desired: 'fy',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'ga',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'gaa',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'gd',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n es: {\n _desired: 'gl',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n es: {\n _desired: 'gn',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n hi: {\n _desired: 'gu',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'ha',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'haw',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n fr: {\n _desired: 'ht',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n ru: {\n _desired: 'hy',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'ia',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'ig',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'is',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n id: {\n _desired: 'jv',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'ka',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n fr: {\n _desired: 'kg',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n ru: {\n _desired: 'kk',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'km',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'kn',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'kri',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n tr: {\n _desired: 'ku',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n ru: {\n _desired: 'ky',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n it: {\n _desired: 'la',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'lg',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n fr: {\n _desired: 'ln',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'lo',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'loz',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n fr: {\n _desired: 'lua',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n hi: {\n _desired: 'mai',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'mfe',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n fr: {\n _desired: 'mg',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'mi',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'ml',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n ru: {\n _desired: 'mn',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n hi: {\n _desired: 'mr',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n id: {\n _desired: 'ms',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'mt',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'my',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'ne',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n nb: {\n _desired: 'nn',\n _distance: '20',\n },\n },\n {\n no: {\n _desired: 'nn',\n _distance: '20',\n },\n },\n {\n en: {\n _desired: 'nso',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'ny',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'nyn',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n fr: {\n _desired: 'oc',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'om',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'or',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'pa',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'pcm',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'ps',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n es: {\n _desired: 'qu',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n de: {\n _desired: 'rm',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'rn',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n fr: {\n _desired: 'rw',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n hi: {\n _desired: 'sa',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'sd',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'si',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'sn',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'so',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'sq',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'st',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n id: {\n _desired: 'su',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'sw',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'ta',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'te',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n ru: {\n _desired: 'tg',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'ti',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n ru: {\n _desired: 'tk',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'tlh',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'tn',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'to',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n ru: {\n _desired: 'tt',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'tum',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n zh: {\n _desired: 'ug',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n ru: {\n _desired: 'uk',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'ur',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n ru: {\n _desired: 'uz',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n fr: {\n _desired: 'wo',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'xh',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'yi',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'yo',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n zh: {\n _desired: 'za',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'zu',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n ar: {\n _desired: 'aao',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ar: {\n _desired: 'abh',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ar: {\n _desired: 'abv',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ar: {\n _desired: 'acm',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ar: {\n _desired: 'acq',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ar: {\n _desired: 'acw',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ar: {\n _desired: 'acx',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ar: {\n _desired: 'acy',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ar: {\n _desired: 'adf',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ar: {\n _desired: 'aeb',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ar: {\n _desired: 'aec',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ar: {\n _desired: 'afb',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ar: {\n _desired: 'ajp',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ar: {\n _desired: 'apc',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ar: {\n _desired: 'apd',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ar: {\n _desired: 'arq',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ar: {\n _desired: 'ars',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ar: {\n _desired: 'ary',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ar: {\n _desired: 'arz',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ar: {\n _desired: 'auz',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ar: {\n _desired: 'avl',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ar: {\n _desired: 'ayh',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ar: {\n _desired: 'ayl',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ar: {\n _desired: 'ayn',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ar: {\n _desired: 'ayp',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ar: {\n _desired: 'bbz',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ar: {\n _desired: 'pga',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ar: {\n _desired: 'shu',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ar: {\n _desired: 'ssh',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n az: {\n _desired: 'azb',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n et: {\n _desired: 'vro',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ff: {\n _desired: 'ffm',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ff: {\n _desired: 'fub',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ff: {\n _desired: 'fue',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ff: {\n _desired: 'fuf',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ff: {\n _desired: 'fuh',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ff: {\n _desired: 'fui',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ff: {\n _desired: 'fuq',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ff: {\n _desired: 'fuv',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n gn: {\n _desired: 'gnw',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n gn: {\n _desired: 'gui',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n gn: {\n _desired: 'gun',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n gn: {\n _desired: 'nhd',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n iu: {\n _desired: 'ikt',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n kln: {\n _desired: 'enb',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n kln: {\n _desired: 'eyo',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n kln: {\n _desired: 'niq',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n kln: {\n _desired: 'oki',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n kln: {\n _desired: 'pko',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n kln: {\n _desired: 'sgc',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n kln: {\n _desired: 'tec',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n kln: {\n _desired: 'tuy',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n kok: {\n _desired: 'gom',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n kpe: {\n _desired: 'gkp',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n luy: {\n _desired: 'ida',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n luy: {\n _desired: 'lkb',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n luy: {\n _desired: 'lko',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n luy: {\n _desired: 'lks',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n luy: {\n _desired: 'lri',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n luy: {\n _desired: 'lrm',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n luy: {\n _desired: 'lsm',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n luy: {\n _desired: 'lto',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n luy: {\n _desired: 'lts',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n luy: {\n _desired: 'lwg',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n luy: {\n _desired: 'nle',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n luy: {\n _desired: 'nyd',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n luy: {\n _desired: 'rag',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n lv: {\n _desired: 'ltg',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n mg: {\n _desired: 'bhr',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n mg: {\n _desired: 'bjq',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n mg: {\n _desired: 'bmm',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n mg: {\n _desired: 'bzc',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n mg: {\n _desired: 'msh',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n mg: {\n _desired: 'skg',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n mg: {\n _desired: 'tdx',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n mg: {\n _desired: 'tkg',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n mg: {\n _desired: 'txy',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n mg: {\n _desired: 'xmv',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n mg: {\n _desired: 'xmw',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n mn: {\n _desired: 'mvf',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ms: {\n _desired: 'bjn',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ms: {\n _desired: 'btj',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ms: {\n _desired: 'bve',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ms: {\n _desired: 'bvu',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ms: {\n _desired: 'coa',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ms: {\n _desired: 'dup',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ms: {\n _desired: 'hji',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ms: {\n _desired: 'id',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ms: {\n _desired: 'jak',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ms: {\n _desired: 'jax',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ms: {\n _desired: 'kvb',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ms: {\n _desired: 'kvr',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ms: {\n _desired: 'kxd',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ms: {\n _desired: 'lce',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ms: {\n _desired: 'lcf',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ms: {\n _desired: 'liw',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ms: {\n _desired: 'max',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ms: {\n _desired: 'meo',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ms: {\n _desired: 'mfa',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ms: {\n _desired: 'mfb',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ms: {\n _desired: 'min',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ms: {\n _desired: 'mqg',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ms: {\n _desired: 'msi',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ms: {\n _desired: 'mui',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ms: {\n _desired: 'orn',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ms: {\n _desired: 'ors',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ms: {\n _desired: 'pel',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ms: {\n _desired: 'pse',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ms: {\n _desired: 'tmw',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ms: {\n _desired: 'urk',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ms: {\n _desired: 'vkk',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ms: {\n _desired: 'vkt',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ms: {\n _desired: 'xmm',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ms: {\n _desired: 'zlm',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ms: {\n _desired: 'zmi',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ne: {\n _desired: 'dty',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n om: {\n _desired: 'gax',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n om: {\n _desired: 'hae',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n om: {\n _desired: 'orc',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n or: {\n _desired: 'spv',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ps: {\n _desired: 'pbt',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ps: {\n _desired: 'pst',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n qu: {\n _desired: 'qub',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n qu: {\n _desired: 'qud',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n qu: {\n _desired: 'quf',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n qu: {\n _desired: 'qug',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n qu: {\n _desired: 'quh',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n qu: {\n _desired: 'quk',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n qu: {\n _desired: 'qul',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n qu: {\n _desired: 'qup',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n qu: {\n _desired: 'qur',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n qu: {\n _desired: 'qus',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n qu: {\n _desired: 'quw',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n qu: {\n _desired: 'qux',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n qu: {\n _desired: 'quy',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n qu: {\n _desired: 'qva',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n qu: {\n _desired: 'qvc',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n qu: {\n _desired: 'qve',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n qu: {\n _desired: 'qvh',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n qu: {\n _desired: 'qvi',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n qu: {\n _desired: 'qvj',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n qu: {\n _desired: 'qvl',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n qu: {\n _desired: 'qvm',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n qu: {\n _desired: 'qvn',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n qu: {\n _desired: 'qvo',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n qu: {\n _desired: 'qvp',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n qu: {\n _desired: 'qvs',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n qu: {\n _desired: 'qvw',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n qu: {\n _desired: 'qvz',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n qu: {\n _desired: 'qwa',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n qu: {\n _desired: 'qwc',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n qu: {\n _desired: 'qwh',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n qu: {\n _desired: 'qws',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n qu: {\n _desired: 'qxa',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n qu: {\n _desired: 'qxc',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n qu: {\n _desired: 'qxh',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n qu: {\n _desired: 'qxl',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n qu: {\n _desired: 'qxn',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n qu: {\n _desired: 'qxo',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n qu: {\n _desired: 'qxp',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n qu: {\n _desired: 'qxr',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n qu: {\n _desired: 'qxt',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n qu: {\n _desired: 'qxu',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n qu: {\n _desired: 'qxw',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n sc: {\n _desired: 'sdc',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n sc: {\n _desired: 'sdn',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n sc: {\n _desired: 'sro',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n sq: {\n _desired: 'aae',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n sq: {\n _desired: 'aat',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n sq: {\n _desired: 'aln',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n syr: {\n _desired: 'aii',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n uz: {\n _desired: 'uzs',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n yi: {\n _desired: 'yih',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n zh: {\n _desired: 'cdo',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n zh: {\n _desired: 'cjy',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n zh: {\n _desired: 'cpx',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n zh: {\n _desired: 'czh',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n zh: {\n _desired: 'czo',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n zh: {\n _desired: 'gan',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n zh: {\n _desired: 'hak',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n zh: {\n _desired: 'hsn',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n zh: {\n _desired: 'lzh',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n zh: {\n _desired: 'mnp',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n zh: {\n _desired: 'nan',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n zh: {\n _desired: 'wuu',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n zh: {\n _desired: 'yue',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n '*': {\n _desired: '*',\n _distance: '80',\n },\n },\n {\n 'en-Latn': {\n _desired: 'am-Ethi',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n 'ru-Cyrl': {\n _desired: 'az-Latn',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n 'en-Latn': {\n _desired: 'bn-Beng',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n 'zh-Hans': {\n _desired: 'bo-Tibt',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n 'ru-Cyrl': {\n _desired: 'hy-Armn',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n 'en-Latn': {\n _desired: 'ka-Geor',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n 'en-Latn': {\n _desired: 'km-Khmr',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n 'en-Latn': {\n _desired: 'kn-Knda',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n 'en-Latn': {\n _desired: 'lo-Laoo',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n 'en-Latn': {\n _desired: 'ml-Mlym',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n 'en-Latn': {\n _desired: 'my-Mymr',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n 'en-Latn': {\n _desired: 'ne-Deva',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n 'en-Latn': {\n _desired: 'or-Orya',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n 'en-Latn': {\n _desired: 'pa-Guru',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n 'en-Latn': {\n _desired: 'ps-Arab',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n 'en-Latn': {\n _desired: 'sd-Arab',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n 'en-Latn': {\n _desired: 'si-Sinh',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n 'en-Latn': {\n _desired: 'ta-Taml',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n 'en-Latn': {\n _desired: 'te-Telu',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n 'en-Latn': {\n _desired: 'ti-Ethi',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n 'ru-Cyrl': {\n _desired: 'tk-Latn',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n 'en-Latn': {\n _desired: 'ur-Arab',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n 'ru-Cyrl': {\n _desired: 'uz-Latn',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n 'en-Latn': {\n _desired: 'yi-Hebr',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n 'sr-Cyrl': {\n _desired: 'sr-Latn',\n _distance: '5',\n },\n },\n {\n 'zh-Hans': {\n _desired: 'za-Latn',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n 'zh-Hans': {\n _desired: 'zh-Hani',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n 'zh-Hant': {\n _desired: 'zh-Hani',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n 'ar-Arab': {\n _desired: 'ar-Latn',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n 'bn-Beng': {\n _desired: 'bn-Latn',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n 'gu-Gujr': {\n _desired: 'gu-Latn',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n 'hi-Deva': {\n _desired: 'hi-Latn',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n 'kn-Knda': {\n _desired: 'kn-Latn',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n 'ml-Mlym': {\n _desired: 'ml-Latn',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n 'mr-Deva': {\n _desired: 'mr-Latn',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n 'ta-Taml': {\n _desired: 'ta-Latn',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n 'te-Telu': {\n _desired: 'te-Latn',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n 'zh-Hans': {\n _desired: 'zh-Latn',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n 'ja-Jpan': {\n _desired: 'ja-Latn',\n _distance: '5',\n _oneway: 'true',\n },\n },\n {\n 'ja-Jpan': {\n _desired: 'ja-Hani',\n _distance: '5',\n _oneway: 'true',\n },\n },\n {\n 'ja-Jpan': {\n _desired: 'ja-Hira',\n _distance: '5',\n _oneway: 'true',\n },\n },\n {\n 'ja-Jpan': {\n _desired: 'ja-Kana',\n _distance: '5',\n _oneway: 'true',\n },\n },\n {\n 'ja-Jpan': {\n _desired: 'ja-Hrkt',\n _distance: '5',\n _oneway: 'true',\n },\n },\n {\n 'ja-Hrkt': {\n _desired: 'ja-Hira',\n _distance: '5',\n _oneway: 'true',\n },\n },\n {\n 'ja-Hrkt': {\n _desired: 'ja-Kana',\n _distance: '5',\n _oneway: 'true',\n },\n },\n {\n 'ko-Kore': {\n _desired: 'ko-Hani',\n _distance: '5',\n _oneway: 'true',\n },\n },\n {\n 'ko-Kore': {\n _desired: 'ko-Hang',\n _distance: '5',\n _oneway: 'true',\n },\n },\n {\n 'ko-Kore': {\n _desired: 'ko-Jamo',\n _distance: '5',\n _oneway: 'true',\n },\n },\n {\n 'ko-Hang': {\n _desired: 'ko-Jamo',\n _distance: '5',\n _oneway: 'true',\n },\n },\n {\n '*-*': {\n _desired: '*-*',\n _distance: '50',\n },\n },\n {\n 'ar-*-$maghreb': {\n _desired: 'ar-*-$maghreb',\n _distance: '4',\n },\n },\n {\n 'ar-*-$!maghreb': {\n _desired: 'ar-*-$!maghreb',\n _distance: '4',\n },\n },\n {\n 'ar-*-*': {\n _desired: 'ar-*-*',\n _distance: '5',\n },\n },\n {\n 'en-*-$enUS': {\n _desired: 'en-*-$enUS',\n _distance: '4',\n },\n },\n {\n 'en-*-GB': {\n _desired: 'en-*-$!enUS',\n _distance: '3',\n },\n },\n {\n 'en-*-$!enUS': {\n _desired: 'en-*-$!enUS',\n _distance: '4',\n },\n },\n {\n 'en-*-*': {\n _desired: 'en-*-*',\n _distance: '5',\n },\n },\n {\n 'es-*-$americas': {\n _desired: 'es-*-$americas',\n _distance: '4',\n },\n },\n {\n 'es-*-$!americas': {\n _desired: 'es-*-$!americas',\n _distance: '4',\n },\n },\n {\n 'es-*-*': {\n _desired: 'es-*-*',\n _distance: '5',\n },\n },\n {\n 'pt-*-$americas': {\n _desired: 'pt-*-$americas',\n _distance: '4',\n },\n },\n {\n 'pt-*-$!americas': {\n _desired: 'pt-*-$!americas',\n _distance: '4',\n },\n },\n {\n 'pt-*-*': {\n _desired: 'pt-*-*',\n _distance: '5',\n },\n },\n {\n 'zh-Hant-$cnsar': {\n _desired: 'zh-Hant-$cnsar',\n _distance: '4',\n },\n },\n {\n 'zh-Hant-$!cnsar': {\n _desired: 'zh-Hant-$!cnsar',\n _distance: '4',\n },\n },\n {\n 'zh-Hant-*': {\n _desired: 'zh-Hant-*',\n _distance: '5',\n },\n },\n {\n '*-*-*': {\n _desired: '*-*-*',\n _distance: '4',\n },\n },\n ],\n },\n },\n};\n","// This file is generated from regions-gen.ts\nexport var regions = {\n \"001\": [\n \"001\",\n \"001-status-grouping\",\n \"002\",\n \"005\",\n \"009\",\n \"011\",\n \"013\",\n \"014\",\n \"015\",\n \"017\",\n \"018\",\n \"019\",\n \"021\",\n \"029\",\n \"030\",\n \"034\",\n \"035\",\n \"039\",\n \"053\",\n \"054\",\n \"057\",\n \"061\",\n \"142\",\n \"143\",\n \"145\",\n \"150\",\n \"151\",\n \"154\",\n \"155\",\n \"AC\",\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\",\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 \"CP\",\n \"CQ\",\n \"CR\",\n \"CU\",\n \"CV\",\n \"CW\",\n \"CX\",\n \"CY\",\n \"CZ\",\n \"DE\",\n \"DG\",\n \"DJ\",\n \"DK\",\n \"DM\",\n \"DO\",\n \"DZ\",\n \"EA\",\n \"EC\",\n \"EE\",\n \"EG\",\n \"EH\",\n \"ER\",\n \"ES\",\n \"ET\",\n \"EU\",\n \"EZ\",\n \"FI\",\n \"FJ\",\n \"FK\",\n \"FM\",\n \"FO\",\n \"FR\",\n \"GA\",\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 \"IC\",\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 \"QO\",\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 \"TA\",\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 \"UN\",\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 \"XK\",\n \"YE\",\n \"YT\",\n \"ZA\",\n \"ZM\",\n \"ZW\"\n ],\n \"002\": [\n \"002\",\n \"002-status-grouping\",\n \"011\",\n \"014\",\n \"015\",\n \"017\",\n \"018\",\n \"202\",\n \"AO\",\n \"BF\",\n \"BI\",\n \"BJ\",\n \"BW\",\n \"CD\",\n \"CF\",\n \"CG\",\n \"CI\",\n \"CM\",\n \"CV\",\n \"DJ\",\n \"DZ\",\n \"EA\",\n \"EG\",\n \"EH\",\n \"ER\",\n \"ET\",\n \"GA\",\n \"GH\",\n \"GM\",\n \"GN\",\n \"GQ\",\n \"GW\",\n \"IC\",\n \"IO\",\n \"KE\",\n \"KM\",\n \"LR\",\n \"LS\",\n \"LY\",\n \"MA\",\n \"MG\",\n \"ML\",\n \"MR\",\n \"MU\",\n \"MW\",\n \"MZ\",\n \"NA\",\n \"NE\",\n \"NG\",\n \"RE\",\n \"RW\",\n \"SC\",\n \"SD\",\n \"SH\",\n \"SL\",\n \"SN\",\n \"SO\",\n \"SS\",\n \"ST\",\n \"SZ\",\n \"TD\",\n \"TF\",\n \"TG\",\n \"TN\",\n \"TZ\",\n \"UG\",\n \"YT\",\n \"ZA\",\n \"ZM\",\n \"ZW\"\n ],\n \"003\": [\n \"003\",\n \"013\",\n \"021\",\n \"029\",\n \"AG\",\n \"AI\",\n \"AW\",\n \"BB\",\n \"BL\",\n \"BM\",\n \"BQ\",\n \"BS\",\n \"BZ\",\n \"CA\",\n \"CR\",\n \"CU\",\n \"CW\",\n \"DM\",\n \"DO\",\n \"GD\",\n \"GL\",\n \"GP\",\n \"GT\",\n \"HN\",\n \"HT\",\n \"JM\",\n \"KN\",\n \"KY\",\n \"LC\",\n \"MF\",\n \"MQ\",\n \"MS\",\n \"MX\",\n \"NI\",\n \"PA\",\n \"PM\",\n \"PR\",\n \"SV\",\n \"SX\",\n \"TC\",\n \"TT\",\n \"US\",\n \"VC\",\n \"VG\",\n \"VI\"\n ],\n \"005\": [\n \"005\",\n \"AR\",\n \"BO\",\n \"BR\",\n \"BV\",\n \"CL\",\n \"CO\",\n \"EC\",\n \"FK\",\n \"GF\",\n \"GS\",\n \"GY\",\n \"PE\",\n \"PY\",\n \"SR\",\n \"UY\",\n \"VE\"\n ],\n \"009\": [\n \"009\",\n \"053\",\n \"054\",\n \"057\",\n \"061\",\n \"AC\",\n \"AQ\",\n \"AS\",\n \"AU\",\n \"CC\",\n \"CK\",\n \"CP\",\n \"CX\",\n \"DG\",\n \"FJ\",\n \"FM\",\n \"GU\",\n \"HM\",\n \"KI\",\n \"MH\",\n \"MP\",\n \"NC\",\n \"NF\",\n \"NR\",\n \"NU\",\n \"NZ\",\n \"PF\",\n \"PG\",\n \"PN\",\n \"PW\",\n \"QO\",\n \"SB\",\n \"TA\",\n \"TK\",\n \"TO\",\n \"TV\",\n \"UM\",\n \"VU\",\n \"WF\",\n \"WS\"\n ],\n \"011\": [\n \"011\",\n \"BF\",\n \"BJ\",\n \"CI\",\n \"CV\",\n \"GH\",\n \"GM\",\n \"GN\",\n \"GW\",\n \"LR\",\n \"ML\",\n \"MR\",\n \"NE\",\n \"NG\",\n \"SH\",\n \"SL\",\n \"SN\",\n \"TG\"\n ],\n \"013\": [\n \"013\",\n \"BZ\",\n \"CR\",\n \"GT\",\n \"HN\",\n \"MX\",\n \"NI\",\n \"PA\",\n \"SV\"\n ],\n \"014\": [\n \"014\",\n \"BI\",\n \"DJ\",\n \"ER\",\n \"ET\",\n \"IO\",\n \"KE\",\n \"KM\",\n \"MG\",\n \"MU\",\n \"MW\",\n \"MZ\",\n \"RE\",\n \"RW\",\n \"SC\",\n \"SO\",\n \"SS\",\n \"TF\",\n \"TZ\",\n \"UG\",\n \"YT\",\n \"ZM\",\n \"ZW\"\n ],\n \"015\": [\n \"015\",\n \"DZ\",\n \"EA\",\n \"EG\",\n \"EH\",\n \"IC\",\n \"LY\",\n \"MA\",\n \"SD\",\n \"TN\"\n ],\n \"017\": [\n \"017\",\n \"AO\",\n \"CD\",\n \"CF\",\n \"CG\",\n \"CM\",\n \"GA\",\n \"GQ\",\n \"ST\",\n \"TD\"\n ],\n \"018\": [\n \"018\",\n \"BW\",\n \"LS\",\n \"NA\",\n \"SZ\",\n \"ZA\"\n ],\n \"019\": [\n \"003\",\n \"005\",\n \"013\",\n \"019\",\n \"019-status-grouping\",\n \"021\",\n \"029\",\n \"419\",\n \"AG\",\n \"AI\",\n \"AR\",\n \"AW\",\n \"BB\",\n \"BL\",\n \"BM\",\n \"BO\",\n \"BQ\",\n \"BR\",\n \"BS\",\n \"BV\",\n \"BZ\",\n \"CA\",\n \"CL\",\n \"CO\",\n \"CR\",\n \"CU\",\n \"CW\",\n \"DM\",\n \"DO\",\n \"EC\",\n \"FK\",\n \"GD\",\n \"GF\",\n \"GL\",\n \"GP\",\n \"GS\",\n \"GT\",\n \"GY\",\n \"HN\",\n \"HT\",\n \"JM\",\n \"KN\",\n \"KY\",\n \"LC\",\n \"MF\",\n \"MQ\",\n \"MS\",\n \"MX\",\n \"NI\",\n \"PA\",\n \"PE\",\n \"PM\",\n \"PR\",\n \"PY\",\n \"SR\",\n \"SV\",\n \"SX\",\n \"TC\",\n \"TT\",\n \"US\",\n \"UY\",\n \"VC\",\n \"VE\",\n \"VG\",\n \"VI\"\n ],\n \"021\": [\n \"021\",\n \"BM\",\n \"CA\",\n \"GL\",\n \"PM\",\n \"US\"\n ],\n \"029\": [\n \"029\",\n \"AG\",\n \"AI\",\n \"AW\",\n \"BB\",\n \"BL\",\n \"BQ\",\n \"BS\",\n \"CU\",\n \"CW\",\n \"DM\",\n \"DO\",\n \"GD\",\n \"GP\",\n \"HT\",\n \"JM\",\n \"KN\",\n \"KY\",\n \"LC\",\n \"MF\",\n \"MQ\",\n \"MS\",\n \"PR\",\n \"SX\",\n \"TC\",\n \"TT\",\n \"VC\",\n \"VG\",\n \"VI\"\n ],\n \"030\": [\n \"030\",\n \"CN\",\n \"HK\",\n \"JP\",\n \"KP\",\n \"KR\",\n \"MN\",\n \"MO\",\n \"TW\"\n ],\n \"034\": [\n \"034\",\n \"AF\",\n \"BD\",\n \"BT\",\n \"IN\",\n \"IR\",\n \"LK\",\n \"MV\",\n \"NP\",\n \"PK\"\n ],\n \"035\": [\n \"035\",\n \"BN\",\n \"ID\",\n \"KH\",\n \"LA\",\n \"MM\",\n \"MY\",\n \"PH\",\n \"SG\",\n \"TH\",\n \"TL\",\n \"VN\"\n ],\n \"039\": [\n \"039\",\n \"AD\",\n \"AL\",\n \"BA\",\n \"ES\",\n \"GI\",\n \"GR\",\n \"HR\",\n \"IT\",\n \"ME\",\n \"MK\",\n \"MT\",\n \"PT\",\n \"RS\",\n \"SI\",\n \"SM\",\n \"VA\",\n \"XK\"\n ],\n \"053\": [\n \"053\",\n \"AU\",\n \"CC\",\n \"CX\",\n \"HM\",\n \"NF\",\n \"NZ\"\n ],\n \"054\": [\n \"054\",\n \"FJ\",\n \"NC\",\n \"PG\",\n \"SB\",\n \"VU\"\n ],\n \"057\": [\n \"057\",\n \"FM\",\n \"GU\",\n \"KI\",\n \"MH\",\n \"MP\",\n \"NR\",\n \"PW\",\n \"UM\"\n ],\n \"061\": [\n \"061\",\n \"AS\",\n \"CK\",\n \"NU\",\n \"PF\",\n \"PN\",\n \"TK\",\n \"TO\",\n \"TV\",\n \"WF\",\n \"WS\"\n ],\n \"142\": [\n \"030\",\n \"034\",\n \"035\",\n \"142\",\n \"143\",\n \"145\",\n \"AE\",\n \"AF\",\n \"AM\",\n \"AZ\",\n \"BD\",\n \"BH\",\n \"BN\",\n \"BT\",\n \"CN\",\n \"CY\",\n \"GE\",\n \"HK\",\n \"ID\",\n \"IL\",\n \"IN\",\n \"IQ\",\n \"IR\",\n \"JO\",\n \"JP\",\n \"KG\",\n \"KH\",\n \"KP\",\n \"KR\",\n \"KW\",\n \"KZ\",\n \"LA\",\n \"LB\",\n \"LK\",\n \"MM\",\n \"MN\",\n \"MO\",\n \"MV\",\n \"MY\",\n \"NP\",\n \"OM\",\n \"PH\",\n \"PK\",\n \"PS\",\n \"QA\",\n \"SA\",\n \"SG\",\n \"SY\",\n \"TH\",\n \"TJ\",\n \"TL\",\n \"TM\",\n \"TR\",\n \"TW\",\n \"UZ\",\n \"VN\",\n \"YE\"\n ],\n \"143\": [\n \"143\",\n \"KG\",\n \"KZ\",\n \"TJ\",\n \"TM\",\n \"UZ\"\n ],\n \"145\": [\n \"145\",\n \"AE\",\n \"AM\",\n \"AZ\",\n \"BH\",\n \"CY\",\n \"GE\",\n \"IL\",\n \"IQ\",\n \"JO\",\n \"KW\",\n \"LB\",\n \"OM\",\n \"PS\",\n \"QA\",\n \"SA\",\n \"SY\",\n \"TR\",\n \"YE\"\n ],\n \"150\": [\n \"039\",\n \"150\",\n \"151\",\n \"154\",\n \"155\",\n \"AD\",\n \"AL\",\n \"AT\",\n \"AX\",\n \"BA\",\n \"BE\",\n \"BG\",\n \"BY\",\n \"CH\",\n \"CQ\",\n \"CZ\",\n \"DE\",\n \"DK\",\n \"EE\",\n \"ES\",\n \"FI\",\n \"FO\",\n \"FR\",\n \"GB\",\n \"GG\",\n \"GI\",\n \"GR\",\n \"HR\",\n \"HU\",\n \"IE\",\n \"IM\",\n \"IS\",\n \"IT\",\n \"JE\",\n \"LI\",\n \"LT\",\n \"LU\",\n \"LV\",\n \"MC\",\n \"MD\",\n \"ME\",\n \"MK\",\n \"MT\",\n \"NL\",\n \"NO\",\n \"PL\",\n \"PT\",\n \"RO\",\n \"RS\",\n \"RU\",\n \"SE\",\n \"SI\",\n \"SJ\",\n \"SK\",\n \"SM\",\n \"UA\",\n \"VA\",\n \"XK\"\n ],\n \"151\": [\n \"151\",\n \"BG\",\n \"BY\",\n \"CZ\",\n \"HU\",\n \"MD\",\n \"PL\",\n \"RO\",\n \"RU\",\n \"SK\",\n \"UA\"\n ],\n \"154\": [\n \"154\",\n \"AX\",\n \"CQ\",\n \"DK\",\n \"EE\",\n \"FI\",\n \"FO\",\n \"GB\",\n \"GG\",\n \"IE\",\n \"IM\",\n \"IS\",\n \"JE\",\n \"LT\",\n \"LV\",\n \"NO\",\n \"SE\",\n \"SJ\"\n ],\n \"155\": [\n \"155\",\n \"AT\",\n \"BE\",\n \"CH\",\n \"DE\",\n \"FR\",\n \"LI\",\n \"LU\",\n \"MC\",\n \"NL\"\n ],\n \"202\": [\n \"011\",\n \"014\",\n \"017\",\n \"018\",\n \"202\",\n \"AO\",\n \"BF\",\n \"BI\",\n \"BJ\",\n \"BW\",\n \"CD\",\n \"CF\",\n \"CG\",\n \"CI\",\n \"CM\",\n \"CV\",\n \"DJ\",\n \"ER\",\n \"ET\",\n \"GA\",\n \"GH\",\n \"GM\",\n \"GN\",\n \"GQ\",\n \"GW\",\n \"IO\",\n \"KE\",\n \"KM\",\n \"LR\",\n \"LS\",\n \"MG\",\n \"ML\",\n \"MR\",\n \"MU\",\n \"MW\",\n \"MZ\",\n \"NA\",\n \"NE\",\n \"NG\",\n \"RE\",\n \"RW\",\n \"SC\",\n \"SH\",\n \"SL\",\n \"SN\",\n \"SO\",\n \"SS\",\n \"ST\",\n \"SZ\",\n \"TD\",\n \"TF\",\n \"TG\",\n \"TZ\",\n \"UG\",\n \"YT\",\n \"ZA\",\n \"ZM\",\n \"ZW\"\n ],\n \"419\": [\n \"005\",\n \"013\",\n \"029\",\n \"419\",\n \"AG\",\n \"AI\",\n \"AR\",\n \"AW\",\n \"BB\",\n \"BL\",\n \"BO\",\n \"BQ\",\n \"BR\",\n \"BS\",\n \"BV\",\n \"BZ\",\n \"CL\",\n \"CO\",\n \"CR\",\n \"CU\",\n \"CW\",\n \"DM\",\n \"DO\",\n \"EC\",\n \"FK\",\n \"GD\",\n \"GF\",\n \"GP\",\n \"GS\",\n \"GT\",\n \"GY\",\n \"HN\",\n \"HT\",\n \"JM\",\n \"KN\",\n \"KY\",\n \"LC\",\n \"MF\",\n \"MQ\",\n \"MS\",\n \"MX\",\n \"NI\",\n \"PA\",\n \"PE\",\n \"PR\",\n \"PY\",\n \"SR\",\n \"SV\",\n \"SX\",\n \"TC\",\n \"TT\",\n \"UY\",\n \"VC\",\n \"VE\",\n \"VG\",\n \"VI\"\n ],\n \"EU\": [\n \"AT\",\n \"BE\",\n \"BG\",\n \"CY\",\n \"CZ\",\n \"DE\",\n \"DK\",\n \"EE\",\n \"ES\",\n \"EU\",\n \"FI\",\n \"FR\",\n \"GR\",\n \"HR\",\n \"HU\",\n \"IE\",\n \"IT\",\n \"LT\",\n \"LU\",\n \"LV\",\n \"MT\",\n \"NL\",\n \"PL\",\n \"PT\",\n \"RO\",\n \"SE\",\n \"SI\",\n \"SK\"\n ],\n \"EZ\": [\n \"AT\",\n \"BE\",\n \"CY\",\n \"DE\",\n \"EE\",\n \"ES\",\n \"EZ\",\n \"FI\",\n \"FR\",\n \"GR\",\n \"IE\",\n \"IT\",\n \"LT\",\n \"LU\",\n \"LV\",\n \"MT\",\n \"NL\",\n \"PT\",\n \"SI\",\n \"SK\"\n ],\n \"QO\": [\n \"AC\",\n \"AQ\",\n \"CP\",\n \"DG\",\n \"QO\",\n \"TA\"\n ],\n \"UN\": [\n \"AD\",\n \"AE\",\n \"AF\",\n \"AG\",\n \"AL\",\n \"AM\",\n \"AO\",\n \"AR\",\n \"AT\",\n \"AU\",\n \"AZ\",\n \"BA\",\n \"BB\",\n \"BD\",\n \"BE\",\n \"BF\",\n \"BG\",\n \"BH\",\n \"BI\",\n \"BJ\",\n \"BN\",\n \"BO\",\n \"BR\",\n \"BS\",\n \"BT\",\n \"BW\",\n \"BY\",\n \"BZ\",\n \"CA\",\n \"CD\",\n \"CF\",\n \"CG\",\n \"CH\",\n \"CI\",\n \"CL\",\n \"CM\",\n \"CN\",\n \"CO\",\n \"CR\",\n \"CU\",\n \"CV\",\n \"CY\",\n \"CZ\",\n \"DE\",\n \"DJ\",\n \"DK\",\n \"DM\",\n \"DO\",\n \"DZ\",\n \"EC\",\n \"EE\",\n \"EG\",\n \"ER\",\n \"ES\",\n \"ET\",\n \"FI\",\n \"FJ\",\n \"FM\",\n \"FR\",\n \"GA\",\n \"GB\",\n \"GD\",\n \"GE\",\n \"GH\",\n \"GM\",\n \"GN\",\n \"GQ\",\n \"GR\",\n \"GT\",\n \"GW\",\n \"GY\",\n \"HN\",\n \"HR\",\n \"HT\",\n \"HU\",\n \"ID\",\n \"IE\",\n \"IL\",\n \"IN\",\n \"IQ\",\n \"IR\",\n \"IS\",\n \"IT\",\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 \"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 \"MG\",\n \"MH\",\n \"MK\",\n \"ML\",\n \"MM\",\n \"MN\",\n \"MR\",\n \"MT\",\n \"MU\",\n \"MV\",\n \"MW\",\n \"MX\",\n \"MY\",\n \"MZ\",\n \"NA\",\n \"NE\",\n \"NG\",\n \"NI\",\n \"NL\",\n \"NO\",\n \"NP\",\n \"NR\",\n \"NZ\",\n \"OM\",\n \"PA\",\n \"PE\",\n \"PG\",\n \"PH\",\n \"PK\",\n \"PL\",\n \"PT\",\n \"PW\",\n \"PY\",\n \"QA\",\n \"RO\",\n \"RS\",\n \"RU\",\n \"RW\",\n \"SA\",\n \"SB\",\n \"SC\",\n \"SD\",\n \"SE\",\n \"SG\",\n \"SI\",\n \"SK\",\n \"SL\",\n \"SM\",\n \"SN\",\n \"SO\",\n \"SR\",\n \"SS\",\n \"ST\",\n \"SV\",\n \"SY\",\n \"SZ\",\n \"TD\",\n \"TG\",\n \"TH\",\n \"TJ\",\n \"TL\",\n \"TM\",\n \"TN\",\n \"TO\",\n \"TR\",\n \"TT\",\n \"TV\",\n \"TZ\",\n \"UA\",\n \"UG\",\n \"UN\",\n \"US\",\n \"UY\",\n \"UZ\",\n \"VC\",\n \"VE\",\n \"VN\",\n \"VU\",\n \"WS\",\n \"YE\",\n \"ZA\",\n \"ZM\",\n \"ZW\"\n ]\n};\n","import { __spreadArray } from \"tslib\";\nimport { data as jsonData } from './languageMatching';\nimport { regions } from './regions.generated';\nexport var UNICODE_EXTENSION_SEQUENCE_REGEX = /-u(?:-[0-9a-z]{2,8})+/gi;\nexport function invariant(condition, message, Err) {\n if (Err === void 0) { Err = Error; }\n if (!condition) {\n throw new Err(message);\n }\n}\n// This is effectively 2 languages in 2 different regions in the same cluster\nvar DEFAULT_MATCHING_THRESHOLD = 838;\nvar PROCESSED_DATA;\nfunction processData() {\n var _a, _b;\n if (!PROCESSED_DATA) {\n var paradigmLocales = (_b = (_a = jsonData.supplemental.languageMatching['written-new'][0]) === null || _a === void 0 ? void 0 : _a.paradigmLocales) === null || _b === void 0 ? void 0 : _b._locales.split(' ');\n var matchVariables = jsonData.supplemental.languageMatching['written-new'].slice(1, 5);\n var data = jsonData.supplemental.languageMatching['written-new'].slice(5);\n var matches = data.map(function (d) {\n var key = Object.keys(d)[0];\n var value = d[key];\n return {\n supported: key,\n desired: value._desired,\n distance: +value._distance,\n oneway: value.oneway === 'true' ? true : false,\n };\n }, {});\n PROCESSED_DATA = {\n matches: matches,\n matchVariables: matchVariables.reduce(function (all, d) {\n var key = Object.keys(d)[0];\n var value = d[key];\n all[key.slice(1)] = value._value.split('+');\n return all;\n }, {}),\n paradigmLocales: __spreadArray(__spreadArray([], paradigmLocales, true), paradigmLocales.map(function (l) {\n return new Intl.Locale(l.replace(/_/g, '-')).maximize().toString();\n }), true),\n };\n }\n return PROCESSED_DATA;\n}\nfunction isMatched(locale, languageMatchInfoLocale, matchVariables) {\n var _a = languageMatchInfoLocale.split('-'), language = _a[0], script = _a[1], region = _a[2];\n var matches = true;\n if (region && region[0] === '$') {\n var shouldInclude = region[1] !== '!';\n var matchRegions = shouldInclude\n ? matchVariables[region.slice(1)]\n : matchVariables[region.slice(2)];\n var expandedMatchedRegions = matchRegions\n .map(function (r) { return regions[r] || [r]; })\n .reduce(function (all, list) { return __spreadArray(__spreadArray([], all, true), list, true); }, []);\n matches && (matches = !(expandedMatchedRegions.indexOf(locale.region || '') > 1 !=\n shouldInclude));\n }\n else {\n matches && (matches = locale.region\n ? region === '*' || region === locale.region\n : true);\n }\n matches && (matches = locale.script ? script === '*' || script === locale.script : true);\n matches && (matches = locale.language\n ? language === '*' || language === locale.language\n : true);\n return matches;\n}\nfunction serializeLSR(lsr) {\n return [lsr.language, lsr.script, lsr.region].filter(Boolean).join('-');\n}\nfunction findMatchingDistanceForLSR(desired, supported, data) {\n for (var _i = 0, _a = data.matches; _i < _a.length; _i++) {\n var d = _a[_i];\n var matches = isMatched(desired, d.desired, data.matchVariables) &&\n isMatched(supported, d.supported, data.matchVariables);\n if (!d.oneway && !matches) {\n matches =\n isMatched(desired, d.supported, data.matchVariables) &&\n isMatched(supported, d.desired, data.matchVariables);\n }\n if (matches) {\n var distance = d.distance * 10;\n if (data.paradigmLocales.indexOf(serializeLSR(desired)) > -1 !=\n data.paradigmLocales.indexOf(serializeLSR(supported)) > -1) {\n return distance - 1;\n }\n return distance;\n }\n }\n throw new Error('No matching distance found');\n}\nexport function findMatchingDistance(desired, supported) {\n var desiredLocale = new Intl.Locale(desired).maximize();\n var supportedLocale = new Intl.Locale(supported).maximize();\n var desiredLSR = {\n language: desiredLocale.language,\n script: desiredLocale.script || '',\n region: desiredLocale.region || '',\n };\n var supportedLSR = {\n language: supportedLocale.language,\n script: supportedLocale.script || '',\n region: supportedLocale.region || '',\n };\n var matchingDistance = 0;\n var data = processData();\n if (desiredLSR.language !== supportedLSR.language) {\n matchingDistance += findMatchingDistanceForLSR({\n language: desiredLocale.language,\n script: '',\n region: '',\n }, {\n language: supportedLocale.language,\n script: '',\n region: '',\n }, data);\n }\n if (desiredLSR.script !== supportedLSR.script) {\n matchingDistance += findMatchingDistanceForLSR({\n language: desiredLocale.language,\n script: desiredLSR.script,\n region: '',\n }, {\n language: supportedLocale.language,\n script: desiredLSR.script,\n region: '',\n }, data);\n }\n if (desiredLSR.region !== supportedLSR.region) {\n matchingDistance += findMatchingDistanceForLSR(desiredLSR, supportedLSR, data);\n }\n return matchingDistance;\n}\nexport function findBestMatch(requestedLocales, supportedLocales, threshold) {\n if (threshold === void 0) { threshold = DEFAULT_MATCHING_THRESHOLD; }\n var lowestDistance = Infinity;\n var result = {\n matchedDesiredLocale: '',\n distances: {},\n };\n requestedLocales.forEach(function (desired, i) {\n if (!result.distances[desired]) {\n result.distances[desired] = {};\n }\n supportedLocales.forEach(function (supported) {\n // Add some weight to the distance based on the order of the supported locales\n // Add penalty for the order of the requested locales, which currently is 0 since ECMA-402\n // doesn't really have room for weighted locales like `en; q=0.1`\n var distance = findMatchingDistance(desired, supported) + 0 + i * 40;\n result.distances[desired][supported] = distance;\n if (distance < lowestDistance) {\n lowestDistance = distance;\n result.matchedDesiredLocale = desired;\n result.matchedSupportedLocale = supported;\n }\n });\n });\n if (lowestDistance >= threshold) {\n result.matchedDesiredLocale = undefined;\n result.matchedSupportedLocale = undefined;\n }\n return result;\n}\n","import { UNICODE_EXTENSION_SEQUENCE_REGEX, findBestMatch } from './utils';\n/**\n * https://tc39.es/ecma402/#sec-bestfitmatcher\n * @param availableLocales\n * @param requestedLocales\n * @param getDefaultLocale\n */\nexport function BestFitMatcher(availableLocales, requestedLocales, getDefaultLocale) {\n var foundLocale;\n var extension;\n var noExtensionLocales = [];\n var noExtensionLocaleMap = requestedLocales.reduce(function (all, l) {\n var noExtensionLocale = l.replace(UNICODE_EXTENSION_SEQUENCE_REGEX, '');\n noExtensionLocales.push(noExtensionLocale);\n all[noExtensionLocale] = l;\n return all;\n }, {});\n var result = findBestMatch(noExtensionLocales, availableLocales);\n if (result.matchedSupportedLocale && result.matchedDesiredLocale) {\n foundLocale = result.matchedSupportedLocale;\n extension =\n noExtensionLocaleMap[result.matchedDesiredLocale].slice(result.matchedDesiredLocale.length) || undefined;\n }\n if (!foundLocale) {\n return { locale: getDefaultLocale() };\n }\n return {\n locale: foundLocale,\n extension: extension,\n };\n}\n","/**\n * https://tc39.es/ecma402/#sec-bestavailablelocale\n * @param availableLocales\n * @param locale\n */\nexport function BestAvailableLocale(availableLocales, locale) {\n var candidate = locale;\n while (true) {\n if (availableLocales.indexOf(candidate) > -1) {\n return candidate;\n }\n var pos = candidate.lastIndexOf('-');\n if (!~pos) {\n return undefined;\n }\n if (pos >= 2 && candidate[pos - 2] === '-') {\n pos -= 2;\n }\n candidate = candidate.slice(0, pos);\n }\n}\n","import { invariant } from './utils';\n/**\n * https://tc39.es/ecma402/#sec-unicodeextensionvalue\n * @param extension\n * @param key\n */\nexport function UnicodeExtensionValue(extension, key) {\n invariant(key.length === 2, 'key must have 2 elements');\n var size = extension.length;\n var searchValue = \"-\".concat(key, \"-\");\n var pos = extension.indexOf(searchValue);\n if (pos !== -1) {\n var start = pos + 4;\n var end = start;\n var k = start;\n var done = false;\n while (!done) {\n var e = extension.indexOf('-', k);\n var len = void 0;\n if (e === -1) {\n len = size - k;\n }\n else {\n len = e - k;\n }\n if (len === 2) {\n done = true;\n }\n else if (e === -1) {\n end = size;\n done = true;\n }\n else {\n end = e;\n k = e + 1;\n }\n }\n return extension.slice(start, end);\n }\n searchValue = \"-\".concat(key);\n pos = extension.indexOf(searchValue);\n if (pos !== -1 && pos + 3 === size) {\n return '';\n }\n return undefined;\n}\n","import { BestFitMatcher } from './BestFitMatcher';\nimport { LookupMatcher } from './LookupMatcher';\nimport { UnicodeExtensionValue } from './UnicodeExtensionValue';\nimport { invariant } from './utils';\n/**\n * https://tc39.es/ecma402/#sec-resolvelocale\n */\nexport function ResolveLocale(availableLocales, requestedLocales, options, relevantExtensionKeys, localeData, getDefaultLocale) {\n var matcher = options.localeMatcher;\n var r;\n if (matcher === 'lookup') {\n r = LookupMatcher(Array.from(availableLocales), requestedLocales, getDefaultLocale);\n }\n else {\n r = BestFitMatcher(Array.from(availableLocales), requestedLocales, getDefaultLocale);\n }\n var foundLocale = r.locale;\n var result = { locale: '', dataLocale: foundLocale };\n var supportedExtension = '-u';\n for (var _i = 0, relevantExtensionKeys_1 = relevantExtensionKeys; _i < relevantExtensionKeys_1.length; _i++) {\n var key = relevantExtensionKeys_1[_i];\n invariant(foundLocale in localeData, \"Missing locale data for \".concat(foundLocale));\n var foundLocaleData = localeData[foundLocale];\n invariant(typeof foundLocaleData === 'object' && foundLocaleData !== null, \"locale data \".concat(key, \" must be an object\"));\n var keyLocaleData = foundLocaleData[key];\n invariant(Array.isArray(keyLocaleData), \"keyLocaleData for \".concat(key, \" must be an array\"));\n var value = keyLocaleData[0];\n invariant(typeof value === 'string' || value === null, \"value must be string or null but got \".concat(typeof value, \" in key \").concat(key));\n var supportedExtensionAddition = '';\n if (r.extension) {\n var requestedValue = UnicodeExtensionValue(r.extension, key);\n if (requestedValue !== undefined) {\n if (requestedValue !== '') {\n if (~keyLocaleData.indexOf(requestedValue)) {\n value = requestedValue;\n supportedExtensionAddition = \"-\".concat(key, \"-\").concat(value);\n }\n }\n else if (~requestedValue.indexOf('true')) {\n value = 'true';\n supportedExtensionAddition = \"-\".concat(key);\n }\n }\n }\n if (key in options) {\n var optionsValue = options[key];\n invariant(typeof optionsValue === 'string' ||\n typeof optionsValue === 'undefined' ||\n optionsValue === null, 'optionsValue must be String, Undefined or Null');\n if (~keyLocaleData.indexOf(optionsValue)) {\n if (optionsValue !== value) {\n value = optionsValue;\n supportedExtensionAddition = '';\n }\n }\n }\n result[key] = value;\n supportedExtension += supportedExtensionAddition;\n }\n if (supportedExtension.length > 2) {\n var privateIndex = foundLocale.indexOf('-x-');\n if (privateIndex === -1) {\n foundLocale = foundLocale + supportedExtension;\n }\n else {\n var preExtension = foundLocale.slice(0, privateIndex);\n var postExtension = foundLocale.slice(privateIndex, foundLocale.length);\n foundLocale = preExtension + supportedExtension + postExtension;\n }\n foundLocale = Intl.getCanonicalLocales(foundLocale)[0];\n }\n result.locale = foundLocale;\n return result;\n}\n","import { BestAvailableLocale } from './BestAvailableLocale';\nimport { UNICODE_EXTENSION_SEQUENCE_REGEX } from './utils';\n/**\n * https://tc39.es/ecma402/#sec-lookupmatcher\n * @param availableLocales\n * @param requestedLocales\n * @param getDefaultLocale\n */\nexport function LookupMatcher(availableLocales, requestedLocales, getDefaultLocale) {\n var result = { locale: '' };\n for (var _i = 0, requestedLocales_1 = requestedLocales; _i < requestedLocales_1.length; _i++) {\n var locale = requestedLocales_1[_i];\n var noExtensionLocale = locale.replace(UNICODE_EXTENSION_SEQUENCE_REGEX, '');\n var availableLocale = BestAvailableLocale(availableLocales, noExtensionLocale);\n if (availableLocale) {\n result.locale = availableLocale;\n if (locale !== noExtensionLocale) {\n result.extension = locale.slice(noExtensionLocale.length, locale.length);\n }\n return result;\n }\n }\n result.locale = getDefaultLocale();\n return result;\n}\n","import { BestAvailableLocale } from './BestAvailableLocale';\nimport { UNICODE_EXTENSION_SEQUENCE_REGEX } from './utils';\n/**\n * https://tc39.es/ecma402/#sec-lookupsupportedlocales\n * @param availableLocales\n * @param requestedLocales\n */\nexport function LookupSupportedLocales(availableLocales, requestedLocales) {\n var subset = [];\n for (var _i = 0, requestedLocales_1 = requestedLocales; _i < requestedLocales_1.length; _i++) {\n var locale = requestedLocales_1[_i];\n var noExtensionLocale = locale.replace(UNICODE_EXTENSION_SEQUENCE_REGEX, '');\n var availableLocale = BestAvailableLocale(availableLocales, noExtensionLocale);\n if (availableLocale) {\n subset.push(availableLocale);\n }\n }\n return subset;\n}\n","import { CanonicalizeLocaleList } from './abstract/CanonicalizeLocaleList';\nimport { ResolveLocale } from './abstract/ResolveLocale';\nexport function match(requestedLocales, availableLocales, defaultLocale, opts) {\n return ResolveLocale(availableLocales, CanonicalizeLocaleList(requestedLocales), {\n localeMatcher: (opts === null || opts === void 0 ? void 0 : opts.algorithm) || 'best fit',\n }, [], {}, function () { return defaultLocale; }).locale;\n}\nexport { LookupSupportedLocales } from './abstract/LookupSupportedLocales';\nexport { ResolveLocale } from './abstract/ResolveLocale';\n","/**\n * http://ecma-international.org/ecma-402/7.0/index.html#sec-canonicalizelocalelist\n * @param locales\n */\nexport function CanonicalizeLocaleList(locales) {\n // TODO\n return Intl.getCanonicalLocales(locales);\n}\n","!function(e,o){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=o():\"function\"==typeof define&&define.amd?define(o):(e=\"undefined\"!=typeof globalThis?globalThis:e||self).dayjs_plugin_isToday=o()}(this,(function(){\"use strict\";return function(e,o,t){o.prototype.isToday=function(){var e=\"YYYY-MM-DD\",o=t();return this.format(e)===o.format(e)}}}));","!function(t,i){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=i():\"function\"==typeof define&&define.amd?define(i):(t=\"undefined\"!=typeof globalThis?globalThis:t||self).dayjs_plugin_utc=i()}(this,(function(){\"use strict\";var t=\"minute\",i=/[+-]\\d\\d(?::?\\d\\d)?/g,e=/([+-]|\\d\\d)/g;return function(s,f,n){var u=f.prototype;n.utc=function(t){var i={date:t,utc:!0,args:arguments};return new f(i)},u.utc=function(i){var e=n(this.toDate(),{locale:this.$L,utc:!0});return i?e.add(this.utcOffset(),t):e},u.local=function(){return n(this.toDate(),{locale:this.$L,utc:!1})};var o=u.parse;u.parse=function(t){t.utc&&(this.$u=!0),this.$utils().u(t.$offset)||(this.$offset=t.$offset),o.call(this,t)};var r=u.init;u.init=function(){if(this.$u){var t=this.$d;this.$y=t.getUTCFullYear(),this.$M=t.getUTCMonth(),this.$D=t.getUTCDate(),this.$W=t.getUTCDay(),this.$H=t.getUTCHours(),this.$m=t.getUTCMinutes(),this.$s=t.getUTCSeconds(),this.$ms=t.getUTCMilliseconds()}else r.call(this)};var a=u.utcOffset;u.utcOffset=function(s,f){var n=this.$utils().u;if(n(s))return this.$u?0:n(this.$offset)?a.call(this):this.$offset;if(\"string\"==typeof s&&(s=function(t){void 0===t&&(t=\"\");var s=t.match(i);if(!s)return null;var f=(\"\"+s[0]).match(e)||[\"-\",0,0],n=f[0],u=60*+f[1]+ +f[2];return 0===u?0:\"+\"===n?u:-u}(s),null===s))return this;var u=Math.abs(s)<=16?60*s:s,o=this;if(f)return o.$offset=u,o.$u=0===s,o;if(0!==s){var r=this.$u?this.toDate().getTimezoneOffset():-1*this.utcOffset();(o=this.local().add(u+r,t)).$offset=u,o.$x.$localOffset=r}else o=this.utc();return o};var h=u.format;u.format=function(t){var i=t||(this.$u?\"YYYY-MM-DDTHH:mm:ss[Z]\":\"\");return h.call(this,i)},u.valueOf=function(){var t=this.$utils().u(this.$offset)?0:this.$offset+(this.$x.$localOffset||this.$d.getTimezoneOffset());return this.$d.valueOf()-6e4*t},u.isUTC=function(){return!!this.$u},u.toISOString=function(){return this.toDate().toISOString()},u.toString=function(){return this.toDate().toUTCString()};var l=u.toDate;u.toDate=function(t){return\"s\"===t&&this.$offset?n(this.format(\"YYYY-MM-DD HH:mm:ss:SSS\")).toDate():l.call(this)};var c=u.diff;u.diff=function(t,i,e){if(t&&this.$u===t.$u)return c.call(this,t,i,e);var s=this.local(),f=n(t).local();return c.call(s,f,i,e)}}}));","const ANY = Symbol('SemVer ANY')\n// hoisted class for cyclic dependency\nclass Comparator {\n static get ANY () {\n return ANY\n }\n constructor (comp, options) {\n if (!options || typeof options !== 'object') {\n options = {\n loose: !!options,\n includePrerelease: false\n }\n }\n\n if (comp instanceof Comparator) {\n if (comp.loose === !!options.loose) {\n return comp\n } else {\n comp = comp.value\n }\n }\n\n debug('comparator', comp, options)\n this.options = options\n this.loose = !!options.loose\n this.parse(comp)\n\n if (this.semver === ANY) {\n this.value = ''\n } else {\n this.value = this.operator + this.semver.version\n }\n\n debug('comp', this)\n }\n\n parse (comp) {\n const r = this.options.loose ? re[t.COMPARATORLOOSE] : re[t.COMPARATOR]\n const m = comp.match(r)\n\n if (!m) {\n throw new TypeError(`Invalid comparator: ${comp}`)\n }\n\n this.operator = m[1] !== undefined ? m[1] : ''\n if (this.operator === '=') {\n this.operator = ''\n }\n\n // if it literally is just '>' or '' then allow anything.\n if (!m[2]) {\n this.semver = ANY\n } else {\n this.semver = new SemVer(m[2], this.options.loose)\n }\n }\n\n toString () {\n return this.value\n }\n\n test (version) {\n debug('Comparator.test', version, this.options.loose)\n\n if (this.semver === ANY || version === ANY) {\n return true\n }\n\n if (typeof version === 'string') {\n try {\n version = new SemVer(version, this.options)\n } catch (er) {\n return false\n }\n }\n\n return cmp(version, this.operator, this.semver, this.options)\n }\n\n intersects (comp, options) {\n if (!(comp instanceof Comparator)) {\n throw new TypeError('a Comparator is required')\n }\n\n if (!options || typeof options !== 'object') {\n options = {\n loose: !!options,\n includePrerelease: false\n }\n }\n\n if (this.operator === '') {\n if (this.value === '') {\n return true\n }\n return new Range(comp.value, options).test(this.value)\n } else if (comp.operator === '') {\n if (comp.value === '') {\n return true\n }\n return new Range(this.value, options).test(comp.semver)\n }\n\n const sameDirectionIncreasing =\n (this.operator === '>=' || this.operator === '>') &&\n (comp.operator === '>=' || comp.operator === '>')\n const sameDirectionDecreasing =\n (this.operator === '<=' || this.operator === '<') &&\n (comp.operator === '<=' || comp.operator === '<')\n const sameSemVer = this.semver.version === comp.semver.version\n const differentDirectionsInclusive =\n (this.operator === '>=' || this.operator === '<=') &&\n (comp.operator === '>=' || comp.operator === '<=')\n const oppositeDirectionsLessThan =\n cmp(this.semver, '<', comp.semver, options) &&\n (this.operator === '>=' || this.operator === '>') &&\n (comp.operator === '<=' || comp.operator === '<')\n const oppositeDirectionsGreaterThan =\n cmp(this.semver, '>', comp.semver, options) &&\n (this.operator === '<=' || this.operator === '<') &&\n (comp.operator === '>=' || comp.operator === '>')\n\n return (\n sameDirectionIncreasing ||\n sameDirectionDecreasing ||\n (sameSemVer && differentDirectionsInclusive) ||\n oppositeDirectionsLessThan ||\n oppositeDirectionsGreaterThan\n )\n }\n}\n\nmodule.exports = Comparator\n\nconst {re, t} = require('../internal/re')\nconst cmp = require('../functions/cmp')\nconst debug = require('../internal/debug')\nconst SemVer = require('./semver')\nconst Range = require('./range')\n","// hoisted class for cyclic dependency\nclass Range {\n constructor (range, options) {\n if (!options || typeof options !== 'object') {\n options = {\n loose: !!options,\n includePrerelease: false\n }\n }\n\n if (range instanceof Range) {\n if (\n range.loose === !!options.loose &&\n range.includePrerelease === !!options.includePrerelease\n ) {\n return range\n } else {\n return new Range(range.raw, options)\n }\n }\n\n if (range instanceof Comparator) {\n // just put it in the set and return\n this.raw = range.value\n this.set = [[range]]\n this.format()\n return this\n }\n\n this.options = options\n this.loose = !!options.loose\n this.includePrerelease = !!options.includePrerelease\n\n // First, split based on boolean or ||\n this.raw = range\n this.set = range\n .split(/\\s*\\|\\|\\s*/)\n // map the range to a 2d array of comparators\n .map(range => this.parseRange(range.trim()))\n // throw out any comparator lists that are empty\n // this generally means that it was not a valid range, which is allowed\n // in loose mode, but will still throw if the WHOLE range is invalid.\n .filter(c => c.length)\n\n if (!this.set.length) {\n throw new TypeError(`Invalid SemVer Range: ${range}`)\n }\n\n this.format()\n }\n\n format () {\n this.range = this.set\n .map((comps) => {\n return comps.join(' ').trim()\n })\n .join('||')\n .trim()\n return this.range\n }\n\n toString () {\n return this.range\n }\n\n parseRange (range) {\n const loose = this.options.loose\n range = range.trim()\n // `1.2.3 - 1.2.4` => `>=1.2.3 <=1.2.4`\n const hr = loose ? re[t.HYPHENRANGELOOSE] : re[t.HYPHENRANGE]\n range = range.replace(hr, hyphenReplace(this.options.includePrerelease))\n debug('hyphen replace', range)\n // `> 1.2.3 < 1.2.5` => `>1.2.3 <1.2.5`\n range = range.replace(re[t.COMPARATORTRIM], comparatorTrimReplace)\n debug('comparator trim', range, re[t.COMPARATORTRIM])\n\n // `~ 1.2.3` => `~1.2.3`\n range = range.replace(re[t.TILDETRIM], tildeTrimReplace)\n\n // `^ 1.2.3` => `^1.2.3`\n range = range.replace(re[t.CARETTRIM], caretTrimReplace)\n\n // normalize spaces\n range = range.split(/\\s+/).join(' ')\n\n // At this point, the range is completely trimmed and\n // ready to be split into comparators.\n\n const compRe = loose ? re[t.COMPARATORLOOSE] : re[t.COMPARATOR]\n return range\n .split(' ')\n .map(comp => parseComparator(comp, this.options))\n .join(' ')\n .split(/\\s+/)\n .map(comp => replaceGTE0(comp, this.options))\n // in loose mode, throw out any that are not valid comparators\n .filter(this.options.loose ? comp => !!comp.match(compRe) : () => true)\n .map(comp => new Comparator(comp, this.options))\n }\n\n intersects (range, options) {\n if (!(range instanceof Range)) {\n throw new TypeError('a Range is required')\n }\n\n return this.set.some((thisComparators) => {\n return (\n isSatisfiable(thisComparators, options) &&\n range.set.some((rangeComparators) => {\n return (\n isSatisfiable(rangeComparators, options) &&\n thisComparators.every((thisComparator) => {\n return rangeComparators.every((rangeComparator) => {\n return thisComparator.intersects(rangeComparator, options)\n })\n })\n )\n })\n )\n })\n }\n\n // if ANY of the sets match ALL of its comparators, then pass\n test (version) {\n if (!version) {\n return false\n }\n\n if (typeof version === 'string') {\n try {\n version = new SemVer(version, this.options)\n } catch (er) {\n return false\n }\n }\n\n for (let i = 0; i < this.set.length; i++) {\n if (testSet(this.set[i], version, this.options)) {\n return true\n }\n }\n return false\n }\n}\nmodule.exports = Range\n\nconst Comparator = require('./comparator')\nconst debug = require('../internal/debug')\nconst SemVer = require('./semver')\nconst {\n re,\n t,\n comparatorTrimReplace,\n tildeTrimReplace,\n caretTrimReplace\n} = require('../internal/re')\n\n// take a set of comparators and determine whether there\n// exists a version which can satisfy it\nconst isSatisfiable = (comparators, options) => {\n let result = true\n const remainingComparators = comparators.slice()\n let testComparator = remainingComparators.pop()\n\n while (result && remainingComparators.length) {\n result = remainingComparators.every((otherComparator) => {\n return testComparator.intersects(otherComparator, options)\n })\n\n testComparator = remainingComparators.pop()\n }\n\n return result\n}\n\n// comprised of xranges, tildes, stars, and gtlt's at this point.\n// already replaced the hyphen ranges\n// turn into a set of JUST comparators.\nconst parseComparator = (comp, options) => {\n debug('comp', comp, options)\n comp = replaceCarets(comp, options)\n debug('caret', comp)\n comp = replaceTildes(comp, options)\n debug('tildes', comp)\n comp = replaceXRanges(comp, options)\n debug('xrange', comp)\n comp = replaceStars(comp, options)\n debug('stars', comp)\n return comp\n}\n\nconst isX = id => !id || id.toLowerCase() === 'x' || id === '*'\n\n// ~, ~> --> * (any, kinda silly)\n// ~2, ~2.x, ~2.x.x, ~>2, ~>2.x ~>2.x.x --> >=2.0.0 <3.0.0-0\n// ~2.0, ~2.0.x, ~>2.0, ~>2.0.x --> >=2.0.0 <2.1.0-0\n// ~1.2, ~1.2.x, ~>1.2, ~>1.2.x --> >=1.2.0 <1.3.0-0\n// ~1.2.3, ~>1.2.3 --> >=1.2.3 <1.3.0-0\n// ~1.2.0, ~>1.2.0 --> >=1.2.0 <1.3.0-0\nconst replaceTildes = (comp, options) =>\n comp.trim().split(/\\s+/).map((comp) => {\n return replaceTilde(comp, options)\n }).join(' ')\n\nconst replaceTilde = (comp, options) => {\n const r = options.loose ? re[t.TILDELOOSE] : re[t.TILDE]\n return comp.replace(r, (_, M, m, p, pr) => {\n debug('tilde', comp, _, M, m, p, pr)\n let ret\n\n if (isX(M)) {\n ret = ''\n } else if (isX(m)) {\n ret = `>=${M}.0.0 <${+M + 1}.0.0-0`\n } else if (isX(p)) {\n // ~1.2 == >=1.2.0 <1.3.0-0\n ret = `>=${M}.${m}.0 <${M}.${+m + 1}.0-0`\n } else if (pr) {\n debug('replaceTilde pr', pr)\n ret = `>=${M}.${m}.${p}-${pr\n } <${M}.${+m + 1}.0-0`\n } else {\n // ~1.2.3 == >=1.2.3 <1.3.0-0\n ret = `>=${M}.${m}.${p\n } <${M}.${+m + 1}.0-0`\n }\n\n debug('tilde return', ret)\n return ret\n })\n}\n\n// ^ --> * (any, kinda silly)\n// ^2, ^2.x, ^2.x.x --> >=2.0.0 <3.0.0-0\n// ^2.0, ^2.0.x --> >=2.0.0 <3.0.0-0\n// ^1.2, ^1.2.x --> >=1.2.0 <2.0.0-0\n// ^1.2.3 --> >=1.2.3 <2.0.0-0\n// ^1.2.0 --> >=1.2.0 <2.0.0-0\nconst replaceCarets = (comp, options) =>\n comp.trim().split(/\\s+/).map((comp) => {\n return replaceCaret(comp, options)\n }).join(' ')\n\nconst replaceCaret = (comp, options) => {\n debug('caret', comp, options)\n const r = options.loose ? re[t.CARETLOOSE] : re[t.CARET]\n const z = options.includePrerelease ? '-0' : ''\n return comp.replace(r, (_, M, m, p, pr) => {\n debug('caret', comp, _, M, m, p, pr)\n let ret\n\n if (isX(M)) {\n ret = ''\n } else if (isX(m)) {\n ret = `>=${M}.0.0${z} <${+M + 1}.0.0-0`\n } else if (isX(p)) {\n if (M === '0') {\n ret = `>=${M}.${m}.0${z} <${M}.${+m + 1}.0-0`\n } else {\n ret = `>=${M}.${m}.0${z} <${+M + 1}.0.0-0`\n }\n } else if (pr) {\n debug('replaceCaret pr', pr)\n if (M === '0') {\n if (m === '0') {\n ret = `>=${M}.${m}.${p}-${pr\n } <${M}.${m}.${+p + 1}-0`\n } else {\n ret = `>=${M}.${m}.${p}-${pr\n } <${M}.${+m + 1}.0-0`\n }\n } else {\n ret = `>=${M}.${m}.${p}-${pr\n } <${+M + 1}.0.0-0`\n }\n } else {\n debug('no pr')\n if (M === '0') {\n if (m === '0') {\n ret = `>=${M}.${m}.${p\n }${z} <${M}.${m}.${+p + 1}-0`\n } else {\n ret = `>=${M}.${m}.${p\n }${z} <${M}.${+m + 1}.0-0`\n }\n } else {\n ret = `>=${M}.${m}.${p\n } <${+M + 1}.0.0-0`\n }\n }\n\n debug('caret return', ret)\n return ret\n })\n}\n\nconst replaceXRanges = (comp, options) => {\n debug('replaceXRanges', comp, options)\n return comp.split(/\\s+/).map((comp) => {\n return replaceXRange(comp, options)\n }).join(' ')\n}\n\nconst replaceXRange = (comp, options) => {\n comp = comp.trim()\n const r = options.loose ? re[t.XRANGELOOSE] : re[t.XRANGE]\n return comp.replace(r, (ret, gtlt, M, m, p, pr) => {\n debug('xRange', comp, ret, gtlt, M, m, p, pr)\n const xM = isX(M)\n const xm = xM || isX(m)\n const xp = xm || isX(p)\n const anyX = xp\n\n if (gtlt === '=' && anyX) {\n gtlt = ''\n }\n\n // if we're including prereleases in the match, then we need\n // to fix this to -0, the lowest possible prerelease value\n pr = options.includePrerelease ? '-0' : ''\n\n if (xM) {\n if (gtlt === '>' || gtlt === '<') {\n // nothing is allowed\n ret = '<0.0.0-0'\n } else {\n // nothing is forbidden\n ret = '*'\n }\n } else if (gtlt && anyX) {\n // we know patch is an x, because we have any x at all.\n // replace X with 0\n if (xm) {\n m = 0\n }\n p = 0\n\n if (gtlt === '>') {\n // >1 => >=2.0.0\n // >1.2 => >=1.3.0\n gtlt = '>='\n if (xm) {\n M = +M + 1\n m = 0\n p = 0\n } else {\n m = +m + 1\n p = 0\n }\n } else if (gtlt === '<=') {\n // <=0.7.x is actually <0.8.0, since any 0.7.x should\n // pass. Similarly, <=7.x is actually <8.0.0, etc.\n gtlt = '<'\n if (xm) {\n M = +M + 1\n } else {\n m = +m + 1\n }\n }\n\n if (gtlt === '<')\n pr = '-0'\n\n ret = `${gtlt + M}.${m}.${p}${pr}`\n } else if (xm) {\n ret = `>=${M}.0.0${pr} <${+M + 1}.0.0-0`\n } else if (xp) {\n ret = `>=${M}.${m}.0${pr\n } <${M}.${+m + 1}.0-0`\n }\n\n debug('xRange return', ret)\n\n return ret\n })\n}\n\n// Because * is AND-ed with everything else in the comparator,\n// and '' means \"any version\", just remove the *s entirely.\nconst replaceStars = (comp, options) => {\n debug('replaceStars', comp, options)\n // Looseness is ignored here. star is always as loose as it gets!\n return comp.trim().replace(re[t.STAR], '')\n}\n\nconst replaceGTE0 = (comp, options) => {\n debug('replaceGTE0', comp, options)\n return comp.trim()\n .replace(re[options.includePrerelease ? t.GTE0PRE : t.GTE0], '')\n}\n\n// This function is passed to string.replace(re[t.HYPHENRANGE])\n// M, m, patch, prerelease, build\n// 1.2 - 3.4.5 => >=1.2.0 <=3.4.5\n// 1.2.3 - 3.4 => >=1.2.0 <3.5.0-0 Any 3.4.x will do\n// 1.2 - 3.4 => >=1.2.0 <3.5.0-0\nconst hyphenReplace = incPr => ($0,\n from, fM, fm, fp, fpr, fb,\n to, tM, tm, tp, tpr, tb) => {\n if (isX(fM)) {\n from = ''\n } else if (isX(fm)) {\n from = `>=${fM}.0.0${incPr ? '-0' : ''}`\n } else if (isX(fp)) {\n from = `>=${fM}.${fm}.0${incPr ? '-0' : ''}`\n } else if (fpr) {\n from = `>=${from}`\n } else {\n from = `>=${from}${incPr ? '-0' : ''}`\n }\n\n if (isX(tM)) {\n to = ''\n } else if (isX(tm)) {\n to = `<${+tM + 1}.0.0-0`\n } else if (isX(tp)) {\n to = `<${tM}.${+tm + 1}.0-0`\n } else if (tpr) {\n to = `<=${tM}.${tm}.${tp}-${tpr}`\n } else if (incPr) {\n to = `<${tM}.${tm}.${+tp + 1}-0`\n } else {\n to = `<=${to}`\n }\n\n return (`${from} ${to}`).trim()\n}\n\nconst testSet = (set, version, options) => {\n for (let i = 0; i < set.length; i++) {\n if (!set[i].test(version)) {\n return false\n }\n }\n\n if (version.prerelease.length && !options.includePrerelease) {\n // Find the set of versions that are allowed to have prereleases\n // For example, ^1.2.3-pr.1 desugars to >=1.2.3-pr.1 <2.0.0\n // That should allow `1.2.3-pr.2` to pass.\n // However, `1.2.4-alpha.notready` should NOT be allowed,\n // even though it's within the range set by the comparators.\n for (let i = 0; i < set.length; i++) {\n debug(set[i].semver)\n if (set[i].semver === Comparator.ANY) {\n continue\n }\n\n if (set[i].semver.prerelease.length > 0) {\n const allowed = set[i].semver\n if (allowed.major === version.major &&\n allowed.minor === version.minor &&\n allowed.patch === version.patch) {\n return true\n }\n }\n }\n\n // Version has a -pre, but it's not one of the ones we like.\n return false\n }\n\n return true\n}\n","const debug = require('../internal/debug')\nconst { MAX_LENGTH, MAX_SAFE_INTEGER } = require('../internal/constants')\nconst { re, t } = require('../internal/re')\n\nconst { compareIdentifiers } = require('../internal/identifiers')\nclass SemVer {\n constructor (version, options) {\n if (!options || typeof options !== 'object') {\n options = {\n loose: !!options,\n includePrerelease: false\n }\n }\n if (version instanceof SemVer) {\n if (version.loose === !!options.loose &&\n version.includePrerelease === !!options.includePrerelease) {\n return version\n } else {\n version = version.version\n }\n } else if (typeof version !== 'string') {\n throw new TypeError(`Invalid Version: ${version}`)\n }\n\n if (version.length > MAX_LENGTH) {\n throw new TypeError(\n `version is longer than ${MAX_LENGTH} characters`\n )\n }\n\n debug('SemVer', version, options)\n this.options = options\n this.loose = !!options.loose\n // this isn't actually relevant for versions, but keep it so that we\n // don't run into trouble passing this.options around.\n this.includePrerelease = !!options.includePrerelease\n\n const m = version.trim().match(options.loose ? re[t.LOOSE] : re[t.FULL])\n\n if (!m) {\n throw new TypeError(`Invalid Version: ${version}`)\n }\n\n this.raw = version\n\n // these are actually numbers\n this.major = +m[1]\n this.minor = +m[2]\n this.patch = +m[3]\n\n if (this.major > MAX_SAFE_INTEGER || this.major < 0) {\n throw new TypeError('Invalid major version')\n }\n\n if (this.minor > MAX_SAFE_INTEGER || this.minor < 0) {\n throw new TypeError('Invalid minor version')\n }\n\n if (this.patch > MAX_SAFE_INTEGER || this.patch < 0) {\n throw new TypeError('Invalid patch version')\n }\n\n // numberify any prerelease numeric ids\n if (!m[4]) {\n this.prerelease = []\n } else {\n this.prerelease = m[4].split('.').map((id) => {\n if (/^[0-9]+$/.test(id)) {\n const num = +id\n if (num >= 0 && num < MAX_SAFE_INTEGER) {\n return num\n }\n }\n return id\n })\n }\n\n this.build = m[5] ? m[5].split('.') : []\n this.format()\n }\n\n format () {\n this.version = `${this.major}.${this.minor}.${this.patch}`\n if (this.prerelease.length) {\n this.version += `-${this.prerelease.join('.')}`\n }\n return this.version\n }\n\n toString () {\n return this.version\n }\n\n compare (other) {\n debug('SemVer.compare', this.version, this.options, other)\n if (!(other instanceof SemVer)) {\n if (typeof other === 'string' && other === this.version) {\n return 0\n }\n other = new SemVer(other, this.options)\n }\n\n if (other.version === this.version) {\n return 0\n }\n\n return this.compareMain(other) || this.comparePre(other)\n }\n\n compareMain (other) {\n if (!(other instanceof SemVer)) {\n other = new SemVer(other, this.options)\n }\n\n return (\n compareIdentifiers(this.major, other.major) ||\n compareIdentifiers(this.minor, other.minor) ||\n compareIdentifiers(this.patch, other.patch)\n )\n }\n\n comparePre (other) {\n if (!(other instanceof SemVer)) {\n other = new SemVer(other, this.options)\n }\n\n // NOT having a prerelease is > having one\n if (this.prerelease.length && !other.prerelease.length) {\n return -1\n } else if (!this.prerelease.length && other.prerelease.length) {\n return 1\n } else if (!this.prerelease.length && !other.prerelease.length) {\n return 0\n }\n\n let i = 0\n do {\n const a = this.prerelease[i]\n const b = other.prerelease[i]\n debug('prerelease compare', i, a, b)\n if (a === undefined && b === undefined) {\n return 0\n } else if (b === undefined) {\n return 1\n } else if (a === undefined) {\n return -1\n } else if (a === b) {\n continue\n } else {\n return compareIdentifiers(a, b)\n }\n } while (++i)\n }\n\n compareBuild (other) {\n if (!(other instanceof SemVer)) {\n other = new SemVer(other, this.options)\n }\n\n let i = 0\n do {\n const a = this.build[i]\n const b = other.build[i]\n debug('prerelease compare', i, a, b)\n if (a === undefined && b === undefined) {\n return 0\n } else if (b === undefined) {\n return 1\n } else if (a === undefined) {\n return -1\n } else if (a === b) {\n continue\n } else {\n return compareIdentifiers(a, b)\n }\n } while (++i)\n }\n\n // preminor will bump the version up to the next minor release, and immediately\n // down to pre-release. premajor and prepatch work the same way.\n inc (release, identifier) {\n switch (release) {\n case 'premajor':\n this.prerelease.length = 0\n this.patch = 0\n this.minor = 0\n this.major++\n this.inc('pre', identifier)\n break\n case 'preminor':\n this.prerelease.length = 0\n this.patch = 0\n this.minor++\n this.inc('pre', identifier)\n break\n case 'prepatch':\n // If this is already a prerelease, it will bump to the next version\n // drop any prereleases that might already exist, since they are not\n // relevant at this point.\n this.prerelease.length = 0\n this.inc('patch', identifier)\n this.inc('pre', identifier)\n break\n // If the input is a non-prerelease version, this acts the same as\n // prepatch.\n case 'prerelease':\n if (this.prerelease.length === 0) {\n this.inc('patch', identifier)\n }\n this.inc('pre', identifier)\n break\n\n case 'major':\n // If this is a pre-major version, bump up to the same major version.\n // Otherwise increment major.\n // 1.0.0-5 bumps to 1.0.0\n // 1.1.0 bumps to 2.0.0\n if (\n this.minor !== 0 ||\n this.patch !== 0 ||\n this.prerelease.length === 0\n ) {\n this.major++\n }\n this.minor = 0\n this.patch = 0\n this.prerelease = []\n break\n case 'minor':\n // If this is a pre-minor version, bump up to the same minor version.\n // Otherwise increment minor.\n // 1.2.0-5 bumps to 1.2.0\n // 1.2.1 bumps to 1.3.0\n if (this.patch !== 0 || this.prerelease.length === 0) {\n this.minor++\n }\n this.patch = 0\n this.prerelease = []\n break\n case 'patch':\n // If this is not a pre-release version, it will increment the patch.\n // If it is a pre-release it will bump up to the same patch version.\n // 1.2.0-5 patches to 1.2.0\n // 1.2.0 patches to 1.2.1\n if (this.prerelease.length === 0) {\n this.patch++\n }\n this.prerelease = []\n break\n // This probably shouldn't be used publicly.\n // 1.0.0 'pre' would become 1.0.0-0 which is the wrong direction.\n case 'pre':\n if (this.prerelease.length === 0) {\n this.prerelease = [0]\n } else {\n let i = this.prerelease.length\n while (--i >= 0) {\n if (typeof this.prerelease[i] === 'number') {\n this.prerelease[i]++\n i = -2\n }\n }\n if (i === -1) {\n // didn't increment anything\n this.prerelease.push(0)\n }\n }\n if (identifier) {\n // 1.2.0-beta.1 bumps to 1.2.0-beta.2,\n // 1.2.0-beta.fooblz or 1.2.0-beta bumps to 1.2.0-beta.0\n if (this.prerelease[0] === identifier) {\n if (isNaN(this.prerelease[1])) {\n this.prerelease = [identifier, 0]\n }\n } else {\n this.prerelease = [identifier, 0]\n }\n }\n break\n\n default:\n throw new Error(`invalid increment argument: ${release}`)\n }\n this.format()\n this.raw = this.version\n return this\n }\n}\n\nmodule.exports = SemVer\n","const parse = require('./parse')\nconst clean = (version, options) => {\n const s = parse(version.trim().replace(/^[=v]+/, ''), options)\n return s ? s.version : null\n}\nmodule.exports = clean\n","const eq = require('./eq')\nconst neq = require('./neq')\nconst gt = require('./gt')\nconst gte = require('./gte')\nconst lt = require('./lt')\nconst lte = require('./lte')\n\nconst cmp = (a, op, b, loose) => {\n switch (op) {\n case '===':\n if (typeof a === 'object')\n a = a.version\n if (typeof b === 'object')\n b = b.version\n return a === b\n\n case '!==':\n if (typeof a === 'object')\n a = a.version\n if (typeof b === 'object')\n b = b.version\n return a !== b\n\n case '':\n case '=':\n case '==':\n return eq(a, b, loose)\n\n case '!=':\n return neq(a, b, loose)\n\n case '>':\n return gt(a, b, loose)\n\n case '>=':\n return gte(a, b, loose)\n\n case '<':\n return lt(a, b, loose)\n\n case '<=':\n return lte(a, b, loose)\n\n default:\n throw new TypeError(`Invalid operator: ${op}`)\n }\n}\nmodule.exports = cmp\n","const SemVer = require('../classes/semver')\nconst parse = require('./parse')\nconst {re, t} = require('../internal/re')\n\nconst coerce = (version, options) => {\n if (version instanceof SemVer) {\n return version\n }\n\n if (typeof version === 'number') {\n version = String(version)\n }\n\n if (typeof version !== 'string') {\n return null\n }\n\n options = options || {}\n\n let match = null\n if (!options.rtl) {\n match = version.match(re[t.COERCE])\n } else {\n // Find the right-most coercible string that does not share\n // a terminus with a more left-ward coercible string.\n // Eg, '1.2.3.4' wants to coerce '2.3.4', not '3.4' or '4'\n //\n // Walk through the string checking with a /g regexp\n // Manually set the index so as to pick up overlapping matches.\n // Stop when we get a match that ends at the string end, since no\n // coercible string can be more right-ward without the same terminus.\n let next\n while ((next = re[t.COERCERTL].exec(version)) &&\n (!match || match.index + match[0].length !== version.length)\n ) {\n if (!match ||\n next.index + next[0].length !== match.index + match[0].length) {\n match = next\n }\n re[t.COERCERTL].lastIndex = next.index + next[1].length + next[2].length\n }\n // leave it in a clean state\n re[t.COERCERTL].lastIndex = -1\n }\n\n if (match === null)\n return null\n\n return parse(`${match[2]}.${match[3] || '0'}.${match[4] || '0'}`, options)\n}\nmodule.exports = coerce\n","const SemVer = require('../classes/semver')\nconst compareBuild = (a, b, loose) => {\n const versionA = new SemVer(a, loose)\n const versionB = new SemVer(b, loose)\n return versionA.compare(versionB) || versionA.compareBuild(versionB)\n}\nmodule.exports = compareBuild\n","const compare = require('./compare')\nconst compareLoose = (a, b) => compare(a, b, true)\nmodule.exports = compareLoose\n","const SemVer = require('../classes/semver')\nconst compare = (a, b, loose) =>\n new SemVer(a, loose).compare(new SemVer(b, loose))\n\nmodule.exports = compare\n","const parse = require('./parse')\nconst eq = require('./eq')\n\nconst diff = (version1, version2) => {\n if (eq(version1, version2)) {\n return null\n } else {\n const v1 = parse(version1)\n const v2 = parse(version2)\n const hasPre = v1.prerelease.length || v2.prerelease.length\n const prefix = hasPre ? 'pre' : ''\n const defaultResult = hasPre ? 'prerelease' : ''\n for (const key in v1) {\n if (key === 'major' || key === 'minor' || key === 'patch') {\n if (v1[key] !== v2[key]) {\n return prefix + key\n }\n }\n }\n return defaultResult // may be undefined\n }\n}\nmodule.exports = diff\n","const compare = require('./compare')\nconst eq = (a, b, loose) => compare(a, b, loose) === 0\nmodule.exports = eq\n","const compare = require('./compare')\nconst gt = (a, b, loose) => compare(a, b, loose) > 0\nmodule.exports = gt\n","const compare = require('./compare')\nconst gte = (a, b, loose) => compare(a, b, loose) >= 0\nmodule.exports = gte\n","const SemVer = require('../classes/semver')\n\nconst inc = (version, release, options, identifier) => {\n if (typeof (options) === 'string') {\n identifier = options\n options = undefined\n }\n\n try {\n return new SemVer(version, options).inc(release, identifier).version\n } catch (er) {\n return null\n }\n}\nmodule.exports = inc\n","const compare = require('./compare')\nconst lt = (a, b, loose) => compare(a, b, loose) < 0\nmodule.exports = lt\n","const compare = require('./compare')\nconst lte = (a, b, loose) => compare(a, b, loose) <= 0\nmodule.exports = lte\n","const SemVer = require('../classes/semver')\nconst major = (a, loose) => new SemVer(a, loose).major\nmodule.exports = major\n","const SemVer = require('../classes/semver')\nconst minor = (a, loose) => new SemVer(a, loose).minor\nmodule.exports = minor\n","const compare = require('./compare')\nconst neq = (a, b, loose) => compare(a, b, loose) !== 0\nmodule.exports = neq\n","const {MAX_LENGTH} = require('../internal/constants')\nconst { re, t } = require('../internal/re')\nconst SemVer = require('../classes/semver')\n\nconst parse = (version, options) => {\n if (!options || typeof options !== 'object') {\n options = {\n loose: !!options,\n includePrerelease: false\n }\n }\n\n if (version instanceof SemVer) {\n return version\n }\n\n if (typeof version !== 'string') {\n return null\n }\n\n if (version.length > MAX_LENGTH) {\n return null\n }\n\n const r = options.loose ? re[t.LOOSE] : re[t.FULL]\n if (!r.test(version)) {\n return null\n }\n\n try {\n return new SemVer(version, options)\n } catch (er) {\n return null\n }\n}\n\nmodule.exports = parse\n","const SemVer = require('../classes/semver')\nconst patch = (a, loose) => new SemVer(a, loose).patch\nmodule.exports = patch\n","const parse = require('./parse')\nconst prerelease = (version, options) => {\n const parsed = parse(version, options)\n return (parsed && parsed.prerelease.length) ? parsed.prerelease : null\n}\nmodule.exports = prerelease\n","const compare = require('./compare')\nconst rcompare = (a, b, loose) => compare(b, a, loose)\nmodule.exports = rcompare\n","const compareBuild = require('./compare-build')\nconst rsort = (list, loose) => list.sort((a, b) => compareBuild(b, a, loose))\nmodule.exports = rsort\n","const Range = require('../classes/range')\nconst satisfies = (version, range, options) => {\n try {\n range = new Range(range, options)\n } catch (er) {\n return false\n }\n return range.test(version)\n}\nmodule.exports = satisfies\n","const compareBuild = require('./compare-build')\nconst sort = (list, loose) => list.sort((a, b) => compareBuild(a, b, loose))\nmodule.exports = sort\n","const parse = require('./parse')\nconst valid = (version, options) => {\n const v = parse(version, options)\n return v ? v.version : null\n}\nmodule.exports = valid\n","// just pre-load all the stuff that index.js lazily exports\nconst internalRe = require('./internal/re')\nmodule.exports = {\n re: internalRe.re,\n src: internalRe.src,\n tokens: internalRe.t,\n SEMVER_SPEC_VERSION: require('./internal/constants').SEMVER_SPEC_VERSION,\n SemVer: require('./classes/semver'),\n compareIdentifiers: require('./internal/identifiers').compareIdentifiers,\n rcompareIdentifiers: require('./internal/identifiers').rcompareIdentifiers,\n parse: require('./functions/parse'),\n valid: require('./functions/valid'),\n clean: require('./functions/clean'),\n inc: require('./functions/inc'),\n diff: require('./functions/diff'),\n major: require('./functions/major'),\n minor: require('./functions/minor'),\n patch: require('./functions/patch'),\n prerelease: require('./functions/prerelease'),\n compare: require('./functions/compare'),\n rcompare: require('./functions/rcompare'),\n compareLoose: require('./functions/compare-loose'),\n compareBuild: require('./functions/compare-build'),\n sort: require('./functions/sort'),\n rsort: require('./functions/rsort'),\n gt: require('./functions/gt'),\n lt: require('./functions/lt'),\n eq: require('./functions/eq'),\n neq: require('./functions/neq'),\n gte: require('./functions/gte'),\n lte: require('./functions/lte'),\n cmp: require('./functions/cmp'),\n coerce: require('./functions/coerce'),\n Comparator: require('./classes/comparator'),\n Range: require('./classes/range'),\n satisfies: require('./functions/satisfies'),\n toComparators: require('./ranges/to-comparators'),\n maxSatisfying: require('./ranges/max-satisfying'),\n minSatisfying: require('./ranges/min-satisfying'),\n minVersion: require('./ranges/min-version'),\n validRange: require('./ranges/valid'),\n outside: require('./ranges/outside'),\n gtr: require('./ranges/gtr'),\n ltr: require('./ranges/ltr'),\n intersects: require('./ranges/intersects'),\n simplifyRange: require('./ranges/simplify'),\n subset: require('./ranges/subset'),\n}\n","// Note: this is the semver.org version of the spec that it implements\n// Not necessarily the package version of this code.\nconst SEMVER_SPEC_VERSION = '2.0.0'\n\nconst MAX_LENGTH = 256\nconst MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER ||\n /* istanbul ignore next */ 9007199254740991\n\n// Max safe segment length for coercion.\nconst MAX_SAFE_COMPONENT_LENGTH = 16\n\nmodule.exports = {\n SEMVER_SPEC_VERSION,\n MAX_LENGTH,\n MAX_SAFE_INTEGER,\n MAX_SAFE_COMPONENT_LENGTH\n}\n","const debug = (\n typeof process === 'object' &&\n process.env &&\n process.env.NODE_DEBUG &&\n /\\bsemver\\b/i.test(process.env.NODE_DEBUG)\n) ? (...args) => console.error('SEMVER', ...args)\n : () => {}\n\nmodule.exports = debug\n","const numeric = /^[0-9]+$/\nconst compareIdentifiers = (a, b) => {\n const anum = numeric.test(a)\n const bnum = numeric.test(b)\n\n if (anum && bnum) {\n a = +a\n b = +b\n }\n\n return a === b ? 0\n : (anum && !bnum) ? -1\n : (bnum && !anum) ? 1\n : a < b ? -1\n : 1\n}\n\nconst rcompareIdentifiers = (a, b) => compareIdentifiers(b, a)\n\nmodule.exports = {\n compareIdentifiers,\n rcompareIdentifiers\n}\n","const { MAX_SAFE_COMPONENT_LENGTH } = require('./constants')\nconst debug = require('./debug')\nexports = module.exports = {}\n\n// The actual regexps go on exports.re\nconst re = exports.re = []\nconst src = exports.src = []\nconst t = exports.t = {}\nlet R = 0\n\nconst createToken = (name, value, isGlobal) => {\n const index = R++\n debug(index, value)\n t[name] = index\n src[index] = value\n re[index] = new RegExp(value, isGlobal ? 'g' : undefined)\n}\n\n// The following Regular Expressions can be used for tokenizing,\n// validating, and parsing SemVer version strings.\n\n// ## Numeric Identifier\n// A single `0`, or a non-zero digit followed by zero or more digits.\n\ncreateToken('NUMERICIDENTIFIER', '0|[1-9]\\\\d*')\ncreateToken('NUMERICIDENTIFIERLOOSE', '[0-9]+')\n\n// ## Non-numeric Identifier\n// Zero or more digits, followed by a letter or hyphen, and then zero or\n// more letters, digits, or hyphens.\n\ncreateToken('NONNUMERICIDENTIFIER', '\\\\d*[a-zA-Z-][a-zA-Z0-9-]*')\n\n// ## Main Version\n// Three dot-separated numeric identifiers.\n\ncreateToken('MAINVERSION', `(${src[t.NUMERICIDENTIFIER]})\\\\.` +\n `(${src[t.NUMERICIDENTIFIER]})\\\\.` +\n `(${src[t.NUMERICIDENTIFIER]})`)\n\ncreateToken('MAINVERSIONLOOSE', `(${src[t.NUMERICIDENTIFIERLOOSE]})\\\\.` +\n `(${src[t.NUMERICIDENTIFIERLOOSE]})\\\\.` +\n `(${src[t.NUMERICIDENTIFIERLOOSE]})`)\n\n// ## Pre-release Version Identifier\n// A numeric identifier, or a non-numeric identifier.\n\ncreateToken('PRERELEASEIDENTIFIER', `(?:${src[t.NUMERICIDENTIFIER]\n}|${src[t.NONNUMERICIDENTIFIER]})`)\n\ncreateToken('PRERELEASEIDENTIFIERLOOSE', `(?:${src[t.NUMERICIDENTIFIERLOOSE]\n}|${src[t.NONNUMERICIDENTIFIER]})`)\n\n// ## Pre-release Version\n// Hyphen, followed by one or more dot-separated pre-release version\n// identifiers.\n\ncreateToken('PRERELEASE', `(?:-(${src[t.PRERELEASEIDENTIFIER]\n}(?:\\\\.${src[t.PRERELEASEIDENTIFIER]})*))`)\n\ncreateToken('PRERELEASELOOSE', `(?:-?(${src[t.PRERELEASEIDENTIFIERLOOSE]\n}(?:\\\\.${src[t.PRERELEASEIDENTIFIERLOOSE]})*))`)\n\n// ## Build Metadata Identifier\n// Any combination of digits, letters, or hyphens.\n\ncreateToken('BUILDIDENTIFIER', '[0-9A-Za-z-]+')\n\n// ## Build Metadata\n// Plus sign, followed by one or more period-separated build metadata\n// identifiers.\n\ncreateToken('BUILD', `(?:\\\\+(${src[t.BUILDIDENTIFIER]\n}(?:\\\\.${src[t.BUILDIDENTIFIER]})*))`)\n\n// ## Full Version String\n// A main version, followed optionally by a pre-release version and\n// build metadata.\n\n// Note that the only major, minor, patch, and pre-release sections of\n// the version string are capturing groups. The build metadata is not a\n// capturing group, because it should not ever be used in version\n// comparison.\n\ncreateToken('FULLPLAIN', `v?${src[t.MAINVERSION]\n}${src[t.PRERELEASE]}?${\n src[t.BUILD]}?`)\n\ncreateToken('FULL', `^${src[t.FULLPLAIN]}$`)\n\n// like full, but allows v1.2.3 and =1.2.3, which people do sometimes.\n// also, 1.0.0alpha1 (prerelease without the hyphen) which is pretty\n// common in the npm registry.\ncreateToken('LOOSEPLAIN', `[v=\\\\s]*${src[t.MAINVERSIONLOOSE]\n}${src[t.PRERELEASELOOSE]}?${\n src[t.BUILD]}?`)\n\ncreateToken('LOOSE', `^${src[t.LOOSEPLAIN]}$`)\n\ncreateToken('GTLT', '((?:<|>)?=?)')\n\n// Something like \"2.*\" or \"1.2.x\".\n// Note that \"x.x\" is a valid xRange identifer, meaning \"any version\"\n// Only the first item is strictly required.\ncreateToken('XRANGEIDENTIFIERLOOSE', `${src[t.NUMERICIDENTIFIERLOOSE]}|x|X|\\\\*`)\ncreateToken('XRANGEIDENTIFIER', `${src[t.NUMERICIDENTIFIER]}|x|X|\\\\*`)\n\ncreateToken('XRANGEPLAIN', `[v=\\\\s]*(${src[t.XRANGEIDENTIFIER]})` +\n `(?:\\\\.(${src[t.XRANGEIDENTIFIER]})` +\n `(?:\\\\.(${src[t.XRANGEIDENTIFIER]})` +\n `(?:${src[t.PRERELEASE]})?${\n src[t.BUILD]}?` +\n `)?)?`)\n\ncreateToken('XRANGEPLAINLOOSE', `[v=\\\\s]*(${src[t.XRANGEIDENTIFIERLOOSE]})` +\n `(?:\\\\.(${src[t.XRANGEIDENTIFIERLOOSE]})` +\n `(?:\\\\.(${src[t.XRANGEIDENTIFIERLOOSE]})` +\n `(?:${src[t.PRERELEASELOOSE]})?${\n src[t.BUILD]}?` +\n `)?)?`)\n\ncreateToken('XRANGE', `^${src[t.GTLT]}\\\\s*${src[t.XRANGEPLAIN]}$`)\ncreateToken('XRANGELOOSE', `^${src[t.GTLT]}\\\\s*${src[t.XRANGEPLAINLOOSE]}$`)\n\n// Coercion.\n// Extract anything that could conceivably be a part of a valid semver\ncreateToken('COERCE', `${'(^|[^\\\\d])' +\n '(\\\\d{1,'}${MAX_SAFE_COMPONENT_LENGTH}})` +\n `(?:\\\\.(\\\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?` +\n `(?:\\\\.(\\\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?` +\n `(?:$|[^\\\\d])`)\ncreateToken('COERCERTL', src[t.COERCE], true)\n\n// Tilde ranges.\n// Meaning is \"reasonably at or greater than\"\ncreateToken('LONETILDE', '(?:~>?)')\n\ncreateToken('TILDETRIM', `(\\\\s*)${src[t.LONETILDE]}\\\\s+`, true)\nexports.tildeTrimReplace = '$1~'\n\ncreateToken('TILDE', `^${src[t.LONETILDE]}${src[t.XRANGEPLAIN]}$`)\ncreateToken('TILDELOOSE', `^${src[t.LONETILDE]}${src[t.XRANGEPLAINLOOSE]}$`)\n\n// Caret ranges.\n// Meaning is \"at least and backwards compatible with\"\ncreateToken('LONECARET', '(?:\\\\^)')\n\ncreateToken('CARETTRIM', `(\\\\s*)${src[t.LONECARET]}\\\\s+`, true)\nexports.caretTrimReplace = '$1^'\n\ncreateToken('CARET', `^${src[t.LONECARET]}${src[t.XRANGEPLAIN]}$`)\ncreateToken('CARETLOOSE', `^${src[t.LONECARET]}${src[t.XRANGEPLAINLOOSE]}$`)\n\n// A simple gt/lt/eq thing, or just \"\" to indicate \"any version\"\ncreateToken('COMPARATORLOOSE', `^${src[t.GTLT]}\\\\s*(${src[t.LOOSEPLAIN]})$|^$`)\ncreateToken('COMPARATOR', `^${src[t.GTLT]}\\\\s*(${src[t.FULLPLAIN]})$|^$`)\n\n// An expression to strip any whitespace between the gtlt and the thing\n// it modifies, so that `> 1.2.3` ==> `>1.2.3`\ncreateToken('COMPARATORTRIM', `(\\\\s*)${src[t.GTLT]\n}\\\\s*(${src[t.LOOSEPLAIN]}|${src[t.XRANGEPLAIN]})`, true)\nexports.comparatorTrimReplace = '$1$2$3'\n\n// Something like `1.2.3 - 1.2.4`\n// Note that these all use the loose form, because they'll be\n// checked against either the strict or loose comparator form\n// later.\ncreateToken('HYPHENRANGE', `^\\\\s*(${src[t.XRANGEPLAIN]})` +\n `\\\\s+-\\\\s+` +\n `(${src[t.XRANGEPLAIN]})` +\n `\\\\s*$`)\n\ncreateToken('HYPHENRANGELOOSE', `^\\\\s*(${src[t.XRANGEPLAINLOOSE]})` +\n `\\\\s+-\\\\s+` +\n `(${src[t.XRANGEPLAINLOOSE]})` +\n `\\\\s*$`)\n\n// Star ranges basically just allow anything at all.\ncreateToken('STAR', '(<|>)?=?\\\\s*\\\\*')\n// >=0.0.0 is like a star\ncreateToken('GTE0', '^\\\\s*>=\\\\s*0\\.0\\.0\\\\s*$')\ncreateToken('GTE0PRE', '^\\\\s*>=\\\\s*0\\.0\\.0-0\\\\s*$')\n","// Determine if version is greater than all the versions possible in the range.\nconst outside = require('./outside')\nconst gtr = (version, range, options) => outside(version, range, '>', options)\nmodule.exports = gtr\n","const Range = require('../classes/range')\nconst intersects = (r1, r2, options) => {\n r1 = new Range(r1, options)\n r2 = new Range(r2, options)\n return r1.intersects(r2)\n}\nmodule.exports = intersects\n","const outside = require('./outside')\n// Determine if version is less than all the versions possible in the range\nconst ltr = (version, range, options) => outside(version, range, '<', options)\nmodule.exports = ltr\n","const SemVer = require('../classes/semver')\nconst Range = require('../classes/range')\n\nconst maxSatisfying = (versions, range, options) => {\n let max = null\n let maxSV = null\n let rangeObj = null\n try {\n rangeObj = new Range(range, options)\n } catch (er) {\n return null\n }\n versions.forEach((v) => {\n if (rangeObj.test(v)) {\n // satisfies(v, range, options)\n if (!max || maxSV.compare(v) === -1) {\n // compare(max, v, true)\n max = v\n maxSV = new SemVer(max, options)\n }\n }\n })\n return max\n}\nmodule.exports = maxSatisfying\n","const SemVer = require('../classes/semver')\nconst Range = require('../classes/range')\nconst minSatisfying = (versions, range, options) => {\n let min = null\n let minSV = null\n let rangeObj = null\n try {\n rangeObj = new Range(range, options)\n } catch (er) {\n return null\n }\n versions.forEach((v) => {\n if (rangeObj.test(v)) {\n // satisfies(v, range, options)\n if (!min || minSV.compare(v) === 1) {\n // compare(min, v, true)\n min = v\n minSV = new SemVer(min, options)\n }\n }\n })\n return min\n}\nmodule.exports = minSatisfying\n","const SemVer = require('../classes/semver')\nconst Range = require('../classes/range')\nconst gt = require('../functions/gt')\n\nconst minVersion = (range, loose) => {\n range = new Range(range, loose)\n\n let minver = new SemVer('0.0.0')\n if (range.test(minver)) {\n return minver\n }\n\n minver = new SemVer('0.0.0-0')\n if (range.test(minver)) {\n return minver\n }\n\n minver = null\n for (let i = 0; i < range.set.length; ++i) {\n const comparators = range.set[i]\n\n comparators.forEach((comparator) => {\n // Clone to avoid manipulating the comparator's semver object.\n const compver = new SemVer(comparator.semver.version)\n switch (comparator.operator) {\n case '>':\n if (compver.prerelease.length === 0) {\n compver.patch++\n } else {\n compver.prerelease.push(0)\n }\n compver.raw = compver.format()\n /* fallthrough */\n case '':\n case '>=':\n if (!minver || gt(minver, compver)) {\n minver = compver\n }\n break\n case '<':\n case '<=':\n /* Ignore maximum versions */\n break\n /* istanbul ignore next */\n default:\n throw new Error(`Unexpected operation: ${comparator.operator}`)\n }\n })\n }\n\n if (minver && range.test(minver)) {\n return minver\n }\n\n return null\n}\nmodule.exports = minVersion\n","const SemVer = require('../classes/semver')\nconst Comparator = require('../classes/comparator')\nconst {ANY} = Comparator\nconst Range = require('../classes/range')\nconst satisfies = require('../functions/satisfies')\nconst gt = require('../functions/gt')\nconst lt = require('../functions/lt')\nconst lte = require('../functions/lte')\nconst gte = require('../functions/gte')\n\nconst outside = (version, range, hilo, options) => {\n version = new SemVer(version, options)\n range = new Range(range, options)\n\n let gtfn, ltefn, ltfn, comp, ecomp\n switch (hilo) {\n case '>':\n gtfn = gt\n ltefn = lte\n ltfn = lt\n comp = '>'\n ecomp = '>='\n break\n case '<':\n gtfn = lt\n ltefn = gte\n ltfn = gt\n comp = '<'\n ecomp = '<='\n break\n default:\n throw new TypeError('Must provide a hilo val of \"<\" or \">\"')\n }\n\n // If it satisifes the range it is not outside\n if (satisfies(version, range, options)) {\n return false\n }\n\n // From now on, variable terms are as if we're in \"gtr\" mode.\n // but note that everything is flipped for the \"ltr\" function.\n\n for (let i = 0; i < range.set.length; ++i) {\n const comparators = range.set[i]\n\n let high = null\n let low = null\n\n comparators.forEach((comparator) => {\n if (comparator.semver === ANY) {\n comparator = new Comparator('>=0.0.0')\n }\n high = high || comparator\n low = low || comparator\n if (gtfn(comparator.semver, high.semver, options)) {\n high = comparator\n } else if (ltfn(comparator.semver, low.semver, options)) {\n low = comparator\n }\n })\n\n // If the edge version comparator has a operator then our version\n // isn't outside it\n if (high.operator === comp || high.operator === ecomp) {\n return false\n }\n\n // If the lowest version comparator has an operator and our version\n // is less than it then it isn't higher than the range\n if ((!low.operator || low.operator === comp) &&\n ltefn(version, low.semver)) {\n return false\n } else if (low.operator === ecomp && ltfn(version, low.semver)) {\n return false\n }\n }\n return true\n}\n\nmodule.exports = outside\n","// given a set of versions and a range, create a \"simplified\" range\n// that includes the same versions that the original range does\n// If the original range is shorter than the simplified one, return that.\nconst satisfies = require('../functions/satisfies.js')\nconst compare = require('../functions/compare.js')\nmodule.exports = (versions, range, options) => {\n const set = []\n let min = null\n let prev = null\n const v = versions.sort((a, b) => compare(a, b, options))\n for (const version of v) {\n const included = satisfies(version, range, options)\n if (included) {\n prev = version\n if (!min)\n min = version\n } else {\n if (prev) {\n set.push([min, prev])\n }\n prev = null\n min = null\n }\n }\n if (min)\n set.push([min, null])\n\n const ranges = []\n for (const [min, max] of set) {\n if (min === max)\n ranges.push(min)\n else if (!max && min === v[0])\n ranges.push('*')\n else if (!max)\n ranges.push(`>=${min}`)\n else if (min === v[0])\n ranges.push(`<=${max}`)\n else\n ranges.push(`${min} - ${max}`)\n }\n const simplified = ranges.join(' || ')\n const original = typeof range.raw === 'string' ? range.raw : String(range)\n return simplified.length < original.length ? simplified : range\n}\n","const Range = require('../classes/range.js')\nconst { ANY } = require('../classes/comparator.js')\nconst satisfies = require('../functions/satisfies.js')\nconst compare = require('../functions/compare.js')\n\n// Complex range `r1 || r2 || ...` is a subset of `R1 || R2 || ...` iff:\n// - Every simple range `r1, r2, ...` is a subset of some `R1, R2, ...`\n//\n// Simple range `c1 c2 ...` is a subset of simple range `C1 C2 ...` iff:\n// - If c is only the ANY comparator\n// - If C is only the ANY comparator, return true\n// - Else return false\n// - Let EQ be the set of = comparators in c\n// - If EQ is more than one, return true (null set)\n// - Let GT be the highest > or >= comparator in c\n// - Let LT be the lowest < or <= comparator in c\n// - If GT and LT, and GT.semver > LT.semver, return true (null set)\n// - If EQ\n// - If GT, and EQ does not satisfy GT, return true (null set)\n// - If LT, and EQ does not satisfy LT, return true (null set)\n// - If EQ satisfies every C, return true\n// - Else return false\n// - If GT\n// - If GT is lower than any > or >= comp in C, return false\n// - If GT is >=, and GT.semver does not satisfy every C, return false\n// - If LT\n// - If LT.semver is greater than that of any > comp in C, return false\n// - If LT is <=, and LT.semver does not satisfy every C, return false\n// - If any C is a = range, and GT or LT are set, return false\n// - Else return true\n\nconst subset = (sub, dom, options) => {\n sub = new Range(sub, options)\n dom = new Range(dom, options)\n let sawNonNull = false\n\n OUTER: for (const simpleSub of sub.set) {\n for (const simpleDom of dom.set) {\n const isSub = simpleSubset(simpleSub, simpleDom, options)\n sawNonNull = sawNonNull || isSub !== null\n if (isSub)\n continue OUTER\n }\n // the null set is a subset of everything, but null simple ranges in\n // a complex range should be ignored. so if we saw a non-null range,\n // then we know this isn't a subset, but if EVERY simple range was null,\n // then it is a subset.\n if (sawNonNull)\n return false\n }\n return true\n}\n\nconst simpleSubset = (sub, dom, options) => {\n if (sub.length === 1 && sub[0].semver === ANY)\n return dom.length === 1 && dom[0].semver === ANY\n\n const eqSet = new Set()\n let gt, lt\n for (const c of sub) {\n if (c.operator === '>' || c.operator === '>=')\n gt = higherGT(gt, c, options)\n else if (c.operator === '<' || c.operator === '<=')\n lt = lowerLT(lt, c, options)\n else\n eqSet.add(c.semver)\n }\n\n if (eqSet.size > 1)\n return null\n\n let gtltComp\n if (gt && lt) {\n gtltComp = compare(gt.semver, lt.semver, options)\n if (gtltComp > 0)\n return null\n else if (gtltComp === 0 && (gt.operator !== '>=' || lt.operator !== '<='))\n return null\n }\n\n // will iterate one or zero times\n for (const eq of eqSet) {\n if (gt && !satisfies(eq, String(gt), options))\n return null\n\n if (lt && !satisfies(eq, String(lt), options))\n return null\n\n for (const c of dom) {\n if (!satisfies(eq, String(c), options))\n return false\n }\n return true\n }\n\n let higher, lower\n let hasDomLT, hasDomGT\n for (const c of dom) {\n hasDomGT = hasDomGT || c.operator === '>' || c.operator === '>='\n hasDomLT = hasDomLT || c.operator === '<' || c.operator === '<='\n if (gt) {\n if (c.operator === '>' || c.operator === '>=') {\n higher = higherGT(gt, c, options)\n if (higher === c)\n return false\n } else if (gt.operator === '>=' && !satisfies(gt.semver, String(c), options))\n return false\n }\n if (lt) {\n if (c.operator === '<' || c.operator === '<=') {\n lower = lowerLT(lt, c, options)\n if (lower === c)\n return false\n } else if (lt.operator === '<=' && !satisfies(lt.semver, String(c), options))\n return false\n }\n if (!c.operator && (lt || gt) && gtltComp !== 0)\n return false\n }\n\n // if there was a < or >, and nothing in the dom, then must be false\n // UNLESS it was limited by another range in the other direction.\n // Eg, >1.0.0 <1.0.1 is still a subset of <2.0.0\n if (gt && hasDomLT && !lt && gtltComp !== 0)\n return false\n\n if (lt && hasDomGT && !gt && gtltComp !== 0)\n return false\n\n return true\n}\n\n// >=1.2.3 is lower than >1.2.3\nconst higherGT = (a, b, options) => {\n if (!a)\n return b\n const comp = compare(a.semver, b.semver, options)\n return comp > 0 ? a\n : comp < 0 ? b\n : b.operator === '>' && a.operator === '>=' ? b\n : a\n}\n\n// <=1.2.3 is higher than <1.2.3\nconst lowerLT = (a, b, options) => {\n if (!a)\n return b\n const comp = compare(a.semver, b.semver, options)\n return comp < 0 ? a\n : comp > 0 ? b\n : b.operator === '<' && a.operator === '<=' ? b\n : a\n}\n\nmodule.exports = subset\n","const Range = require('../classes/range')\n\n// Mostly just for testing and legacy API reasons\nconst toComparators = (range, options) =>\n new Range(range, options).set\n .map(comp => comp.map(c => c.value).join(' ').trim().split(' '))\n\nmodule.exports = toComparators\n","const Range = require('../classes/range')\nconst validRange = (range, options) => {\n try {\n // Return '*' instead of '' so that truthiness works.\n // This will throw if it's invalid anyway\n return new Range(range, options).range || '*'\n } catch (er) {\n return null\n }\n}\nmodule.exports = validRange\n","module.exports = __WEBPACK_EXTERNAL_MODULE__9688__;","/******************************************************************************\nCopyright (c) Microsoft Corporation.\n\nPermission to use, copy, modify, and/or distribute this software for any\npurpose with or without fee is hereby granted.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\nPERFORMANCE OF THIS SOFTWARE.\n***************************************************************************** */\n/* global Reflect, Promise, SuppressedError, Symbol */\n\nvar extendStatics = function(d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n};\n\nexport function __extends(d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n}\n\nexport var __assign = function() {\n __assign = Object.assign || function __assign(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n return t;\n }\n return __assign.apply(this, arguments);\n}\n\nexport function __rest(s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n}\n\nexport function __decorate(decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n}\n\nexport function __param(paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n}\n\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n var _, done = false;\n for (var i = decorators.length - 1; i >= 0; i--) {\n var context = {};\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\n if (kind === \"accessor\") {\n if (result === void 0) continue;\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n if (_ = accept(result.get)) descriptor.get = _;\n if (_ = accept(result.set)) descriptor.set = _;\n if (_ = accept(result.init)) initializers.unshift(_);\n }\n else if (_ = accept(result)) {\n if (kind === \"field\") initializers.unshift(_);\n else descriptor[key] = _;\n }\n }\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\n done = true;\n};\n\nexport function __runInitializers(thisArg, initializers, value) {\n var useValue = arguments.length > 2;\n for (var i = 0; i < initializers.length; i++) {\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n }\n return useValue ? value : void 0;\n};\n\nexport function __propKey(x) {\n return typeof x === \"symbol\" ? x : \"\".concat(x);\n};\n\nexport function __setFunctionName(f, name, prefix) {\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\n};\n\nexport function __metadata(metadataKey, metadataValue) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\n}\n\nexport function __awaiter(thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n}\n\nexport function __generator(thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n}\n\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n});\n\nexport function __exportStar(m, o) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\n}\n\nexport function __values(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n}\n\nexport function __read(o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n}\n\n/** @deprecated */\nexport function __spread() {\n for (var ar = [], i = 0; i < arguments.length; i++)\n ar = ar.concat(__read(arguments[i]));\n return ar;\n}\n\n/** @deprecated */\nexport function __spreadArrays() {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n}\n\nexport function __spreadArray(to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n}\n\nexport function __await(v) {\n return this instanceof __await ? (this.v = v, this) : new __await(v);\n}\n\nexport function __asyncGenerator(thisArg, _arguments, generator) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\n function fulfill(value) { resume(\"next\", value); }\n function reject(value) { resume(\"throw\", value); }\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\n}\n\nexport function __asyncDelegator(o) {\n var i, p;\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\n}\n\nexport function __asyncValues(o) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var m = o[Symbol.asyncIterator], i;\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\n}\n\nexport function __makeTemplateObject(cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n\nvar __setModuleDefault = Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n};\n\nexport function __importStar(mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n}\n\nexport function __importDefault(mod) {\n return (mod && mod.__esModule) ? mod : { default: mod };\n}\n\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n}\n\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n}\n\nexport function __classPrivateFieldIn(state, receiver) {\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\n}\n\nexport function __addDisposableResource(env, value, async) {\n if (value !== null && value !== void 0) {\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\n var dispose;\n if (async) {\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\n dispose = value[Symbol.asyncDispose];\n }\n if (dispose === void 0) {\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\n dispose = value[Symbol.dispose];\n }\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\n env.stack.push({ value: value, dispose: dispose, async: async });\n }\n else if (async) {\n env.stack.push({ async: true });\n }\n return value;\n}\n\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\n var e = new Error(message);\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\n};\n\nexport function __disposeResources(env) {\n function fail(e) {\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\n env.hasError = true;\n }\n function next() {\n while (env.stack.length) {\n var rec = env.stack.pop();\n try {\n var result = rec.dispose && rec.dispose.call(rec.value);\n if (rec.async) return Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\n }\n catch (e) {\n fail(e);\n }\n }\n if (env.hasError) throw env.error;\n }\n return next();\n}\n\nexport default {\n __extends,\n __assign,\n __rest,\n __decorate,\n __param,\n __metadata,\n __awaiter,\n __generator,\n __createBinding,\n __exportStar,\n __values,\n __read,\n __spread,\n __spreadArrays,\n __spreadArray,\n __await,\n __asyncGenerator,\n __asyncDelegator,\n __asyncValues,\n __makeTemplateObject,\n __importStar,\n __importDefault,\n __classPrivateFieldGet,\n __classPrivateFieldSet,\n __classPrivateFieldIn,\n __addDisposableResource,\n __disposeResources,\n};\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","/**\n * Returns the current locale of the application.\n * @returns string\n */\nexport function getLocale() {\n let language = window.i18next.language;\n language = language.replace('_', '-'); // just in case\n // Hack for `ht` until all browsers update their unicode support with ht to fr mapping.\n // See https://unicode-org.atlassian.net/browse/CLDR-14956\n if (language === 'ht') {\n language = 'fr-HT';\n }\n return language;\n}\n","/** @module @category Utility */\nimport dayjs from 'dayjs';\nimport { DurationFormat } from '@formatjs/intl-durationformat';\nimport { type DurationFormatOptions, type DurationInput } from '@formatjs/intl-durationformat/src/types';\nimport { getLocale } from './get-locale';\n/**\n * Gets a human readable and locale supported representation of a person's age, given their birthDate,\n * The representation logic follows the guideline here:\n * https://webarchive.nationalarchives.gov.uk/ukgwa/20160921162509mp_/http://systems.digital.nhs.uk/data/cui/uig/patben.pdf\n * (See Tables 7 and 8)\n *\n * @param birthDate The birthDate. If birthDate is null, returns null.\n * @param currentDate Optional. If provided, calculates the age of the person at the provided currentDate (instead of now).\n * @returns A human-readable string version of the age.\n */\nexport function age(birthDate: dayjs.ConfigType, currentDate: dayjs.ConfigType = dayjs()): string | null {\n if (birthDate == null) {\n return null;\n }\n\n const to = dayjs(currentDate);\n const from = dayjs(birthDate);\n\n const hourDiff = to.diff(from, 'hours');\n const dayDiff = to.diff(from, 'days');\n const weekDiff = to.diff(from, 'weeks');\n const monthDiff = to.diff(from, 'months');\n const yearDiff = to.diff(from, 'years');\n\n const duration: DurationInput = {};\n\n const locale = getLocale();\n\n const options: DurationFormatOptions = { style: 'short', localeMatcher: 'lookup' };\n\n if (hourDiff < 2) {\n const minuteDiff = to.diff(from, 'minutes');\n duration['minutes'] = minuteDiff;\n if (minuteDiff == 0) {\n options.minutesDisplay = 'always';\n }\n } else if (dayDiff < 2) {\n duration['hours'] = hourDiff;\n } else if (weekDiff < 4) {\n duration['days'] = dayDiff;\n } else if (yearDiff < 1) {\n const remainderDayDiff = to.subtract(weekDiff, 'weeks').diff(from, 'days');\n duration['weeks'] = weekDiff;\n duration['days'] = remainderDayDiff;\n } else if (yearDiff < 2) {\n const remainderDayDiff = to.subtract(monthDiff, 'months').diff(from, 'days');\n duration['months'] = monthDiff;\n duration['days'] = remainderDayDiff;\n } else if (yearDiff < 18) {\n const remainderMonthDiff = to.subtract(yearDiff, 'year').diff(from, 'months');\n duration['years'] = yearDiff;\n duration['months'] = remainderMonthDiff;\n } else {\n duration['years'] = yearDiff;\n }\n\n return new DurationFormat(locale, options).format(duration);\n}\n","import {epochFromDate as $11d87f3f76e88657$export$bd4fb2bc8bb06fb, fromAbsolute as $11d87f3f76e88657$export$1b96692a1ba042ac, toAbsolute as $11d87f3f76e88657$export$5107c82f94518f5c, toCalendar as $11d87f3f76e88657$export$b4a036af3fc0b032, toCalendarDateTime as $11d87f3f76e88657$export$b21e0b124e224484} from \"./conversion.mjs\";\nimport {GregorianCalendar as $3b62074eb05584b2$export$80ee6245ec4f29ec} from \"./GregorianCalendar.mjs\";\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((0, $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 = (0, $11d87f3f76e88657$export$5107c82f94518f5c)(res, dateTime.timeZone);\n } else // Otherwise, preserve the offset of the original date.\n ms = (0, $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 = (0, $11d87f3f76e88657$export$1b96692a1ba042ac)(ms, dateTime.timeZone);\n return (0, $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 = (0, $11d87f3f76e88657$export$b21e0b124e224484)(dateTime);\n let minDate = (0, $11d87f3f76e88657$export$b4a036af3fc0b032)($735220c2d4774dd3$export$e5d5e1c1822b6e56(plainDateTime, {\n hour: min\n }), new (0, $3b62074eb05584b2$export$80ee6245ec4f29ec)());\n let minAbsolute = [\n (0, $11d87f3f76e88657$export$5107c82f94518f5c)(minDate, dateTime.timeZone, 'earlier'),\n (0, $11d87f3f76e88657$export$5107c82f94518f5c)(minDate, dateTime.timeZone, 'later')\n ].filter((ms)=>(0, $11d87f3f76e88657$export$1b96692a1ba042ac)(ms, dateTime.timeZone).day === minDate.day)[0];\n let maxDate = (0, $11d87f3f76e88657$export$b4a036af3fc0b032)($735220c2d4774dd3$export$e5d5e1c1822b6e56(plainDateTime, {\n hour: max\n }), new (0, $3b62074eb05584b2$export$80ee6245ec4f29ec)());\n let maxAbsolute = [\n (0, $11d87f3f76e88657$export$5107c82f94518f5c)(maxDate, dateTime.timeZone, 'earlier'),\n (0, $11d87f3f76e88657$export$5107c82f94518f5c)(maxDate, dateTime.timeZone, 'later')\n ].filter((ms)=>(0, $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 = (0, $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 (0, $11d87f3f76e88657$export$b4a036af3fc0b032)((0, $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((0, $11d87f3f76e88657$export$b21e0b124e224484)(dateTime), field, amount, options);\n let ms = (0, $11d87f3f76e88657$export$5107c82f94518f5c)(res, dateTime.timeZone);\n return (0, $11d87f3f76e88657$export$b4a036af3fc0b032)((0, $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 = (0, $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 = (0, $11d87f3f76e88657$export$5107c82f94518f5c)(res, dateTime.timeZone, disambiguation);\n return (0, $11d87f3f76e88657$export$b4a036af3fc0b032)((0, $11d87f3f76e88657$export$1b96692a1ba042ac)(ms, dateTime.timeZone), dateTime.calendar);\n}\n\n\nexport {$735220c2d4774dd3$export$e16d8520af44a096 as add, $735220c2d4774dd3$export$c4e2ecac49351ef2 as constrain, $735220c2d4774dd3$export$3e2544e88a25bff8 as invertDuration, $735220c2d4774dd3$export$4e2d2ead65e5f7e3 as subtract, $735220c2d4774dd3$export$adaa4cf7ef1b65be as set, $735220c2d4774dd3$export$e5d5e1c1822b6e56 as setTime, $735220c2d4774dd3$export$7555de1e070510cb as constrainTime, $735220c2d4774dd3$export$7ed87b6bc2506470 as addTime, $735220c2d4774dd3$export$fe34d3a381cd7501 as subtractTime, $735220c2d4774dd3$export$d52ced6badfb9a4c as cycleDate, $735220c2d4774dd3$export$dd02b3e0007dfe28 as cycleTime, $735220c2d4774dd3$export$96b1d28349274637 as addZoned, $735220c2d4774dd3$export$6814caac34ca03c7 as subtractZoned, $735220c2d4774dd3$export$9a297d111fc86b79 as cycleZoned, $735220c2d4774dd3$export$31b5430eb18be4f8 as setZoned};\n//# sourceMappingURL=manipulation.module.js.map\n","import {fromAbsolute as $11d87f3f76e88657$export$1b96692a1ba042ac, toAbsolute as $11d87f3f76e88657$export$5107c82f94518f5c, toCalendar as $11d87f3f76e88657$export$b4a036af3fc0b032, toCalendarDate as $11d87f3f76e88657$export$93522d1a439f3617} from \"./conversion.mjs\";\nimport {weekStartData as $2fe286d2fb449abb$export$7a5acbd77d414bd9} from \"./weekStartData.mjs\";\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\nfunction $14e0f24ef4ac5c92$export$ea39ec197993aef0(a, b) {\n b = (0, $11d87f3f76e88657$export$b4a036af3fc0b032)(b, a.calendar);\n return a.era === b.era && a.year === b.year && a.month === b.month && a.day === b.day;\n}\nfunction $14e0f24ef4ac5c92$export$a18c89cbd24170ff(a, b) {\n b = (0, $11d87f3f76e88657$export$b4a036af3fc0b032)(b, a.calendar);\n // In the Japanese calendar, months can span multiple eras/years, so only compare the first of the month.\n a = $14e0f24ef4ac5c92$export$a5a3b454ada2268e(a);\n b = $14e0f24ef4ac5c92$export$a5a3b454ada2268e(b);\n return a.era === b.era && a.year === b.year && a.month === b.month;\n}\nfunction $14e0f24ef4ac5c92$export$5841f9eb9773f25f(a, b) {\n b = (0, $11d87f3f76e88657$export$b4a036af3fc0b032)(b, a.calendar);\n a = $14e0f24ef4ac5c92$export$f91e89d3d0406102(a);\n b = $14e0f24ef4ac5c92$export$f91e89d3d0406102(b);\n return a.era === b.era && a.year === b.year;\n}\nfunction $14e0f24ef4ac5c92$export$91b62ebf2ba703ee(a, b) {\n return a.calendar.identifier === b.calendar.identifier && a.era === b.era && a.year === b.year && a.month === b.month && a.day === b.day;\n}\nfunction $14e0f24ef4ac5c92$export$5a8da0c44a3afdf2(a, b) {\n a = $14e0f24ef4ac5c92$export$a5a3b454ada2268e(a);\n b = $14e0f24ef4ac5c92$export$a5a3b454ada2268e(b);\n return a.calendar.identifier === b.calendar.identifier && a.era === b.era && a.year === b.year && a.month === b.month;\n}\nfunction $14e0f24ef4ac5c92$export$ea840f5a6dda8147(a, b) {\n a = $14e0f24ef4ac5c92$export$f91e89d3d0406102(a);\n b = $14e0f24ef4ac5c92$export$f91e89d3d0406102(b);\n return a.calendar.identifier === b.calendar.identifier && a.era === b.era && a.year === b.year;\n}\nfunction $14e0f24ef4ac5c92$export$629b0a497aa65267(date, timeZone) {\n return $14e0f24ef4ac5c92$export$ea39ec197993aef0(date, $14e0f24ef4ac5c92$export$d0bdf45af03a6ea3(timeZone));\n}\nconst $14e0f24ef4ac5c92$var$DAY_MAP = {\n sun: 0,\n mon: 1,\n tue: 2,\n wed: 3,\n thu: 4,\n fri: 5,\n sat: 6\n};\nfunction $14e0f24ef4ac5c92$export$2061056d06d7cdf7(date, locale, firstDayOfWeek) {\n let julian = date.calendar.toJulianDay(date);\n // If julian is negative, then julian % 7 will be negative, so we adjust\n // accordingly. Julian day 0 is Monday.\n let weekStart = firstDayOfWeek ? $14e0f24ef4ac5c92$var$DAY_MAP[firstDayOfWeek] : $14e0f24ef4ac5c92$var$getWeekStart(locale);\n let dayOfWeek = Math.ceil(julian + 1 - weekStart) % 7;\n if (dayOfWeek < 0) dayOfWeek += 7;\n return dayOfWeek;\n}\nfunction $14e0f24ef4ac5c92$export$461939dd4422153(timeZone) {\n return (0, $11d87f3f76e88657$export$1b96692a1ba042ac)(Date.now(), timeZone);\n}\nfunction $14e0f24ef4ac5c92$export$d0bdf45af03a6ea3(timeZone) {\n return (0, $11d87f3f76e88657$export$93522d1a439f3617)($14e0f24ef4ac5c92$export$461939dd4422153(timeZone));\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}\nfunction $14e0f24ef4ac5c92$export$126c91c941de7e(a, timeZone) {\n let ms = (0, $11d87f3f76e88657$export$5107c82f94518f5c)(a, timeZone);\n let tomorrow = a.add({\n days: 1\n });\n let tomorrowMs = (0, $11d87f3f76e88657$export$5107c82f94518f5c)(tomorrow, timeZone);\n return (tomorrowMs - ms) / 3600000;\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}\nfunction $14e0f24ef4ac5c92$export$a5a3b454ada2268e(date) {\n // Use `subtract` instead of `set` so we don't get constrained in an era.\n return date.subtract({\n days: date.day - 1\n });\n}\nfunction $14e0f24ef4ac5c92$export$a2258d9c4118825c(date) {\n return date.add({\n days: date.calendar.getDaysInMonth(date) - date.day\n });\n}\nfunction $14e0f24ef4ac5c92$export$f91e89d3d0406102(date) {\n return $14e0f24ef4ac5c92$export$a5a3b454ada2268e(date.subtract({\n months: date.month - 1\n }));\n}\nfunction $14e0f24ef4ac5c92$export$8b7aa55c66d5569e(date) {\n return $14e0f24ef4ac5c92$export$a2258d9c4118825c(date.add({\n months: date.calendar.getMonthsInYear(date) - date.month\n }));\n}\nfunction $14e0f24ef4ac5c92$export$5412ac11713b72ad(date) {\n if (date.calendar.getMinimumMonthInYear) return date.calendar.getMinimumMonthInYear(date);\n return 1;\n}\nfunction $14e0f24ef4ac5c92$export$b2f4953d301981d5(date) {\n if (date.calendar.getMinimumDayInMonth) return date.calendar.getMinimumDayInMonth(date);\n return 1;\n}\nfunction $14e0f24ef4ac5c92$export$42c81a444fbfb5d4(date, locale, firstDayOfWeek) {\n let dayOfWeek = $14e0f24ef4ac5c92$export$2061056d06d7cdf7(date, locale, firstDayOfWeek);\n return date.subtract({\n days: dayOfWeek\n });\n}\nfunction $14e0f24ef4ac5c92$export$ef8b6d9133084f4e(date, locale, firstDayOfWeek) {\n return $14e0f24ef4ac5c92$export$42c81a444fbfb5d4(date, locale, firstDayOfWeek).add({\n days: 6\n });\n}\nconst $14e0f24ef4ac5c92$var$cachedRegions = new Map();\nfunction $14e0f24ef4ac5c92$var$getRegion(locale) {\n // If the Intl.Locale API is available, use it to get the region for the locale.\n // @ts-ignore\n if (Intl.Locale) {\n // Constructing an Intl.Locale is expensive, so cache the result.\n let region = $14e0f24ef4ac5c92$var$cachedRegions.get(locale);\n if (!region) {\n // @ts-ignore\n region = new Intl.Locale(locale).maximize().region;\n if (region) $14e0f24ef4ac5c92$var$cachedRegions.set(locale, region);\n }\n return region;\n }\n // If not, just try splitting the string.\n // If the second part of the locale string is 'u',\n // then this is a unicode extension, so ignore it.\n // Otherwise, it should be the region.\n let part = locale.split('-')[1];\n return part === 'u' ? undefined : part;\n}\nfunction $14e0f24ef4ac5c92$var$getWeekStart(locale) {\n // TODO: use Intl.Locale for this once browsers support the weekInfo property\n // https://github.com/tc39/proposal-intl-locale-info\n let region = $14e0f24ef4ac5c92$var$getRegion(locale);\n return region ? (0, $2fe286d2fb449abb$export$7a5acbd77d414bd9)[region] || 0 : 0;\n}\nfunction $14e0f24ef4ac5c92$export$ccc1b2479e7dd654(date, locale, firstDayOfWeek) {\n let days = date.calendar.getDaysInMonth(date);\n return Math.ceil(($14e0f24ef4ac5c92$export$2061056d06d7cdf7($14e0f24ef4ac5c92$export$a5a3b454ada2268e(date), locale, firstDayOfWeek) + days) / 7);\n}\nfunction $14e0f24ef4ac5c92$export$5c333a116e949cdd(a, b) {\n if (a && b) return a.compare(b) <= 0 ? a : b;\n return a || b;\n}\nfunction $14e0f24ef4ac5c92$export$a75f2bff57811055(a, b) {\n if (a && b) return a.compare(b) >= 0 ? a : b;\n return a || b;\n}\nconst $14e0f24ef4ac5c92$var$WEEKEND_DATA = {\n AF: [\n 4,\n 5\n ],\n AE: [\n 5,\n 6\n ],\n BH: [\n 5,\n 6\n ],\n DZ: [\n 5,\n 6\n ],\n EG: [\n 5,\n 6\n ],\n IL: [\n 5,\n 6\n ],\n IQ: [\n 5,\n 6\n ],\n IR: [\n 5,\n 5\n ],\n JO: [\n 5,\n 6\n ],\n KW: [\n 5,\n 6\n ],\n LY: [\n 5,\n 6\n ],\n OM: [\n 5,\n 6\n ],\n QA: [\n 5,\n 6\n ],\n SA: [\n 5,\n 6\n ],\n SD: [\n 5,\n 6\n ],\n SY: [\n 5,\n 6\n ],\n YE: [\n 5,\n 6\n ]\n};\nfunction $14e0f24ef4ac5c92$export$618d60ea299da42(date, locale) {\n let julian = date.calendar.toJulianDay(date);\n // If julian is negative, then julian % 7 will be negative, so we adjust\n // accordingly. Julian day 0 is Monday.\n let dayOfWeek = Math.ceil(julian + 1) % 7;\n if (dayOfWeek < 0) dayOfWeek += 7;\n let region = $14e0f24ef4ac5c92$var$getRegion(locale);\n // Use Intl.Locale for this once weekInfo is supported.\n // https://github.com/tc39/proposal-intl-locale-info\n let [start, end] = $14e0f24ef4ac5c92$var$WEEKEND_DATA[region] || [\n 6,\n 0\n ];\n return dayOfWeek === start || dayOfWeek === end;\n}\nfunction $14e0f24ef4ac5c92$export$ee9d87258e1d19ed(date, locale) {\n return !$14e0f24ef4ac5c92$export$618d60ea299da42(date, locale);\n}\n\n\nexport {$14e0f24ef4ac5c92$export$ea39ec197993aef0 as isSameDay, $14e0f24ef4ac5c92$export$a18c89cbd24170ff as isSameMonth, $14e0f24ef4ac5c92$export$a5a3b454ada2268e as startOfMonth, $14e0f24ef4ac5c92$export$5841f9eb9773f25f as isSameYear, $14e0f24ef4ac5c92$export$f91e89d3d0406102 as startOfYear, $14e0f24ef4ac5c92$export$91b62ebf2ba703ee as isEqualDay, $14e0f24ef4ac5c92$export$5a8da0c44a3afdf2 as isEqualMonth, $14e0f24ef4ac5c92$export$ea840f5a6dda8147 as isEqualYear, $14e0f24ef4ac5c92$export$629b0a497aa65267 as isToday, $14e0f24ef4ac5c92$export$d0bdf45af03a6ea3 as today, $14e0f24ef4ac5c92$export$2061056d06d7cdf7 as getDayOfWeek, $14e0f24ef4ac5c92$export$461939dd4422153 as now, $14e0f24ef4ac5c92$export$68781ddf31c0090f as compareDate, $14e0f24ef4ac5c92$export$c19a80a9721b80f6 as compareTime, $14e0f24ef4ac5c92$export$126c91c941de7e as getHoursInDay, $14e0f24ef4ac5c92$export$aa8b41735afcabd2 as getLocalTimeZone, $14e0f24ef4ac5c92$export$a2258d9c4118825c as endOfMonth, $14e0f24ef4ac5c92$export$8b7aa55c66d5569e as endOfYear, $14e0f24ef4ac5c92$export$5412ac11713b72ad as getMinimumMonthInYear, $14e0f24ef4ac5c92$export$b2f4953d301981d5 as getMinimumDayInMonth, $14e0f24ef4ac5c92$export$42c81a444fbfb5d4 as startOfWeek, $14e0f24ef4ac5c92$export$ef8b6d9133084f4e as endOfWeek, $14e0f24ef4ac5c92$export$ccc1b2479e7dd654 as getWeeksInMonth, $14e0f24ef4ac5c92$export$5c333a116e949cdd as minDate, $14e0f24ef4ac5c92$export$a75f2bff57811055 as maxDate, $14e0f24ef4ac5c92$export$618d60ea299da42 as isWeekend, $14e0f24ef4ac5c92$export$ee9d87258e1d19ed as isWeekday};\n//# sourceMappingURL=queries.module.js.map\n","import {CalendarDate as $35ea8db9cb2ccb90$export$99faa760c7908e4f, CalendarDateTime as $35ea8db9cb2ccb90$export$ca871e8dbb80966f} from \"./CalendarDate.mjs\";\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}\nfunction $2b4dce13dd5a17fa$export$784d13d8ee351f07(date) {\n if (date.era) return new (0, $35ea8db9cb2ccb90$export$99faa760c7908e4f)(date.calendar, date.era, date.year, date.month, date.day);\n else return new (0, $35ea8db9cb2ccb90$export$99faa760c7908e4f)(date.calendar, date.year, date.month, date.day);\n}\nfunction $2b4dce13dd5a17fa$export$27fa0172ae2644b3(date) {\n if (date.era) return new (0, $35ea8db9cb2ccb90$export$ca871e8dbb80966f)(date.calendar, date.era, date.year, date.month, date.day, date.hour, date.minute, date.second, date.millisecond);\n else return new (0, $35ea8db9cb2ccb90$export$ca871e8dbb80966f)(date.calendar, date.year, date.month, date.day, date.hour, date.minute, date.second);\n}\n\n\nexport {$2b4dce13dd5a17fa$export$842a2cf37af977e1 as mod, $2b4dce13dd5a17fa$export$784d13d8ee351f07 as copy, $2b4dce13dd5a17fa$export$27fa0172ae2644b3 as copyDateTime};\n//# sourceMappingURL=utils.module.js.map\n","import {CalendarDate as $35ea8db9cb2ccb90$export$99faa760c7908e4f} from \"./CalendarDate.mjs\";\nimport {mod as $2b4dce13dd5a17fa$export$842a2cf37af977e1} from \"./utils.mjs\";\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 = (0, $2b4dce13dd5a17fa$export$842a2cf37af977e1)(depoch, 146097);\n let cent = Math.floor(dqc / 36524);\n let dcent = (0, $2b4dce13dd5a17fa$export$842a2cf37af977e1)(dqc, 36524);\n let quad = Math.floor(dcent / 1461);\n let dquad = (0, $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 (0, $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\n\nexport {$3b62074eb05584b2$export$f297eb839006d339 as gregorianToJulianDay, $3b62074eb05584b2$export$c36e0ecb2d4fa69d as getExtendedYear, $3b62074eb05584b2$export$553d7fa8e3805fc0 as isLeapYear, $3b62074eb05584b2$export$4475b7e617eb123c as fromExtendedYear, $3b62074eb05584b2$export$80ee6245ec4f29ec as GregorianCalendar};\n//# sourceMappingURL=GregorianCalendar.module.js.map\n","import {CalendarDate as $35ea8db9cb2ccb90$export$99faa760c7908e4f, CalendarDateTime as $35ea8db9cb2ccb90$export$ca871e8dbb80966f, Time as $35ea8db9cb2ccb90$export$680ea196effce5f, ZonedDateTime as $35ea8db9cb2ccb90$export$d3b7288e7994edea} from \"./CalendarDate.mjs\";\nimport {epochFromDate as $11d87f3f76e88657$export$bd4fb2bc8bb06fb, fromAbsolute as $11d87f3f76e88657$export$1b96692a1ba042ac, possibleAbsolutes as $11d87f3f76e88657$export$136f38efe7caf549, toAbsolute as $11d87f3f76e88657$export$5107c82f94518f5c, toCalendar as $11d87f3f76e88657$export$b4a036af3fc0b032, toCalendarDateTime as $11d87f3f76e88657$export$b21e0b124e224484, toTimeZone as $11d87f3f76e88657$export$538b00033cc11c75} from \"./conversion.mjs\";\nimport {getLocalTimeZone as $14e0f24ef4ac5c92$export$aa8b41735afcabd2} from \"./queries.mjs\";\nimport {GregorianCalendar as $3b62074eb05584b2$export$80ee6245ec4f29ec} from \"./GregorianCalendar.mjs\";\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\nconst $fae977aafc393c5c$var$TIME_RE = /^(\\d{2})(?::(\\d{2}))?(?::(\\d{2}))?(\\.\\d+)?$/;\nconst $fae977aafc393c5c$var$DATE_RE = /^([+-]\\d{6}|\\d{4})-(\\d{2})-(\\d{2})$/;\nconst $fae977aafc393c5c$var$DATE_TIME_RE = /^([+-]\\d{6}|\\d{4})-(\\d{2})-(\\d{2})(?:T(\\d{2}))?(?::(\\d{2}))?(?::(\\d{2}))?(\\.\\d+)?$/;\nconst $fae977aafc393c5c$var$ZONED_DATE_TIME_RE = /^([+-]\\d{6}|\\d{4})-(\\d{2})-(\\d{2})(?:T(\\d{2}))?(?::(\\d{2}))?(?::(\\d{2}))?(\\.\\d+)?(?:([+-]\\d{2})(?::?(\\d{2}))?)?\\[(.*?)\\]$/;\nconst $fae977aafc393c5c$var$ABSOLUTE_RE = /^([+-]\\d{6}|\\d{4})-(\\d{2})-(\\d{2})(?:T(\\d{2}))?(?::(\\d{2}))?(?::(\\d{2}))?(\\.\\d+)?(?:(?:([+-]\\d{2})(?::?(\\d{2}))?)|Z)$/;\nconst $fae977aafc393c5c$var$DATE_TIME_DURATION_RE = /^((?<negative>-)|\\+)?P((?<years>\\d*)Y)?((?<months>\\d*)M)?((?<weeks>\\d*)W)?((?<days>\\d*)D)?((?<time>T)((?<hours>\\d*[.,]?\\d{1,9})H)?((?<minutes>\\d*[.,]?\\d{1,9})M)?((?<seconds>\\d*[.,]?\\d{1,9})S)?)?$/;\nconst $fae977aafc393c5c$var$requiredDurationTimeGroups = [\n 'hours',\n 'minutes',\n 'seconds'\n];\nconst $fae977aafc393c5c$var$requiredDurationGroups = [\n 'years',\n 'months',\n 'weeks',\n 'days',\n ...$fae977aafc393c5c$var$requiredDurationTimeGroups\n];\nfunction $fae977aafc393c5c$export$c9698ec7f05a07e1(value) {\n let m = value.match($fae977aafc393c5c$var$TIME_RE);\n if (!m) throw new Error('Invalid ISO 8601 time string: ' + value);\n return new (0, $35ea8db9cb2ccb90$export$680ea196effce5f)($fae977aafc393c5c$var$parseNumber(m[1], 0, 23), m[2] ? $fae977aafc393c5c$var$parseNumber(m[2], 0, 59) : 0, m[3] ? $fae977aafc393c5c$var$parseNumber(m[3], 0, 59) : 0, m[4] ? $fae977aafc393c5c$var$parseNumber(m[4], 0, Infinity) * 1000 : 0);\n}\nfunction $fae977aafc393c5c$export$6b862160d295c8e(value) {\n let m = value.match($fae977aafc393c5c$var$DATE_RE);\n if (!m) throw new Error('Invalid ISO 8601 date string: ' + value);\n let date = new (0, $35ea8db9cb2ccb90$export$99faa760c7908e4f)($fae977aafc393c5c$var$parseNumber(m[1], 0, 9999), $fae977aafc393c5c$var$parseNumber(m[2], 1, 12), 1);\n date.day = $fae977aafc393c5c$var$parseNumber(m[3], 0, date.calendar.getDaysInMonth(date));\n return date;\n}\nfunction $fae977aafc393c5c$export$588937bcd60ade55(value) {\n let m = value.match($fae977aafc393c5c$var$DATE_TIME_RE);\n if (!m) throw new Error('Invalid ISO 8601 date time string: ' + value);\n let year = $fae977aafc393c5c$var$parseNumber(m[1], -9999, 9999);\n let era = year < 1 ? 'BC' : 'AD';\n let date = new (0, $35ea8db9cb2ccb90$export$ca871e8dbb80966f)(era, year < 1 ? -year + 1 : year, $fae977aafc393c5c$var$parseNumber(m[2], 1, 12), 1, m[4] ? $fae977aafc393c5c$var$parseNumber(m[4], 0, 23) : 0, m[5] ? $fae977aafc393c5c$var$parseNumber(m[5], 0, 59) : 0, m[6] ? $fae977aafc393c5c$var$parseNumber(m[6], 0, 59) : 0, m[7] ? $fae977aafc393c5c$var$parseNumber(m[7], 0, Infinity) * 1000 : 0);\n date.day = $fae977aafc393c5c$var$parseNumber(m[3], 0, date.calendar.getDaysInMonth(date));\n return date;\n}\nfunction $fae977aafc393c5c$export$fd7893f06e92a6a4(value, disambiguation) {\n let m = value.match($fae977aafc393c5c$var$ZONED_DATE_TIME_RE);\n if (!m) throw new Error('Invalid ISO 8601 date time string: ' + value);\n let year = $fae977aafc393c5c$var$parseNumber(m[1], -9999, 9999);\n let era = year < 1 ? 'BC' : 'AD';\n let date = new (0, $35ea8db9cb2ccb90$export$d3b7288e7994edea)(era, year < 1 ? -year + 1 : year, $fae977aafc393c5c$var$parseNumber(m[2], 1, 12), 1, m[10], 0, m[4] ? $fae977aafc393c5c$var$parseNumber(m[4], 0, 23) : 0, m[5] ? $fae977aafc393c5c$var$parseNumber(m[5], 0, 59) : 0, m[6] ? $fae977aafc393c5c$var$parseNumber(m[6], 0, 59) : 0, m[7] ? $fae977aafc393c5c$var$parseNumber(m[7], 0, Infinity) * 1000 : 0);\n date.day = $fae977aafc393c5c$var$parseNumber(m[3], 0, date.calendar.getDaysInMonth(date));\n let plainDateTime = (0, $11d87f3f76e88657$export$b21e0b124e224484)(date);\n let ms;\n if (m[8]) {\n var _m_;\n date.offset = $fae977aafc393c5c$var$parseNumber(m[8], -23, 23) * 3600000 + $fae977aafc393c5c$var$parseNumber((_m_ = m[9]) !== null && _m_ !== void 0 ? _m_ : '0', 0, 59) * 60000;\n ms = (0, $11d87f3f76e88657$export$bd4fb2bc8bb06fb)(date) - date.offset;\n // Validate offset against parsed date.\n let absolutes = (0, $11d87f3f76e88657$export$136f38efe7caf549)(plainDateTime, date.timeZone);\n if (!absolutes.includes(ms)) throw new Error(`Offset ${$fae977aafc393c5c$var$offsetToString(date.offset)} is invalid for ${$fae977aafc393c5c$export$4223de14708adc63(date)} in ${date.timeZone}`);\n } else // Convert to absolute and back to fix invalid times due to DST.\n ms = (0, $11d87f3f76e88657$export$5107c82f94518f5c)((0, $11d87f3f76e88657$export$b21e0b124e224484)(plainDateTime), date.timeZone, disambiguation);\n return (0, $11d87f3f76e88657$export$1b96692a1ba042ac)(ms, date.timeZone);\n}\nfunction $fae977aafc393c5c$export$5adfdab05168c219(value, timeZone) {\n let m = value.match($fae977aafc393c5c$var$ABSOLUTE_RE);\n if (!m) throw new Error('Invalid ISO 8601 date time string: ' + value);\n let year = $fae977aafc393c5c$var$parseNumber(m[1], -9999, 9999);\n let era = year < 1 ? 'BC' : 'AD';\n let date = new (0, $35ea8db9cb2ccb90$export$d3b7288e7994edea)(era, year < 1 ? -year + 1 : year, $fae977aafc393c5c$var$parseNumber(m[2], 1, 12), 1, timeZone, 0, m[4] ? $fae977aafc393c5c$var$parseNumber(m[4], 0, 23) : 0, m[5] ? $fae977aafc393c5c$var$parseNumber(m[5], 0, 59) : 0, m[6] ? $fae977aafc393c5c$var$parseNumber(m[6], 0, 59) : 0, m[7] ? $fae977aafc393c5c$var$parseNumber(m[7], 0, Infinity) * 1000 : 0);\n date.day = $fae977aafc393c5c$var$parseNumber(m[3], 0, date.calendar.getDaysInMonth(date));\n var _m_;\n if (m[8]) date.offset = $fae977aafc393c5c$var$parseNumber(m[8], -23, 23) * 3600000 + $fae977aafc393c5c$var$parseNumber((_m_ = m[9]) !== null && _m_ !== void 0 ? _m_ : '0', 0, 59) * 60000;\n return (0, $11d87f3f76e88657$export$538b00033cc11c75)(date, timeZone);\n}\nfunction $fae977aafc393c5c$export$8e384432362ed0f0(value) {\n return $fae977aafc393c5c$export$5adfdab05168c219(value, (0, $14e0f24ef4ac5c92$export$aa8b41735afcabd2)());\n}\nfunction $fae977aafc393c5c$var$parseNumber(value, min, max) {\n let val = Number(value);\n if (val < min || val > max) throw new RangeError(`Value out of range: ${min} <= ${val} <= ${max}`);\n return val;\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 = (0, $11d87f3f76e88657$export$b4a036af3fc0b032)(date, new (0, $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}\nfunction $fae977aafc393c5c$export$ecae829bb3747ea6(value) {\n var _match_groups, _match_groups1, _match_groups2, _match_groups3, _match_groups4, _match_groups5, _match_groups6, _match_groups7, _match_groups8;\n const match = value.match($fae977aafc393c5c$var$DATE_TIME_DURATION_RE);\n if (!match) throw new Error(`Invalid ISO 8601 Duration string: ${value}`);\n const parseDurationGroup = (group, isNegative)=>{\n if (!group) return 0;\n try {\n const sign = isNegative ? -1 : 1;\n return sign * Number(group.replace(',', '.'));\n } catch {\n throw new Error(`Invalid ISO 8601 Duration string: ${value}`);\n }\n };\n const isNegative = !!((_match_groups = match.groups) === null || _match_groups === void 0 ? void 0 : _match_groups.negative);\n const hasRequiredGroups = $fae977aafc393c5c$var$requiredDurationGroups.some((group)=>{\n var _match_groups;\n return (_match_groups = match.groups) === null || _match_groups === void 0 ? void 0 : _match_groups[group];\n });\n if (!hasRequiredGroups) throw new Error(`Invalid ISO 8601 Duration string: ${value}`);\n const durationStringIncludesTime = (_match_groups1 = match.groups) === null || _match_groups1 === void 0 ? void 0 : _match_groups1.time;\n if (durationStringIncludesTime) {\n const hasRequiredDurationTimeGroups = $fae977aafc393c5c$var$requiredDurationTimeGroups.some((group)=>{\n var _match_groups;\n return (_match_groups = match.groups) === null || _match_groups === void 0 ? void 0 : _match_groups[group];\n });\n if (!hasRequiredDurationTimeGroups) throw new Error(`Invalid ISO 8601 Duration string: ${value}`);\n }\n const duration = {\n years: parseDurationGroup((_match_groups2 = match.groups) === null || _match_groups2 === void 0 ? void 0 : _match_groups2.years, isNegative),\n months: parseDurationGroup((_match_groups3 = match.groups) === null || _match_groups3 === void 0 ? void 0 : _match_groups3.months, isNegative),\n weeks: parseDurationGroup((_match_groups4 = match.groups) === null || _match_groups4 === void 0 ? void 0 : _match_groups4.weeks, isNegative),\n days: parseDurationGroup((_match_groups5 = match.groups) === null || _match_groups5 === void 0 ? void 0 : _match_groups5.days, isNegative),\n hours: parseDurationGroup((_match_groups6 = match.groups) === null || _match_groups6 === void 0 ? void 0 : _match_groups6.hours, isNegative),\n minutes: parseDurationGroup((_match_groups7 = match.groups) === null || _match_groups7 === void 0 ? void 0 : _match_groups7.minutes, isNegative),\n seconds: parseDurationGroup((_match_groups8 = match.groups) === null || _match_groups8 === void 0 ? void 0 : _match_groups8.seconds, isNegative)\n };\n if (duration.hours !== undefined && duration.hours % 1 !== 0 && (duration.minutes || duration.seconds)) throw new Error(`Invalid ISO 8601 Duration string: ${value} - only the smallest unit can be fractional`);\n if (duration.minutes !== undefined && duration.minutes % 1 !== 0 && duration.seconds) throw new Error(`Invalid ISO 8601 Duration string: ${value} - only the smallest unit can be fractional`);\n return duration;\n}\n\n\nexport {$fae977aafc393c5c$export$c9698ec7f05a07e1 as parseTime, $fae977aafc393c5c$export$6b862160d295c8e as parseDate, $fae977aafc393c5c$export$588937bcd60ade55 as parseDateTime, $fae977aafc393c5c$export$fd7893f06e92a6a4 as parseZonedDateTime, $fae977aafc393c5c$export$4223de14708adc63 as dateTimeToString, $fae977aafc393c5c$export$5adfdab05168c219 as parseAbsolute, $fae977aafc393c5c$export$8e384432362ed0f0 as parseAbsoluteToLocal, $fae977aafc393c5c$export$f59dee82248f5ad4 as timeToString, $fae977aafc393c5c$export$60dfd74aa96791bd as dateToString, $fae977aafc393c5c$export$bf79f1ebf4b18792 as zonedDateTimeToString, $fae977aafc393c5c$export$ecae829bb3747ea6 as parseDuration};\n//# sourceMappingURL=string.module.js.map\n","import { _check_private_redeclaration } from \"./_check_private_redeclaration.js\";\n\nexport function _class_private_field_init(obj, privateMap, value) {\n _check_private_redeclaration(obj, privateMap);\n privateMap.set(obj, value);\n}\nexport { _class_private_field_init as _ };\n","export function _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}\nexport { _check_private_redeclaration as _ };\n","import {add as $735220c2d4774dd3$export$e16d8520af44a096, addTime as $735220c2d4774dd3$export$7ed87b6bc2506470, addZoned as $735220c2d4774dd3$export$96b1d28349274637, constrain as $735220c2d4774dd3$export$c4e2ecac49351ef2, constrainTime as $735220c2d4774dd3$export$7555de1e070510cb, cycleDate as $735220c2d4774dd3$export$d52ced6badfb9a4c, cycleTime as $735220c2d4774dd3$export$dd02b3e0007dfe28, cycleZoned as $735220c2d4774dd3$export$9a297d111fc86b79, set as $735220c2d4774dd3$export$adaa4cf7ef1b65be, setTime as $735220c2d4774dd3$export$e5d5e1c1822b6e56, setZoned as $735220c2d4774dd3$export$31b5430eb18be4f8, subtract as $735220c2d4774dd3$export$4e2d2ead65e5f7e3, subtractTime as $735220c2d4774dd3$export$fe34d3a381cd7501, subtractZoned as $735220c2d4774dd3$export$6814caac34ca03c7} from \"./manipulation.mjs\";\nimport {compareDate as $14e0f24ef4ac5c92$export$68781ddf31c0090f, compareTime as $14e0f24ef4ac5c92$export$c19a80a9721b80f6} from \"./queries.mjs\";\nimport {dateTimeToString as $fae977aafc393c5c$export$4223de14708adc63, dateToString as $fae977aafc393c5c$export$60dfd74aa96791bd, timeToString as $fae977aafc393c5c$export$f59dee82248f5ad4, zonedDateTimeToString as $fae977aafc393c5c$export$bf79f1ebf4b18792} from \"./string.mjs\";\nimport {GregorianCalendar as $3b62074eb05584b2$export$80ee6245ec4f29ec} from \"./GregorianCalendar.mjs\";\nimport {toCalendarDateTime as $11d87f3f76e88657$export$b21e0b124e224484, toDate as $11d87f3f76e88657$export$e67a095c620b86fe, toZoned as $11d87f3f76e88657$export$84c95a83c799e074, zonedToDate as $11d87f3f76e88657$export$83aac07b4c37b25} from \"./conversion.mjs\";\nimport {_ as $aksy1$_} from \"@swc/helpers/_/_class_private_field_init\";\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 (0, $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 (0, $735220c2d4774dd3$export$e16d8520af44a096)(this, duration);\n }\n /** Returns a new `CalendarDate` with the given duration subtracted from it. */ subtract(duration) {\n return (0, $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 (0, $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 (0, $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 (0, $11d87f3f76e88657$export$e67a095c620b86fe)(this, timeZone);\n }\n /** Converts the date to an ISO 8601 formatted string. */ toString() {\n return (0, $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 (0, $14e0f24ef4ac5c92$export$68781ddf31c0090f)(this, b);\n }\n constructor(...args){\n (0, $aksy1$_)(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 (0, $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 (0, $735220c2d4774dd3$export$7ed87b6bc2506470)(this, duration);\n }\n /** Returns a new `Time` with the given duration subtracted from it. */ subtract(duration) {\n return (0, $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 (0, $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 (0, $735220c2d4774dd3$export$dd02b3e0007dfe28)(this, field, amount, options);\n }\n /** Converts the time to an ISO 8601 formatted string. */ toString() {\n return (0, $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 (0, $14e0f24ef4ac5c92$export$c19a80a9721b80f6)(this, b);\n }\n constructor(hour = 0, minute = 0, second = 0, millisecond = 0){\n (0, $aksy1$_)(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 (0, $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 (0, $735220c2d4774dd3$export$e16d8520af44a096)(this, duration);\n }\n /** Returns a new `CalendarDateTime` with the given duration subtracted from it. */ subtract(duration) {\n return (0, $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 (0, $735220c2d4774dd3$export$adaa4cf7ef1b65be)((0, $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 (0, $735220c2d4774dd3$export$d52ced6badfb9a4c)(this, field, amount, options);\n default:\n return (0, $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 (0, $11d87f3f76e88657$export$e67a095c620b86fe)(this, timeZone, disambiguation);\n }\n /** Converts the date to an ISO 8601 formatted string. */ toString() {\n return (0, $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 = (0, $14e0f24ef4ac5c92$export$68781ddf31c0090f)(this, b);\n if (res === 0) return (0, $14e0f24ef4ac5c92$export$c19a80a9721b80f6)(this, (0, $11d87f3f76e88657$export$b21e0b124e224484)(b));\n return res;\n }\n constructor(...args){\n (0, $aksy1$_)(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 (0, $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 (0, $735220c2d4774dd3$export$96b1d28349274637)(this, duration);\n }\n /** Returns a new `ZonedDateTime` with the given duration subtracted from it. */ subtract(duration) {\n return (0, $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 (0, $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 (0, $735220c2d4774dd3$export$9a297d111fc86b79)(this, field, amount, options);\n }\n /** Converts the date to a native JavaScript Date object. */ toDate() {\n return (0, $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 (0, $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() - (0, $11d87f3f76e88657$export$84c95a83c799e074)(b, this.timeZone).toDate().getTime();\n }\n constructor(...args){\n (0, $aksy1$_)(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 (0, $735220c2d4774dd3$export$c4e2ecac49351ef2)(this);\n }\n}\n\n\nexport {$35ea8db9cb2ccb90$export$99faa760c7908e4f as CalendarDate, $35ea8db9cb2ccb90$export$680ea196effce5f as Time, $35ea8db9cb2ccb90$export$ca871e8dbb80966f as CalendarDateTime, $35ea8db9cb2ccb90$export$d3b7288e7994edea as ZonedDateTime};\n//# sourceMappingURL=CalendarDate.module.js.map\n","import {CalendarDate as $35ea8db9cb2ccb90$export$99faa760c7908e4f, CalendarDateTime as $35ea8db9cb2ccb90$export$ca871e8dbb80966f, Time as $35ea8db9cb2ccb90$export$680ea196effce5f, ZonedDateTime as $35ea8db9cb2ccb90$export$d3b7288e7994edea} from \"./CalendarDate.mjs\";\nimport {constrain as $735220c2d4774dd3$export$c4e2ecac49351ef2} from \"./manipulation.mjs\";\nimport {getExtendedYear as $3b62074eb05584b2$export$c36e0ecb2d4fa69d, GregorianCalendar as $3b62074eb05584b2$export$80ee6245ec4f29ec} from \"./GregorianCalendar.mjs\";\nimport {getLocalTimeZone as $14e0f24ef4ac5c92$export$aa8b41735afcabd2} from \"./queries.mjs\";\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 (0, $3b62074eb05584b2$export$80ee6245ec4f29ec)());\n let year = (0, $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 === (0, $14e0f24ef4ac5c92$export$aa8b41735afcabd2)()) return new Date(ms).getTimezoneOffset() * -60000;\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$export$136f38efe7caf549(date, timeZone) {\n let ms = $11d87f3f76e88657$export$bd4fb2bc8bb06fb(date);\n let earlier = ms - $11d87f3f76e88657$export$59c99f3515d3493f(ms - $11d87f3f76e88657$var$DAYMILLIS, timeZone);\n let later = ms - $11d87f3f76e88657$export$59c99f3515d3493f(ms + $11d87f3f76e88657$var$DAYMILLIS, timeZone);\n return $11d87f3f76e88657$var$getValidWallTimes(date, timeZone, earlier, later);\n}\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 === (0, $14e0f24ef4ac5c92$export$aa8b41735afcabd2)() && disambiguation === 'compatible') {\n dateTime = $11d87f3f76e88657$export$b4a036af3fc0b032(dateTime, new (0, $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 = (0, $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 (0, $35ea8db9cb2ccb90$export$d3b7288e7994edea)(year < 1 ? 'BC' : 'AD', year < 1 ? -year + 1 : year, month, day, timeZone, offset, hour, minute, second, millisecond);\n}\nfunction $11d87f3f76e88657$export$e57ff100d91bd4b9(date, timeZone) {\n return $11d87f3f76e88657$export$1b96692a1ba042ac(date.getTime(), timeZone);\n}\nfunction $11d87f3f76e88657$export$d7f92bcd3596b086(date) {\n return $11d87f3f76e88657$export$e57ff100d91bd4b9(date, (0, $14e0f24ef4ac5c92$export$aa8b41735afcabd2)());\n}\nfunction $11d87f3f76e88657$export$93522d1a439f3617(dateTime) {\n return new (0, $35ea8db9cb2ccb90$export$99faa760c7908e4f)(dateTime.calendar, dateTime.era, dateTime.year, dateTime.month, dateTime.day);\n}\nfunction $11d87f3f76e88657$export$6f4d78149f3f53ac(date) {\n return {\n era: date.era,\n year: date.year,\n month: date.month,\n day: date.day\n };\n}\nfunction $11d87f3f76e88657$export$4d0393e732857be5(date) {\n return {\n hour: date.hour,\n minute: date.minute,\n second: date.second,\n millisecond: date.millisecond\n };\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 (0, $35ea8db9cb2ccb90$export$ca871e8dbb80966f)(date.calendar, date.era, date.year, date.month, date.day, hour, minute, second, millisecond);\n}\nfunction $11d87f3f76e88657$export$d33f79e3ffc3dc83(dateTime) {\n return new (0, $35ea8db9cb2ccb90$export$680ea196effce5f)(dateTime.hour, dateTime.minute, dateTime.second, dateTime.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 (0, $735220c2d4774dd3$export$c4e2ecac49351ef2)(copy);\n return copy;\n}\nfunction $11d87f3f76e88657$export$84c95a83c799e074(date, timeZone, disambiguation) {\n if (date instanceof (0, $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}\nfunction $11d87f3f76e88657$export$d9b67bc93c097491(date) {\n return $11d87f3f76e88657$export$538b00033cc11c75(date, (0, $14e0f24ef4ac5c92$export$aa8b41735afcabd2)());\n}\n\n\nexport {$11d87f3f76e88657$export$bd4fb2bc8bb06fb as epochFromDate, $11d87f3f76e88657$export$b4a036af3fc0b032 as toCalendar, $11d87f3f76e88657$export$59c99f3515d3493f as getTimeZoneOffset, $11d87f3f76e88657$export$136f38efe7caf549 as possibleAbsolutes, $11d87f3f76e88657$export$5107c82f94518f5c as toAbsolute, $11d87f3f76e88657$export$b21e0b124e224484 as toCalendarDateTime, $11d87f3f76e88657$export$e67a095c620b86fe as toDate, $11d87f3f76e88657$export$1b96692a1ba042ac as fromAbsolute, $11d87f3f76e88657$export$e57ff100d91bd4b9 as fromDate, $11d87f3f76e88657$export$d7f92bcd3596b086 as fromDateToLocal, $11d87f3f76e88657$export$93522d1a439f3617 as toCalendarDate, $11d87f3f76e88657$export$6f4d78149f3f53ac as toDateFields, $11d87f3f76e88657$export$4d0393e732857be5 as toTimeFields, $11d87f3f76e88657$export$d33f79e3ffc3dc83 as toTime, $11d87f3f76e88657$export$84c95a83c799e074 as toZoned, $11d87f3f76e88657$export$538b00033cc11c75 as toTimeZone, $11d87f3f76e88657$export$83aac07b4c37b25 as zonedToDate, $11d87f3f76e88657$export$d9b67bc93c097491 as toLocalTimeZone};\n//# sourceMappingURL=conversion.module.js.map\n","import {CalendarDate as $35ea8db9cb2ccb90$export$99faa760c7908e4f} from \"./CalendarDate.mjs\";\nimport {fromExtendedYear as $3b62074eb05584b2$export$4475b7e617eb123c, getExtendedYear as $3b62074eb05584b2$export$c36e0ecb2d4fa69d, GregorianCalendar as $3b62074eb05584b2$export$80ee6245ec4f29ec} from \"./GregorianCalendar.mjs\";\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 $8d73d47422ca7302$var$BUDDHIST_ERA_START = -543;\nclass $8d73d47422ca7302$export$42d20a78301dee44 extends (0, $3b62074eb05584b2$export$80ee6245ec4f29ec) {\n fromJulianDay(jd) {\n let gregorianDate = super.fromJulianDay(jd);\n let year = (0, $3b62074eb05584b2$export$c36e0ecb2d4fa69d)(gregorianDate.era, gregorianDate.year);\n return new (0, $35ea8db9cb2ccb90$export$99faa760c7908e4f)(this, year - $8d73d47422ca7302$var$BUDDHIST_ERA_START, gregorianDate.month, gregorianDate.day);\n }\n toJulianDay(date) {\n return super.toJulianDay($8d73d47422ca7302$var$toGregorian(date));\n }\n getEras() {\n return [\n 'BE'\n ];\n }\n getDaysInMonth(date) {\n return super.getDaysInMonth($8d73d47422ca7302$var$toGregorian(date));\n }\n balanceDate() {}\n constructor(...args){\n super(...args), this.identifier = 'buddhist';\n }\n}\nfunction $8d73d47422ca7302$var$toGregorian(date) {\n let [era, year] = (0, $3b62074eb05584b2$export$4475b7e617eb123c)(date.year + $8d73d47422ca7302$var$BUDDHIST_ERA_START);\n return new (0, $35ea8db9cb2ccb90$export$99faa760c7908e4f)(era, year, date.month, date.day);\n}\n\n\nexport {$8d73d47422ca7302$export$42d20a78301dee44 as BuddhistCalendar};\n//# sourceMappingURL=BuddhistCalendar.module.js.map\n","import {CalendarDate as $35ea8db9cb2ccb90$export$99faa760c7908e4f} from \"./CalendarDate.mjs\";\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\nconst $b956b2d7a6cf451f$var$ETHIOPIC_EPOCH = 1723856;\nconst $b956b2d7a6cf451f$var$COPTIC_EPOCH = 1824665;\n// The delta between Amete Alem 1 and Amete Mihret 1\n// AA 5501 = AM 1\nconst $b956b2d7a6cf451f$var$AMETE_MIHRET_DELTA = 5500;\nfunction $b956b2d7a6cf451f$var$ceToJulianDay(epoch, year, month, day) {\n return epoch // difference from Julian epoch to 1,1,1\n + 365 * year // number of days from years\n + Math.floor(year / 4) // extra day of leap year\n + 30 * (month - 1 // number of days from months (1 based)\n ) + day - 1 // number of days for present month (1 based)\n ;\n}\nfunction $b956b2d7a6cf451f$var$julianDayToCE(epoch, jd) {\n let year = Math.floor(4 * (jd - epoch) / 1461);\n let month = 1 + Math.floor((jd - $b956b2d7a6cf451f$var$ceToJulianDay(epoch, year, 1, 1)) / 30);\n let day = jd + 1 - $b956b2d7a6cf451f$var$ceToJulianDay(epoch, year, month, 1);\n return [\n year,\n month,\n day\n ];\n}\nfunction $b956b2d7a6cf451f$var$getLeapDay(year) {\n return Math.floor(year % 4 / 3);\n}\nfunction $b956b2d7a6cf451f$var$getDaysInMonth(year, month) {\n // The Ethiopian and Coptic calendars have 13 months, 12 of 30 days each and\n // an intercalary month at the end of the year of 5 or 6 days, depending whether\n // the year is a leap year or not. The Leap Year follows the same rules as the\n // Julian Calendar so that the extra month always has six days in the year before\n // a Julian Leap Year.\n if (month % 13 !== 0) // not intercalary month\n return 30;\n else // intercalary month 5 days + possible leap day\n return $b956b2d7a6cf451f$var$getLeapDay(year) + 5;\n}\nclass $b956b2d7a6cf451f$export$26ba6eab5e20cd7d {\n fromJulianDay(jd) {\n let [year, month, day] = $b956b2d7a6cf451f$var$julianDayToCE($b956b2d7a6cf451f$var$ETHIOPIC_EPOCH, jd);\n let era = 'AM';\n if (year <= 0) {\n era = 'AA';\n year += $b956b2d7a6cf451f$var$AMETE_MIHRET_DELTA;\n }\n return new (0, $35ea8db9cb2ccb90$export$99faa760c7908e4f)(this, era, year, month, day);\n }\n toJulianDay(date) {\n let year = date.year;\n if (date.era === 'AA') year -= $b956b2d7a6cf451f$var$AMETE_MIHRET_DELTA;\n return $b956b2d7a6cf451f$var$ceToJulianDay($b956b2d7a6cf451f$var$ETHIOPIC_EPOCH, year, date.month, date.day);\n }\n getDaysInMonth(date) {\n return $b956b2d7a6cf451f$var$getDaysInMonth(date.year, date.month);\n }\n getMonthsInYear() {\n return 13;\n }\n getDaysInYear(date) {\n return 365 + $b956b2d7a6cf451f$var$getLeapDay(date.year);\n }\n getYearsInEra(date) {\n // 9999-12-31 gregorian is 9992-20-02 ethiopic.\n // Round down to 9991 for the last full year.\n // AA 9999-01-01 ethiopic is 4506-09-30 gregorian.\n return date.era === 'AA' ? 9999 : 9991;\n }\n getEras() {\n return [\n 'AA',\n 'AM'\n ];\n }\n constructor(){\n this.identifier = 'ethiopic';\n }\n}\nclass $b956b2d7a6cf451f$export$d72e0c37005a4914 extends $b956b2d7a6cf451f$export$26ba6eab5e20cd7d {\n fromJulianDay(jd) {\n let [year, month, day] = $b956b2d7a6cf451f$var$julianDayToCE($b956b2d7a6cf451f$var$ETHIOPIC_EPOCH, jd);\n year += $b956b2d7a6cf451f$var$AMETE_MIHRET_DELTA;\n return new (0, $35ea8db9cb2ccb90$export$99faa760c7908e4f)(this, 'AA', year, month, day);\n }\n getEras() {\n return [\n 'AA'\n ];\n }\n getYearsInEra() {\n // 9999-13-04 ethioaa is the maximum date, which is equivalent to 4506-09-29 gregorian.\n return 9999;\n }\n constructor(...args){\n super(...args), this.identifier = 'ethioaa' // also known as 'ethiopic-amete-alem' in ICU\n ;\n }\n}\nclass $b956b2d7a6cf451f$export$fe6243cbe1a4b7c1 extends $b956b2d7a6cf451f$export$26ba6eab5e20cd7d {\n fromJulianDay(jd) {\n let [year, month, day] = $b956b2d7a6cf451f$var$julianDayToCE($b956b2d7a6cf451f$var$COPTIC_EPOCH, jd);\n let era = 'CE';\n if (year <= 0) {\n era = 'BCE';\n year = 1 - year;\n }\n return new (0, $35ea8db9cb2ccb90$export$99faa760c7908e4f)(this, era, year, month, day);\n }\n toJulianDay(date) {\n let year = date.year;\n if (date.era === 'BCE') year = 1 - year;\n return $b956b2d7a6cf451f$var$ceToJulianDay($b956b2d7a6cf451f$var$COPTIC_EPOCH, year, date.month, date.day);\n }\n getDaysInMonth(date) {\n let year = date.year;\n if (date.era === 'BCE') year = 1 - year;\n return $b956b2d7a6cf451f$var$getDaysInMonth(year, date.month);\n }\n isInverseEra(date) {\n return date.era === 'BCE';\n }\n balanceDate(date) {\n if (date.year <= 0) {\n date.era = date.era === 'BCE' ? 'CE' : 'BCE';\n date.year = 1 - date.year;\n }\n }\n getEras() {\n return [\n 'BCE',\n 'CE'\n ];\n }\n getYearsInEra(date) {\n // 9999-12-30 gregorian is 9716-02-20 coptic.\n // Round down to 9715 for the last full year.\n // BCE 9999-01-01 coptic is BC 9716-06-15 gregorian.\n return date.era === 'BCE' ? 9999 : 9715;\n }\n constructor(...args){\n super(...args), this.identifier = 'coptic';\n }\n}\n\n\nexport {$b956b2d7a6cf451f$export$26ba6eab5e20cd7d as EthiopicCalendar, $b956b2d7a6cf451f$export$d72e0c37005a4914 as EthiopicAmeteAlemCalendar, $b956b2d7a6cf451f$export$fe6243cbe1a4b7c1 as CopticCalendar};\n//# sourceMappingURL=EthiopicCalendar.module.js.map\n","import {CalendarDate as $35ea8db9cb2ccb90$export$99faa760c7908e4f} from \"./CalendarDate.mjs\";\nimport {mod as $2b4dce13dd5a17fa$export$842a2cf37af977e1} from \"./utils.mjs\";\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 $7c5f6fbf42389787$var$HEBREW_EPOCH = 347997;\n// Hebrew date calculations are performed in terms of days, hours, and\n// \"parts\" (or halakim), which are 1/1080 of an hour, or 3 1/3 seconds.\nconst $7c5f6fbf42389787$var$HOUR_PARTS = 1080;\nconst $7c5f6fbf42389787$var$DAY_PARTS = 24 * $7c5f6fbf42389787$var$HOUR_PARTS;\n// An approximate value for the length of a lunar month.\n// It is used to calculate the approximate year and month of a given\n// absolute date.\nconst $7c5f6fbf42389787$var$MONTH_DAYS = 29;\nconst $7c5f6fbf42389787$var$MONTH_FRACT = 12 * $7c5f6fbf42389787$var$HOUR_PARTS + 793;\nconst $7c5f6fbf42389787$var$MONTH_PARTS = $7c5f6fbf42389787$var$MONTH_DAYS * $7c5f6fbf42389787$var$DAY_PARTS + $7c5f6fbf42389787$var$MONTH_FRACT;\nfunction $7c5f6fbf42389787$var$isLeapYear(year) {\n return (0, $2b4dce13dd5a17fa$export$842a2cf37af977e1)(year * 7 + 1, 19) < 7;\n}\n// Test for delay of start of new year and to avoid\n// Sunday, Wednesday, and Friday as start of the new year.\nfunction $7c5f6fbf42389787$var$hebrewDelay1(year) {\n let months = Math.floor((235 * year - 234) / 19);\n let parts = 12084 + 13753 * months;\n let day = months * 29 + Math.floor(parts / 25920);\n if ((0, $2b4dce13dd5a17fa$export$842a2cf37af977e1)(3 * (day + 1), 7) < 3) day += 1;\n return day;\n}\n// Check for delay in start of new year due to length of adjacent years\nfunction $7c5f6fbf42389787$var$hebrewDelay2(year) {\n let last = $7c5f6fbf42389787$var$hebrewDelay1(year - 1);\n let present = $7c5f6fbf42389787$var$hebrewDelay1(year);\n let next = $7c5f6fbf42389787$var$hebrewDelay1(year + 1);\n if (next - present === 356) return 2;\n if (present - last === 382) return 1;\n return 0;\n}\nfunction $7c5f6fbf42389787$var$startOfYear(year) {\n return $7c5f6fbf42389787$var$hebrewDelay1(year) + $7c5f6fbf42389787$var$hebrewDelay2(year);\n}\nfunction $7c5f6fbf42389787$var$getDaysInYear(year) {\n return $7c5f6fbf42389787$var$startOfYear(year + 1) - $7c5f6fbf42389787$var$startOfYear(year);\n}\nfunction $7c5f6fbf42389787$var$getYearType(year) {\n let yearLength = $7c5f6fbf42389787$var$getDaysInYear(year);\n if (yearLength > 380) yearLength -= 30; // Subtract length of leap month.\n switch(yearLength){\n case 353:\n return 0; // deficient\n case 354:\n return 1; // normal\n case 355:\n return 2; // complete\n }\n}\nfunction $7c5f6fbf42389787$var$getDaysInMonth(year, month) {\n // Normalize month numbers from 1 - 13, even on non-leap years\n if (month >= 6 && !$7c5f6fbf42389787$var$isLeapYear(year)) month++;\n // First of all, dispose of fixed-length 29 day months\n if (month === 4 || month === 7 || month === 9 || month === 11 || month === 13) return 29;\n let yearType = $7c5f6fbf42389787$var$getYearType(year);\n // If it's Heshvan, days depend on length of year\n if (month === 2) return yearType === 2 ? 30 : 29;\n // Similarly, Kislev varies with the length of year\n if (month === 3) return yearType === 0 ? 29 : 30;\n // Adar I only exists in leap years\n if (month === 6) return $7c5f6fbf42389787$var$isLeapYear(year) ? 30 : 0;\n return 30;\n}\nclass $7c5f6fbf42389787$export$ca405048b8fb5af {\n fromJulianDay(jd) {\n let d = jd - $7c5f6fbf42389787$var$HEBREW_EPOCH;\n let m = d * $7c5f6fbf42389787$var$DAY_PARTS / $7c5f6fbf42389787$var$MONTH_PARTS; // Months (approx)\n let year = Math.floor((19 * m + 234) / 235) + 1; // Years (approx)\n let ys = $7c5f6fbf42389787$var$startOfYear(year); // 1st day of year\n let dayOfYear = Math.floor(d - ys);\n // Because of the postponement rules, it's possible to guess wrong. Fix it.\n while(dayOfYear < 1){\n year--;\n ys = $7c5f6fbf42389787$var$startOfYear(year);\n dayOfYear = Math.floor(d - ys);\n }\n // Now figure out which month we're in, and the date within that month\n let month = 1;\n let monthStart = 0;\n while(monthStart < dayOfYear){\n monthStart += $7c5f6fbf42389787$var$getDaysInMonth(year, month);\n month++;\n }\n month--;\n monthStart -= $7c5f6fbf42389787$var$getDaysInMonth(year, month);\n let day = dayOfYear - monthStart;\n return new (0, $35ea8db9cb2ccb90$export$99faa760c7908e4f)(this, year, month, day);\n }\n toJulianDay(date) {\n let jd = $7c5f6fbf42389787$var$startOfYear(date.year);\n for(let month = 1; month < date.month; month++)jd += $7c5f6fbf42389787$var$getDaysInMonth(date.year, month);\n return jd + date.day + $7c5f6fbf42389787$var$HEBREW_EPOCH;\n }\n getDaysInMonth(date) {\n return $7c5f6fbf42389787$var$getDaysInMonth(date.year, date.month);\n }\n getMonthsInYear(date) {\n return $7c5f6fbf42389787$var$isLeapYear(date.year) ? 13 : 12;\n }\n getDaysInYear(date) {\n return $7c5f6fbf42389787$var$getDaysInYear(date.year);\n }\n getYearsInEra() {\n // 6239 gregorian\n return 9999;\n }\n getEras() {\n return [\n 'AM'\n ];\n }\n balanceYearMonth(date, previousDate) {\n // Keep date in the same month when switching between leap years and non leap years\n if (previousDate.year !== date.year) {\n if ($7c5f6fbf42389787$var$isLeapYear(previousDate.year) && !$7c5f6fbf42389787$var$isLeapYear(date.year) && previousDate.month > 6) date.month--;\n else if (!$7c5f6fbf42389787$var$isLeapYear(previousDate.year) && $7c5f6fbf42389787$var$isLeapYear(date.year) && previousDate.month > 6) date.month++;\n }\n }\n constructor(){\n this.identifier = 'hebrew';\n }\n}\n\n\nexport {$7c5f6fbf42389787$export$ca405048b8fb5af as HebrewCalendar};\n//# sourceMappingURL=HebrewCalendar.module.js.map\n","import {CalendarDate as $35ea8db9cb2ccb90$export$99faa760c7908e4f} from \"./CalendarDate.mjs\";\nimport {fromExtendedYear as $3b62074eb05584b2$export$4475b7e617eb123c, GregorianCalendar as $3b62074eb05584b2$export$80ee6245ec4f29ec, gregorianToJulianDay as $3b62074eb05584b2$export$f297eb839006d339, isLeapYear as $3b62074eb05584b2$export$553d7fa8e3805fc0} from \"./GregorianCalendar.mjs\";\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\n// Starts in 78 AD,\nconst $82c358003bdda0a8$var$INDIAN_ERA_START = 78;\n// The Indian year starts 80 days later than the Gregorian year.\nconst $82c358003bdda0a8$var$INDIAN_YEAR_START = 80;\nclass $82c358003bdda0a8$export$39f31c639fa15726 extends (0, $3b62074eb05584b2$export$80ee6245ec4f29ec) {\n fromJulianDay(jd) {\n // Gregorian date for Julian day\n let date = super.fromJulianDay(jd);\n // Year in Saka era\n let indianYear = date.year - $82c358003bdda0a8$var$INDIAN_ERA_START;\n // Day number in Gregorian year (starting from 0)\n let yDay = jd - (0, $3b62074eb05584b2$export$f297eb839006d339)(date.era, date.year, 1, 1);\n let leapMonth;\n if (yDay < $82c358003bdda0a8$var$INDIAN_YEAR_START) {\n // Day is at the end of the preceding Saka year\n indianYear--;\n // Days in leapMonth this year, previous Gregorian year\n leapMonth = (0, $3b62074eb05584b2$export$553d7fa8e3805fc0)(date.year - 1) ? 31 : 30;\n yDay += leapMonth + 155 + 90 + 10;\n } else {\n // Days in leapMonth this year\n leapMonth = (0, $3b62074eb05584b2$export$553d7fa8e3805fc0)(date.year) ? 31 : 30;\n yDay -= $82c358003bdda0a8$var$INDIAN_YEAR_START;\n }\n let indianMonth;\n let indianDay;\n if (yDay < leapMonth) {\n indianMonth = 1;\n indianDay = yDay + 1;\n } else {\n let mDay = yDay - leapMonth;\n if (mDay < 155) {\n indianMonth = Math.floor(mDay / 31) + 2;\n indianDay = mDay % 31 + 1;\n } else {\n mDay -= 155;\n indianMonth = Math.floor(mDay / 30) + 7;\n indianDay = mDay % 30 + 1;\n }\n }\n return new (0, $35ea8db9cb2ccb90$export$99faa760c7908e4f)(this, indianYear, indianMonth, indianDay);\n }\n toJulianDay(date) {\n let extendedYear = date.year + $82c358003bdda0a8$var$INDIAN_ERA_START;\n let [era, year] = (0, $3b62074eb05584b2$export$4475b7e617eb123c)(extendedYear);\n let leapMonth;\n let jd;\n if ((0, $3b62074eb05584b2$export$553d7fa8e3805fc0)(year)) {\n leapMonth = 31;\n jd = (0, $3b62074eb05584b2$export$f297eb839006d339)(era, year, 3, 21);\n } else {\n leapMonth = 30;\n jd = (0, $3b62074eb05584b2$export$f297eb839006d339)(era, year, 3, 22);\n }\n if (date.month === 1) return jd + date.day - 1;\n jd += leapMonth + Math.min(date.month - 2, 5) * 31;\n if (date.month >= 8) jd += (date.month - 7) * 30;\n jd += date.day - 1;\n return jd;\n }\n getDaysInMonth(date) {\n if (date.month === 1 && (0, $3b62074eb05584b2$export$553d7fa8e3805fc0)(date.year + $82c358003bdda0a8$var$INDIAN_ERA_START)) return 31;\n if (date.month >= 2 && date.month <= 6) return 31;\n return 30;\n }\n getYearsInEra() {\n // 9999-12-31 gregorian is 9920-10-10 indian.\n // Round down to 9919 for the last full year.\n return 9919;\n }\n getEras() {\n return [\n 'saka'\n ];\n }\n balanceDate() {}\n constructor(...args){\n super(...args), this.identifier = 'indian';\n }\n}\n\n\nexport {$82c358003bdda0a8$export$39f31c639fa15726 as IndianCalendar};\n//# sourceMappingURL=IndianCalendar.module.js.map\n","import {CalendarDate as $35ea8db9cb2ccb90$export$99faa760c7908e4f} from \"./CalendarDate.mjs\";\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\nconst $f2f3e0e3a817edbd$var$CIVIL_EPOC = 1948440; // CE 622 July 16 Friday (Julian calendar) / CE 622 July 19 (Gregorian calendar)\nconst $f2f3e0e3a817edbd$var$ASTRONOMICAL_EPOC = 1948439; // CE 622 July 15 Thursday (Julian calendar)\nconst $f2f3e0e3a817edbd$var$UMALQURA_YEAR_START = 1300;\nconst $f2f3e0e3a817edbd$var$UMALQURA_YEAR_END = 1600;\nconst $f2f3e0e3a817edbd$var$UMALQURA_START_DAYS = 460322;\nfunction $f2f3e0e3a817edbd$var$islamicToJulianDay(epoch, year, month, day) {\n return day + Math.ceil(29.5 * (month - 1)) + (year - 1) * 354 + Math.floor((3 + 11 * year) / 30) + epoch - 1;\n}\nfunction $f2f3e0e3a817edbd$var$julianDayToIslamic(calendar, epoch, jd) {\n let year = Math.floor((30 * (jd - epoch) + 10646) / 10631);\n let month = Math.min(12, Math.ceil((jd - (29 + $f2f3e0e3a817edbd$var$islamicToJulianDay(epoch, year, 1, 1))) / 29.5) + 1);\n let day = jd - $f2f3e0e3a817edbd$var$islamicToJulianDay(epoch, year, month, 1) + 1;\n return new (0, $35ea8db9cb2ccb90$export$99faa760c7908e4f)(calendar, year, month, day);\n}\nfunction $f2f3e0e3a817edbd$var$isLeapYear(year) {\n return (14 + 11 * year) % 30 < 11;\n}\nclass $f2f3e0e3a817edbd$export$2066795aadd37bfc {\n fromJulianDay(jd) {\n return $f2f3e0e3a817edbd$var$julianDayToIslamic(this, $f2f3e0e3a817edbd$var$CIVIL_EPOC, jd);\n }\n toJulianDay(date) {\n return $f2f3e0e3a817edbd$var$islamicToJulianDay($f2f3e0e3a817edbd$var$CIVIL_EPOC, date.year, date.month, date.day);\n }\n getDaysInMonth(date) {\n let length = 29 + date.month % 2;\n if (date.month === 12 && $f2f3e0e3a817edbd$var$isLeapYear(date.year)) length++;\n return length;\n }\n getMonthsInYear() {\n return 12;\n }\n getDaysInYear(date) {\n return $f2f3e0e3a817edbd$var$isLeapYear(date.year) ? 355 : 354;\n }\n getYearsInEra() {\n // 9999 gregorian\n return 9665;\n }\n getEras() {\n return [\n 'AH'\n ];\n }\n constructor(){\n this.identifier = 'islamic-civil';\n }\n}\nclass $f2f3e0e3a817edbd$export$37f0887f2f9d22f7 extends $f2f3e0e3a817edbd$export$2066795aadd37bfc {\n fromJulianDay(jd) {\n return $f2f3e0e3a817edbd$var$julianDayToIslamic(this, $f2f3e0e3a817edbd$var$ASTRONOMICAL_EPOC, jd);\n }\n toJulianDay(date) {\n return $f2f3e0e3a817edbd$var$islamicToJulianDay($f2f3e0e3a817edbd$var$ASTRONOMICAL_EPOC, date.year, date.month, date.day);\n }\n constructor(...args){\n super(...args), this.identifier = 'islamic-tbla';\n }\n}\n// Generated by scripts/generate-umalqura.js\nconst $f2f3e0e3a817edbd$var$UMALQURA_DATA = 'qgpUDckO1AbqBmwDrQpVBakGkgepC9QF2gpcBS0NlQZKB1QLagutBa4ETwoXBYsGpQbVCtYCWwmdBE0KJg2VDawFtgm6AlsKKwWVCsoG6Qr0AnYJtgJWCcoKpAvSC9kF3AJtCU0FpQpSC6ULtAW2CVcFlwJLBaMGUgdlC2oFqworBZUMSg2lDcoF1gpXCasESwmlClILagt1BXYCtwhbBFUFqQW0BdoJ3QRuAjYJqgpUDbIN1QXaAlsJqwRVCkkLZAtxC7QFtQpVCiUNkg7JDtQG6QprCasEkwpJDaQNsg25CroEWworBZUKKgtVC1wFvQQ9Ah0JlQpKC1oLbQW2AjsJmwRVBqkGVAdqC2wFrQpVBSkLkgupC9QF2gpaBasKlQVJB2QHqgu1BbYCVgpNDiULUgtqC60FrgIvCZcESwalBqwG1gpdBZ0ETQoWDZUNqgW1BdoCWwmtBJUFygbkBuoK9QS2AlYJqgpUC9IL2QXqAm0JrQSVCkoLpQuyBbUJ1gSXCkcFkwZJB1ULagVrCisFiwpGDaMNygXWCtsEawJLCaUKUgtpC3UFdgG3CFsCKwVlBbQF2gntBG0BtgimClINqQ3UBdoKWwmrBFMGKQdiB6kLsgW1ClUFJQuSDckO0gbpCmsFqwRVCikNVA2qDbUJugQ7CpsETQqqCtUK2gJdCV4ELgqaDFUNsga5BroEXQotBZUKUguoC7QLuQXaAloJSgukDdEO6AZqC20FNQWVBkoNqA3UDdoGWwWdAisGFQtKC5ULqgWuCi4JjwwnBZUGqgbWCl0FnQI=';\nlet $f2f3e0e3a817edbd$var$UMALQURA_MONTHLENGTH;\nlet $f2f3e0e3a817edbd$var$UMALQURA_YEAR_START_TABLE;\nfunction $f2f3e0e3a817edbd$var$umalquraYearStart(year) {\n return $f2f3e0e3a817edbd$var$UMALQURA_START_DAYS + $f2f3e0e3a817edbd$var$UMALQURA_YEAR_START_TABLE[year - $f2f3e0e3a817edbd$var$UMALQURA_YEAR_START];\n}\nfunction $f2f3e0e3a817edbd$var$umalquraMonthLength(year, month) {\n let idx = year - $f2f3e0e3a817edbd$var$UMALQURA_YEAR_START;\n let mask = 0x01 << 11 - (month - 1);\n if (($f2f3e0e3a817edbd$var$UMALQURA_MONTHLENGTH[idx] & mask) === 0) return 29;\n else return 30;\n}\nfunction $f2f3e0e3a817edbd$var$umalquraMonthStart(year, month) {\n let day = $f2f3e0e3a817edbd$var$umalquraYearStart(year);\n for(let i = 1; i < month; i++)day += $f2f3e0e3a817edbd$var$umalquraMonthLength(year, i);\n return day;\n}\nfunction $f2f3e0e3a817edbd$var$umalquraYearLength(year) {\n return $f2f3e0e3a817edbd$var$UMALQURA_YEAR_START_TABLE[year + 1 - $f2f3e0e3a817edbd$var$UMALQURA_YEAR_START] - $f2f3e0e3a817edbd$var$UMALQURA_YEAR_START_TABLE[year - $f2f3e0e3a817edbd$var$UMALQURA_YEAR_START];\n}\nclass $f2f3e0e3a817edbd$export$5baab4758c231076 extends $f2f3e0e3a817edbd$export$2066795aadd37bfc {\n fromJulianDay(jd) {\n let days = jd - $f2f3e0e3a817edbd$var$CIVIL_EPOC;\n let startDays = $f2f3e0e3a817edbd$var$umalquraYearStart($f2f3e0e3a817edbd$var$UMALQURA_YEAR_START);\n let endDays = $f2f3e0e3a817edbd$var$umalquraYearStart($f2f3e0e3a817edbd$var$UMALQURA_YEAR_END);\n if (days < startDays || days > endDays) return super.fromJulianDay(jd);\n else {\n let y = $f2f3e0e3a817edbd$var$UMALQURA_YEAR_START - 1;\n let m = 1;\n let d = 1;\n while(d > 0){\n y++;\n d = days - $f2f3e0e3a817edbd$var$umalquraYearStart(y) + 1;\n let yearLength = $f2f3e0e3a817edbd$var$umalquraYearLength(y);\n if (d === yearLength) {\n m = 12;\n break;\n } else if (d < yearLength) {\n let monthLength = $f2f3e0e3a817edbd$var$umalquraMonthLength(y, m);\n m = 1;\n while(d > monthLength){\n d -= monthLength;\n m++;\n monthLength = $f2f3e0e3a817edbd$var$umalquraMonthLength(y, m);\n }\n break;\n }\n }\n return new (0, $35ea8db9cb2ccb90$export$99faa760c7908e4f)(this, y, m, days - $f2f3e0e3a817edbd$var$umalquraMonthStart(y, m) + 1);\n }\n }\n toJulianDay(date) {\n if (date.year < $f2f3e0e3a817edbd$var$UMALQURA_YEAR_START || date.year > $f2f3e0e3a817edbd$var$UMALQURA_YEAR_END) return super.toJulianDay(date);\n return $f2f3e0e3a817edbd$var$CIVIL_EPOC + $f2f3e0e3a817edbd$var$umalquraMonthStart(date.year, date.month) + (date.day - 1);\n }\n getDaysInMonth(date) {\n if (date.year < $f2f3e0e3a817edbd$var$UMALQURA_YEAR_START || date.year > $f2f3e0e3a817edbd$var$UMALQURA_YEAR_END) return super.getDaysInMonth(date);\n return $f2f3e0e3a817edbd$var$umalquraMonthLength(date.year, date.month);\n }\n getDaysInYear(date) {\n if (date.year < $f2f3e0e3a817edbd$var$UMALQURA_YEAR_START || date.year > $f2f3e0e3a817edbd$var$UMALQURA_YEAR_END) return super.getDaysInYear(date);\n return $f2f3e0e3a817edbd$var$umalquraYearLength(date.year);\n }\n constructor(){\n super(), this.identifier = 'islamic-umalqura';\n if (!$f2f3e0e3a817edbd$var$UMALQURA_MONTHLENGTH) $f2f3e0e3a817edbd$var$UMALQURA_MONTHLENGTH = new Uint16Array(Uint8Array.from(atob($f2f3e0e3a817edbd$var$UMALQURA_DATA), (c)=>c.charCodeAt(0)).buffer);\n if (!$f2f3e0e3a817edbd$var$UMALQURA_YEAR_START_TABLE) {\n $f2f3e0e3a817edbd$var$UMALQURA_YEAR_START_TABLE = new Uint32Array($f2f3e0e3a817edbd$var$UMALQURA_YEAR_END - $f2f3e0e3a817edbd$var$UMALQURA_YEAR_START + 1);\n let yearStart = 0;\n for(let year = $f2f3e0e3a817edbd$var$UMALQURA_YEAR_START; year <= $f2f3e0e3a817edbd$var$UMALQURA_YEAR_END; year++){\n $f2f3e0e3a817edbd$var$UMALQURA_YEAR_START_TABLE[year - $f2f3e0e3a817edbd$var$UMALQURA_YEAR_START] = yearStart;\n for(let i = 1; i <= 12; i++)yearStart += $f2f3e0e3a817edbd$var$umalquraMonthLength(year, i);\n }\n }\n }\n}\n\n\nexport {$f2f3e0e3a817edbd$export$2066795aadd37bfc as IslamicCivilCalendar, $f2f3e0e3a817edbd$export$37f0887f2f9d22f7 as IslamicTabularCalendar, $f2f3e0e3a817edbd$export$5baab4758c231076 as IslamicUmalquraCalendar};\n//# sourceMappingURL=IslamicCalendar.module.js.map\n","import {CalendarDate as $35ea8db9cb2ccb90$export$99faa760c7908e4f} from \"./CalendarDate.mjs\";\nimport {GregorianCalendar as $3b62074eb05584b2$export$80ee6245ec4f29ec} from \"./GregorianCalendar.mjs\";\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\nconst $62225008020f0a13$var$ERA_START_DATES = [\n [\n 1868,\n 9,\n 8\n ],\n [\n 1912,\n 7,\n 30\n ],\n [\n 1926,\n 12,\n 25\n ],\n [\n 1989,\n 1,\n 8\n ],\n [\n 2019,\n 5,\n 1\n ]\n];\nconst $62225008020f0a13$var$ERA_END_DATES = [\n [\n 1912,\n 7,\n 29\n ],\n [\n 1926,\n 12,\n 24\n ],\n [\n 1989,\n 1,\n 7\n ],\n [\n 2019,\n 4,\n 30\n ]\n];\nconst $62225008020f0a13$var$ERA_ADDENDS = [\n 1867,\n 1911,\n 1925,\n 1988,\n 2018\n];\nconst $62225008020f0a13$var$ERA_NAMES = [\n 'meiji',\n 'taisho',\n 'showa',\n 'heisei',\n 'reiwa'\n];\nfunction $62225008020f0a13$var$findEraFromGregorianDate(date) {\n const idx = $62225008020f0a13$var$ERA_START_DATES.findIndex(([year, month, day])=>{\n if (date.year < year) return true;\n if (date.year === year && date.month < month) return true;\n if (date.year === year && date.month === month && date.day < day) return true;\n return false;\n });\n if (idx === -1) return $62225008020f0a13$var$ERA_START_DATES.length - 1;\n if (idx === 0) return 0;\n return idx - 1;\n}\nfunction $62225008020f0a13$var$toGregorian(date) {\n let eraAddend = $62225008020f0a13$var$ERA_ADDENDS[$62225008020f0a13$var$ERA_NAMES.indexOf(date.era)];\n if (!eraAddend) throw new Error('Unknown era: ' + date.era);\n return new (0, $35ea8db9cb2ccb90$export$99faa760c7908e4f)(date.year + eraAddend, date.month, date.day);\n}\nclass $62225008020f0a13$export$b746ab2b60cdffbf extends (0, $3b62074eb05584b2$export$80ee6245ec4f29ec) {\n fromJulianDay(jd) {\n let date = super.fromJulianDay(jd);\n let era = $62225008020f0a13$var$findEraFromGregorianDate(date);\n return new (0, $35ea8db9cb2ccb90$export$99faa760c7908e4f)(this, $62225008020f0a13$var$ERA_NAMES[era], date.year - $62225008020f0a13$var$ERA_ADDENDS[era], date.month, date.day);\n }\n toJulianDay(date) {\n return super.toJulianDay($62225008020f0a13$var$toGregorian(date));\n }\n balanceDate(date) {\n let gregorianDate = $62225008020f0a13$var$toGregorian(date);\n let era = $62225008020f0a13$var$findEraFromGregorianDate(gregorianDate);\n if ($62225008020f0a13$var$ERA_NAMES[era] !== date.era) {\n date.era = $62225008020f0a13$var$ERA_NAMES[era];\n date.year = gregorianDate.year - $62225008020f0a13$var$ERA_ADDENDS[era];\n }\n // Constrain in case we went before the first supported era.\n this.constrainDate(date);\n }\n constrainDate(date) {\n let idx = $62225008020f0a13$var$ERA_NAMES.indexOf(date.era);\n let end = $62225008020f0a13$var$ERA_END_DATES[idx];\n if (end != null) {\n let [endYear, endMonth, endDay] = end;\n // Constrain the year to the maximum possible value in the era.\n // Then constrain the month and day fields within that.\n let maxYear = endYear - $62225008020f0a13$var$ERA_ADDENDS[idx];\n date.year = Math.max(1, Math.min(maxYear, date.year));\n if (date.year === maxYear) {\n date.month = Math.min(endMonth, date.month);\n if (date.month === endMonth) date.day = Math.min(endDay, date.day);\n }\n }\n if (date.year === 1 && idx >= 0) {\n let [, startMonth, startDay] = $62225008020f0a13$var$ERA_START_DATES[idx];\n date.month = Math.max(startMonth, date.month);\n if (date.month === startMonth) date.day = Math.max(startDay, date.day);\n }\n }\n getEras() {\n return $62225008020f0a13$var$ERA_NAMES;\n }\n getYearsInEra(date) {\n // Get the number of years in the era, taking into account the date's month and day fields.\n let era = $62225008020f0a13$var$ERA_NAMES.indexOf(date.era);\n let cur = $62225008020f0a13$var$ERA_START_DATES[era];\n let next = $62225008020f0a13$var$ERA_START_DATES[era + 1];\n if (next == null) // 9999 gregorian is the maximum year allowed.\n return 9999 - cur[0] + 1;\n let years = next[0] - cur[0];\n if (date.month < next[1] || date.month === next[1] && date.day < next[2]) years++;\n return years;\n }\n getDaysInMonth(date) {\n return super.getDaysInMonth($62225008020f0a13$var$toGregorian(date));\n }\n getMinimumMonthInYear(date) {\n let start = $62225008020f0a13$var$getMinimums(date);\n return start ? start[1] : 1;\n }\n getMinimumDayInMonth(date) {\n let start = $62225008020f0a13$var$getMinimums(date);\n return start && date.month === start[1] ? start[2] : 1;\n }\n constructor(...args){\n super(...args), this.identifier = 'japanese';\n }\n}\nfunction $62225008020f0a13$var$getMinimums(date) {\n if (date.year === 1) {\n let idx = $62225008020f0a13$var$ERA_NAMES.indexOf(date.era);\n return $62225008020f0a13$var$ERA_START_DATES[idx];\n }\n}\n\n\nexport {$62225008020f0a13$export$b746ab2b60cdffbf as JapaneseCalendar};\n//# sourceMappingURL=JapaneseCalendar.module.js.map\n","import {CalendarDate as $35ea8db9cb2ccb90$export$99faa760c7908e4f} from \"./CalendarDate.mjs\";\nimport {mod as $2b4dce13dd5a17fa$export$842a2cf37af977e1} from \"./utils.mjs\";\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 $f3ed2e4472ae7e25$var$PERSIAN_EPOCH = 1948320;\n// Number of days from the start of the year to the start of each month.\nconst $f3ed2e4472ae7e25$var$MONTH_START = [\n 0,\n 31,\n 62,\n 93,\n 124,\n 155,\n 186,\n 216,\n 246,\n 276,\n 306,\n 336 // Esfand\n];\nclass $f3ed2e4472ae7e25$export$37fccdbfd14c5939 {\n fromJulianDay(jd) {\n let daysSinceEpoch = jd - $f3ed2e4472ae7e25$var$PERSIAN_EPOCH;\n let year = 1 + Math.floor((33 * daysSinceEpoch + 3) / 12053);\n let farvardin1 = 365 * (year - 1) + Math.floor((8 * year + 21) / 33);\n let dayOfYear = daysSinceEpoch - farvardin1;\n let month = dayOfYear < 216 ? Math.floor(dayOfYear / 31) : Math.floor((dayOfYear - 6) / 30);\n let day = dayOfYear - $f3ed2e4472ae7e25$var$MONTH_START[month] + 1;\n return new (0, $35ea8db9cb2ccb90$export$99faa760c7908e4f)(this, year, month + 1, day);\n }\n toJulianDay(date) {\n let jd = $f3ed2e4472ae7e25$var$PERSIAN_EPOCH - 1 + 365 * (date.year - 1) + Math.floor((8 * date.year + 21) / 33);\n jd += $f3ed2e4472ae7e25$var$MONTH_START[date.month - 1];\n jd += date.day;\n return jd;\n }\n getMonthsInYear() {\n return 12;\n }\n getDaysInMonth(date) {\n if (date.month <= 6) return 31;\n if (date.month <= 11) return 30;\n let isLeapYear = (0, $2b4dce13dd5a17fa$export$842a2cf37af977e1)(25 * date.year + 11, 33) < 8;\n return isLeapYear ? 30 : 29;\n }\n getEras() {\n return [\n 'AP'\n ];\n }\n getYearsInEra() {\n // 9378-10-10 persian is 9999-12-31 gregorian.\n // Round down to 9377 to set the maximum full year.\n return 9377;\n }\n constructor(){\n this.identifier = 'persian';\n }\n}\n\n\nexport {$f3ed2e4472ae7e25$export$37fccdbfd14c5939 as PersianCalendar};\n//# sourceMappingURL=PersianCalendar.module.js.map\n","import {CalendarDate as $35ea8db9cb2ccb90$export$99faa760c7908e4f} from \"./CalendarDate.mjs\";\nimport {fromExtendedYear as $3b62074eb05584b2$export$4475b7e617eb123c, getExtendedYear as $3b62074eb05584b2$export$c36e0ecb2d4fa69d, GregorianCalendar as $3b62074eb05584b2$export$80ee6245ec4f29ec} from \"./GregorianCalendar.mjs\";\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 $5f31bd6f0c8940b2$var$TAIWAN_ERA_START = 1911;\nfunction $5f31bd6f0c8940b2$var$gregorianYear(date) {\n return date.era === 'minguo' ? date.year + $5f31bd6f0c8940b2$var$TAIWAN_ERA_START : 1 - date.year + $5f31bd6f0c8940b2$var$TAIWAN_ERA_START;\n}\nfunction $5f31bd6f0c8940b2$var$gregorianToTaiwan(year) {\n let y = year - $5f31bd6f0c8940b2$var$TAIWAN_ERA_START;\n if (y > 0) return [\n 'minguo',\n y\n ];\n else return [\n 'before_minguo',\n 1 - y\n ];\n}\nclass $5f31bd6f0c8940b2$export$65e01080afcb0799 extends (0, $3b62074eb05584b2$export$80ee6245ec4f29ec) {\n fromJulianDay(jd) {\n let date = super.fromJulianDay(jd);\n let extendedYear = (0, $3b62074eb05584b2$export$c36e0ecb2d4fa69d)(date.era, date.year);\n let [era, year] = $5f31bd6f0c8940b2$var$gregorianToTaiwan(extendedYear);\n return new (0, $35ea8db9cb2ccb90$export$99faa760c7908e4f)(this, era, year, date.month, date.day);\n }\n toJulianDay(date) {\n return super.toJulianDay($5f31bd6f0c8940b2$var$toGregorian(date));\n }\n getEras() {\n return [\n 'before_minguo',\n 'minguo'\n ];\n }\n balanceDate(date) {\n let [era, year] = $5f31bd6f0c8940b2$var$gregorianToTaiwan($5f31bd6f0c8940b2$var$gregorianYear(date));\n date.era = era;\n date.year = year;\n }\n isInverseEra(date) {\n return date.era === 'before_minguo';\n }\n getDaysInMonth(date) {\n return super.getDaysInMonth($5f31bd6f0c8940b2$var$toGregorian(date));\n }\n getYearsInEra(date) {\n return date.era === 'before_minguo' ? 9999 : 9999 - $5f31bd6f0c8940b2$var$TAIWAN_ERA_START;\n }\n constructor(...args){\n super(...args), this.identifier = 'roc' // Republic of China\n ;\n }\n}\nfunction $5f31bd6f0c8940b2$var$toGregorian(date) {\n let [era, year] = (0, $3b62074eb05584b2$export$4475b7e617eb123c)($5f31bd6f0c8940b2$var$gregorianYear(date));\n return new (0, $35ea8db9cb2ccb90$export$99faa760c7908e4f)(era, year, date.month, date.day);\n}\n\n\nexport {$5f31bd6f0c8940b2$export$65e01080afcb0799 as TaiwanCalendar};\n//# sourceMappingURL=TaiwanCalendar.module.js.map\n","/**\n * @module\n * @category Date and Time\n */\nimport type { i18n } from 'i18next';\nimport {\n type CalendarDateTime,\n type ZonedDateTime,\n createCalendar,\n toCalendar,\n type CalendarDate,\n} from '@internationalized/date';\nimport dayjs from 'dayjs';\nimport utc from 'dayjs/plugin/utc';\nimport isToday from 'dayjs/plugin/isToday';\nimport { getLocale } from '@openmrs/esm-utils';\n\ndayjs.extend(utc);\ndayjs.extend(isToday);\n\ndeclare global {\n interface Window {\n i18next: i18n;\n }\n}\n\nexport type DateInput = string | number | Date;\n\nconst isoFormat = 'YYYY-MM-DDTHH:mm:ss.SSSZZ';\n\n/**\n * This function checks whether a date string is the OpenMRS ISO format.\n * The format should be YYYY-MM-DDTHH:mm:ss.SSSZZ\n */\nexport function isOmrsDateStrict(omrsPayloadString: string): boolean {\n // omrs format 2018-03-19T00:00:00.000+0300\n if (omrsPayloadString === null || omrsPayloadString === undefined || omrsPayloadString.trim().length !== 28) {\n return false;\n }\n omrsPayloadString = omrsPayloadString.trim();\n\n // 11th character will always be T\n if (omrsPayloadString[10] !== 'T') {\n return false;\n }\n\n // checking time format\n if (omrsPayloadString[13] !== ':' || omrsPayloadString[16] !== ':' || omrsPayloadString[19] !== '.') {\n return false;\n }\n\n // checking UTC offset format\n if (!(omrsPayloadString[23] === '+' || omrsPayloadString[23] === '-')) {\n return false;\n }\n\n return dayjs(omrsPayloadString, isoFormat).isValid();\n}\n\n/**\n *\n * @param date Checks if the provided date is today.\n */\nexport function isOmrsDateToday(date: DateInput) {\n return dayjs(date).isToday();\n}\n\n/**\n * Converts the object to a date object if it is an OpenMRS ISO date time string.\n * Otherwise returns null.\n */\nexport function toDateObjectStrict(omrsDateString: string): Date | null {\n if (!isOmrsDateStrict(omrsDateString)) {\n return null;\n }\n\n return dayjs(omrsDateString, isoFormat).toDate();\n}\n\n/**\n * Formats the input to OpenMRS ISO format: \"YYYY-MM-DDTHH:mm:ss.SSSZZ\".\n */\nexport function toOmrsIsoString(date: DateInput, toUTC = false): string {\n let d = dayjs(date);\n\n if (toUTC) {\n d = d.utc();\n }\n\n return d.format(isoFormat);\n}\n\n/**\n * Utility function to parse an arbitrary string into a date.\n * Uses `dayjs(dateString)`.\n */\nexport function parseDate(dateString: string) {\n return dayjs(dateString).toDate();\n}\n\nexport type FormatDateMode = 'standard' | 'wide';\n\nexport type FormatDateOptions = {\n /**\n * The calendar to use when formatting this date.\n */\n calendar?: string;\n /**\n * The locale to use when formatting this date\n */\n locale?: string;\n /**\n * - `standard`: \"03 Feb 2022\"\n * - `wide`: \"03 — Feb — 2022\"\n */\n mode: FormatDateMode;\n /**\n * Whether the time should be included in the output always (`true`),\n * never (`false`), or only when the input date is today (`for today`).\n */\n time: true | false | 'for today';\n /** Whether to include the day number */\n day: boolean;\n /** Whether to include the month number */\n month: boolean;\n /** Whether to include the year */\n year: boolean;\n /** The unicode numbering system to use */\n numberingSystem?: string;\n /**\n * Disables the special handling of dates that are today. If false\n * (the default), then dates that are today will be formatted as \"Today\"\n * in the locale language. If true, then dates that are today will be\n * formatted the same as all other dates.\n */\n noToday: boolean;\n};\n\nconst defaultOptions: FormatDateOptions = {\n mode: 'standard',\n time: 'for today',\n day: true,\n month: true,\n year: true,\n noToday: false,\n};\n\n/**\n * Internal cache for per-locale calendars\n */\nclass LocaleCalendars {\n #registry = new Map<string, string>();\n\n constructor() {\n this.#registry.set('am', 'ethiopic');\n }\n\n register(locale: string, calendar: string) {\n this.#registry.set(locale, calendar);\n }\n\n getCalendar(locale: Intl.Locale) {\n if (!Boolean(locale)) {\n return undefined;\n }\n\n if (locale.calendar) {\n return locale.calendar;\n }\n\n if (locale.region) {\n const key = `${locale.language}-${locale.region}`;\n if (this.#registry.has(key)) {\n return this.#registry.get(key);\n }\n }\n\n if (locale.language && this.#registry.has(locale.language)) {\n return this.#registry.get(locale.language);\n }\n\n const defaultCalendar = new Intl.DateTimeFormat(locale.toString()).resolvedOptions().calendar;\n\n // cache this result\n this.#registry.set(`${locale.language}${locale.region ? `-${locale.region}` : ''}`, defaultCalendar);\n\n return defaultCalendar;\n }\n}\n\nconst registeredLocaleCalendars = new LocaleCalendars();\n\n/**\n * Provides the name of the calendar to associate, as a default, with the given base locale.\n *\n * @example\n * ```\n * registerDefaultCalendar('en', 'buddhist') // sets the default calendar for the 'en' locale to Buddhist.\n * ```\n *\n * @param locale the locale to register this calendar for\n * @param calendar the calendar to use for this registration\n */\nexport function registerDefaultCalendar(locale: string, calendar: string) {\n registeredLocaleCalendars.register(locale, calendar);\n}\n\n/**\n * Retrieves the default calendar for the specified locale if any.\n *\n * @param locale the locale to look-up\n */\nexport function getDefaultCalendar(locale: Intl.Locale | string | undefined) {\n const locale_ = locale ?? getLocale();\n\n return registeredLocaleCalendars.getCalendar(locale_ instanceof Intl.Locale ? locale_ : new Intl.Locale(locale_));\n}\n\n/**\n * Formats the input date according to the current locale and the\n * given options.\n *\n * Default options:\n * - mode: \"standard\",\n * - time: \"for today\",\n * - day: true,\n * - month: true,\n * - year: true\n * - noToday: false\n *\n * If the date is today then \"Today\" is produced (in the locale language).\n * This behavior can be disabled with `noToday: true`.\n *\n * When time is included, it is appended with a comma and a space. This\n * agrees with the output of `Date.prototype.toLocaleString` for *most*\n * locales.\n */\n// TODO: Shouldn't throw on null input\nexport function formatDate(date: Date, options?: Partial<FormatDateOptions>) {\n let locale = options?.locale ?? getLocale();\n const _locale = new Intl.Locale(locale);\n\n const { calendar, mode, time, day, month, year, noToday, numberingSystem }: FormatDateOptions = {\n ...defaultOptions,\n ...{ noToday: _locale.language === 'am' ? true : false },\n ...options,\n };\n\n const formatCalendar = calendar ?? getDefaultCalendar(_locale);\n\n const formatterOptions: Intl.DateTimeFormatOptions = {\n calendar: formatCalendar,\n year: year ? 'numeric' : undefined,\n month: month ? 'short' : undefined,\n day: day ? '2-digit' : undefined,\n numberingSystem,\n };\n\n let localeString: string;\n const isToday = dayjs(date).isToday();\n if (isToday && !noToday) {\n // This produces the word \"Today\" in the language of `locale`\n const rtf = new Intl.RelativeTimeFormat(locale, { numeric: 'auto' });\n localeString = rtf.format(0, 'day');\n localeString = localeString[0].toLocaleUpperCase(locale) + localeString.slice(1);\n } else {\n if (_locale.language === 'en') {\n // This locale override is here rather than in `getLocale`\n // because Americans should see AM/PM for times.\n locale = 'en-GB';\n }\n\n const formatter = new Intl.DateTimeFormat(locale, formatterOptions);\n let parts = formatter.formatToParts(date);\n\n if ((_locale.language === 'en' || _locale.language === 'am') && mode == 'standard' && year && day) {\n // Custom formatting for English and Amharic. Use hyphens instead of spaces.\n parts = parts.map(formatParts('-'));\n }\n\n if (mode == 'wide') {\n parts = parts.map(formatParts(' — ')); // space-emdash-space\n }\n\n // omit the era when using the Ethiopic calendar\n if (formatterOptions.calendar === 'ethiopic') {\n parts = parts.filter((part, idx, values) => {\n if (\n part.type === 'era' ||\n (part.type === 'literal' && idx < values.length - 1 && values[idx + 1].type === 'era')\n ) {\n return false;\n }\n\n return true;\n });\n }\n\n localeString = parts.map((p) => p.value).join('');\n }\n if (time === true || (isToday && time === 'for today')) {\n localeString += `, ${formatTime(date)}`;\n }\n return localeString;\n}\n\n// Internal curried call-back for map()\nconst formatParts = (separator: string) => {\n return (part: Intl.DateTimeFormatPart, idx: number, values: Array<Intl.DateTimeFormatPart>) => {\n if (part.type !== 'literal' || part.value !== ' ') {\n return part;\n }\n\n if (idx < values.length - 1 && values[idx + 1].type === 'era') {\n return part;\n }\n\n return { type: 'literal', value: separator } as Intl.DateTimeFormatPart;\n };\n};\n\n/**\n * Formats the input as a time, according to the current locale.\n * 12-hour or 24-hour clock depends on locale.\n */\nexport function formatTime(date: Date) {\n return date.toLocaleTimeString(getLocale(), {\n hour: '2-digit',\n minute: '2-digit',\n });\n}\n\n/**\n * Formats the input into a string showing the date and time, according\n * to the current locale. The `mode` parameter is as described for\n * `formatDate`.\n *\n * This is created by concatenating the results of `formatDate`\n * and `formatTime` with a comma and space. This agrees with the\n * output of `Date.prototype.toLocaleString` for *most* locales.\n */\nexport function formatDatetime(date: Date, options?: Partial<Omit<FormatDateOptions, 'time'>>) {\n return formatDate(date, { ...options, time: true });\n}\n\n/**\n * Converts a calendar date to the equivalent locale calendar date.\n * @returns CalendarDate\n */\nexport function convertToLocaleCalendar(\n date: CalendarDate | CalendarDateTime | ZonedDateTime,\n locale: string | Intl.Locale,\n) {\n let locale_ = typeof locale === 'string' ? new Intl.Locale(locale) : locale;\n const localCalendarName = getDefaultCalendar(locale_);\n\n return localCalendarName ? toCalendar(date, createCalendar(localCalendarName)) : date;\n}\n","import {BuddhistCalendar as $8d73d47422ca7302$export$42d20a78301dee44} from \"./BuddhistCalendar.mjs\";\nimport {CopticCalendar as $b956b2d7a6cf451f$export$fe6243cbe1a4b7c1, EthiopicAmeteAlemCalendar as $b956b2d7a6cf451f$export$d72e0c37005a4914, EthiopicCalendar as $b956b2d7a6cf451f$export$26ba6eab5e20cd7d} from \"./EthiopicCalendar.mjs\";\nimport {GregorianCalendar as $3b62074eb05584b2$export$80ee6245ec4f29ec} from \"./GregorianCalendar.mjs\";\nimport {HebrewCalendar as $7c5f6fbf42389787$export$ca405048b8fb5af} from \"./HebrewCalendar.mjs\";\nimport {IndianCalendar as $82c358003bdda0a8$export$39f31c639fa15726} from \"./IndianCalendar.mjs\";\nimport {IslamicCivilCalendar as $f2f3e0e3a817edbd$export$2066795aadd37bfc, IslamicTabularCalendar as $f2f3e0e3a817edbd$export$37f0887f2f9d22f7, IslamicUmalquraCalendar as $f2f3e0e3a817edbd$export$5baab4758c231076} from \"./IslamicCalendar.mjs\";\nimport {JapaneseCalendar as $62225008020f0a13$export$b746ab2b60cdffbf} from \"./JapaneseCalendar.mjs\";\nimport {PersianCalendar as $f3ed2e4472ae7e25$export$37fccdbfd14c5939} from \"./PersianCalendar.mjs\";\nimport {TaiwanCalendar as $5f31bd6f0c8940b2$export$65e01080afcb0799} from \"./TaiwanCalendar.mjs\";\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\n\n\n\nfunction $64244302c3013299$export$dd0bbc9b26defe37(name) {\n switch(name){\n case 'buddhist':\n return new (0, $8d73d47422ca7302$export$42d20a78301dee44)();\n case 'ethiopic':\n return new (0, $b956b2d7a6cf451f$export$26ba6eab5e20cd7d)();\n case 'ethioaa':\n return new (0, $b956b2d7a6cf451f$export$d72e0c37005a4914)();\n case 'coptic':\n return new (0, $b956b2d7a6cf451f$export$fe6243cbe1a4b7c1)();\n case 'hebrew':\n return new (0, $7c5f6fbf42389787$export$ca405048b8fb5af)();\n case 'indian':\n return new (0, $82c358003bdda0a8$export$39f31c639fa15726)();\n case 'islamic-civil':\n return new (0, $f2f3e0e3a817edbd$export$2066795aadd37bfc)();\n case 'islamic-tbla':\n return new (0, $f2f3e0e3a817edbd$export$37f0887f2f9d22f7)();\n case 'islamic-umalqura':\n return new (0, $f2f3e0e3a817edbd$export$5baab4758c231076)();\n case 'japanese':\n return new (0, $62225008020f0a13$export$b746ab2b60cdffbf)();\n case 'persian':\n return new (0, $f3ed2e4472ae7e25$export$37fccdbfd14c5939)();\n case 'roc':\n return new (0, $5f31bd6f0c8940b2$export$65e01080afcb0799)();\n case 'gregory':\n default:\n return new (0, $3b62074eb05584b2$export$80ee6245ec4f29ec)();\n }\n}\n\n\nexport {$64244302c3013299$export$dd0bbc9b26defe37 as createCalendar};\n//# sourceMappingURL=createCalendar.module.js.map\n","import type {} from '@openmrs/esm-globals';\n\nexport function isOnline(online?: boolean) {\n return window.offlineEnabled ? online ?? navigator.onLine : true;\n}\n","/** @module @category Utility */\n\nimport { type NameUse } from '@openmrs/esm-globals';\n\n/**\n * Gets the formatted display name for a patient.\n *\n * The display name will be taken from the patient's 'usual' name,\n * or may fall back to the patient's 'official' name.\n *\n * @param patient The patient details in FHIR format.\n * @returns The patient's display name or an empty string if name is not present.\n */\nexport function getPatientName(patient: fhir.Patient): string {\n const name = selectPreferredName(patient, 'usual', 'official');\n return formatPatientName(name);\n}\n\n/** @deprecated Use `getPatientName` */\nexport function displayName(patient: fhir.Patient): string {\n return getPatientName(patient);\n}\n\n/**\n * Get a formatted display string for an FHIR name.\n * @param name The name to be formatted.\n * @returns The formatted display name or an empty string if name is undefined.\n */\nexport function formatPatientName(name: fhir.HumanName | undefined): string {\n if (name) return name.text ?? defaultFormat(name);\n return '';\n}\n\n/** @deprecated Use `formatPatientName` */\nexport function formattedName(name: fhir.HumanName | undefined): string {\n return formatPatientName(name);\n}\n\n/**\n * Select the preferred name from the collection of names associated with a patient.\n *\n * Names may be specified with a usage such as 'usual', 'official', 'nickname', 'maiden', etc.\n * A name with no usage specified is treated as the 'usual' name.\n *\n * The chosen name will be selected according to the priority order of `preferredNames`,\n * @example\n * // normal use case; prefer usual name, fallback to official name\n * displayNameByUsage(patient, 'usual', 'official')\n * @example\n * // prefer usual name over nickname, fallback to official name\n * displayNameByUsage(patient, 'usual', 'nickname', 'official')\n *\n * @param patient The patient from whom a name will be selected.\n * @param preferredNames Optional ordered sequence of preferred name usages; defaults to 'usual' if not specified.\n * @return the preferred name for the patient, or undefined if no acceptable name could be found.\n */\nexport function selectPreferredName(patient: fhir.Patient, ...preferredNames: NameUse[]): fhir.HumanName | undefined {\n if (preferredNames.length == 0) {\n preferredNames = ['usual'];\n }\n for (const usage of preferredNames) {\n const name = patient.name?.find((name) => nameUsageMatches(name, usage));\n if (name) {\n return name;\n }\n }\n return undefined;\n}\n\n/**\n * Generate a display name by concatenating forenames and surname.\n * @param name the person's name.\n * @returns the person's name as a string.\n */\nfunction defaultFormat(name: fhir.HumanName): string {\n const forenames: string[] = name.given ?? [];\n const names: string[] = name.family ? forenames.concat(name.family) : forenames;\n return names.join(' ');\n}\n\n/**\n * Determine whether the usage of a given name matches the given NameUse.\n *\n * A name with no usage is treated as the 'usual' name.\n *\n * @param name the name to test.\n * @param usage the NameUse to test for.\n */\nfunction nameUsageMatches(name: fhir.HumanName, usage: NameUse): boolean {\n if (!name.use)\n // a name with no usage is treated as 'usual'\n return usage === 'usual';\n\n return name.use === usage;\n}\n","/** @module @category Utility */\n\n/**\n * Checks whether two objects are equal, using a shallow comparison, similar to React.\n *\n * In essence, shallowEquals ensures two objects have the same own properties and that the values\n * of these are equal (===) to each other.\n *\n * @param a The first value to compare\n * @param b The second value to compare\n * @returns true if the objects are shallowly equal to each other\n */\nexport function shallowEqual(a: unknown, b: unknown) {\n if (a === b || Object.is(a, b)) {\n return true;\n }\n\n if (Array.isArray(a)) {\n if (!Array.isArray(b)) {\n return false;\n }\n\n if (a.length !== b.length) {\n return false;\n }\n\n for (let i = 0; i < a.length; i++) {\n if (a[i] !== b[i]) {\n return false;\n }\n }\n\n return true;\n } else if (Array.isArray(b)) {\n return false;\n }\n\n if (typeof a !== 'object' || a === null || typeof b !== 'object' || b === null) {\n return false;\n }\n\n const objAKeys = Object.getOwnPropertyNames(a);\n const objBKeys = Object.getOwnPropertyNames(b);\n\n return objAKeys.length === objBKeys.length && objAKeys.every((key) => a[key] === b[key]);\n}\n","/** @module @category Utility */\n\n/**\n * Simple utility function to determine if an object implementing the WebStorage API\n * is actually available. Useful for testing the availability of `localStorage` or\n * `sessionStorage`.\n *\n * @param storage The WebStorage API object to check. Defaults to `localStorage`.\n * @returns True if the WebStorage API object is able to be accessed, false otherwise\n */\nexport function canAccessStorage(storage: Storage = window.localStorage) {\n try {\n storage.getItem('test');\n return true;\n } catch {\n return false;\n }\n}\n","/** @module @category Utility */\n\n/**\n * Given a config schema, this returns an object like is returned by `useConfig`\n * with all default values.\n *\n * This should be used in tests and not in production code.\n *\n * If all you need is the default values in your tests, these are returned by\n * default from the `useConfig`/`getConfig` mock. This function is useful if you\n * need to override some of the default values.\n */\nexport function getDefaultsFromConfigSchema<T = Record<string, any>>(schema): T {\n let tmp = {};\n for (let k of Object.keys(schema)) {\n if (schema[k].hasOwnProperty('_default')) {\n tmp[k] = schema[k]._default;\n } else if (k.startsWith('_')) {\n continue;\n } else if (isOrdinaryObject(schema[k])) {\n tmp[k] = getDefaultsFromConfigSchema(schema[k]);\n } else {\n tmp[k] = schema[k];\n }\n }\n return tmp as T;\n}\n\nfunction isOrdinaryObject(x) {\n return !!x && x.constructor === Object;\n}\n","/** @module @category Utility */\nimport * as semver from 'semver';\n\nfunction normalizeOnlyVersion(version: string) {\n const [major, minor, patch] = version.split('.');\n return `${major}.${minor}.${patch}`;\n}\n\nfunction normalizeFullVersion(version: string) {\n const idx = version.indexOf('-');\n const prerelease = idx >= 0;\n\n if (prerelease) {\n const ver = normalizeOnlyVersion(version.slice(0, idx));\n const pre = version.slice(idx + 1);\n return `${ver}-${pre}`;\n }\n\n return normalizeOnlyVersion(version);\n}\n\nexport function isVersionSatisfied(requiredVersion: string, installedVersion: string) {\n const version = normalizeFullVersion(installedVersion);\n\n return semver.satisfies(version, requiredVersion, {\n includePrerelease: true,\n } as semver.Options);\n}\n","/** @module @category Utility */\n\n/**\n * Options for configuring the behavior of the {@link retry} function.\n */\nexport interface RetryOptions {\n /**\n * Determines whether the retry function should retry executing the function after it failed\n * with an error on the current attempt.\n * @param attempt The current (zero-based) retry attempt. `0` indicates the initial attempt.\n */\n shouldRetry?(attempt: number);\n /**\n * Calculates the next delay (in milliseconds) before a retry attempt.\n * Returning a value for the inital attempt (`0`) delays the initial function invocation.\n * @param attempt The current (zero-based) retry attempt. `0` indicates the initial attempt.\n */\n getDelay?(attempt: number): number;\n /**\n * Called when invoking the function resulted in an error.\n * Allows running side-effects on errors, e.g. logging.\n * @param e The error thrown by the function.\n * @param attempt The current (zero-based) retry attempt. `0` indicates the initial attempt.\n */\n onError?(e: any, attempt: number): void;\n}\n\n/**\n * Executes the specified function and retries executing on failure with a custom backoff strategy\n * defined by the options.\n *\n * If not configured otherwise, this function uses the following default options:\n * * Retries 5 times beyond the initial attempt.\n * * Uses an exponential backoff starting with an initial delay of 1000ms.\n * @param fn The function to be executed and retried on failure.\n * @param options Additional options which configure the retry behavior.\n * @returns The result of successfully executing `fn`.\n * @throws Rethrows the final error of running `fn` when the function stops retrying.\n */\nexport async function retry<T>(fn: () => Promise<T>, options: RetryOptions = {}) {\n let { shouldRetry, getDelay, onError } = options;\n shouldRetry = shouldRetry ?? ((attempt) => limitAttempts(attempt, 5));\n getDelay = getDelay ?? ((attempt) => getExponentialDelay(attempt, 1000));\n\n let attempt = 0;\n let lastError: any = undefined;\n\n do {\n try {\n await delay(getDelay(attempt));\n return await fn();\n } catch (e) {\n onError?.(e, attempt);\n lastError = e;\n }\n } while (shouldRetry(attempt++));\n\n // If we reach this fn errored and shouldn't retry anymore. Simply rethrow the final error as\n // a means of ending the retry process without a result.\n throw lastError;\n}\n\nfunction limitAttempts(attempt: number, maxAttempts: number) {\n return attempt <= maxAttempts;\n}\n\nfunction getExponentialDelay(attempt: number, startingDelay: number, initialDelay = false) {\n const exponent = initialDelay ? attempt + 1 : attempt;\n return startingDelay * Math.pow(2, exponent);\n}\n\nasync function delay(ms: number) {\n if (ms <= 0) {\n return;\n }\n\n return new Promise<void>((res) => setTimeout(res, ms));\n}\n"],"names":["Object","defineProperty","exports","value","__exportStar","CanonicalizeLocaleList","locales","Intl","getCanonicalLocales","CanonicalizeTimeZoneName","tz","_a","zoneNames","uppercaseLinks","uppercasedTz","toUpperCase","uppercasedZones","reduce","all","z","ianaTimeZone","ToString","o","TypeError","String","ToNumber","val","undefined","NaN","Number","TimeClip","time","isFinite","Math","abs","n","number","isNaN","SameValue","integer","floor","ToInteger","ToObject","arg","x","y","is","ArrayCreate","len","Array","HasOwnProperty","prop","prototype","hasOwnProperty","call","Type","MS_PER_DAY","mod","Day","t","WeekDay","DayFromYear","Date","UTC","TimeFromYear","YearFromTime","getUTCFullYear","DaysInYear","DayWithinYear","InLeapYear","MonthFromTime","dwy","leap","Error","DateFromTime","mft","HOURS_PER_DAY","MINUTES_PER_HOUR","SECONDS_PER_MINUTE","MS_PER_SECOND","MS_PER_MINUTE","MS_PER_HOUR","HourFromTime","MinFromTime","SecFromTime","OrdinaryHasInstance","C","O","internalSlots","boundTargetFunction","P","isPrototypeOf","msFromTime","CoerceOptionsToObject","options","create","DefaultNumberOption","inputVal","min","max","fallback","RangeError","concat","GetNumberOption","property","minimum","maximum","GetOption","opts","type","values","Boolean","filter","length","join","GetOptionsObject","GetStringOrBooleanOption","trueValue","falsyValue","indexOf","SANCTIONED_UNITS","removeUnitNamespace","unit","slice","SIMPLE_UNITS","map","IsSanctionedSimpleUnitIdentifier","unitIdentifier","IsValidTimeZoneName","zoneNamesFromData","Set","linkNames","forEach","add","keys","linkName","has","NOT_A_Z_REGEX","IsWellFormedCurrencyCode","currency","replace","_","c","test","IsWellFormedUnitIdentifier","toLowerCase","units","split","numerator","denominator","ApplyUnsignedRoundingMode","r1","r2","unsignedRoundingMode","d1","d2","CollapseNumberRange","result","getMagnitude","log","LOG10E","repeat","s","times","arr","i","setInternalSlot","pl","field","get","set","setMultiInternalSlots","props","_i","k","getInternalSlot","getMultiInternalSlots","fields","arguments","slots","f","isLiteralPart","patternPart","target","name","configurable","enumerable","writable","createDataProperty","invariant","condition","message","Err","ComputeExponentForMagnitude","numberFormat","magnitude","getInternalSlots","notation","dataLocaleData","numberingSystem","compactDisplay","style","currencyDisplay","thresholdMap","numbers","nu","short","decimal","long","num","pow","thresholds","magnitudeKey","other","match","ToRawPrecision","minPrecision","maxPrecision","m","e","xFinal","int","p","xToString","toString","xToStringExponentIndex","xToStringMantissa","xToStringExponent","xToStringMantissaWithoutDecimalPoint","decimalPlaceOffset","round","adjustDecimalPlace","cut","formattedString","roundedNumber","integerDigitsCount","ToRawFixed","minFraction","maxFraction","mantissa","exponent","a","b","FormatNumericToString","intlObject","isNegative","roundingType","minimumSignificantDigits","maximumSignificantDigits","minimumFractionDigits","maximumFractionDigits","string","minInteger","minimumIntegerDigits","ComputeExponent","formatNumberResult","CurrencyDigits","currencyDigitsData","FormatApproximately","approximatelySign","symbols","push","S_UNICODE_REGEX","digitMapping","CARET_S_UNICODE_REGEX","RegExp","source","S_DOLLAR_UNICODE_REGEX","CLDR_NUMBER_PATTERN","formatToParts","numberResult","data","nonNameCurrencyPart","numberPattern","sign","defaultNumberingSystem","compactNumberPattern","pattern","compactPluralRules","byNumberingSystem","selectPlural","compactPlaralRule","getPatternForSign","getCompactDisplayPattern","byCurrencyDisplay","currencies","symbol","narrow","standard","currencyData","currencySign","percent","decimalNumberPattern","exec","afterCurrency","currencySpacing","afterInsertBetween","beforeCurrency","beforeInsertBetween","numberPatternParts","numberParts","numberPatternParts_1","part","apply","paritionNumberIntoParts","useGrouping","minusSign","plusSign","percentSign","substring","unitName","unitPattern","currencyNameData","displayName","unitPatternParts_1","unitDisplay","unitData","simple","_b","numeratorUnit","denominatorUnit","numeratorUnitPattern","perUnitPattern","perUnit","perPattern","compound","per","denominatorPattern","_c","_d","interpolateMatch","digitReplacementTable","digit","fraction","decimalSepIndex","groupSepSymbol","currencyGroup","group","groups","patternGroups","primaryGroupingSize","secondaryGroupingSize","integerGroup","pop","decimalSepSymbol","currencyDecimal","exponential","exponentResult","zeroPattern","negativePattern","rules","select","PartitionNumberPattern","nan","POSITIVE_INFINITY","NEGATIVE_INFINITY","infinity","signDisplay","PartitionNumberRangePattern","xResult","yResult","xResult_1","rangeSign","yResult_1","FormatNumericRange","FormatNumericRangeToParts","index","FormatNumericToParts","nf","implDetails","parts","parts_1","negativeMapping","ceil","expand","trunc","halfCeil","halfFloor","halfExpand","halfTrunc","halfEven","positiveMapping","GetUnsignedRoundingMode","roundingMode","SetNumberFormatDigitOptions","mnfdDefault","mxfdDefault","mnid","mnfd","mxfd","mnsd","mxsd","roundingPriority","hasSd","hasFd","needSd","needFd","SetNumberFormatUnitOptions","VALID_ROUND_INCREMENT_VALUES","InitializeNumberFormat","localeData","availableLocales","numberingSystemNames","getDefaultLocale","requestedLocales","opt","matcher","localeMatcher","r","ResolveLocale","from","dataLocale","locale","cDigits","roundingIncrement","trailingZeroDisplay","defaultUseGrouping","PartitionPattern","beginIndex","endIndex","nextIndex","SupportedLocales","LookupSupportedLocales","RangePatternType","_super","isMissingLocaleDataError","__extends","_this","this","DurationRecordSign","constants_1","record","TABLE_1_1","TABLE_1","key","GetDurationUnitOptions","ecma402_abstract_1","baseStyle","stylesList","digitalBase","prevStyle","displayDefault","displayField","display","IsValidDurationRecord","DurationRecordSign_1","v","PartitionDurationFormatPattern","core_1","get_internal_slots_1","df","duration","done","separated","DurationFormat","separator","digitalFormat","_loop_1","row","TABLE_2","valueField","styleSlot","displaySlot","numberFormatUnit","nfOpts","milliseconds","microseconds","nanoseconds","fractionalDigits","list_1","NumberFormat","lfOpts","listStyle","lf","ListFormat","strings","result_1","formatted","resultIndex","resultLength","flattened","formatted_1","parts_2","ToDurationRecord","IsValidDurationRecord_1","ToIntegerIfIntegral_1","input","years","months","weeks","days","hours","minutes","seconds","ToIntegerIfIntegral","isInteger","intl_localematcher_1","GetDurationUnitOptions_1","PartitionDurationFormatPattern_1","ToDurationRecord_1","numbering_systems_generated_1","time_separators_generated_1","RESOLVED_OPTIONS_KEYS","TABLE_3","digitalDefault","constructor","initializedDurationFormat","valueList","unitOptions","resolvedOptions","ro","RESOLVED_OPTIONS_KEYS_1","obj","format","supportedLocalesOf","__defaultLocale","TIME_SEPARATORS","separators","default","polyfilled","internalSlotMap","WeakMap","supplemental","languageMatching","paradigmLocales","_locales","$enUS","_value","$cnsar","$americas","$maghreb","no","_desired","_distance","bs","hr","sr","aa","de","_oneway","nb","ru","en","nl","es","ur","hi","zh","fr","fil","ar","sk","da","id","tr","it","az","et","ff","gn","iu","kln","kok","kpe","luy","lv","mg","mn","ms","ne","om","or","ps","qu","sc","sq","syr","uz","yi","regions","UNICODE_EXTENSION_SEQUENCE_REGEX","PROCESSED_DATA","DEFAULT_MATCHING_THRESHOLD","isMatched","languageMatchInfoLocale","matchVariables","language","script","region","matches","shouldInclude","expandedMatchedRegions","list","__spreadArray","serializeLSR","lsr","findMatchingDistanceForLSR","desired","supported","d","oneway","distance","BestFitMatcher","foundLocale","extension","noExtensionLocales","noExtensionLocaleMap","l","noExtensionLocale","supportedLocales","threshold","lowestDistance","Infinity","matchedDesiredLocale","distances","desiredLocale","Locale","maximize","supportedLocale","desiredLSR","supportedLSR","matchingDistance","processData","findMatchingDistance","matchedSupportedLocale","findBestMatch","BestAvailableLocale","candidate","pos","lastIndexOf","UnicodeExtensionValue","size","searchValue","start","end","relevantExtensionKeys","requestedLocales_1","availableLocale","LookupMatcher","supportedExtension","relevantExtensionKeys_1","foundLocaleData","keyLocaleData","isArray","supportedExtensionAddition","requestedValue","optionsValue","privateIndex","preExtension","postExtension","subset","defaultLocale","algorithm","module","isToday","u","utc","date","args","toDate","$L","utcOffset","local","parse","$u","$utils","$offset","init","$d","$y","$M","getUTCMonth","$D","getUTCDate","$W","getUTCDay","$H","getUTCHours","$m","getUTCMinutes","$s","getUTCSeconds","$ms","getUTCMilliseconds","getTimezoneOffset","$x","$localOffset","h","valueOf","isUTC","toISOString","toUTCString","diff","ANY","Symbol","Comparator","comp","loose","includePrerelease","debug","semver","operator","version","re","COMPARATORLOOSE","COMPARATOR","SemVer","er","cmp","intersects","Range","sameDirectionIncreasing","sameDirectionDecreasing","sameSemVer","differentDirectionsInclusive","oppositeDirectionsLessThan","oppositeDirectionsGreaterThan","range","raw","parseRange","trim","comps","HYPHENRANGELOOSE","HYPHENRANGE","hyphenReplace","COMPARATORTRIM","comparatorTrimReplace","TILDETRIM","tildeTrimReplace","CARETTRIM","caretTrimReplace","compRe","parseComparator","replaceGTE0","some","thisComparators","isSatisfiable","rangeComparators","every","thisComparator","rangeComparator","testSet","comparators","remainingComparators","testComparator","otherComparator","replaceCarets","replaceTildes","replaceXRanges","replaceStars","isX","replaceTilde","TILDELOOSE","TILDE","M","pr","ret","replaceCaret","CARETLOOSE","CARET","replaceXRange","XRANGELOOSE","XRANGE","gtlt","xM","xm","xp","anyX","STAR","GTE0PRE","GTE0","incPr","$0","fM","fm","fp","fpr","fb","to","tM","tm","tp","tpr","tb","prerelease","allowed","major","minor","patch","MAX_LENGTH","MAX_SAFE_INTEGER","compareIdentifiers","LOOSE","FULL","build","compare","compareMain","comparePre","compareBuild","inc","release","identifier","eq","neq","gt","gte","lt","lte","op","rtl","next","COERCERTL","lastIndex","COERCE","versionA","versionB","version1","version2","v1","v2","hasPre","prefix","defaultResult","parsed","sort","internalRe","src","tokens","SEMVER_SPEC_VERSION","rcompareIdentifiers","valid","clean","rcompare","compareLoose","rsort","coerce","satisfies","toComparators","maxSatisfying","minSatisfying","minVersion","validRange","outside","gtr","ltr","simplifyRange","MAX_SAFE_COMPONENT_LENGTH","process","env","NODE_DEBUG","console","error","numeric","anum","bnum","R","createToken","isGlobal","NUMERICIDENTIFIER","NUMERICIDENTIFIERLOOSE","NONNUMERICIDENTIFIER","PRERELEASEIDENTIFIER","PRERELEASEIDENTIFIERLOOSE","BUILDIDENTIFIER","MAINVERSION","PRERELEASE","BUILD","FULLPLAIN","MAINVERSIONLOOSE","PRERELEASELOOSE","LOOSEPLAIN","XRANGEIDENTIFIER","XRANGEIDENTIFIERLOOSE","GTLT","XRANGEPLAIN","XRANGEPLAINLOOSE","LONETILDE","LONECARET","versions","maxSV","rangeObj","minSV","minver","comparator","compver","hilo","gtfn","ltefn","ltfn","ecomp","high","low","prev","ranges","simplified","original","simpleSubset","sub","dom","eqSet","gtltComp","higher","lower","hasDomLT","hasDomGT","higherGT","lowerLT","sawNonNull","OUTER","simpleSub","simpleDom","isSub","__WEBPACK_EXTERNAL_MODULE__9688__","extendStatics","setPrototypeOf","__proto__","__","__assign","assign","__rest","getOwnPropertySymbols","propertyIsEnumerable","__decorate","decorators","desc","getOwnPropertyDescriptor","Reflect","decorate","__param","paramIndex","decorator","__esDecorate","ctor","descriptorIn","contextIn","initializers","extraInitializers","accept","kind","descriptor","context","access","addInitializer","unshift","__runInitializers","thisArg","useValue","__propKey","__setFunctionName","description","__metadata","metadataKey","metadataValue","metadata","__awaiter","_arguments","generator","Promise","resolve","reject","fulfilled","step","rejected","then","__generator","body","g","label","sent","trys","ops","verb","iterator","__createBinding","k2","__esModule","__values","__read","__spread","__spreadArrays","il","j","jl","pack","__await","__asyncGenerator","asyncIterator","q","resume","fulfill","settle","shift","__asyncDelegator","__asyncValues","__makeTemplateObject","cooked","__setModuleDefault","__importStar","__importDefault","__classPrivateFieldGet","receiver","state","__classPrivateFieldSet","__classPrivateFieldIn","__addDisposableResource","async","dispose","asyncDispose","stack","_SuppressedError","SuppressedError","suppressed","__disposeResources","fail","hasError","rec","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","getter","definition","toStringTag","getLocale","window","i18next","age","birthDate","currentDate","dayjs","hourDiff","dayDiff","weekDiff","monthDiff","yearDiff","minuteDiff","minutesDisplay","remainderDayDiff","subtract","remainderMonthDiff","$735220c2d4774dd3$export$e16d8520af44a096","mutableDate","copy","hour","minute","second","millisecond","$735220c2d4774dd3$var$nonNegativeMod","$735220c2d4774dd3$var$balanceTime","$735220c2d4774dd3$var$addTimeFields","$735220c2d4774dd3$var$addYears","calendar","balanceYearMonth","month","$735220c2d4774dd3$var$balanceYearMonth","$735220c2d4774dd3$var$constrainMonthDay","day","getDaysInMonth","$735220c2d4774dd3$var$balanceDay","balanceDate","year","maxYear","getYearsInEra","_mutableDate_calendar_isInverseEra","_mutableDate_calendar","isInverseEra","getMonthsInYear","maxMonth","_date_calendar_isInverseEra","_date_calendar","monthsInYear","constrainDate","$735220c2d4774dd3$export$4e2d2ead65e5f7e3","inverseDuration","$735220c2d4774dd3$export$3e2544e88a25bff8","$735220c2d4774dd3$export$adaa4cf7ef1b65be","era","$735220c2d4774dd3$export$d52ced6badfb9a4c","amount","mutable","eras","getEras","eraIndex","$735220c2d4774dd3$var$cycleValue","_mutable_calendar_isInverseEra","_mutable_calendar","div","$14e0f24ef4ac5c92$export$68781ddf31c0090f","toJulianDay","$14e0f24ef4ac5c92$var$timeToMs","$14e0f24ef4ac5c92$var$localTimeZone","DateTimeFormat","timeZone","$2b4dce13dd5a17fa$export$842a2cf37af977e1","Map","$3b62074eb05584b2$export$f297eb839006d339","y1","$3b62074eb05584b2$export$c36e0ecb2d4fa69d","monthOffset","$3b62074eb05584b2$export$553d7fa8e3805fc0","$3b62074eb05584b2$var$EPOCH","$3b62074eb05584b2$export$4475b7e617eb123c","$3b62074eb05584b2$var$daysInMonth","leapyear","fromJulianDay","jd","jd0","depoch","quadricent","dqc","cent","dcent","quad","dquad","yindex","extendedYear","yearDay","leapAdj","getDaysInYear","$fae977aafc393c5c$export$60dfd74aa96791bd","gregorianDate","padStart","_class_private_field_init","privateMap","privateCollection","_check_private_redeclaration","$35ea8db9cb2ccb90$var$shiftArgs","$35ea8db9cb2ccb90$var$_type","cycle","$11d87f3f76e88657$export$e67a095c620b86fe","$35ea8db9cb2ccb90$var$_type2","mutableValue","hourCycle","isPM","disambiguation","res","$11d87f3f76e88657$var$epochFromParts","setUTCHours","setUTCFullYear","getTime","$11d87f3f76e88657$export$59c99f3515d3493f","$11d87f3f76e88657$var$getTimeZoneParts","$11d87f3f76e88657$var$formattersByTimeZone","formatter","hour12","namedParts","$11d87f3f76e88657$var$DAYMILLIS","dateTime","setFullYear","setHours","offsetBefore","offsetAfter","earlier","later","absolute","$11d87f3f76e88657$var$isValidWallTime","$11d87f3f76e88657$var$getValidWallTimes","calendarDate","$8d73d47422ca7302$export$42d20a78301dee44","super","$8d73d47422ca7302$var$toGregorian","$b956b2d7a6cf451f$var$ETHIOPIC_EPOCH","$b956b2d7a6cf451f$var$COPTIC_EPOCH","$b956b2d7a6cf451f$var$AMETE_MIHRET_DELTA","$b956b2d7a6cf451f$var$ceToJulianDay","epoch","$b956b2d7a6cf451f$var$julianDayToCE","$b956b2d7a6cf451f$var$getLeapDay","$b956b2d7a6cf451f$var$getDaysInMonth","$b956b2d7a6cf451f$export$26ba6eab5e20cd7d","$b956b2d7a6cf451f$export$d72e0c37005a4914","$b956b2d7a6cf451f$export$fe6243cbe1a4b7c1","$7c5f6fbf42389787$var$HEBREW_EPOCH","$7c5f6fbf42389787$var$isLeapYear","$7c5f6fbf42389787$var$hebrewDelay1","$7c5f6fbf42389787$var$startOfYear","last","present","$7c5f6fbf42389787$var$hebrewDelay2","$7c5f6fbf42389787$var$getDaysInYear","$7c5f6fbf42389787$var$getDaysInMonth","yearType","yearLength","$7c5f6fbf42389787$var$getYearType","$7c5f6fbf42389787$export$ca405048b8fb5af","$7c5f6fbf42389787$var$MONTH_DAYS","ys","dayOfYear","monthStart","previousDate","$82c358003bdda0a8$export$39f31c639fa15726","leapMonth","indianMonth","indianDay","indianYear","yDay","mDay","$f2f3e0e3a817edbd$var$CIVIL_EPOC","$f2f3e0e3a817edbd$var$ASTRONOMICAL_EPOC","$f2f3e0e3a817edbd$var$UMALQURA_YEAR_START","$f2f3e0e3a817edbd$var$UMALQURA_YEAR_END","$f2f3e0e3a817edbd$var$UMALQURA_START_DAYS","$f2f3e0e3a817edbd$var$islamicToJulianDay","$f2f3e0e3a817edbd$var$julianDayToIslamic","$f2f3e0e3a817edbd$var$isLeapYear","$f2f3e0e3a817edbd$export$2066795aadd37bfc","$f2f3e0e3a817edbd$export$37f0887f2f9d22f7","$f2f3e0e3a817edbd$var$UMALQURA_MONTHLENGTH","$f2f3e0e3a817edbd$var$UMALQURA_YEAR_START_TABLE","$f2f3e0e3a817edbd$var$umalquraYearStart","$f2f3e0e3a817edbd$var$umalquraMonthLength","mask","$f2f3e0e3a817edbd$var$umalquraMonthStart","$f2f3e0e3a817edbd$var$umalquraYearLength","$f2f3e0e3a817edbd$export$5baab4758c231076","startDays","endDays","monthLength","Uint16Array","Uint8Array","atob","charCodeAt","buffer","Uint32Array","yearStart","$62225008020f0a13$var$ERA_START_DATES","$62225008020f0a13$var$ERA_END_DATES","$62225008020f0a13$var$ERA_ADDENDS","$62225008020f0a13$var$ERA_NAMES","$62225008020f0a13$var$findEraFromGregorianDate","idx","findIndex","$62225008020f0a13$var$toGregorian","eraAddend","$62225008020f0a13$export$b746ab2b60cdffbf","endYear","endMonth","endDay","startMonth","startDay","cur","getMinimumMonthInYear","$62225008020f0a13$var$getMinimums","getMinimumDayInMonth","$f3ed2e4472ae7e25$var$MONTH_START","$f3ed2e4472ae7e25$export$37fccdbfd14c5939","daysSinceEpoch","$f3ed2e4472ae7e25$var$PERSIAN_EPOCH","$5f31bd6f0c8940b2$var$TAIWAN_ERA_START","$5f31bd6f0c8940b2$var$gregorianYear","$5f31bd6f0c8940b2$var$gregorianToTaiwan","$5f31bd6f0c8940b2$export$65e01080afcb0799","$5f31bd6f0c8940b2$var$toGregorian","isoFormat","isOmrsDateStrict","omrsPayloadString","isValid","isOmrsDateToday","toDateObjectStrict","omrsDateString","toOmrsIsoString","toUTC","parseDate","dateString","defaultOptions","mode","noToday","registeredLocaleCalendars","LocaleCalendars","registry","register","getCalendar","defaultCalendar","registerDefaultCalendar","getDefaultCalendar","locale_","formatDate","localeString","_locale","formatterOptions","RelativeTimeFormat","toLocaleUpperCase","formatParts","formatTime","toLocaleTimeString","formatDatetime","convertToLocaleCalendar","localCalendarName","toCalendar","createCalendar","isOnline","online","offlineEnabled","navigator","onLine","getPatientName","patient","formatPatientName","selectPreferredName","text","forenames","given","family","defaultFormat","formattedName","preferredNames","usage","find","use","nameUsageMatches","shallowEqual","objAKeys","getOwnPropertyNames","objBKeys","canAccessStorage","storage","localStorage","getItem","getDefaultsFromConfigSchema","schema","tmp","_default","startsWith","normalizeOnlyVersion","isVersionSatisfied","requiredVersion","installedVersion","ver","pre","normalizeFullVersion","retry","fn","shouldRetry","getDelay","onError","attempt","lastError","maxAttempts","limitAttempts","startingDelay","initialDelay","getExponentialDelay","delay","setTimeout"],"sourceRoot":""}
|
|
1
|
+
{"version":3,"file":"openmrs-esm-utils.js","mappings":"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J,KAAQ,CACJ,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MAEJ,KAAQ,CACJ,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KAEJ,KAAQ,CACJ,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KAEJ,KAAQ,CACJ,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MAEJ,SAAY,CACR,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KAEJ,KAAQ,CACJ,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MAEJ,KAAQ,CACJ,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MAEJ,KAAQ,CACJ,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KAEJ,KAAQ,CACJ,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KAEJ,QAAW,CACP,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KAEJ,KAAQ,CACJ,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MAEJ,KAAQ,CACJ,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MAEJ,KAAQ,CACJ,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KAEJ,KAAQ,CACJ,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KAEJ,KAAQ,CACJ,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KAEJ,KAAQ,CACJ,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KAEJ,KAAQ,CACJ,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KAEJ,SAAY,CACR,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KAEJ,KAAQ,CACJ,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KAEJ,KAAQ,CACJ,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KAEJ,KAAQ,CACJ,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KAEJ,SAAY,CACR,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MAEJ,QAAW,CACP,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MAEJ,SAAY,CACR,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MAEJ,SAAY,CACR,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MAEJ,SAAY,CACR,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MAEJ,KAAQ,CACJ,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KAEJ,KAAQ,CACJ,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MAEJ,KAAQ,CACJ,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KAEJ,KAAQ,CACJ,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MAEJ,KAAQ,CACJ,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KAEJ,KAAQ,CACJ,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KAEJ,SAAY,CACR,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KAEJ,SAAY,CACR,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KAEJ,KAAQ,CACJ,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MAEJ,KAAQ,CACJ,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KAEJ,KAAQ,CACJ,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KAEJ,KAAQ,CACJ,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KAEJ,KAAQ,CACJ,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MAEJ,KAAQ,CACJ,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MAEJ,KAAQ,CACJ,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KAEJ,QAAW,CACP,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MAEJ,KAAQ,CACJ,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MAEJ,KAAQ,CACJ,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MAEJ,KAAQ,CACJ,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KAEJ,KAAQ,CACJ,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MAEJ,KAAQ,CACJ,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KAEJ,KAAQ,CACJ,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MAEJ,KAAQ,CACJ,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KAEJ,QAAW,CACP,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KAEJ,KAAQ,CACJ,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KAEJ,KAAQ,CACJ,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KAEJ,KAAQ,CACJ,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KAEJ,KAAQ,CACJ,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MAEJ,KAAQ,CACJ,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KAEJ,KAAQ,CACJ,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MAEJ,KAAQ,CACJ,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,OCrwBJC,GAAwB,IAAIC,OAAO,IAAInK,OAAOgK,GAAgBI,SAE9DC,GAAyB,IAAIF,OAAO,GAAGnK,OAAOgK,GAAgBI,OAAQ,MACtEE,GAAsB,uBACX,SAASC,GAAcC,EAAcC,EAAMxG,EAAIzE,GAC1D,IAUIkL,EAqBAC,EA/BAC,EAAOJ,EAA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,GAAM,CACF,GAAM,CACF,SAGR,IAAO,CACH,GAAM,CACF,SAGR,IAAO,CACH,GAAM,CACF,SAGR,GAAM,CACF,GAAM,CACF,OACA,SAGR,QAAS,CACL,GAAM,CACF,OACA,SAGR,QAAS,CACL,GAAM,CACF,OACA,SAGR,QAAS,CACL,GAAM,CACF,OACA,SAGR,QAAS,CACL,GAAM,CACF,OACA,SAGR,QAAS,CACL,GAAM,CACF,OACA,SAGR,QAAS,CACL,GAAM,CACF,OACA,SAGR,QAAS,CACL,GAAM,CACF,OACA,SAGR,QAAS,CACL,GAAM,CACF,OACA,SAGR,QAAS,CACL,GAAM,CACF,OACA,SAGR,QAAS,CACL,GAAM,CACF,OACA,SAGR,QAAS,CACL,GAAM,CACF,OACA,SAGR,QAAS,CACL,GAAM,CACF,OACA,SAGR,QAAS,CACL,GAAM,CACF,OACA,SAGR,QAAS,CACL,GAAM,CACF,OACA,SAGR,QAAS,CACL,GAAM,CACF,OACA,SAGR,QAAS,CACL,GAAM,CACF,OACA,SAGR,QAAS,CACL,GAAM,CACF,OACA,SAGR,QAAS,CACL,GAAM,CACF,OACA,SAGR,QAAS,CACL,GAAM,CACF,OACA,SAGR,QAAS,CACL,GAAM,CACF,OACA,SAGR,QAAS,CACL,GAAM,CACF,OACA,SAGR,QAAS,CACL,GAAM,CACF,OACA,SAGR,QAAS,CACL,GAAM,CACF,OACA,SAGR,QAAS,CACL,GAAM,CACF,OACA,SAGR,QAAS,CACL,GAAM,CACF,OACA,SAGR,QAAS,CACL,GAAM,CACF,OACA,SAGR,QAAS,CACL,GAAM,CACF,OACA,SAGR,IAAO,CACH,GAAM,CACF,SAGR,GAAM,CACF,GAAM,CACF,SAGR,IAAO,CACH,GAAM,CACF,SAGR,IAAO,CACH,GAAM,CACF,SAGR,GAAM,CACF,GAAM,CACF,SAGR,UAAW,CACP,GAAM,CACF,YAGR,aAAc,CACV,GAAM,CACF,YAGR,aAAc,CACV,GAAM,CACF,YAGR,UAAW,CACP,GAAM,CACF,SAGR,UAAW,CACP,GAAM,CACF,SAGR,GAAM,CACF,GAAM,CACF,SAGR,IAAO,CACH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R,QAAS,CACL,GAAM,CACF,SAGR,QAAS,CACL,GAAM,CACF,SAGR,QAAS,CACL,GAAM,CACF,SAGR,QAAS,CACL,GAAM,CACF,SAGR,QAAS,CACL,GAAM,CACF,SAGR,QAAS,CACL,GAAM,CACF,SAGR,QAAS,CACL,GAAM,CACF,SAGR,QAAS,CACL,GAAM,CACF,SAGR,QAAS,CACL,GAAM,CACF,SAGR,QAAS,CACL,GAAM,CACF,SAGR,QAAS,CACL,GAAM,CACF,SAGR,QAAS,CACL,GAAM,CACF,SAGR,QAAS,CACL,GAAM,CACF,SAGR,QAAS,CACL,GAAM,CACF,SAGR,QAAS,CACL,GAAM,CACF,SAGR,QAAS,CACL,GAAM,CACF,SAGR,QAAS,CACL,GAAM,CACF,SAGR,QAAS,CACL,GAAM,CACF,SAGR,QAAS,CACL,GAAM,CACF,SAGR,QAAS,CACL,GAAM,CACF,SAGR,QAAS,CACL,GAAM,CACF,SAGR,QAAS,CACL,GAAM,CACF,SAGR,QAAS,CACL,GAAM,CACF,SAGR,QAAS,CACL,GAAM,CACF,SAGR,QAAS,CACL,GAAM,CACF,SAGR,UAAW,CACP,GAAM,CACF,SAGR,QAAS,CACL,GAAM,CACF,SAGR,QAAS,CACL,GAAM,CACF,SAGR,QAAS,CACL,GAAM,CACF,SAGR,QAAS,CACL,GAAM,CACF,SAGR,QAAS,CACL,GAAM,CACF,SAGR,QAAS,CACL,GAAM,CACF,SAGR,QAAS,CACL,GAAM,CACF,SAGR,QAAS,CACL,GAAM,CACF,SAGR,QAAS,CACL,GAAM,CACF,SAGR,QAAS,CACL,GAAM,CACF,SAGR,QAAS,CACL,GAAM,CACF,SAGR,QAAS,CACL,GAAM,CACF,SAGR,QAAS,CACL,GAAM,CACF,SAGR,QAAS,CACL,GAAM,CACF,SAGR,QAAS,CACL,GAAM,CACF,SAGR,QAAS,CACL,GAAM,CACF,SAGR,GAAM,CACF,GAAM,CACF,SAGR,GAAM,CACF,GAAM,CACF,SAGR,SAAU,CACN,GAAM,CACF,SAGR,QAAS,CACL,GAAM,CACF,SAGR,QAAS,CACL,GAAM,CACF,SAGR,QAAS,CACL,GAAM,CACF,SAG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B,GAAI,CACAlC,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACI2B,GAAI,CACAlC,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACI4B,GAAI,CACAnC,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACI6B,GAAI,CACApC,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACI6B,GAAI,CACApC,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACI6B,GAAI,CACApC,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACI6B,GAAI,CACApC,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACI6B,GAAI,CACApC,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACI6B,GAAI,CACApC,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACI6B,GAAI,CACApC,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACI6B,GAAI,CACApC,SAAU,KACVC,UAAW,KACXM,QAAS,SAGjB,CACI6B,GAAI,CACApC,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACI6B,GAAI,CACApC,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACI6B,GAAI,CACApC,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACI6B,GAAI,CACApC,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACI6B,GAAI,CACApC,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACI6B,GAAI,CACApC,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACI6B,GAAI,CACApC,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACI6B,GAAI,CACApC,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACI6B,GAAI,CACApC,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACI6B,GAAI,CACApC,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACI6B,GAAI,CACApC,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACI6B,GAAI,CACApC,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACI6B,GAAI,CACApC,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACI6B,GAAI,CACApC,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACI6B,GAAI,CACApC,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACI6B,GAAI,CACApC,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACI6B,GAAI,CACApC,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACI6B,GAAI,CACApC,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACI6B,GAAI,CACApC,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACI6B,GAAI,CACApC,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACI6B,GAAI,CACApC,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACI6B,GAAI,CACApC,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACI6B,GAAI,CACApC,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACI6B,GAAI,CACApC,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACI6B,GAAI,CACApC,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACI6B,GAAI,CACApC,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACI6B,GAAI,CACApC,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACI8B,GAAI,CACArC,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACI+B,GAAI,CACAtC,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACI+B,GAAI,CACAtC,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACI+B,GAAI,CACAtC,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACIgC,GAAI,CACAvC,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACIiC,GAAI,CACAxC,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACIiC,GAAI,CACAxC,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACIkC,GAAI,CACAzC,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACIkC,GAAI,CACAzC,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACIkC,GAAI,CACAzC,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACIkC,GAAI,CACAzC,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACIkC,GAAI,CACAzC,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACIkC,GAAI,CACAzC,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACIkC,GAAI,CACAzC,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACIkC,GAAI,CACAzC,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACIkC,GAAI,CACAzC,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACIkC,GAAI,CACAzC,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACIkC,GAAI,CACAzC,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACIkC,GAAI,CACAzC,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACIkC,GAAI,CACAzC,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACIkC,GAAI,CACAzC,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACIkC,GAAI,CACAzC,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACIkC,GAAI,CACAzC,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACIkC,GAAI,CACAzC,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACIkC,GAAI,CACAzC,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACIkC,GAAI,CACAzC,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACIkC,GAAI,CACAzC,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACIkC,GAAI,CACAzC,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACIkC,GAAI,CACAzC,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACIkC,GAAI,CACAzC,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACIkC,GAAI,CACAzC,SAAU,MACVC,UAAW,KACXM,QAAS,SAGjB,CACIkC,GAAI,CACAz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ACVC,UAAW,MAGnB,CACI,kBAAmB,CACfD,SAAU,kBACVC,UAAW,MAGnB,CACI,SAAU,CACND,SAAU,SACVC,UAAW,MAGnB,CACI,iBAAkB,CACdD,SAAU,iBACVC,UAAW,MAGnB,CACI,kBAAmB,CACfD,SAAU,kBACVC,UAAW,MAGnB,CACI,SAAU,CACND,SAAU,SACVC,UAAW,MAGnB,CACI,iBAAkB,CACdD,SAAU,iBACVC,UAAW,MAGnB,CACI,kBAAmB,CACfD,SAAU,kBACVC,UAAW,MAGnB,CACI,YAAa,CACTD,SAAU,YACVC,UAAW,MAGnB,CACI,QAAS,CACLD,SAAU,QACVC,UAAW,UCpjFxB8C,EAAU,CACjB,MAAO,CACH,MACA,sBACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,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,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,MAEJ,MAAO,CACH,MACA,sBACA,MACA,MACA,MACA,MACA,MACA,MACA,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,MAEJ,MAAO,CACH,MACA,MACA,MACA,MACA,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,MAEJ,MAAO,CACH,MACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MAEJ,MAAO,CACH,MACA,MACA,MACA,MACA,MACA,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,MAEJ,MAAO,CACH,MACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MAEJ,MAAO,CACH,MACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MAEJ,MAAO,CACH,MACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MAEJ,MAAO,CACH,MACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MAEJ,MAAO,CACH,MACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MAEJ,MAAO,CACH,MACA,KACA,KACA,KACA,KACA,MAEJ,MAAO,CACH,MACA,MACA,MACA,MACA,sBACA,MACA,MACA,MACA,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,MAEJ,MAAO,CACH,MACA,KACA,KACA,KACA,KACA,MAEJ,MAAO,CACH,MACA,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,MAEJ,MAAO,CACH,MACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MAEJ,MAAO,CACH,MACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MAEJ,MAAO,CACH,MACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MAEJ,MAAO,CACH,MACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MAEJ,MAAO,CACH,MACA,KACA,KACA,KACA,KACA,KACA,MAEJ,MAAO,CACH,MACA,KACA,KACA,KACA,KACA,MAEJ,MAAO,CACH,MACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MAEJ,MAAO,CACH,MACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MAEJ,IAAO,CACH,MACA,MACA,MACA,MACA,MACA,MACA,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,MAEJ,IAAO,CACH,MACA,KACA,KACA,KACA,KACA,MAEJ,IAAO,CACH,MACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MAEJ,IAAO,CACH,MACA,MACA,MACA,MACA,MACA,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,MAEJ,IAAO,CACH,MACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MAEJ,IAAO,CACH,MACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MAEJ,IAAO,CACH,MACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MAEJ,IAAO,CACH,MACA,MACA,MACA,MACA,MACA,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,MAEJ,IAAO,CACH,MACA,MACA,MACA,MACA,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,MAEJ,GAAM,CACF,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,MAEJ,GAAM,CACF,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MAEJ,GAAM,CACF,KACA,KACA,KACA,KACA,KACA,MAEJ,GAAM,CACF,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,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,OChzCGC,EAAmC,0BACvC,SAASvY,EAAUC,EAAWC,EAASC,GAE1C,QADY,IAARA,IAAkBA,EAAMvH,QACvBqH,EACD,MAAM,IAAIE,EAAID,EAEtB,CAEA,IACIsY,EADAC,EAA6B,IAiCjC,SAASC,EAAU3K,EA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","sources":["webpack://@openmrs/esm-utils/../../../node_modules/@formatjs/intl-durationformat/index.js","webpack://@openmrs/esm-utils/../../../node_modules/@formatjs/intl-durationformat/node_modules/@formatjs/ecma402-abstract/lib/CanonicalizeLocaleList.js","webpack://@openmrs/esm-utils/../../../node_modules/@formatjs/intl-durationformat/node_modules/@formatjs/ecma402-abstract/lib/CanonicalizeTimeZoneName.js","webpack://@openmrs/esm-utils/../../../node_modules/@formatjs/intl-durationformat/node_modules/@formatjs/ecma402-abstract/lib/262.js","webpack://@openmrs/esm-utils/../../../node_modules/@formatjs/intl-durationformat/node_modules/@formatjs/ecma402-abstract/lib/CoerceOptionsToObject.js","webpack://@openmrs/esm-utils/../../../node_modules/@formatjs/intl-durationformat/node_modules/@formatjs/ecma402-abstract/lib/DefaultNumberOption.js","webpack://@openmrs/esm-utils/../../../node_modules/@formatjs/intl-durationformat/node_modules/@formatjs/ecma402-abstract/lib/GetNumberOption.js","webpack://@openmrs/esm-utils/../../../node_modules/@formatjs/intl-durationformat/node_modules/@formatjs/ecma402-abstract/lib/GetOption.js","webpack://@openmrs/esm-utils/../../../node_modules/@formatjs/intl-durationformat/node_modules/@formatjs/ecma402-abstract/lib/GetOptionsObject.js","webpack://@openmrs/esm-utils/../../../node_modules/@formatjs/intl-durationformat/node_modules/@formatjs/ecma402-abstract/lib/GetStringOrBooleanOption.js","webpack://@openmrs/esm-utils/../../../node_modules/@formatjs/intl-durationformat/node_modules/@formatjs/ecma402-abstract/lib/IsSanctionedSimpleUnitIdentifier.js","webpack://@openmrs/esm-utils/../../../node_modules/@formatjs/intl-durationformat/node_modules/@formatjs/ecma402-abstract/lib/IsValidTimeZoneName.js","webpack://@openmrs/esm-utils/../../../node_modules/@formatjs/intl-durationformat/node_modules/@formatjs/ecma402-abstract/lib/IsWellFormedCurrencyCode.js","webpack://@openmrs/esm-utils/../../../node_modules/@formatjs/intl-durationformat/node_modules/@formatjs/ecma402-abstract/lib/IsWellFormedUnitIdentifier.js","webpack://@openmrs/esm-utils/../../../node_modules/@formatjs/intl-durationformat/node_modules/@formatjs/ecma402-abstract/lib/NumberFormat/ApplyUnsignedRoundingMode.js","webpack://@openmrs/esm-utils/../../../node_modules/@formatjs/intl-durationformat/node_modules/@formatjs/ecma402-abstract/lib/NumberFormat/CollapseNumberRange.js","webpack://@openmrs/esm-utils/../../../node_modules/@formatjs/intl-durationformat/node_modules/@formatjs/ecma402-abstract/lib/utils.js","webpack://@openmrs/esm-utils/../../../node_modules/@formatjs/intl-durationformat/node_modules/@formatjs/ecma402-abstract/lib/NumberFormat/ComputeExponentForMagnitude.js","webpack://@openmrs/esm-utils/../../../node_modules/@formatjs/intl-durationformat/node_modules/@formatjs/ecma402-abstract/lib/NumberFormat/ToRawPrecision.js","webpack://@openmrs/esm-utils/../../../node_modules/@formatjs/intl-durationformat/node_modules/@formatjs/ecma402-abstract/lib/NumberFormat/ToRawFixed.js","webpack://@openmrs/esm-utils/../../../node_modules/@formatjs/intl-durationformat/node_modules/@formatjs/ecma402-abstract/lib/NumberFormat/FormatNumericToString.js","webpack://@openmrs/esm-utils/../../../node_modules/@formatjs/intl-durationformat/node_modules/@formatjs/ecma402-abstract/lib/NumberFormat/ComputeExponent.js","webpack://@openmrs/esm-utils/../../../node_modules/@formatjs/intl-durationformat/node_modules/@formatjs/ecma402-abstract/lib/NumberFormat/CurrencyDigits.js","webpack://@openmrs/esm-utils/../../../node_modules/@formatjs/intl-durationformat/node_modules/@formatjs/ecma402-abstract/lib/NumberFormat/FormatApproximately.js","webpack://@openmrs/esm-utils/../../../node_modules/@formatjs/intl-durationformat/node_modules/@formatjs/ecma402-abstract/lib/regex.generated.js","webpack://@openmrs/esm-utils/../../../node_modules/@formatjs/intl-durationformat/node_modules/@formatjs/ecma402-abstract/lib/NumberFormat/digit-mapping.generated.js","webpack://@openmrs/esm-utils/../../../node_modules/@formatjs/intl-durationformat/node_modules/@formatjs/ecma402-abstract/lib/NumberFormat/format_to_parts.js","webpack://@openmrs/esm-utils/../../../node_modules/@formatjs/intl-durationformat/node_modules/@formatjs/ecma402-abstract/lib/NumberFormat/PartitionNumberPattern.js","webpack://@openmrs/esm-utils/../../../node_modules/@formatjs/intl-durationformat/node_modules/@formatjs/ecma402-abstract/lib/NumberFormat/PartitionNumberRangePattern.js","webpack://@openmrs/esm-utils/../../../node_modules/@formatjs/intl-durationformat/node_modules/@formatjs/ecma402-abstract/lib/NumberFormat/FormatNumericRange.js","webpack://@openmrs/esm-utils/../../../node_modules/@formatjs/intl-durationformat/node_modules/@formatjs/ecma402-abstract/lib/NumberFormat/FormatNumericRangeToParts.js","webpack://@openmrs/esm-utils/../../../node_modules/@formatjs/intl-durationformat/node_modules/@formatjs/ecma402-abstract/lib/NumberFormat/FormatNumericToParts.js","webpack://@openmrs/esm-utils/../../../node_modules/@formatjs/intl-durationformat/node_modules/@formatjs/ecma402-abstract/lib/NumberFormat/GetUnsignedRoundingMode.js","webpack://@openmrs/esm-utils/../../../node_modules/@formatjs/intl-durationformat/node_modules/@formatjs/ecma402-abstract/lib/NumberFormat/SetNumberFormatDigitOptions.js","webpack://@openmrs/esm-utils/../../../node_modules/@formatjs/intl-durationformat/node_modules/@formatjs/ecma402-abstract/lib/NumberFormat/SetNumberFormatUnitOptions.js","webpack://@openmrs/esm-utils/../../../node_modules/@formatjs/intl-durationformat/node_modules/@formatjs/ecma402-abstract/lib/NumberFormat/InitializeNumberFormat.js","webpack://@openmrs/esm-utils/../../../node_modules/@formatjs/intl-durationformat/node_modules/@formatjs/ecma402-abstract/lib/PartitionPattern.js","webpack://@openmrs/esm-utils/../../../node_modules/@formatjs/intl-durationformat/node_modules/@formatjs/ecma402-abstract/lib/SupportedLocales.js","webpack://@openmrs/esm-utils/../../../node_modules/@formatjs/intl-durationformat/node_modules/@formatjs/ecma402-abstract/lib/types/date-time.js","webpack://@openmrs/esm-utils/../../../node_modules/@formatjs/intl-durationformat/node_modules/@formatjs/ecma402-abstract/lib/data.js","webpack://@openmrs/esm-utils/../../../node_modules/@formatjs/intl-durationformat/src/abstract/DurationRecordSign.js","webpack://@openmrs/esm-utils/../../../node_modules/@formatjs/intl-durationformat/src/abstract/GetDurationUnitOptions.js","webpack://@openmrs/esm-utils/../../../node_modules/@formatjs/intl-durationformat/src/abstract/IsValidDurationRecord.js","webpack://@openmrs/esm-utils/../../../node_modules/@formatjs/intl-durationformat/src/abstract/PartitionDurationFormatPattern.js","webpack://@openmrs/esm-utils/../../../node_modules/@formatjs/intl-durationformat/src/abstract/ToDurationRecord.js","webpack://@openmrs/esm-utils/../../../node_modules/@formatjs/intl-durationformat/src/abstract/ToIntegerIfIntegral.js","webpack://@openmrs/esm-utils/../../../node_modules/@formatjs/intl-durationformat/src/constants.js","webpack://@openmrs/esm-utils/../../../node_modules/@formatjs/intl-durationformat/src/core.js","webpack://@openmrs/esm-utils/../../../node_modules/@formatjs/intl-durationformat/src/get_internal_slots.js","webpack://@openmrs/esm-utils/../../../node_modules/@formatjs/intl-durationformat/src/numbering-systems.generated.js","webpack://@openmrs/esm-utils/../../../node_modules/@formatjs/intl-durationformat/src/time-separators.generated.js","webpack://@openmrs/esm-utils/../../../node_modules/@formatjs/intl-localematcher/lib/abstract/languageMatching.js","webpack://@openmrs/esm-utils/../../../node_modules/@formatjs/intl-localematcher/lib/abstract/regions.generated.js","webpack://@openmrs/esm-utils/../../../node_modules/@formatjs/intl-localematcher/lib/abstract/utils.js","webpack://@openmrs/esm-utils/../../../node_modules/@formatjs/intl-localematcher/lib/abstract/BestFitMatcher.js","webpack://@openmrs/esm-utils/../../../node_modules/@formatjs/intl-localematcher/lib/abstract/BestAvailableLocale.js","webpack://@openmrs/esm-utils/../../../node_modules/@formatjs/intl-localematcher/lib/abstract/UnicodeExtensionValue.js","webpack://@openmrs/esm-utils/../../../node_modules/@formatjs/intl-localematcher/lib/abstract/ResolveLocale.js","webpack://@openmrs/esm-utils/../../../node_modules/@formatjs/intl-localematcher/lib/abstract/LookupMatcher.js","webpack://@openmrs/esm-utils/../../../node_modules/@formatjs/intl-localematcher/lib/abstract/LookupSupportedLocales.js","webpack://@openmrs/esm-utils/../../../node_modules/@formatjs/intl-localematcher/lib/index.js","webpack://@openmrs/esm-utils/../../../node_modules/@formatjs/intl-localematcher/lib/abstract/CanonicalizeLocaleList.js","webpack://@openmrs/esm-utils/../../../node_modules/dayjs/plugin/isToday.js","webpack://@openmrs/esm-utils/../../../node_modules/dayjs/plugin/utc.js","webpack://@openmrs/esm-utils/./node_modules/semver/classes/comparator.js","webpack://@openmrs/esm-utils/./node_modules/semver/classes/range.js","webpack://@openmrs/esm-utils/./node_modules/semver/classes/semver.js","webpack://@openmrs/esm-utils/./node_modules/semver/functions/clean.js","webpack://@openmrs/esm-utils/./node_modules/semver/functions/cmp.js","webpack://@openmrs/esm-utils/./node_modules/semver/functions/coerce.js","webpack://@openmrs/esm-utils/./node_modules/semver/functions/compare-build.js","webpack://@openmrs/esm-utils/./node_modules/semver/functions/compare-loose.js","webpack://@openmrs/esm-utils/./node_modules/semver/functions/compare.js","webpack://@openmrs/esm-utils/./node_modules/semver/functions/diff.js","webpack://@openmrs/esm-utils/./node_modules/semver/functions/eq.js","webpack://@openmrs/esm-utils/./node_modules/semver/functions/gt.js","webpack://@openmrs/esm-utils/./node_modules/semver/functions/gte.js","webpack://@openmrs/esm-utils/./node_modules/semver/functions/inc.js","webpack://@openmrs/esm-utils/./node_modules/semver/functions/lt.js","webpack://@openmrs/esm-utils/./node_modules/semver/functions/lte.js","webpack://@openmrs/esm-utils/./node_modules/semver/functions/major.js","webpack://@openmrs/esm-utils/./node_modules/semver/functions/minor.js","webpack://@openmrs/esm-utils/./node_modules/semver/functions/neq.js","webpack://@openmrs/esm-utils/./node_modules/semver/functions/parse.js","webpack://@openmrs/esm-utils/./node_modules/semver/functions/patch.js","webpack://@openmrs/esm-utils/./node_modules/semver/functions/prerelease.js","webpack://@openmrs/esm-utils/./node_modules/semver/functions/rcompare.js","webpack://@openmrs/esm-utils/./node_modules/semver/functions/rsort.js","webpack://@openmrs/esm-utils/./node_modules/semver/functions/satisfies.js","webpack://@openmrs/esm-utils/./node_modules/semver/functions/sort.js","webpack://@openmrs/esm-utils/./node_modules/semver/functions/valid.js","webpack://@openmrs/esm-utils/./node_modules/semver/index.js","webpack://@openmrs/esm-utils/./node_modules/semver/internal/constants.js","webpack://@openmrs/esm-utils/./node_modules/semver/internal/debug.js","webpack://@openmrs/esm-utils/./node_modules/semver/internal/identifiers.js","webpack://@openmrs/esm-utils/./node_modules/semver/internal/re.js","webpack://@openmrs/esm-utils/./node_modules/semver/ranges/gtr.js","webpack://@openmrs/esm-utils/./node_modules/semver/ranges/intersects.js","webpack://@openmrs/esm-utils/./node_modules/semver/ranges/ltr.js","webpack://@openmrs/esm-utils/./node_modules/semver/ranges/max-satisfying.js","webpack://@openmrs/esm-utils/./node_modules/semver/ranges/min-satisfying.js","webpack://@openmrs/esm-utils/./node_modules/semver/ranges/min-version.js","webpack://@openmrs/esm-utils/./node_modules/semver/ranges/outside.js","webpack://@openmrs/esm-utils/./node_modules/semver/ranges/simplify.js","webpack://@openmrs/esm-utils/./node_modules/semver/ranges/subset.js","webpack://@openmrs/esm-utils/./node_modules/semver/ranges/to-comparators.js","webpack://@openmrs/esm-utils/./node_modules/semver/ranges/valid.js","webpack://@openmrs/esm-utils/external system \"dayjs\"","webpack://@openmrs/esm-utils/../../../node_modules/tslib/tslib.es6.mjs","webpack://@openmrs/esm-utils/webpack/bootstrap","webpack://@openmrs/esm-utils/webpack/runtime/compat get default export","webpack://@openmrs/esm-utils/webpack/runtime/define property getters","webpack://@openmrs/esm-utils/webpack/runtime/hasOwnProperty shorthand","webpack://@openmrs/esm-utils/webpack/runtime/make namespace object","webpack://@openmrs/esm-utils/./src/get-locale.ts","webpack://@openmrs/esm-utils/./src/age-helpers.ts","webpack://@openmrs/esm-utils/../../../node_modules/@internationalized/date/dist/manipulation.mjs","webpack://@openmrs/esm-utils/../../../node_modules/@internationalized/date/dist/queries.mjs","webpack://@openmrs/esm-utils/../../../node_modules/@internationalized/date/dist/utils.mjs","webpack://@openmrs/esm-utils/../../../node_modules/@internationalized/date/dist/GregorianCalendar.mjs","webpack://@openmrs/esm-utils/../../../node_modules/@internationalized/date/dist/string.mjs","webpack://@openmrs/esm-utils/../../../node_modules/@swc/helpers/esm/_class_private_field_init.js","webpack://@openmrs/esm-utils/../../../node_modules/@swc/helpers/esm/_check_private_redeclaration.js","webpack://@openmrs/esm-utils/../../../node_modules/@internationalized/date/dist/CalendarDate.mjs","webpack://@openmrs/esm-utils/../../../node_modules/@internationalized/date/dist/conversion.mjs","webpack://@openmrs/esm-utils/../../../node_modules/@internationalized/date/dist/BuddhistCalendar.mjs","webpack://@openmrs/esm-utils/../../../node_modules/@internationalized/date/dist/EthiopicCalendar.mjs","webpack://@openmrs/esm-utils/../../../node_modules/@internationalized/date/dist/HebrewCalendar.mjs","webpack://@openmrs/esm-utils/../../../node_modules/@internationalized/date/dist/IndianCalendar.mjs","webpack://@openmrs/esm-utils/../../../node_modules/@internationalized/date/dist/IslamicCalendar.mjs","webpack://@openmrs/esm-utils/../../../node_modules/@internationalized/date/dist/JapaneseCalendar.mjs","webpack://@openmrs/esm-utils/../../../node_modules/@internationalized/date/dist/PersianCalendar.mjs","webpack://@openmrs/esm-utils/../../../node_modules/@internationalized/date/dist/TaiwanCalendar.mjs","webpack://@openmrs/esm-utils/./src/dates/date-util.ts","webpack://@openmrs/esm-utils/../../../node_modules/@internationalized/date/dist/createCalendar.mjs","webpack://@openmrs/esm-utils/./src/is-online.ts","webpack://@openmrs/esm-utils/./src/patient-helpers.ts","webpack://@openmrs/esm-utils/./src/shallowEqual.ts","webpack://@openmrs/esm-utils/./src/storage.ts","webpack://@openmrs/esm-utils/./src/test-helpers.ts","webpack://@openmrs/esm-utils/./src/version.ts","webpack://@openmrs/esm-utils/./src/retry.ts"],"sourcesContent":["\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar tslib_1 = require(\"tslib\");\ntslib_1.__exportStar(require(\"./src/core\"), exports);\n","/**\n * http://ecma-international.org/ecma-402/7.0/index.html#sec-canonicalizelocalelist\n * @param locales\n */\nexport function CanonicalizeLocaleList(locales) {\n // TODO\n return Intl.getCanonicalLocales(locales);\n}\n","/**\n * https://tc39.es/ecma402/#sec-canonicalizetimezonename\n * @param tz\n */\nexport function CanonicalizeTimeZoneName(tz, _a) {\n var zoneNames = _a.zoneNames, uppercaseLinks = _a.uppercaseLinks;\n var uppercasedTz = tz.toUpperCase();\n var uppercasedZones = zoneNames.reduce(function (all, z) {\n all[z.toUpperCase()] = z;\n return all;\n }, {});\n var ianaTimeZone = uppercaseLinks[uppercasedTz] || uppercasedZones[uppercasedTz];\n if (ianaTimeZone === 'Etc/UTC' || ianaTimeZone === 'Etc/GMT') {\n return 'UTC';\n }\n return ianaTimeZone;\n}\n","/**\n * https://tc39.es/ecma262/#sec-tostring\n */\nexport function ToString(o) {\n // Only symbol is irregular...\n if (typeof o === 'symbol') {\n throw TypeError('Cannot convert a Symbol value to a string');\n }\n return String(o);\n}\n/**\n * https://tc39.es/ecma262/#sec-tonumber\n * @param val\n */\nexport function ToNumber(val) {\n if (val === undefined) {\n return NaN;\n }\n if (val === null) {\n return +0;\n }\n if (typeof val === 'boolean') {\n return val ? 1 : +0;\n }\n if (typeof val === 'number') {\n return val;\n }\n if (typeof val === 'symbol' || typeof val === 'bigint') {\n throw new TypeError('Cannot convert symbol/bigint to number');\n }\n return Number(val);\n}\n/**\n * https://tc39.es/ecma262/#sec-tointeger\n * @param n\n */\nfunction ToInteger(n) {\n var number = ToNumber(n);\n if (isNaN(number) || SameValue(number, -0)) {\n return 0;\n }\n if (isFinite(number)) {\n return number;\n }\n var integer = Math.floor(Math.abs(number));\n if (number < 0) {\n integer = -integer;\n }\n if (SameValue(integer, -0)) {\n return 0;\n }\n return integer;\n}\n/**\n * https://tc39.es/ecma262/#sec-timeclip\n * @param time\n */\nexport function TimeClip(time) {\n if (!isFinite(time)) {\n return NaN;\n }\n if (Math.abs(time) > 8.64 * 1e15) {\n return NaN;\n }\n return ToInteger(time);\n}\n/**\n * https://tc39.es/ecma262/#sec-toobject\n * @param arg\n */\nexport function ToObject(arg) {\n if (arg == null) {\n throw new TypeError('undefined/null cannot be converted to object');\n }\n return Object(arg);\n}\n/**\n * https://www.ecma-international.org/ecma-262/11.0/index.html#sec-samevalue\n * @param x\n * @param y\n */\nexport function SameValue(x, y) {\n if (Object.is) {\n return Object.is(x, y);\n }\n // SameValue algorithm\n if (x === y) {\n // Steps 1-5, 7-10\n // Steps 6.b-6.e: +0 != -0\n return x !== 0 || 1 / x === 1 / y;\n }\n // Step 6.a: NaN == NaN\n return x !== x && y !== y;\n}\n/**\n * https://www.ecma-international.org/ecma-262/11.0/index.html#sec-arraycreate\n * @param len\n */\nexport function ArrayCreate(len) {\n return new Array(len);\n}\n/**\n * https://www.ecma-international.org/ecma-262/11.0/index.html#sec-hasownproperty\n * @param o\n * @param prop\n */\nexport function HasOwnProperty(o, prop) {\n return Object.prototype.hasOwnProperty.call(o, prop);\n}\n/**\n * https://www.ecma-international.org/ecma-262/11.0/index.html#sec-type\n * @param x\n */\nexport function Type(x) {\n if (x === null) {\n return 'Null';\n }\n if (typeof x === 'undefined') {\n return 'Undefined';\n }\n if (typeof x === 'function' || typeof x === 'object') {\n return 'Object';\n }\n if (typeof x === 'number') {\n return 'Number';\n }\n if (typeof x === 'boolean') {\n return 'Boolean';\n }\n if (typeof x === 'string') {\n return 'String';\n }\n if (typeof x === 'symbol') {\n return 'Symbol';\n }\n if (typeof x === 'bigint') {\n return 'BigInt';\n }\n}\nvar MS_PER_DAY = 86400000;\n/**\n * https://www.ecma-international.org/ecma-262/11.0/index.html#eqn-modulo\n * @param x\n * @param y\n * @return k of the same sign as y\n */\nfunction mod(x, y) {\n return x - Math.floor(x / y) * y;\n}\n/**\n * https://tc39.es/ecma262/#eqn-Day\n * @param t\n */\nexport function Day(t) {\n return Math.floor(t / MS_PER_DAY);\n}\n/**\n * https://tc39.es/ecma262/#sec-week-day\n * @param t\n */\nexport function WeekDay(t) {\n return mod(Day(t) + 4, 7);\n}\n/**\n * https://tc39.es/ecma262/#sec-year-number\n * @param y\n */\nexport function DayFromYear(y) {\n return Date.UTC(y, 0) / MS_PER_DAY;\n}\n/**\n * https://tc39.es/ecma262/#sec-year-number\n * @param y\n */\nexport function TimeFromYear(y) {\n return Date.UTC(y, 0);\n}\n/**\n * https://tc39.es/ecma262/#sec-year-number\n * @param t\n */\nexport function YearFromTime(t) {\n return new Date(t).getUTCFullYear();\n}\nexport function DaysInYear(y) {\n if (y % 4 !== 0) {\n return 365;\n }\n if (y % 100 !== 0) {\n return 366;\n }\n if (y % 400 !== 0) {\n return 365;\n }\n return 366;\n}\nexport function DayWithinYear(t) {\n return Day(t) - DayFromYear(YearFromTime(t));\n}\nexport function InLeapYear(t) {\n return DaysInYear(YearFromTime(t)) === 365 ? 0 : 1;\n}\n/**\n * https://tc39.es/ecma262/#sec-month-number\n * @param t\n */\nexport function MonthFromTime(t) {\n var dwy = DayWithinYear(t);\n var leap = InLeapYear(t);\n if (dwy >= 0 && dwy < 31) {\n return 0;\n }\n if (dwy < 59 + leap) {\n return 1;\n }\n if (dwy < 90 + leap) {\n return 2;\n }\n if (dwy < 120 + leap) {\n return 3;\n }\n if (dwy < 151 + leap) {\n return 4;\n }\n if (dwy < 181 + leap) {\n return 5;\n }\n if (dwy < 212 + leap) {\n return 6;\n }\n if (dwy < 243 + leap) {\n return 7;\n }\n if (dwy < 273 + leap) {\n return 8;\n }\n if (dwy < 304 + leap) {\n return 9;\n }\n if (dwy < 334 + leap) {\n return 10;\n }\n if (dwy < 365 + leap) {\n return 11;\n }\n throw new Error('Invalid time');\n}\nexport function DateFromTime(t) {\n var dwy = DayWithinYear(t);\n var mft = MonthFromTime(t);\n var leap = InLeapYear(t);\n if (mft === 0) {\n return dwy + 1;\n }\n if (mft === 1) {\n return dwy - 30;\n }\n if (mft === 2) {\n return dwy - 58 - leap;\n }\n if (mft === 3) {\n return dwy - 89 - leap;\n }\n if (mft === 4) {\n return dwy - 119 - leap;\n }\n if (mft === 5) {\n return dwy - 150 - leap;\n }\n if (mft === 6) {\n return dwy - 180 - leap;\n }\n if (mft === 7) {\n return dwy - 211 - leap;\n }\n if (mft === 8) {\n return dwy - 242 - leap;\n }\n if (mft === 9) {\n return dwy - 272 - leap;\n }\n if (mft === 10) {\n return dwy - 303 - leap;\n }\n if (mft === 11) {\n return dwy - 333 - leap;\n }\n throw new Error('Invalid time');\n}\nvar HOURS_PER_DAY = 24;\nvar MINUTES_PER_HOUR = 60;\nvar SECONDS_PER_MINUTE = 60;\nvar MS_PER_SECOND = 1e3;\nvar MS_PER_MINUTE = MS_PER_SECOND * SECONDS_PER_MINUTE;\nvar MS_PER_HOUR = MS_PER_MINUTE * MINUTES_PER_HOUR;\nexport function HourFromTime(t) {\n return mod(Math.floor(t / MS_PER_HOUR), HOURS_PER_DAY);\n}\nexport function MinFromTime(t) {\n return mod(Math.floor(t / MS_PER_MINUTE), MINUTES_PER_HOUR);\n}\nexport function SecFromTime(t) {\n return mod(Math.floor(t / MS_PER_SECOND), SECONDS_PER_MINUTE);\n}\nfunction IsCallable(fn) {\n return typeof fn === 'function';\n}\n/**\n * The abstract operation OrdinaryHasInstance implements\n * the default algorithm for determining if an object O\n * inherits from the instance object inheritance path\n * provided by constructor C.\n * @param C class\n * @param O object\n * @param internalSlots internalSlots\n */\nexport function OrdinaryHasInstance(C, O, internalSlots) {\n if (!IsCallable(C)) {\n return false;\n }\n if (internalSlots === null || internalSlots === void 0 ? void 0 : internalSlots.boundTargetFunction) {\n var BC = internalSlots === null || internalSlots === void 0 ? void 0 : internalSlots.boundTargetFunction;\n return O instanceof BC;\n }\n if (typeof O !== 'object') {\n return false;\n }\n var P = C.prototype;\n if (typeof P !== 'object') {\n throw new TypeError('OrdinaryHasInstance called on an object with an invalid prototype property.');\n }\n return Object.prototype.isPrototypeOf.call(P, O);\n}\nexport function msFromTime(t) {\n return mod(t, MS_PER_SECOND);\n}\n","import { ToObject } from './262';\n/**\n * https://tc39.es/ecma402/#sec-coerceoptionstoobject\n * @param options\n * @returns\n */\nexport function CoerceOptionsToObject(options) {\n if (typeof options === 'undefined') {\n return Object.create(null);\n }\n return ToObject(options);\n}\n","/**\n * https://tc39.es/ecma402/#sec-defaultnumberoption\n * @param val\n * @param min\n * @param max\n * @param fallback\n */\nexport function DefaultNumberOption(inputVal, min, max, fallback) {\n if (inputVal === undefined) {\n // @ts-expect-error\n return fallback;\n }\n var val = Number(inputVal);\n if (isNaN(val) || val < min || val > max) {\n throw new RangeError(\"\".concat(val, \" is outside of range [\").concat(min, \", \").concat(max, \"]\"));\n }\n return Math.floor(val);\n}\n","/**\n * https://tc39.es/ecma402/#sec-getnumberoption\n * @param options\n * @param property\n * @param min\n * @param max\n * @param fallback\n */\nimport { DefaultNumberOption } from './DefaultNumberOption';\nexport function GetNumberOption(options, property, minimum, maximum, fallback) {\n var val = options[property];\n return DefaultNumberOption(val, minimum, maximum, fallback);\n}\n","import { ToString } from './262';\n/**\n * https://tc39.es/ecma402/#sec-getoption\n * @param opts\n * @param prop\n * @param type\n * @param values\n * @param fallback\n */\nexport function GetOption(opts, prop, type, values, fallback) {\n if (typeof opts !== 'object') {\n throw new TypeError('Options must be an object');\n }\n var value = opts[prop];\n if (value !== undefined) {\n if (type !== 'boolean' && type !== 'string') {\n throw new TypeError('invalid type');\n }\n if (type === 'boolean') {\n value = Boolean(value);\n }\n if (type === 'string') {\n value = ToString(value);\n }\n if (values !== undefined && !values.filter(function (val) { return val == value; }).length) {\n throw new RangeError(\"\".concat(value, \" is not within \").concat(values.join(', ')));\n }\n return value;\n }\n return fallback;\n}\n","/**\n * https://tc39.es/ecma402/#sec-getoptionsobject\n * @param options\n * @returns\n */\nexport function GetOptionsObject(options) {\n if (typeof options === 'undefined') {\n return Object.create(null);\n }\n if (typeof options === 'object') {\n return options;\n }\n throw new TypeError('Options must be an object');\n}\n","/**\n * https://tc39.es/ecma402/#sec-getstringorbooleanoption\n * @param opts\n * @param prop\n * @param values\n * @param trueValue\n * @param falsyValue\n * @param fallback\n */\nimport { ToString } from './262';\nexport function GetStringOrBooleanOption(opts, prop, values, trueValue, falsyValue, fallback) {\n var value = opts[prop];\n if (value === undefined) {\n return fallback;\n }\n if (value === true) {\n return trueValue;\n }\n var valueBoolean = Boolean(value);\n if (valueBoolean === false) {\n return falsyValue;\n }\n value = ToString(value);\n if (value === 'true' || value === 'false') {\n return fallback;\n }\n if ((values || []).indexOf(value) === -1) {\n throw new RangeError(\"Invalid value \".concat(value));\n }\n return value;\n}\n","/**\n * https://tc39.es/ecma402/#table-sanctioned-simple-unit-identifiers\n */\nexport var SANCTIONED_UNITS = [\n 'angle-degree',\n 'area-acre',\n 'area-hectare',\n 'concentr-percent',\n 'digital-bit',\n 'digital-byte',\n 'digital-gigabit',\n 'digital-gigabyte',\n 'digital-kilobit',\n 'digital-kilobyte',\n 'digital-megabit',\n 'digital-megabyte',\n 'digital-petabyte',\n 'digital-terabit',\n 'digital-terabyte',\n 'duration-day',\n 'duration-hour',\n 'duration-millisecond',\n 'duration-minute',\n 'duration-month',\n 'duration-second',\n 'duration-week',\n 'duration-year',\n 'length-centimeter',\n 'length-foot',\n 'length-inch',\n 'length-kilometer',\n 'length-meter',\n 'length-mile-scandinavian',\n 'length-mile',\n 'length-millimeter',\n 'length-yard',\n 'mass-gram',\n 'mass-kilogram',\n 'mass-ounce',\n 'mass-pound',\n 'mass-stone',\n 'temperature-celsius',\n 'temperature-fahrenheit',\n 'volume-fluid-ounce',\n 'volume-gallon',\n 'volume-liter',\n 'volume-milliliter',\n];\n// In CLDR, the unit name always follows the form `namespace-unit` pattern.\n// For example: `digital-bit` instead of `bit`. This function removes the namespace prefix.\nexport function removeUnitNamespace(unit) {\n return unit.slice(unit.indexOf('-') + 1);\n}\n/**\n * https://tc39.es/ecma402/#table-sanctioned-simple-unit-identifiers\n */\nexport var SIMPLE_UNITS = SANCTIONED_UNITS.map(removeUnitNamespace);\n/**\n * https://tc39.es/ecma402/#sec-issanctionedsimpleunitidentifier\n */\nexport function IsSanctionedSimpleUnitIdentifier(unitIdentifier) {\n return SIMPLE_UNITS.indexOf(unitIdentifier) > -1;\n}\n","/**\n * https://tc39.es/ecma402/#sec-isvalidtimezonename\n * @param tz\n * @param implDetails implementation details\n */\nexport function IsValidTimeZoneName(tz, _a) {\n var zoneNamesFromData = _a.zoneNamesFromData, uppercaseLinks = _a.uppercaseLinks;\n var uppercasedTz = tz.toUpperCase();\n var zoneNames = new Set();\n var linkNames = new Set();\n zoneNamesFromData.map(function (z) { return z.toUpperCase(); }).forEach(function (z) { return zoneNames.add(z); });\n Object.keys(uppercaseLinks).forEach(function (linkName) {\n linkNames.add(linkName.toUpperCase());\n zoneNames.add(uppercaseLinks[linkName].toUpperCase());\n });\n return zoneNames.has(uppercasedTz) || linkNames.has(uppercasedTz);\n}\n","/**\n * This follows https://tc39.es/ecma402/#sec-case-sensitivity-and-case-mapping\n * @param str string to convert\n */\nfunction toUpperCase(str) {\n return str.replace(/([a-z])/g, function (_, c) { return c.toUpperCase(); });\n}\nvar NOT_A_Z_REGEX = /[^A-Z]/;\n/**\n * https://tc39.es/ecma402/#sec-iswellformedcurrencycode\n */\nexport function IsWellFormedCurrencyCode(currency) {\n currency = toUpperCase(currency);\n if (currency.length !== 3) {\n return false;\n }\n if (NOT_A_Z_REGEX.test(currency)) {\n return false;\n }\n return true;\n}\n","import { IsSanctionedSimpleUnitIdentifier } from './IsSanctionedSimpleUnitIdentifier';\n/**\n * This follows https://tc39.es/ecma402/#sec-case-sensitivity-and-case-mapping\n * @param str string to convert\n */\nfunction toLowerCase(str) {\n return str.replace(/([A-Z])/g, function (_, c) { return c.toLowerCase(); });\n}\n/**\n * https://tc39.es/ecma402/#sec-iswellformedunitidentifier\n * @param unit\n */\nexport function IsWellFormedUnitIdentifier(unit) {\n unit = toLowerCase(unit);\n if (IsSanctionedSimpleUnitIdentifier(unit)) {\n return true;\n }\n var units = unit.split('-per-');\n if (units.length !== 2) {\n return false;\n }\n var numerator = units[0], denominator = units[1];\n if (!IsSanctionedSimpleUnitIdentifier(numerator) ||\n !IsSanctionedSimpleUnitIdentifier(denominator)) {\n return false;\n }\n return true;\n}\n","export function ApplyUnsignedRoundingMode(x, r1, r2, unsignedRoundingMode) {\n if (x === r1)\n return r1;\n if (unsignedRoundingMode === undefined) {\n throw new Error('unsignedRoundingMode is mandatory');\n }\n if (unsignedRoundingMode === 'zero') {\n return r1;\n }\n if (unsignedRoundingMode === 'infinity') {\n return r2;\n }\n var d1 = x - r1;\n var d2 = r2 - x;\n if (d1 < d2) {\n return r1;\n }\n if (d2 < d1) {\n return r2;\n }\n if (d1 !== d2) {\n throw new Error('Unexpected error');\n }\n if (unsignedRoundingMode === 'half-zero') {\n return r1;\n }\n if (unsignedRoundingMode === 'half-infinity') {\n return r2;\n }\n if (unsignedRoundingMode !== 'half-even') {\n throw new Error(\"Unexpected value for unsignedRoundingMode: \".concat(unsignedRoundingMode));\n }\n var cardinality = (r1 / (r2 - r1)) % 2;\n if (cardinality === 0) {\n return r1;\n }\n return r2;\n}\n","/**\n * https://tc39.es/ecma402/#sec-collapsenumberrange\n */\nexport function CollapseNumberRange(result) {\n return result;\n}\n","/**\n * Cannot do Math.log(x) / Math.log(10) bc if IEEE floating point issue\n * @param x number\n */\nexport function getMagnitude(x) {\n // Cannot count string length via Number.toString because it may use scientific notation\n // for very small or very large numbers.\n return Math.floor(Math.log(x) * Math.LOG10E);\n}\nexport function repeat(s, times) {\n if (typeof s.repeat === 'function') {\n return s.repeat(times);\n }\n var arr = new Array(times);\n for (var i = 0; i < arr.length; i++) {\n arr[i] = s;\n }\n return arr.join('');\n}\nexport function setInternalSlot(map, pl, field, value) {\n if (!map.get(pl)) {\n map.set(pl, Object.create(null));\n }\n var slots = map.get(pl);\n slots[field] = value;\n}\nexport function setMultiInternalSlots(map, pl, props) {\n for (var _i = 0, _a = Object.keys(props); _i < _a.length; _i++) {\n var k = _a[_i];\n setInternalSlot(map, pl, k, props[k]);\n }\n}\nexport function getInternalSlot(map, pl, field) {\n return getMultiInternalSlots(map, pl, field)[field];\n}\nexport function getMultiInternalSlots(map, pl) {\n var fields = [];\n for (var _i = 2; _i < arguments.length; _i++) {\n fields[_i - 2] = arguments[_i];\n }\n var slots = map.get(pl);\n if (!slots) {\n throw new TypeError(\"\".concat(pl, \" InternalSlot has not been initialized\"));\n }\n return fields.reduce(function (all, f) {\n all[f] = slots[f];\n return all;\n }, Object.create(null));\n}\nexport function isLiteralPart(patternPart) {\n return patternPart.type === 'literal';\n}\n/*\n 17 ECMAScript Standard Built-in Objects:\n Every built-in Function object, including constructors, that is not\n identified as an anonymous function has a name property whose value\n is a String.\n\n Unless otherwise specified, the name property of a built-in Function\n object, if it exists, has the attributes { [[Writable]]: false,\n [[Enumerable]]: false, [[Configurable]]: true }.\n*/\nexport function defineProperty(target, name, _a) {\n var value = _a.value;\n Object.defineProperty(target, name, {\n configurable: true,\n enumerable: false,\n writable: true,\n value: value,\n });\n}\n/**\n * 7.3.5 CreateDataProperty\n * @param target\n * @param name\n * @param value\n */\nexport function createDataProperty(target, name, value) {\n Object.defineProperty(target, name, {\n configurable: true,\n enumerable: true,\n writable: true,\n value: value,\n });\n}\nexport var UNICODE_EXTENSION_SEQUENCE_REGEX = /-u(?:-[0-9a-z]{2,8})+/gi;\nexport function invariant(condition, message, Err) {\n if (Err === void 0) { Err = Error; }\n if (!condition) {\n throw new Err(message);\n }\n}\n","/**\n * The abstract operation ComputeExponentForMagnitude computes an exponent by which to scale a\n * number of the given magnitude (power of ten of the most significant digit) according to the\n * locale and the desired notation (scientific, engineering, or compact).\n */\nexport function ComputeExponentForMagnitude(numberFormat, magnitude, _a) {\n var getInternalSlots = _a.getInternalSlots;\n var internalSlots = getInternalSlots(numberFormat);\n var notation = internalSlots.notation, dataLocaleData = internalSlots.dataLocaleData, numberingSystem = internalSlots.numberingSystem;\n switch (notation) {\n case 'standard':\n return 0;\n case 'scientific':\n return magnitude;\n case 'engineering':\n return Math.floor(magnitude / 3) * 3;\n default: {\n // Let exponent be an implementation- and locale-dependent (ILD) integer by which to scale a\n // number of the given magnitude in compact notation for the current locale.\n var compactDisplay = internalSlots.compactDisplay, style = internalSlots.style, currencyDisplay = internalSlots.currencyDisplay;\n var thresholdMap = void 0;\n if (style === 'currency' && currencyDisplay !== 'name') {\n var currency = dataLocaleData.numbers.currency[numberingSystem] ||\n dataLocaleData.numbers.currency[dataLocaleData.numbers.nu[0]];\n thresholdMap = currency.short;\n }\n else {\n var decimal = dataLocaleData.numbers.decimal[numberingSystem] ||\n dataLocaleData.numbers.decimal[dataLocaleData.numbers.nu[0]];\n thresholdMap = compactDisplay === 'long' ? decimal.long : decimal.short;\n }\n if (!thresholdMap) {\n return 0;\n }\n var num = String(Math.pow(10, magnitude));\n var thresholds = Object.keys(thresholdMap); // TODO: this can be pre-processed\n if (num < thresholds[0]) {\n return 0;\n }\n if (num > thresholds[thresholds.length - 1]) {\n return thresholds[thresholds.length - 1].length - 1;\n }\n var i = thresholds.indexOf(num);\n if (i === -1) {\n return 0;\n }\n // See https://unicode.org/reports/tr35/tr35-numbers.html#Compact_Number_Formats\n // Special handling if the pattern is precisely `0`.\n var magnitudeKey = thresholds[i];\n // TODO: do we need to handle plural here?\n var compactPattern = thresholdMap[magnitudeKey].other;\n if (compactPattern === '0') {\n return 0;\n }\n // Example: in zh-TW, `10000000` maps to `0000萬`. So we need to return 8 - 4 = 4 here.\n return (magnitudeKey.length -\n thresholdMap[magnitudeKey].other.match(/0+/)[0].length);\n }\n }\n}\n","import { repeat, getMagnitude } from '../utils';\nexport function ToRawPrecision(x, minPrecision, maxPrecision) {\n var p = maxPrecision;\n var m;\n var e;\n var xFinal;\n if (x === 0) {\n m = repeat('0', p);\n e = 0;\n xFinal = 0;\n }\n else {\n var xToString = x.toString();\n // If xToString is formatted as scientific notation, the number is either very small or very\n // large. If the precision of the formatted string is lower that requested max precision, we\n // should still infer them from the formatted string, otherwise the formatted result might have\n // precision loss (e.g. 1e41 will not have 0 in every trailing digits).\n var xToStringExponentIndex = xToString.indexOf('e');\n var _a = xToString.split('e'), xToStringMantissa = _a[0], xToStringExponent = _a[1];\n var xToStringMantissaWithoutDecimalPoint = xToStringMantissa.replace('.', '');\n if (xToStringExponentIndex >= 0 &&\n xToStringMantissaWithoutDecimalPoint.length <= p) {\n e = +xToStringExponent;\n m =\n xToStringMantissaWithoutDecimalPoint +\n repeat('0', p - xToStringMantissaWithoutDecimalPoint.length);\n xFinal = x;\n }\n else {\n e = getMagnitude(x);\n var decimalPlaceOffset = e - p + 1;\n // n is the integer containing the required precision digits. To derive the formatted string,\n // we will adjust its decimal place in the logic below.\n var n = Math.round(adjustDecimalPlace(x, decimalPlaceOffset));\n // The rounding caused the change of magnitude, so we should increment `e` by 1.\n if (adjustDecimalPlace(n, p - 1) >= 10) {\n e = e + 1;\n // Divide n by 10 to swallow one precision.\n n = Math.floor(n / 10);\n }\n m = n.toString();\n // Equivalent of n * 10 ** (e - p + 1)\n xFinal = adjustDecimalPlace(n, p - 1 - e);\n }\n }\n var int;\n if (e >= p - 1) {\n m = m + repeat('0', e - p + 1);\n int = e + 1;\n }\n else if (e >= 0) {\n m = \"\".concat(m.slice(0, e + 1), \".\").concat(m.slice(e + 1));\n int = e + 1;\n }\n else {\n m = \"0.\".concat(repeat('0', -e - 1)).concat(m);\n int = 1;\n }\n if (m.indexOf('.') >= 0 && maxPrecision > minPrecision) {\n var cut = maxPrecision - minPrecision;\n while (cut > 0 && m[m.length - 1] === '0') {\n m = m.slice(0, -1);\n cut--;\n }\n if (m[m.length - 1] === '.') {\n m = m.slice(0, -1);\n }\n }\n return { formattedString: m, roundedNumber: xFinal, integerDigitsCount: int };\n // x / (10 ** magnitude), but try to preserve as much floating point precision as possible.\n function adjustDecimalPlace(x, magnitude) {\n return magnitude < 0 ? x * Math.pow(10, -magnitude) : x / Math.pow(10, magnitude);\n }\n}\n","import { repeat } from '../utils';\n/**\n * TODO: dedup with intl-pluralrules and support BigInt\n * https://tc39.es/ecma402/#sec-torawfixed\n * @param x a finite non-negative Number or BigInt\n * @param minFraction and integer between 0 and 20\n * @param maxFraction and integer between 0 and 20\n */\nexport function ToRawFixed(x, minFraction, maxFraction) {\n var f = maxFraction;\n var n = Math.round(x * Math.pow(10, f));\n var xFinal = n / Math.pow(10, f);\n // n is a positive integer, but it is possible to be greater than 1e21.\n // In such case we will go the slow path.\n // See also: https://tc39.es/ecma262/#sec-numeric-types-number-tostring\n var m;\n if (n < 1e21) {\n m = n.toString();\n }\n else {\n m = n.toString();\n var _a = m.split('e'), mantissa = _a[0], exponent = _a[1];\n m = mantissa.replace('.', '');\n m = m + repeat('0', Math.max(+exponent - m.length + 1, 0));\n }\n var int;\n if (f !== 0) {\n var k = m.length;\n if (k <= f) {\n var z = repeat('0', f + 1 - k);\n m = z + m;\n k = f + 1;\n }\n var a = m.slice(0, k - f);\n var b = m.slice(k - f);\n m = \"\".concat(a, \".\").concat(b);\n int = a.length;\n }\n else {\n int = m.length;\n }\n var cut = maxFraction - minFraction;\n while (cut > 0 && m[m.length - 1] === '0') {\n m = m.slice(0, -1);\n cut--;\n }\n if (m[m.length - 1] === '.') {\n m = m.slice(0, -1);\n }\n return { formattedString: m, roundedNumber: xFinal, integerDigitsCount: int };\n}\n","import { SameValue } from '../262';\nimport { ToRawPrecision } from './ToRawPrecision';\nimport { repeat } from '../utils';\nimport { ToRawFixed } from './ToRawFixed';\n/**\n * https://tc39.es/ecma402/#sec-formatnumberstring\n */\nexport function FormatNumericToString(intlObject, x) {\n var isNegative = x < 0 || SameValue(x, -0);\n if (isNegative) {\n x = -x;\n }\n var result;\n var rourndingType = intlObject.roundingType;\n switch (rourndingType) {\n case 'significantDigits':\n result = ToRawPrecision(x, intlObject.minimumSignificantDigits, intlObject.maximumSignificantDigits);\n break;\n case 'fractionDigits':\n result = ToRawFixed(x, intlObject.minimumFractionDigits, intlObject.maximumFractionDigits);\n break;\n default:\n result = ToRawPrecision(x, 1, 2);\n if (result.integerDigitsCount > 1) {\n result = ToRawFixed(x, 0, 0);\n }\n break;\n }\n x = result.roundedNumber;\n var string = result.formattedString;\n var int = result.integerDigitsCount;\n var minInteger = intlObject.minimumIntegerDigits;\n if (int < minInteger) {\n var forwardZeros = repeat('0', minInteger - int);\n string = forwardZeros + string;\n }\n if (isNegative) {\n x = -x;\n }\n return { roundedNumber: x, formattedString: string };\n}\n","import { getMagnitude } from '../utils';\nimport { ComputeExponentForMagnitude } from './ComputeExponentForMagnitude';\nimport { FormatNumericToString } from './FormatNumericToString';\n/**\n * The abstract operation ComputeExponent computes an exponent (power of ten) by which to scale x\n * according to the number formatting settings. It handles cases such as 999 rounding up to 1000,\n * requiring a different exponent.\n *\n * NOT IN SPEC: it returns [exponent, magnitude].\n */\nexport function ComputeExponent(numberFormat, x, _a) {\n var getInternalSlots = _a.getInternalSlots;\n if (x === 0) {\n return [0, 0];\n }\n if (x < 0) {\n x = -x;\n }\n var magnitude = getMagnitude(x);\n var exponent = ComputeExponentForMagnitude(numberFormat, magnitude, {\n getInternalSlots: getInternalSlots,\n });\n // Preserve more precision by doing multiplication when exponent is negative.\n x = exponent < 0 ? x * Math.pow(10, -exponent) : x / Math.pow(10, exponent);\n var formatNumberResult = FormatNumericToString(getInternalSlots(numberFormat), x);\n if (formatNumberResult.roundedNumber === 0) {\n return [exponent, magnitude];\n }\n var newMagnitude = getMagnitude(formatNumberResult.roundedNumber);\n if (newMagnitude === magnitude - exponent) {\n return [exponent, magnitude];\n }\n return [\n ComputeExponentForMagnitude(numberFormat, magnitude + 1, {\n getInternalSlots: getInternalSlots,\n }),\n magnitude + 1,\n ];\n}\n","import { HasOwnProperty } from '../262';\n/**\n * https://tc39.es/ecma402/#sec-currencydigits\n */\nexport function CurrencyDigits(c, _a) {\n var currencyDigitsData = _a.currencyDigitsData;\n return HasOwnProperty(currencyDigitsData, c)\n ? currencyDigitsData[c]\n : 2;\n}\n","/**\n * https://tc39.es/ecma402/#sec-formatapproximately\n */\nexport function FormatApproximately(numberFormat, result, _a) {\n var getInternalSlots = _a.getInternalSlots;\n var internalSlots = getInternalSlots(numberFormat);\n var symbols = internalSlots.dataLocaleData.numbers.symbols[internalSlots.numberingSystem];\n var approximatelySign = symbols.approximatelySign;\n result.push({ type: 'approximatelySign', value: approximatelySign });\n return result;\n}\n","// @generated from regex-gen.ts\nexport var S_UNICODE_REGEX = /[\\$\\+<->\\^`\\|~\\xA2-\\xA6\\xA8\\xA9\\xAC\\xAE-\\xB1\\xB4\\xB8\\xD7\\xF7\\u02C2-\\u02C5\\u02D2-\\u02DF\\u02E5-\\u02EB\\u02ED\\u02EF-\\u02FF\\u0375\\u0384\\u0385\\u03F6\\u0482\\u058D-\\u058F\\u0606-\\u0608\\u060B\\u060E\\u060F\\u06DE\\u06E9\\u06FD\\u06FE\\u07F6\\u07FE\\u07FF\\u09F2\\u09F3\\u09FA\\u09FB\\u0AF1\\u0B70\\u0BF3-\\u0BFA\\u0C7F\\u0D4F\\u0D79\\u0E3F\\u0F01-\\u0F03\\u0F13\\u0F15-\\u0F17\\u0F1A-\\u0F1F\\u0F34\\u0F36\\u0F38\\u0FBE-\\u0FC5\\u0FC7-\\u0FCC\\u0FCE\\u0FCF\\u0FD5-\\u0FD8\\u109E\\u109F\\u1390-\\u1399\\u166D\\u17DB\\u1940\\u19DE-\\u19FF\\u1B61-\\u1B6A\\u1B74-\\u1B7C\\u1FBD\\u1FBF-\\u1FC1\\u1FCD-\\u1FCF\\u1FDD-\\u1FDF\\u1FED-\\u1FEF\\u1FFD\\u1FFE\\u2044\\u2052\\u207A-\\u207C\\u208A-\\u208C\\u20A0-\\u20BF\\u2100\\u2101\\u2103-\\u2106\\u2108\\u2109\\u2114\\u2116-\\u2118\\u211E-\\u2123\\u2125\\u2127\\u2129\\u212E\\u213A\\u213B\\u2140-\\u2144\\u214A-\\u214D\\u214F\\u218A\\u218B\\u2190-\\u2307\\u230C-\\u2328\\u232B-\\u2426\\u2440-\\u244A\\u249C-\\u24E9\\u2500-\\u2767\\u2794-\\u27C4\\u27C7-\\u27E5\\u27F0-\\u2982\\u2999-\\u29D7\\u29DC-\\u29FB\\u29FE-\\u2B73\\u2B76-\\u2B95\\u2B97-\\u2BFF\\u2CE5-\\u2CEA\\u2E50\\u2E51\\u2E80-\\u2E99\\u2E9B-\\u2EF3\\u2F00-\\u2FD5\\u2FF0-\\u2FFB\\u3004\\u3012\\u3013\\u3020\\u3036\\u3037\\u303E\\u303F\\u309B\\u309C\\u3190\\u3191\\u3196-\\u319F\\u31C0-\\u31E3\\u3200-\\u321E\\u322A-\\u3247\\u3250\\u3260-\\u327F\\u328A-\\u32B0\\u32C0-\\u33FF\\u4DC0-\\u4DFF\\uA490-\\uA4C6\\uA700-\\uA716\\uA720\\uA721\\uA789\\uA78A\\uA828-\\uA82B\\uA836-\\uA839\\uAA77-\\uAA79\\uAB5B\\uAB6A\\uAB6B\\uFB29\\uFBB2-\\uFBC1\\uFDFC\\uFDFD\\uFE62\\uFE64-\\uFE66\\uFE69\\uFF04\\uFF0B\\uFF1C-\\uFF1E\\uFF3E\\uFF40\\uFF5C\\uFF5E\\uFFE0-\\uFFE6\\uFFE8-\\uFFEE\\uFFFC\\uFFFD]|\\uD800[\\uDD37-\\uDD3F\\uDD79-\\uDD89\\uDD8C-\\uDD8E\\uDD90-\\uDD9C\\uDDA0\\uDDD0-\\uDDFC]|\\uD802[\\uDC77\\uDC78\\uDEC8]|\\uD805\\uDF3F|\\uD807[\\uDFD5-\\uDFF1]|\\uD81A[\\uDF3C-\\uDF3F\\uDF45]|\\uD82F\\uDC9C|\\uD834[\\uDC00-\\uDCF5\\uDD00-\\uDD26\\uDD29-\\uDD64\\uDD6A-\\uDD6C\\uDD83\\uDD84\\uDD8C-\\uDDA9\\uDDAE-\\uDDE8\\uDE00-\\uDE41\\uDE45\\uDF00-\\uDF56]|\\uD835[\\uDEC1\\uDEDB\\uDEFB\\uDF15\\uDF35\\uDF4F\\uDF6F\\uDF89\\uDFA9\\uDFC3]|\\uD836[\\uDC00-\\uDDFF\\uDE37-\\uDE3A\\uDE6D-\\uDE74\\uDE76-\\uDE83\\uDE85\\uDE86]|\\uD838[\\uDD4F\\uDEFF]|\\uD83B[\\uDCAC\\uDCB0\\uDD2E\\uDEF0\\uDEF1]|\\uD83C[\\uDC00-\\uDC2B\\uDC30-\\uDC93\\uDCA0-\\uDCAE\\uDCB1-\\uDCBF\\uDCC1-\\uDCCF\\uDCD1-\\uDCF5\\uDD0D-\\uDDAD\\uDDE6-\\uDE02\\uDE10-\\uDE3B\\uDE40-\\uDE48\\uDE50\\uDE51\\uDE60-\\uDE65\\uDF00-\\uDFFF]|\\uD83D[\\uDC00-\\uDED7\\uDEE0-\\uDEEC\\uDEF0-\\uDEFC\\uDF00-\\uDF73\\uDF80-\\uDFD8\\uDFE0-\\uDFEB]|\\uD83E[\\uDC00-\\uDC0B\\uDC10-\\uDC47\\uDC50-\\uDC59\\uDC60-\\uDC87\\uDC90-\\uDCAD\\uDCB0\\uDCB1\\uDD00-\\uDD78\\uDD7A-\\uDDCB\\uDDCD-\\uDE53\\uDE60-\\uDE6D\\uDE70-\\uDE74\\uDE78-\\uDE7A\\uDE80-\\uDE86\\uDE90-\\uDEA8\\uDEB0-\\uDEB6\\uDEC0-\\uDEC2\\uDED0-\\uDED6\\uDF00-\\uDF92\\uDF94-\\uDFCA]/;\n","export var digitMapping = {\n \"adlm\": [\n \"𞥐\",\n \"𞥑\",\n \"𞥒\",\n \"𞥓\",\n \"𞥔\",\n \"𞥕\",\n \"𞥖\",\n \"𞥗\",\n \"𞥘\",\n \"𞥙\"\n ],\n \"ahom\": [\n \"𑜰\",\n \"𑜱\",\n \"𑜲\",\n \"𑜳\",\n \"𑜴\",\n \"𑜵\",\n \"𑜶\",\n \"𑜷\",\n \"𑜸\",\n \"𑜹\"\n ],\n \"arab\": [\n \"٠\",\n \"١\",\n \"٢\",\n \"٣\",\n \"٤\",\n \"٥\",\n \"٦\",\n \"٧\",\n \"٨\",\n \"٩\"\n ],\n \"arabext\": [\n \"۰\",\n \"۱\",\n \"۲\",\n \"۳\",\n \"۴\",\n \"۵\",\n \"۶\",\n \"۷\",\n \"۸\",\n \"۹\"\n ],\n \"bali\": [\n \"᭐\",\n \"᭑\",\n \"᭒\",\n \"᭓\",\n \"᭔\",\n \"᭕\",\n \"᭖\",\n \"᭗\",\n \"᭘\",\n \"᭙\"\n ],\n \"beng\": [\n \"০\",\n \"১\",\n \"২\",\n \"৩\",\n \"৪\",\n \"৫\",\n \"৬\",\n \"৭\",\n \"৮\",\n \"৯\"\n ],\n \"bhks\": [\n \"𑱐\",\n \"𑱑\",\n \"𑱒\",\n \"𑱓\",\n \"𑱔\",\n \"𑱕\",\n \"𑱖\",\n \"𑱗\",\n \"𑱘\",\n \"𑱙\"\n ],\n \"brah\": [\n \"𑁦\",\n \"𑁧\",\n \"𑁨\",\n \"𑁩\",\n \"𑁪\",\n \"𑁫\",\n \"𑁬\",\n \"𑁭\",\n \"𑁮\",\n \"𑁯\"\n ],\n \"cakm\": [\n \"𑄶\",\n \"𑄷\",\n \"𑄸\",\n \"𑄹\",\n \"𑄺\",\n \"𑄻\",\n \"𑄼\",\n \"𑄽\",\n \"𑄾\",\n \"𑄿\"\n ],\n \"cham\": [\n \"꩐\",\n \"꩑\",\n \"꩒\",\n \"꩓\",\n \"꩔\",\n \"꩕\",\n \"꩖\",\n \"꩗\",\n \"꩘\",\n \"꩙\"\n ],\n \"deva\": [\n \"०\",\n \"१\",\n \"२\",\n \"३\",\n \"४\",\n \"५\",\n \"६\",\n \"७\",\n \"८\",\n \"९\"\n ],\n \"diak\": [\n \"𑥐\",\n \"𑥑\",\n \"𑥒\",\n \"𑥓\",\n \"𑥔\",\n \"𑥕\",\n \"𑥖\",\n \"𑥗\",\n \"𑥘\",\n \"𑥙\"\n ],\n \"fullwide\": [\n \"0\",\n \"1\",\n \"2\",\n \"3\",\n \"4\",\n \"5\",\n \"6\",\n \"7\",\n \"8\",\n \"9\"\n ],\n \"gong\": [\n \"𑶠\",\n \"𑶡\",\n \"𑶢\",\n \"𑶣\",\n \"𑶤\",\n \"𑶥\",\n \"𑶦\",\n \"𑶧\",\n \"𑶨\",\n \"𑶩\"\n ],\n \"gonm\": [\n \"𑵐\",\n \"𑵑\",\n \"𑵒\",\n \"𑵓\",\n \"𑵔\",\n \"𑵕\",\n \"𑵖\",\n \"𑵗\",\n \"𑵘\",\n \"𑵙\"\n ],\n \"gujr\": [\n \"૦\",\n \"૧\",\n \"૨\",\n \"૩\",\n \"૪\",\n \"૫\",\n \"૬\",\n \"૭\",\n \"૮\",\n \"૯\"\n ],\n \"guru\": [\n \"੦\",\n \"੧\",\n \"੨\",\n \"੩\",\n \"੪\",\n \"੫\",\n \"੬\",\n \"੭\",\n \"੮\",\n \"੯\"\n ],\n \"hanidec\": [\n \"〇\",\n \"一\",\n \"二\",\n \"三\",\n \"四\",\n \"五\",\n \"六\",\n \"七\",\n \"八\",\n \"九\"\n ],\n \"hmng\": [\n \"𖭐\",\n \"𖭑\",\n \"𖭒\",\n \"𖭓\",\n \"𖭔\",\n \"𖭕\",\n \"𖭖\",\n \"𖭗\",\n \"𖭘\",\n \"𖭙\"\n ],\n \"hmnp\": [\n \"𞅀\",\n \"𞅁\",\n \"𞅂\",\n \"𞅃\",\n \"𞅄\",\n \"𞅅\",\n \"𞅆\",\n \"𞅇\",\n \"𞅈\",\n \"𞅉\"\n ],\n \"java\": [\n \"꧐\",\n \"꧑\",\n \"꧒\",\n \"꧓\",\n \"꧔\",\n \"꧕\",\n \"꧖\",\n \"꧗\",\n \"꧘\",\n \"꧙\"\n ],\n \"kali\": [\n \"꤀\",\n \"꤁\",\n \"꤂\",\n \"꤃\",\n \"꤄\",\n \"꤅\",\n \"꤆\",\n \"꤇\",\n \"꤈\",\n \"꤉\"\n ],\n \"khmr\": [\n \"០\",\n \"១\",\n \"២\",\n \"៣\",\n \"៤\",\n \"៥\",\n \"៦\",\n \"៧\",\n \"៨\",\n \"៩\"\n ],\n \"knda\": [\n \"೦\",\n \"೧\",\n \"೨\",\n \"೩\",\n \"೪\",\n \"೫\",\n \"೬\",\n \"೭\",\n \"೮\",\n \"೯\"\n ],\n \"lana\": [\n \"᪀\",\n \"᪁\",\n \"᪂\",\n \"᪃\",\n \"᪄\",\n \"᪅\",\n \"᪆\",\n \"᪇\",\n \"᪈\",\n \"᪉\"\n ],\n \"lanatham\": [\n \"᪐\",\n \"᪑\",\n \"᪒\",\n \"᪓\",\n \"᪔\",\n \"᪕\",\n \"᪖\",\n \"᪗\",\n \"᪘\",\n \"᪙\"\n ],\n \"laoo\": [\n \"໐\",\n \"໑\",\n \"໒\",\n \"໓\",\n \"໔\",\n \"໕\",\n \"໖\",\n \"໗\",\n \"໘\",\n \"໙\"\n ],\n \"lepc\": [\n \"᪐\",\n \"᪑\",\n \"᪒\",\n \"᪓\",\n \"᪔\",\n \"᪕\",\n \"᪖\",\n \"᪗\",\n \"᪘\",\n \"᪙\"\n ],\n \"limb\": [\n \"᥆\",\n \"᥇\",\n \"᥈\",\n \"᥉\",\n \"᥊\",\n \"᥋\",\n \"᥌\",\n \"᥍\",\n \"᥎\",\n \"᥏\"\n ],\n \"mathbold\": [\n \"𝟎\",\n \"𝟏\",\n \"𝟐\",\n \"𝟑\",\n \"𝟒\",\n \"𝟓\",\n \"𝟔\",\n \"𝟕\",\n \"𝟖\",\n \"𝟗\"\n ],\n \"mathdbl\": [\n \"𝟘\",\n \"𝟙\",\n \"𝟚\",\n \"𝟛\",\n \"𝟜\",\n \"𝟝\",\n \"𝟞\",\n \"𝟟\",\n \"𝟠\",\n \"𝟡\"\n ],\n \"mathmono\": [\n \"𝟶\",\n \"𝟷\",\n \"𝟸\",\n \"𝟹\",\n \"𝟺\",\n \"𝟻\",\n \"𝟼\",\n \"𝟽\",\n \"𝟾\",\n \"𝟿\"\n ],\n \"mathsanb\": [\n \"𝟬\",\n \"𝟭\",\n \"𝟮\",\n \"𝟯\",\n \"𝟰\",\n \"𝟱\",\n \"𝟲\",\n \"𝟳\",\n \"𝟴\",\n \"𝟵\"\n ],\n \"mathsans\": [\n \"𝟢\",\n \"𝟣\",\n \"𝟤\",\n \"𝟥\",\n \"𝟦\",\n \"𝟧\",\n \"𝟨\",\n \"𝟩\",\n \"𝟪\",\n \"𝟫\"\n ],\n \"mlym\": [\n \"൦\",\n \"൧\",\n \"൨\",\n \"൩\",\n \"൪\",\n \"൫\",\n \"൬\",\n \"൭\",\n \"൮\",\n \"൯\"\n ],\n \"modi\": [\n \"𑙐\",\n \"𑙑\",\n \"𑙒\",\n \"𑙓\",\n \"𑙔\",\n \"𑙕\",\n \"𑙖\",\n \"𑙗\",\n \"𑙘\",\n \"𑙙\"\n ],\n \"mong\": [\n \"᠐\",\n \"᠑\",\n \"᠒\",\n \"᠓\",\n \"᠔\",\n \"᠕\",\n \"᠖\",\n \"᠗\",\n \"᠘\",\n \"᠙\"\n ],\n \"mroo\": [\n \"𖩠\",\n \"𖩡\",\n \"𖩢\",\n \"𖩣\",\n \"𖩤\",\n \"𖩥\",\n \"𖩦\",\n \"𖩧\",\n \"𖩨\",\n \"𖩩\"\n ],\n \"mtei\": [\n \"꯰\",\n \"꯱\",\n \"꯲\",\n \"꯳\",\n \"꯴\",\n \"꯵\",\n \"꯶\",\n \"꯷\",\n \"꯸\",\n \"꯹\"\n ],\n \"mymr\": [\n \"၀\",\n \"၁\",\n \"၂\",\n \"၃\",\n \"၄\",\n \"၅\",\n \"၆\",\n \"၇\",\n \"၈\",\n \"၉\"\n ],\n \"mymrshan\": [\n \"႐\",\n \"႑\",\n \"႒\",\n \"႓\",\n \"႔\",\n \"႕\",\n \"႖\",\n \"႗\",\n \"႘\",\n \"႙\"\n ],\n \"mymrtlng\": [\n \"꧰\",\n \"꧱\",\n \"꧲\",\n \"꧳\",\n \"꧴\",\n \"꧵\",\n \"꧶\",\n \"꧷\",\n \"꧸\",\n \"꧹\"\n ],\n \"newa\": [\n \"𑑐\",\n \"𑑑\",\n \"𑑒\",\n \"𑑓\",\n \"𑑔\",\n \"𑑕\",\n \"𑑖\",\n \"𑑗\",\n \"𑑘\",\n \"𑑙\"\n ],\n \"nkoo\": [\n \"߀\",\n \"߁\",\n \"߂\",\n \"߃\",\n \"߄\",\n \"߅\",\n \"߆\",\n \"߇\",\n \"߈\",\n \"߉\"\n ],\n \"olck\": [\n \"᱐\",\n \"᱑\",\n \"᱒\",\n \"᱓\",\n \"᱔\",\n \"᱕\",\n \"᱖\",\n \"᱗\",\n \"᱘\",\n \"᱙\"\n ],\n \"orya\": [\n \"୦\",\n \"୧\",\n \"୨\",\n \"୩\",\n \"୪\",\n \"୫\",\n \"୬\",\n \"୭\",\n \"୮\",\n \"୯\"\n ],\n \"osma\": [\n \"𐒠\",\n \"𐒡\",\n \"𐒢\",\n \"𐒣\",\n \"𐒤\",\n \"𐒥\",\n \"𐒦\",\n \"𐒧\",\n \"𐒨\",\n \"𐒩\"\n ],\n \"rohg\": [\n \"𐴰\",\n \"𐴱\",\n \"𐴲\",\n \"𐴳\",\n \"𐴴\",\n \"𐴵\",\n \"𐴶\",\n \"𐴷\",\n \"𐴸\",\n \"𐴹\"\n ],\n \"saur\": [\n \"꣐\",\n \"꣑\",\n \"꣒\",\n \"꣓\",\n \"꣔\",\n \"꣕\",\n \"꣖\",\n \"꣗\",\n \"꣘\",\n \"꣙\"\n ],\n \"segment\": [\n \"🯰\",\n \"🯱\",\n \"🯲\",\n \"🯳\",\n \"🯴\",\n \"🯵\",\n \"🯶\",\n \"🯷\",\n \"🯸\",\n \"🯹\"\n ],\n \"shrd\": [\n \"𑇐\",\n \"𑇑\",\n \"𑇒\",\n \"𑇓\",\n \"𑇔\",\n \"𑇕\",\n \"𑇖\",\n \"𑇗\",\n \"𑇘\",\n \"𑇙\"\n ],\n \"sind\": [\n \"𑋰\",\n \"𑋱\",\n \"𑋲\",\n \"𑋳\",\n \"𑋴\",\n \"𑋵\",\n \"𑋶\",\n \"𑋷\",\n \"𑋸\",\n \"𑋹\"\n ],\n \"sinh\": [\n \"෦\",\n \"෧\",\n \"෨\",\n \"෩\",\n \"෪\",\n \"෫\",\n \"෬\",\n \"෭\",\n \"෮\",\n \"෯\"\n ],\n \"sora\": [\n \"𑃰\",\n \"𑃱\",\n \"𑃲\",\n \"𑃳\",\n \"𑃴\",\n \"𑃵\",\n \"𑃶\",\n \"𑃷\",\n \"𑃸\",\n \"𑃹\"\n ],\n \"sund\": [\n \"᮰\",\n \"᮱\",\n \"᮲\",\n \"᮳\",\n \"᮴\",\n \"᮵\",\n \"᮶\",\n \"᮷\",\n \"᮸\",\n \"᮹\"\n ],\n \"takr\": [\n \"𑛀\",\n \"𑛁\",\n \"𑛂\",\n \"𑛃\",\n \"𑛄\",\n \"𑛅\",\n \"𑛆\",\n \"𑛇\",\n \"𑛈\",\n \"𑛉\"\n ],\n \"talu\": [\n \"᧐\",\n \"᧑\",\n \"᧒\",\n \"᧓\",\n \"᧔\",\n \"᧕\",\n \"᧖\",\n \"᧗\",\n \"᧘\",\n \"᧙\"\n ],\n \"tamldec\": [\n \"௦\",\n \"௧\",\n \"௨\",\n \"௩\",\n \"௪\",\n \"௫\",\n \"௬\",\n \"௭\",\n \"௮\",\n \"௯\"\n ],\n \"telu\": [\n \"౦\",\n \"౧\",\n \"౨\",\n \"౩\",\n \"౪\",\n \"౫\",\n \"౬\",\n \"౭\",\n \"౮\",\n \"౯\"\n ],\n \"thai\": [\n \"๐\",\n \"๑\",\n \"๒\",\n \"๓\",\n \"๔\",\n \"๕\",\n \"๖\",\n \"๗\",\n \"๘\",\n \"๙\"\n ],\n \"tibt\": [\n \"༠\",\n \"༡\",\n \"༢\",\n \"༣\",\n \"༤\",\n \"༥\",\n \"༦\",\n \"༧\",\n \"༨\",\n \"༩\"\n ],\n \"tirh\": [\n \"𑓐\",\n \"𑓑\",\n \"𑓒\",\n \"𑓓\",\n \"𑓔\",\n \"𑓕\",\n \"𑓖\",\n \"𑓗\",\n \"𑓘\",\n \"𑓙\"\n ],\n \"vaii\": [\n \"ᘠ\",\n \"ᘡ\",\n \"ᘢ\",\n \"ᘣ\",\n \"ᘤ\",\n \"ᘥ\",\n \"ᘦ\",\n \"ᘧ\",\n \"ᘨ\",\n \"ᘩ\"\n ],\n \"wara\": [\n \"𑣠\",\n \"𑣡\",\n \"𑣢\",\n \"𑣣\",\n \"𑣤\",\n \"𑣥\",\n \"𑣦\",\n \"𑣧\",\n \"𑣨\",\n \"𑣩\"\n ],\n \"wcho\": [\n \"𞋰\",\n \"𞋱\",\n \"𞋲\",\n \"𞋳\",\n \"𞋴\",\n \"𞋵\",\n \"𞋶\",\n \"𞋷\",\n \"𞋸\",\n \"𞋹\"\n ]\n};\n","import { S_UNICODE_REGEX } from '../regex.generated';\nimport { ToRawFixed } from './ToRawFixed';\nimport { digitMapping } from './digit-mapping.generated';\n// This is from: unicode-12.1.0/General_Category/Symbol/regex.js\n// IE11 does not support unicode flag, otherwise this is just /\\p{S}/u.\n// /^\\p{S}/u\nvar CARET_S_UNICODE_REGEX = new RegExp(\"^\".concat(S_UNICODE_REGEX.source));\n// /\\p{S}$/u\nvar S_DOLLAR_UNICODE_REGEX = new RegExp(\"\".concat(S_UNICODE_REGEX.source, \"$\"));\nvar CLDR_NUMBER_PATTERN = /[#0](?:[\\.,][#0]+)*/g;\nexport default function formatToParts(numberResult, data, pl, options) {\n var sign = numberResult.sign, exponent = numberResult.exponent, magnitude = numberResult.magnitude;\n var notation = options.notation, style = options.style, numberingSystem = options.numberingSystem;\n var defaultNumberingSystem = data.numbers.nu[0];\n // #region Part 1: partition and interpolate the CLDR number pattern.\n // ----------------------------------------------------------\n var compactNumberPattern = null;\n if (notation === 'compact' && magnitude) {\n compactNumberPattern = getCompactDisplayPattern(numberResult, pl, data, style, options.compactDisplay, options.currencyDisplay, numberingSystem);\n }\n // This is used multiple times\n var nonNameCurrencyPart;\n if (style === 'currency' && options.currencyDisplay !== 'name') {\n var byCurrencyDisplay = data.currencies[options.currency];\n if (byCurrencyDisplay) {\n switch (options.currencyDisplay) {\n case 'code':\n nonNameCurrencyPart = options.currency;\n break;\n case 'symbol':\n nonNameCurrencyPart = byCurrencyDisplay.symbol;\n break;\n default:\n nonNameCurrencyPart = byCurrencyDisplay.narrow;\n break;\n }\n }\n else {\n // Fallback for unknown currency\n nonNameCurrencyPart = options.currency;\n }\n }\n var numberPattern;\n if (!compactNumberPattern) {\n // Note: if the style is unit, or is currency and the currency display is name,\n // its unit parts will be interpolated in part 2. So here we can fallback to decimal.\n if (style === 'decimal' ||\n style === 'unit' ||\n (style === 'currency' && options.currencyDisplay === 'name')) {\n // Shortcut for decimal\n var decimalData = data.numbers.decimal[numberingSystem] ||\n data.numbers.decimal[defaultNumberingSystem];\n numberPattern = getPatternForSign(decimalData.standard, sign);\n }\n else if (style === 'currency') {\n var currencyData = data.numbers.currency[numberingSystem] ||\n data.numbers.currency[defaultNumberingSystem];\n // We replace number pattern part with `0` for easier postprocessing.\n numberPattern = getPatternForSign(currencyData[options.currencySign], sign);\n }\n else {\n // percent\n var percentPattern = data.numbers.percent[numberingSystem] ||\n data.numbers.percent[defaultNumberingSystem];\n numberPattern = getPatternForSign(percentPattern, sign);\n }\n }\n else {\n numberPattern = compactNumberPattern;\n }\n // Extract the decimal number pattern string. It looks like \"#,##0,00\", which will later be\n // used to infer decimal group sizes.\n var decimalNumberPattern = CLDR_NUMBER_PATTERN.exec(numberPattern)[0];\n // Now we start to substitute patterns\n // 1. replace strings like `0` and `#,##0.00` with `{0}`\n // 2. unquote characters (invariant: the quoted characters does not contain the special tokens)\n numberPattern = numberPattern\n .replace(CLDR_NUMBER_PATTERN, '{0}')\n .replace(/'(.)'/g, '$1');\n // Handle currency spacing (both compact and non-compact).\n if (style === 'currency' && options.currencyDisplay !== 'name') {\n var currencyData = data.numbers.currency[numberingSystem] ||\n data.numbers.currency[defaultNumberingSystem];\n // See `currencySpacing` substitution rule in TR-35.\n // Here we always assume the currencyMatch is \"[:^S:]\" and surroundingMatch is \"[:digit:]\".\n //\n // Example 1: for pattern \"#,##0.00¤\" with symbol \"US$\", we replace \"¤\" with the symbol,\n // but insert an extra non-break space before the symbol, because \"[:^S:]\" matches \"U\" in\n // \"US$\" and \"[:digit:]\" matches the latn numbering system digits.\n //\n // Example 2: for pattern \"¤#,##0.00\" with symbol \"US$\", there is no spacing between symbol\n // and number, because `$` does not match \"[:^S:]\".\n //\n // Implementation note: here we do the best effort to infer the insertion.\n // We also assume that `beforeInsertBetween` and `afterInsertBetween` will never be `;`.\n var afterCurrency = currencyData.currencySpacing.afterInsertBetween;\n if (afterCurrency && !S_DOLLAR_UNICODE_REGEX.test(nonNameCurrencyPart)) {\n numberPattern = numberPattern.replace('¤{0}', \"\\u00A4\".concat(afterCurrency, \"{0}\"));\n }\n var beforeCurrency = currencyData.currencySpacing.beforeInsertBetween;\n if (beforeCurrency && !CARET_S_UNICODE_REGEX.test(nonNameCurrencyPart)) {\n numberPattern = numberPattern.replace('{0}¤', \"{0}\".concat(beforeCurrency, \"\\u00A4\"));\n }\n }\n // The following tokens are special: `{0}`, `¤`, `%`, `-`, `+`, `{c:...}.\n var numberPatternParts = numberPattern.split(/({c:[^}]+}|\\{0\\}|[¤%\\-\\+])/g);\n var numberParts = [];\n var symbols = data.numbers.symbols[numberingSystem] ||\n data.numbers.symbols[defaultNumberingSystem];\n for (var _i = 0, numberPatternParts_1 = numberPatternParts; _i < numberPatternParts_1.length; _i++) {\n var part = numberPatternParts_1[_i];\n if (!part) {\n continue;\n }\n switch (part) {\n case '{0}': {\n // We only need to handle scientific and engineering notation here.\n numberParts.push.apply(numberParts, paritionNumberIntoParts(symbols, numberResult, notation, exponent, numberingSystem, \n // If compact number pattern exists, do not insert group separators.\n !compactNumberPattern && Boolean(options.useGrouping), decimalNumberPattern, style));\n break;\n }\n case '-':\n numberParts.push({ type: 'minusSign', value: symbols.minusSign });\n break;\n case '+':\n numberParts.push({ type: 'plusSign', value: symbols.plusSign });\n break;\n case '%':\n numberParts.push({ type: 'percentSign', value: symbols.percentSign });\n break;\n case '¤':\n // Computed above when handling currency spacing.\n numberParts.push({ type: 'currency', value: nonNameCurrencyPart });\n break;\n default:\n if (/^\\{c:/.test(part)) {\n numberParts.push({\n type: 'compact',\n value: part.substring(3, part.length - 1),\n });\n }\n else {\n // literal\n numberParts.push({ type: 'literal', value: part });\n }\n break;\n }\n }\n // #endregion\n // #region Part 2: interpolate unit pattern if necessary.\n // ----------------------------------------------\n switch (style) {\n case 'currency': {\n // `currencyDisplay: 'name'` has similar pattern handling as units.\n if (options.currencyDisplay === 'name') {\n var unitPattern = (data.numbers.currency[numberingSystem] ||\n data.numbers.currency[defaultNumberingSystem]).unitPattern;\n // Select plural\n var unitName = void 0;\n var currencyNameData = data.currencies[options.currency];\n if (currencyNameData) {\n unitName = selectPlural(pl, numberResult.roundedNumber * Math.pow(10, exponent), currencyNameData.displayName);\n }\n else {\n // Fallback for unknown currency\n unitName = options.currency;\n }\n // Do {0} and {1} substitution\n var unitPatternParts = unitPattern.split(/(\\{[01]\\})/g);\n var result = [];\n for (var _a = 0, unitPatternParts_1 = unitPatternParts; _a < unitPatternParts_1.length; _a++) {\n var part = unitPatternParts_1[_a];\n switch (part) {\n case '{0}':\n result.push.apply(result, numberParts);\n break;\n case '{1}':\n result.push({ type: 'currency', value: unitName });\n break;\n default:\n if (part) {\n result.push({ type: 'literal', value: part });\n }\n break;\n }\n }\n return result;\n }\n else {\n return numberParts;\n }\n }\n case 'unit': {\n var unit = options.unit, unitDisplay = options.unitDisplay;\n var unitData = data.units.simple[unit];\n var unitPattern = void 0;\n if (unitData) {\n // Simple unit pattern\n unitPattern = selectPlural(pl, numberResult.roundedNumber * Math.pow(10, exponent), data.units.simple[unit][unitDisplay]);\n }\n else {\n // See: http://unicode.org/reports/tr35/tr35-general.html#perUnitPatterns\n // If cannot find unit in the simple pattern, it must be \"per\" compound pattern.\n // Implementation note: we are not following TR-35 here because we need to format to parts!\n var _b = unit.split('-per-'), numeratorUnit = _b[0], denominatorUnit = _b[1];\n unitData = data.units.simple[numeratorUnit];\n var numeratorUnitPattern = selectPlural(pl, numberResult.roundedNumber * Math.pow(10, exponent), data.units.simple[numeratorUnit][unitDisplay]);\n var perUnitPattern = data.units.simple[denominatorUnit].perUnit[unitDisplay];\n if (perUnitPattern) {\n // perUnitPattern exists, combine it with numeratorUnitPattern\n unitPattern = perUnitPattern.replace('{0}', numeratorUnitPattern);\n }\n else {\n // get compoundUnit pattern (e.g. \"{0} per {1}\"), repalce {0} with numerator pattern and {1} with\n // the denominator pattern in singular form.\n var perPattern = data.units.compound.per[unitDisplay];\n var denominatorPattern = selectPlural(pl, 1, data.units.simple[denominatorUnit][unitDisplay]);\n unitPattern = unitPattern = perPattern\n .replace('{0}', numeratorUnitPattern)\n .replace('{1}', denominatorPattern.replace('{0}', ''));\n }\n }\n var result = [];\n // We need spacing around \"{0}\" because they are not treated as \"unit\" parts, but \"literal\".\n for (var _c = 0, _d = unitPattern.split(/(\\s*\\{0\\}\\s*)/); _c < _d.length; _c++) {\n var part = _d[_c];\n var interpolateMatch = /^(\\s*)\\{0\\}(\\s*)$/.exec(part);\n if (interpolateMatch) {\n // Space before \"{0}\"\n if (interpolateMatch[1]) {\n result.push({ type: 'literal', value: interpolateMatch[1] });\n }\n // \"{0}\" itself\n result.push.apply(result, numberParts);\n // Space after \"{0}\"\n if (interpolateMatch[2]) {\n result.push({ type: 'literal', value: interpolateMatch[2] });\n }\n }\n else if (part) {\n result.push({ type: 'unit', value: part });\n }\n }\n return result;\n }\n default:\n return numberParts;\n }\n // #endregion\n}\n// A subset of https://tc39.es/ecma402/#sec-partitionnotationsubpattern\n// Plus the exponent parts handling.\nfunction paritionNumberIntoParts(symbols, numberResult, notation, exponent, numberingSystem, useGrouping, \n/**\n * This is the decimal number pattern without signs or symbols.\n * It is used to infer the group size when `useGrouping` is true.\n *\n * A typical value looks like \"#,##0.00\" (primary group size is 3).\n * Some locales like Hindi has secondary group size of 2 (e.g. \"#,##,##0.00\").\n */\ndecimalNumberPattern, style) {\n var result = [];\n // eslint-disable-next-line prefer-const\n var n = numberResult.formattedString, x = numberResult.roundedNumber;\n if (isNaN(x)) {\n return [{ type: 'nan', value: n }];\n }\n else if (!isFinite(x)) {\n return [{ type: 'infinity', value: n }];\n }\n var digitReplacementTable = digitMapping[numberingSystem];\n if (digitReplacementTable) {\n n = n.replace(/\\d/g, function (digit) { return digitReplacementTable[+digit] || digit; });\n }\n // TODO: Else use an implementation dependent algorithm to map n to the appropriate\n // representation of n in the given numbering system.\n var decimalSepIndex = n.indexOf('.');\n var integer;\n var fraction;\n if (decimalSepIndex > 0) {\n integer = n.slice(0, decimalSepIndex);\n fraction = n.slice(decimalSepIndex + 1);\n }\n else {\n integer = n;\n }\n // #region Grouping integer digits\n // The weird compact and x >= 10000 check is to ensure consistency with Node.js and Chrome.\n // Note that `de` does not have compact form for thousands, but Node.js does not insert grouping separator\n // unless the rounded number is greater than 10000:\n // NumberFormat('de', {notation: 'compact', compactDisplay: 'short'}).format(1234) //=> \"1234\"\n // NumberFormat('de').format(1234) //=> \"1.234\"\n if (useGrouping && (notation !== 'compact' || x >= 10000)) {\n // a. Let groupSepSymbol be the implementation-, locale-, and numbering system-dependent (ILND) String representing the grouping separator.\n // For currency we should use `currencyGroup` instead of generic `group`\n var groupSepSymbol = style === 'currency' && symbols.currencyGroup != null\n ? symbols.currencyGroup\n : symbols.group;\n var groups = [];\n // > There may be two different grouping sizes: The primary grouping size used for the least\n // > significant integer group, and the secondary grouping size used for more significant groups.\n // > If a pattern contains multiple grouping separators, the interval between the last one and the\n // > end of the integer defines the primary grouping size, and the interval between the last two\n // > defines the secondary grouping size. All others are ignored.\n var integerNumberPattern = decimalNumberPattern.split('.')[0];\n var patternGroups = integerNumberPattern.split(',');\n var primaryGroupingSize = 3;\n var secondaryGroupingSize = 3;\n if (patternGroups.length > 1) {\n primaryGroupingSize = patternGroups[patternGroups.length - 1].length;\n }\n if (patternGroups.length > 2) {\n secondaryGroupingSize = patternGroups[patternGroups.length - 2].length;\n }\n var i = integer.length - primaryGroupingSize;\n if (i > 0) {\n // Slice the least significant integer group\n groups.push(integer.slice(i, i + primaryGroupingSize));\n // Then iteratively push the more signicant groups\n // TODO: handle surrogate pairs in some numbering system digits\n for (i -= secondaryGroupingSize; i > 0; i -= secondaryGroupingSize) {\n groups.push(integer.slice(i, i + secondaryGroupingSize));\n }\n groups.push(integer.slice(0, i + secondaryGroupingSize));\n }\n else {\n groups.push(integer);\n }\n while (groups.length > 0) {\n var integerGroup = groups.pop();\n result.push({ type: 'integer', value: integerGroup });\n if (groups.length > 0) {\n result.push({ type: 'group', value: groupSepSymbol });\n }\n }\n }\n else {\n result.push({ type: 'integer', value: integer });\n }\n // #endregion\n if (fraction !== undefined) {\n var decimalSepSymbol = style === 'currency' && symbols.currencyDecimal != null\n ? symbols.currencyDecimal\n : symbols.decimal;\n result.push({ type: 'decimal', value: decimalSepSymbol }, { type: 'fraction', value: fraction });\n }\n if ((notation === 'scientific' || notation === 'engineering') &&\n isFinite(x)) {\n result.push({ type: 'exponentSeparator', value: symbols.exponential });\n if (exponent < 0) {\n result.push({ type: 'exponentMinusSign', value: symbols.minusSign });\n exponent = -exponent;\n }\n var exponentResult = ToRawFixed(exponent, 0, 0);\n result.push({\n type: 'exponentInteger',\n value: exponentResult.formattedString,\n });\n }\n return result;\n}\nfunction getPatternForSign(pattern, sign) {\n if (pattern.indexOf(';') < 0) {\n pattern = \"\".concat(pattern, \";-\").concat(pattern);\n }\n var _a = pattern.split(';'), zeroPattern = _a[0], negativePattern = _a[1];\n switch (sign) {\n case 0:\n return zeroPattern;\n case -1:\n return negativePattern;\n default:\n return negativePattern.indexOf('-') >= 0\n ? negativePattern.replace(/-/g, '+')\n : \"+\".concat(zeroPattern);\n }\n}\n// Find the CLDR pattern for compact notation based on the magnitude of data and style.\n//\n// Example return value: \"¤ {c:laki}000;¤{c:laki} -0\" (`sw` locale):\n// - Notice the `{c:...}` token that wraps the compact literal.\n// - The consecutive zeros are normalized to single zero to match CLDR_NUMBER_PATTERN.\n//\n// Returning null means the compact display pattern cannot be found.\nfunction getCompactDisplayPattern(numberResult, pl, data, style, compactDisplay, currencyDisplay, numberingSystem) {\n var _a;\n var roundedNumber = numberResult.roundedNumber, sign = numberResult.sign, magnitude = numberResult.magnitude;\n var magnitudeKey = String(Math.pow(10, magnitude));\n var defaultNumberingSystem = data.numbers.nu[0];\n var pattern;\n if (style === 'currency' && currencyDisplay !== 'name') {\n var byNumberingSystem = data.numbers.currency;\n var currencyData = byNumberingSystem[numberingSystem] ||\n byNumberingSystem[defaultNumberingSystem];\n // NOTE: compact notation ignores currencySign!\n var compactPluralRules = (_a = currencyData.short) === null || _a === void 0 ? void 0 : _a[magnitudeKey];\n if (!compactPluralRules) {\n return null;\n }\n pattern = selectPlural(pl, roundedNumber, compactPluralRules);\n }\n else {\n var byNumberingSystem = data.numbers.decimal;\n var byCompactDisplay = byNumberingSystem[numberingSystem] ||\n byNumberingSystem[defaultNumberingSystem];\n var compactPlaralRule = byCompactDisplay[compactDisplay][magnitudeKey];\n if (!compactPlaralRule) {\n return null;\n }\n pattern = selectPlural(pl, roundedNumber, compactPlaralRule);\n }\n // See https://unicode.org/reports/tr35/tr35-numbers.html#Compact_Number_Formats\n // > If the value is precisely “0”, either explicit or defaulted, then the normal number format\n // > pattern for that sort of object is supplied.\n if (pattern === '0') {\n return null;\n }\n pattern = getPatternForSign(pattern, sign)\n // Extract compact literal from the pattern\n .replace(/([^\\s;\\-\\+\\d¤]+)/g, '{c:$1}')\n // We replace one or more zeros with a single zero so it matches `CLDR_NUMBER_PATTERN`.\n .replace(/0+/, '0');\n return pattern;\n}\nfunction selectPlural(pl, x, rules) {\n return rules[pl.select(x)] || rules.other;\n}\n","import { FormatNumericToString } from './FormatNumericToString';\nimport { SameValue } from '../262';\nimport { ComputeExponent } from './ComputeExponent';\nimport formatToParts from './format_to_parts';\n/**\n * https://tc39.es/ecma402/#sec-formatnumberstring\n */\nexport function PartitionNumberPattern(numberFormat, x, _a) {\n var _b;\n var getInternalSlots = _a.getInternalSlots;\n var internalSlots = getInternalSlots(numberFormat);\n var pl = internalSlots.pl, dataLocaleData = internalSlots.dataLocaleData, numberingSystem = internalSlots.numberingSystem;\n var symbols = dataLocaleData.numbers.symbols[numberingSystem] ||\n dataLocaleData.numbers.symbols[dataLocaleData.numbers.nu[0]];\n var magnitude = 0;\n var exponent = 0;\n var n;\n if (isNaN(x)) {\n n = symbols.nan;\n }\n else if (x == Number.POSITIVE_INFINITY || x == Number.NEGATIVE_INFINITY) {\n n = symbols.infinity;\n }\n else {\n if (!SameValue(x, -0)) {\n if (!isFinite(x)) {\n throw new Error('Input must be a mathematical value');\n }\n if (internalSlots.style == 'percent') {\n x *= 100;\n }\n ;\n _b = ComputeExponent(numberFormat, x, {\n getInternalSlots: getInternalSlots,\n }), exponent = _b[0], magnitude = _b[1];\n // Preserve more precision by doing multiplication when exponent is negative.\n x = exponent < 0 ? x * Math.pow(10, -exponent) : x / Math.pow(10, exponent);\n }\n var formatNumberResult = FormatNumericToString(internalSlots, x);\n n = formatNumberResult.formattedString;\n x = formatNumberResult.roundedNumber;\n }\n // Based on https://tc39.es/ecma402/#sec-getnumberformatpattern\n // We need to do this before `x` is rounded.\n var sign;\n var signDisplay = internalSlots.signDisplay;\n switch (signDisplay) {\n case 'never':\n sign = 0;\n break;\n case 'auto':\n if (SameValue(x, 0) || x > 0 || isNaN(x)) {\n sign = 0;\n }\n else {\n sign = -1;\n }\n break;\n case 'always':\n if (SameValue(x, 0) || x > 0 || isNaN(x)) {\n sign = 1;\n }\n else {\n sign = -1;\n }\n break;\n default:\n // x === 0 -> x is 0 or x is -0\n if (x === 0 || isNaN(x)) {\n sign = 0;\n }\n else if (x > 0) {\n sign = 1;\n }\n else {\n sign = -1;\n }\n }\n return formatToParts({ roundedNumber: x, formattedString: n, exponent: exponent, magnitude: magnitude, sign: sign }, internalSlots.dataLocaleData, pl, internalSlots);\n}\n","import { PartitionNumberPattern } from './PartitionNumberPattern';\nimport { CollapseNumberRange } from './CollapseNumberRange';\nimport { FormatApproximately } from './FormatApproximately';\n/**\n * https://tc39.es/ecma402/#sec-partitionnumberrangepattern\n */\nexport function PartitionNumberRangePattern(numberFormat, x, y, _a) {\n var getInternalSlots = _a.getInternalSlots;\n if (isNaN(x) || isNaN(y)) {\n throw new RangeError('Input must be a number');\n }\n var result = [];\n var xResult = PartitionNumberPattern(numberFormat, x, { getInternalSlots: getInternalSlots });\n var yResult = PartitionNumberPattern(numberFormat, y, { getInternalSlots: getInternalSlots });\n if (xResult === yResult) {\n return FormatApproximately(numberFormat, xResult, { getInternalSlots: getInternalSlots });\n }\n for (var _i = 0, xResult_1 = xResult; _i < xResult_1.length; _i++) {\n var r = xResult_1[_i];\n r.source = 'startRange';\n }\n result = result.concat(xResult);\n var internalSlots = getInternalSlots(numberFormat);\n var symbols = internalSlots.dataLocaleData.numbers.symbols[internalSlots.numberingSystem];\n result.push({ type: 'literal', value: symbols.rangeSign, source: 'shared' });\n for (var _b = 0, yResult_1 = yResult; _b < yResult_1.length; _b++) {\n var r = yResult_1[_b];\n r.source = 'endRange';\n }\n result = result.concat(yResult);\n return CollapseNumberRange(result);\n}\n","import { PartitionNumberRangePattern } from './PartitionNumberRangePattern';\n/**\n * https://tc39.es/ecma402/#sec-formatnumericrange\n */\nexport function FormatNumericRange(numberFormat, x, y, _a) {\n var getInternalSlots = _a.getInternalSlots;\n var parts = PartitionNumberRangePattern(numberFormat, x, y, {\n getInternalSlots: getInternalSlots,\n });\n return parts.map(function (part) { return part.value; }).join('');\n}\n","import { PartitionNumberRangePattern } from './PartitionNumberRangePattern';\n/**\n * https://tc39.es/ecma402/#sec-formatnumericrangetoparts\n */\nexport function FormatNumericRangeToParts(numberFormat, x, y, _a) {\n var getInternalSlots = _a.getInternalSlots;\n var parts = PartitionNumberRangePattern(numberFormat, x, y, {\n getInternalSlots: getInternalSlots,\n });\n return parts.map(function (part, index) { return ({\n type: part.type,\n value: part.value,\n source: part.source,\n result: index.toString(),\n }); });\n}\n","import { PartitionNumberPattern } from './PartitionNumberPattern';\nimport { ArrayCreate } from '../262';\nexport function FormatNumericToParts(nf, x, implDetails) {\n var parts = PartitionNumberPattern(nf, x, implDetails);\n var result = ArrayCreate(0);\n for (var _i = 0, parts_1 = parts; _i < parts_1.length; _i++) {\n var part = parts_1[_i];\n result.push({\n type: part.type,\n value: part.value,\n });\n }\n return result;\n}\n","var negativeMapping = {\n ceil: 'zero',\n floor: 'infinity',\n expand: 'infinity',\n trunc: 'zero',\n halfCeil: 'half-zero',\n halfFloor: 'half-infinity',\n halfExpand: 'half-infinity',\n halfTrunc: 'half-zero',\n halfEven: 'half-even',\n};\nvar positiveMapping = {\n ceil: 'infinity',\n floor: 'zero',\n expand: 'infinity',\n trunc: 'zero',\n halfCeil: 'half-infinity',\n halfFloor: 'half-zero',\n halfExpand: 'half-infinity',\n halfTrunc: 'half-zero',\n halfEven: 'half-even',\n};\nexport function GetUnsignedRoundingMode(roundingMode, isNegative) {\n if (isNegative) {\n return negativeMapping[roundingMode];\n }\n return positiveMapping[roundingMode];\n}\n","import { DefaultNumberOption } from '../DefaultNumberOption';\nimport { GetNumberOption } from '../GetNumberOption';\nimport { GetOption } from '../GetOption';\n/**\n * https://tc39.es/ecma402/#sec-setnfdigitoptions\n */\nexport function SetNumberFormatDigitOptions(internalSlots, opts, mnfdDefault, mxfdDefault, notation) {\n var mnid = GetNumberOption(opts, 'minimumIntegerDigits', 1, 21, 1);\n var mnfd = opts.minimumFractionDigits;\n var mxfd = opts.maximumFractionDigits;\n var mnsd = opts.minimumSignificantDigits;\n var mxsd = opts.maximumSignificantDigits;\n internalSlots.minimumIntegerDigits = mnid;\n var roundingPriority = GetOption(opts, 'roundingPriority', 'string', ['auto', 'morePrecision', 'lessPrecision'], 'auto');\n var hasSd = mnsd !== undefined || mxsd !== undefined;\n var hasFd = mnfd !== undefined || mxfd !== undefined;\n var needSd = true;\n var needFd = true;\n if (roundingPriority === 'auto') {\n needSd = hasSd;\n if (hasSd || (!hasFd && notation === 'compact')) {\n needFd = false;\n }\n }\n if (needSd) {\n if (hasSd) {\n mnsd = DefaultNumberOption(mnsd, 1, 21, 1);\n mxsd = DefaultNumberOption(mxsd, mnsd, 21, 21);\n internalSlots.minimumSignificantDigits = mnsd;\n internalSlots.maximumSignificantDigits = mxsd;\n }\n else {\n internalSlots.minimumSignificantDigits = 1;\n internalSlots.maximumSignificantDigits = 21;\n }\n }\n if (needFd) {\n if (hasFd) {\n mnfd = DefaultNumberOption(mnfd, 0, 20, undefined);\n mxfd = DefaultNumberOption(mxfd, 0, 20, undefined);\n if (mnfd === undefined) {\n // @ts-expect-error\n mnfd = Math.min(mnfdDefault, mxfd);\n }\n else if (mxfd === undefined) {\n mxfd = Math.max(mxfdDefault, mnfd);\n }\n else if (mnfd > mxfd) {\n throw new RangeError(\"Invalid range, \".concat(mnfd, \" > \").concat(mxfd));\n }\n internalSlots.minimumFractionDigits = mnfd;\n internalSlots.maximumFractionDigits = mxfd;\n }\n else {\n internalSlots.minimumFractionDigits = mnfdDefault;\n internalSlots.maximumFractionDigits = mxfdDefault;\n }\n }\n if (needSd || needFd) {\n if (roundingPriority === 'morePrecision') {\n internalSlots.roundingType = 'morePrecision';\n }\n else if (roundingPriority === 'lessPrecision') {\n internalSlots.roundingType = 'lessPrecision';\n }\n else if (hasSd) {\n internalSlots.roundingType = 'significantDigits';\n }\n else {\n internalSlots.roundingType = 'fractionDigits';\n }\n }\n else {\n internalSlots.roundingType = 'morePrecision';\n internalSlots.minimumFractionDigits = 0;\n internalSlots.maximumFractionDigits = 0;\n internalSlots.minimumSignificantDigits = 1;\n internalSlots.maximumSignificantDigits = 2;\n }\n}\n","import { GetOption } from '../GetOption';\nimport { IsWellFormedCurrencyCode } from '../IsWellFormedCurrencyCode';\nimport { IsWellFormedUnitIdentifier } from '../IsWellFormedUnitIdentifier';\n/**\n * https://tc39.es/ecma402/#sec-setnumberformatunitoptions\n */\nexport function SetNumberFormatUnitOptions(nf, options, _a) {\n if (options === void 0) { options = Object.create(null); }\n var getInternalSlots = _a.getInternalSlots;\n var internalSlots = getInternalSlots(nf);\n var style = GetOption(options, 'style', 'string', ['decimal', 'percent', 'currency', 'unit'], 'decimal');\n internalSlots.style = style;\n var currency = GetOption(options, 'currency', 'string', undefined, undefined);\n if (currency !== undefined && !IsWellFormedCurrencyCode(currency)) {\n throw RangeError('Malformed currency code');\n }\n if (style === 'currency' && currency === undefined) {\n throw TypeError('currency cannot be undefined');\n }\n var currencyDisplay = GetOption(options, 'currencyDisplay', 'string', ['code', 'symbol', 'narrowSymbol', 'name'], 'symbol');\n var currencySign = GetOption(options, 'currencySign', 'string', ['standard', 'accounting'], 'standard');\n var unit = GetOption(options, 'unit', 'string', undefined, undefined);\n if (unit !== undefined && !IsWellFormedUnitIdentifier(unit)) {\n throw RangeError('Invalid unit argument for Intl.NumberFormat()');\n }\n if (style === 'unit' && unit === undefined) {\n throw TypeError('unit cannot be undefined');\n }\n var unitDisplay = GetOption(options, 'unitDisplay', 'string', ['short', 'narrow', 'long'], 'short');\n if (style === 'currency') {\n internalSlots.currency = currency.toUpperCase();\n internalSlots.currencyDisplay = currencyDisplay;\n internalSlots.currencySign = currencySign;\n }\n if (style === 'unit') {\n internalSlots.unit = unit;\n internalSlots.unitDisplay = unitDisplay;\n }\n}\n","import { ResolveLocale } from '@formatjs/intl-localematcher';\nimport { CanonicalizeLocaleList } from '../CanonicalizeLocaleList';\nimport { CoerceOptionsToObject } from '../CoerceOptionsToObject';\nimport { GetNumberOption } from '../GetNumberOption';\nimport { GetOption } from '../GetOption';\nimport { GetStringOrBooleanOption } from '../GetStringOrBooleanOption';\nimport { invariant } from '../utils';\nimport { CurrencyDigits } from './CurrencyDigits';\nimport { SetNumberFormatDigitOptions } from './SetNumberFormatDigitOptions';\nimport { SetNumberFormatUnitOptions } from './SetNumberFormatUnitOptions';\nvar VALID_ROUND_INCREMENT_VALUES = [\n 1, 2, 5, 10, 20, 25, 50, 100, 200, 250, 500, 1000, 2000,\n];\n/**\n * https://tc39.es/ecma402/#sec-initializenumberformat\n */\nexport function InitializeNumberFormat(nf, locales, opts, _a) {\n var getInternalSlots = _a.getInternalSlots, localeData = _a.localeData, availableLocales = _a.availableLocales, numberingSystemNames = _a.numberingSystemNames, getDefaultLocale = _a.getDefaultLocale, currencyDigitsData = _a.currencyDigitsData;\n // @ts-ignore\n var requestedLocales = CanonicalizeLocaleList(locales);\n var options = CoerceOptionsToObject(opts);\n var opt = Object.create(null);\n var matcher = GetOption(options, 'localeMatcher', 'string', ['lookup', 'best fit'], 'best fit');\n opt.localeMatcher = matcher;\n var numberingSystem = GetOption(options, 'numberingSystem', 'string', undefined, undefined);\n if (numberingSystem !== undefined &&\n numberingSystemNames.indexOf(numberingSystem) < 0) {\n // 8.a. If numberingSystem does not match the Unicode Locale Identifier type nonterminal,\n // throw a RangeError exception.\n throw RangeError(\"Invalid numberingSystems: \".concat(numberingSystem));\n }\n opt.nu = numberingSystem;\n var r = ResolveLocale(Array.from(availableLocales), requestedLocales, opt, \n // [[RelevantExtensionKeys]] slot, which is a constant\n ['nu'], localeData, getDefaultLocale);\n var dataLocaleData = localeData[r.dataLocale];\n invariant(!!dataLocaleData, \"Missing locale data for \".concat(r.dataLocale));\n var internalSlots = getInternalSlots(nf);\n internalSlots.locale = r.locale;\n internalSlots.dataLocale = r.dataLocale;\n internalSlots.numberingSystem = r.nu;\n internalSlots.dataLocaleData = dataLocaleData;\n SetNumberFormatUnitOptions(nf, options, { getInternalSlots: getInternalSlots });\n var style = internalSlots.style;\n var mnfdDefault;\n var mxfdDefault;\n if (style === 'currency') {\n var currency = internalSlots.currency;\n var cDigits = CurrencyDigits(currency, { currencyDigitsData: currencyDigitsData });\n mnfdDefault = cDigits;\n mxfdDefault = cDigits;\n }\n else {\n mnfdDefault = 0;\n mxfdDefault = style === 'percent' ? 0 : 3;\n }\n var notation = GetOption(options, 'notation', 'string', ['standard', 'scientific', 'engineering', 'compact'], 'standard');\n internalSlots.notation = notation;\n SetNumberFormatDigitOptions(internalSlots, options, mnfdDefault, mxfdDefault, notation);\n var roundingIncrement = GetNumberOption(options, 'roundingIncrement', 1, 5000, 1);\n if (VALID_ROUND_INCREMENT_VALUES.indexOf(roundingIncrement) === -1) {\n throw new RangeError(\"Invalid rounding increment value: \".concat(roundingIncrement, \".\\nValid values are \").concat(VALID_ROUND_INCREMENT_VALUES, \".\"));\n }\n if (roundingIncrement !== 1 &&\n internalSlots.roundingType !== 'fractionDigits') {\n throw new TypeError(\"For roundingIncrement > 1 only fractionDigits is a valid roundingType\");\n }\n if (roundingIncrement !== 1 &&\n internalSlots.maximumFractionDigits !== internalSlots.minimumFractionDigits) {\n throw new RangeError('With roundingIncrement > 1, maximumFractionDigits and minimumFractionDigits must be equal.');\n }\n internalSlots.roundingIncrement = roundingIncrement;\n var trailingZeroDisplay = GetOption(options, 'trailingZeroDisplay', 'string', ['auto', 'stripIfInteger'], 'auto');\n internalSlots.trailingZeroDisplay = trailingZeroDisplay;\n var compactDisplay = GetOption(options, 'compactDisplay', 'string', ['short', 'long'], 'short');\n var defaultUseGrouping = 'auto';\n if (notation === 'compact') {\n internalSlots.compactDisplay = compactDisplay;\n defaultUseGrouping = 'min2';\n }\n internalSlots.useGrouping = GetStringOrBooleanOption(options, 'useGrouping', ['min2', 'auto', 'always'], 'always', false, defaultUseGrouping);\n internalSlots.signDisplay = GetOption(options, 'signDisplay', 'string', ['auto', 'never', 'always', 'exceptZero', 'negative'], 'auto');\n internalSlots.roundingMode = GetOption(options, 'roundingMode', 'string', [\n 'ceil',\n 'floor',\n 'expand',\n 'trunc',\n 'halfCeil',\n 'halfFloor',\n 'halfExpand',\n 'halfTrunc',\n 'halfEven',\n ], 'halfExpand');\n return nf;\n}\n","import { invariant } from './utils';\n/**\n * https://tc39.es/ecma402/#sec-partitionpattern\n * @param pattern\n */\nexport function PartitionPattern(pattern) {\n var result = [];\n var beginIndex = pattern.indexOf('{');\n var endIndex = 0;\n var nextIndex = 0;\n var length = pattern.length;\n while (beginIndex < pattern.length && beginIndex > -1) {\n endIndex = pattern.indexOf('}', beginIndex);\n invariant(endIndex > beginIndex, \"Invalid pattern \".concat(pattern));\n if (beginIndex > nextIndex) {\n result.push({\n type: 'literal',\n value: pattern.substring(nextIndex, beginIndex),\n });\n }\n result.push({\n type: pattern.substring(beginIndex + 1, endIndex),\n value: undefined,\n });\n nextIndex = endIndex + 1;\n beginIndex = pattern.indexOf('{', nextIndex);\n }\n if (nextIndex < length) {\n result.push({\n type: 'literal',\n value: pattern.substring(nextIndex, length),\n });\n }\n return result;\n}\n","import { LookupSupportedLocales } from '@formatjs/intl-localematcher';\nimport { ToObject } from './262';\nimport { GetOption } from './GetOption';\n/**\n * https://tc39.es/ecma402/#sec-supportedlocales\n * @param availableLocales\n * @param requestedLocales\n * @param options\n */\nexport function SupportedLocales(availableLocales, requestedLocales, options) {\n var matcher = 'best fit';\n if (options !== undefined) {\n options = ToObject(options);\n matcher = GetOption(options, 'localeMatcher', 'string', ['lookup', 'best fit'], 'best fit');\n }\n if (matcher === 'best fit') {\n return LookupSupportedLocales(Array.from(availableLocales), requestedLocales);\n }\n return LookupSupportedLocales(Array.from(availableLocales), requestedLocales);\n}\n","export var RangePatternType;\n(function (RangePatternType) {\n RangePatternType[\"startRange\"] = \"startRange\";\n RangePatternType[\"shared\"] = \"shared\";\n RangePatternType[\"endRange\"] = \"endRange\";\n})(RangePatternType || (RangePatternType = {}));\n","import { __extends } from \"tslib\";\nvar MissingLocaleDataError = /** @class */ (function (_super) {\n __extends(MissingLocaleDataError, _super);\n function MissingLocaleDataError() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.type = 'MISSING_LOCALE_DATA';\n return _this;\n }\n return MissingLocaleDataError;\n}(Error));\nexport function isMissingLocaleDataError(e) {\n return e.type === 'MISSING_LOCALE_DATA';\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DurationRecordSign = void 0;\nvar constants_1 = require(\"../constants\");\nfunction DurationRecordSign(record) {\n for (var _i = 0, TABLE_1_1 = constants_1.TABLE_1; _i < TABLE_1_1.length; _i++) {\n var key = TABLE_1_1[_i];\n if (record[key] < 0) {\n return -1;\n }\n if (record[key] > 0) {\n return 1;\n }\n }\n return 0;\n}\nexports.DurationRecordSign = DurationRecordSign;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.GetDurationUnitOptions = void 0;\nvar ecma402_abstract_1 = require(\"@formatjs/ecma402-abstract\");\nfunction GetDurationUnitOptions(unit, options, baseStyle, stylesList, digitalBase, prevStyle) {\n var style = (0, ecma402_abstract_1.GetOption)(options, unit, 'string', stylesList, undefined);\n var displayDefault = 'always';\n if (style === undefined) {\n if (baseStyle === 'digital') {\n if (unit !== 'hours' && unit !== 'minutes' && unit !== 'seconds') {\n displayDefault = 'auto';\n }\n style = digitalBase;\n }\n else {\n displayDefault = 'auto';\n if (prevStyle === 'numeric' || prevStyle === '2-digit') {\n style = 'numeric';\n }\n else {\n style = baseStyle;\n }\n }\n }\n var displayField = \"\".concat(unit, \"Display\");\n var display = (0, ecma402_abstract_1.GetOption)(options, displayField, 'string', ['always', 'auto'], displayDefault);\n if (prevStyle === 'numeric' || prevStyle === '2-digit') {\n if (style !== 'numeric' && style !== '2-digit') {\n throw new RangeError(\"Can't mix numeric and non-numeric styles\");\n }\n else if (unit === 'minutes' || unit === 'seconds') {\n style = '2-digit';\n }\n if (style === 'numeric' &&\n display === 'always' &&\n (unit === 'milliseconds' ||\n unit === 'microseconds' ||\n unit === 'nanoseconds')) {\n throw new RangeError(\"Can't display milliseconds, microseconds, or nanoseconds in numeric format\");\n }\n }\n return {\n style: style,\n display: display,\n };\n}\nexports.GetDurationUnitOptions = GetDurationUnitOptions;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.IsValidDurationRecord = void 0;\nvar ecma402_abstract_1 = require(\"@formatjs/ecma402-abstract\");\nvar constants_1 = require(\"../constants\");\nvar DurationRecordSign_1 = require(\"./DurationRecordSign\");\nfunction IsValidDurationRecord(record) {\n var sign = (0, DurationRecordSign_1.DurationRecordSign)(record);\n for (var _i = 0, TABLE_1_1 = constants_1.TABLE_1; _i < TABLE_1_1.length; _i++) {\n var key = TABLE_1_1[_i];\n var v = record[key];\n (0, ecma402_abstract_1.invariant)(isFinite(Number(v)), \"\".concat(key, \" is not finite\"));\n if (v < 0 && sign > 0) {\n return false;\n }\n if (v > 0 && sign < 0) {\n return false;\n }\n }\n return true;\n}\nexports.IsValidDurationRecord = IsValidDurationRecord;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.PartitionDurationFormatPattern = void 0;\nvar ecma402_abstract_1 = require(\"@formatjs/ecma402-abstract\");\nvar constants_1 = require(\"../constants\");\nvar core_1 = require(\"../core\");\nvar get_internal_slots_1 = require(\"../get_internal_slots\");\nfunction PartitionDurationFormatPattern(df, duration) {\n var result = [];\n var done = false;\n var separated = false;\n var internalSlots = (0, get_internal_slots_1.getInternalSlots)(df);\n var dataLocale = internalSlots.dataLocale;\n var dataLocaleData = core_1.DurationFormat.localeData[dataLocale];\n if (!dataLocaleData) {\n throw new TypeError('Invalid locale');\n }\n var numberingSystem = internalSlots.numberingSystem;\n var separator = dataLocaleData.digitalFormat[numberingSystem];\n var _loop_1 = function (i) {\n var row = constants_1.TABLE_2[i];\n var value = duration[row.valueField];\n var style = internalSlots[row.styleSlot];\n var display = internalSlots[row.displaySlot];\n var unit = row.unit, numberFormatUnit = row.numberFormatUnit;\n var nfOpts = Object.create(null);\n if (unit === 'seconds' ||\n unit === 'milliseconds' ||\n unit === 'microseconds') {\n var nextStyle = void 0;\n if (unit === 'seconds') {\n nextStyle = internalSlots.milliseconds;\n }\n else if (unit === 'milliseconds') {\n nextStyle = internalSlots.microseconds;\n }\n else {\n nextStyle = internalSlots.nanoseconds;\n }\n if (nextStyle === 'numeric') {\n if (unit === 'seconds') {\n value +=\n duration.milliseconds / 1e3 +\n duration.microseconds / 1e6 +\n duration.nanoseconds / 1e9;\n }\n else if (unit === 'milliseconds') {\n value += duration.microseconds / 1e3 + duration.nanoseconds / 1e6;\n }\n else {\n value += duration.nanoseconds / 1e3;\n }\n if (internalSlots.fractionalDigits === undefined) {\n nfOpts.maximumFractionDigits = 9;\n nfOpts.minimumFractionDigits = 0;\n }\n else {\n nfOpts.maximumFractionDigits = internalSlots.fractionalDigits;\n nfOpts.minimumFractionDigits = internalSlots.fractionalDigits;\n }\n nfOpts.roundingMode = 'trunc';\n done = true;\n }\n }\n if (value !== 0 || display !== 'auto') {\n nfOpts.numberingSystem = internalSlots.numberingSystem;\n if (style === '2-digit') {\n nfOpts.minimumIntegerDigits = 2;\n }\n if (style !== '2-digit' && style !== 'numeric') {\n nfOpts.style = 'unit';\n nfOpts.unit = numberFormatUnit;\n nfOpts.unitDisplay = style;\n }\n var nf = new Intl.NumberFormat(internalSlots.locale, nfOpts);\n var list_1;\n if (!separated) {\n list_1 = [];\n }\n else {\n list_1 = result[result.length - 1];\n list_1.push({\n type: 'literal',\n value: separator,\n });\n }\n var parts = nf.formatToParts(value);\n parts.forEach(function (_a) {\n var type = _a.type, value = _a.value;\n list_1.push({\n type: type,\n value: value,\n unit: numberFormatUnit,\n });\n });\n if (!separated) {\n if (style === '2-digit' || style === 'numeric') {\n separated = true;\n }\n result.push(list_1);\n }\n }\n else {\n separated = false;\n }\n };\n for (var i = 0; i < constants_1.TABLE_2.length && !done; i++) {\n _loop_1(i);\n }\n var lfOpts = Object.create(null);\n lfOpts.type = 'unit';\n var listStyle = internalSlots.style;\n if (listStyle === 'digital') {\n listStyle = 'short';\n }\n lfOpts.style = listStyle;\n var lf = new Intl.ListFormat(internalSlots.locale, lfOpts);\n var strings = [];\n for (var _i = 0, result_1 = result; _i < result_1.length; _i++) {\n var parts = result_1[_i];\n var string = '';\n for (var _a = 0, parts_1 = parts; _a < parts_1.length; _a++) {\n var value = parts_1[_a].value;\n string += value;\n }\n strings.push(string);\n }\n var formatted = lf.formatToParts(strings);\n var resultIndex = 0;\n var resultLength = result.length;\n var flattened = [];\n for (var _b = 0, formatted_1 = formatted; _b < formatted_1.length; _b++) {\n var _c = formatted_1[_b], type = _c.type, value = _c.value;\n if (type === 'element') {\n (0, ecma402_abstract_1.invariant)(resultIndex < resultLength, 'Index out of bounds');\n var parts = result[resultIndex];\n for (var _d = 0, parts_2 = parts; _d < parts_2.length; _d++) {\n var part = parts_2[_d];\n flattened.push(part);\n }\n resultIndex++;\n }\n else {\n (0, ecma402_abstract_1.invariant)(type === 'literal', 'Type must be literal');\n flattened.push({\n type: 'literal',\n value: value,\n });\n }\n }\n return flattened;\n}\nexports.PartitionDurationFormatPattern = PartitionDurationFormatPattern;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ToDurationRecord = void 0;\nvar IsValidDurationRecord_1 = require(\"./IsValidDurationRecord\");\nvar ToIntegerIfIntegral_1 = require(\"./ToIntegerIfIntegral\");\nfunction ToDurationRecord(input) {\n if (typeof input !== 'object') {\n if (typeof input === 'string') {\n throw new RangeError('Invalid duration format');\n }\n throw new TypeError('Invalid duration');\n }\n var result = {\n years: 0,\n months: 0,\n weeks: 0,\n days: 0,\n hours: 0,\n minutes: 0,\n seconds: 0,\n milliseconds: 0,\n microseconds: 0,\n nanoseconds: 0,\n };\n if (input.days !== undefined) {\n result.days = (0, ToIntegerIfIntegral_1.ToIntegerIfIntegral)(input.days);\n }\n if (input.hours !== undefined) {\n result.hours = (0, ToIntegerIfIntegral_1.ToIntegerIfIntegral)(input.hours);\n }\n if (input.microseconds !== undefined) {\n result.microseconds = (0, ToIntegerIfIntegral_1.ToIntegerIfIntegral)(input.microseconds);\n }\n if (input.milliseconds !== undefined) {\n result.milliseconds = (0, ToIntegerIfIntegral_1.ToIntegerIfIntegral)(input.milliseconds);\n }\n if (input.minutes !== undefined) {\n result.minutes = (0, ToIntegerIfIntegral_1.ToIntegerIfIntegral)(input.minutes);\n }\n if (input.months !== undefined) {\n result.months = (0, ToIntegerIfIntegral_1.ToIntegerIfIntegral)(input.months);\n }\n if (input.nanoseconds !== undefined) {\n result.nanoseconds = (0, ToIntegerIfIntegral_1.ToIntegerIfIntegral)(input.nanoseconds);\n }\n if (input.seconds !== undefined) {\n result.seconds = (0, ToIntegerIfIntegral_1.ToIntegerIfIntegral)(input.seconds);\n }\n if (input.weeks !== undefined) {\n result.weeks = (0, ToIntegerIfIntegral_1.ToIntegerIfIntegral)(input.weeks);\n }\n if (input.years !== undefined) {\n result.years = (0, ToIntegerIfIntegral_1.ToIntegerIfIntegral)(input.years);\n }\n if (input.years === undefined &&\n input.months === undefined &&\n input.weeks === undefined &&\n input.days === undefined &&\n input.hours === undefined &&\n input.minutes === undefined &&\n input.seconds === undefined &&\n input.milliseconds === undefined &&\n input.microseconds === undefined &&\n input.nanoseconds === undefined) {\n throw new TypeError('Invalid duration format');\n }\n if (!(0, IsValidDurationRecord_1.IsValidDurationRecord)(result)) {\n throw new RangeError('Invalid duration format');\n }\n return result;\n}\nexports.ToDurationRecord = ToDurationRecord;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ToIntegerIfIntegral = void 0;\nvar ecma402_abstract_1 = require(\"@formatjs/ecma402-abstract\");\nfunction ToIntegerIfIntegral(arg) {\n var number = (0, ecma402_abstract_1.ToNumber)(arg);\n if (!Number.isInteger(number)) {\n throw new RangeError(\"\".concat(arg, \" is not an integer\"));\n }\n return number;\n}\nexports.ToIntegerIfIntegral = ToIntegerIfIntegral;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TABLE_2 = exports.TABLE_1 = void 0;\nexports.TABLE_1 = [\n 'years',\n 'months',\n 'weeks',\n 'days',\n 'hours',\n 'minutes',\n 'seconds',\n 'milliseconds',\n 'microseconds',\n 'nanoseconds',\n];\nexports.TABLE_2 = [\n {\n valueField: 'years',\n styleSlot: 'years',\n displaySlot: 'yearsDisplay',\n unit: 'years',\n numberFormatUnit: 'year',\n },\n {\n valueField: 'months',\n styleSlot: 'months',\n displaySlot: 'monthsDisplay',\n unit: 'months',\n numberFormatUnit: 'month',\n },\n {\n valueField: 'weeks',\n styleSlot: 'weeks',\n displaySlot: 'weeksDisplay',\n unit: 'weeks',\n numberFormatUnit: 'week',\n },\n {\n valueField: 'days',\n styleSlot: 'days',\n displaySlot: 'daysDisplay',\n unit: 'days',\n numberFormatUnit: 'day',\n },\n {\n valueField: 'hours',\n styleSlot: 'hours',\n displaySlot: 'hoursDisplay',\n unit: 'hours',\n numberFormatUnit: 'hour',\n },\n {\n valueField: 'minutes',\n styleSlot: 'minutes',\n displaySlot: 'minutesDisplay',\n unit: 'minutes',\n numberFormatUnit: 'minute',\n },\n {\n valueField: 'seconds',\n styleSlot: 'seconds',\n displaySlot: 'secondsDisplay',\n unit: 'seconds',\n numberFormatUnit: 'second',\n },\n {\n valueField: 'milliseconds',\n styleSlot: 'milliseconds',\n displaySlot: 'millisecondsDisplay',\n unit: 'milliseconds',\n numberFormatUnit: 'millisecond',\n },\n {\n valueField: 'microseconds',\n styleSlot: 'microseconds',\n displaySlot: 'microsecondsDisplay',\n unit: 'microseconds',\n numberFormatUnit: 'microsecond',\n },\n {\n valueField: 'nanoseconds',\n styleSlot: 'nanoseconds',\n displaySlot: 'nanosecondsDisplay',\n unit: 'nanoseconds',\n numberFormatUnit: 'nanosecond',\n },\n];\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DurationFormat = void 0;\nvar ecma402_abstract_1 = require(\"@formatjs/ecma402-abstract\");\nvar intl_localematcher_1 = require(\"@formatjs/intl-localematcher\");\nvar GetDurationUnitOptions_1 = require(\"./abstract/GetDurationUnitOptions\");\nvar PartitionDurationFormatPattern_1 = require(\"./abstract/PartitionDurationFormatPattern\");\nvar ToDurationRecord_1 = require(\"./abstract/ToDurationRecord\");\nvar get_internal_slots_1 = require(\"./get_internal_slots\");\nvar numbering_systems_generated_1 = require(\"./numbering-systems.generated\");\nvar time_separators_generated_1 = require(\"./time-separators.generated\");\nvar RESOLVED_OPTIONS_KEYS = [\n 'locale',\n 'style',\n 'years',\n 'yearsDisplay',\n 'months',\n 'monthsDisplay',\n 'weeks',\n 'weeksDisplay',\n 'days',\n 'daysDisplay',\n 'hours',\n 'hoursDisplay',\n 'minutes',\n 'minutesDisplay',\n 'seconds',\n 'secondsDisplay',\n 'milliseconds',\n 'millisecondsDisplay',\n 'microseconds',\n 'microsecondsDisplay',\n 'nanoseconds',\n 'nanosecondsDisplay',\n 'numberingSystem',\n 'fractionalDigits',\n];\nvar TABLE_3 = [\n {\n styleSlot: 'years',\n displaySlot: 'yearsDisplay',\n unit: 'years',\n values: ['long', 'short', 'narrow'],\n digitalDefault: 'short',\n },\n {\n styleSlot: 'months',\n displaySlot: 'monthsDisplay',\n unit: 'months',\n values: ['long', 'short', 'narrow'],\n digitalDefault: 'short',\n },\n {\n styleSlot: 'weeks',\n displaySlot: 'weeksDisplay',\n unit: 'weeks',\n values: ['long', 'short', 'narrow'],\n digitalDefault: 'short',\n },\n {\n styleSlot: 'days',\n displaySlot: 'daysDisplay',\n unit: 'days',\n values: ['long', 'short', 'narrow'],\n digitalDefault: 'short',\n },\n {\n styleSlot: 'hours',\n displaySlot: 'hoursDisplay',\n unit: 'hours',\n values: ['long', 'short', 'narrow', 'numeric', '2-digit'],\n digitalDefault: 'numeric',\n },\n {\n styleSlot: 'minutes',\n displaySlot: 'minutesDisplay',\n unit: 'minutes',\n values: ['long', 'short', 'narrow', 'numeric', '2-digit'],\n digitalDefault: 'numeric',\n },\n {\n styleSlot: 'seconds',\n displaySlot: 'secondsDisplay',\n unit: 'seconds',\n values: ['long', 'short', 'narrow', 'numeric', '2-digit'],\n digitalDefault: 'numeric',\n },\n {\n styleSlot: 'milliseconds',\n displaySlot: 'millisecondsDisplay',\n unit: 'milliseconds',\n values: ['long', 'short', 'narrow', 'numeric'],\n digitalDefault: 'numeric',\n },\n {\n styleSlot: 'microseconds',\n displaySlot: 'microsecondsDisplay',\n unit: 'microseconds',\n values: ['long', 'short', 'narrow', 'numeric'],\n digitalDefault: 'numeric',\n },\n {\n styleSlot: 'nanoseconds',\n displaySlot: 'nanosecondsDisplay',\n unit: 'nanoseconds',\n values: ['long', 'short', 'narrow', 'numeric'],\n digitalDefault: 'numeric',\n },\n];\nvar DurationFormat = /** @class */ (function () {\n function DurationFormat(locales, options) {\n // test262/test/intl402/ListFormat/constructor/constructor/newtarget-undefined.js\n // Cannot use `new.target` bc of IE11 & TS transpiles it to something else\n var newTarget = this && this instanceof DurationFormat ? this.constructor : void 0;\n if (!newTarget) {\n throw new TypeError(\"Intl.DurationFormat must be called with 'new'\");\n }\n var requestedLocales = (0, ecma402_abstract_1.CanonicalizeLocaleList)(locales);\n var opt = Object.create(null);\n var opts = options === undefined ? Object.create(null) : (0, ecma402_abstract_1.ToObject)(options);\n var matcher = (0, ecma402_abstract_1.GetOption)(opts, 'localeMatcher', 'string', ['best fit', 'lookup'], 'best fit');\n var numberingSystem = (0, ecma402_abstract_1.GetOption)(opts, 'numberingSystem', 'string', undefined, undefined);\n if (numberingSystem !== undefined &&\n numbering_systems_generated_1.numberingSystemNames.indexOf(numberingSystem) < 0) {\n // 8.a. If numberingSystem does not match the Unicode Locale Identifier type nonterminal,\n // throw a RangeError exception.\n throw RangeError(\"Invalid numberingSystems: \".concat(numberingSystem));\n }\n opt.nu = numberingSystem;\n opt.localeMatcher = matcher;\n var localeData = DurationFormat.localeData, availableLocales = DurationFormat.availableLocales;\n var r = (0, intl_localematcher_1.ResolveLocale)(availableLocales, requestedLocales, opt, \n // [[RelevantExtensionKeys]] slot, which is a constant\n ['nu'], localeData, DurationFormat.getDefaultLocale);\n var locale = r.locale;\n var internalSlots = (0, get_internal_slots_1.getInternalSlots)(this);\n internalSlots.initializedDurationFormat = true;\n internalSlots.locale = locale;\n internalSlots.numberingSystem = r.nu;\n var style = (0, ecma402_abstract_1.GetOption)(opts, 'style', 'string', ['long', 'short', 'narrow', 'digital'], 'short');\n internalSlots.style = style;\n internalSlots.dataLocale = r.dataLocale;\n var prevStyle = '';\n TABLE_3.forEach(function (row) {\n var styleSlot = row.styleSlot, displaySlot = row.displaySlot, unit = row.unit, valueList = row.values, digitalBase = row.digitalDefault;\n var unitOptions = (0, GetDurationUnitOptions_1.GetDurationUnitOptions)(unit, opts, style, valueList, digitalBase, prevStyle);\n internalSlots[styleSlot] = unitOptions.style;\n internalSlots[displaySlot] = unitOptions.display;\n if (unit === 'hours' ||\n unit === 'minutes' ||\n unit === 'seconds' ||\n unit === 'milliseconds' ||\n unit === 'microseconds') {\n prevStyle = unitOptions.style;\n }\n });\n internalSlots.fractionalDigits = (0, ecma402_abstract_1.GetNumberOption)(opts, 'fractionalDigits', 0, 9, undefined);\n }\n DurationFormat.prototype.resolvedOptions = function () {\n if (typeof this !== 'object' ||\n !(0, ecma402_abstract_1.OrdinaryHasInstance)(DurationFormat, this)) {\n throw TypeError('Method Intl.DurationFormat.prototype.resolvedOptions called on incompatible receiver');\n }\n var internalSlots = (0, get_internal_slots_1.getInternalSlots)(this);\n var ro = {};\n for (var _i = 0, RESOLVED_OPTIONS_KEYS_1 = RESOLVED_OPTIONS_KEYS; _i < RESOLVED_OPTIONS_KEYS_1.length; _i++) {\n var key = RESOLVED_OPTIONS_KEYS_1[_i];\n var v = internalSlots[key];\n if (key === 'fractionalDigits') {\n if (v !== undefined) {\n v = Number(v);\n }\n }\n else {\n (0, ecma402_abstract_1.invariant)(v !== undefined, \"Missing internal slot \".concat(key));\n }\n ro[key] = v;\n }\n return ro;\n };\n DurationFormat.prototype.formatToParts = function (duration) {\n var df = this;\n var locInternalSlots = (0, get_internal_slots_1.getInternalSlots)(this);\n if (locInternalSlots.initializedDurationFormat === undefined) {\n throw new TypeError('Error uninitialized locale');\n }\n var record = (0, ToDurationRecord_1.ToDurationRecord)(duration);\n var parts = (0, PartitionDurationFormatPattern_1.PartitionDurationFormatPattern)(df, record);\n var result = [];\n for (var _i = 0, parts_1 = parts; _i < parts_1.length; _i++) {\n var _a = parts_1[_i], type = _a.type, unit = _a.unit, value = _a.value;\n var obj = { type: type, value: value };\n if (unit) {\n obj.unit = unit;\n }\n result.push(obj);\n }\n return result;\n };\n DurationFormat.prototype.format = function (duration) {\n var df = this;\n var locInternalSlots = (0, get_internal_slots_1.getInternalSlots)(this);\n if (locInternalSlots.initializedDurationFormat === undefined) {\n throw new TypeError('Error uninitialized locale');\n }\n var record = (0, ToDurationRecord_1.ToDurationRecord)(duration);\n var parts = (0, PartitionDurationFormatPattern_1.PartitionDurationFormatPattern)(df, record);\n var result = '';\n for (var _i = 0, parts_2 = parts; _i < parts_2.length; _i++) {\n var value = parts_2[_i].value;\n result += value;\n }\n return result;\n };\n DurationFormat.supportedLocalesOf = function (locales, options) {\n return (0, ecma402_abstract_1.SupportedLocales)(DurationFormat.availableLocales, (0, ecma402_abstract_1.CanonicalizeLocaleList)(locales), options);\n };\n DurationFormat.__defaultLocale = 'en';\n DurationFormat.availableLocales = new Set();\n DurationFormat.localeData = Object.keys(time_separators_generated_1.TIME_SEPARATORS.localeData).reduce(function (all, locale) {\n DurationFormat.availableLocales.add(locale);\n var nu = time_separators_generated_1.TIME_SEPARATORS.localeData[locale].nu;\n all[locale] = {\n nu: nu,\n digitalFormat: time_separators_generated_1.TIME_SEPARATORS.localeData[locale].separator ||\n nu.reduce(function (separators, n) {\n separators[n] = time_separators_generated_1.TIME_SEPARATORS.default;\n return separators;\n }, {}),\n };\n return all;\n }, {});\n DurationFormat.getDefaultLocale = function () {\n return DurationFormat.__defaultLocale;\n };\n DurationFormat.polyfilled = true;\n return DurationFormat;\n}());\nexports.DurationFormat = DurationFormat;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getInternalSlots = void 0;\nvar internalSlotMap = new WeakMap();\nfunction getInternalSlots(x) {\n var internalSlots = internalSlotMap.get(x);\n if (!internalSlots) {\n internalSlots = Object.create(null);\n internalSlotMap.set(x, internalSlots);\n }\n return internalSlots;\n}\nexports.getInternalSlots = getInternalSlots;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.numberingSystemNames = void 0;\nexports.numberingSystemNames = [\"adlm\", \"ahom\", \"arab\", \"arabext\", \"armn\", \"armnlow\", \"bali\", \"beng\", \"bhks\", \"brah\", \"cakm\", \"cham\", \"cyrl\", \"deva\", \"diak\", \"ethi\", \"fullwide\", \"geor\", \"gong\", \"gonm\", \"grek\", \"greklow\", \"gujr\", \"guru\", \"hanidays\", \"hanidec\", \"hans\", \"hansfin\", \"hant\", \"hantfin\", \"hebr\", \"hmng\", \"hmnp\", \"java\", \"jpan\", \"jpanfin\", \"jpanyear\", \"kali\", \"kawi\", \"khmr\", \"knda\", \"lana\", \"lanatham\", \"laoo\", \"latn\", \"lepc\", \"limb\", \"mathbold\", \"mathdbl\", \"mathmono\", \"mathsanb\", \"mathsans\", \"mlym\", \"modi\", \"mong\", \"mroo\", \"mtei\", \"mymr\", \"mymrshan\", \"mymrtlng\", \"nagm\", \"newa\", \"nkoo\", \"olck\", \"orya\", \"osma\", \"rohg\", \"roman\", \"romanlow\", \"saur\", \"segment\", \"shrd\", \"sind\", \"sinh\", \"sora\", \"sund\", \"takr\", \"talu\", \"taml\", \"tamldec\", \"telu\", \"thai\", \"tibt\", \"tirh\", \"tnsa\", \"vaii\", \"wara\", \"wcho\"];\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TIME_SEPARATORS = void 0;\n/* @generated */\n// prettier-ignore\nexports.TIME_SEPARATORS = {\n \"default\": \":\",\n \"localeData\": {\n \"aa\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"aa-DJ\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"aa-ER\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"ab\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"af\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"af-NA\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"agq\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"ak\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"am\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"an\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"ann\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"apc\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"ar\": {\n \"nu\": [\n \"arab\",\n \"latn\"\n ]\n },\n \"ar-AE\": {\n \"nu\": [\n \"latn\",\n \"latn\"\n ]\n },\n \"ar-BH\": {\n \"nu\": [\n \"arab\",\n \"latn\"\n ]\n },\n \"ar-DJ\": {\n \"nu\": [\n \"arab\",\n \"latn\"\n ]\n },\n \"ar-DZ\": {\n \"nu\": [\n \"latn\",\n \"latn\"\n ]\n },\n \"ar-EG\": {\n \"nu\": [\n \"arab\",\n \"latn\"\n ]\n },\n \"ar-EH\": {\n \"nu\": [\n \"latn\",\n \"latn\"\n ]\n },\n \"ar-ER\": {\n \"nu\": [\n \"arab\",\n \"latn\"\n ]\n },\n \"ar-IL\": {\n \"nu\": [\n \"arab\",\n \"latn\"\n ]\n },\n \"ar-IQ\": {\n \"nu\": [\n \"arab\",\n \"latn\"\n ]\n },\n \"ar-JO\": {\n \"nu\": [\n \"arab\",\n \"latn\"\n ]\n },\n \"ar-KM\": {\n \"nu\": [\n \"arab\",\n \"latn\"\n ]\n },\n \"ar-KW\": {\n \"nu\": [\n \"arab\",\n \"latn\"\n ]\n },\n \"ar-LB\": {\n \"nu\": [\n \"arab\",\n \"latn\"\n ]\n },\n \"ar-LY\": {\n \"nu\": [\n \"latn\",\n \"latn\"\n ]\n },\n \"ar-MA\": {\n \"nu\": [\n \"latn\",\n \"latn\"\n ]\n },\n \"ar-MR\": {\n \"nu\": [\n \"arab\",\n \"latn\"\n ]\n },\n \"ar-OM\": {\n \"nu\": [\n \"arab\",\n \"latn\"\n ]\n },\n \"ar-PS\": {\n \"nu\": [\n \"arab\",\n \"latn\"\n ]\n },\n \"ar-QA\": {\n \"nu\": [\n \"arab\",\n \"latn\"\n ]\n },\n \"ar-SA\": {\n \"nu\": [\n \"arab\",\n \"latn\"\n ]\n },\n \"ar-SD\": {\n \"nu\": [\n \"arab\",\n \"latn\"\n ]\n },\n \"ar-SO\": {\n \"nu\": [\n \"arab\",\n \"latn\"\n ]\n },\n \"ar-SS\": {\n \"nu\": [\n \"arab\",\n \"latn\"\n ]\n },\n \"ar-SY\": {\n \"nu\": [\n \"arab\",\n \"latn\"\n ]\n },\n \"ar-TD\": {\n \"nu\": [\n \"arab\",\n \"latn\"\n ]\n },\n \"ar-TN\": {\n \"nu\": [\n \"latn\",\n \"latn\"\n ]\n },\n \"ar-YE\": {\n \"nu\": [\n \"arab\",\n \"latn\"\n ]\n },\n \"arn\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"as\": {\n \"nu\": [\n \"beng\"\n ]\n },\n \"asa\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"ast\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"az\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"az-Arab\": {\n \"nu\": [\n \"arabext\"\n ]\n },\n \"az-Arab-IQ\": {\n \"nu\": [\n \"arabext\"\n ]\n },\n \"az-Arab-TR\": {\n \"nu\": [\n \"arabext\"\n ]\n },\n \"az-Cyrl\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"az-Latn\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"ba\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"bal\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"bal-Arab\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"bal-Latn\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"bas\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"be\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"be-tarask\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"bem\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"bez\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"bg\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"bgc\": {\n \"nu\": [\n \"deva\"\n ]\n },\n \"bgn\": {\n \"nu\": [\n \"arabext\"\n ]\n },\n \"bgn-AE\": {\n \"nu\": [\n \"arabext\"\n ]\n },\n \"bgn-AF\": {\n \"nu\": [\n \"arabext\"\n ]\n },\n \"bgn-IR\": {\n \"nu\": [\n \"arabext\"\n ]\n },\n \"bgn-OM\": {\n \"nu\": [\n \"arabext\"\n ]\n },\n \"bho\": {\n \"nu\": [\n \"deva\"\n ]\n },\n \"blt\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"bm\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"bm-Nkoo\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"bn\": {\n \"nu\": [\n \"beng\"\n ]\n },\n \"bn-IN\": {\n \"nu\": [\n \"beng\"\n ]\n },\n \"bo\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"bo-IN\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"br\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"brx\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"bs\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"bs-Cyrl\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"bs-Latn\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"bss\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"byn\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"ca\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"ca-AD\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"ca-ES-valencia\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"ca-FR\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"ca-IT\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"cad\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"cch\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"ccp\": {\n \"nu\": [\n \"cakm\"\n ]\n },\n \"ccp-IN\": {\n \"nu\": [\n \"cakm\"\n ]\n },\n \"ce\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"ceb\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"cgg\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"cho\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"chr\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"cic\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"ckb\": {\n \"nu\": [\n \"arab\"\n ]\n },\n \"ckb-IR\": {\n \"nu\": [\n \"arab\"\n ]\n },\n \"co\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"cs\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"cu\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"cv\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"cy\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"da\": {\n \"nu\": [\n \"latn\"\n ],\n \"separator\": {\n \"latn\": \".\"\n }\n },\n \"da-GL\": {\n \"nu\": [\n \"latn\"\n ],\n \"separator\": {\n \"latn\": \".\"\n }\n },\n \"dav\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"de\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"de-AT\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"de-BE\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"de-CH\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"de-IT\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"de-LI\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"de-LU\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"dje\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"doi\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"dsb\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"dua\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"dv\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"dyo\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"dz\": {\n \"nu\": [\n \"tibt\"\n ]\n },\n \"ebu\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"ee\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"ee-TG\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"el\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"el-CY\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"el-polyton\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"en\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"en-001\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"en-150\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"en-AE\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"en-AG\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"en-AI\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"en-AS\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"en-AT\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"en-AU\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"en-BB\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"en-BE\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"en-BI\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"en-BM\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"en-BS\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"en-BW\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"en-BZ\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"en-CA\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"en-CC\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"en-CH\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"en-CK\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"en-CM\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"en-CX\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"en-CY\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"en-DE\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"en-DG\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"en-DK\": {\n \"nu\": [\n \"latn\"\n ],\n \"separator\": {\n \"latn\": \".\"\n }\n },\n \"en-DM\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"en-Dsrt\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"en-ER\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"en-FI\": {\n \"nu\": [\n \"latn\"\n ],\n \"separator\": {\n \"latn\": \".\"\n }\n },\n \"en-FJ\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"en-FK\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"en-FM\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"en-GB\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"en-GD\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"en-GG\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"en-GH\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"en-GI\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"en-GM\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"en-GU\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"en-GY\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"en-HK\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"en-IE\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"en-IL\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"en-IM\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"en-IN\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"en-IO\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"en-JE\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"en-JM\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"en-KE\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"en-KI\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"en-KN\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"en-KY\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"en-LC\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"en-LR\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"en-LS\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"en-MG\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"en-MH\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"en-MO\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"en-MP\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"en-MS\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"en-MT\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"en-MU\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"en-MV\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"en-MW\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"en-MY\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"en-NA\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"en-NF\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"en-NG\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"en-NL\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"en-NR\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"en-NU\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"en-NZ\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"en-PG\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"en-PH\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"en-PK\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"en-PN\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"en-PR\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"en-PW\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"en-RW\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"en-SB\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"en-SC\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"en-SD\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"en-SE\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"en-SG\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"en-SH\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"en-SI\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"en-SL\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"en-SS\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"en-SX\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"en-SZ\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"en-Shaw\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"en-TC\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"en-TK\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"en-TO\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"en-TT\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"en-TV\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"en-TZ\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"en-UG\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"en-UM\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"en-VC\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"en-VG\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"en-VI\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"en-VU\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"en-WS\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"en-ZA\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"en-ZM\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"en-ZW\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"eo\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"es\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"es-419\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"es-AR\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"es-BO\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"es-BR\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"es-BZ\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"es-CL\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"es-CO\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"es-CR\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"es-CU\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"es-DO\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"es-EA\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"es-EC\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"es-GQ\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"es-GT\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"es-HN\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"es-IC\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"es-MX\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"es-NI\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"es-PA\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"es-PE\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"es-PH\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"es-PR\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"es-PY\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"es-SV\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"es-US\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"es-UY\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"es-VE\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"et\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"eu\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"ewo\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"fa\": {\n \"nu\": [\n \"arabext\"\n ]\n },\n \"fa-AF\": {\n \"nu\": [\n \"arabext\"\n ]\n },\n \"ff\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"ff-Adlm\": {\n \"nu\": [\n \"adlm\"\n ]\n },\n \"ff-Adlm-BF\": {\n \"nu\": [\n \"adlm\"\n ]\n },\n \"ff-Adlm-CM\": {\n \"nu\": [\n \"adlm\"\n ]\n },\n \"ff-Adlm-GH\": {\n \"nu\": [\n \"adlm\"\n ]\n },\n \"ff-Adlm-GM\": {\n \"nu\": [\n \"adlm\"\n ]\n },\n \"ff-Adlm-GW\": {\n \"nu\": [\n \"adlm\"\n ]\n },\n \"ff-Adlm-LR\": {\n \"nu\": [\n \"adlm\"\n ]\n },\n \"ff-Adlm-MR\": {\n \"nu\": [\n \"adlm\"\n ]\n },\n \"ff-Adlm-NE\": {\n \"nu\": [\n \"adlm\"\n ]\n },\n \"ff-Adlm-NG\": {\n \"nu\": [\n \"adlm\"\n ]\n },\n \"ff-Adlm-SL\": {\n \"nu\": [\n \"adlm\"\n ]\n },\n \"ff-Adlm-SN\": {\n \"nu\": [\n \"adlm\"\n ]\n },\n \"ff-Latn\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"ff-Latn-BF\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"ff-Latn-CM\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"ff-Latn-GH\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"ff-Latn-GM\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"ff-Latn-GN\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"ff-Latn-GW\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"ff-Latn-LR\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"ff-Latn-MR\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"ff-Latn-NE\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"ff-Latn-NG\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"ff-Latn-SL\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"fi\": {\n \"nu\": [\n \"latn\"\n ],\n \"separator\": {\n \"latn\": \".\"\n }\n },\n \"fil\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"fo\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"fo-DK\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"fr\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"fr-BE\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"fr-BF\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"fr-BI\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"fr-BJ\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"fr-BL\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"fr-CA\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"fr-CD\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"fr-CF\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"fr-CG\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"fr-CH\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"fr-CI\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"fr-CM\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"fr-DJ\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"fr-DZ\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"fr-GA\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"fr-GF\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"fr-GN\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"fr-GP\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"fr-GQ\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"fr-HT\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"fr-KM\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"fr-LU\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"fr-MA\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"fr-MC\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"fr-MF\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"fr-MG\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"fr-ML\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"fr-MQ\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"fr-MR\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"fr-MU\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"fr-NC\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"fr-NE\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"fr-PF\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"fr-PM\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"fr-RE\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"fr-RW\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"fr-SC\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"fr-SN\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"fr-SY\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"fr-TD\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"fr-TG\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"fr-TN\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"fr-VU\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"fr-WF\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"fr-YT\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"frr\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"fur\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"fy\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"ga\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"ga-GB\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"gaa\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"gd\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"gez\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"gez-ER\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"gl\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"gn\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"gsw\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"gsw-FR\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"gsw-LI\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"gu\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"guz\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"gv\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"ha\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"ha-Arab\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"ha-Arab-SD\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"ha-GH\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"ha-NE\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"haw\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"he\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"hi\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"hi-Latn\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"hnj\": {\n \"nu\": [\n \"hmnp\",\n \"latn\"\n ]\n },\n \"hnj-Hmnp\": {\n \"nu\": [\n \"hmnp\",\n \"latn\"\n ]\n },\n \"hr\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"hr-BA\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"hsb\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"hu\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"hy\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"ia\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"id\": {\n \"nu\": [\n \"latn\"\n ],\n \"separator\": {\n \"latn\": \".\"\n }\n },\n \"ig\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"ii\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"io\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"is\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"it\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"it-CH\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"it-SM\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"it-VA\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"iu\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"iu-Latn\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"ja\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"jbo\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"jgo\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"jmc\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"jv\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"ka\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"kab\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"kaj\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"kam\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"kcg\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"kde\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"kea\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"ken\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"kgp\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"khq\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"ki\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"kk\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"kkj\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"kl\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"kln\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"km\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"kn\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"ko\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"ko-KP\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"kok\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"kpe\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"kpe-GN\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"ks\": {\n \"nu\": [\n \"arabext\"\n ]\n },\n \"ks-Arab\": {\n \"nu\": [\n \"arabext\"\n ]\n },\n \"ks-Deva\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"ksb\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"ksf\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"ksh\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"ku\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"kw\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"ky\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"la\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"lag\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"lb\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"lg\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"lij\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"lkt\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"lmo\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"ln\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"ln-AO\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"ln-CF\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"ln-CG\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"lo\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"lrc\": {\n \"nu\": [\n \"arabext\"\n ]\n },\n \"lrc-IQ\": {\n \"nu\": [\n \"arabext\"\n ]\n },\n \"lt\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"lu\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"luo\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"luy\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"lv\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"mai\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"mas\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"mas-TZ\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"mdf\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"mer\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"mfe\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"mg\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"mgh\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"mgo\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"mi\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"mk\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"ml\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"mn\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"mn-Mong\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"mn-Mong-MN\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"mni\": {\n \"nu\": [\n \"beng\"\n ]\n },\n \"mni-Beng\": {\n \"nu\": [\n \"beng\"\n ]\n },\n \"mni-Mtei\": {\n \"nu\": [\n \"mtei\"\n ]\n },\n \"moh\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"mr\": {\n \"nu\": [\n \"deva\"\n ]\n },\n \"ms\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"ms-Arab\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"ms-Arab-BN\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"ms-BN\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"ms-ID\": {\n \"nu\": [\n \"latn\"\n ],\n \"separator\": {\n \"latn\": \".\"\n }\n },\n \"ms-SG\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"mt\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"mua\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"mus\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"my\": {\n \"nu\": [\n \"mymr\"\n ]\n },\n \"myv\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"mzn\": {\n \"nu\": [\n \"arabext\"\n ]\n },\n \"naq\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"nb\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"nb-SJ\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"nd\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"nds\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"nds-NL\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"ne\": {\n \"nu\": [\n \"deva\"\n ]\n },\n \"ne-IN\": {\n \"nu\": [\n \"deva\"\n ]\n },\n \"nl\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"nl-AW\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"nl-BE\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"nl-BQ\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"nl-CW\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"nl-SR\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"nl-SX\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"nmg\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"nn\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"nnh\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"no\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"nqo\": {\n \"nu\": [\n \"nkoo\"\n ]\n },\n \"nr\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"nso\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"nus\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"nv\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"ny\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"nyn\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"oc\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"oc-ES\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"om\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"om-KE\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"or\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"os\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"os-RU\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"osa\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"pa\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"pa-Arab\": {\n \"nu\": [\n \"arabext\"\n ]\n },\n \"pa-Guru\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"pap\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"pap-AW\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"pcm\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"pis\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"pl\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"prg\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"ps\": {\n \"nu\": [\n \"arabext\"\n ]\n },\n \"ps-PK\": {\n \"nu\": [\n \"arabext\"\n ]\n },\n \"pt\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"pt-AO\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"pt-CH\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"pt-CV\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"pt-GQ\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"pt-GW\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"pt-LU\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"pt-MO\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"pt-MZ\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"pt-PT\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"pt-ST\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"pt-TL\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"qu\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"qu-BO\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"qu-EC\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"quc\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"raj\": {\n \"nu\": [\n \"deva\"\n ]\n },\n \"rhg\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"rhg-Rohg\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"rhg-Rohg-BD\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"rif\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"rm\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"rn\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"ro\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"ro-MD\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"rof\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"ru\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"ru-BY\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"ru-KG\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"ru-KZ\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"ru-MD\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"ru-UA\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"rw\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"rwk\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"sa\": {\n \"nu\": [\n \"deva\"\n ]\n },\n \"sah\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"saq\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"sat\": {\n \"nu\": [\n \"olck\"\n ]\n },\n \"sat-Deva\": {\n \"nu\": [\n \"deva\"\n ]\n },\n \"sat-Olck\": {\n \"nu\": [\n \"olck\"\n ]\n },\n \"sbp\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"sc\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"scn\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"sd\": {\n \"nu\": [\n \"arab\"\n ]\n },\n \"sd-Arab\": {\n \"nu\": [\n \"arab\"\n ]\n },\n \"sd-Deva\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"sdh\": {\n \"nu\": [\n \"arab\"\n ]\n },\n \"sdh-IQ\": {\n \"nu\": [\n \"arab\"\n ]\n },\n \"se\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"se-FI\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"se-SE\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"seh\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"ses\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"sg\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"shi\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"shi-Latn\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"shi-Tfng\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"shn\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"shn-TH\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"si\": {\n \"nu\": [\n \"latn\"\n ],\n \"separator\": {\n \"latn\": \".\"\n }\n },\n \"sid\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"sk\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"sl\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"sma\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"sma-NO\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"smj\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"smj-NO\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"smn\": {\n \"nu\": [\n \"latn\"\n ],\n \"separator\": {\n \"latn\": \".\"\n }\n },\n \"sms\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"sn\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"so\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"so-DJ\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"so-ET\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"so-KE\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"sq\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"sq-MK\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"sq-XK\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"sr\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"sr-Cyrl\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"sr-Cyrl-BA\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"sr-Cyrl-ME\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"sr-Cyrl-XK\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"sr-Latn\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"sr-Latn-BA\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"sr-Latn-ME\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"sr-Latn-XK\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"ss\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"ss-SZ\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"ssy\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"st\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"st-LS\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"su\": {\n \"nu\": [\n \"latn\"\n ],\n \"separator\": {\n \"latn\": \".\"\n }\n },\n \"su-Latn\": {\n \"nu\": [\n \"latn\"\n ],\n \"separator\": {\n \"latn\": \".\"\n }\n },\n \"sv\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"sv-AX\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"sv-FI\": {\n \"nu\": [\n \"latn\"\n ],\n \"separator\": {\n \"latn\": \".\"\n }\n },\n \"sw\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"sw-CD\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"sw-KE\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"sw-UG\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"syr\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"syr-SY\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"szl\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"ta\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"ta-LK\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"ta-MY\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"ta-SG\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"te\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"teo\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"teo-KE\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"tg\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"th\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"ti\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"ti-ER\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"tig\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"tk\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"tn\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"tn-BW\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"to\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"tok\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"tpi\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"tr\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"tr-CY\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"trv\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"trw\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"ts\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"tt\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"twq\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"tzm\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"ug\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"uk\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"und\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"ur\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"ur-IN\": {\n \"nu\": [\n \"arabext\"\n ],\n \"separator\": {\n \"arabext\": \"٫\"\n }\n },\n \"uz\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"uz-Arab\": {\n \"nu\": [\n \"arabext\"\n ]\n },\n \"uz-Cyrl\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"uz-Latn\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"vai\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"vai-Latn\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"vai-Vaii\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"ve\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"vec\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"vi\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"vo\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"vun\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"wa\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"wae\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"wal\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"wbp\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"wo\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"xh\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"xog\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"yav\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"yi\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"yo\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"yo-BJ\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"yrl\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"yrl-CO\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"yrl-VE\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"yue\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"yue-Hans\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"yue-Hant\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"zgh\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"zh\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"zh-Hans\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"zh-Hans-HK\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"zh-Hans-MO\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"zh-Hans-SG\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"zh-Hant\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"zh-Hant-HK\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"zh-Hant-MO\": {\n \"nu\": [\n \"latn\"\n ]\n },\n \"zu\": {\n \"nu\": [\n \"latn\"\n ]\n }\n }\n};\n","export var data = {\n supplemental: {\n languageMatching: {\n 'written-new': [\n {\n paradigmLocales: {\n _locales: 'en en_GB es es_419 pt_BR pt_PT',\n },\n },\n {\n $enUS: {\n _value: 'AS+CA+GU+MH+MP+PH+PR+UM+US+VI',\n },\n },\n {\n $cnsar: {\n _value: 'HK+MO',\n },\n },\n {\n $americas: {\n _value: '019',\n },\n },\n {\n $maghreb: {\n _value: 'MA+DZ+TN+LY+MR+EH',\n },\n },\n {\n no: {\n _desired: 'nb',\n _distance: '1',\n },\n },\n {\n bs: {\n _desired: 'hr',\n _distance: '4',\n },\n },\n {\n bs: {\n _desired: 'sh',\n _distance: '4',\n },\n },\n {\n hr: {\n _desired: 'sh',\n _distance: '4',\n },\n },\n {\n sr: {\n _desired: 'sh',\n _distance: '4',\n },\n },\n {\n aa: {\n _desired: 'ssy',\n _distance: '4',\n },\n },\n {\n de: {\n _desired: 'gsw',\n _distance: '4',\n _oneway: 'true',\n },\n },\n {\n de: {\n _desired: 'lb',\n _distance: '4',\n _oneway: 'true',\n },\n },\n {\n no: {\n _desired: 'da',\n _distance: '8',\n },\n },\n {\n nb: {\n _desired: 'da',\n _distance: '8',\n },\n },\n {\n ru: {\n _desired: 'ab',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'ach',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n nl: {\n _desired: 'af',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'ak',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'am',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n es: {\n _desired: 'ay',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n ru: {\n _desired: 'az',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n ur: {\n _desired: 'bal',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n ru: {\n _desired: 'be',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'bem',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n hi: {\n _desired: 'bh',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'bn',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n zh: {\n _desired: 'bo',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n fr: {\n _desired: 'br',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n es: {\n _desired: 'ca',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n fil: {\n _desired: 'ceb',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'chr',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n ar: {\n _desired: 'ckb',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n fr: {\n _desired: 'co',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n fr: {\n _desired: 'crs',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n sk: {\n _desired: 'cs',\n _distance: '20',\n },\n },\n {\n en: {\n _desired: 'cy',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'ee',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'eo',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n es: {\n _desired: 'eu',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n da: {\n _desired: 'fo',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n nl: {\n _desired: 'fy',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'ga',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'gaa',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'gd',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n es: {\n _desired: 'gl',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n es: {\n _desired: 'gn',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n hi: {\n _desired: 'gu',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'ha',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'haw',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n fr: {\n _desired: 'ht',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n ru: {\n _desired: 'hy',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'ia',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'ig',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'is',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n id: {\n _desired: 'jv',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'ka',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n fr: {\n _desired: 'kg',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n ru: {\n _desired: 'kk',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'km',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'kn',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'kri',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n tr: {\n _desired: 'ku',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n ru: {\n _desired: 'ky',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n it: {\n _desired: 'la',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'lg',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n fr: {\n _desired: 'ln',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'lo',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'loz',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n fr: {\n _desired: 'lua',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n hi: {\n _desired: 'mai',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'mfe',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n fr: {\n _desired: 'mg',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'mi',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'ml',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n ru: {\n _desired: 'mn',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n hi: {\n _desired: 'mr',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n id: {\n _desired: 'ms',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'mt',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'my',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'ne',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n nb: {\n _desired: 'nn',\n _distance: '20',\n },\n },\n {\n no: {\n _desired: 'nn',\n _distance: '20',\n },\n },\n {\n en: {\n _desired: 'nso',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'ny',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'nyn',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n fr: {\n _desired: 'oc',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'om',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'or',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'pa',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'pcm',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'ps',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n es: {\n _desired: 'qu',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n de: {\n _desired: 'rm',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'rn',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n fr: {\n _desired: 'rw',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n hi: {\n _desired: 'sa',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'sd',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'si',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'sn',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'so',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'sq',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'st',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n id: {\n _desired: 'su',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'sw',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'ta',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'te',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n ru: {\n _desired: 'tg',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'ti',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n ru: {\n _desired: 'tk',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'tlh',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'tn',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'to',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n ru: {\n _desired: 'tt',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'tum',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n zh: {\n _desired: 'ug',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n ru: {\n _desired: 'uk',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'ur',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n ru: {\n _desired: 'uz',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n fr: {\n _desired: 'wo',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'xh',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'yi',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'yo',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n zh: {\n _desired: 'za',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n en: {\n _desired: 'zu',\n _distance: '30',\n _oneway: 'true',\n },\n },\n {\n ar: {\n _desired: 'aao',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ar: {\n _desired: 'abh',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ar: {\n _desired: 'abv',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ar: {\n _desired: 'acm',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ar: {\n _desired: 'acq',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ar: {\n _desired: 'acw',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ar: {\n _desired: 'acx',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ar: {\n _desired: 'acy',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ar: {\n _desired: 'adf',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ar: {\n _desired: 'aeb',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ar: {\n _desired: 'aec',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ar: {\n _desired: 'afb',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ar: {\n _desired: 'ajp',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ar: {\n _desired: 'apc',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ar: {\n _desired: 'apd',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ar: {\n _desired: 'arq',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ar: {\n _desired: 'ars',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ar: {\n _desired: 'ary',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ar: {\n _desired: 'arz',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ar: {\n _desired: 'auz',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ar: {\n _desired: 'avl',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ar: {\n _desired: 'ayh',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ar: {\n _desired: 'ayl',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ar: {\n _desired: 'ayn',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ar: {\n _desired: 'ayp',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ar: {\n _desired: 'bbz',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ar: {\n _desired: 'pga',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ar: {\n _desired: 'shu',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ar: {\n _desired: 'ssh',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n az: {\n _desired: 'azb',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n et: {\n _desired: 'vro',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ff: {\n _desired: 'ffm',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ff: {\n _desired: 'fub',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ff: {\n _desired: 'fue',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ff: {\n _desired: 'fuf',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ff: {\n _desired: 'fuh',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ff: {\n _desired: 'fui',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ff: {\n _desired: 'fuq',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ff: {\n _desired: 'fuv',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n gn: {\n _desired: 'gnw',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n gn: {\n _desired: 'gui',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n gn: {\n _desired: 'gun',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n gn: {\n _desired: 'nhd',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n iu: {\n _desired: 'ikt',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n kln: {\n _desired: 'enb',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n kln: {\n _desired: 'eyo',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n kln: {\n _desired: 'niq',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n kln: {\n _desired: 'oki',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n kln: {\n _desired: 'pko',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n kln: {\n _desired: 'sgc',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n kln: {\n _desired: 'tec',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n kln: {\n _desired: 'tuy',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n kok: {\n _desired: 'gom',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n kpe: {\n _desired: 'gkp',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n luy: {\n _desired: 'ida',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n luy: {\n _desired: 'lkb',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n luy: {\n _desired: 'lko',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n luy: {\n _desired: 'lks',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n luy: {\n _desired: 'lri',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n luy: {\n _desired: 'lrm',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n luy: {\n _desired: 'lsm',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n luy: {\n _desired: 'lto',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n luy: {\n _desired: 'lts',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n luy: {\n _desired: 'lwg',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n luy: {\n _desired: 'nle',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n luy: {\n _desired: 'nyd',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n luy: {\n _desired: 'rag',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n lv: {\n _desired: 'ltg',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n mg: {\n _desired: 'bhr',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n mg: {\n _desired: 'bjq',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n mg: {\n _desired: 'bmm',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n mg: {\n _desired: 'bzc',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n mg: {\n _desired: 'msh',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n mg: {\n _desired: 'skg',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n mg: {\n _desired: 'tdx',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n mg: {\n _desired: 'tkg',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n mg: {\n _desired: 'txy',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n mg: {\n _desired: 'xmv',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n mg: {\n _desired: 'xmw',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n mn: {\n _desired: 'mvf',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ms: {\n _desired: 'bjn',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ms: {\n _desired: 'btj',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ms: {\n _desired: 'bve',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ms: {\n _desired: 'bvu',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ms: {\n _desired: 'coa',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ms: {\n _desired: 'dup',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ms: {\n _desired: 'hji',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ms: {\n _desired: 'id',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ms: {\n _desired: 'jak',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ms: {\n _desired: 'jax',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ms: {\n _desired: 'kvb',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ms: {\n _desired: 'kvr',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ms: {\n _desired: 'kxd',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ms: {\n _desired: 'lce',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ms: {\n _desired: 'lcf',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ms: {\n _desired: 'liw',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ms: {\n _desired: 'max',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ms: {\n _desired: 'meo',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ms: {\n _desired: 'mfa',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ms: {\n _desired: 'mfb',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ms: {\n _desired: 'min',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ms: {\n _desired: 'mqg',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ms: {\n _desired: 'msi',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ms: {\n _desired: 'mui',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ms: {\n _desired: 'orn',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ms: {\n _desired: 'ors',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ms: {\n _desired: 'pel',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ms: {\n _desired: 'pse',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ms: {\n _desired: 'tmw',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ms: {\n _desired: 'urk',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ms: {\n _desired: 'vkk',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ms: {\n _desired: 'vkt',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ms: {\n _desired: 'xmm',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ms: {\n _desired: 'zlm',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ms: {\n _desired: 'zmi',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ne: {\n _desired: 'dty',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n om: {\n _desired: 'gax',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n om: {\n _desired: 'hae',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n om: {\n _desired: 'orc',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n or: {\n _desired: 'spv',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ps: {\n _desired: 'pbt',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n ps: {\n _desired: 'pst',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n qu: {\n _desired: 'qub',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n qu: {\n _desired: 'qud',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n qu: {\n _desired: 'quf',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n qu: {\n _desired: 'qug',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n qu: {\n _desired: 'quh',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n qu: {\n _desired: 'quk',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n qu: {\n _desired: 'qul',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n qu: {\n _desired: 'qup',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n qu: {\n _desired: 'qur',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n qu: {\n _desired: 'qus',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n qu: {\n _desired: 'quw',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n qu: {\n _desired: 'qux',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n qu: {\n _desired: 'quy',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n qu: {\n _desired: 'qva',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n qu: {\n _desired: 'qvc',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n qu: {\n _desired: 'qve',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n qu: {\n _desired: 'qvh',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n qu: {\n _desired: 'qvi',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n qu: {\n _desired: 'qvj',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n qu: {\n _desired: 'qvl',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n qu: {\n _desired: 'qvm',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n qu: {\n _desired: 'qvn',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n qu: {\n _desired: 'qvo',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n qu: {\n _desired: 'qvp',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n qu: {\n _desired: 'qvs',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n qu: {\n _desired: 'qvw',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n qu: {\n _desired: 'qvz',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n qu: {\n _desired: 'qwa',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n qu: {\n _desired: 'qwc',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n qu: {\n _desired: 'qwh',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n qu: {\n _desired: 'qws',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n qu: {\n _desired: 'qxa',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n qu: {\n _desired: 'qxc',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n qu: {\n _desired: 'qxh',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n qu: {\n _desired: 'qxl',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n qu: {\n _desired: 'qxn',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n qu: {\n _desired: 'qxo',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n qu: {\n _desired: 'qxp',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n qu: {\n _desired: 'qxr',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n qu: {\n _desired: 'qxt',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n qu: {\n _desired: 'qxu',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n qu: {\n _desired: 'qxw',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n sc: {\n _desired: 'sdc',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n sc: {\n _desired: 'sdn',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n sc: {\n _desired: 'sro',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n sq: {\n _desired: 'aae',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n sq: {\n _desired: 'aat',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n sq: {\n _desired: 'aln',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n syr: {\n _desired: 'aii',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n uz: {\n _desired: 'uzs',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n yi: {\n _desired: 'yih',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n zh: {\n _desired: 'cdo',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n zh: {\n _desired: 'cjy',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n zh: {\n _desired: 'cpx',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n zh: {\n _desired: 'czh',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n zh: {\n _desired: 'czo',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n zh: {\n _desired: 'gan',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n zh: {\n _desired: 'hak',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n zh: {\n _desired: 'hsn',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n zh: {\n _desired: 'lzh',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n zh: {\n _desired: 'mnp',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n zh: {\n _desired: 'nan',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n zh: {\n _desired: 'wuu',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n zh: {\n _desired: 'yue',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n '*': {\n _desired: '*',\n _distance: '80',\n },\n },\n {\n 'en-Latn': {\n _desired: 'am-Ethi',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n 'ru-Cyrl': {\n _desired: 'az-Latn',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n 'en-Latn': {\n _desired: 'bn-Beng',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n 'zh-Hans': {\n _desired: 'bo-Tibt',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n 'ru-Cyrl': {\n _desired: 'hy-Armn',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n 'en-Latn': {\n _desired: 'ka-Geor',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n 'en-Latn': {\n _desired: 'km-Khmr',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n 'en-Latn': {\n _desired: 'kn-Knda',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n 'en-Latn': {\n _desired: 'lo-Laoo',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n 'en-Latn': {\n _desired: 'ml-Mlym',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n 'en-Latn': {\n _desired: 'my-Mymr',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n 'en-Latn': {\n _desired: 'ne-Deva',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n 'en-Latn': {\n _desired: 'or-Orya',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n 'en-Latn': {\n _desired: 'pa-Guru',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n 'en-Latn': {\n _desired: 'ps-Arab',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n 'en-Latn': {\n _desired: 'sd-Arab',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n 'en-Latn': {\n _desired: 'si-Sinh',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n 'en-Latn': {\n _desired: 'ta-Taml',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n 'en-Latn': {\n _desired: 'te-Telu',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n 'en-Latn': {\n _desired: 'ti-Ethi',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n 'ru-Cyrl': {\n _desired: 'tk-Latn',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n 'en-Latn': {\n _desired: 'ur-Arab',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n 'ru-Cyrl': {\n _desired: 'uz-Latn',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n 'en-Latn': {\n _desired: 'yi-Hebr',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n 'sr-Cyrl': {\n _desired: 'sr-Latn',\n _distance: '5',\n },\n },\n {\n 'zh-Hans': {\n _desired: 'za-Latn',\n _distance: '10',\n _oneway: 'true',\n },\n },\n {\n 'zh-Hans': {\n _desired: 'zh-Hani',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n 'zh-Hant': {\n _desired: 'zh-Hani',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n 'ar-Arab': {\n _desired: 'ar-Latn',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n 'bn-Beng': {\n _desired: 'bn-Latn',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n 'gu-Gujr': {\n _desired: 'gu-Latn',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n 'hi-Deva': {\n _desired: 'hi-Latn',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n 'kn-Knda': {\n _desired: 'kn-Latn',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n 'ml-Mlym': {\n _desired: 'ml-Latn',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n 'mr-Deva': {\n _desired: 'mr-Latn',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n 'ta-Taml': {\n _desired: 'ta-Latn',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n 'te-Telu': {\n _desired: 'te-Latn',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n 'zh-Hans': {\n _desired: 'zh-Latn',\n _distance: '20',\n _oneway: 'true',\n },\n },\n {\n 'ja-Jpan': {\n _desired: 'ja-Latn',\n _distance: '5',\n _oneway: 'true',\n },\n },\n {\n 'ja-Jpan': {\n _desired: 'ja-Hani',\n _distance: '5',\n _oneway: 'true',\n },\n },\n {\n 'ja-Jpan': {\n _desired: 'ja-Hira',\n _distance: '5',\n _oneway: 'true',\n },\n },\n {\n 'ja-Jpan': {\n _desired: 'ja-Kana',\n _distance: '5',\n _oneway: 'true',\n },\n },\n {\n 'ja-Jpan': {\n _desired: 'ja-Hrkt',\n _distance: '5',\n _oneway: 'true',\n },\n },\n {\n 'ja-Hrkt': {\n _desired: 'ja-Hira',\n _distance: '5',\n _oneway: 'true',\n },\n },\n {\n 'ja-Hrkt': {\n _desired: 'ja-Kana',\n _distance: '5',\n _oneway: 'true',\n },\n },\n {\n 'ko-Kore': {\n _desired: 'ko-Hani',\n _distance: '5',\n _oneway: 'true',\n },\n },\n {\n 'ko-Kore': {\n _desired: 'ko-Hang',\n _distance: '5',\n _oneway: 'true',\n },\n },\n {\n 'ko-Kore': {\n _desired: 'ko-Jamo',\n _distance: '5',\n _oneway: 'true',\n },\n },\n {\n 'ko-Hang': {\n _desired: 'ko-Jamo',\n _distance: '5',\n _oneway: 'true',\n },\n },\n {\n '*-*': {\n _desired: '*-*',\n _distance: '50',\n },\n },\n {\n 'ar-*-$maghreb': {\n _desired: 'ar-*-$maghreb',\n _distance: '4',\n },\n },\n {\n 'ar-*-$!maghreb': {\n _desired: 'ar-*-$!maghreb',\n _distance: '4',\n },\n },\n {\n 'ar-*-*': {\n _desired: 'ar-*-*',\n _distance: '5',\n },\n },\n {\n 'en-*-$enUS': {\n _desired: 'en-*-$enUS',\n _distance: '4',\n },\n },\n {\n 'en-*-GB': {\n _desired: 'en-*-$!enUS',\n _distance: '3',\n },\n },\n {\n 'en-*-$!enUS': {\n _desired: 'en-*-$!enUS',\n _distance: '4',\n },\n },\n {\n 'en-*-*': {\n _desired: 'en-*-*',\n _distance: '5',\n },\n },\n {\n 'es-*-$americas': {\n _desired: 'es-*-$americas',\n _distance: '4',\n },\n },\n {\n 'es-*-$!americas': {\n _desired: 'es-*-$!americas',\n _distance: '4',\n },\n },\n {\n 'es-*-*': {\n _desired: 'es-*-*',\n _distance: '5',\n },\n },\n {\n 'pt-*-$americas': {\n _desired: 'pt-*-$americas',\n _distance: '4',\n },\n },\n {\n 'pt-*-$!americas': {\n _desired: 'pt-*-$!americas',\n _distance: '4',\n },\n },\n {\n 'pt-*-*': {\n _desired: 'pt-*-*',\n _distance: '5',\n },\n },\n {\n 'zh-Hant-$cnsar': {\n _desired: 'zh-Hant-$cnsar',\n _distance: '4',\n },\n },\n {\n 'zh-Hant-$!cnsar': {\n _desired: 'zh-Hant-$!cnsar',\n _distance: '4',\n },\n },\n {\n 'zh-Hant-*': {\n _desired: 'zh-Hant-*',\n _distance: '5',\n },\n },\n {\n '*-*-*': {\n _desired: '*-*-*',\n _distance: '4',\n },\n },\n ],\n },\n },\n};\n","// This file is generated from regions-gen.ts\nexport var regions = {\n \"001\": [\n \"001\",\n \"001-status-grouping\",\n \"002\",\n \"005\",\n \"009\",\n \"011\",\n \"013\",\n \"014\",\n \"015\",\n \"017\",\n \"018\",\n \"019\",\n \"021\",\n \"029\",\n \"030\",\n \"034\",\n \"035\",\n \"039\",\n \"053\",\n \"054\",\n \"057\",\n \"061\",\n \"142\",\n \"143\",\n \"145\",\n \"150\",\n \"151\",\n \"154\",\n \"155\",\n \"AC\",\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\",\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 \"CP\",\n \"CQ\",\n \"CR\",\n \"CU\",\n \"CV\",\n \"CW\",\n \"CX\",\n \"CY\",\n \"CZ\",\n \"DE\",\n \"DG\",\n \"DJ\",\n \"DK\",\n \"DM\",\n \"DO\",\n \"DZ\",\n \"EA\",\n \"EC\",\n \"EE\",\n \"EG\",\n \"EH\",\n \"ER\",\n \"ES\",\n \"ET\",\n \"EU\",\n \"EZ\",\n \"FI\",\n \"FJ\",\n \"FK\",\n \"FM\",\n \"FO\",\n \"FR\",\n \"GA\",\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 \"IC\",\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 \"QO\",\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 \"TA\",\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 \"UN\",\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 \"XK\",\n \"YE\",\n \"YT\",\n \"ZA\",\n \"ZM\",\n \"ZW\"\n ],\n \"002\": [\n \"002\",\n \"002-status-grouping\",\n \"011\",\n \"014\",\n \"015\",\n \"017\",\n \"018\",\n \"202\",\n \"AO\",\n \"BF\",\n \"BI\",\n \"BJ\",\n \"BW\",\n \"CD\",\n \"CF\",\n \"CG\",\n \"CI\",\n \"CM\",\n \"CV\",\n \"DJ\",\n \"DZ\",\n \"EA\",\n \"EG\",\n \"EH\",\n \"ER\",\n \"ET\",\n \"GA\",\n \"GH\",\n \"GM\",\n \"GN\",\n \"GQ\",\n \"GW\",\n \"IC\",\n \"IO\",\n \"KE\",\n \"KM\",\n \"LR\",\n \"LS\",\n \"LY\",\n \"MA\",\n \"MG\",\n \"ML\",\n \"MR\",\n \"MU\",\n \"MW\",\n \"MZ\",\n \"NA\",\n \"NE\",\n \"NG\",\n \"RE\",\n \"RW\",\n \"SC\",\n \"SD\",\n \"SH\",\n \"SL\",\n \"SN\",\n \"SO\",\n \"SS\",\n \"ST\",\n \"SZ\",\n \"TD\",\n \"TF\",\n \"TG\",\n \"TN\",\n \"TZ\",\n \"UG\",\n \"YT\",\n \"ZA\",\n \"ZM\",\n \"ZW\"\n ],\n \"003\": [\n \"003\",\n \"013\",\n \"021\",\n \"029\",\n \"AG\",\n \"AI\",\n \"AW\",\n \"BB\",\n \"BL\",\n \"BM\",\n \"BQ\",\n \"BS\",\n \"BZ\",\n \"CA\",\n \"CR\",\n \"CU\",\n \"CW\",\n \"DM\",\n \"DO\",\n \"GD\",\n \"GL\",\n \"GP\",\n \"GT\",\n \"HN\",\n \"HT\",\n \"JM\",\n \"KN\",\n \"KY\",\n \"LC\",\n \"MF\",\n \"MQ\",\n \"MS\",\n \"MX\",\n \"NI\",\n \"PA\",\n \"PM\",\n \"PR\",\n \"SV\",\n \"SX\",\n \"TC\",\n \"TT\",\n \"US\",\n \"VC\",\n \"VG\",\n \"VI\"\n ],\n \"005\": [\n \"005\",\n \"AR\",\n \"BO\",\n \"BR\",\n \"BV\",\n \"CL\",\n \"CO\",\n \"EC\",\n \"FK\",\n \"GF\",\n \"GS\",\n \"GY\",\n \"PE\",\n \"PY\",\n \"SR\",\n \"UY\",\n \"VE\"\n ],\n \"009\": [\n \"009\",\n \"053\",\n \"054\",\n \"057\",\n \"061\",\n \"AC\",\n \"AQ\",\n \"AS\",\n \"AU\",\n \"CC\",\n \"CK\",\n \"CP\",\n \"CX\",\n \"DG\",\n \"FJ\",\n \"FM\",\n \"GU\",\n \"HM\",\n \"KI\",\n \"MH\",\n \"MP\",\n \"NC\",\n \"NF\",\n \"NR\",\n \"NU\",\n \"NZ\",\n \"PF\",\n \"PG\",\n \"PN\",\n \"PW\",\n \"QO\",\n \"SB\",\n \"TA\",\n \"TK\",\n \"TO\",\n \"TV\",\n \"UM\",\n \"VU\",\n \"WF\",\n \"WS\"\n ],\n \"011\": [\n \"011\",\n \"BF\",\n \"BJ\",\n \"CI\",\n \"CV\",\n \"GH\",\n \"GM\",\n \"GN\",\n \"GW\",\n \"LR\",\n \"ML\",\n \"MR\",\n \"NE\",\n \"NG\",\n \"SH\",\n \"SL\",\n \"SN\",\n \"TG\"\n ],\n \"013\": [\n \"013\",\n \"BZ\",\n \"CR\",\n \"GT\",\n \"HN\",\n \"MX\",\n \"NI\",\n \"PA\",\n \"SV\"\n ],\n \"014\": [\n \"014\",\n \"BI\",\n \"DJ\",\n \"ER\",\n \"ET\",\n \"IO\",\n \"KE\",\n \"KM\",\n \"MG\",\n \"MU\",\n \"MW\",\n \"MZ\",\n \"RE\",\n \"RW\",\n \"SC\",\n \"SO\",\n \"SS\",\n \"TF\",\n \"TZ\",\n \"UG\",\n \"YT\",\n \"ZM\",\n \"ZW\"\n ],\n \"015\": [\n \"015\",\n \"DZ\",\n \"EA\",\n \"EG\",\n \"EH\",\n \"IC\",\n \"LY\",\n \"MA\",\n \"SD\",\n \"TN\"\n ],\n \"017\": [\n \"017\",\n \"AO\",\n \"CD\",\n \"CF\",\n \"CG\",\n \"CM\",\n \"GA\",\n \"GQ\",\n \"ST\",\n \"TD\"\n ],\n \"018\": [\n \"018\",\n \"BW\",\n \"LS\",\n \"NA\",\n \"SZ\",\n \"ZA\"\n ],\n \"019\": [\n \"003\",\n \"005\",\n \"013\",\n \"019\",\n \"019-status-grouping\",\n \"021\",\n \"029\",\n \"419\",\n \"AG\",\n \"AI\",\n \"AR\",\n \"AW\",\n \"BB\",\n \"BL\",\n \"BM\",\n \"BO\",\n \"BQ\",\n \"BR\",\n \"BS\",\n \"BV\",\n \"BZ\",\n \"CA\",\n \"CL\",\n \"CO\",\n \"CR\",\n \"CU\",\n \"CW\",\n \"DM\",\n \"DO\",\n \"EC\",\n \"FK\",\n \"GD\",\n \"GF\",\n \"GL\",\n \"GP\",\n \"GS\",\n \"GT\",\n \"GY\",\n \"HN\",\n \"HT\",\n \"JM\",\n \"KN\",\n \"KY\",\n \"LC\",\n \"MF\",\n \"MQ\",\n \"MS\",\n \"MX\",\n \"NI\",\n \"PA\",\n \"PE\",\n \"PM\",\n \"PR\",\n \"PY\",\n \"SR\",\n \"SV\",\n \"SX\",\n \"TC\",\n \"TT\",\n \"US\",\n \"UY\",\n \"VC\",\n \"VE\",\n \"VG\",\n \"VI\"\n ],\n \"021\": [\n \"021\",\n \"BM\",\n \"CA\",\n \"GL\",\n \"PM\",\n \"US\"\n ],\n \"029\": [\n \"029\",\n \"AG\",\n \"AI\",\n \"AW\",\n \"BB\",\n \"BL\",\n \"BQ\",\n \"BS\",\n \"CU\",\n \"CW\",\n \"DM\",\n \"DO\",\n \"GD\",\n \"GP\",\n \"HT\",\n \"JM\",\n \"KN\",\n \"KY\",\n \"LC\",\n \"MF\",\n \"MQ\",\n \"MS\",\n \"PR\",\n \"SX\",\n \"TC\",\n \"TT\",\n \"VC\",\n \"VG\",\n \"VI\"\n ],\n \"030\": [\n \"030\",\n \"CN\",\n \"HK\",\n \"JP\",\n \"KP\",\n \"KR\",\n \"MN\",\n \"MO\",\n \"TW\"\n ],\n \"034\": [\n \"034\",\n \"AF\",\n \"BD\",\n \"BT\",\n \"IN\",\n \"IR\",\n \"LK\",\n \"MV\",\n \"NP\",\n \"PK\"\n ],\n \"035\": [\n \"035\",\n \"BN\",\n \"ID\",\n \"KH\",\n \"LA\",\n \"MM\",\n \"MY\",\n \"PH\",\n \"SG\",\n \"TH\",\n \"TL\",\n \"VN\"\n ],\n \"039\": [\n \"039\",\n \"AD\",\n \"AL\",\n \"BA\",\n \"ES\",\n \"GI\",\n \"GR\",\n \"HR\",\n \"IT\",\n \"ME\",\n \"MK\",\n \"MT\",\n \"PT\",\n \"RS\",\n \"SI\",\n \"SM\",\n \"VA\",\n \"XK\"\n ],\n \"053\": [\n \"053\",\n \"AU\",\n \"CC\",\n \"CX\",\n \"HM\",\n \"NF\",\n \"NZ\"\n ],\n \"054\": [\n \"054\",\n \"FJ\",\n \"NC\",\n \"PG\",\n \"SB\",\n \"VU\"\n ],\n \"057\": [\n \"057\",\n \"FM\",\n \"GU\",\n \"KI\",\n \"MH\",\n \"MP\",\n \"NR\",\n \"PW\",\n \"UM\"\n ],\n \"061\": [\n \"061\",\n \"AS\",\n \"CK\",\n \"NU\",\n \"PF\",\n \"PN\",\n \"TK\",\n \"TO\",\n \"TV\",\n \"WF\",\n \"WS\"\n ],\n \"142\": [\n \"030\",\n \"034\",\n \"035\",\n \"142\",\n \"143\",\n \"145\",\n \"AE\",\n \"AF\",\n \"AM\",\n \"AZ\",\n \"BD\",\n \"BH\",\n \"BN\",\n \"BT\",\n \"CN\",\n \"CY\",\n \"GE\",\n \"HK\",\n \"ID\",\n \"IL\",\n \"IN\",\n \"IQ\",\n \"IR\",\n \"JO\",\n \"JP\",\n \"KG\",\n \"KH\",\n \"KP\",\n \"KR\",\n \"KW\",\n \"KZ\",\n \"LA\",\n \"LB\",\n \"LK\",\n \"MM\",\n \"MN\",\n \"MO\",\n \"MV\",\n \"MY\",\n \"NP\",\n \"OM\",\n \"PH\",\n \"PK\",\n \"PS\",\n \"QA\",\n \"SA\",\n \"SG\",\n \"SY\",\n \"TH\",\n \"TJ\",\n \"TL\",\n \"TM\",\n \"TR\",\n \"TW\",\n \"UZ\",\n \"VN\",\n \"YE\"\n ],\n \"143\": [\n \"143\",\n \"KG\",\n \"KZ\",\n \"TJ\",\n \"TM\",\n \"UZ\"\n ],\n \"145\": [\n \"145\",\n \"AE\",\n \"AM\",\n \"AZ\",\n \"BH\",\n \"CY\",\n \"GE\",\n \"IL\",\n \"IQ\",\n \"JO\",\n \"KW\",\n \"LB\",\n \"OM\",\n \"PS\",\n \"QA\",\n \"SA\",\n \"SY\",\n \"TR\",\n \"YE\"\n ],\n \"150\": [\n \"039\",\n \"150\",\n \"151\",\n \"154\",\n \"155\",\n \"AD\",\n \"AL\",\n \"AT\",\n \"AX\",\n \"BA\",\n \"BE\",\n \"BG\",\n \"BY\",\n \"CH\",\n \"CQ\",\n \"CZ\",\n \"DE\",\n \"DK\",\n \"EE\",\n \"ES\",\n \"FI\",\n \"FO\",\n \"FR\",\n \"GB\",\n \"GG\",\n \"GI\",\n \"GR\",\n \"HR\",\n \"HU\",\n \"IE\",\n \"IM\",\n \"IS\",\n \"IT\",\n \"JE\",\n \"LI\",\n \"LT\",\n \"LU\",\n \"LV\",\n \"MC\",\n \"MD\",\n \"ME\",\n \"MK\",\n \"MT\",\n \"NL\",\n \"NO\",\n \"PL\",\n \"PT\",\n \"RO\",\n \"RS\",\n \"RU\",\n \"SE\",\n \"SI\",\n \"SJ\",\n \"SK\",\n \"SM\",\n \"UA\",\n \"VA\",\n \"XK\"\n ],\n \"151\": [\n \"151\",\n \"BG\",\n \"BY\",\n \"CZ\",\n \"HU\",\n \"MD\",\n \"PL\",\n \"RO\",\n \"RU\",\n \"SK\",\n \"UA\"\n ],\n \"154\": [\n \"154\",\n \"AX\",\n \"CQ\",\n \"DK\",\n \"EE\",\n \"FI\",\n \"FO\",\n \"GB\",\n \"GG\",\n \"IE\",\n \"IM\",\n \"IS\",\n \"JE\",\n \"LT\",\n \"LV\",\n \"NO\",\n \"SE\",\n \"SJ\"\n ],\n \"155\": [\n \"155\",\n \"AT\",\n \"BE\",\n \"CH\",\n \"DE\",\n \"FR\",\n \"LI\",\n \"LU\",\n \"MC\",\n \"NL\"\n ],\n \"202\": [\n \"011\",\n \"014\",\n \"017\",\n \"018\",\n \"202\",\n \"AO\",\n \"BF\",\n \"BI\",\n \"BJ\",\n \"BW\",\n \"CD\",\n \"CF\",\n \"CG\",\n \"CI\",\n \"CM\",\n \"CV\",\n \"DJ\",\n \"ER\",\n \"ET\",\n \"GA\",\n \"GH\",\n \"GM\",\n \"GN\",\n \"GQ\",\n \"GW\",\n \"IO\",\n \"KE\",\n \"KM\",\n \"LR\",\n \"LS\",\n \"MG\",\n \"ML\",\n \"MR\",\n \"MU\",\n \"MW\",\n \"MZ\",\n \"NA\",\n \"NE\",\n \"NG\",\n \"RE\",\n \"RW\",\n \"SC\",\n \"SH\",\n \"SL\",\n \"SN\",\n \"SO\",\n \"SS\",\n \"ST\",\n \"SZ\",\n \"TD\",\n \"TF\",\n \"TG\",\n \"TZ\",\n \"UG\",\n \"YT\",\n \"ZA\",\n \"ZM\",\n \"ZW\"\n ],\n \"419\": [\n \"005\",\n \"013\",\n \"029\",\n \"419\",\n \"AG\",\n \"AI\",\n \"AR\",\n \"AW\",\n \"BB\",\n \"BL\",\n \"BO\",\n \"BQ\",\n \"BR\",\n \"BS\",\n \"BV\",\n \"BZ\",\n \"CL\",\n \"CO\",\n \"CR\",\n \"CU\",\n \"CW\",\n \"DM\",\n \"DO\",\n \"EC\",\n \"FK\",\n \"GD\",\n \"GF\",\n \"GP\",\n \"GS\",\n \"GT\",\n \"GY\",\n \"HN\",\n \"HT\",\n \"JM\",\n \"KN\",\n \"KY\",\n \"LC\",\n \"MF\",\n \"MQ\",\n \"MS\",\n \"MX\",\n \"NI\",\n \"PA\",\n \"PE\",\n \"PR\",\n \"PY\",\n \"SR\",\n \"SV\",\n \"SX\",\n \"TC\",\n \"TT\",\n \"UY\",\n \"VC\",\n \"VE\",\n \"VG\",\n \"VI\"\n ],\n \"EU\": [\n \"AT\",\n \"BE\",\n \"BG\",\n \"CY\",\n \"CZ\",\n \"DE\",\n \"DK\",\n \"EE\",\n \"ES\",\n \"EU\",\n \"FI\",\n \"FR\",\n \"GR\",\n \"HR\",\n \"HU\",\n \"IE\",\n \"IT\",\n \"LT\",\n \"LU\",\n \"LV\",\n \"MT\",\n \"NL\",\n \"PL\",\n \"PT\",\n \"RO\",\n \"SE\",\n \"SI\",\n \"SK\"\n ],\n \"EZ\": [\n \"AT\",\n \"BE\",\n \"CY\",\n \"DE\",\n \"EE\",\n \"ES\",\n \"EZ\",\n \"FI\",\n \"FR\",\n \"GR\",\n \"IE\",\n \"IT\",\n \"LT\",\n \"LU\",\n \"LV\",\n \"MT\",\n \"NL\",\n \"PT\",\n \"SI\",\n \"SK\"\n ],\n \"QO\": [\n \"AC\",\n \"AQ\",\n \"CP\",\n \"DG\",\n \"QO\",\n \"TA\"\n ],\n \"UN\": [\n \"AD\",\n \"AE\",\n \"AF\",\n \"AG\",\n \"AL\",\n \"AM\",\n \"AO\",\n \"AR\",\n \"AT\",\n \"AU\",\n \"AZ\",\n \"BA\",\n \"BB\",\n \"BD\",\n \"BE\",\n \"BF\",\n \"BG\",\n \"BH\",\n \"BI\",\n \"BJ\",\n \"BN\",\n \"BO\",\n \"BR\",\n \"BS\",\n \"BT\",\n \"BW\",\n \"BY\",\n \"BZ\",\n \"CA\",\n \"CD\",\n \"CF\",\n \"CG\",\n \"CH\",\n \"CI\",\n \"CL\",\n \"CM\",\n \"CN\",\n \"CO\",\n \"CR\",\n \"CU\",\n \"CV\",\n \"CY\",\n \"CZ\",\n \"DE\",\n \"DJ\",\n \"DK\",\n \"DM\",\n \"DO\",\n \"DZ\",\n \"EC\",\n \"EE\",\n \"EG\",\n \"ER\",\n \"ES\",\n \"ET\",\n \"FI\",\n \"FJ\",\n \"FM\",\n \"FR\",\n \"GA\",\n \"GB\",\n \"GD\",\n \"GE\",\n \"GH\",\n \"GM\",\n \"GN\",\n \"GQ\",\n \"GR\",\n \"GT\",\n \"GW\",\n \"GY\",\n \"HN\",\n \"HR\",\n \"HT\",\n \"HU\",\n \"ID\",\n \"IE\",\n \"IL\",\n \"IN\",\n \"IQ\",\n \"IR\",\n \"IS\",\n \"IT\",\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 \"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 \"MG\",\n \"MH\",\n \"MK\",\n \"ML\",\n \"MM\",\n \"MN\",\n \"MR\",\n \"MT\",\n \"MU\",\n \"MV\",\n \"MW\",\n \"MX\",\n \"MY\",\n \"MZ\",\n \"NA\",\n \"NE\",\n \"NG\",\n \"NI\",\n \"NL\",\n \"NO\",\n \"NP\",\n \"NR\",\n \"NZ\",\n \"OM\",\n \"PA\",\n \"PE\",\n \"PG\",\n \"PH\",\n \"PK\",\n \"PL\",\n \"PT\",\n \"PW\",\n \"PY\",\n \"QA\",\n \"RO\",\n \"RS\",\n \"RU\",\n \"RW\",\n \"SA\",\n \"SB\",\n \"SC\",\n \"SD\",\n \"SE\",\n \"SG\",\n \"SI\",\n \"SK\",\n \"SL\",\n \"SM\",\n \"SN\",\n \"SO\",\n \"SR\",\n \"SS\",\n \"ST\",\n \"SV\",\n \"SY\",\n \"SZ\",\n \"TD\",\n \"TG\",\n \"TH\",\n \"TJ\",\n \"TL\",\n \"TM\",\n \"TN\",\n \"TO\",\n \"TR\",\n \"TT\",\n \"TV\",\n \"TZ\",\n \"UA\",\n \"UG\",\n \"UN\",\n \"US\",\n \"UY\",\n \"UZ\",\n \"VC\",\n \"VE\",\n \"VN\",\n \"VU\",\n \"WS\",\n \"YE\",\n \"ZA\",\n \"ZM\",\n \"ZW\"\n ]\n};\n","import { __spreadArray } from \"tslib\";\nimport { data as jsonData } from './languageMatching';\nimport { regions } from './regions.generated';\nexport var UNICODE_EXTENSION_SEQUENCE_REGEX = /-u(?:-[0-9a-z]{2,8})+/gi;\nexport function invariant(condition, message, Err) {\n if (Err === void 0) { Err = Error; }\n if (!condition) {\n throw new Err(message);\n }\n}\n// This is effectively 2 languages in 2 different regions in the same cluster\nvar DEFAULT_MATCHING_THRESHOLD = 838;\nvar PROCESSED_DATA;\nfunction processData() {\n var _a, _b;\n if (!PROCESSED_DATA) {\n var paradigmLocales = (_b = (_a = jsonData.supplemental.languageMatching['written-new'][0]) === null || _a === void 0 ? void 0 : _a.paradigmLocales) === null || _b === void 0 ? void 0 : _b._locales.split(' ');\n var matchVariables = jsonData.supplemental.languageMatching['written-new'].slice(1, 5);\n var data = jsonData.supplemental.languageMatching['written-new'].slice(5);\n var matches = data.map(function (d) {\n var key = Object.keys(d)[0];\n var value = d[key];\n return {\n supported: key,\n desired: value._desired,\n distance: +value._distance,\n oneway: value.oneway === 'true' ? true : false,\n };\n }, {});\n PROCESSED_DATA = {\n matches: matches,\n matchVariables: matchVariables.reduce(function (all, d) {\n var key = Object.keys(d)[0];\n var value = d[key];\n all[key.slice(1)] = value._value.split('+');\n return all;\n }, {}),\n paradigmLocales: __spreadArray(__spreadArray([], paradigmLocales, true), paradigmLocales.map(function (l) {\n return new Intl.Locale(l.replace(/_/g, '-')).maximize().toString();\n }), true),\n };\n }\n return PROCESSED_DATA;\n}\nfunction isMatched(locale, languageMatchInfoLocale, matchVariables) {\n var _a = languageMatchInfoLocale.split('-'), language = _a[0], script = _a[1], region = _a[2];\n var matches = true;\n if (region && region[0] === '$') {\n var shouldInclude = region[1] !== '!';\n var matchRegions = shouldInclude\n ? matchVariables[region.slice(1)]\n : matchVariables[region.slice(2)];\n var expandedMatchedRegions = matchRegions\n .map(function (r) { return regions[r] || [r]; })\n .reduce(function (all, list) { return __spreadArray(__spreadArray([], all, true), list, true); }, []);\n matches && (matches = !(expandedMatchedRegions.indexOf(locale.region || '') > 1 !=\n shouldInclude));\n }\n else {\n matches && (matches = locale.region\n ? region === '*' || region === locale.region\n : true);\n }\n matches && (matches = locale.script ? script === '*' || script === locale.script : true);\n matches && (matches = locale.language\n ? language === '*' || language === locale.language\n : true);\n return matches;\n}\nfunction serializeLSR(lsr) {\n return [lsr.language, lsr.script, lsr.region].filter(Boolean).join('-');\n}\nfunction findMatchingDistanceForLSR(desired, supported, data) {\n for (var _i = 0, _a = data.matches; _i < _a.length; _i++) {\n var d = _a[_i];\n var matches = isMatched(desired, d.desired, data.matchVariables) &&\n isMatched(supported, d.supported, data.matchVariables);\n if (!d.oneway && !matches) {\n matches =\n isMatched(desired, d.supported, data.matchVariables) &&\n isMatched(supported, d.desired, data.matchVariables);\n }\n if (matches) {\n var distance = d.distance * 10;\n if (data.paradigmLocales.indexOf(serializeLSR(desired)) > -1 !=\n data.paradigmLocales.indexOf(serializeLSR(supported)) > -1) {\n return distance - 1;\n }\n return distance;\n }\n }\n throw new Error('No matching distance found');\n}\nexport function findMatchingDistance(desired, supported) {\n var desiredLocale = new Intl.Locale(desired).maximize();\n var supportedLocale = new Intl.Locale(supported).maximize();\n var desiredLSR = {\n language: desiredLocale.language,\n script: desiredLocale.script || '',\n region: desiredLocale.region || '',\n };\n var supportedLSR = {\n language: supportedLocale.language,\n script: supportedLocale.script || '',\n region: supportedLocale.region || '',\n };\n var matchingDistance = 0;\n var data = processData();\n if (desiredLSR.language !== supportedLSR.language) {\n matchingDistance += findMatchingDistanceForLSR({\n language: desiredLocale.language,\n script: '',\n region: '',\n }, {\n language: supportedLocale.language,\n script: '',\n region: '',\n }, data);\n }\n if (desiredLSR.script !== supportedLSR.script) {\n matchingDistance += findMatchingDistanceForLSR({\n language: desiredLocale.language,\n script: desiredLSR.script,\n region: '',\n }, {\n language: supportedLocale.language,\n script: desiredLSR.script,\n region: '',\n }, data);\n }\n if (desiredLSR.region !== supportedLSR.region) {\n matchingDistance += findMatchingDistanceForLSR(desiredLSR, supportedLSR, data);\n }\n return matchingDistance;\n}\nexport function findBestMatch(requestedLocales, supportedLocales, threshold) {\n if (threshold === void 0) { threshold = DEFAULT_MATCHING_THRESHOLD; }\n var lowestDistance = Infinity;\n var result = {\n matchedDesiredLocale: '',\n distances: {},\n };\n requestedLocales.forEach(function (desired, i) {\n if (!result.distances[desired]) {\n result.distances[desired] = {};\n }\n supportedLocales.forEach(function (supported) {\n // Add some weight to the distance based on the order of the supported locales\n // Add penalty for the order of the requested locales, which currently is 0 since ECMA-402\n // doesn't really have room for weighted locales like `en; q=0.1`\n var distance = findMatchingDistance(desired, supported) + 0 + i * 40;\n result.distances[desired][supported] = distance;\n if (distance < lowestDistance) {\n lowestDistance = distance;\n result.matchedDesiredLocale = desired;\n result.matchedSupportedLocale = supported;\n }\n });\n });\n if (lowestDistance >= threshold) {\n result.matchedDesiredLocale = undefined;\n result.matchedSupportedLocale = undefined;\n }\n return result;\n}\n","import { UNICODE_EXTENSION_SEQUENCE_REGEX, findBestMatch } from './utils';\n/**\n * https://tc39.es/ecma402/#sec-bestfitmatcher\n * @param availableLocales\n * @param requestedLocales\n * @param getDefaultLocale\n */\nexport function BestFitMatcher(availableLocales, requestedLocales, getDefaultLocale) {\n var foundLocale;\n var extension;\n var noExtensionLocales = [];\n var noExtensionLocaleMap = requestedLocales.reduce(function (all, l) {\n var noExtensionLocale = l.replace(UNICODE_EXTENSION_SEQUENCE_REGEX, '');\n noExtensionLocales.push(noExtensionLocale);\n all[noExtensionLocale] = l;\n return all;\n }, {});\n var result = findBestMatch(noExtensionLocales, availableLocales);\n if (result.matchedSupportedLocale && result.matchedDesiredLocale) {\n foundLocale = result.matchedSupportedLocale;\n extension =\n noExtensionLocaleMap[result.matchedDesiredLocale].slice(result.matchedDesiredLocale.length) || undefined;\n }\n if (!foundLocale) {\n return { locale: getDefaultLocale() };\n }\n return {\n locale: foundLocale,\n extension: extension,\n };\n}\n","/**\n * https://tc39.es/ecma402/#sec-bestavailablelocale\n * @param availableLocales\n * @param locale\n */\nexport function BestAvailableLocale(availableLocales, locale) {\n var candidate = locale;\n while (true) {\n if (availableLocales.indexOf(candidate) > -1) {\n return candidate;\n }\n var pos = candidate.lastIndexOf('-');\n if (!~pos) {\n return undefined;\n }\n if (pos >= 2 && candidate[pos - 2] === '-') {\n pos -= 2;\n }\n candidate = candidate.slice(0, pos);\n }\n}\n","import { invariant } from './utils';\n/**\n * https://tc39.es/ecma402/#sec-unicodeextensionvalue\n * @param extension\n * @param key\n */\nexport function UnicodeExtensionValue(extension, key) {\n invariant(key.length === 2, 'key must have 2 elements');\n var size = extension.length;\n var searchValue = \"-\".concat(key, \"-\");\n var pos = extension.indexOf(searchValue);\n if (pos !== -1) {\n var start = pos + 4;\n var end = start;\n var k = start;\n var done = false;\n while (!done) {\n var e = extension.indexOf('-', k);\n var len = void 0;\n if (e === -1) {\n len = size - k;\n }\n else {\n len = e - k;\n }\n if (len === 2) {\n done = true;\n }\n else if (e === -1) {\n end = size;\n done = true;\n }\n else {\n end = e;\n k = e + 1;\n }\n }\n return extension.slice(start, end);\n }\n searchValue = \"-\".concat(key);\n pos = extension.indexOf(searchValue);\n if (pos !== -1 && pos + 3 === size) {\n return '';\n }\n return undefined;\n}\n","import { BestFitMatcher } from './BestFitMatcher';\nimport { LookupMatcher } from './LookupMatcher';\nimport { UnicodeExtensionValue } from './UnicodeExtensionValue';\nimport { invariant } from './utils';\n/**\n * https://tc39.es/ecma402/#sec-resolvelocale\n */\nexport function ResolveLocale(availableLocales, requestedLocales, options, relevantExtensionKeys, localeData, getDefaultLocale) {\n var matcher = options.localeMatcher;\n var r;\n if (matcher === 'lookup') {\n r = LookupMatcher(Array.from(availableLocales), requestedLocales, getDefaultLocale);\n }\n else {\n r = BestFitMatcher(Array.from(availableLocales), requestedLocales, getDefaultLocale);\n }\n var foundLocale = r.locale;\n var result = { locale: '', dataLocale: foundLocale };\n var supportedExtension = '-u';\n for (var _i = 0, relevantExtensionKeys_1 = relevantExtensionKeys; _i < relevantExtensionKeys_1.length; _i++) {\n var key = relevantExtensionKeys_1[_i];\n invariant(foundLocale in localeData, \"Missing locale data for \".concat(foundLocale));\n var foundLocaleData = localeData[foundLocale];\n invariant(typeof foundLocaleData === 'object' && foundLocaleData !== null, \"locale data \".concat(key, \" must be an object\"));\n var keyLocaleData = foundLocaleData[key];\n invariant(Array.isArray(keyLocaleData), \"keyLocaleData for \".concat(key, \" must be an array\"));\n var value = keyLocaleData[0];\n invariant(typeof value === 'string' || value === null, \"value must be string or null but got \".concat(typeof value, \" in key \").concat(key));\n var supportedExtensionAddition = '';\n if (r.extension) {\n var requestedValue = UnicodeExtensionValue(r.extension, key);\n if (requestedValue !== undefined) {\n if (requestedValue !== '') {\n if (~keyLocaleData.indexOf(requestedValue)) {\n value = requestedValue;\n supportedExtensionAddition = \"-\".concat(key, \"-\").concat(value);\n }\n }\n else if (~requestedValue.indexOf('true')) {\n value = 'true';\n supportedExtensionAddition = \"-\".concat(key);\n }\n }\n }\n if (key in options) {\n var optionsValue = options[key];\n invariant(typeof optionsValue === 'string' ||\n typeof optionsValue === 'undefined' ||\n optionsValue === null, 'optionsValue must be String, Undefined or Null');\n if (~keyLocaleData.indexOf(optionsValue)) {\n if (optionsValue !== value) {\n value = optionsValue;\n supportedExtensionAddition = '';\n }\n }\n }\n result[key] = value;\n supportedExtension += supportedExtensionAddition;\n }\n if (supportedExtension.length > 2) {\n var privateIndex = foundLocale.indexOf('-x-');\n if (privateIndex === -1) {\n foundLocale = foundLocale + supportedExtension;\n }\n else {\n var preExtension = foundLocale.slice(0, privateIndex);\n var postExtension = foundLocale.slice(privateIndex, foundLocale.length);\n foundLocale = preExtension + supportedExtension + postExtension;\n }\n foundLocale = Intl.getCanonicalLocales(foundLocale)[0];\n }\n result.locale = foundLocale;\n return result;\n}\n","import { BestAvailableLocale } from './BestAvailableLocale';\nimport { UNICODE_EXTENSION_SEQUENCE_REGEX } from './utils';\n/**\n * https://tc39.es/ecma402/#sec-lookupmatcher\n * @param availableLocales\n * @param requestedLocales\n * @param getDefaultLocale\n */\nexport function LookupMatcher(availableLocales, requestedLocales, getDefaultLocale) {\n var result = { locale: '' };\n for (var _i = 0, requestedLocales_1 = requestedLocales; _i < requestedLocales_1.length; _i++) {\n var locale = requestedLocales_1[_i];\n var noExtensionLocale = locale.replace(UNICODE_EXTENSION_SEQUENCE_REGEX, '');\n var availableLocale = BestAvailableLocale(availableLocales, noExtensionLocale);\n if (availableLocale) {\n result.locale = availableLocale;\n if (locale !== noExtensionLocale) {\n result.extension = locale.slice(noExtensionLocale.length, locale.length);\n }\n return result;\n }\n }\n result.locale = getDefaultLocale();\n return result;\n}\n","import { BestAvailableLocale } from './BestAvailableLocale';\nimport { UNICODE_EXTENSION_SEQUENCE_REGEX } from './utils';\n/**\n * https://tc39.es/ecma402/#sec-lookupsupportedlocales\n * @param availableLocales\n * @param requestedLocales\n */\nexport function LookupSupportedLocales(availableLocales, requestedLocales) {\n var subset = [];\n for (var _i = 0, requestedLocales_1 = requestedLocales; _i < requestedLocales_1.length; _i++) {\n var locale = requestedLocales_1[_i];\n var noExtensionLocale = locale.replace(UNICODE_EXTENSION_SEQUENCE_REGEX, '');\n var availableLocale = BestAvailableLocale(availableLocales, noExtensionLocale);\n if (availableLocale) {\n subset.push(availableLocale);\n }\n }\n return subset;\n}\n","import { CanonicalizeLocaleList } from './abstract/CanonicalizeLocaleList';\nimport { ResolveLocale } from './abstract/ResolveLocale';\nexport function match(requestedLocales, availableLocales, defaultLocale, opts) {\n return ResolveLocale(availableLocales, CanonicalizeLocaleList(requestedLocales), {\n localeMatcher: (opts === null || opts === void 0 ? void 0 : opts.algorithm) || 'best fit',\n }, [], {}, function () { return defaultLocale; }).locale;\n}\nexport { LookupSupportedLocales } from './abstract/LookupSupportedLocales';\nexport { ResolveLocale } from './abstract/ResolveLocale';\n","/**\n * http://ecma-international.org/ecma-402/7.0/index.html#sec-canonicalizelocalelist\n * @param locales\n */\nexport function CanonicalizeLocaleList(locales) {\n // TODO\n return Intl.getCanonicalLocales(locales);\n}\n","!function(e,o){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=o():\"function\"==typeof define&&define.amd?define(o):(e=\"undefined\"!=typeof globalThis?globalThis:e||self).dayjs_plugin_isToday=o()}(this,(function(){\"use strict\";return function(e,o,t){o.prototype.isToday=function(){var e=\"YYYY-MM-DD\",o=t();return this.format(e)===o.format(e)}}}));","!function(t,i){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=i():\"function\"==typeof define&&define.amd?define(i):(t=\"undefined\"!=typeof globalThis?globalThis:t||self).dayjs_plugin_utc=i()}(this,(function(){\"use strict\";var t=\"minute\",i=/[+-]\\d\\d(?::?\\d\\d)?/g,e=/([+-]|\\d\\d)/g;return function(s,f,n){var u=f.prototype;n.utc=function(t){var i={date:t,utc:!0,args:arguments};return new f(i)},u.utc=function(i){var e=n(this.toDate(),{locale:this.$L,utc:!0});return i?e.add(this.utcOffset(),t):e},u.local=function(){return n(this.toDate(),{locale:this.$L,utc:!1})};var o=u.parse;u.parse=function(t){t.utc&&(this.$u=!0),this.$utils().u(t.$offset)||(this.$offset=t.$offset),o.call(this,t)};var r=u.init;u.init=function(){if(this.$u){var t=this.$d;this.$y=t.getUTCFullYear(),this.$M=t.getUTCMonth(),this.$D=t.getUTCDate(),this.$W=t.getUTCDay(),this.$H=t.getUTCHours(),this.$m=t.getUTCMinutes(),this.$s=t.getUTCSeconds(),this.$ms=t.getUTCMilliseconds()}else r.call(this)};var a=u.utcOffset;u.utcOffset=function(s,f){var n=this.$utils().u;if(n(s))return this.$u?0:n(this.$offset)?a.call(this):this.$offset;if(\"string\"==typeof s&&(s=function(t){void 0===t&&(t=\"\");var s=t.match(i);if(!s)return null;var f=(\"\"+s[0]).match(e)||[\"-\",0,0],n=f[0],u=60*+f[1]+ +f[2];return 0===u?0:\"+\"===n?u:-u}(s),null===s))return this;var u=Math.abs(s)<=16?60*s:s,o=this;if(f)return o.$offset=u,o.$u=0===s,o;if(0!==s){var r=this.$u?this.toDate().getTimezoneOffset():-1*this.utcOffset();(o=this.local().add(u+r,t)).$offset=u,o.$x.$localOffset=r}else o=this.utc();return o};var h=u.format;u.format=function(t){var i=t||(this.$u?\"YYYY-MM-DDTHH:mm:ss[Z]\":\"\");return h.call(this,i)},u.valueOf=function(){var t=this.$utils().u(this.$offset)?0:this.$offset+(this.$x.$localOffset||this.$d.getTimezoneOffset());return this.$d.valueOf()-6e4*t},u.isUTC=function(){return!!this.$u},u.toISOString=function(){return this.toDate().toISOString()},u.toString=function(){return this.toDate().toUTCString()};var l=u.toDate;u.toDate=function(t){return\"s\"===t&&this.$offset?n(this.format(\"YYYY-MM-DD HH:mm:ss:SSS\")).toDate():l.call(this)};var c=u.diff;u.diff=function(t,i,e){if(t&&this.$u===t.$u)return c.call(this,t,i,e);var s=this.local(),f=n(t).local();return c.call(s,f,i,e)}}}));","const ANY = Symbol('SemVer ANY')\n// hoisted class for cyclic dependency\nclass Comparator {\n static get ANY () {\n return ANY\n }\n constructor (comp, options) {\n if (!options || typeof options !== 'object') {\n options = {\n loose: !!options,\n includePrerelease: false\n }\n }\n\n if (comp instanceof Comparator) {\n if (comp.loose === !!options.loose) {\n return comp\n } else {\n comp = comp.value\n }\n }\n\n debug('comparator', comp, options)\n this.options = options\n this.loose = !!options.loose\n this.parse(comp)\n\n if (this.semver === ANY) {\n this.value = ''\n } else {\n this.value = this.operator + this.semver.version\n }\n\n debug('comp', this)\n }\n\n parse (comp) {\n const r = this.options.loose ? re[t.COMPARATORLOOSE] : re[t.COMPARATOR]\n const m = comp.match(r)\n\n if (!m) {\n throw new TypeError(`Invalid comparator: ${comp}`)\n }\n\n this.operator = m[1] !== undefined ? m[1] : ''\n if (this.operator === '=') {\n this.operator = ''\n }\n\n // if it literally is just '>' or '' then allow anything.\n if (!m[2]) {\n this.semver = ANY\n } else {\n this.semver = new SemVer(m[2], this.options.loose)\n }\n }\n\n toString () {\n return this.value\n }\n\n test (version) {\n debug('Comparator.test', version, this.options.loose)\n\n if (this.semver === ANY || version === ANY) {\n return true\n }\n\n if (typeof version === 'string') {\n try {\n version = new SemVer(version, this.options)\n } catch (er) {\n return false\n }\n }\n\n return cmp(version, this.operator, this.semver, this.options)\n }\n\n intersects (comp, options) {\n if (!(comp instanceof Comparator)) {\n throw new TypeError('a Comparator is required')\n }\n\n if (!options || typeof options !== 'object') {\n options = {\n loose: !!options,\n includePrerelease: false\n }\n }\n\n if (this.operator === '') {\n if (this.value === '') {\n return true\n }\n return new Range(comp.value, options).test(this.value)\n } else if (comp.operator === '') {\n if (comp.value === '') {\n return true\n }\n return new Range(this.value, options).test(comp.semver)\n }\n\n const sameDirectionIncreasing =\n (this.operator === '>=' || this.operator === '>') &&\n (comp.operator === '>=' || comp.operator === '>')\n const sameDirectionDecreasing =\n (this.operator === '<=' || this.operator === '<') &&\n (comp.operator === '<=' || comp.operator === '<')\n const sameSemVer = this.semver.version === comp.semver.version\n const differentDirectionsInclusive =\n (this.operator === '>=' || this.operator === '<=') &&\n (comp.operator === '>=' || comp.operator === '<=')\n const oppositeDirectionsLessThan =\n cmp(this.semver, '<', comp.semver, options) &&\n (this.operator === '>=' || this.operator === '>') &&\n (comp.operator === '<=' || comp.operator === '<')\n const oppositeDirectionsGreaterThan =\n cmp(this.semver, '>', comp.semver, options) &&\n (this.operator === '<=' || this.operator === '<') &&\n (comp.operator === '>=' || comp.operator === '>')\n\n return (\n sameDirectionIncreasing ||\n sameDirectionDecreasing ||\n (sameSemVer && differentDirectionsInclusive) ||\n oppositeDirectionsLessThan ||\n oppositeDirectionsGreaterThan\n )\n }\n}\n\nmodule.exports = Comparator\n\nconst {re, t} = require('../internal/re')\nconst cmp = require('../functions/cmp')\nconst debug = require('../internal/debug')\nconst SemVer = require('./semver')\nconst Range = require('./range')\n","// hoisted class for cyclic dependency\nclass Range {\n constructor (range, options) {\n if (!options || typeof options !== 'object') {\n options = {\n loose: !!options,\n includePrerelease: false\n }\n }\n\n if (range instanceof Range) {\n if (\n range.loose === !!options.loose &&\n range.includePrerelease === !!options.includePrerelease\n ) {\n return range\n } else {\n return new Range(range.raw, options)\n }\n }\n\n if (range instanceof Comparator) {\n // just put it in the set and return\n this.raw = range.value\n this.set = [[range]]\n this.format()\n return this\n }\n\n this.options = options\n this.loose = !!options.loose\n this.includePrerelease = !!options.includePrerelease\n\n // First, split based on boolean or ||\n this.raw = range\n this.set = range\n .split(/\\s*\\|\\|\\s*/)\n // map the range to a 2d array of comparators\n .map(range => this.parseRange(range.trim()))\n // throw out any comparator lists that are empty\n // this generally means that it was not a valid range, which is allowed\n // in loose mode, but will still throw if the WHOLE range is invalid.\n .filter(c => c.length)\n\n if (!this.set.length) {\n throw new TypeError(`Invalid SemVer Range: ${range}`)\n }\n\n this.format()\n }\n\n format () {\n this.range = this.set\n .map((comps) => {\n return comps.join(' ').trim()\n })\n .join('||')\n .trim()\n return this.range\n }\n\n toString () {\n return this.range\n }\n\n parseRange (range) {\n const loose = this.options.loose\n range = range.trim()\n // `1.2.3 - 1.2.4` => `>=1.2.3 <=1.2.4`\n const hr = loose ? re[t.HYPHENRANGELOOSE] : re[t.HYPHENRANGE]\n range = range.replace(hr, hyphenReplace(this.options.includePrerelease))\n debug('hyphen replace', range)\n // `> 1.2.3 < 1.2.5` => `>1.2.3 <1.2.5`\n range = range.replace(re[t.COMPARATORTRIM], comparatorTrimReplace)\n debug('comparator trim', range, re[t.COMPARATORTRIM])\n\n // `~ 1.2.3` => `~1.2.3`\n range = range.replace(re[t.TILDETRIM], tildeTrimReplace)\n\n // `^ 1.2.3` => `^1.2.3`\n range = range.replace(re[t.CARETTRIM], caretTrimReplace)\n\n // normalize spaces\n range = range.split(/\\s+/).join(' ')\n\n // At this point, the range is completely trimmed and\n // ready to be split into comparators.\n\n const compRe = loose ? re[t.COMPARATORLOOSE] : re[t.COMPARATOR]\n return range\n .split(' ')\n .map(comp => parseComparator(comp, this.options))\n .join(' ')\n .split(/\\s+/)\n .map(comp => replaceGTE0(comp, this.options))\n // in loose mode, throw out any that are not valid comparators\n .filter(this.options.loose ? comp => !!comp.match(compRe) : () => true)\n .map(comp => new Comparator(comp, this.options))\n }\n\n intersects (range, options) {\n if (!(range instanceof Range)) {\n throw new TypeError('a Range is required')\n }\n\n return this.set.some((thisComparators) => {\n return (\n isSatisfiable(thisComparators, options) &&\n range.set.some((rangeComparators) => {\n return (\n isSatisfiable(rangeComparators, options) &&\n thisComparators.every((thisComparator) => {\n return rangeComparators.every((rangeComparator) => {\n return thisComparator.intersects(rangeComparator, options)\n })\n })\n )\n })\n )\n })\n }\n\n // if ANY of the sets match ALL of its comparators, then pass\n test (version) {\n if (!version) {\n return false\n }\n\n if (typeof version === 'string') {\n try {\n version = new SemVer(version, this.options)\n } catch (er) {\n return false\n }\n }\n\n for (let i = 0; i < this.set.length; i++) {\n if (testSet(this.set[i], version, this.options)) {\n return true\n }\n }\n return false\n }\n}\nmodule.exports = Range\n\nconst Comparator = require('./comparator')\nconst debug = require('../internal/debug')\nconst SemVer = require('./semver')\nconst {\n re,\n t,\n comparatorTrimReplace,\n tildeTrimReplace,\n caretTrimReplace\n} = require('../internal/re')\n\n// take a set of comparators and determine whether there\n// exists a version which can satisfy it\nconst isSatisfiable = (comparators, options) => {\n let result = true\n const remainingComparators = comparators.slice()\n let testComparator = remainingComparators.pop()\n\n while (result && remainingComparators.length) {\n result = remainingComparators.every((otherComparator) => {\n return testComparator.intersects(otherComparator, options)\n })\n\n testComparator = remainingComparators.pop()\n }\n\n return result\n}\n\n// comprised of xranges, tildes, stars, and gtlt's at this point.\n// already replaced the hyphen ranges\n// turn into a set of JUST comparators.\nconst parseComparator = (comp, options) => {\n debug('comp', comp, options)\n comp = replaceCarets(comp, options)\n debug('caret', comp)\n comp = replaceTildes(comp, options)\n debug('tildes', comp)\n comp = replaceXRanges(comp, options)\n debug('xrange', comp)\n comp = replaceStars(comp, options)\n debug('stars', comp)\n return comp\n}\n\nconst isX = id => !id || id.toLowerCase() === 'x' || id === '*'\n\n// ~, ~> --> * (any, kinda silly)\n// ~2, ~2.x, ~2.x.x, ~>2, ~>2.x ~>2.x.x --> >=2.0.0 <3.0.0-0\n// ~2.0, ~2.0.x, ~>2.0, ~>2.0.x --> >=2.0.0 <2.1.0-0\n// ~1.2, ~1.2.x, ~>1.2, ~>1.2.x --> >=1.2.0 <1.3.0-0\n// ~1.2.3, ~>1.2.3 --> >=1.2.3 <1.3.0-0\n// ~1.2.0, ~>1.2.0 --> >=1.2.0 <1.3.0-0\nconst replaceTildes = (comp, options) =>\n comp.trim().split(/\\s+/).map((comp) => {\n return replaceTilde(comp, options)\n }).join(' ')\n\nconst replaceTilde = (comp, options) => {\n const r = options.loose ? re[t.TILDELOOSE] : re[t.TILDE]\n return comp.replace(r, (_, M, m, p, pr) => {\n debug('tilde', comp, _, M, m, p, pr)\n let ret\n\n if (isX(M)) {\n ret = ''\n } else if (isX(m)) {\n ret = `>=${M}.0.0 <${+M + 1}.0.0-0`\n } else if (isX(p)) {\n // ~1.2 == >=1.2.0 <1.3.0-0\n ret = `>=${M}.${m}.0 <${M}.${+m + 1}.0-0`\n } else if (pr) {\n debug('replaceTilde pr', pr)\n ret = `>=${M}.${m}.${p}-${pr\n } <${M}.${+m + 1}.0-0`\n } else {\n // ~1.2.3 == >=1.2.3 <1.3.0-0\n ret = `>=${M}.${m}.${p\n } <${M}.${+m + 1}.0-0`\n }\n\n debug('tilde return', ret)\n return ret\n })\n}\n\n// ^ --> * (any, kinda silly)\n// ^2, ^2.x, ^2.x.x --> >=2.0.0 <3.0.0-0\n// ^2.0, ^2.0.x --> >=2.0.0 <3.0.0-0\n// ^1.2, ^1.2.x --> >=1.2.0 <2.0.0-0\n// ^1.2.3 --> >=1.2.3 <2.0.0-0\n// ^1.2.0 --> >=1.2.0 <2.0.0-0\nconst replaceCarets = (comp, options) =>\n comp.trim().split(/\\s+/).map((comp) => {\n return replaceCaret(comp, options)\n }).join(' ')\n\nconst replaceCaret = (comp, options) => {\n debug('caret', comp, options)\n const r = options.loose ? re[t.CARETLOOSE] : re[t.CARET]\n const z = options.includePrerelease ? '-0' : ''\n return comp.replace(r, (_, M, m, p, pr) => {\n debug('caret', comp, _, M, m, p, pr)\n let ret\n\n if (isX(M)) {\n ret = ''\n } else if (isX(m)) {\n ret = `>=${M}.0.0${z} <${+M + 1}.0.0-0`\n } else if (isX(p)) {\n if (M === '0') {\n ret = `>=${M}.${m}.0${z} <${M}.${+m + 1}.0-0`\n } else {\n ret = `>=${M}.${m}.0${z} <${+M + 1}.0.0-0`\n }\n } else if (pr) {\n debug('replaceCaret pr', pr)\n if (M === '0') {\n if (m === '0') {\n ret = `>=${M}.${m}.${p}-${pr\n } <${M}.${m}.${+p + 1}-0`\n } else {\n ret = `>=${M}.${m}.${p}-${pr\n } <${M}.${+m + 1}.0-0`\n }\n } else {\n ret = `>=${M}.${m}.${p}-${pr\n } <${+M + 1}.0.0-0`\n }\n } else {\n debug('no pr')\n if (M === '0') {\n if (m === '0') {\n ret = `>=${M}.${m}.${p\n }${z} <${M}.${m}.${+p + 1}-0`\n } else {\n ret = `>=${M}.${m}.${p\n }${z} <${M}.${+m + 1}.0-0`\n }\n } else {\n ret = `>=${M}.${m}.${p\n } <${+M + 1}.0.0-0`\n }\n }\n\n debug('caret return', ret)\n return ret\n })\n}\n\nconst replaceXRanges = (comp, options) => {\n debug('replaceXRanges', comp, options)\n return comp.split(/\\s+/).map((comp) => {\n return replaceXRange(comp, options)\n }).join(' ')\n}\n\nconst replaceXRange = (comp, options) => {\n comp = comp.trim()\n const r = options.loose ? re[t.XRANGELOOSE] : re[t.XRANGE]\n return comp.replace(r, (ret, gtlt, M, m, p, pr) => {\n debug('xRange', comp, ret, gtlt, M, m, p, pr)\n const xM = isX(M)\n const xm = xM || isX(m)\n const xp = xm || isX(p)\n const anyX = xp\n\n if (gtlt === '=' && anyX) {\n gtlt = ''\n }\n\n // if we're including prereleases in the match, then we need\n // to fix this to -0, the lowest possible prerelease value\n pr = options.includePrerelease ? '-0' : ''\n\n if (xM) {\n if (gtlt === '>' || gtlt === '<') {\n // nothing is allowed\n ret = '<0.0.0-0'\n } else {\n // nothing is forbidden\n ret = '*'\n }\n } else if (gtlt && anyX) {\n // we know patch is an x, because we have any x at all.\n // replace X with 0\n if (xm) {\n m = 0\n }\n p = 0\n\n if (gtlt === '>') {\n // >1 => >=2.0.0\n // >1.2 => >=1.3.0\n gtlt = '>='\n if (xm) {\n M = +M + 1\n m = 0\n p = 0\n } else {\n m = +m + 1\n p = 0\n }\n } else if (gtlt === '<=') {\n // <=0.7.x is actually <0.8.0, since any 0.7.x should\n // pass. Similarly, <=7.x is actually <8.0.0, etc.\n gtlt = '<'\n if (xm) {\n M = +M + 1\n } else {\n m = +m + 1\n }\n }\n\n if (gtlt === '<')\n pr = '-0'\n\n ret = `${gtlt + M}.${m}.${p}${pr}`\n } else if (xm) {\n ret = `>=${M}.0.0${pr} <${+M + 1}.0.0-0`\n } else if (xp) {\n ret = `>=${M}.${m}.0${pr\n } <${M}.${+m + 1}.0-0`\n }\n\n debug('xRange return', ret)\n\n return ret\n })\n}\n\n// Because * is AND-ed with everything else in the comparator,\n// and '' means \"any version\", just remove the *s entirely.\nconst replaceStars = (comp, options) => {\n debug('replaceStars', comp, options)\n // Looseness is ignored here. star is always as loose as it gets!\n return comp.trim().replace(re[t.STAR], '')\n}\n\nconst replaceGTE0 = (comp, options) => {\n debug('replaceGTE0', comp, options)\n return comp.trim()\n .replace(re[options.includePrerelease ? t.GTE0PRE : t.GTE0], '')\n}\n\n// This function is passed to string.replace(re[t.HYPHENRANGE])\n// M, m, patch, prerelease, build\n// 1.2 - 3.4.5 => >=1.2.0 <=3.4.5\n// 1.2.3 - 3.4 => >=1.2.0 <3.5.0-0 Any 3.4.x will do\n// 1.2 - 3.4 => >=1.2.0 <3.5.0-0\nconst hyphenReplace = incPr => ($0,\n from, fM, fm, fp, fpr, fb,\n to, tM, tm, tp, tpr, tb) => {\n if (isX(fM)) {\n from = ''\n } else if (isX(fm)) {\n from = `>=${fM}.0.0${incPr ? '-0' : ''}`\n } else if (isX(fp)) {\n from = `>=${fM}.${fm}.0${incPr ? '-0' : ''}`\n } else if (fpr) {\n from = `>=${from}`\n } else {\n from = `>=${from}${incPr ? '-0' : ''}`\n }\n\n if (isX(tM)) {\n to = ''\n } else if (isX(tm)) {\n to = `<${+tM + 1}.0.0-0`\n } else if (isX(tp)) {\n to = `<${tM}.${+tm + 1}.0-0`\n } else if (tpr) {\n to = `<=${tM}.${tm}.${tp}-${tpr}`\n } else if (incPr) {\n to = `<${tM}.${tm}.${+tp + 1}-0`\n } else {\n to = `<=${to}`\n }\n\n return (`${from} ${to}`).trim()\n}\n\nconst testSet = (set, version, options) => {\n for (let i = 0; i < set.length; i++) {\n if (!set[i].test(version)) {\n return false\n }\n }\n\n if (version.prerelease.length && !options.includePrerelease) {\n // Find the set of versions that are allowed to have prereleases\n // For example, ^1.2.3-pr.1 desugars to >=1.2.3-pr.1 <2.0.0\n // That should allow `1.2.3-pr.2` to pass.\n // However, `1.2.4-alpha.notready` should NOT be allowed,\n // even though it's within the range set by the comparators.\n for (let i = 0; i < set.length; i++) {\n debug(set[i].semver)\n if (set[i].semver === Comparator.ANY) {\n continue\n }\n\n if (set[i].semver.prerelease.length > 0) {\n const allowed = set[i].semver\n if (allowed.major === version.major &&\n allowed.minor === version.minor &&\n allowed.patch === version.patch) {\n return true\n }\n }\n }\n\n // Version has a -pre, but it's not one of the ones we like.\n return false\n }\n\n return true\n}\n","const debug = require('../internal/debug')\nconst { MAX_LENGTH, MAX_SAFE_INTEGER } = require('../internal/constants')\nconst { re, t } = require('../internal/re')\n\nconst { compareIdentifiers } = require('../internal/identifiers')\nclass SemVer {\n constructor (version, options) {\n if (!options || typeof options !== 'object') {\n options = {\n loose: !!options,\n includePrerelease: false\n }\n }\n if (version instanceof SemVer) {\n if (version.loose === !!options.loose &&\n version.includePrerelease === !!options.includePrerelease) {\n return version\n } else {\n version = version.version\n }\n } else if (typeof version !== 'string') {\n throw new TypeError(`Invalid Version: ${version}`)\n }\n\n if (version.length > MAX_LENGTH) {\n throw new TypeError(\n `version is longer than ${MAX_LENGTH} characters`\n )\n }\n\n debug('SemVer', version, options)\n this.options = options\n this.loose = !!options.loose\n // this isn't actually relevant for versions, but keep it so that we\n // don't run into trouble passing this.options around.\n this.includePrerelease = !!options.includePrerelease\n\n const m = version.trim().match(options.loose ? re[t.LOOSE] : re[t.FULL])\n\n if (!m) {\n throw new TypeError(`Invalid Version: ${version}`)\n }\n\n this.raw = version\n\n // these are actually numbers\n this.major = +m[1]\n this.minor = +m[2]\n this.patch = +m[3]\n\n if (this.major > MAX_SAFE_INTEGER || this.major < 0) {\n throw new TypeError('Invalid major version')\n }\n\n if (this.minor > MAX_SAFE_INTEGER || this.minor < 0) {\n throw new TypeError('Invalid minor version')\n }\n\n if (this.patch > MAX_SAFE_INTEGER || this.patch < 0) {\n throw new TypeError('Invalid patch version')\n }\n\n // numberify any prerelease numeric ids\n if (!m[4]) {\n this.prerelease = []\n } else {\n this.prerelease = m[4].split('.').map((id) => {\n if (/^[0-9]+$/.test(id)) {\n const num = +id\n if (num >= 0 && num < MAX_SAFE_INTEGER) {\n return num\n }\n }\n return id\n })\n }\n\n this.build = m[5] ? m[5].split('.') : []\n this.format()\n }\n\n format () {\n this.version = `${this.major}.${this.minor}.${this.patch}`\n if (this.prerelease.length) {\n this.version += `-${this.prerelease.join('.')}`\n }\n return this.version\n }\n\n toString () {\n return this.version\n }\n\n compare (other) {\n debug('SemVer.compare', this.version, this.options, other)\n if (!(other instanceof SemVer)) {\n if (typeof other === 'string' && other === this.version) {\n return 0\n }\n other = new SemVer(other, this.options)\n }\n\n if (other.version === this.version) {\n return 0\n }\n\n return this.compareMain(other) || this.comparePre(other)\n }\n\n compareMain (other) {\n if (!(other instanceof SemVer)) {\n other = new SemVer(other, this.options)\n }\n\n return (\n compareIdentifiers(this.major, other.major) ||\n compareIdentifiers(this.minor, other.minor) ||\n compareIdentifiers(this.patch, other.patch)\n )\n }\n\n comparePre (other) {\n if (!(other instanceof SemVer)) {\n other = new SemVer(other, this.options)\n }\n\n // NOT having a prerelease is > having one\n if (this.prerelease.length && !other.prerelease.length) {\n return -1\n } else if (!this.prerelease.length && other.prerelease.length) {\n return 1\n } else if (!this.prerelease.length && !other.prerelease.length) {\n return 0\n }\n\n let i = 0\n do {\n const a = this.prerelease[i]\n const b = other.prerelease[i]\n debug('prerelease compare', i, a, b)\n if (a === undefined && b === undefined) {\n return 0\n } else if (b === undefined) {\n return 1\n } else if (a === undefined) {\n return -1\n } else if (a === b) {\n continue\n } else {\n return compareIdentifiers(a, b)\n }\n } while (++i)\n }\n\n compareBuild (other) {\n if (!(other instanceof SemVer)) {\n other = new SemVer(other, this.options)\n }\n\n let i = 0\n do {\n const a = this.build[i]\n const b = other.build[i]\n debug('prerelease compare', i, a, b)\n if (a === undefined && b === undefined) {\n return 0\n } else if (b === undefined) {\n return 1\n } else if (a === undefined) {\n return -1\n } else if (a === b) {\n continue\n } else {\n return compareIdentifiers(a, b)\n }\n } while (++i)\n }\n\n // preminor will bump the version up to the next minor release, and immediately\n // down to pre-release. premajor and prepatch work the same way.\n inc (release, identifier) {\n switch (release) {\n case 'premajor':\n this.prerelease.length = 0\n this.patch = 0\n this.minor = 0\n this.major++\n this.inc('pre', identifier)\n break\n case 'preminor':\n this.prerelease.length = 0\n this.patch = 0\n this.minor++\n this.inc('pre', identifier)\n break\n case 'prepatch':\n // If this is already a prerelease, it will bump to the next version\n // drop any prereleases that might already exist, since they are not\n // relevant at this point.\n this.prerelease.length = 0\n this.inc('patch', identifier)\n this.inc('pre', identifier)\n break\n // If the input is a non-prerelease version, this acts the same as\n // prepatch.\n case 'prerelease':\n if (this.prerelease.length === 0) {\n this.inc('patch', identifier)\n }\n this.inc('pre', identifier)\n break\n\n case 'major':\n // If this is a pre-major version, bump up to the same major version.\n // Otherwise increment major.\n // 1.0.0-5 bumps to 1.0.0\n // 1.1.0 bumps to 2.0.0\n if (\n this.minor !== 0 ||\n this.patch !== 0 ||\n this.prerelease.length === 0\n ) {\n this.major++\n }\n this.minor = 0\n this.patch = 0\n this.prerelease = []\n break\n case 'minor':\n // If this is a pre-minor version, bump up to the same minor version.\n // Otherwise increment minor.\n // 1.2.0-5 bumps to 1.2.0\n // 1.2.1 bumps to 1.3.0\n if (this.patch !== 0 || this.prerelease.length === 0) {\n this.minor++\n }\n this.patch = 0\n this.prerelease = []\n break\n case 'patch':\n // If this is not a pre-release version, it will increment the patch.\n // If it is a pre-release it will bump up to the same patch version.\n // 1.2.0-5 patches to 1.2.0\n // 1.2.0 patches to 1.2.1\n if (this.prerelease.length === 0) {\n this.patch++\n }\n this.prerelease = []\n break\n // This probably shouldn't be used publicly.\n // 1.0.0 'pre' would become 1.0.0-0 which is the wrong direction.\n case 'pre':\n if (this.prerelease.length === 0) {\n this.prerelease = [0]\n } else {\n let i = this.prerelease.length\n while (--i >= 0) {\n if (typeof this.prerelease[i] === 'number') {\n this.prerelease[i]++\n i = -2\n }\n }\n if (i === -1) {\n // didn't increment anything\n this.prerelease.push(0)\n }\n }\n if (identifier) {\n // 1.2.0-beta.1 bumps to 1.2.0-beta.2,\n // 1.2.0-beta.fooblz or 1.2.0-beta bumps to 1.2.0-beta.0\n if (this.prerelease[0] === identifier) {\n if (isNaN(this.prerelease[1])) {\n this.prerelease = [identifier, 0]\n }\n } else {\n this.prerelease = [identifier, 0]\n }\n }\n break\n\n default:\n throw new Error(`invalid increment argument: ${release}`)\n }\n this.format()\n this.raw = this.version\n return this\n }\n}\n\nmodule.exports = SemVer\n","const parse = require('./parse')\nconst clean = (version, options) => {\n const s = parse(version.trim().replace(/^[=v]+/, ''), options)\n return s ? s.version : null\n}\nmodule.exports = clean\n","const eq = require('./eq')\nconst neq = require('./neq')\nconst gt = require('./gt')\nconst gte = require('./gte')\nconst lt = require('./lt')\nconst lte = require('./lte')\n\nconst cmp = (a, op, b, loose) => {\n switch (op) {\n case '===':\n if (typeof a === 'object')\n a = a.version\n if (typeof b === 'object')\n b = b.version\n return a === b\n\n case '!==':\n if (typeof a === 'object')\n a = a.version\n if (typeof b === 'object')\n b = b.version\n return a !== b\n\n case '':\n case '=':\n case '==':\n return eq(a, b, loose)\n\n case '!=':\n return neq(a, b, loose)\n\n case '>':\n return gt(a, b, loose)\n\n case '>=':\n return gte(a, b, loose)\n\n case '<':\n return lt(a, b, loose)\n\n case '<=':\n return lte(a, b, loose)\n\n default:\n throw new TypeError(`Invalid operator: ${op}`)\n }\n}\nmodule.exports = cmp\n","const SemVer = require('../classes/semver')\nconst parse = require('./parse')\nconst {re, t} = require('../internal/re')\n\nconst coerce = (version, options) => {\n if (version instanceof SemVer) {\n return version\n }\n\n if (typeof version === 'number') {\n version = String(version)\n }\n\n if (typeof version !== 'string') {\n return null\n }\n\n options = options || {}\n\n let match = null\n if (!options.rtl) {\n match = version.match(re[t.COERCE])\n } else {\n // Find the right-most coercible string that does not share\n // a terminus with a more left-ward coercible string.\n // Eg, '1.2.3.4' wants to coerce '2.3.4', not '3.4' or '4'\n //\n // Walk through the string checking with a /g regexp\n // Manually set the index so as to pick up overlapping matches.\n // Stop when we get a match that ends at the string end, since no\n // coercible string can be more right-ward without the same terminus.\n let next\n while ((next = re[t.COERCERTL].exec(version)) &&\n (!match || match.index + match[0].length !== version.length)\n ) {\n if (!match ||\n next.index + next[0].length !== match.index + match[0].length) {\n match = next\n }\n re[t.COERCERTL].lastIndex = next.index + next[1].length + next[2].length\n }\n // leave it in a clean state\n re[t.COERCERTL].lastIndex = -1\n }\n\n if (match === null)\n return null\n\n return parse(`${match[2]}.${match[3] || '0'}.${match[4] || '0'}`, options)\n}\nmodule.exports = coerce\n","const SemVer = require('../classes/semver')\nconst compareBuild = (a, b, loose) => {\n const versionA = new SemVer(a, loose)\n const versionB = new SemVer(b, loose)\n return versionA.compare(versionB) || versionA.compareBuild(versionB)\n}\nmodule.exports = compareBuild\n","const compare = require('./compare')\nconst compareLoose = (a, b) => compare(a, b, true)\nmodule.exports = compareLoose\n","const SemVer = require('../classes/semver')\nconst compare = (a, b, loose) =>\n new SemVer(a, loose).compare(new SemVer(b, loose))\n\nmodule.exports = compare\n","const parse = require('./parse')\nconst eq = require('./eq')\n\nconst diff = (version1, version2) => {\n if (eq(version1, version2)) {\n return null\n } else {\n const v1 = parse(version1)\n const v2 = parse(version2)\n const hasPre = v1.prerelease.length || v2.prerelease.length\n const prefix = hasPre ? 'pre' : ''\n const defaultResult = hasPre ? 'prerelease' : ''\n for (const key in v1) {\n if (key === 'major' || key === 'minor' || key === 'patch') {\n if (v1[key] !== v2[key]) {\n return prefix + key\n }\n }\n }\n return defaultResult // may be undefined\n }\n}\nmodule.exports = diff\n","const compare = require('./compare')\nconst eq = (a, b, loose) => compare(a, b, loose) === 0\nmodule.exports = eq\n","const compare = require('./compare')\nconst gt = (a, b, loose) => compare(a, b, loose) > 0\nmodule.exports = gt\n","const compare = require('./compare')\nconst gte = (a, b, loose) => compare(a, b, loose) >= 0\nmodule.exports = gte\n","const SemVer = require('../classes/semver')\n\nconst inc = (version, release, options, identifier) => {\n if (typeof (options) === 'string') {\n identifier = options\n options = undefined\n }\n\n try {\n return new SemVer(version, options).inc(release, identifier).version\n } catch (er) {\n return null\n }\n}\nmodule.exports = inc\n","const compare = require('./compare')\nconst lt = (a, b, loose) => compare(a, b, loose) < 0\nmodule.exports = lt\n","const compare = require('./compare')\nconst lte = (a, b, loose) => compare(a, b, loose) <= 0\nmodule.exports = lte\n","const SemVer = require('../classes/semver')\nconst major = (a, loose) => new SemVer(a, loose).major\nmodule.exports = major\n","const SemVer = require('../classes/semver')\nconst minor = (a, loose) => new SemVer(a, loose).minor\nmodule.exports = minor\n","const compare = require('./compare')\nconst neq = (a, b, loose) => compare(a, b, loose) !== 0\nmodule.exports = neq\n","const {MAX_LENGTH} = require('../internal/constants')\nconst { re, t } = require('../internal/re')\nconst SemVer = require('../classes/semver')\n\nconst parse = (version, options) => {\n if (!options || typeof options !== 'object') {\n options = {\n loose: !!options,\n includePrerelease: false\n }\n }\n\n if (version instanceof SemVer) {\n return version\n }\n\n if (typeof version !== 'string') {\n return null\n }\n\n if (version.length > MAX_LENGTH) {\n return null\n }\n\n const r = options.loose ? re[t.LOOSE] : re[t.FULL]\n if (!r.test(version)) {\n return null\n }\n\n try {\n return new SemVer(version, options)\n } catch (er) {\n return null\n }\n}\n\nmodule.exports = parse\n","const SemVer = require('../classes/semver')\nconst patch = (a, loose) => new SemVer(a, loose).patch\nmodule.exports = patch\n","const parse = require('./parse')\nconst prerelease = (version, options) => {\n const parsed = parse(version, options)\n return (parsed && parsed.prerelease.length) ? parsed.prerelease : null\n}\nmodule.exports = prerelease\n","const compare = require('./compare')\nconst rcompare = (a, b, loose) => compare(b, a, loose)\nmodule.exports = rcompare\n","const compareBuild = require('./compare-build')\nconst rsort = (list, loose) => list.sort((a, b) => compareBuild(b, a, loose))\nmodule.exports = rsort\n","const Range = require('../classes/range')\nconst satisfies = (version, range, options) => {\n try {\n range = new Range(range, options)\n } catch (er) {\n return false\n }\n return range.test(version)\n}\nmodule.exports = satisfies\n","const compareBuild = require('./compare-build')\nconst sort = (list, loose) => list.sort((a, b) => compareBuild(a, b, loose))\nmodule.exports = sort\n","const parse = require('./parse')\nconst valid = (version, options) => {\n const v = parse(version, options)\n return v ? v.version : null\n}\nmodule.exports = valid\n","// just pre-load all the stuff that index.js lazily exports\nconst internalRe = require('./internal/re')\nmodule.exports = {\n re: internalRe.re,\n src: internalRe.src,\n tokens: internalRe.t,\n SEMVER_SPEC_VERSION: require('./internal/constants').SEMVER_SPEC_VERSION,\n SemVer: require('./classes/semver'),\n compareIdentifiers: require('./internal/identifiers').compareIdentifiers,\n rcompareIdentifiers: require('./internal/identifiers').rcompareIdentifiers,\n parse: require('./functions/parse'),\n valid: require('./functions/valid'),\n clean: require('./functions/clean'),\n inc: require('./functions/inc'),\n diff: require('./functions/diff'),\n major: require('./functions/major'),\n minor: require('./functions/minor'),\n patch: require('./functions/patch'),\n prerelease: require('./functions/prerelease'),\n compare: require('./functions/compare'),\n rcompare: require('./functions/rcompare'),\n compareLoose: require('./functions/compare-loose'),\n compareBuild: require('./functions/compare-build'),\n sort: require('./functions/sort'),\n rsort: require('./functions/rsort'),\n gt: require('./functions/gt'),\n lt: require('./functions/lt'),\n eq: require('./functions/eq'),\n neq: require('./functions/neq'),\n gte: require('./functions/gte'),\n lte: require('./functions/lte'),\n cmp: require('./functions/cmp'),\n coerce: require('./functions/coerce'),\n Comparator: require('./classes/comparator'),\n Range: require('./classes/range'),\n satisfies: require('./functions/satisfies'),\n toComparators: require('./ranges/to-comparators'),\n maxSatisfying: require('./ranges/max-satisfying'),\n minSatisfying: require('./ranges/min-satisfying'),\n minVersion: require('./ranges/min-version'),\n validRange: require('./ranges/valid'),\n outside: require('./ranges/outside'),\n gtr: require('./ranges/gtr'),\n ltr: require('./ranges/ltr'),\n intersects: require('./ranges/intersects'),\n simplifyRange: require('./ranges/simplify'),\n subset: require('./ranges/subset'),\n}\n","// Note: this is the semver.org version of the spec that it implements\n// Not necessarily the package version of this code.\nconst SEMVER_SPEC_VERSION = '2.0.0'\n\nconst MAX_LENGTH = 256\nconst MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER ||\n /* istanbul ignore next */ 9007199254740991\n\n// Max safe segment length for coercion.\nconst MAX_SAFE_COMPONENT_LENGTH = 16\n\nmodule.exports = {\n SEMVER_SPEC_VERSION,\n MAX_LENGTH,\n MAX_SAFE_INTEGER,\n MAX_SAFE_COMPONENT_LENGTH\n}\n","const debug = (\n typeof process === 'object' &&\n process.env &&\n process.env.NODE_DEBUG &&\n /\\bsemver\\b/i.test(process.env.NODE_DEBUG)\n) ? (...args) => console.error('SEMVER', ...args)\n : () => {}\n\nmodule.exports = debug\n","const numeric = /^[0-9]+$/\nconst compareIdentifiers = (a, b) => {\n const anum = numeric.test(a)\n const bnum = numeric.test(b)\n\n if (anum && bnum) {\n a = +a\n b = +b\n }\n\n return a === b ? 0\n : (anum && !bnum) ? -1\n : (bnum && !anum) ? 1\n : a < b ? -1\n : 1\n}\n\nconst rcompareIdentifiers = (a, b) => compareIdentifiers(b, a)\n\nmodule.exports = {\n compareIdentifiers,\n rcompareIdentifiers\n}\n","const { MAX_SAFE_COMPONENT_LENGTH } = require('./constants')\nconst debug = require('./debug')\nexports = module.exports = {}\n\n// The actual regexps go on exports.re\nconst re = exports.re = []\nconst src = exports.src = []\nconst t = exports.t = {}\nlet R = 0\n\nconst createToken = (name, value, isGlobal) => {\n const index = R++\n debug(index, value)\n t[name] = index\n src[index] = value\n re[index] = new RegExp(value, isGlobal ? 'g' : undefined)\n}\n\n// The following Regular Expressions can be used for tokenizing,\n// validating, and parsing SemVer version strings.\n\n// ## Numeric Identifier\n// A single `0`, or a non-zero digit followed by zero or more digits.\n\ncreateToken('NUMERICIDENTIFIER', '0|[1-9]\\\\d*')\ncreateToken('NUMERICIDENTIFIERLOOSE', '[0-9]+')\n\n// ## Non-numeric Identifier\n// Zero or more digits, followed by a letter or hyphen, and then zero or\n// more letters, digits, or hyphens.\n\ncreateToken('NONNUMERICIDENTIFIER', '\\\\d*[a-zA-Z-][a-zA-Z0-9-]*')\n\n// ## Main Version\n// Three dot-separated numeric identifiers.\n\ncreateToken('MAINVERSION', `(${src[t.NUMERICIDENTIFIER]})\\\\.` +\n `(${src[t.NUMERICIDENTIFIER]})\\\\.` +\n `(${src[t.NUMERICIDENTIFIER]})`)\n\ncreateToken('MAINVERSIONLOOSE', `(${src[t.NUMERICIDENTIFIERLOOSE]})\\\\.` +\n `(${src[t.NUMERICIDENTIFIERLOOSE]})\\\\.` +\n `(${src[t.NUMERICIDENTIFIERLOOSE]})`)\n\n// ## Pre-release Version Identifier\n// A numeric identifier, or a non-numeric identifier.\n\ncreateToken('PRERELEASEIDENTIFIER', `(?:${src[t.NUMERICIDENTIFIER]\n}|${src[t.NONNUMERICIDENTIFIER]})`)\n\ncreateToken('PRERELEASEIDENTIFIERLOOSE', `(?:${src[t.NUMERICIDENTIFIERLOOSE]\n}|${src[t.NONNUMERICIDENTIFIER]})`)\n\n// ## Pre-release Version\n// Hyphen, followed by one or more dot-separated pre-release version\n// identifiers.\n\ncreateToken('PRERELEASE', `(?:-(${src[t.PRERELEASEIDENTIFIER]\n}(?:\\\\.${src[t.PRERELEASEIDENTIFIER]})*))`)\n\ncreateToken('PRERELEASELOOSE', `(?:-?(${src[t.PRERELEASEIDENTIFIERLOOSE]\n}(?:\\\\.${src[t.PRERELEASEIDENTIFIERLOOSE]})*))`)\n\n// ## Build Metadata Identifier\n// Any combination of digits, letters, or hyphens.\n\ncreateToken('BUILDIDENTIFIER', '[0-9A-Za-z-]+')\n\n// ## Build Metadata\n// Plus sign, followed by one or more period-separated build metadata\n// identifiers.\n\ncreateToken('BUILD', `(?:\\\\+(${src[t.BUILDIDENTIFIER]\n}(?:\\\\.${src[t.BUILDIDENTIFIER]})*))`)\n\n// ## Full Version String\n// A main version, followed optionally by a pre-release version and\n// build metadata.\n\n// Note that the only major, minor, patch, and pre-release sections of\n// the version string are capturing groups. The build metadata is not a\n// capturing group, because it should not ever be used in version\n// comparison.\n\ncreateToken('FULLPLAIN', `v?${src[t.MAINVERSION]\n}${src[t.PRERELEASE]}?${\n src[t.BUILD]}?`)\n\ncreateToken('FULL', `^${src[t.FULLPLAIN]}$`)\n\n// like full, but allows v1.2.3 and =1.2.3, which people do sometimes.\n// also, 1.0.0alpha1 (prerelease without the hyphen) which is pretty\n// common in the npm registry.\ncreateToken('LOOSEPLAIN', `[v=\\\\s]*${src[t.MAINVERSIONLOOSE]\n}${src[t.PRERELEASELOOSE]}?${\n src[t.BUILD]}?`)\n\ncreateToken('LOOSE', `^${src[t.LOOSEPLAIN]}$`)\n\ncreateToken('GTLT', '((?:<|>)?=?)')\n\n// Something like \"2.*\" or \"1.2.x\".\n// Note that \"x.x\" is a valid xRange identifer, meaning \"any version\"\n// Only the first item is strictly required.\ncreateToken('XRANGEIDENTIFIERLOOSE', `${src[t.NUMERICIDENTIFIERLOOSE]}|x|X|\\\\*`)\ncreateToken('XRANGEIDENTIFIER', `${src[t.NUMERICIDENTIFIER]}|x|X|\\\\*`)\n\ncreateToken('XRANGEPLAIN', `[v=\\\\s]*(${src[t.XRANGEIDENTIFIER]})` +\n `(?:\\\\.(${src[t.XRANGEIDENTIFIER]})` +\n `(?:\\\\.(${src[t.XRANGEIDENTIFIER]})` +\n `(?:${src[t.PRERELEASE]})?${\n src[t.BUILD]}?` +\n `)?)?`)\n\ncreateToken('XRANGEPLAINLOOSE', `[v=\\\\s]*(${src[t.XRANGEIDENTIFIERLOOSE]})` +\n `(?:\\\\.(${src[t.XRANGEIDENTIFIERLOOSE]})` +\n `(?:\\\\.(${src[t.XRANGEIDENTIFIERLOOSE]})` +\n `(?:${src[t.PRERELEASELOOSE]})?${\n src[t.BUILD]}?` +\n `)?)?`)\n\ncreateToken('XRANGE', `^${src[t.GTLT]}\\\\s*${src[t.XRANGEPLAIN]}$`)\ncreateToken('XRANGELOOSE', `^${src[t.GTLT]}\\\\s*${src[t.XRANGEPLAINLOOSE]}$`)\n\n// Coercion.\n// Extract anything that could conceivably be a part of a valid semver\ncreateToken('COERCE', `${'(^|[^\\\\d])' +\n '(\\\\d{1,'}${MAX_SAFE_COMPONENT_LENGTH}})` +\n `(?:\\\\.(\\\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?` +\n `(?:\\\\.(\\\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?` +\n `(?:$|[^\\\\d])`)\ncreateToken('COERCERTL', src[t.COERCE], true)\n\n// Tilde ranges.\n// Meaning is \"reasonably at or greater than\"\ncreateToken('LONETILDE', '(?:~>?)')\n\ncreateToken('TILDETRIM', `(\\\\s*)${src[t.LONETILDE]}\\\\s+`, true)\nexports.tildeTrimReplace = '$1~'\n\ncreateToken('TILDE', `^${src[t.LONETILDE]}${src[t.XRANGEPLAIN]}$`)\ncreateToken('TILDELOOSE', `^${src[t.LONETILDE]}${src[t.XRANGEPLAINLOOSE]}$`)\n\n// Caret ranges.\n// Meaning is \"at least and backwards compatible with\"\ncreateToken('LONECARET', '(?:\\\\^)')\n\ncreateToken('CARETTRIM', `(\\\\s*)${src[t.LONECARET]}\\\\s+`, true)\nexports.caretTrimReplace = '$1^'\n\ncreateToken('CARET', `^${src[t.LONECARET]}${src[t.XRANGEPLAIN]}$`)\ncreateToken('CARETLOOSE', `^${src[t.LONECARET]}${src[t.XRANGEPLAINLOOSE]}$`)\n\n// A simple gt/lt/eq thing, or just \"\" to indicate \"any version\"\ncreateToken('COMPARATORLOOSE', `^${src[t.GTLT]}\\\\s*(${src[t.LOOSEPLAIN]})$|^$`)\ncreateToken('COMPARATOR', `^${src[t.GTLT]}\\\\s*(${src[t.FULLPLAIN]})$|^$`)\n\n// An expression to strip any whitespace between the gtlt and the thing\n// it modifies, so that `> 1.2.3` ==> `>1.2.3`\ncreateToken('COMPARATORTRIM', `(\\\\s*)${src[t.GTLT]\n}\\\\s*(${src[t.LOOSEPLAIN]}|${src[t.XRANGEPLAIN]})`, true)\nexports.comparatorTrimReplace = '$1$2$3'\n\n// Something like `1.2.3 - 1.2.4`\n// Note that these all use the loose form, because they'll be\n// checked against either the strict or loose comparator form\n// later.\ncreateToken('HYPHENRANGE', `^\\\\s*(${src[t.XRANGEPLAIN]})` +\n `\\\\s+-\\\\s+` +\n `(${src[t.XRANGEPLAIN]})` +\n `\\\\s*$`)\n\ncreateToken('HYPHENRANGELOOSE', `^\\\\s*(${src[t.XRANGEPLAINLOOSE]})` +\n `\\\\s+-\\\\s+` +\n `(${src[t.XRANGEPLAINLOOSE]})` +\n `\\\\s*$`)\n\n// Star ranges basically just allow anything at all.\ncreateToken('STAR', '(<|>)?=?\\\\s*\\\\*')\n// >=0.0.0 is like a star\ncreateToken('GTE0', '^\\\\s*>=\\\\s*0\\.0\\.0\\\\s*$')\ncreateToken('GTE0PRE', '^\\\\s*>=\\\\s*0\\.0\\.0-0\\\\s*$')\n","// Determine if version is greater than all the versions possible in the range.\nconst outside = require('./outside')\nconst gtr = (version, range, options) => outside(version, range, '>', options)\nmodule.exports = gtr\n","const Range = require('../classes/range')\nconst intersects = (r1, r2, options) => {\n r1 = new Range(r1, options)\n r2 = new Range(r2, options)\n return r1.intersects(r2)\n}\nmodule.exports = intersects\n","const outside = require('./outside')\n// Determine if version is less than all the versions possible in the range\nconst ltr = (version, range, options) => outside(version, range, '<', options)\nmodule.exports = ltr\n","const SemVer = require('../classes/semver')\nconst Range = require('../classes/range')\n\nconst maxSatisfying = (versions, range, options) => {\n let max = null\n let maxSV = null\n let rangeObj = null\n try {\n rangeObj = new Range(range, options)\n } catch (er) {\n return null\n }\n versions.forEach((v) => {\n if (rangeObj.test(v)) {\n // satisfies(v, range, options)\n if (!max || maxSV.compare(v) === -1) {\n // compare(max, v, true)\n max = v\n maxSV = new SemVer(max, options)\n }\n }\n })\n return max\n}\nmodule.exports = maxSatisfying\n","const SemVer = require('../classes/semver')\nconst Range = require('../classes/range')\nconst minSatisfying = (versions, range, options) => {\n let min = null\n let minSV = null\n let rangeObj = null\n try {\n rangeObj = new Range(range, options)\n } catch (er) {\n return null\n }\n versions.forEach((v) => {\n if (rangeObj.test(v)) {\n // satisfies(v, range, options)\n if (!min || minSV.compare(v) === 1) {\n // compare(min, v, true)\n min = v\n minSV = new SemVer(min, options)\n }\n }\n })\n return min\n}\nmodule.exports = minSatisfying\n","const SemVer = require('../classes/semver')\nconst Range = require('../classes/range')\nconst gt = require('../functions/gt')\n\nconst minVersion = (range, loose) => {\n range = new Range(range, loose)\n\n let minver = new SemVer('0.0.0')\n if (range.test(minver)) {\n return minver\n }\n\n minver = new SemVer('0.0.0-0')\n if (range.test(minver)) {\n return minver\n }\n\n minver = null\n for (let i = 0; i < range.set.length; ++i) {\n const comparators = range.set[i]\n\n comparators.forEach((comparator) => {\n // Clone to avoid manipulating the comparator's semver object.\n const compver = new SemVer(comparator.semver.version)\n switch (comparator.operator) {\n case '>':\n if (compver.prerelease.length === 0) {\n compver.patch++\n } else {\n compver.prerelease.push(0)\n }\n compver.raw = compver.format()\n /* fallthrough */\n case '':\n case '>=':\n if (!minver || gt(minver, compver)) {\n minver = compver\n }\n break\n case '<':\n case '<=':\n /* Ignore maximum versions */\n break\n /* istanbul ignore next */\n default:\n throw new Error(`Unexpected operation: ${comparator.operator}`)\n }\n })\n }\n\n if (minver && range.test(minver)) {\n return minver\n }\n\n return null\n}\nmodule.exports = minVersion\n","const SemVer = require('../classes/semver')\nconst Comparator = require('../classes/comparator')\nconst {ANY} = Comparator\nconst Range = require('../classes/range')\nconst satisfies = require('../functions/satisfies')\nconst gt = require('../functions/gt')\nconst lt = require('../functions/lt')\nconst lte = require('../functions/lte')\nconst gte = require('../functions/gte')\n\nconst outside = (version, range, hilo, options) => {\n version = new SemVer(version, options)\n range = new Range(range, options)\n\n let gtfn, ltefn, ltfn, comp, ecomp\n switch (hilo) {\n case '>':\n gtfn = gt\n ltefn = lte\n ltfn = lt\n comp = '>'\n ecomp = '>='\n break\n case '<':\n gtfn = lt\n ltefn = gte\n ltfn = gt\n comp = '<'\n ecomp = '<='\n break\n default:\n throw new TypeError('Must provide a hilo val of \"<\" or \">\"')\n }\n\n // If it satisifes the range it is not outside\n if (satisfies(version, range, options)) {\n return false\n }\n\n // From now on, variable terms are as if we're in \"gtr\" mode.\n // but note that everything is flipped for the \"ltr\" function.\n\n for (let i = 0; i < range.set.length; ++i) {\n const comparators = range.set[i]\n\n let high = null\n let low = null\n\n comparators.forEach((comparator) => {\n if (comparator.semver === ANY) {\n comparator = new Comparator('>=0.0.0')\n }\n high = high || comparator\n low = low || comparator\n if (gtfn(comparator.semver, high.semver, options)) {\n high = comparator\n } else if (ltfn(comparator.semver, low.semver, options)) {\n low = comparator\n }\n })\n\n // If the edge version comparator has a operator then our version\n // isn't outside it\n if (high.operator === comp || high.operator === ecomp) {\n return false\n }\n\n // If the lowest version comparator has an operator and our version\n // is less than it then it isn't higher than the range\n if ((!low.operator || low.operator === comp) &&\n ltefn(version, low.semver)) {\n return false\n } else if (low.operator === ecomp && ltfn(version, low.semver)) {\n return false\n }\n }\n return true\n}\n\nmodule.exports = outside\n","// given a set of versions and a range, create a \"simplified\" range\n// that includes the same versions that the original range does\n// If the original range is shorter than the simplified one, return that.\nconst satisfies = require('../functions/satisfies.js')\nconst compare = require('../functions/compare.js')\nmodule.exports = (versions, range, options) => {\n const set = []\n let min = null\n let prev = null\n const v = versions.sort((a, b) => compare(a, b, options))\n for (const version of v) {\n const included = satisfies(version, range, options)\n if (included) {\n prev = version\n if (!min)\n min = version\n } else {\n if (prev) {\n set.push([min, prev])\n }\n prev = null\n min = null\n }\n }\n if (min)\n set.push([min, null])\n\n const ranges = []\n for (const [min, max] of set) {\n if (min === max)\n ranges.push(min)\n else if (!max && min === v[0])\n ranges.push('*')\n else if (!max)\n ranges.push(`>=${min}`)\n else if (min === v[0])\n ranges.push(`<=${max}`)\n else\n ranges.push(`${min} - ${max}`)\n }\n const simplified = ranges.join(' || ')\n const original = typeof range.raw === 'string' ? range.raw : String(range)\n return simplified.length < original.length ? simplified : range\n}\n","const Range = require('../classes/range.js')\nconst { ANY } = require('../classes/comparator.js')\nconst satisfies = require('../functions/satisfies.js')\nconst compare = require('../functions/compare.js')\n\n// Complex range `r1 || r2 || ...` is a subset of `R1 || R2 || ...` iff:\n// - Every simple range `r1, r2, ...` is a subset of some `R1, R2, ...`\n//\n// Simple range `c1 c2 ...` is a subset of simple range `C1 C2 ...` iff:\n// - If c is only the ANY comparator\n// - If C is only the ANY comparator, return true\n// - Else return false\n// - Let EQ be the set of = comparators in c\n// - If EQ is more than one, return true (null set)\n// - Let GT be the highest > or >= comparator in c\n// - Let LT be the lowest < or <= comparator in c\n// - If GT and LT, and GT.semver > LT.semver, return true (null set)\n// - If EQ\n// - If GT, and EQ does not satisfy GT, return true (null set)\n// - If LT, and EQ does not satisfy LT, return true (null set)\n// - If EQ satisfies every C, return true\n// - Else return false\n// - If GT\n// - If GT is lower than any > or >= comp in C, return false\n// - If GT is >=, and GT.semver does not satisfy every C, return false\n// - If LT\n// - If LT.semver is greater than that of any > comp in C, return false\n// - If LT is <=, and LT.semver does not satisfy every C, return false\n// - If any C is a = range, and GT or LT are set, return false\n// - Else return true\n\nconst subset = (sub, dom, options) => {\n sub = new Range(sub, options)\n dom = new Range(dom, options)\n let sawNonNull = false\n\n OUTER: for (const simpleSub of sub.set) {\n for (const simpleDom of dom.set) {\n const isSub = simpleSubset(simpleSub, simpleDom, options)\n sawNonNull = sawNonNull || isSub !== null\n if (isSub)\n continue OUTER\n }\n // the null set is a subset of everything, but null simple ranges in\n // a complex range should be ignored. so if we saw a non-null range,\n // then we know this isn't a subset, but if EVERY simple range was null,\n // then it is a subset.\n if (sawNonNull)\n return false\n }\n return true\n}\n\nconst simpleSubset = (sub, dom, options) => {\n if (sub.length === 1 && sub[0].semver === ANY)\n return dom.length === 1 && dom[0].semver === ANY\n\n const eqSet = new Set()\n let gt, lt\n for (const c of sub) {\n if (c.operator === '>' || c.operator === '>=')\n gt = higherGT(gt, c, options)\n else if (c.operator === '<' || c.operator === '<=')\n lt = lowerLT(lt, c, options)\n else\n eqSet.add(c.semver)\n }\n\n if (eqSet.size > 1)\n return null\n\n let gtltComp\n if (gt && lt) {\n gtltComp = compare(gt.semver, lt.semver, options)\n if (gtltComp > 0)\n return null\n else if (gtltComp === 0 && (gt.operator !== '>=' || lt.operator !== '<='))\n return null\n }\n\n // will iterate one or zero times\n for (const eq of eqSet) {\n if (gt && !satisfies(eq, String(gt), options))\n return null\n\n if (lt && !satisfies(eq, String(lt), options))\n return null\n\n for (const c of dom) {\n if (!satisfies(eq, String(c), options))\n return false\n }\n return true\n }\n\n let higher, lower\n let hasDomLT, hasDomGT\n for (const c of dom) {\n hasDomGT = hasDomGT || c.operator === '>' || c.operator === '>='\n hasDomLT = hasDomLT || c.operator === '<' || c.operator === '<='\n if (gt) {\n if (c.operator === '>' || c.operator === '>=') {\n higher = higherGT(gt, c, options)\n if (higher === c)\n return false\n } else if (gt.operator === '>=' && !satisfies(gt.semver, String(c), options))\n return false\n }\n if (lt) {\n if (c.operator === '<' || c.operator === '<=') {\n lower = lowerLT(lt, c, options)\n if (lower === c)\n return false\n } else if (lt.operator === '<=' && !satisfies(lt.semver, String(c), options))\n return false\n }\n if (!c.operator && (lt || gt) && gtltComp !== 0)\n return false\n }\n\n // if there was a < or >, and nothing in the dom, then must be false\n // UNLESS it was limited by another range in the other direction.\n // Eg, >1.0.0 <1.0.1 is still a subset of <2.0.0\n if (gt && hasDomLT && !lt && gtltComp !== 0)\n return false\n\n if (lt && hasDomGT && !gt && gtltComp !== 0)\n return false\n\n return true\n}\n\n// >=1.2.3 is lower than >1.2.3\nconst higherGT = (a, b, options) => {\n if (!a)\n return b\n const comp = compare(a.semver, b.semver, options)\n return comp > 0 ? a\n : comp < 0 ? b\n : b.operator === '>' && a.operator === '>=' ? b\n : a\n}\n\n// <=1.2.3 is higher than <1.2.3\nconst lowerLT = (a, b, options) => {\n if (!a)\n return b\n const comp = compare(a.semver, b.semver, options)\n return comp < 0 ? a\n : comp > 0 ? b\n : b.operator === '<' && a.operator === '<=' ? b\n : a\n}\n\nmodule.exports = subset\n","const Range = require('../classes/range')\n\n// Mostly just for testing and legacy API reasons\nconst toComparators = (range, options) =>\n new Range(range, options).set\n .map(comp => comp.map(c => c.value).join(' ').trim().split(' '))\n\nmodule.exports = toComparators\n","const Range = require('../classes/range')\nconst validRange = (range, options) => {\n try {\n // Return '*' instead of '' so that truthiness works.\n // This will throw if it's invalid anyway\n return new Range(range, options).range || '*'\n } catch (er) {\n return null\n }\n}\nmodule.exports = validRange\n","module.exports = __WEBPACK_EXTERNAL_MODULE__9688__;","/******************************************************************************\nCopyright (c) Microsoft Corporation.\n\nPermission to use, copy, modify, and/or distribute this software for any\npurpose with or without fee is hereby granted.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\nPERFORMANCE OF THIS SOFTWARE.\n***************************************************************************** */\n/* global Reflect, Promise, SuppressedError, Symbol */\n\nvar extendStatics = function(d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n};\n\nexport function __extends(d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n}\n\nexport var __assign = function() {\n __assign = Object.assign || function __assign(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n return t;\n }\n return __assign.apply(this, arguments);\n}\n\nexport function __rest(s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n}\n\nexport function __decorate(decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n}\n\nexport function __param(paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n}\n\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n var _, done = false;\n for (var i = decorators.length - 1; i >= 0; i--) {\n var context = {};\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\n if (kind === \"accessor\") {\n if (result === void 0) continue;\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n if (_ = accept(result.get)) descriptor.get = _;\n if (_ = accept(result.set)) descriptor.set = _;\n if (_ = accept(result.init)) initializers.unshift(_);\n }\n else if (_ = accept(result)) {\n if (kind === \"field\") initializers.unshift(_);\n else descriptor[key] = _;\n }\n }\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\n done = true;\n};\n\nexport function __runInitializers(thisArg, initializers, value) {\n var useValue = arguments.length > 2;\n for (var i = 0; i < initializers.length; i++) {\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n }\n return useValue ? value : void 0;\n};\n\nexport function __propKey(x) {\n return typeof x === \"symbol\" ? x : \"\".concat(x);\n};\n\nexport function __setFunctionName(f, name, prefix) {\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\n};\n\nexport function __metadata(metadataKey, metadataValue) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\n}\n\nexport function __awaiter(thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n}\n\nexport function __generator(thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n}\n\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n});\n\nexport function __exportStar(m, o) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\n}\n\nexport function __values(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n}\n\nexport function __read(o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n}\n\n/** @deprecated */\nexport function __spread() {\n for (var ar = [], i = 0; i < arguments.length; i++)\n ar = ar.concat(__read(arguments[i]));\n return ar;\n}\n\n/** @deprecated */\nexport function __spreadArrays() {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n}\n\nexport function __spreadArray(to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n}\n\nexport function __await(v) {\n return this instanceof __await ? (this.v = v, this) : new __await(v);\n}\n\nexport function __asyncGenerator(thisArg, _arguments, generator) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\n function fulfill(value) { resume(\"next\", value); }\n function reject(value) { resume(\"throw\", value); }\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\n}\n\nexport function __asyncDelegator(o) {\n var i, p;\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\n}\n\nexport function __asyncValues(o) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var m = o[Symbol.asyncIterator], i;\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\n}\n\nexport function __makeTemplateObject(cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n\nvar __setModuleDefault = Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n};\n\nexport function __importStar(mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n}\n\nexport function __importDefault(mod) {\n return (mod && mod.__esModule) ? mod : { default: mod };\n}\n\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n}\n\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n}\n\nexport function __classPrivateFieldIn(state, receiver) {\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\n}\n\nexport function __addDisposableResource(env, value, async) {\n if (value !== null && value !== void 0) {\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\n var dispose;\n if (async) {\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\n dispose = value[Symbol.asyncDispose];\n }\n if (dispose === void 0) {\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\n dispose = value[Symbol.dispose];\n }\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\n env.stack.push({ value: value, dispose: dispose, async: async });\n }\n else if (async) {\n env.stack.push({ async: true });\n }\n return value;\n}\n\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\n var e = new Error(message);\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\n};\n\nexport function __disposeResources(env) {\n function fail(e) {\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\n env.hasError = true;\n }\n function next() {\n while (env.stack.length) {\n var rec = env.stack.pop();\n try {\n var result = rec.dispose && rec.dispose.call(rec.value);\n if (rec.async) return Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\n }\n catch (e) {\n fail(e);\n }\n }\n if (env.hasError) throw env.error;\n }\n return next();\n}\n\nexport default {\n __extends,\n __assign,\n __rest,\n __decorate,\n __param,\n __metadata,\n __awaiter,\n __generator,\n __createBinding,\n __exportStar,\n __values,\n __read,\n __spread,\n __spreadArrays,\n __spreadArray,\n __await,\n __asyncGenerator,\n __asyncDelegator,\n __asyncValues,\n __makeTemplateObject,\n __importStar,\n __importDefault,\n __classPrivateFieldGet,\n __classPrivateFieldSet,\n __classPrivateFieldIn,\n __addDisposableResource,\n __disposeResources,\n};\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","/**\n * Returns the current locale of the application.\n * @returns string\n */\nexport function getLocale() {\n let language = window.i18next.language;\n language = language.replace('_', '-'); // just in case\n // Hack for `ht` until all browsers update their unicode support with ht to fr mapping.\n // See https://unicode-org.atlassian.net/browse/CLDR-14956\n if (language === 'ht') {\n language = 'fr-HT';\n }\n return language;\n}\n","/** @module @category Utility */\nimport dayjs from 'dayjs';\nimport { DurationFormat } from '@formatjs/intl-durationformat';\nimport { type DurationFormatOptions, type DurationInput } from '@formatjs/intl-durationformat/src/types';\nimport { getLocale } from './get-locale';\n/**\n * Gets a human readable and locale supported representation of a person's age, given their birthDate,\n * The representation logic follows the guideline here:\n * https://webarchive.nationalarchives.gov.uk/ukgwa/20160921162509mp_/http://systems.digital.nhs.uk/data/cui/uig/patben.pdf\n * (See Tables 7 and 8)\n *\n * @param birthDate The birthDate. If birthDate is null, returns null.\n * @param currentDate Optional. If provided, calculates the age of the person at the provided currentDate (instead of now).\n * @returns A human-readable string version of the age.\n */\nexport function age(birthDate: dayjs.ConfigType, currentDate: dayjs.ConfigType = dayjs()): string | null {\n if (birthDate == null) {\n return null;\n }\n\n const to = dayjs(currentDate);\n const from = dayjs(birthDate);\n\n const hourDiff = to.diff(from, 'hours');\n const dayDiff = to.diff(from, 'days');\n const weekDiff = to.diff(from, 'weeks');\n const monthDiff = to.diff(from, 'months');\n const yearDiff = to.diff(from, 'years');\n\n const duration: DurationInput = {};\n\n const locale = getLocale();\n\n const options: DurationFormatOptions = { style: 'short', localeMatcher: 'lookup' };\n\n if (hourDiff < 2) {\n const minuteDiff = to.diff(from, 'minutes');\n duration['minutes'] = minuteDiff;\n if (minuteDiff == 0) {\n options.minutesDisplay = 'always';\n }\n } else if (dayDiff < 2) {\n duration['hours'] = hourDiff;\n } else if (weekDiff < 4) {\n duration['days'] = dayDiff;\n } else if (yearDiff < 1) {\n const remainderDayDiff = to.subtract(weekDiff, 'weeks').diff(from, 'days');\n duration['weeks'] = weekDiff;\n duration['days'] = remainderDayDiff;\n } else if (yearDiff < 2) {\n const remainderDayDiff = to.subtract(monthDiff, 'months').diff(from, 'days');\n duration['months'] = monthDiff;\n duration['days'] = remainderDayDiff;\n } else if (yearDiff < 18) {\n const remainderMonthDiff = to.subtract(yearDiff, 'year').diff(from, 'months');\n duration['years'] = yearDiff;\n duration['months'] = remainderMonthDiff;\n } else {\n duration['years'] = yearDiff;\n }\n\n return new DurationFormat(locale, options).format(duration);\n}\n","import {epochFromDate as $11d87f3f76e88657$export$bd4fb2bc8bb06fb, fromAbsolute as $11d87f3f76e88657$export$1b96692a1ba042ac, toAbsolute as $11d87f3f76e88657$export$5107c82f94518f5c, toCalendar as $11d87f3f76e88657$export$b4a036af3fc0b032, toCalendarDateTime as $11d87f3f76e88657$export$b21e0b124e224484} from \"./conversion.mjs\";\nimport {GregorianCalendar as $3b62074eb05584b2$export$80ee6245ec4f29ec} from \"./GregorianCalendar.mjs\";\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((0, $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 = (0, $11d87f3f76e88657$export$5107c82f94518f5c)(res, dateTime.timeZone);\n } else // Otherwise, preserve the offset of the original date.\n ms = (0, $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 = (0, $11d87f3f76e88657$export$1b96692a1ba042ac)(ms, dateTime.timeZone);\n return (0, $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 = (0, $11d87f3f76e88657$export$b21e0b124e224484)(dateTime);\n let minDate = (0, $11d87f3f76e88657$export$b4a036af3fc0b032)($735220c2d4774dd3$export$e5d5e1c1822b6e56(plainDateTime, {\n hour: min\n }), new (0, $3b62074eb05584b2$export$80ee6245ec4f29ec)());\n let minAbsolute = [\n (0, $11d87f3f76e88657$export$5107c82f94518f5c)(minDate, dateTime.timeZone, 'earlier'),\n (0, $11d87f3f76e88657$export$5107c82f94518f5c)(minDate, dateTime.timeZone, 'later')\n ].filter((ms)=>(0, $11d87f3f76e88657$export$1b96692a1ba042ac)(ms, dateTime.timeZone).day === minDate.day)[0];\n let maxDate = (0, $11d87f3f76e88657$export$b4a036af3fc0b032)($735220c2d4774dd3$export$e5d5e1c1822b6e56(plainDateTime, {\n hour: max\n }), new (0, $3b62074eb05584b2$export$80ee6245ec4f29ec)());\n let maxAbsolute = [\n (0, $11d87f3f76e88657$export$5107c82f94518f5c)(maxDate, dateTime.timeZone, 'earlier'),\n (0, $11d87f3f76e88657$export$5107c82f94518f5c)(maxDate, dateTime.timeZone, 'later')\n ].filter((ms)=>(0, $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 = (0, $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 (0, $11d87f3f76e88657$export$b4a036af3fc0b032)((0, $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((0, $11d87f3f76e88657$export$b21e0b124e224484)(dateTime), field, amount, options);\n let ms = (0, $11d87f3f76e88657$export$5107c82f94518f5c)(res, dateTime.timeZone);\n return (0, $11d87f3f76e88657$export$b4a036af3fc0b032)((0, $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 = (0, $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 = (0, $11d87f3f76e88657$export$5107c82f94518f5c)(res, dateTime.timeZone, disambiguation);\n return (0, $11d87f3f76e88657$export$b4a036af3fc0b032)((0, $11d87f3f76e88657$export$1b96692a1ba042ac)(ms, dateTime.timeZone), dateTime.calendar);\n}\n\n\nexport {$735220c2d4774dd3$export$e16d8520af44a096 as add, $735220c2d4774dd3$export$c4e2ecac49351ef2 as constrain, $735220c2d4774dd3$export$3e2544e88a25bff8 as invertDuration, $735220c2d4774dd3$export$4e2d2ead65e5f7e3 as subtract, $735220c2d4774dd3$export$adaa4cf7ef1b65be as set, $735220c2d4774dd3$export$e5d5e1c1822b6e56 as setTime, $735220c2d4774dd3$export$7555de1e070510cb as constrainTime, $735220c2d4774dd3$export$7ed87b6bc2506470 as addTime, $735220c2d4774dd3$export$fe34d3a381cd7501 as subtractTime, $735220c2d4774dd3$export$d52ced6badfb9a4c as cycleDate, $735220c2d4774dd3$export$dd02b3e0007dfe28 as cycleTime, $735220c2d4774dd3$export$96b1d28349274637 as addZoned, $735220c2d4774dd3$export$6814caac34ca03c7 as subtractZoned, $735220c2d4774dd3$export$9a297d111fc86b79 as cycleZoned, $735220c2d4774dd3$export$31b5430eb18be4f8 as setZoned};\n//# sourceMappingURL=manipulation.module.js.map\n","import {fromAbsolute as $11d87f3f76e88657$export$1b96692a1ba042ac, toAbsolute as $11d87f3f76e88657$export$5107c82f94518f5c, toCalendar as $11d87f3f76e88657$export$b4a036af3fc0b032, toCalendarDate as $11d87f3f76e88657$export$93522d1a439f3617} from \"./conversion.mjs\";\nimport {weekStartData as $2fe286d2fb449abb$export$7a5acbd77d414bd9} from \"./weekStartData.mjs\";\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\nfunction $14e0f24ef4ac5c92$export$ea39ec197993aef0(a, b) {\n b = (0, $11d87f3f76e88657$export$b4a036af3fc0b032)(b, a.calendar);\n return a.era === b.era && a.year === b.year && a.month === b.month && a.day === b.day;\n}\nfunction $14e0f24ef4ac5c92$export$a18c89cbd24170ff(a, b) {\n b = (0, $11d87f3f76e88657$export$b4a036af3fc0b032)(b, a.calendar);\n // In the Japanese calendar, months can span multiple eras/years, so only compare the first of the month.\n a = $14e0f24ef4ac5c92$export$a5a3b454ada2268e(a);\n b = $14e0f24ef4ac5c92$export$a5a3b454ada2268e(b);\n return a.era === b.era && a.year === b.year && a.month === b.month;\n}\nfunction $14e0f24ef4ac5c92$export$5841f9eb9773f25f(a, b) {\n b = (0, $11d87f3f76e88657$export$b4a036af3fc0b032)(b, a.calendar);\n a = $14e0f24ef4ac5c92$export$f91e89d3d0406102(a);\n b = $14e0f24ef4ac5c92$export$f91e89d3d0406102(b);\n return a.era === b.era && a.year === b.year;\n}\nfunction $14e0f24ef4ac5c92$export$91b62ebf2ba703ee(a, b) {\n return a.calendar.identifier === b.calendar.identifier && a.era === b.era && a.year === b.year && a.month === b.month && a.day === b.day;\n}\nfunction $14e0f24ef4ac5c92$export$5a8da0c44a3afdf2(a, b) {\n a = $14e0f24ef4ac5c92$export$a5a3b454ada2268e(a);\n b = $14e0f24ef4ac5c92$export$a5a3b454ada2268e(b);\n return a.calendar.identifier === b.calendar.identifier && a.era === b.era && a.year === b.year && a.month === b.month;\n}\nfunction $14e0f24ef4ac5c92$export$ea840f5a6dda8147(a, b) {\n a = $14e0f24ef4ac5c92$export$f91e89d3d0406102(a);\n b = $14e0f24ef4ac5c92$export$f91e89d3d0406102(b);\n return a.calendar.identifier === b.calendar.identifier && a.era === b.era && a.year === b.year;\n}\nfunction $14e0f24ef4ac5c92$export$629b0a497aa65267(date, timeZone) {\n return $14e0f24ef4ac5c92$export$ea39ec197993aef0(date, $14e0f24ef4ac5c92$export$d0bdf45af03a6ea3(timeZone));\n}\nconst $14e0f24ef4ac5c92$var$DAY_MAP = {\n sun: 0,\n mon: 1,\n tue: 2,\n wed: 3,\n thu: 4,\n fri: 5,\n sat: 6\n};\nfunction $14e0f24ef4ac5c92$export$2061056d06d7cdf7(date, locale, firstDayOfWeek) {\n let julian = date.calendar.toJulianDay(date);\n // If julian is negative, then julian % 7 will be negative, so we adjust\n // accordingly. Julian day 0 is Monday.\n let weekStart = firstDayOfWeek ? $14e0f24ef4ac5c92$var$DAY_MAP[firstDayOfWeek] : $14e0f24ef4ac5c92$var$getWeekStart(locale);\n let dayOfWeek = Math.ceil(julian + 1 - weekStart) % 7;\n if (dayOfWeek < 0) dayOfWeek += 7;\n return dayOfWeek;\n}\nfunction $14e0f24ef4ac5c92$export$461939dd4422153(timeZone) {\n return (0, $11d87f3f76e88657$export$1b96692a1ba042ac)(Date.now(), timeZone);\n}\nfunction $14e0f24ef4ac5c92$export$d0bdf45af03a6ea3(timeZone) {\n return (0, $11d87f3f76e88657$export$93522d1a439f3617)($14e0f24ef4ac5c92$export$461939dd4422153(timeZone));\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}\nfunction $14e0f24ef4ac5c92$export$126c91c941de7e(a, timeZone) {\n let ms = (0, $11d87f3f76e88657$export$5107c82f94518f5c)(a, timeZone);\n let tomorrow = a.add({\n days: 1\n });\n let tomorrowMs = (0, $11d87f3f76e88657$export$5107c82f94518f5c)(tomorrow, timeZone);\n return (tomorrowMs - ms) / 3600000;\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}\nfunction $14e0f24ef4ac5c92$export$a5a3b454ada2268e(date) {\n // Use `subtract` instead of `set` so we don't get constrained in an era.\n return date.subtract({\n days: date.day - 1\n });\n}\nfunction $14e0f24ef4ac5c92$export$a2258d9c4118825c(date) {\n return date.add({\n days: date.calendar.getDaysInMonth(date) - date.day\n });\n}\nfunction $14e0f24ef4ac5c92$export$f91e89d3d0406102(date) {\n return $14e0f24ef4ac5c92$export$a5a3b454ada2268e(date.subtract({\n months: date.month - 1\n }));\n}\nfunction $14e0f24ef4ac5c92$export$8b7aa55c66d5569e(date) {\n return $14e0f24ef4ac5c92$export$a2258d9c4118825c(date.add({\n months: date.calendar.getMonthsInYear(date) - date.month\n }));\n}\nfunction $14e0f24ef4ac5c92$export$5412ac11713b72ad(date) {\n if (date.calendar.getMinimumMonthInYear) return date.calendar.getMinimumMonthInYear(date);\n return 1;\n}\nfunction $14e0f24ef4ac5c92$export$b2f4953d301981d5(date) {\n if (date.calendar.getMinimumDayInMonth) return date.calendar.getMinimumDayInMonth(date);\n return 1;\n}\nfunction $14e0f24ef4ac5c92$export$42c81a444fbfb5d4(date, locale, firstDayOfWeek) {\n let dayOfWeek = $14e0f24ef4ac5c92$export$2061056d06d7cdf7(date, locale, firstDayOfWeek);\n return date.subtract({\n days: dayOfWeek\n });\n}\nfunction $14e0f24ef4ac5c92$export$ef8b6d9133084f4e(date, locale, firstDayOfWeek) {\n return $14e0f24ef4ac5c92$export$42c81a444fbfb5d4(date, locale, firstDayOfWeek).add({\n days: 6\n });\n}\nconst $14e0f24ef4ac5c92$var$cachedRegions = new Map();\nfunction $14e0f24ef4ac5c92$var$getRegion(locale) {\n // If the Intl.Locale API is available, use it to get the region for the locale.\n // @ts-ignore\n if (Intl.Locale) {\n // Constructing an Intl.Locale is expensive, so cache the result.\n let region = $14e0f24ef4ac5c92$var$cachedRegions.get(locale);\n if (!region) {\n // @ts-ignore\n region = new Intl.Locale(locale).maximize().region;\n if (region) $14e0f24ef4ac5c92$var$cachedRegions.set(locale, region);\n }\n return region;\n }\n // If not, just try splitting the string.\n // If the second part of the locale string is 'u',\n // then this is a unicode extension, so ignore it.\n // Otherwise, it should be the region.\n let part = locale.split('-')[1];\n return part === 'u' ? undefined : part;\n}\nfunction $14e0f24ef4ac5c92$var$getWeekStart(locale) {\n // TODO: use Intl.Locale for this once browsers support the weekInfo property\n // https://github.com/tc39/proposal-intl-locale-info\n let region = $14e0f24ef4ac5c92$var$getRegion(locale);\n return region ? (0, $2fe286d2fb449abb$export$7a5acbd77d414bd9)[region] || 0 : 0;\n}\nfunction $14e0f24ef4ac5c92$export$ccc1b2479e7dd654(date, locale, firstDayOfWeek) {\n let days = date.calendar.getDaysInMonth(date);\n return Math.ceil(($14e0f24ef4ac5c92$export$2061056d06d7cdf7($14e0f24ef4ac5c92$export$a5a3b454ada2268e(date), locale, firstDayOfWeek) + days) / 7);\n}\nfunction $14e0f24ef4ac5c92$export$5c333a116e949cdd(a, b) {\n if (a && b) return a.compare(b) <= 0 ? a : b;\n return a || b;\n}\nfunction $14e0f24ef4ac5c92$export$a75f2bff57811055(a, b) {\n if (a && b) return a.compare(b) >= 0 ? a : b;\n return a || b;\n}\nconst $14e0f24ef4ac5c92$var$WEEKEND_DATA = {\n AF: [\n 4,\n 5\n ],\n AE: [\n 5,\n 6\n ],\n BH: [\n 5,\n 6\n ],\n DZ: [\n 5,\n 6\n ],\n EG: [\n 5,\n 6\n ],\n IL: [\n 5,\n 6\n ],\n IQ: [\n 5,\n 6\n ],\n IR: [\n 5,\n 5\n ],\n JO: [\n 5,\n 6\n ],\n KW: [\n 5,\n 6\n ],\n LY: [\n 5,\n 6\n ],\n OM: [\n 5,\n 6\n ],\n QA: [\n 5,\n 6\n ],\n SA: [\n 5,\n 6\n ],\n SD: [\n 5,\n 6\n ],\n SY: [\n 5,\n 6\n ],\n YE: [\n 5,\n 6\n ]\n};\nfunction $14e0f24ef4ac5c92$export$618d60ea299da42(date, locale) {\n let julian = date.calendar.toJulianDay(date);\n // If julian is negative, then julian % 7 will be negative, so we adjust\n // accordingly. Julian day 0 is Monday.\n let dayOfWeek = Math.ceil(julian + 1) % 7;\n if (dayOfWeek < 0) dayOfWeek += 7;\n let region = $14e0f24ef4ac5c92$var$getRegion(locale);\n // Use Intl.Locale for this once weekInfo is supported.\n // https://github.com/tc39/proposal-intl-locale-info\n let [start, end] = $14e0f24ef4ac5c92$var$WEEKEND_DATA[region] || [\n 6,\n 0\n ];\n return dayOfWeek === start || dayOfWeek === end;\n}\nfunction $14e0f24ef4ac5c92$export$ee9d87258e1d19ed(date, locale) {\n return !$14e0f24ef4ac5c92$export$618d60ea299da42(date, locale);\n}\n\n\nexport {$14e0f24ef4ac5c92$export$ea39ec197993aef0 as isSameDay, $14e0f24ef4ac5c92$export$a18c89cbd24170ff as isSameMonth, $14e0f24ef4ac5c92$export$a5a3b454ada2268e as startOfMonth, $14e0f24ef4ac5c92$export$5841f9eb9773f25f as isSameYear, $14e0f24ef4ac5c92$export$f91e89d3d0406102 as startOfYear, $14e0f24ef4ac5c92$export$91b62ebf2ba703ee as isEqualDay, $14e0f24ef4ac5c92$export$5a8da0c44a3afdf2 as isEqualMonth, $14e0f24ef4ac5c92$export$ea840f5a6dda8147 as isEqualYear, $14e0f24ef4ac5c92$export$629b0a497aa65267 as isToday, $14e0f24ef4ac5c92$export$d0bdf45af03a6ea3 as today, $14e0f24ef4ac5c92$export$2061056d06d7cdf7 as getDayOfWeek, $14e0f24ef4ac5c92$export$461939dd4422153 as now, $14e0f24ef4ac5c92$export$68781ddf31c0090f as compareDate, $14e0f24ef4ac5c92$export$c19a80a9721b80f6 as compareTime, $14e0f24ef4ac5c92$export$126c91c941de7e as getHoursInDay, $14e0f24ef4ac5c92$export$aa8b41735afcabd2 as getLocalTimeZone, $14e0f24ef4ac5c92$export$a2258d9c4118825c as endOfMonth, $14e0f24ef4ac5c92$export$8b7aa55c66d5569e as endOfYear, $14e0f24ef4ac5c92$export$5412ac11713b72ad as getMinimumMonthInYear, $14e0f24ef4ac5c92$export$b2f4953d301981d5 as getMinimumDayInMonth, $14e0f24ef4ac5c92$export$42c81a444fbfb5d4 as startOfWeek, $14e0f24ef4ac5c92$export$ef8b6d9133084f4e as endOfWeek, $14e0f24ef4ac5c92$export$ccc1b2479e7dd654 as getWeeksInMonth, $14e0f24ef4ac5c92$export$5c333a116e949cdd as minDate, $14e0f24ef4ac5c92$export$a75f2bff57811055 as maxDate, $14e0f24ef4ac5c92$export$618d60ea299da42 as isWeekend, $14e0f24ef4ac5c92$export$ee9d87258e1d19ed as isWeekday};\n//# sourceMappingURL=queries.module.js.map\n","import {CalendarDate as $35ea8db9cb2ccb90$export$99faa760c7908e4f, CalendarDateTime as $35ea8db9cb2ccb90$export$ca871e8dbb80966f} from \"./CalendarDate.mjs\";\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}\nfunction $2b4dce13dd5a17fa$export$784d13d8ee351f07(date) {\n if (date.era) return new (0, $35ea8db9cb2ccb90$export$99faa760c7908e4f)(date.calendar, date.era, date.year, date.month, date.day);\n else return new (0, $35ea8db9cb2ccb90$export$99faa760c7908e4f)(date.calendar, date.year, date.month, date.day);\n}\nfunction $2b4dce13dd5a17fa$export$27fa0172ae2644b3(date) {\n if (date.era) return new (0, $35ea8db9cb2ccb90$export$ca871e8dbb80966f)(date.calendar, date.era, date.year, date.month, date.day, date.hour, date.minute, date.second, date.millisecond);\n else return new (0, $35ea8db9cb2ccb90$export$ca871e8dbb80966f)(date.calendar, date.year, date.month, date.day, date.hour, date.minute, date.second);\n}\n\n\nexport {$2b4dce13dd5a17fa$export$842a2cf37af977e1 as mod, $2b4dce13dd5a17fa$export$784d13d8ee351f07 as copy, $2b4dce13dd5a17fa$export$27fa0172ae2644b3 as copyDateTime};\n//# sourceMappingURL=utils.module.js.map\n","import {CalendarDate as $35ea8db9cb2ccb90$export$99faa760c7908e4f} from \"./CalendarDate.mjs\";\nimport {mod as $2b4dce13dd5a17fa$export$842a2cf37af977e1} from \"./utils.mjs\";\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 = (0, $2b4dce13dd5a17fa$export$842a2cf37af977e1)(depoch, 146097);\n let cent = Math.floor(dqc / 36524);\n let dcent = (0, $2b4dce13dd5a17fa$export$842a2cf37af977e1)(dqc, 36524);\n let quad = Math.floor(dcent / 1461);\n let dquad = (0, $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 (0, $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\n\nexport {$3b62074eb05584b2$export$f297eb839006d339 as gregorianToJulianDay, $3b62074eb05584b2$export$c36e0ecb2d4fa69d as getExtendedYear, $3b62074eb05584b2$export$553d7fa8e3805fc0 as isLeapYear, $3b62074eb05584b2$export$4475b7e617eb123c as fromExtendedYear, $3b62074eb05584b2$export$80ee6245ec4f29ec as GregorianCalendar};\n//# sourceMappingURL=GregorianCalendar.module.js.map\n","import {CalendarDate as $35ea8db9cb2ccb90$export$99faa760c7908e4f, CalendarDateTime as $35ea8db9cb2ccb90$export$ca871e8dbb80966f, Time as $35ea8db9cb2ccb90$export$680ea196effce5f, ZonedDateTime as $35ea8db9cb2ccb90$export$d3b7288e7994edea} from \"./CalendarDate.mjs\";\nimport {epochFromDate as $11d87f3f76e88657$export$bd4fb2bc8bb06fb, fromAbsolute as $11d87f3f76e88657$export$1b96692a1ba042ac, possibleAbsolutes as $11d87f3f76e88657$export$136f38efe7caf549, toAbsolute as $11d87f3f76e88657$export$5107c82f94518f5c, toCalendar as $11d87f3f76e88657$export$b4a036af3fc0b032, toCalendarDateTime as $11d87f3f76e88657$export$b21e0b124e224484, toTimeZone as $11d87f3f76e88657$export$538b00033cc11c75} from \"./conversion.mjs\";\nimport {getLocalTimeZone as $14e0f24ef4ac5c92$export$aa8b41735afcabd2} from \"./queries.mjs\";\nimport {GregorianCalendar as $3b62074eb05584b2$export$80ee6245ec4f29ec} from \"./GregorianCalendar.mjs\";\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\nconst $fae977aafc393c5c$var$TIME_RE = /^(\\d{2})(?::(\\d{2}))?(?::(\\d{2}))?(\\.\\d+)?$/;\nconst $fae977aafc393c5c$var$DATE_RE = /^([+-]\\d{6}|\\d{4})-(\\d{2})-(\\d{2})$/;\nconst $fae977aafc393c5c$var$DATE_TIME_RE = /^([+-]\\d{6}|\\d{4})-(\\d{2})-(\\d{2})(?:T(\\d{2}))?(?::(\\d{2}))?(?::(\\d{2}))?(\\.\\d+)?$/;\nconst $fae977aafc393c5c$var$ZONED_DATE_TIME_RE = /^([+-]\\d{6}|\\d{4})-(\\d{2})-(\\d{2})(?:T(\\d{2}))?(?::(\\d{2}))?(?::(\\d{2}))?(\\.\\d+)?(?:([+-]\\d{2})(?::?(\\d{2}))?)?\\[(.*?)\\]$/;\nconst $fae977aafc393c5c$var$ABSOLUTE_RE = /^([+-]\\d{6}|\\d{4})-(\\d{2})-(\\d{2})(?:T(\\d{2}))?(?::(\\d{2}))?(?::(\\d{2}))?(\\.\\d+)?(?:(?:([+-]\\d{2})(?::?(\\d{2}))?)|Z)$/;\nconst $fae977aafc393c5c$var$DATE_TIME_DURATION_RE = /^((?<negative>-)|\\+)?P((?<years>\\d*)Y)?((?<months>\\d*)M)?((?<weeks>\\d*)W)?((?<days>\\d*)D)?((?<time>T)((?<hours>\\d*[.,]?\\d{1,9})H)?((?<minutes>\\d*[.,]?\\d{1,9})M)?((?<seconds>\\d*[.,]?\\d{1,9})S)?)?$/;\nconst $fae977aafc393c5c$var$requiredDurationTimeGroups = [\n 'hours',\n 'minutes',\n 'seconds'\n];\nconst $fae977aafc393c5c$var$requiredDurationGroups = [\n 'years',\n 'months',\n 'weeks',\n 'days',\n ...$fae977aafc393c5c$var$requiredDurationTimeGroups\n];\nfunction $fae977aafc393c5c$export$c9698ec7f05a07e1(value) {\n let m = value.match($fae977aafc393c5c$var$TIME_RE);\n if (!m) throw new Error('Invalid ISO 8601 time string: ' + value);\n return new (0, $35ea8db9cb2ccb90$export$680ea196effce5f)($fae977aafc393c5c$var$parseNumber(m[1], 0, 23), m[2] ? $fae977aafc393c5c$var$parseNumber(m[2], 0, 59) : 0, m[3] ? $fae977aafc393c5c$var$parseNumber(m[3], 0, 59) : 0, m[4] ? $fae977aafc393c5c$var$parseNumber(m[4], 0, Infinity) * 1000 : 0);\n}\nfunction $fae977aafc393c5c$export$6b862160d295c8e(value) {\n let m = value.match($fae977aafc393c5c$var$DATE_RE);\n if (!m) throw new Error('Invalid ISO 8601 date string: ' + value);\n let date = new (0, $35ea8db9cb2ccb90$export$99faa760c7908e4f)($fae977aafc393c5c$var$parseNumber(m[1], 0, 9999), $fae977aafc393c5c$var$parseNumber(m[2], 1, 12), 1);\n date.day = $fae977aafc393c5c$var$parseNumber(m[3], 0, date.calendar.getDaysInMonth(date));\n return date;\n}\nfunction $fae977aafc393c5c$export$588937bcd60ade55(value) {\n let m = value.match($fae977aafc393c5c$var$DATE_TIME_RE);\n if (!m) throw new Error('Invalid ISO 8601 date time string: ' + value);\n let year = $fae977aafc393c5c$var$parseNumber(m[1], -9999, 9999);\n let era = year < 1 ? 'BC' : 'AD';\n let date = new (0, $35ea8db9cb2ccb90$export$ca871e8dbb80966f)(era, year < 1 ? -year + 1 : year, $fae977aafc393c5c$var$parseNumber(m[2], 1, 12), 1, m[4] ? $fae977aafc393c5c$var$parseNumber(m[4], 0, 23) : 0, m[5] ? $fae977aafc393c5c$var$parseNumber(m[5], 0, 59) : 0, m[6] ? $fae977aafc393c5c$var$parseNumber(m[6], 0, 59) : 0, m[7] ? $fae977aafc393c5c$var$parseNumber(m[7], 0, Infinity) * 1000 : 0);\n date.day = $fae977aafc393c5c$var$parseNumber(m[3], 0, date.calendar.getDaysInMonth(date));\n return date;\n}\nfunction $fae977aafc393c5c$export$fd7893f06e92a6a4(value, disambiguation) {\n let m = value.match($fae977aafc393c5c$var$ZONED_DATE_TIME_RE);\n if (!m) throw new Error('Invalid ISO 8601 date time string: ' + value);\n let year = $fae977aafc393c5c$var$parseNumber(m[1], -9999, 9999);\n let era = year < 1 ? 'BC' : 'AD';\n let date = new (0, $35ea8db9cb2ccb90$export$d3b7288e7994edea)(era, year < 1 ? -year + 1 : year, $fae977aafc393c5c$var$parseNumber(m[2], 1, 12), 1, m[10], 0, m[4] ? $fae977aafc393c5c$var$parseNumber(m[4], 0, 23) : 0, m[5] ? $fae977aafc393c5c$var$parseNumber(m[5], 0, 59) : 0, m[6] ? $fae977aafc393c5c$var$parseNumber(m[6], 0, 59) : 0, m[7] ? $fae977aafc393c5c$var$parseNumber(m[7], 0, Infinity) * 1000 : 0);\n date.day = $fae977aafc393c5c$var$parseNumber(m[3], 0, date.calendar.getDaysInMonth(date));\n let plainDateTime = (0, $11d87f3f76e88657$export$b21e0b124e224484)(date);\n let ms;\n if (m[8]) {\n var _m_;\n date.offset = $fae977aafc393c5c$var$parseNumber(m[8], -23, 23) * 3600000 + $fae977aafc393c5c$var$parseNumber((_m_ = m[9]) !== null && _m_ !== void 0 ? _m_ : '0', 0, 59) * 60000;\n ms = (0, $11d87f3f76e88657$export$bd4fb2bc8bb06fb)(date) - date.offset;\n // Validate offset against parsed date.\n let absolutes = (0, $11d87f3f76e88657$export$136f38efe7caf549)(plainDateTime, date.timeZone);\n if (!absolutes.includes(ms)) throw new Error(`Offset ${$fae977aafc393c5c$var$offsetToString(date.offset)} is invalid for ${$fae977aafc393c5c$export$4223de14708adc63(date)} in ${date.timeZone}`);\n } else // Convert to absolute and back to fix invalid times due to DST.\n ms = (0, $11d87f3f76e88657$export$5107c82f94518f5c)((0, $11d87f3f76e88657$export$b21e0b124e224484)(plainDateTime), date.timeZone, disambiguation);\n return (0, $11d87f3f76e88657$export$1b96692a1ba042ac)(ms, date.timeZone);\n}\nfunction $fae977aafc393c5c$export$5adfdab05168c219(value, timeZone) {\n let m = value.match($fae977aafc393c5c$var$ABSOLUTE_RE);\n if (!m) throw new Error('Invalid ISO 8601 date time string: ' + value);\n let year = $fae977aafc393c5c$var$parseNumber(m[1], -9999, 9999);\n let era = year < 1 ? 'BC' : 'AD';\n let date = new (0, $35ea8db9cb2ccb90$export$d3b7288e7994edea)(era, year < 1 ? -year + 1 : year, $fae977aafc393c5c$var$parseNumber(m[2], 1, 12), 1, timeZone, 0, m[4] ? $fae977aafc393c5c$var$parseNumber(m[4], 0, 23) : 0, m[5] ? $fae977aafc393c5c$var$parseNumber(m[5], 0, 59) : 0, m[6] ? $fae977aafc393c5c$var$parseNumber(m[6], 0, 59) : 0, m[7] ? $fae977aafc393c5c$var$parseNumber(m[7], 0, Infinity) * 1000 : 0);\n date.day = $fae977aafc393c5c$var$parseNumber(m[3], 0, date.calendar.getDaysInMonth(date));\n var _m_;\n if (m[8]) date.offset = $fae977aafc393c5c$var$parseNumber(m[8], -23, 23) * 3600000 + $fae977aafc393c5c$var$parseNumber((_m_ = m[9]) !== null && _m_ !== void 0 ? _m_ : '0', 0, 59) * 60000;\n return (0, $11d87f3f76e88657$export$538b00033cc11c75)(date, timeZone);\n}\nfunction $fae977aafc393c5c$export$8e384432362ed0f0(value) {\n return $fae977aafc393c5c$export$5adfdab05168c219(value, (0, $14e0f24ef4ac5c92$export$aa8b41735afcabd2)());\n}\nfunction $fae977aafc393c5c$var$parseNumber(value, min, max) {\n let val = Number(value);\n if (val < min || val > max) throw new RangeError(`Value out of range: ${min} <= ${val} <= ${max}`);\n return val;\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 = (0, $11d87f3f76e88657$export$b4a036af3fc0b032)(date, new (0, $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}\nfunction $fae977aafc393c5c$export$ecae829bb3747ea6(value) {\n var _match_groups, _match_groups1, _match_groups2, _match_groups3, _match_groups4, _match_groups5, _match_groups6, _match_groups7, _match_groups8;\n const match = value.match($fae977aafc393c5c$var$DATE_TIME_DURATION_RE);\n if (!match) throw new Error(`Invalid ISO 8601 Duration string: ${value}`);\n const parseDurationGroup = (group, isNegative)=>{\n if (!group) return 0;\n try {\n const sign = isNegative ? -1 : 1;\n return sign * Number(group.replace(',', '.'));\n } catch {\n throw new Error(`Invalid ISO 8601 Duration string: ${value}`);\n }\n };\n const isNegative = !!((_match_groups = match.groups) === null || _match_groups === void 0 ? void 0 : _match_groups.negative);\n const hasRequiredGroups = $fae977aafc393c5c$var$requiredDurationGroups.some((group)=>{\n var _match_groups;\n return (_match_groups = match.groups) === null || _match_groups === void 0 ? void 0 : _match_groups[group];\n });\n if (!hasRequiredGroups) throw new Error(`Invalid ISO 8601 Duration string: ${value}`);\n const durationStringIncludesTime = (_match_groups1 = match.groups) === null || _match_groups1 === void 0 ? void 0 : _match_groups1.time;\n if (durationStringIncludesTime) {\n const hasRequiredDurationTimeGroups = $fae977aafc393c5c$var$requiredDurationTimeGroups.some((group)=>{\n var _match_groups;\n return (_match_groups = match.groups) === null || _match_groups === void 0 ? void 0 : _match_groups[group];\n });\n if (!hasRequiredDurationTimeGroups) throw new Error(`Invalid ISO 8601 Duration string: ${value}`);\n }\n const duration = {\n years: parseDurationGroup((_match_groups2 = match.groups) === null || _match_groups2 === void 0 ? void 0 : _match_groups2.years, isNegative),\n months: parseDurationGroup((_match_groups3 = match.groups) === null || _match_groups3 === void 0 ? void 0 : _match_groups3.months, isNegative),\n weeks: parseDurationGroup((_match_groups4 = match.groups) === null || _match_groups4 === void 0 ? void 0 : _match_groups4.weeks, isNegative),\n days: parseDurationGroup((_match_groups5 = match.groups) === null || _match_groups5 === void 0 ? void 0 : _match_groups5.days, isNegative),\n hours: parseDurationGroup((_match_groups6 = match.groups) === null || _match_groups6 === void 0 ? void 0 : _match_groups6.hours, isNegative),\n minutes: parseDurationGroup((_match_groups7 = match.groups) === null || _match_groups7 === void 0 ? void 0 : _match_groups7.minutes, isNegative),\n seconds: parseDurationGroup((_match_groups8 = match.groups) === null || _match_groups8 === void 0 ? void 0 : _match_groups8.seconds, isNegative)\n };\n if (duration.hours !== undefined && duration.hours % 1 !== 0 && (duration.minutes || duration.seconds)) throw new Error(`Invalid ISO 8601 Duration string: ${value} - only the smallest unit can be fractional`);\n if (duration.minutes !== undefined && duration.minutes % 1 !== 0 && duration.seconds) throw new Error(`Invalid ISO 8601 Duration string: ${value} - only the smallest unit can be fractional`);\n return duration;\n}\n\n\nexport {$fae977aafc393c5c$export$c9698ec7f05a07e1 as parseTime, $fae977aafc393c5c$export$6b862160d295c8e as parseDate, $fae977aafc393c5c$export$588937bcd60ade55 as parseDateTime, $fae977aafc393c5c$export$fd7893f06e92a6a4 as parseZonedDateTime, $fae977aafc393c5c$export$4223de14708adc63 as dateTimeToString, $fae977aafc393c5c$export$5adfdab05168c219 as parseAbsolute, $fae977aafc393c5c$export$8e384432362ed0f0 as parseAbsoluteToLocal, $fae977aafc393c5c$export$f59dee82248f5ad4 as timeToString, $fae977aafc393c5c$export$60dfd74aa96791bd as dateToString, $fae977aafc393c5c$export$bf79f1ebf4b18792 as zonedDateTimeToString, $fae977aafc393c5c$export$ecae829bb3747ea6 as parseDuration};\n//# sourceMappingURL=string.module.js.map\n","import { _check_private_redeclaration } from \"./_check_private_redeclaration.js\";\n\nexport function _class_private_field_init(obj, privateMap, value) {\n _check_private_redeclaration(obj, privateMap);\n privateMap.set(obj, value);\n}\nexport { _class_private_field_init as _ };\n","export function _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}\nexport { _check_private_redeclaration as _ };\n","import {add as $735220c2d4774dd3$export$e16d8520af44a096, addTime as $735220c2d4774dd3$export$7ed87b6bc2506470, addZoned as $735220c2d4774dd3$export$96b1d28349274637, constrain as $735220c2d4774dd3$export$c4e2ecac49351ef2, constrainTime as $735220c2d4774dd3$export$7555de1e070510cb, cycleDate as $735220c2d4774dd3$export$d52ced6badfb9a4c, cycleTime as $735220c2d4774dd3$export$dd02b3e0007dfe28, cycleZoned as $735220c2d4774dd3$export$9a297d111fc86b79, set as $735220c2d4774dd3$export$adaa4cf7ef1b65be, setTime as $735220c2d4774dd3$export$e5d5e1c1822b6e56, setZoned as $735220c2d4774dd3$export$31b5430eb18be4f8, subtract as $735220c2d4774dd3$export$4e2d2ead65e5f7e3, subtractTime as $735220c2d4774dd3$export$fe34d3a381cd7501, subtractZoned as $735220c2d4774dd3$export$6814caac34ca03c7} from \"./manipulation.mjs\";\nimport {compareDate as $14e0f24ef4ac5c92$export$68781ddf31c0090f, compareTime as $14e0f24ef4ac5c92$export$c19a80a9721b80f6} from \"./queries.mjs\";\nimport {dateTimeToString as $fae977aafc393c5c$export$4223de14708adc63, dateToString as $fae977aafc393c5c$export$60dfd74aa96791bd, timeToString as $fae977aafc393c5c$export$f59dee82248f5ad4, zonedDateTimeToString as $fae977aafc393c5c$export$bf79f1ebf4b18792} from \"./string.mjs\";\nimport {GregorianCalendar as $3b62074eb05584b2$export$80ee6245ec4f29ec} from \"./GregorianCalendar.mjs\";\nimport {toCalendarDateTime as $11d87f3f76e88657$export$b21e0b124e224484, toDate as $11d87f3f76e88657$export$e67a095c620b86fe, toZoned as $11d87f3f76e88657$export$84c95a83c799e074, zonedToDate as $11d87f3f76e88657$export$83aac07b4c37b25} from \"./conversion.mjs\";\nimport {_ as $aksy1$_} from \"@swc/helpers/_/_class_private_field_init\";\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 (0, $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 (0, $735220c2d4774dd3$export$e16d8520af44a096)(this, duration);\n }\n /** Returns a new `CalendarDate` with the given duration subtracted from it. */ subtract(duration) {\n return (0, $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 (0, $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 (0, $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 (0, $11d87f3f76e88657$export$e67a095c620b86fe)(this, timeZone);\n }\n /** Converts the date to an ISO 8601 formatted string. */ toString() {\n return (0, $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 (0, $14e0f24ef4ac5c92$export$68781ddf31c0090f)(this, b);\n }\n constructor(...args){\n (0, $aksy1$_)(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 (0, $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 (0, $735220c2d4774dd3$export$7ed87b6bc2506470)(this, duration);\n }\n /** Returns a new `Time` with the given duration subtracted from it. */ subtract(duration) {\n return (0, $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 (0, $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 (0, $735220c2d4774dd3$export$dd02b3e0007dfe28)(this, field, amount, options);\n }\n /** Converts the time to an ISO 8601 formatted string. */ toString() {\n return (0, $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 (0, $14e0f24ef4ac5c92$export$c19a80a9721b80f6)(this, b);\n }\n constructor(hour = 0, minute = 0, second = 0, millisecond = 0){\n (0, $aksy1$_)(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 (0, $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 (0, $735220c2d4774dd3$export$e16d8520af44a096)(this, duration);\n }\n /** Returns a new `CalendarDateTime` with the given duration subtracted from it. */ subtract(duration) {\n return (0, $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 (0, $735220c2d4774dd3$export$adaa4cf7ef1b65be)((0, $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 (0, $735220c2d4774dd3$export$d52ced6badfb9a4c)(this, field, amount, options);\n default:\n return (0, $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 (0, $11d87f3f76e88657$export$e67a095c620b86fe)(this, timeZone, disambiguation);\n }\n /** Converts the date to an ISO 8601 formatted string. */ toString() {\n return (0, $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 = (0, $14e0f24ef4ac5c92$export$68781ddf31c0090f)(this, b);\n if (res === 0) return (0, $14e0f24ef4ac5c92$export$c19a80a9721b80f6)(this, (0, $11d87f3f76e88657$export$b21e0b124e224484)(b));\n return res;\n }\n constructor(...args){\n (0, $aksy1$_)(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 (0, $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 (0, $735220c2d4774dd3$export$96b1d28349274637)(this, duration);\n }\n /** Returns a new `ZonedDateTime` with the given duration subtracted from it. */ subtract(duration) {\n return (0, $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 (0, $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 (0, $735220c2d4774dd3$export$9a297d111fc86b79)(this, field, amount, options);\n }\n /** Converts the date to a native JavaScript Date object. */ toDate() {\n return (0, $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 (0, $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() - (0, $11d87f3f76e88657$export$84c95a83c799e074)(b, this.timeZone).toDate().getTime();\n }\n constructor(...args){\n (0, $aksy1$_)(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 (0, $735220c2d4774dd3$export$c4e2ecac49351ef2)(this);\n }\n}\n\n\nexport {$35ea8db9cb2ccb90$export$99faa760c7908e4f as CalendarDate, $35ea8db9cb2ccb90$export$680ea196effce5f as Time, $35ea8db9cb2ccb90$export$ca871e8dbb80966f as CalendarDateTime, $35ea8db9cb2ccb90$export$d3b7288e7994edea as ZonedDateTime};\n//# sourceMappingURL=CalendarDate.module.js.map\n","import {CalendarDate as $35ea8db9cb2ccb90$export$99faa760c7908e4f, CalendarDateTime as $35ea8db9cb2ccb90$export$ca871e8dbb80966f, Time as $35ea8db9cb2ccb90$export$680ea196effce5f, ZonedDateTime as $35ea8db9cb2ccb90$export$d3b7288e7994edea} from \"./CalendarDate.mjs\";\nimport {constrain as $735220c2d4774dd3$export$c4e2ecac49351ef2} from \"./manipulation.mjs\";\nimport {getExtendedYear as $3b62074eb05584b2$export$c36e0ecb2d4fa69d, GregorianCalendar as $3b62074eb05584b2$export$80ee6245ec4f29ec} from \"./GregorianCalendar.mjs\";\nimport {getLocalTimeZone as $14e0f24ef4ac5c92$export$aa8b41735afcabd2} from \"./queries.mjs\";\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 (0, $3b62074eb05584b2$export$80ee6245ec4f29ec)());\n let year = (0, $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 === (0, $14e0f24ef4ac5c92$export$aa8b41735afcabd2)()) return new Date(ms).getTimezoneOffset() * -60000;\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$export$136f38efe7caf549(date, timeZone) {\n let ms = $11d87f3f76e88657$export$bd4fb2bc8bb06fb(date);\n let earlier = ms - $11d87f3f76e88657$export$59c99f3515d3493f(ms - $11d87f3f76e88657$var$DAYMILLIS, timeZone);\n let later = ms - $11d87f3f76e88657$export$59c99f3515d3493f(ms + $11d87f3f76e88657$var$DAYMILLIS, timeZone);\n return $11d87f3f76e88657$var$getValidWallTimes(date, timeZone, earlier, later);\n}\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 === (0, $14e0f24ef4ac5c92$export$aa8b41735afcabd2)() && disambiguation === 'compatible') {\n dateTime = $11d87f3f76e88657$export$b4a036af3fc0b032(dateTime, new (0, $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 = (0, $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 (0, $35ea8db9cb2ccb90$export$d3b7288e7994edea)(year < 1 ? 'BC' : 'AD', year < 1 ? -year + 1 : year, month, day, timeZone, offset, hour, minute, second, millisecond);\n}\nfunction $11d87f3f76e88657$export$e57ff100d91bd4b9(date, timeZone) {\n return $11d87f3f76e88657$export$1b96692a1ba042ac(date.getTime(), timeZone);\n}\nfunction $11d87f3f76e88657$export$d7f92bcd3596b086(date) {\n return $11d87f3f76e88657$export$e57ff100d91bd4b9(date, (0, $14e0f24ef4ac5c92$export$aa8b41735afcabd2)());\n}\nfunction $11d87f3f76e88657$export$93522d1a439f3617(dateTime) {\n return new (0, $35ea8db9cb2ccb90$export$99faa760c7908e4f)(dateTime.calendar, dateTime.era, dateTime.year, dateTime.month, dateTime.day);\n}\nfunction $11d87f3f76e88657$export$6f4d78149f3f53ac(date) {\n return {\n era: date.era,\n year: date.year,\n month: date.month,\n day: date.day\n };\n}\nfunction $11d87f3f76e88657$export$4d0393e732857be5(date) {\n return {\n hour: date.hour,\n minute: date.minute,\n second: date.second,\n millisecond: date.millisecond\n };\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 (0, $35ea8db9cb2ccb90$export$ca871e8dbb80966f)(date.calendar, date.era, date.year, date.month, date.day, hour, minute, second, millisecond);\n}\nfunction $11d87f3f76e88657$export$d33f79e3ffc3dc83(dateTime) {\n return new (0, $35ea8db9cb2ccb90$export$680ea196effce5f)(dateTime.hour, dateTime.minute, dateTime.second, dateTime.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 (0, $735220c2d4774dd3$export$c4e2ecac49351ef2)(copy);\n return copy;\n}\nfunction $11d87f3f76e88657$export$84c95a83c799e074(date, timeZone, disambiguation) {\n if (date instanceof (0, $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}\nfunction $11d87f3f76e88657$export$d9b67bc93c097491(date) {\n return $11d87f3f76e88657$export$538b00033cc11c75(date, (0, $14e0f24ef4ac5c92$export$aa8b41735afcabd2)());\n}\n\n\nexport {$11d87f3f76e88657$export$bd4fb2bc8bb06fb as epochFromDate, $11d87f3f76e88657$export$b4a036af3fc0b032 as toCalendar, $11d87f3f76e88657$export$59c99f3515d3493f as getTimeZoneOffset, $11d87f3f76e88657$export$136f38efe7caf549 as possibleAbsolutes, $11d87f3f76e88657$export$5107c82f94518f5c as toAbsolute, $11d87f3f76e88657$export$b21e0b124e224484 as toCalendarDateTime, $11d87f3f76e88657$export$e67a095c620b86fe as toDate, $11d87f3f76e88657$export$1b96692a1ba042ac as fromAbsolute, $11d87f3f76e88657$export$e57ff100d91bd4b9 as fromDate, $11d87f3f76e88657$export$d7f92bcd3596b086 as fromDateToLocal, $11d87f3f76e88657$export$93522d1a439f3617 as toCalendarDate, $11d87f3f76e88657$export$6f4d78149f3f53ac as toDateFields, $11d87f3f76e88657$export$4d0393e732857be5 as toTimeFields, $11d87f3f76e88657$export$d33f79e3ffc3dc83 as toTime, $11d87f3f76e88657$export$84c95a83c799e074 as toZoned, $11d87f3f76e88657$export$538b00033cc11c75 as toTimeZone, $11d87f3f76e88657$export$83aac07b4c37b25 as zonedToDate, $11d87f3f76e88657$export$d9b67bc93c097491 as toLocalTimeZone};\n//# sourceMappingURL=conversion.module.js.map\n","import {CalendarDate as $35ea8db9cb2ccb90$export$99faa760c7908e4f} from \"./CalendarDate.mjs\";\nimport {fromExtendedYear as $3b62074eb05584b2$export$4475b7e617eb123c, getExtendedYear as $3b62074eb05584b2$export$c36e0ecb2d4fa69d, GregorianCalendar as $3b62074eb05584b2$export$80ee6245ec4f29ec} from \"./GregorianCalendar.mjs\";\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 $8d73d47422ca7302$var$BUDDHIST_ERA_START = -543;\nclass $8d73d47422ca7302$export$42d20a78301dee44 extends (0, $3b62074eb05584b2$export$80ee6245ec4f29ec) {\n fromJulianDay(jd) {\n let gregorianDate = super.fromJulianDay(jd);\n let year = (0, $3b62074eb05584b2$export$c36e0ecb2d4fa69d)(gregorianDate.era, gregorianDate.year);\n return new (0, $35ea8db9cb2ccb90$export$99faa760c7908e4f)(this, year - $8d73d47422ca7302$var$BUDDHIST_ERA_START, gregorianDate.month, gregorianDate.day);\n }\n toJulianDay(date) {\n return super.toJulianDay($8d73d47422ca7302$var$toGregorian(date));\n }\n getEras() {\n return [\n 'BE'\n ];\n }\n getDaysInMonth(date) {\n return super.getDaysInMonth($8d73d47422ca7302$var$toGregorian(date));\n }\n balanceDate() {}\n constructor(...args){\n super(...args), this.identifier = 'buddhist';\n }\n}\nfunction $8d73d47422ca7302$var$toGregorian(date) {\n let [era, year] = (0, $3b62074eb05584b2$export$4475b7e617eb123c)(date.year + $8d73d47422ca7302$var$BUDDHIST_ERA_START);\n return new (0, $35ea8db9cb2ccb90$export$99faa760c7908e4f)(era, year, date.month, date.day);\n}\n\n\nexport {$8d73d47422ca7302$export$42d20a78301dee44 as BuddhistCalendar};\n//# sourceMappingURL=BuddhistCalendar.module.js.map\n","import {CalendarDate as $35ea8db9cb2ccb90$export$99faa760c7908e4f} from \"./CalendarDate.mjs\";\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\nconst $b956b2d7a6cf451f$var$ETHIOPIC_EPOCH = 1723856;\nconst $b956b2d7a6cf451f$var$COPTIC_EPOCH = 1824665;\n// The delta between Amete Alem 1 and Amete Mihret 1\n// AA 5501 = AM 1\nconst $b956b2d7a6cf451f$var$AMETE_MIHRET_DELTA = 5500;\nfunction $b956b2d7a6cf451f$var$ceToJulianDay(epoch, year, month, day) {\n return epoch // difference from Julian epoch to 1,1,1\n + 365 * year // number of days from years\n + Math.floor(year / 4) // extra day of leap year\n + 30 * (month - 1 // number of days from months (1 based)\n ) + day - 1 // number of days for present month (1 based)\n ;\n}\nfunction $b956b2d7a6cf451f$var$julianDayToCE(epoch, jd) {\n let year = Math.floor(4 * (jd - epoch) / 1461);\n let month = 1 + Math.floor((jd - $b956b2d7a6cf451f$var$ceToJulianDay(epoch, year, 1, 1)) / 30);\n let day = jd + 1 - $b956b2d7a6cf451f$var$ceToJulianDay(epoch, year, month, 1);\n return [\n year,\n month,\n day\n ];\n}\nfunction $b956b2d7a6cf451f$var$getLeapDay(year) {\n return Math.floor(year % 4 / 3);\n}\nfunction $b956b2d7a6cf451f$var$getDaysInMonth(year, month) {\n // The Ethiopian and Coptic calendars have 13 months, 12 of 30 days each and\n // an intercalary month at the end of the year of 5 or 6 days, depending whether\n // the year is a leap year or not. The Leap Year follows the same rules as the\n // Julian Calendar so that the extra month always has six days in the year before\n // a Julian Leap Year.\n if (month % 13 !== 0) // not intercalary month\n return 30;\n else // intercalary month 5 days + possible leap day\n return $b956b2d7a6cf451f$var$getLeapDay(year) + 5;\n}\nclass $b956b2d7a6cf451f$export$26ba6eab5e20cd7d {\n fromJulianDay(jd) {\n let [year, month, day] = $b956b2d7a6cf451f$var$julianDayToCE($b956b2d7a6cf451f$var$ETHIOPIC_EPOCH, jd);\n let era = 'AM';\n if (year <= 0) {\n era = 'AA';\n year += $b956b2d7a6cf451f$var$AMETE_MIHRET_DELTA;\n }\n return new (0, $35ea8db9cb2ccb90$export$99faa760c7908e4f)(this, era, year, month, day);\n }\n toJulianDay(date) {\n let year = date.year;\n if (date.era === 'AA') year -= $b956b2d7a6cf451f$var$AMETE_MIHRET_DELTA;\n return $b956b2d7a6cf451f$var$ceToJulianDay($b956b2d7a6cf451f$var$ETHIOPIC_EPOCH, year, date.month, date.day);\n }\n getDaysInMonth(date) {\n return $b956b2d7a6cf451f$var$getDaysInMonth(date.year, date.month);\n }\n getMonthsInYear() {\n return 13;\n }\n getDaysInYear(date) {\n return 365 + $b956b2d7a6cf451f$var$getLeapDay(date.year);\n }\n getYearsInEra(date) {\n // 9999-12-31 gregorian is 9992-20-02 ethiopic.\n // Round down to 9991 for the last full year.\n // AA 9999-01-01 ethiopic is 4506-09-30 gregorian.\n return date.era === 'AA' ? 9999 : 9991;\n }\n getEras() {\n return [\n 'AA',\n 'AM'\n ];\n }\n constructor(){\n this.identifier = 'ethiopic';\n }\n}\nclass $b956b2d7a6cf451f$export$d72e0c37005a4914 extends $b956b2d7a6cf451f$export$26ba6eab5e20cd7d {\n fromJulianDay(jd) {\n let [year, month, day] = $b956b2d7a6cf451f$var$julianDayToCE($b956b2d7a6cf451f$var$ETHIOPIC_EPOCH, jd);\n year += $b956b2d7a6cf451f$var$AMETE_MIHRET_DELTA;\n return new (0, $35ea8db9cb2ccb90$export$99faa760c7908e4f)(this, 'AA', year, month, day);\n }\n getEras() {\n return [\n 'AA'\n ];\n }\n getYearsInEra() {\n // 9999-13-04 ethioaa is the maximum date, which is equivalent to 4506-09-29 gregorian.\n return 9999;\n }\n constructor(...args){\n super(...args), this.identifier = 'ethioaa' // also known as 'ethiopic-amete-alem' in ICU\n ;\n }\n}\nclass $b956b2d7a6cf451f$export$fe6243cbe1a4b7c1 extends $b956b2d7a6cf451f$export$26ba6eab5e20cd7d {\n fromJulianDay(jd) {\n let [year, month, day] = $b956b2d7a6cf451f$var$julianDayToCE($b956b2d7a6cf451f$var$COPTIC_EPOCH, jd);\n let era = 'CE';\n if (year <= 0) {\n era = 'BCE';\n year = 1 - year;\n }\n return new (0, $35ea8db9cb2ccb90$export$99faa760c7908e4f)(this, era, year, month, day);\n }\n toJulianDay(date) {\n let year = date.year;\n if (date.era === 'BCE') year = 1 - year;\n return $b956b2d7a6cf451f$var$ceToJulianDay($b956b2d7a6cf451f$var$COPTIC_EPOCH, year, date.month, date.day);\n }\n getDaysInMonth(date) {\n let year = date.year;\n if (date.era === 'BCE') year = 1 - year;\n return $b956b2d7a6cf451f$var$getDaysInMonth(year, date.month);\n }\n isInverseEra(date) {\n return date.era === 'BCE';\n }\n balanceDate(date) {\n if (date.year <= 0) {\n date.era = date.era === 'BCE' ? 'CE' : 'BCE';\n date.year = 1 - date.year;\n }\n }\n getEras() {\n return [\n 'BCE',\n 'CE'\n ];\n }\n getYearsInEra(date) {\n // 9999-12-30 gregorian is 9716-02-20 coptic.\n // Round down to 9715 for the last full year.\n // BCE 9999-01-01 coptic is BC 9716-06-15 gregorian.\n return date.era === 'BCE' ? 9999 : 9715;\n }\n constructor(...args){\n super(...args), this.identifier = 'coptic';\n }\n}\n\n\nexport {$b956b2d7a6cf451f$export$26ba6eab5e20cd7d as EthiopicCalendar, $b956b2d7a6cf451f$export$d72e0c37005a4914 as EthiopicAmeteAlemCalendar, $b956b2d7a6cf451f$export$fe6243cbe1a4b7c1 as CopticCalendar};\n//# sourceMappingURL=EthiopicCalendar.module.js.map\n","import {CalendarDate as $35ea8db9cb2ccb90$export$99faa760c7908e4f} from \"./CalendarDate.mjs\";\nimport {mod as $2b4dce13dd5a17fa$export$842a2cf37af977e1} from \"./utils.mjs\";\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 $7c5f6fbf42389787$var$HEBREW_EPOCH = 347997;\n// Hebrew date calculations are performed in terms of days, hours, and\n// \"parts\" (or halakim), which are 1/1080 of an hour, or 3 1/3 seconds.\nconst $7c5f6fbf42389787$var$HOUR_PARTS = 1080;\nconst $7c5f6fbf42389787$var$DAY_PARTS = 24 * $7c5f6fbf42389787$var$HOUR_PARTS;\n// An approximate value for the length of a lunar month.\n// It is used to calculate the approximate year and month of a given\n// absolute date.\nconst $7c5f6fbf42389787$var$MONTH_DAYS = 29;\nconst $7c5f6fbf42389787$var$MONTH_FRACT = 12 * $7c5f6fbf42389787$var$HOUR_PARTS + 793;\nconst $7c5f6fbf42389787$var$MONTH_PARTS = $7c5f6fbf42389787$var$MONTH_DAYS * $7c5f6fbf42389787$var$DAY_PARTS + $7c5f6fbf42389787$var$MONTH_FRACT;\nfunction $7c5f6fbf42389787$var$isLeapYear(year) {\n return (0, $2b4dce13dd5a17fa$export$842a2cf37af977e1)(year * 7 + 1, 19) < 7;\n}\n// Test for delay of start of new year and to avoid\n// Sunday, Wednesday, and Friday as start of the new year.\nfunction $7c5f6fbf42389787$var$hebrewDelay1(year) {\n let months = Math.floor((235 * year - 234) / 19);\n let parts = 12084 + 13753 * months;\n let day = months * 29 + Math.floor(parts / 25920);\n if ((0, $2b4dce13dd5a17fa$export$842a2cf37af977e1)(3 * (day + 1), 7) < 3) day += 1;\n return day;\n}\n// Check for delay in start of new year due to length of adjacent years\nfunction $7c5f6fbf42389787$var$hebrewDelay2(year) {\n let last = $7c5f6fbf42389787$var$hebrewDelay1(year - 1);\n let present = $7c5f6fbf42389787$var$hebrewDelay1(year);\n let next = $7c5f6fbf42389787$var$hebrewDelay1(year + 1);\n if (next - present === 356) return 2;\n if (present - last === 382) return 1;\n return 0;\n}\nfunction $7c5f6fbf42389787$var$startOfYear(year) {\n return $7c5f6fbf42389787$var$hebrewDelay1(year) + $7c5f6fbf42389787$var$hebrewDelay2(year);\n}\nfunction $7c5f6fbf42389787$var$getDaysInYear(year) {\n return $7c5f6fbf42389787$var$startOfYear(year + 1) - $7c5f6fbf42389787$var$startOfYear(year);\n}\nfunction $7c5f6fbf42389787$var$getYearType(year) {\n let yearLength = $7c5f6fbf42389787$var$getDaysInYear(year);\n if (yearLength > 380) yearLength -= 30; // Subtract length of leap month.\n switch(yearLength){\n case 353:\n return 0; // deficient\n case 354:\n return 1; // normal\n case 355:\n return 2; // complete\n }\n}\nfunction $7c5f6fbf42389787$var$getDaysInMonth(year, month) {\n // Normalize month numbers from 1 - 13, even on non-leap years\n if (month >= 6 && !$7c5f6fbf42389787$var$isLeapYear(year)) month++;\n // First of all, dispose of fixed-length 29 day months\n if (month === 4 || month === 7 || month === 9 || month === 11 || month === 13) return 29;\n let yearType = $7c5f6fbf42389787$var$getYearType(year);\n // If it's Heshvan, days depend on length of year\n if (month === 2) return yearType === 2 ? 30 : 29;\n // Similarly, Kislev varies with the length of year\n if (month === 3) return yearType === 0 ? 29 : 30;\n // Adar I only exists in leap years\n if (month === 6) return $7c5f6fbf42389787$var$isLeapYear(year) ? 30 : 0;\n return 30;\n}\nclass $7c5f6fbf42389787$export$ca405048b8fb5af {\n fromJulianDay(jd) {\n let d = jd - $7c5f6fbf42389787$var$HEBREW_EPOCH;\n let m = d * $7c5f6fbf42389787$var$DAY_PARTS / $7c5f6fbf42389787$var$MONTH_PARTS; // Months (approx)\n let year = Math.floor((19 * m + 234) / 235) + 1; // Years (approx)\n let ys = $7c5f6fbf42389787$var$startOfYear(year); // 1st day of year\n let dayOfYear = Math.floor(d - ys);\n // Because of the postponement rules, it's possible to guess wrong. Fix it.\n while(dayOfYear < 1){\n year--;\n ys = $7c5f6fbf42389787$var$startOfYear(year);\n dayOfYear = Math.floor(d - ys);\n }\n // Now figure out which month we're in, and the date within that month\n let month = 1;\n let monthStart = 0;\n while(monthStart < dayOfYear){\n monthStart += $7c5f6fbf42389787$var$getDaysInMonth(year, month);\n month++;\n }\n month--;\n monthStart -= $7c5f6fbf42389787$var$getDaysInMonth(year, month);\n let day = dayOfYear - monthStart;\n return new (0, $35ea8db9cb2ccb90$export$99faa760c7908e4f)(this, year, month, day);\n }\n toJulianDay(date) {\n let jd = $7c5f6fbf42389787$var$startOfYear(date.year);\n for(let month = 1; month < date.month; month++)jd += $7c5f6fbf42389787$var$getDaysInMonth(date.year, month);\n return jd + date.day + $7c5f6fbf42389787$var$HEBREW_EPOCH;\n }\n getDaysInMonth(date) {\n return $7c5f6fbf42389787$var$getDaysInMonth(date.year, date.month);\n }\n getMonthsInYear(date) {\n return $7c5f6fbf42389787$var$isLeapYear(date.year) ? 13 : 12;\n }\n getDaysInYear(date) {\n return $7c5f6fbf42389787$var$getDaysInYear(date.year);\n }\n getYearsInEra() {\n // 6239 gregorian\n return 9999;\n }\n getEras() {\n return [\n 'AM'\n ];\n }\n balanceYearMonth(date, previousDate) {\n // Keep date in the same month when switching between leap years and non leap years\n if (previousDate.year !== date.year) {\n if ($7c5f6fbf42389787$var$isLeapYear(previousDate.year) && !$7c5f6fbf42389787$var$isLeapYear(date.year) && previousDate.month > 6) date.month--;\n else if (!$7c5f6fbf42389787$var$isLeapYear(previousDate.year) && $7c5f6fbf42389787$var$isLeapYear(date.year) && previousDate.month > 6) date.month++;\n }\n }\n constructor(){\n this.identifier = 'hebrew';\n }\n}\n\n\nexport {$7c5f6fbf42389787$export$ca405048b8fb5af as HebrewCalendar};\n//# sourceMappingURL=HebrewCalendar.module.js.map\n","import {CalendarDate as $35ea8db9cb2ccb90$export$99faa760c7908e4f} from \"./CalendarDate.mjs\";\nimport {fromExtendedYear as $3b62074eb05584b2$export$4475b7e617eb123c, GregorianCalendar as $3b62074eb05584b2$export$80ee6245ec4f29ec, gregorianToJulianDay as $3b62074eb05584b2$export$f297eb839006d339, isLeapYear as $3b62074eb05584b2$export$553d7fa8e3805fc0} from \"./GregorianCalendar.mjs\";\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\n// Starts in 78 AD,\nconst $82c358003bdda0a8$var$INDIAN_ERA_START = 78;\n// The Indian year starts 80 days later than the Gregorian year.\nconst $82c358003bdda0a8$var$INDIAN_YEAR_START = 80;\nclass $82c358003bdda0a8$export$39f31c639fa15726 extends (0, $3b62074eb05584b2$export$80ee6245ec4f29ec) {\n fromJulianDay(jd) {\n // Gregorian date for Julian day\n let date = super.fromJulianDay(jd);\n // Year in Saka era\n let indianYear = date.year - $82c358003bdda0a8$var$INDIAN_ERA_START;\n // Day number in Gregorian year (starting from 0)\n let yDay = jd - (0, $3b62074eb05584b2$export$f297eb839006d339)(date.era, date.year, 1, 1);\n let leapMonth;\n if (yDay < $82c358003bdda0a8$var$INDIAN_YEAR_START) {\n // Day is at the end of the preceding Saka year\n indianYear--;\n // Days in leapMonth this year, previous Gregorian year\n leapMonth = (0, $3b62074eb05584b2$export$553d7fa8e3805fc0)(date.year - 1) ? 31 : 30;\n yDay += leapMonth + 155 + 90 + 10;\n } else {\n // Days in leapMonth this year\n leapMonth = (0, $3b62074eb05584b2$export$553d7fa8e3805fc0)(date.year) ? 31 : 30;\n yDay -= $82c358003bdda0a8$var$INDIAN_YEAR_START;\n }\n let indianMonth;\n let indianDay;\n if (yDay < leapMonth) {\n indianMonth = 1;\n indianDay = yDay + 1;\n } else {\n let mDay = yDay - leapMonth;\n if (mDay < 155) {\n indianMonth = Math.floor(mDay / 31) + 2;\n indianDay = mDay % 31 + 1;\n } else {\n mDay -= 155;\n indianMonth = Math.floor(mDay / 30) + 7;\n indianDay = mDay % 30 + 1;\n }\n }\n return new (0, $35ea8db9cb2ccb90$export$99faa760c7908e4f)(this, indianYear, indianMonth, indianDay);\n }\n toJulianDay(date) {\n let extendedYear = date.year + $82c358003bdda0a8$var$INDIAN_ERA_START;\n let [era, year] = (0, $3b62074eb05584b2$export$4475b7e617eb123c)(extendedYear);\n let leapMonth;\n let jd;\n if ((0, $3b62074eb05584b2$export$553d7fa8e3805fc0)(year)) {\n leapMonth = 31;\n jd = (0, $3b62074eb05584b2$export$f297eb839006d339)(era, year, 3, 21);\n } else {\n leapMonth = 30;\n jd = (0, $3b62074eb05584b2$export$f297eb839006d339)(era, year, 3, 22);\n }\n if (date.month === 1) return jd + date.day - 1;\n jd += leapMonth + Math.min(date.month - 2, 5) * 31;\n if (date.month >= 8) jd += (date.month - 7) * 30;\n jd += date.day - 1;\n return jd;\n }\n getDaysInMonth(date) {\n if (date.month === 1 && (0, $3b62074eb05584b2$export$553d7fa8e3805fc0)(date.year + $82c358003bdda0a8$var$INDIAN_ERA_START)) return 31;\n if (date.month >= 2 && date.month <= 6) return 31;\n return 30;\n }\n getYearsInEra() {\n // 9999-12-31 gregorian is 9920-10-10 indian.\n // Round down to 9919 for the last full year.\n return 9919;\n }\n getEras() {\n return [\n 'saka'\n ];\n }\n balanceDate() {}\n constructor(...args){\n super(...args), this.identifier = 'indian';\n }\n}\n\n\nexport {$82c358003bdda0a8$export$39f31c639fa15726 as IndianCalendar};\n//# sourceMappingURL=IndianCalendar.module.js.map\n","import {CalendarDate as $35ea8db9cb2ccb90$export$99faa760c7908e4f} from \"./CalendarDate.mjs\";\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\nconst $f2f3e0e3a817edbd$var$CIVIL_EPOC = 1948440; // CE 622 July 16 Friday (Julian calendar) / CE 622 July 19 (Gregorian calendar)\nconst $f2f3e0e3a817edbd$var$ASTRONOMICAL_EPOC = 1948439; // CE 622 July 15 Thursday (Julian calendar)\nconst $f2f3e0e3a817edbd$var$UMALQURA_YEAR_START = 1300;\nconst $f2f3e0e3a817edbd$var$UMALQURA_YEAR_END = 1600;\nconst $f2f3e0e3a817edbd$var$UMALQURA_START_DAYS = 460322;\nfunction $f2f3e0e3a817edbd$var$islamicToJulianDay(epoch, year, month, day) {\n return day + Math.ceil(29.5 * (month - 1)) + (year - 1) * 354 + Math.floor((3 + 11 * year) / 30) + epoch - 1;\n}\nfunction $f2f3e0e3a817edbd$var$julianDayToIslamic(calendar, epoch, jd) {\n let year = Math.floor((30 * (jd - epoch) + 10646) / 10631);\n let month = Math.min(12, Math.ceil((jd - (29 + $f2f3e0e3a817edbd$var$islamicToJulianDay(epoch, year, 1, 1))) / 29.5) + 1);\n let day = jd - $f2f3e0e3a817edbd$var$islamicToJulianDay(epoch, year, month, 1) + 1;\n return new (0, $35ea8db9cb2ccb90$export$99faa760c7908e4f)(calendar, year, month, day);\n}\nfunction $f2f3e0e3a817edbd$var$isLeapYear(year) {\n return (14 + 11 * year) % 30 < 11;\n}\nclass $f2f3e0e3a817edbd$export$2066795aadd37bfc {\n fromJulianDay(jd) {\n return $f2f3e0e3a817edbd$var$julianDayToIslamic(this, $f2f3e0e3a817edbd$var$CIVIL_EPOC, jd);\n }\n toJulianDay(date) {\n return $f2f3e0e3a817edbd$var$islamicToJulianDay($f2f3e0e3a817edbd$var$CIVIL_EPOC, date.year, date.month, date.day);\n }\n getDaysInMonth(date) {\n let length = 29 + date.month % 2;\n if (date.month === 12 && $f2f3e0e3a817edbd$var$isLeapYear(date.year)) length++;\n return length;\n }\n getMonthsInYear() {\n return 12;\n }\n getDaysInYear(date) {\n return $f2f3e0e3a817edbd$var$isLeapYear(date.year) ? 355 : 354;\n }\n getYearsInEra() {\n // 9999 gregorian\n return 9665;\n }\n getEras() {\n return [\n 'AH'\n ];\n }\n constructor(){\n this.identifier = 'islamic-civil';\n }\n}\nclass $f2f3e0e3a817edbd$export$37f0887f2f9d22f7 extends $f2f3e0e3a817edbd$export$2066795aadd37bfc {\n fromJulianDay(jd) {\n return $f2f3e0e3a817edbd$var$julianDayToIslamic(this, $f2f3e0e3a817edbd$var$ASTRONOMICAL_EPOC, jd);\n }\n toJulianDay(date) {\n return $f2f3e0e3a817edbd$var$islamicToJulianDay($f2f3e0e3a817edbd$var$ASTRONOMICAL_EPOC, date.year, date.month, date.day);\n }\n constructor(...args){\n super(...args), this.identifier = 'islamic-tbla';\n }\n}\n// Generated by scripts/generate-umalqura.js\nconst $f2f3e0e3a817edbd$var$UMALQURA_DATA = 'qgpUDckO1AbqBmwDrQpVBakGkgepC9QF2gpcBS0NlQZKB1QLagutBa4ETwoXBYsGpQbVCtYCWwmdBE0KJg2VDawFtgm6AlsKKwWVCsoG6Qr0AnYJtgJWCcoKpAvSC9kF3AJtCU0FpQpSC6ULtAW2CVcFlwJLBaMGUgdlC2oFqworBZUMSg2lDcoF1gpXCasESwmlClILagt1BXYCtwhbBFUFqQW0BdoJ3QRuAjYJqgpUDbIN1QXaAlsJqwRVCkkLZAtxC7QFtQpVCiUNkg7JDtQG6QprCasEkwpJDaQNsg25CroEWworBZUKKgtVC1wFvQQ9Ah0JlQpKC1oLbQW2AjsJmwRVBqkGVAdqC2wFrQpVBSkLkgupC9QF2gpaBasKlQVJB2QHqgu1BbYCVgpNDiULUgtqC60FrgIvCZcESwalBqwG1gpdBZ0ETQoWDZUNqgW1BdoCWwmtBJUFygbkBuoK9QS2AlYJqgpUC9IL2QXqAm0JrQSVCkoLpQuyBbUJ1gSXCkcFkwZJB1ULagVrCisFiwpGDaMNygXWCtsEawJLCaUKUgtpC3UFdgG3CFsCKwVlBbQF2gntBG0BtgimClINqQ3UBdoKWwmrBFMGKQdiB6kLsgW1ClUFJQuSDckO0gbpCmsFqwRVCikNVA2qDbUJugQ7CpsETQqqCtUK2gJdCV4ELgqaDFUNsga5BroEXQotBZUKUguoC7QLuQXaAloJSgukDdEO6AZqC20FNQWVBkoNqA3UDdoGWwWdAisGFQtKC5ULqgWuCi4JjwwnBZUGqgbWCl0FnQI=';\nlet $f2f3e0e3a817edbd$var$UMALQURA_MONTHLENGTH;\nlet $f2f3e0e3a817edbd$var$UMALQURA_YEAR_START_TABLE;\nfunction $f2f3e0e3a817edbd$var$umalquraYearStart(year) {\n return $f2f3e0e3a817edbd$var$UMALQURA_START_DAYS + $f2f3e0e3a817edbd$var$UMALQURA_YEAR_START_TABLE[year - $f2f3e0e3a817edbd$var$UMALQURA_YEAR_START];\n}\nfunction $f2f3e0e3a817edbd$var$umalquraMonthLength(year, month) {\n let idx = year - $f2f3e0e3a817edbd$var$UMALQURA_YEAR_START;\n let mask = 0x01 << 11 - (month - 1);\n if (($f2f3e0e3a817edbd$var$UMALQURA_MONTHLENGTH[idx] & mask) === 0) return 29;\n else return 30;\n}\nfunction $f2f3e0e3a817edbd$var$umalquraMonthStart(year, month) {\n let day = $f2f3e0e3a817edbd$var$umalquraYearStart(year);\n for(let i = 1; i < month; i++)day += $f2f3e0e3a817edbd$var$umalquraMonthLength(year, i);\n return day;\n}\nfunction $f2f3e0e3a817edbd$var$umalquraYearLength(year) {\n return $f2f3e0e3a817edbd$var$UMALQURA_YEAR_START_TABLE[year + 1 - $f2f3e0e3a817edbd$var$UMALQURA_YEAR_START] - $f2f3e0e3a817edbd$var$UMALQURA_YEAR_START_TABLE[year - $f2f3e0e3a817edbd$var$UMALQURA_YEAR_START];\n}\nclass $f2f3e0e3a817edbd$export$5baab4758c231076 extends $f2f3e0e3a817edbd$export$2066795aadd37bfc {\n fromJulianDay(jd) {\n let days = jd - $f2f3e0e3a817edbd$var$CIVIL_EPOC;\n let startDays = $f2f3e0e3a817edbd$var$umalquraYearStart($f2f3e0e3a817edbd$var$UMALQURA_YEAR_START);\n let endDays = $f2f3e0e3a817edbd$var$umalquraYearStart($f2f3e0e3a817edbd$var$UMALQURA_YEAR_END);\n if (days < startDays || days > endDays) return super.fromJulianDay(jd);\n else {\n let y = $f2f3e0e3a817edbd$var$UMALQURA_YEAR_START - 1;\n let m = 1;\n let d = 1;\n while(d > 0){\n y++;\n d = days - $f2f3e0e3a817edbd$var$umalquraYearStart(y) + 1;\n let yearLength = $f2f3e0e3a817edbd$var$umalquraYearLength(y);\n if (d === yearLength) {\n m = 12;\n break;\n } else if (d < yearLength) {\n let monthLength = $f2f3e0e3a817edbd$var$umalquraMonthLength(y, m);\n m = 1;\n while(d > monthLength){\n d -= monthLength;\n m++;\n monthLength = $f2f3e0e3a817edbd$var$umalquraMonthLength(y, m);\n }\n break;\n }\n }\n return new (0, $35ea8db9cb2ccb90$export$99faa760c7908e4f)(this, y, m, days - $f2f3e0e3a817edbd$var$umalquraMonthStart(y, m) + 1);\n }\n }\n toJulianDay(date) {\n if (date.year < $f2f3e0e3a817edbd$var$UMALQURA_YEAR_START || date.year > $f2f3e0e3a817edbd$var$UMALQURA_YEAR_END) return super.toJulianDay(date);\n return $f2f3e0e3a817edbd$var$CIVIL_EPOC + $f2f3e0e3a817edbd$var$umalquraMonthStart(date.year, date.month) + (date.day - 1);\n }\n getDaysInMonth(date) {\n if (date.year < $f2f3e0e3a817edbd$var$UMALQURA_YEAR_START || date.year > $f2f3e0e3a817edbd$var$UMALQURA_YEAR_END) return super.getDaysInMonth(date);\n return $f2f3e0e3a817edbd$var$umalquraMonthLength(date.year, date.month);\n }\n getDaysInYear(date) {\n if (date.year < $f2f3e0e3a817edbd$var$UMALQURA_YEAR_START || date.year > $f2f3e0e3a817edbd$var$UMALQURA_YEAR_END) return super.getDaysInYear(date);\n return $f2f3e0e3a817edbd$var$umalquraYearLength(date.year);\n }\n constructor(){\n super(), this.identifier = 'islamic-umalqura';\n if (!$f2f3e0e3a817edbd$var$UMALQURA_MONTHLENGTH) $f2f3e0e3a817edbd$var$UMALQURA_MONTHLENGTH = new Uint16Array(Uint8Array.from(atob($f2f3e0e3a817edbd$var$UMALQURA_DATA), (c)=>c.charCodeAt(0)).buffer);\n if (!$f2f3e0e3a817edbd$var$UMALQURA_YEAR_START_TABLE) {\n $f2f3e0e3a817edbd$var$UMALQURA_YEAR_START_TABLE = new Uint32Array($f2f3e0e3a817edbd$var$UMALQURA_YEAR_END - $f2f3e0e3a817edbd$var$UMALQURA_YEAR_START + 1);\n let yearStart = 0;\n for(let year = $f2f3e0e3a817edbd$var$UMALQURA_YEAR_START; year <= $f2f3e0e3a817edbd$var$UMALQURA_YEAR_END; year++){\n $f2f3e0e3a817edbd$var$UMALQURA_YEAR_START_TABLE[year - $f2f3e0e3a817edbd$var$UMALQURA_YEAR_START] = yearStart;\n for(let i = 1; i <= 12; i++)yearStart += $f2f3e0e3a817edbd$var$umalquraMonthLength(year, i);\n }\n }\n }\n}\n\n\nexport {$f2f3e0e3a817edbd$export$2066795aadd37bfc as IslamicCivilCalendar, $f2f3e0e3a817edbd$export$37f0887f2f9d22f7 as IslamicTabularCalendar, $f2f3e0e3a817edbd$export$5baab4758c231076 as IslamicUmalquraCalendar};\n//# sourceMappingURL=IslamicCalendar.module.js.map\n","import {CalendarDate as $35ea8db9cb2ccb90$export$99faa760c7908e4f} from \"./CalendarDate.mjs\";\nimport {GregorianCalendar as $3b62074eb05584b2$export$80ee6245ec4f29ec} from \"./GregorianCalendar.mjs\";\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\nconst $62225008020f0a13$var$ERA_START_DATES = [\n [\n 1868,\n 9,\n 8\n ],\n [\n 1912,\n 7,\n 30\n ],\n [\n 1926,\n 12,\n 25\n ],\n [\n 1989,\n 1,\n 8\n ],\n [\n 2019,\n 5,\n 1\n ]\n];\nconst $62225008020f0a13$var$ERA_END_DATES = [\n [\n 1912,\n 7,\n 29\n ],\n [\n 1926,\n 12,\n 24\n ],\n [\n 1989,\n 1,\n 7\n ],\n [\n 2019,\n 4,\n 30\n ]\n];\nconst $62225008020f0a13$var$ERA_ADDENDS = [\n 1867,\n 1911,\n 1925,\n 1988,\n 2018\n];\nconst $62225008020f0a13$var$ERA_NAMES = [\n 'meiji',\n 'taisho',\n 'showa',\n 'heisei',\n 'reiwa'\n];\nfunction $62225008020f0a13$var$findEraFromGregorianDate(date) {\n const idx = $62225008020f0a13$var$ERA_START_DATES.findIndex(([year, month, day])=>{\n if (date.year < year) return true;\n if (date.year === year && date.month < month) return true;\n if (date.year === year && date.month === month && date.day < day) return true;\n return false;\n });\n if (idx === -1) return $62225008020f0a13$var$ERA_START_DATES.length - 1;\n if (idx === 0) return 0;\n return idx - 1;\n}\nfunction $62225008020f0a13$var$toGregorian(date) {\n let eraAddend = $62225008020f0a13$var$ERA_ADDENDS[$62225008020f0a13$var$ERA_NAMES.indexOf(date.era)];\n if (!eraAddend) throw new Error('Unknown era: ' + date.era);\n return new (0, $35ea8db9cb2ccb90$export$99faa760c7908e4f)(date.year + eraAddend, date.month, date.day);\n}\nclass $62225008020f0a13$export$b746ab2b60cdffbf extends (0, $3b62074eb05584b2$export$80ee6245ec4f29ec) {\n fromJulianDay(jd) {\n let date = super.fromJulianDay(jd);\n let era = $62225008020f0a13$var$findEraFromGregorianDate(date);\n return new (0, $35ea8db9cb2ccb90$export$99faa760c7908e4f)(this, $62225008020f0a13$var$ERA_NAMES[era], date.year - $62225008020f0a13$var$ERA_ADDENDS[era], date.month, date.day);\n }\n toJulianDay(date) {\n return super.toJulianDay($62225008020f0a13$var$toGregorian(date));\n }\n balanceDate(date) {\n let gregorianDate = $62225008020f0a13$var$toGregorian(date);\n let era = $62225008020f0a13$var$findEraFromGregorianDate(gregorianDate);\n if ($62225008020f0a13$var$ERA_NAMES[era] !== date.era) {\n date.era = $62225008020f0a13$var$ERA_NAMES[era];\n date.year = gregorianDate.year - $62225008020f0a13$var$ERA_ADDENDS[era];\n }\n // Constrain in case we went before the first supported era.\n this.constrainDate(date);\n }\n constrainDate(date) {\n let idx = $62225008020f0a13$var$ERA_NAMES.indexOf(date.era);\n let end = $62225008020f0a13$var$ERA_END_DATES[idx];\n if (end != null) {\n let [endYear, endMonth, endDay] = end;\n // Constrain the year to the maximum possible value in the era.\n // Then constrain the month and day fields within that.\n let maxYear = endYear - $62225008020f0a13$var$ERA_ADDENDS[idx];\n date.year = Math.max(1, Math.min(maxYear, date.year));\n if (date.year === maxYear) {\n date.month = Math.min(endMonth, date.month);\n if (date.month === endMonth) date.day = Math.min(endDay, date.day);\n }\n }\n if (date.year === 1 && idx >= 0) {\n let [, startMonth, startDay] = $62225008020f0a13$var$ERA_START_DATES[idx];\n date.month = Math.max(startMonth, date.month);\n if (date.month === startMonth) date.day = Math.max(startDay, date.day);\n }\n }\n getEras() {\n return $62225008020f0a13$var$ERA_NAMES;\n }\n getYearsInEra(date) {\n // Get the number of years in the era, taking into account the date's month and day fields.\n let era = $62225008020f0a13$var$ERA_NAMES.indexOf(date.era);\n let cur = $62225008020f0a13$var$ERA_START_DATES[era];\n let next = $62225008020f0a13$var$ERA_START_DATES[era + 1];\n if (next == null) // 9999 gregorian is the maximum year allowed.\n return 9999 - cur[0] + 1;\n let years = next[0] - cur[0];\n if (date.month < next[1] || date.month === next[1] && date.day < next[2]) years++;\n return years;\n }\n getDaysInMonth(date) {\n return super.getDaysInMonth($62225008020f0a13$var$toGregorian(date));\n }\n getMinimumMonthInYear(date) {\n let start = $62225008020f0a13$var$getMinimums(date);\n return start ? start[1] : 1;\n }\n getMinimumDayInMonth(date) {\n let start = $62225008020f0a13$var$getMinimums(date);\n return start && date.month === start[1] ? start[2] : 1;\n }\n constructor(...args){\n super(...args), this.identifier = 'japanese';\n }\n}\nfunction $62225008020f0a13$var$getMinimums(date) {\n if (date.year === 1) {\n let idx = $62225008020f0a13$var$ERA_NAMES.indexOf(date.era);\n return $62225008020f0a13$var$ERA_START_DATES[idx];\n }\n}\n\n\nexport {$62225008020f0a13$export$b746ab2b60cdffbf as JapaneseCalendar};\n//# sourceMappingURL=JapaneseCalendar.module.js.map\n","import {CalendarDate as $35ea8db9cb2ccb90$export$99faa760c7908e4f} from \"./CalendarDate.mjs\";\nimport {mod as $2b4dce13dd5a17fa$export$842a2cf37af977e1} from \"./utils.mjs\";\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 $f3ed2e4472ae7e25$var$PERSIAN_EPOCH = 1948320;\n// Number of days from the start of the year to the start of each month.\nconst $f3ed2e4472ae7e25$var$MONTH_START = [\n 0,\n 31,\n 62,\n 93,\n 124,\n 155,\n 186,\n 216,\n 246,\n 276,\n 306,\n 336 // Esfand\n];\nclass $f3ed2e4472ae7e25$export$37fccdbfd14c5939 {\n fromJulianDay(jd) {\n let daysSinceEpoch = jd - $f3ed2e4472ae7e25$var$PERSIAN_EPOCH;\n let year = 1 + Math.floor((33 * daysSinceEpoch + 3) / 12053);\n let farvardin1 = 365 * (year - 1) + Math.floor((8 * year + 21) / 33);\n let dayOfYear = daysSinceEpoch - farvardin1;\n let month = dayOfYear < 216 ? Math.floor(dayOfYear / 31) : Math.floor((dayOfYear - 6) / 30);\n let day = dayOfYear - $f3ed2e4472ae7e25$var$MONTH_START[month] + 1;\n return new (0, $35ea8db9cb2ccb90$export$99faa760c7908e4f)(this, year, month + 1, day);\n }\n toJulianDay(date) {\n let jd = $f3ed2e4472ae7e25$var$PERSIAN_EPOCH - 1 + 365 * (date.year - 1) + Math.floor((8 * date.year + 21) / 33);\n jd += $f3ed2e4472ae7e25$var$MONTH_START[date.month - 1];\n jd += date.day;\n return jd;\n }\n getMonthsInYear() {\n return 12;\n }\n getDaysInMonth(date) {\n if (date.month <= 6) return 31;\n if (date.month <= 11) return 30;\n let isLeapYear = (0, $2b4dce13dd5a17fa$export$842a2cf37af977e1)(25 * date.year + 11, 33) < 8;\n return isLeapYear ? 30 : 29;\n }\n getEras() {\n return [\n 'AP'\n ];\n }\n getYearsInEra() {\n // 9378-10-10 persian is 9999-12-31 gregorian.\n // Round down to 9377 to set the maximum full year.\n return 9377;\n }\n constructor(){\n this.identifier = 'persian';\n }\n}\n\n\nexport {$f3ed2e4472ae7e25$export$37fccdbfd14c5939 as PersianCalendar};\n//# sourceMappingURL=PersianCalendar.module.js.map\n","import {CalendarDate as $35ea8db9cb2ccb90$export$99faa760c7908e4f} from \"./CalendarDate.mjs\";\nimport {fromExtendedYear as $3b62074eb05584b2$export$4475b7e617eb123c, getExtendedYear as $3b62074eb05584b2$export$c36e0ecb2d4fa69d, GregorianCalendar as $3b62074eb05584b2$export$80ee6245ec4f29ec} from \"./GregorianCalendar.mjs\";\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 $5f31bd6f0c8940b2$var$TAIWAN_ERA_START = 1911;\nfunction $5f31bd6f0c8940b2$var$gregorianYear(date) {\n return date.era === 'minguo' ? date.year + $5f31bd6f0c8940b2$var$TAIWAN_ERA_START : 1 - date.year + $5f31bd6f0c8940b2$var$TAIWAN_ERA_START;\n}\nfunction $5f31bd6f0c8940b2$var$gregorianToTaiwan(year) {\n let y = year - $5f31bd6f0c8940b2$var$TAIWAN_ERA_START;\n if (y > 0) return [\n 'minguo',\n y\n ];\n else return [\n 'before_minguo',\n 1 - y\n ];\n}\nclass $5f31bd6f0c8940b2$export$65e01080afcb0799 extends (0, $3b62074eb05584b2$export$80ee6245ec4f29ec) {\n fromJulianDay(jd) {\n let date = super.fromJulianDay(jd);\n let extendedYear = (0, $3b62074eb05584b2$export$c36e0ecb2d4fa69d)(date.era, date.year);\n let [era, year] = $5f31bd6f0c8940b2$var$gregorianToTaiwan(extendedYear);\n return new (0, $35ea8db9cb2ccb90$export$99faa760c7908e4f)(this, era, year, date.month, date.day);\n }\n toJulianDay(date) {\n return super.toJulianDay($5f31bd6f0c8940b2$var$toGregorian(date));\n }\n getEras() {\n return [\n 'before_minguo',\n 'minguo'\n ];\n }\n balanceDate(date) {\n let [era, year] = $5f31bd6f0c8940b2$var$gregorianToTaiwan($5f31bd6f0c8940b2$var$gregorianYear(date));\n date.era = era;\n date.year = year;\n }\n isInverseEra(date) {\n return date.era === 'before_minguo';\n }\n getDaysInMonth(date) {\n return super.getDaysInMonth($5f31bd6f0c8940b2$var$toGregorian(date));\n }\n getYearsInEra(date) {\n return date.era === 'before_minguo' ? 9999 : 9999 - $5f31bd6f0c8940b2$var$TAIWAN_ERA_START;\n }\n constructor(...args){\n super(...args), this.identifier = 'roc' // Republic of China\n ;\n }\n}\nfunction $5f31bd6f0c8940b2$var$toGregorian(date) {\n let [era, year] = (0, $3b62074eb05584b2$export$4475b7e617eb123c)($5f31bd6f0c8940b2$var$gregorianYear(date));\n return new (0, $35ea8db9cb2ccb90$export$99faa760c7908e4f)(era, year, date.month, date.day);\n}\n\n\nexport {$5f31bd6f0c8940b2$export$65e01080afcb0799 as TaiwanCalendar};\n//# sourceMappingURL=TaiwanCalendar.module.js.map\n","/**\n * @module\n * @category Date and Time\n */\nimport type { i18n } from 'i18next';\nimport {\n type CalendarDateTime,\n type ZonedDateTime,\n createCalendar,\n toCalendar,\n type CalendarDate,\n} from '@internationalized/date';\nimport dayjs from 'dayjs';\nimport utc from 'dayjs/plugin/utc';\nimport isToday from 'dayjs/plugin/isToday';\nimport { getLocale } from '@openmrs/esm-utils';\n\ndayjs.extend(utc);\ndayjs.extend(isToday);\n\ndeclare global {\n interface Window {\n i18next: i18n;\n }\n}\n\nexport type DateInput = string | number | Date;\n\nconst isoFormat = 'YYYY-MM-DDTHH:mm:ss.SSSZZ';\n\n/**\n * This function checks whether a date string is the OpenMRS ISO format.\n * The format should be YYYY-MM-DDTHH:mm:ss.SSSZZ\n */\nexport function isOmrsDateStrict(omrsPayloadString: string): boolean {\n // omrs format 2018-03-19T00:00:00.000+0300\n if (omrsPayloadString === null || omrsPayloadString === undefined || omrsPayloadString.trim().length !== 28) {\n return false;\n }\n omrsPayloadString = omrsPayloadString.trim();\n\n // 11th character will always be T\n if (omrsPayloadString[10] !== 'T') {\n return false;\n }\n\n // checking time format\n if (omrsPayloadString[13] !== ':' || omrsPayloadString[16] !== ':' || omrsPayloadString[19] !== '.') {\n return false;\n }\n\n // checking UTC offset format\n if (!(omrsPayloadString[23] === '+' || omrsPayloadString[23] === '-')) {\n return false;\n }\n\n return dayjs(omrsPayloadString, isoFormat).isValid();\n}\n\n/**\n *\n * @param date Checks if the provided date is today.\n */\nexport function isOmrsDateToday(date: DateInput) {\n return dayjs(date).isToday();\n}\n\n/**\n * Converts the object to a date object if it is an OpenMRS ISO date time string.\n * Otherwise returns null.\n */\nexport function toDateObjectStrict(omrsDateString: string): Date | null {\n if (!isOmrsDateStrict(omrsDateString)) {\n return null;\n }\n\n return dayjs(omrsDateString, isoFormat).toDate();\n}\n\n/**\n * Formats the input to OpenMRS ISO format: \"YYYY-MM-DDTHH:mm:ss.SSSZZ\".\n */\nexport function toOmrsIsoString(date: DateInput, toUTC = false): string {\n let d = dayjs(date);\n\n if (toUTC) {\n d = d.utc();\n }\n\n return d.format(isoFormat);\n}\n\n/**\n * Utility function to parse an arbitrary string into a date.\n * Uses `dayjs(dateString)`.\n */\nexport function parseDate(dateString: string) {\n return dayjs(dateString).toDate();\n}\n\nexport type FormatDateMode = 'standard' | 'wide';\n\nexport type FormatDateOptions = {\n /**\n * The calendar to use when formatting this date.\n */\n calendar?: string;\n /**\n * The locale to use when formatting this date\n */\n locale?: string;\n /**\n * - `standard`: \"03 Feb 2022\"\n * - `wide`: \"03 — Feb — 2022\"\n */\n mode: FormatDateMode;\n /**\n * Whether the time should be included in the output always (`true`),\n * never (`false`), or only when the input date is today (`for today`).\n */\n time: true | false | 'for today';\n /** Whether to include the day number */\n day: boolean;\n /** Whether to include the month number */\n month: boolean;\n /** Whether to include the year */\n year: boolean;\n /** The unicode numbering system to use */\n numberingSystem?: string;\n /**\n * Disables the special handling of dates that are today. If false\n * (the default), then dates that are today will be formatted as \"Today\"\n * in the locale language. If true, then dates that are today will be\n * formatted the same as all other dates.\n */\n noToday: boolean;\n};\n\nconst defaultOptions: FormatDateOptions = {\n mode: 'standard',\n time: 'for today',\n day: true,\n month: true,\n year: true,\n noToday: false,\n};\n\n/**\n * Internal cache for per-locale calendars\n */\nclass LocaleCalendars {\n #registry = new Map<string, string>();\n\n constructor() {}\n\n register(locale: string, calendar: string) {\n this.#registry.set(locale, calendar);\n }\n\n getCalendar(locale: Intl.Locale) {\n if (!Boolean(locale)) {\n return undefined;\n }\n\n if (locale.calendar) {\n return locale.calendar;\n }\n\n if (locale.region) {\n const key = `${locale.language}-${locale.region}`;\n if (this.#registry.has(key)) {\n return this.#registry.get(key);\n }\n }\n\n if (locale.language && this.#registry.has(locale.language)) {\n return this.#registry.get(locale.language);\n }\n\n const defaultCalendar = new Intl.DateTimeFormat(locale.toString()).resolvedOptions().calendar;\n\n // cache this result\n this.#registry.set(`${locale.language}${locale.region ? `-${locale.region}` : ''}`, defaultCalendar);\n\n return defaultCalendar;\n }\n}\n\nconst registeredLocaleCalendars = new LocaleCalendars();\n\n/**\n * Provides the name of the calendar to associate, as a default, with the given base locale.\n *\n * @example\n * ```\n * registerDefaultCalendar('en', 'buddhist') // sets the default calendar for the 'en' locale to Buddhist.\n * ```\n *\n * @param locale the locale to register this calendar for\n * @param calendar the calendar to use for this registration\n */\nexport function registerDefaultCalendar(locale: string, calendar: string) {\n registeredLocaleCalendars.register(locale, calendar);\n}\n\n/**\n * Retrieves the default calendar for the specified locale if any.\n *\n * @param locale the locale to look-up\n */\nexport function getDefaultCalendar(locale: Intl.Locale | string | undefined) {\n const locale_ = locale ?? getLocale();\n\n return registeredLocaleCalendars.getCalendar(locale_ instanceof Intl.Locale ? locale_ : new Intl.Locale(locale_));\n}\n\n/**\n * Formats the input date according to the current locale and the\n * given options.\n *\n * Default options:\n * - mode: \"standard\",\n * - time: \"for today\",\n * - day: true,\n * - month: true,\n * - year: true\n * - noToday: false\n *\n * If the date is today then \"Today\" is produced (in the locale language).\n * This behavior can be disabled with `noToday: true`.\n *\n * When time is included, it is appended with a comma and a space. This\n * agrees with the output of `Date.prototype.toLocaleString` for *most*\n * locales.\n */\n// TODO: Shouldn't throw on null input\nexport function formatDate(date: Date, options?: Partial<FormatDateOptions>) {\n let locale = options?.locale ?? getLocale();\n const _locale = new Intl.Locale(locale);\n\n const { calendar, mode, time, day, month, year, noToday, numberingSystem }: FormatDateOptions = {\n ...defaultOptions,\n ...{ noToday: _locale.language === 'am' ? true : false },\n ...options,\n };\n\n const formatCalendar = calendar ?? getDefaultCalendar(_locale);\n\n const formatterOptions: Intl.DateTimeFormatOptions = {\n calendar: formatCalendar,\n year: year ? 'numeric' : undefined,\n month: month ? 'short' : undefined,\n day: day ? '2-digit' : undefined,\n numberingSystem,\n };\n\n let localeString: string;\n const isToday = dayjs(date).isToday();\n if (isToday && !noToday) {\n // This produces the word \"Today\" in the language of `locale`\n const rtf = new Intl.RelativeTimeFormat(locale, { numeric: 'auto' });\n localeString = rtf.format(0, 'day');\n localeString = localeString[0].toLocaleUpperCase(locale) + localeString.slice(1);\n } else {\n if (_locale.language === 'en') {\n // This locale override is here rather than in `getLocale`\n // because Americans should see AM/PM for times.\n locale = 'en-GB';\n }\n\n const formatter = new Intl.DateTimeFormat(locale, formatterOptions);\n let parts = formatter.formatToParts(date);\n\n if ((_locale.language === 'en' || _locale.language === 'am') && mode == 'standard' && year && day) {\n // Custom formatting for English and Amharic. Use hyphens instead of spaces.\n parts = parts.map(formatParts('-'));\n }\n\n if (mode == 'wide') {\n parts = parts.map(formatParts(' — ')); // space-emdash-space\n }\n\n // omit the era when using the Ethiopic calendar\n if (formatterOptions.calendar === 'ethiopic') {\n parts = parts.filter((part, idx, values) => {\n if (\n part.type === 'era' ||\n (part.type === 'literal' && idx < values.length - 1 && values[idx + 1].type === 'era')\n ) {\n return false;\n }\n\n return true;\n });\n }\n\n localeString = parts.map((p) => p.value).join('');\n }\n if (time === true || (isToday && time === 'for today')) {\n localeString += `, ${formatTime(date)}`;\n }\n return localeString;\n}\n\n// Internal curried call-back for map()\nconst formatParts = (separator: string) => {\n return (part: Intl.DateTimeFormatPart, idx: number, values: Array<Intl.DateTimeFormatPart>) => {\n if (part.type !== 'literal' || part.value !== ' ') {\n return part;\n }\n\n if (idx < values.length - 1 && values[idx + 1].type === 'era') {\n return part;\n }\n\n return { type: 'literal', value: separator } as Intl.DateTimeFormatPart;\n };\n};\n\n/**\n * Formats the input as a time, according to the current locale.\n * 12-hour or 24-hour clock depends on locale.\n */\nexport function formatTime(date: Date) {\n return date.toLocaleTimeString(getLocale(), {\n hour: '2-digit',\n minute: '2-digit',\n });\n}\n\n/**\n * Formats the input into a string showing the date and time, according\n * to the current locale. The `mode` parameter is as described for\n * `formatDate`.\n *\n * This is created by concatenating the results of `formatDate`\n * and `formatTime` with a comma and space. This agrees with the\n * output of `Date.prototype.toLocaleString` for *most* locales.\n */\nexport function formatDatetime(date: Date, options?: Partial<Omit<FormatDateOptions, 'time'>>) {\n return formatDate(date, { ...options, time: true });\n}\n\n/**\n * Converts a calendar date to the equivalent locale calendar date.\n * @returns CalendarDate\n */\nexport function convertToLocaleCalendar(\n date: CalendarDate | CalendarDateTime | ZonedDateTime,\n locale: string | Intl.Locale,\n) {\n let locale_ = typeof locale === 'string' ? new Intl.Locale(locale) : locale;\n const localCalendarName = getDefaultCalendar(locale_);\n\n return localCalendarName ? toCalendar(date, createCalendar(localCalendarName)) : date;\n}\n","import {BuddhistCalendar as $8d73d47422ca7302$export$42d20a78301dee44} from \"./BuddhistCalendar.mjs\";\nimport {CopticCalendar as $b956b2d7a6cf451f$export$fe6243cbe1a4b7c1, EthiopicAmeteAlemCalendar as $b956b2d7a6cf451f$export$d72e0c37005a4914, EthiopicCalendar as $b956b2d7a6cf451f$export$26ba6eab5e20cd7d} from \"./EthiopicCalendar.mjs\";\nimport {GregorianCalendar as $3b62074eb05584b2$export$80ee6245ec4f29ec} from \"./GregorianCalendar.mjs\";\nimport {HebrewCalendar as $7c5f6fbf42389787$export$ca405048b8fb5af} from \"./HebrewCalendar.mjs\";\nimport {IndianCalendar as $82c358003bdda0a8$export$39f31c639fa15726} from \"./IndianCalendar.mjs\";\nimport {IslamicCivilCalendar as $f2f3e0e3a817edbd$export$2066795aadd37bfc, IslamicTabularCalendar as $f2f3e0e3a817edbd$export$37f0887f2f9d22f7, IslamicUmalquraCalendar as $f2f3e0e3a817edbd$export$5baab4758c231076} from \"./IslamicCalendar.mjs\";\nimport {JapaneseCalendar as $62225008020f0a13$export$b746ab2b60cdffbf} from \"./JapaneseCalendar.mjs\";\nimport {PersianCalendar as $f3ed2e4472ae7e25$export$37fccdbfd14c5939} from \"./PersianCalendar.mjs\";\nimport {TaiwanCalendar as $5f31bd6f0c8940b2$export$65e01080afcb0799} from \"./TaiwanCalendar.mjs\";\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\n\n\n\nfunction $64244302c3013299$export$dd0bbc9b26defe37(name) {\n switch(name){\n case 'buddhist':\n return new (0, $8d73d47422ca7302$export$42d20a78301dee44)();\n case 'ethiopic':\n return new (0, $b956b2d7a6cf451f$export$26ba6eab5e20cd7d)();\n case 'ethioaa':\n return new (0, $b956b2d7a6cf451f$export$d72e0c37005a4914)();\n case 'coptic':\n return new (0, $b956b2d7a6cf451f$export$fe6243cbe1a4b7c1)();\n case 'hebrew':\n return new (0, $7c5f6fbf42389787$export$ca405048b8fb5af)();\n case 'indian':\n return new (0, $82c358003bdda0a8$export$39f31c639fa15726)();\n case 'islamic-civil':\n return new (0, $f2f3e0e3a817edbd$export$2066795aadd37bfc)();\n case 'islamic-tbla':\n return new (0, $f2f3e0e3a817edbd$export$37f0887f2f9d22f7)();\n case 'islamic-umalqura':\n return new (0, $f2f3e0e3a817edbd$export$5baab4758c231076)();\n case 'japanese':\n return new (0, $62225008020f0a13$export$b746ab2b60cdffbf)();\n case 'persian':\n return new (0, $f3ed2e4472ae7e25$export$37fccdbfd14c5939)();\n case 'roc':\n return new (0, $5f31bd6f0c8940b2$export$65e01080afcb0799)();\n case 'gregory':\n default:\n return new (0, $3b62074eb05584b2$export$80ee6245ec4f29ec)();\n }\n}\n\n\nexport {$64244302c3013299$export$dd0bbc9b26defe37 as createCalendar};\n//# sourceMappingURL=createCalendar.module.js.map\n","import type {} from '@openmrs/esm-globals';\n\nexport function isOnline(online?: boolean) {\n return window.offlineEnabled ? online ?? navigator.onLine : true;\n}\n","/** @module @category Utility */\n\nimport { type NameUse } from '@openmrs/esm-globals';\n\n/**\n * Gets the formatted display name for a patient.\n *\n * The display name will be taken from the patient's 'usual' name,\n * or may fall back to the patient's 'official' name.\n *\n * @param patient The patient details in FHIR format.\n * @returns The patient's display name or an empty string if name is not present.\n */\nexport function getPatientName(patient: fhir.Patient): string {\n const name = selectPreferredName(patient, 'usual', 'official');\n return formatPatientName(name);\n}\n\n/** @deprecated Use `getPatientName` */\nexport function displayName(patient: fhir.Patient): string {\n return getPatientName(patient);\n}\n\n/**\n * Get a formatted display string for an FHIR name.\n * @param name The name to be formatted.\n * @returns The formatted display name or an empty string if name is undefined.\n */\nexport function formatPatientName(name: fhir.HumanName | undefined): string {\n if (name) return name.text ?? defaultFormat(name);\n return '';\n}\n\n/** @deprecated Use `formatPatientName` */\nexport function formattedName(name: fhir.HumanName | undefined): string {\n return formatPatientName(name);\n}\n\n/**\n * Select the preferred name from the collection of names associated with a patient.\n *\n * Names may be specified with a usage such as 'usual', 'official', 'nickname', 'maiden', etc.\n * A name with no usage specified is treated as the 'usual' name.\n *\n * The chosen name will be selected according to the priority order of `preferredNames`,\n * @example\n * // normal use case; prefer usual name, fallback to official name\n * displayNameByUsage(patient, 'usual', 'official')\n * @example\n * // prefer usual name over nickname, fallback to official name\n * displayNameByUsage(patient, 'usual', 'nickname', 'official')\n *\n * @param patient The patient from whom a name will be selected.\n * @param preferredNames Optional ordered sequence of preferred name usages; defaults to 'usual' if not specified.\n * @return the preferred name for the patient, or undefined if no acceptable name could be found.\n */\nexport function selectPreferredName(patient: fhir.Patient, ...preferredNames: NameUse[]): fhir.HumanName | undefined {\n if (preferredNames.length == 0) {\n preferredNames = ['usual'];\n }\n for (const usage of preferredNames) {\n const name = patient.name?.find((name) => nameUsageMatches(name, usage));\n if (name) {\n return name;\n }\n }\n return undefined;\n}\n\n/**\n * Generate a display name by concatenating forenames and surname.\n * @param name the person's name.\n * @returns the person's name as a string.\n */\nfunction defaultFormat(name: fhir.HumanName): string {\n const forenames: string[] = name.given ?? [];\n const names: string[] = name.family ? forenames.concat(name.family) : forenames;\n return names.join(' ');\n}\n\n/**\n * Determine whether the usage of a given name matches the given NameUse.\n *\n * A name with no usage is treated as the 'usual' name.\n *\n * @param name the name to test.\n * @param usage the NameUse to test for.\n */\nfunction nameUsageMatches(name: fhir.HumanName, usage: NameUse): boolean {\n if (!name.use)\n // a name with no usage is treated as 'usual'\n return usage === 'usual';\n\n return name.use === usage;\n}\n","/** @module @category Utility */\n\n/**\n * Checks whether two objects are equal, using a shallow comparison, similar to React.\n *\n * In essence, shallowEquals ensures two objects have the same own properties and that the values\n * of these are equal (===) to each other.\n *\n * @param a The first value to compare\n * @param b The second value to compare\n * @returns true if the objects are shallowly equal to each other\n */\nexport function shallowEqual(a: unknown, b: unknown) {\n if (a === b || Object.is(a, b)) {\n return true;\n }\n\n if (Array.isArray(a)) {\n if (!Array.isArray(b)) {\n return false;\n }\n\n if (a.length !== b.length) {\n return false;\n }\n\n for (let i = 0; i < a.length; i++) {\n if (a[i] !== b[i]) {\n return false;\n }\n }\n\n return true;\n } else if (Array.isArray(b)) {\n return false;\n }\n\n if (typeof a !== 'object' || a === null || typeof b !== 'object' || b === null) {\n return false;\n }\n\n const objAKeys = Object.getOwnPropertyNames(a);\n const objBKeys = Object.getOwnPropertyNames(b);\n\n return objAKeys.length === objBKeys.length && objAKeys.every((key) => a[key] === b[key]);\n}\n","/** @module @category Utility */\n\n/**\n * Simple utility function to determine if an object implementing the WebStorage API\n * is actually available. Useful for testing the availability of `localStorage` or\n * `sessionStorage`.\n *\n * @param storage The WebStorage API object to check. Defaults to `localStorage`.\n * @returns True if the WebStorage API object is able to be accessed, false otherwise\n */\nexport function canAccessStorage(storage: Storage = window.localStorage) {\n try {\n storage.getItem('test');\n return true;\n } catch {\n return false;\n }\n}\n","/** @module @category Utility */\n\n/**\n * Given a config schema, this returns an object like is returned by `useConfig`\n * with all default values.\n *\n * This should be used in tests and not in production code.\n *\n * If all you need is the default values in your tests, these are returned by\n * default from the `useConfig`/`getConfig` mock. This function is useful if you\n * need to override some of the default values.\n */\nexport function getDefaultsFromConfigSchema<T = Record<string, any>>(schema): T {\n let tmp = {};\n for (let k of Object.keys(schema)) {\n if (schema[k].hasOwnProperty('_default')) {\n tmp[k] = schema[k]._default;\n } else if (k.startsWith('_')) {\n continue;\n } else if (isOrdinaryObject(schema[k])) {\n tmp[k] = getDefaultsFromConfigSchema(schema[k]);\n } else {\n tmp[k] = schema[k];\n }\n }\n return tmp as T;\n}\n\nfunction isOrdinaryObject(x) {\n return !!x && x.constructor === Object;\n}\n","/** @module @category Utility */\nimport * as semver from 'semver';\n\nfunction normalizeOnlyVersion(version: string) {\n const [major, minor, patch] = version.split('.');\n return `${major}.${minor}.${patch}`;\n}\n\nfunction normalizeFullVersion(version: string) {\n const idx = version.indexOf('-');\n const prerelease = idx >= 0;\n\n if (prerelease) {\n const ver = normalizeOnlyVersion(version.slice(0, idx));\n const pre = version.slice(idx + 1);\n return `${ver}-${pre}`;\n }\n\n return normalizeOnlyVersion(version);\n}\n\nexport function isVersionSatisfied(requiredVersion: string, installedVersion: string) {\n const version = normalizeFullVersion(installedVersion);\n\n return semver.satisfies(version, requiredVersion, {\n includePrerelease: true,\n } as semver.Options);\n}\n","/** @module @category Utility */\n\n/**\n * Options for configuring the behavior of the {@link retry} function.\n */\nexport interface RetryOptions {\n /**\n * Determines whether the retry function should retry executing the function after it failed\n * with an error on the current attempt.\n * @param attempt The current (zero-based) retry attempt. `0` indicates the initial attempt.\n */\n shouldRetry?(attempt: number);\n /**\n * Calculates the next delay (in milliseconds) before a retry attempt.\n * Returning a value for the inital attempt (`0`) delays the initial function invocation.\n * @param attempt The current (zero-based) retry attempt. `0` indicates the initial attempt.\n */\n getDelay?(attempt: number): number;\n /**\n * Called when invoking the function resulted in an error.\n * Allows running side-effects on errors, e.g. logging.\n * @param e The error thrown by the function.\n * @param attempt The current (zero-based) retry attempt. `0` indicates the initial attempt.\n */\n onError?(e: any, attempt: number): void;\n}\n\n/**\n * Executes the specified function and retries executing on failure with a custom backoff strategy\n * defined by the options.\n *\n * If not configured otherwise, this function uses the following default options:\n * * Retries 5 times beyond the initial attempt.\n * * Uses an exponential backoff starting with an initial delay of 1000ms.\n * @param fn The function to be executed and retried on failure.\n * @param options Additional options which configure the retry behavior.\n * @returns The result of successfully executing `fn`.\n * @throws Rethrows the final error of running `fn` when the function stops retrying.\n */\nexport async function retry<T>(fn: () => Promise<T>, options: RetryOptions = {}) {\n let { shouldRetry, getDelay, onError } = options;\n shouldRetry = shouldRetry ?? ((attempt) => limitAttempts(attempt, 5));\n getDelay = getDelay ?? ((attempt) => getExponentialDelay(attempt, 1000));\n\n let attempt = 0;\n let lastError: any = undefined;\n\n do {\n try {\n await delay(getDelay(attempt));\n return await fn();\n } catch (e) {\n onError?.(e, attempt);\n lastError = e;\n }\n } while (shouldRetry(attempt++));\n\n // If we reach this fn errored and shouldn't retry anymore. Simply rethrow the final error as\n // a means of ending the retry process without a result.\n throw lastError;\n}\n\nfunction limitAttempts(attempt: number, maxAttempts: number) {\n return attempt <= maxAttempts;\n}\n\nfunction getExponentialDelay(attempt: number, startingDelay: number, initialDelay = false) {\n const exponent = initialDelay ? attempt + 1 : attempt;\n return startingDelay * Math.pow(2, exponent);\n}\n\nasync function delay(ms: number) {\n if (ms <= 0) {\n return;\n }\n\n return new Promise<void>((res) => setTimeout(res, ms));\n}\n"],"names":["Object","defineProperty","exports","value","__exportStar","CanonicalizeLocaleList","locales","Intl","getCanonicalLocales","CanonicalizeTimeZoneName","tz","_a","zoneNames","uppercaseLinks","uppercasedTz","toUpperCase","uppercasedZones","reduce","all","z","ianaTimeZone","ToString","o","TypeError","String","ToNumber","val","undefined","NaN","Number","TimeClip","time","isFinite","Math","abs","n","number","isNaN","SameValue","integer","floor","ToInteger","ToObject","arg","x","y","is","ArrayCreate","len","Array","HasOwnProperty","prop","prototype","hasOwnProperty","call","Type","MS_PER_DAY","mod","Day","t","WeekDay","DayFromYear","Date","UTC","TimeFromYear","YearFromTime","getUTCFullYear","DaysInYear","DayWithinYear","InLeapYear","MonthFromTime","dwy","leap","Error","DateFromTime","mft","HOURS_PER_DAY","MINUTES_PER_HOUR","SECONDS_PER_MINUTE","MS_PER_SECOND","MS_PER_MINUTE","MS_PER_HOUR","HourFromTime","MinFromTime","SecFromTime","OrdinaryHasInstance","C","O","internalSlots","boundTargetFunction","P","isPrototypeOf","msFromTime","CoerceOptionsToObject","options","create","DefaultNumberOption","inputVal","min","max","fallback","RangeError","concat","GetNumberOption","property","minimum","maximum","GetOption","opts","type","values","Boolean","filter","length","join","GetOptionsObject","GetStringOrBooleanOption","trueValue","falsyValue","indexOf","SANCTIONED_UNITS","removeUnitNamespace","unit","slice","SIMPLE_UNITS","map","IsSanctionedSimpleUnitIdentifier","unitIdentifier","IsValidTimeZoneName","zoneNamesFromData","Set","linkNames","forEach","add","keys","linkName","has","NOT_A_Z_REGEX","IsWellFormedCurrencyCode","currency","replace","_","c","test","IsWellFormedUnitIdentifier","toLowerCase","units","split","numerator","denominator","ApplyUnsignedRoundingMode","r1","r2","unsignedRoundingMode","d1","d2","CollapseNumberRange","result","getMagnitude","log","LOG10E","repeat","s","times","arr","i","setInternalSlot","pl","field","get","set","setMultiInternalSlots","props","_i","k","getInternalSlot","getMultiInternalSlots","fields","arguments","slots","f","isLiteralPart","patternPart","target","name","configurable","enumerable","writable","createDataProperty","invariant","condition","message","Err","ComputeExponentForMagnitude","numberFormat","magnitude","getInternalSlots","notation","dataLocaleData","numberingSystem","compactDisplay","style","currencyDisplay","thresholdMap","numbers","nu","short","decimal","long","num","pow","thresholds","magnitudeKey","other","match","ToRawPrecision","minPrecision","maxPrecision","m","e","xFinal","int","p","xToString","toString","xToStringExponentIndex","xToStringMantissa","xToStringExponent","xToStringMantissaWithoutDecimalPoint","decimalPlaceOffset","round","adjustDecimalPlace","cut","formattedString","roundedNumber","integerDigitsCount","ToRawFixed","minFraction","maxFraction","mantissa","exponent","a","b","FormatNumericToString","intlObject","isNegative","roundingType","minimumSignificantDigits","maximumSignificantDigits","minimumFractionDigits","maximumFractionDigits","string","minInteger","minimumIntegerDigits","ComputeExponent","formatNumberResult","CurrencyDigits","currencyDigitsData","FormatApproximately","approximatelySign","symbols","push","S_UNICODE_REGEX","digitMapping","CARET_S_UNICODE_REGEX","RegExp","source","S_DOLLAR_UNICODE_REGEX","CLDR_NUMBER_PATTERN","formatToParts","numberResult","data","nonNameCurrencyPart","numberPattern","sign","defaultNumberingSystem","compactNumberPattern","pattern","compactPluralRules","byNumberingSystem","selectPlural","compactPlaralRule","getPatternForSign","getCompactDisplayPattern","byCurrencyDisplay","currencies","symbol","narrow","standard","currencyData","currencySign","percent","decimalNumberPattern","exec","afterCurrency","currencySpacing","afterInsertBetween","beforeCurrency","beforeInsertBetween","numberPatternParts","numberParts","numberPatternParts_1","part","apply","paritionNumberIntoParts","useGrouping","minusSign","plusSign","percentSign","substring","unitName","unitPattern","currencyNameData","displayName","unitPatternParts_1","unitDisplay","unitData","simple","_b","numeratorUnit","denominatorUnit","numeratorUnitPattern","perUnitPattern","perUnit","perPattern","compound","per","denominatorPattern","_c","_d","interpolateMatch","digitReplacementTable","digit","fraction","decimalSepIndex","groupSepSymbol","currencyGroup","group","groups","patternGroups","primaryGroupingSize","secondaryGroupingSize","integerGroup","pop","decimalSepSymbol","currencyDecimal","exponential","exponentResult","zeroPattern","negativePattern","rules","select","PartitionNumberPattern","nan","POSITIVE_INFINITY","NEGATIVE_INFINITY","infinity","signDisplay","PartitionNumberRangePattern","xResult","yResult","xResult_1","rangeSign","yResult_1","FormatNumericRange","FormatNumericRangeToParts","index","FormatNumericToParts","nf","implDetails","parts","parts_1","negativeMapping","ceil","expand","trunc","halfCeil","halfFloor","halfExpand","halfTrunc","halfEven","positiveMapping","GetUnsignedRoundingMode","roundingMode","SetNumberFormatDigitOptions","mnfdDefault","mxfdDefault","mnid","mnfd","mxfd","mnsd","mxsd","roundingPriority","hasSd","hasFd","needSd","needFd","SetNumberFormatUnitOptions","VALID_ROUND_INCREMENT_VALUES","InitializeNumberFormat","localeData","availableLocales","numberingSystemNames","getDefaultLocale","requestedLocales","opt","matcher","localeMatcher","r","ResolveLocale","from","dataLocale","locale","cDigits","roundingIncrement","trailingZeroDisplay","defaultUseGrouping","PartitionPattern","beginIndex","endIndex","nextIndex","SupportedLocales","LookupSupportedLocales","RangePatternType","_super","isMissingLocaleDataError","__extends","_this","this","DurationRecordSign","constants_1","record","TABLE_1_1","TABLE_1","key","GetDurationUnitOptions","ecma402_abstract_1","baseStyle","stylesList","digitalBase","prevStyle","displayDefault","displayField","display","IsValidDurationRecord","DurationRecordSign_1","v","PartitionDurationFormatPattern","core_1","get_internal_slots_1","df","duration","done","separated","DurationFormat","separator","digitalFormat","_loop_1","row","TABLE_2","valueField","styleSlot","displaySlot","numberFormatUnit","nfOpts","milliseconds","microseconds","nanoseconds","fractionalDigits","list_1","NumberFormat","lfOpts","listStyle","lf","ListFormat","strings","result_1","formatted","resultIndex","resultLength","flattened","formatted_1","parts_2","ToDurationRecord","IsValidDurationRecord_1","ToIntegerIfIntegral_1","input","years","months","weeks","days","hours","minutes","seconds","ToIntegerIfIntegral","isInteger","intl_localematcher_1","GetDurationUnitOptions_1","PartitionDurationFormatPattern_1","ToDurationRecord_1","numbering_systems_generated_1","time_separators_generated_1","RESOLVED_OPTIONS_KEYS","TABLE_3","digitalDefault","constructor","initializedDurationFormat","valueList","unitOptions","resolvedOptions","ro","RESOLVED_OPTIONS_KEYS_1","obj","format","supportedLocalesOf","__defaultLocale","TIME_SEPARATORS","separators","default","polyfilled","internalSlotMap","WeakMap","supplemental","languageMatching","paradigmLocales","_locales","$enUS","_value","$cnsar","$americas","$maghreb","no","_desired","_distance","bs","hr","sr","aa","de","_oneway","nb","ru","en","nl","es","ur","hi","zh","fr","fil","ar","sk","da","id","tr","it","az","et","ff","gn","iu","kln","kok","kpe","luy","lv","mg","mn","ms","ne","om","or","ps","qu","sc","sq","syr","uz","yi","regions","UNICODE_EXTENSION_SEQUENCE_REGEX","PROCESSED_DATA","DEFAULT_MATCHING_THRESHOLD","isMatched","languageMatchInfoLocale","matchVariables","language","script","region","matches","shouldInclude","expandedMatchedRegions","list","__spreadArray","serializeLSR","lsr","findMatchingDistanceForLSR","desired","supported","d","oneway","distance","BestFitMatcher","foundLocale","extension","noExtensionLocales","noExtensionLocaleMap","l","noExtensionLocale","supportedLocales","threshold","lowestDistance","Infinity","matchedDesiredLocale","distances","desiredLocale","Locale","maximize","supportedLocale","desiredLSR","supportedLSR","matchingDistance","processData","findMatchingDistance","matchedSupportedLocale","findBestMatch","BestAvailableLocale","candidate","pos","lastIndexOf","UnicodeExtensionValue","size","searchValue","start","end","relevantExtensionKeys","requestedLocales_1","availableLocale","LookupMatcher","supportedExtension","relevantExtensionKeys_1","foundLocaleData","keyLocaleData","isArray","supportedExtensionAddition","requestedValue","optionsValue","privateIndex","preExtension","postExtension","subset","defaultLocale","algorithm","module","isToday","u","utc","date","args","toDate","$L","utcOffset","local","parse","$u","$utils","$offset","init","$d","$y","$M","getUTCMonth","$D","getUTCDate","$W","getUTCDay","$H","getUTCHours","$m","getUTCMinutes","$s","getUTCSeconds","$ms","getUTCMilliseconds","getTimezoneOffset","$x","$localOffset","h","valueOf","isUTC","toISOString","toUTCString","diff","ANY","Symbol","Comparator","comp","loose","includePrerelease","debug","semver","operator","version","re","COMPARATORLOOSE","COMPARATOR","SemVer","er","cmp","intersects","Range","sameDirectionIncreasing","sameDirectionDecreasing","sameSemVer","differentDirectionsInclusive","oppositeDirectionsLessThan","oppositeDirectionsGreaterThan","range","raw","parseRange","trim","comps","HYPHENRANGELOOSE","HYPHENRANGE","hyphenReplace","COMPARATORTRIM","comparatorTrimReplace","TILDETRIM","tildeTrimReplace","CARETTRIM","caretTrimReplace","compRe","parseComparator","replaceGTE0","some","thisComparators","isSatisfiable","rangeComparators","every","thisComparator","rangeComparator","testSet","comparators","remainingComparators","testComparator","otherComparator","replaceCarets","replaceTildes","replaceXRanges","replaceStars","isX","replaceTilde","TILDELOOSE","TILDE","M","pr","ret","replaceCaret","CARETLOOSE","CARET","replaceXRange","XRANGELOOSE","XRANGE","gtlt","xM","xm","xp","anyX","STAR","GTE0PRE","GTE0","incPr","$0","fM","fm","fp","fpr","fb","to","tM","tm","tp","tpr","tb","prerelease","allowed","major","minor","patch","MAX_LENGTH","MAX_SAFE_INTEGER","compareIdentifiers","LOOSE","FULL","build","compare","compareMain","comparePre","compareBuild","inc","release","identifier","eq","neq","gt","gte","lt","lte","op","rtl","next","COERCERTL","lastIndex","COERCE","versionA","versionB","version1","version2","v1","v2","hasPre","prefix","defaultResult","parsed","sort","internalRe","src","tokens","SEMVER_SPEC_VERSION","rcompareIdentifiers","valid","clean","rcompare","compareLoose","rsort","coerce","satisfies","toComparators","maxSatisfying","minSatisfying","minVersion","validRange","outside","gtr","ltr","simplifyRange","MAX_SAFE_COMPONENT_LENGTH","process","env","NODE_DEBUG","console","error","numeric","anum","bnum","R","createToken","isGlobal","NUMERICIDENTIFIER","NUMERICIDENTIFIERLOOSE","NONNUMERICIDENTIFIER","PRERELEASEIDENTIFIER","PRERELEASEIDENTIFIERLOOSE","BUILDIDENTIFIER","MAINVERSION","PRERELEASE","BUILD","FULLPLAIN","MAINVERSIONLOOSE","PRERELEASELOOSE","LOOSEPLAIN","XRANGEIDENTIFIER","XRANGEIDENTIFIERLOOSE","GTLT","XRANGEPLAIN","XRANGEPLAINLOOSE","LONETILDE","LONECARET","versions","maxSV","rangeObj","minSV","minver","comparator","compver","hilo","gtfn","ltefn","ltfn","ecomp","high","low","prev","ranges","simplified","original","simpleSubset","sub","dom","eqSet","gtltComp","higher","lower","hasDomLT","hasDomGT","higherGT","lowerLT","sawNonNull","OUTER","simpleSub","simpleDom","isSub","__WEBPACK_EXTERNAL_MODULE__9688__","extendStatics","setPrototypeOf","__proto__","__","__assign","assign","__rest","getOwnPropertySymbols","propertyIsEnumerable","__decorate","decorators","desc","getOwnPropertyDescriptor","Reflect","decorate","__param","paramIndex","decorator","__esDecorate","ctor","descriptorIn","contextIn","initializers","extraInitializers","accept","kind","descriptor","context","access","addInitializer","unshift","__runInitializers","thisArg","useValue","__propKey","__setFunctionName","description","__metadata","metadataKey","metadataValue","metadata","__awaiter","_arguments","generator","Promise","resolve","reject","fulfilled","step","rejected","then","__generator","body","g","label","sent","trys","ops","verb","iterator","__createBinding","k2","__esModule","__values","__read","__spread","__spreadArrays","il","j","jl","pack","__await","__asyncGenerator","asyncIterator","q","resume","fulfill","settle","shift","__asyncDelegator","__asyncValues","__makeTemplateObject","cooked","__setModuleDefault","__importStar","__importDefault","__classPrivateFieldGet","receiver","state","__classPrivateFieldSet","__classPrivateFieldIn","__addDisposableResource","async","dispose","asyncDispose","stack","_SuppressedError","SuppressedError","suppressed","__disposeResources","fail","hasError","rec","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","getter","definition","toStringTag","getLocale","window","i18next","age","birthDate","currentDate","dayjs","hourDiff","dayDiff","weekDiff","monthDiff","yearDiff","minuteDiff","minutesDisplay","remainderDayDiff","subtract","remainderMonthDiff","$735220c2d4774dd3$export$e16d8520af44a096","mutableDate","copy","hour","minute","second","millisecond","$735220c2d4774dd3$var$nonNegativeMod","$735220c2d4774dd3$var$balanceTime","$735220c2d4774dd3$var$addTimeFields","$735220c2d4774dd3$var$addYears","calendar","balanceYearMonth","month","$735220c2d4774dd3$var$balanceYearMonth","$735220c2d4774dd3$var$constrainMonthDay","day","getDaysInMonth","$735220c2d4774dd3$var$balanceDay","balanceDate","year","maxYear","getYearsInEra","_mutableDate_calendar_isInverseEra","_mutableDate_calendar","isInverseEra","getMonthsInYear","maxMonth","_date_calendar_isInverseEra","_date_calendar","monthsInYear","constrainDate","$735220c2d4774dd3$export$4e2d2ead65e5f7e3","inverseDuration","$735220c2d4774dd3$export$3e2544e88a25bff8","$735220c2d4774dd3$export$adaa4cf7ef1b65be","era","$735220c2d4774dd3$export$d52ced6badfb9a4c","amount","mutable","eras","getEras","eraIndex","$735220c2d4774dd3$var$cycleValue","_mutable_calendar_isInverseEra","_mutable_calendar","div","$14e0f24ef4ac5c92$export$68781ddf31c0090f","toJulianDay","$14e0f24ef4ac5c92$var$timeToMs","$14e0f24ef4ac5c92$var$localTimeZone","DateTimeFormat","timeZone","$2b4dce13dd5a17fa$export$842a2cf37af977e1","Map","$3b62074eb05584b2$export$f297eb839006d339","y1","$3b62074eb05584b2$export$c36e0ecb2d4fa69d","monthOffset","$3b62074eb05584b2$export$553d7fa8e3805fc0","$3b62074eb05584b2$var$EPOCH","$3b62074eb05584b2$export$4475b7e617eb123c","$3b62074eb05584b2$var$daysInMonth","leapyear","fromJulianDay","jd","jd0","depoch","quadricent","dqc","cent","dcent","quad","dquad","yindex","extendedYear","yearDay","leapAdj","getDaysInYear","$fae977aafc393c5c$export$60dfd74aa96791bd","gregorianDate","padStart","_class_private_field_init","privateMap","privateCollection","_check_private_redeclaration","$35ea8db9cb2ccb90$var$shiftArgs","$35ea8db9cb2ccb90$var$_type","cycle","$11d87f3f76e88657$export$e67a095c620b86fe","$35ea8db9cb2ccb90$var$_type2","mutableValue","hourCycle","isPM","disambiguation","res","$11d87f3f76e88657$var$epochFromParts","setUTCHours","setUTCFullYear","getTime","$11d87f3f76e88657$export$59c99f3515d3493f","$11d87f3f76e88657$var$getTimeZoneParts","$11d87f3f76e88657$var$formattersByTimeZone","formatter","hour12","namedParts","$11d87f3f76e88657$var$DAYMILLIS","dateTime","setFullYear","setHours","offsetBefore","offsetAfter","earlier","later","absolute","$11d87f3f76e88657$var$isValidWallTime","$11d87f3f76e88657$var$getValidWallTimes","calendarDate","$8d73d47422ca7302$export$42d20a78301dee44","super","$8d73d47422ca7302$var$toGregorian","$b956b2d7a6cf451f$var$ETHIOPIC_EPOCH","$b956b2d7a6cf451f$var$COPTIC_EPOCH","$b956b2d7a6cf451f$var$AMETE_MIHRET_DELTA","$b956b2d7a6cf451f$var$ceToJulianDay","epoch","$b956b2d7a6cf451f$var$julianDayToCE","$b956b2d7a6cf451f$var$getLeapDay","$b956b2d7a6cf451f$var$getDaysInMonth","$b956b2d7a6cf451f$export$26ba6eab5e20cd7d","$b956b2d7a6cf451f$export$d72e0c37005a4914","$b956b2d7a6cf451f$export$fe6243cbe1a4b7c1","$7c5f6fbf42389787$var$HEBREW_EPOCH","$7c5f6fbf42389787$var$isLeapYear","$7c5f6fbf42389787$var$hebrewDelay1","$7c5f6fbf42389787$var$startOfYear","last","present","$7c5f6fbf42389787$var$hebrewDelay2","$7c5f6fbf42389787$var$getDaysInYear","$7c5f6fbf42389787$var$getDaysInMonth","yearType","yearLength","$7c5f6fbf42389787$var$getYearType","$7c5f6fbf42389787$export$ca405048b8fb5af","$7c5f6fbf42389787$var$MONTH_DAYS","ys","dayOfYear","monthStart","previousDate","$82c358003bdda0a8$export$39f31c639fa15726","leapMonth","indianMonth","indianDay","indianYear","yDay","mDay","$f2f3e0e3a817edbd$var$CIVIL_EPOC","$f2f3e0e3a817edbd$var$ASTRONOMICAL_EPOC","$f2f3e0e3a817edbd$var$UMALQURA_YEAR_START","$f2f3e0e3a817edbd$var$UMALQURA_YEAR_END","$f2f3e0e3a817edbd$var$UMALQURA_START_DAYS","$f2f3e0e3a817edbd$var$islamicToJulianDay","$f2f3e0e3a817edbd$var$julianDayToIslamic","$f2f3e0e3a817edbd$var$isLeapYear","$f2f3e0e3a817edbd$export$2066795aadd37bfc","$f2f3e0e3a817edbd$export$37f0887f2f9d22f7","$f2f3e0e3a817edbd$var$UMALQURA_MONTHLENGTH","$f2f3e0e3a817edbd$var$UMALQURA_YEAR_START_TABLE","$f2f3e0e3a817edbd$var$umalquraYearStart","$f2f3e0e3a817edbd$var$umalquraMonthLength","mask","$f2f3e0e3a817edbd$var$umalquraMonthStart","$f2f3e0e3a817edbd$var$umalquraYearLength","$f2f3e0e3a817edbd$export$5baab4758c231076","startDays","endDays","monthLength","Uint16Array","Uint8Array","atob","charCodeAt","buffer","Uint32Array","yearStart","$62225008020f0a13$var$ERA_START_DATES","$62225008020f0a13$var$ERA_END_DATES","$62225008020f0a13$var$ERA_ADDENDS","$62225008020f0a13$var$ERA_NAMES","$62225008020f0a13$var$findEraFromGregorianDate","idx","findIndex","$62225008020f0a13$var$toGregorian","eraAddend","$62225008020f0a13$export$b746ab2b60cdffbf","endYear","endMonth","endDay","startMonth","startDay","cur","getMinimumMonthInYear","$62225008020f0a13$var$getMinimums","getMinimumDayInMonth","$f3ed2e4472ae7e25$var$MONTH_START","$f3ed2e4472ae7e25$export$37fccdbfd14c5939","daysSinceEpoch","$f3ed2e4472ae7e25$var$PERSIAN_EPOCH","$5f31bd6f0c8940b2$var$TAIWAN_ERA_START","$5f31bd6f0c8940b2$var$gregorianYear","$5f31bd6f0c8940b2$var$gregorianToTaiwan","$5f31bd6f0c8940b2$export$65e01080afcb0799","$5f31bd6f0c8940b2$var$toGregorian","isoFormat","isOmrsDateStrict","omrsPayloadString","isValid","isOmrsDateToday","toDateObjectStrict","omrsDateString","toOmrsIsoString","toUTC","parseDate","dateString","defaultOptions","mode","noToday","registeredLocaleCalendars","LocaleCalendars","register","registry","getCalendar","defaultCalendar","registerDefaultCalendar","getDefaultCalendar","locale_","formatDate","localeString","_locale","formatterOptions","RelativeTimeFormat","toLocaleUpperCase","formatParts","formatTime","toLocaleTimeString","formatDatetime","convertToLocaleCalendar","localCalendarName","toCalendar","createCalendar","isOnline","online","offlineEnabled","navigator","onLine","getPatientName","patient","formatPatientName","selectPreferredName","text","forenames","given","family","defaultFormat","formattedName","preferredNames","usage","find","use","nameUsageMatches","shallowEqual","objAKeys","getOwnPropertyNames","objBKeys","canAccessStorage","storage","localStorage","getItem","getDefaultsFromConfigSchema","schema","tmp","_default","startsWith","normalizeOnlyVersion","isVersionSatisfied","requiredVersion","installedVersion","ver","pre","normalizeFullVersion","retry","fn","shouldRetry","getDelay","onError","attempt","lastError","maxAttempts","limitAttempts","startingDelay","initialDelay","getExponentialDelay","delay","setTimeout"],"sourceRoot":""}
|