{"version":3,"file":"js/initialize.min.js","mappings":"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AI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,EAC3F;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAAmE,CAAC,CAC9F;AAEM,IAAMC,QAAQ,GAAG,CACpB;EAAEr1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAA0E,CAAC,EAClG;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAA0E,CAAC,EAClG;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAA0E,CAAC,EAClG;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAA0E,CAAC,EAClG;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAA0E,CAAC,EAClG;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAA0E,CAAC,EAClG;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAA0E,CAAC,EAClG;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAA0E,CAAC,EAClG;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAA0E,CAAC,EAClG;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAA0E,CAAC,EAClG;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAA0E,CAAC,EAClG;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAA0E,CAAC,EAClG;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAA0E,CAAC,EAClG;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAA0E,CAAC,EAClG;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAA0E,CAAC,EAClG;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAA0E,CAAC,EAClG;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAA0E,CAAC,EAClG;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAA0E,CAAC,EAClG;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAA0E,CAAC,EAClG;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAA0E,CAAC,EAClG;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAA0E,CAAC,EAClG;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAA0E,CAAC,EAClG;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAA0E,CAAC,EAClG;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAA0E,CAAC,EAClG;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAA0E,CAAC,EAClG;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAA0E,CAAC,EAClG;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAA0E,CAAC,EAClG;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAA0E,CAAC,EAClG;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAA0E,CAAC,EAClG;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAA0E,CAAC,EAClG;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAA0E,CAAC,EAClG;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAA0E,CAAC,EAClG;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAA0E,CAAC,EAClG;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAA0E,CAAC,EAClG;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAA0E,CAAC,EAClG;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAA0E,CAAC,EAClG;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAA0E,CAAC,EAClG;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAA0E,CAAC,EAClG;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAA0E,CAAC,EAClG;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAA0E,CAAC,EAClG;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAA0E,CA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EAAEo1B,SAAS,EAAE;AAA0E,CAAC;AAAC;AACnG;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAA0E,CAAC;AAAC;AACnG;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAA0E,CAAC;AAAC;AACnG;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAA0E,CAAC;AAAC;AACnG;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAA0E,CAAC;AAAC;AACnG;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAA0E,CAAC;AAAC;AACnG;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAA0E,CAAC;AAAC;AACnG;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAA0E,CAAC;AAAC;AACnG;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAA0E,CAAC;AAAC;AACnG;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAA0E,CAAC;AAAC;AACnG;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAA0E,CAAC;AAAC;AACnG;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAA0E,CAAC;AAAC;AACnG;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAA0E,CAAC;AAAC;AACnG;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAA0E,CAAC;AAAC;AACnG;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAA0E,CAAC;AAAC;AACnG;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAA0E,CAAC;AAAC;AACnG;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAA0E,CAAC;AAAC;AACnG;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAA0E,CAAC;AAAC;AACnG;EAAEp1B,EAAE,EAAE,IAAI;EAAEo1B,SAAS,EAAE;AAA0E,CAAC;AAAC;AACnG;EAAEp1B,EAAE,EAAE,IAAI;EAA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E,kEAAkE;AAAE;AACpE,kEAAkE;AAAE;AACpE,kEAAkE;AAAE;AACpE,kEAAkE;AAAE;AACpE,kEAAkE;AAAE;AACpE,kEAAkE;AAAE;AACpE,kEAAkE;AAAE;AACpE,kEAAkE;AAAE;AACpE,kEAAkE;AAAE;AACpE,kEAAkE;AAAE;AACpE,kEAAkE;AAAE;AACpE,kEAAkE;AAAE;AACpE,kEAAkE;AAAE;AACpE,kEAAkE;AAAE;AACpE,kEAAkE;AAAE;AACpE,kEAAkE;AAAE;AACpE,kEAAkE;AAAE;AACpE,kEAAkE;AAAE;AACpE,kEAAkE;AAAE;AACpE,kEAAkE;AAAE;AACpE,kEAAkE;AAAE;AACpE,kEAAkE;AAAE;AACpE,kEAAkE;AAAE;AACpE,kEAAkE;AAAE;AACpE,kEAAkE;AAAE;AACpE,kEAAkE;AAAE;AACpE,kEAAkE;AAAE;AACpE,kEAAkE;AAAE;AACpE,kEAAkE;AAAE;AACpE,kEAAkE;AAAE;AACpE,kEAAkE;AAAE;AACpE,kEAAkE;AAAE;AACpE,kEAAkE;AAAE;AACpE,kEAAkE;AAAE;AACpE,kEAAkE;AAAE;AACpE,kEAAkE;AAAE;AACpE,kEAAkE;AAAE;AACpE,kEAAkE;AAAE;AACpE,kEAAkE;AAAE;AACpE,kEAAkE;AAAE;AACpE,kEAAkE;AAAE;AACpE,kEAAkE;AAAE;AACpE,kEAAkE;AAAE;AACpE,kEAAkE;AAAE;AACpE,kEAAkE;AAAE;AACpE,kEAAkE;AAAE;AACpE,kEAAkE;AAAE;AACpE,kEAAkE;AAAE;AACpE,kEAAkE;AAAE;AACpE,kEAAkE;AAAE;AACpE,kEAAkE;AAAE;AACpE,kEAAkE;AAAE;AACpE,kEAAkE;AAAE;AACpE,kEAAkE;AAAE;AACpE,kEAAkE;AAAE;AACpE,kEAAkE;AAAE;AACpE,kEAAkE;AAAE;AACpE,kEAAkE;AAAE;AACpE,kEAAkE;AAAE;AACpE,kEAAkE;AAAE;AACpE,kEAAkE;AAAE;AACpE,kEAAkE;AAAE;AACpE,kEAAkE;AAAE;AACpE,kEAAkE;AAAE;AACpE,kEAAkE;AAAE;AACpE,kEAAkE;AAAE;AACpE,kEAAkE;AAAE;AACpE,kEAAkE;AAAE;AACpE,kEAAkE;AAAE;AACpE,kEAAkE;AAAE;AACpE,kEAAkE;AAAE;AACpE,kEAAkE;AAAE;AACpE,kEAAkE;AAAE;AACpE,kEAAkE;AAAE;AACpE,kEAAkE;AAAE;AACpE,kEAAkE;AAAE;AACpE,kEAAkE;AAAE;AACpE,kEAAkE;AAAE;AACpE,kEAAkE;AAAE;AACpE,kEAAkE;AAAE;AACpE,kEAAkE;AAAE;AACpE,kEAAkE;AAAE;AACpE,kEAAkE;AAAE;AACpE,kEAAkE;AAAE;AACpE,kEAAkE;AAAE;AACpE,kEAAkE;AAAE;AACpE,kEAAkE;AAAE;AACpE,kEAAkE;AAAE;AACpE,kEAAkE;AAAE;AACpE,kEAAkE;AAAE;AACpE,kEAAkE;AAAE;AACpE,kEAAkE;AAAE;AACpE,kEAAkE;AAAE;AACpE,kEAAkE;AAAE;AACpE,kEAAkE;AAAE;AACpE,kEAAkE;AAAE;AACpE;AACA,kEAAkE,EAClE,kEAAkE,EAClE,kEAAkE,EAClE,kEAAkE,EAClE,kEAAkE,EAClE,kEAAkE,EAClE,kEAAkE,EAClE,kEAAkE,EAClE,kEAAkE,EAClE,kEAAkE,EAClE,kEAAkE,EAClE,kEAAkE,EAClE,kEAAkE,EAClE,kEAAkE,EAClE,kEAAkE,EAClE,kEAAkE,EAClE,kEAAkE,EAClE,kEAAkE,EAClE,kEAAkE,EAClE,kEAAkE,EAClE,kEAAkE,EAClE,kEAAkE,EAClE,kEAAkE,EAClE,kEAAkE,EAClE,kEAAkE,EAClE,kEAAkE,EAClE,kEAAkE,EAClE,kEAAkE,EAClE,kEAAkE,EAClE,kEAAkE,EAClE,kEAAkE,EAClE,kEAAkE,EAClE,kEAAkE,EAClE,kEAAkE,EAClE,kEAAkE,EAClE,kEAAkE,EAClE,kEAAkE,EAClE,kEAAkE,EAClE,kEAAkE,EAClE,kEAAkE,EAClE,kEAAkE,EAClE,kEAAkE,EAClE,kEAAkE,EAClE,kEAAkE,EAClE,kEAAkE,EAClE,kEAAkE,EAClE,kEAAkE,EAClE,kEAAkE,EAClE,kEAAkE,EAClE,kEAAkE,EAClE,kEAAkE,EAClE,kE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AAE;AACpE,kEAAkE;AAAE;AACpE,kEAAkE;AAAE;AACpE,kEAAkE;AAAE;AACpE,kEAAkE;AAAE;AACpE,kEAAkE;AAAE;AACpE,kEAAkE;AAAE;AACpE,kEAAkE;AAAE;AACpE,kEAAkE;AAAE;AACpE,kEAAkE;AAAE;AACpE,kEAAkE;AAAE;AACpE,kEAAkE;AAAE;AACpE,kEAAkE;AAAE;AACpE,kEAAkE;AAAE;AACpE,kEAAkE;AAAE;AACpE,kEAAkE;AAAE;AACpE,kEAAkE;AAAE;AACpE,kEAAkE;AAAE;AACpE,kEAAkE;AAAE;AACpE,kEAAkE;AAAE;AACpE,kEAAkE;AAAE;AACpE,kEAAkE;AAAE;AACpE,kEAAkE;AAAE;AACpE,kEAAkE;AAAE;AACpE,kEAAkE;AAAE;AACpE,kEAAkE;AAAE;AACpE,kEAAkE;AAAE;AACpE,kEAAkE;AAAE;AACpE,kEAAkE;AAAE;AACpE,kEAAkE;AAAE;AACpE,kEAAkE;AAAE;AACpE,kEAAkE;AAAE;AACpE,kEAAkE;AAAE;AACpE,kEAAkE;AAAE;AACpE,kEAAkE;AAAE;AACpE,kEAAkE;AAAE;AACpE,kEAAkE;AAAE;AACpE,kEAAkE;AAAE;AACpE,kEAAkE;AAAE;AACpE,kEAAkE;AAAE;AACpE,kEAAkE;AAAE;AACpE,kEAAkE;AAAE;AACpE,kEAAkE;AAAE;AACpE,kEAAkE;AAAE;AACpE,kEAAkE;AAAE;AACpE,kEAAkE;AAAE;AACpE,kEAAkE;AAAE;AACpE,kEAAkE;AAAE;AACpE,kEAAkE;AAAE;AACpE,kEAAkE;AAAE;AACpE,kEAAkE;AAAE;AACpE,kEAAkE;AAAE;AACpE,kEAAkE;AAAE;AACpE,kEAAkE;AAAE;AACpE,kEAAkE;AAAE;AACpE,kEAAkE;AAAE;AACpE,kEAAkE;AAAE;AACpE,kEAAkE;AAAE;AACpE,kEAAkE;AAAE;AACpE,kEAAkE;AAAE;AACpE,kEAAkE;AAAE;AACpE,kEAAkE;AAAE;AACpE,kEAAkE;AAAE;AACpE,kEAAkE;AAAE;AACpE,kEAAkE;AAAE;AACpE,kEAAkE;AAAE;AACpE,kEAAkE;AAAE;AACpE,kEAAkE;AAAE;AACpE,kEAAkE;AAAE;AACpE,kEAAkE;AAAE;AACpE,kEAAkE;AAAE;AACpE,kEAAkE;AAAE;AACpE,kEAAkE;AAAE;AACpE,kEAAkE;AAAE;AACpE,kEAAkE;AAAE;AACpE,kEAAkE;AAAE;AACpE,kEAAkE;AAAE;AACpE,kEAAkE;AAAE;AACpE;AACA,kEAAkE,EAClE,kEAAkE,EAClE,kEAAkE,EAClE,kEAAkE,EAClE,kEAAkE,EAClE,kEAAkE,EAClE,kEAAkE,EAClE,kEAAkE,EAClE,kEAAkE,EAClE,kEAAkE,EAClE,kEAAkE,EAClE,kEAAkE,EAClE,kEAAkE,EAClE,kEAAkE,EAClE,kEAAkE,EAClE,kEAAkE,EAClE,kEAAkE,EAClE,kEAAkE,EAClE,kEAAkE,EAClE,kEAAkE,EAClE,kEAAkE,EAClE,kEAAkE,EAClE,kEAAkE,EAClE,kEAAkE,EAClE,kEAAkE,EAClE,kEAAkE,EAClE,kEAAkE,EAClE,kEAAkE,EAClE,kEAAkE,EAClE,kEAAkE,EAClE,kEAAkE,EAClE,kEAAkE,EAClE,kEAAkE,EAClE,kEAAkE,EAClE,kEAAkE,EAClE,kEAAkE,EAClE,kEAAkE,EAClE,kEAAkE,EAClE,kEAAkE,EAClE,kEAAkE,EAClE,kEAAkE,EAClE,kEAAkE,EAClE,kEAAkE,EAClE,kEAAkE,EAClE,kEAAkE,EAClE,kEAAkE,EAClE,kEAAkE,EAClE,kEAAkE,EAClE,kEAAkE,EAClE,kEAAkE,EAClE,kEAAkE,EAClE,kEAAkE,EAClE,kEAAkE,EAClE,kEAAkE,EAClE,kEAAkE,EAClE,kEAAkE,EAClE,kEAAkE,EAClE,kEAAkE,EAClE,kEAAkE,EAClE,kEAAkE,EAClE,kEAAkE,EAClE,kEAAkE,EAClE,kEAAkE,EAClE,kEAAkE,EAClE,kEAAkE,EAClE,kEAAkE,EAClE,kEAAkE,EAClE,kEAAkE,EAClE,kEAAkE,EAClE,kEAAkE,EAClE,kEAAkE,EAClE,kEAAkE,EAClE,kEAAkE,EAClE,kEAAkE,EAClE,kEAAkE,EAClE,kEAAkE,EAClE,kEAAkE,EACl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8BAA8B,6DAAY;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,MAAM,2DAAM;AACZ;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;;AAEP;AACA;AACA;;AAEA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,iBAAiB,2DAAU,oBAAoB,2DAAU;;AAEzD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB,2DAAU,kBAAkB,2DAAU;;AAEvD;AACA;AACA;;AAEA;AACA;AACA;AACA,mDAAmD,iEAAoB;AACvE;AACA;AACA;AACA,iBAAiB,2DAAU;AAC3B;AACA,2CAA2C,2DAAU,aAAa,2DAAU;AAC5E;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,MAAM,iDAAK;AACX;AACA,OAAO;AACP;;AAEA;AACA,SAAS,iDAAK;AACd;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,4CAA4C,sFAAoB;AAChE;AACA;;AAEA;AACA;AACA,wCAAwC,sFAAoB;;AAE5D;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA4C,gEAAa;AACzD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,qBAAqB,qEAAa;;AAElC,oBAAoB,0DAAQ;AAC5B,iBAAiB,2DAAU,2CAA2C,2DAAU;AAChF;AACA;;;AAGA;AACA;AACA,GAAG;AACH,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACpMY;;AAEkB;AACM;AACD;AACY;AACL;AACc;AACH;AACJ;AACN;AACN;AACW;AACH;AACL;AACY;AACH;AACJ;AACW;;AAEzD;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,aAAa,OAAO;AACpB;AACA;AACA,sBAAsB,sDAAK;AAC3B,mBAAmB,4DAAI,CAAC,sDAAK;;AAE7B;AACA,EAAE,iDAAK,kBAAkB,sDAAK,sBAAsB,iBAAiB;;AAErE;AACA,EAAE,iDAAK,kCAAkC,iBAAiB;;AAE1D;AACA;AACA,0BAA0B,gEAAW;AACrC;;AAEA;AACA;;AAEA;AACA,6BAA6B,0DAAQ;;AAErC;AACA,cAAc,sDAAK;;AAEnB;AACA,sBAAsB,gEAAa;AACnC,oBAAoB,8DAAW;AAC/B,iBAAiB,2DAAQ;AACzB,gBAAgB,iDAAO;AACvB,mBAAmB,8DAAU;;AAE7B;AACA,mBAAmB,4DAAU;;AAE7B;AACA;;AAEA;AACA;AACA;AACA;;AAEA,eAAe,2DAAM;;AAErB;AACA,qBAAqB,iEAAY;;AAEjC;AACA,oBAAoB,4DAAW;;AAE/B,qBAAqB,8DAAY;;AAEjC,4BAA4B,uEAAc,CAAC,iDAAK;;AAEhD,mBAAmB,8DAAQ;;AAE3B,uBAAuB,mEAAc;;AAErC;;AAEA;AACA,+DAAe,KAAK;;;;;;;;;;;;;;ACxFP;;AAEkC;;AAE/C;AACA;AACA;AACA,WAAW,UAAU;AACrB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,KAAK;;AAEL;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,yBAAyB,yDAAa;AACtC;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,MAAM;AACN;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA,+DAAe,WAAW,EAAC;;;;;;;;;;;;;;;ACtId;;AAEkC;AACf;;AAEhC;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB;AACA,aAAa,eAAe;AAC5B;AACA;AACA;AACA,EAAE,2DAAU,oDAAoD,2DAAU;AAC1E;AACA;;AAEA,iDAAK,yBAAyB,2DAAU;AACxC;AACA,CAAC;;AAED,+DAAe,aAAa,EAAC;;;;;;;;;;;;;;;;ACxBhB;;AAEE;AACf;AACA;;;;;;;;;;;;;;;;;;;;;ACJa;;AAEqB;AACY;AACW;AACN;AACR;AACI;AACC;AACH;;AAE7C,mBAAmB,6DAAS;;AAE5B;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA,mBAAmB,8DAAkB;AACrC,oBAAoB,8DAAkB;AACtC;AACA;;AAEA;AACA;AACA;AACA,aAAa,eAAe;AAC5B,aAAa,SAAS;AACtB;AACA,eAAe,SAAS;AACxB;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA,UAAU;AACV;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;;AAEA,aAAa,2DAAW;;AAExB,WAAW,yCAAyC;;AAEpD;AACA,MAAM,6DAAS;AACf;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA,UAAU,iDAAK;AACf;AACA;AACA;AACA,QAAQ;AACR,QAAQ,6DAAS;AACjB;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;AACA,MAAM;AACN;AACA,MAAM;AACN;AACA;;AAEA,IAAI,6DAAS;AACb;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA,oCAAoC,iDAAK;AACzC;AACA;AACA;;AAEA,eAAe,iDAAK;AACpB;AACA;AACA;AACA;AACA;;AAEA,qBAAqB,wDAAY;;AAEjC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;AACA,qBAAqB,2DAAe;AACpC;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;;AAEA;AACA,gBAAgB,2DAAe;AAC/B,MAAM;AACN;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,aAAa,2DAAW;AACxB,qBAAqB,6DAAa;AAClC,WAAW,gEAAQ;AACnB;AACA;;AAEA;AACA,iDAAK;AACL;AACA;AACA,wBAAwB,2DAAW,aAAa;AAChD;AACA;AACA,yBAAyB;AACzB,KAAK;AACL;AACA,CAAC;;AAED,iDAAK;AACL;;AAEA;AACA;AACA,0BAA0B,2DAAW,aAAa;AAClD;AACA;AACA;AACA,UAAU,IAAI;AACd;AACA;AACA,OAAO;AACP;AACA;;AAEA;;AAEA;AACA,CAAC;;AAED,+DAAe,KAAK,EAAC;;;;;;;;;;;;;;ACjPR;;AAEmB;;AAEhC;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA,aAAa,OAAO;AACpB;AACA;AACA;;AAEA;AACA;AACA,IAAI;AACJ;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,iDAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,iDAAK;AACnB;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB;AACvB,CAAC;;AAED;AACA,kDAAkD,YAAY;;AAE9D;AACA;AACA;;AAEA,EAAE,iDAAK;AACP;AACA,GAAG;AACH;AACA,GAAG;;AAEH;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA,+DAAe,UAAU,EAAC;;;;;;;;;;;;;;;ACtGb;;AAEmB;AACsB;;AAEtD;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,SAAS,iDAAK;AACd;;AAEA;AACA;AACA,2BAA2B,mBAAmB;AAC9C;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA,MAAM,iDAAK;AACX;AACA;;AAEA;AACA;AACA;;AAEA,OAAO,iDAAK;;AAEZ,MAAM,iDAAK;AACX;AACA;;AAEA,MAAM,iDAAK;AACX;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA,uBAAuB,iDAAK;;AAE5B;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,KAAK;AACL,GAAG;AACH;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA,kBAAkB,iDAAK;;AAEvB;AACA;AACA;AACA;;AAEA;AACA,MAAM,iDAAK;;AAEX,QAAQ,iDAAK;AACb;AACA,MAAM,QAAQ,iDAAK;AACnB,iBAAiB,oEAAY;AAC7B,MAAM,SAAS,iDAAK;AACpB;AACA;AACA;AACA,MAAM;AACN;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,kBAAkB,iDAAK;;AAEvB;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,YAAY,iDAAK;AACjB;AACA;;AAEA,YAAY,iDAAK;AACjB;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,kBAAkB,iDAAK;;AAEvB;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,oBAAoB,iDAAK;;AAEzB;AACA;;AAEA;AACA;AACA;AACA;;AAEA,QAAQ,iDAAK;AACb;AACA,MAAM;AACN;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA,IAAI,iDAAK;AACT,kBAAkB,iDAAK;;AAEvB;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,IAAI,iDAAK;AACT,sEAAsE,iDAAK;AAC3E,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,IAAI,iDAAK;;AAET;AACA;AACA;;AAEA;;AAEA;AACA,iDAAK,6CAA6C,MAAM;AACxD,oDAAoD;AACpD;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED,iDAAK;;AAEL,+DAAe,YAAY,EAAC;;;;;;;;;;;;;;AC7Sf;;AAEqB;;AAElC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,UAAU;AACvB,aAAa,UAAU;AACvB;AACA,cAAc,QAAQ;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA,aAAa,QAAQ;AACrB;AACA,eAAe,SAAS;AACxB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,UAAU;AACvB;AACA,eAAe;AACf;AACA;AACA,IAAI,iDAAK;AACT;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA,+DAAe,kBAAkB,EAAC;;;;;;;;;;;;;;;;;;ACtErB;;AAE2C;AACJ;;AAEpD;AACA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA,aAAa,QAAQ;AACrB;AACe;AACf,uBAAuB,qEAAa;AACpC;AACA,WAAW,mEAAW;AACtB;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;ACrBa;;AAEkC;AACF;AACD;AACW;AACJ;AACJ;;AAE/C;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;;AAEA;AACA,cAAc,gEAAa;AA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,qBAAqB,iDAAK;AACvC;AACA;;AAEA,gBAAgB,iDAAK;AACrB;AACA;;AAEA;AACA;AACA,QAAQ;AACR;AACA;AACA,kBAAkB,2DAAU,SAAS,2DAAU;AAC/C;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,cAAc,0DAAQ;AACtB,UAAU,0DAAQ;AAClB,GAAG;;AAEH;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,iDAAK;AACL;AACA,CAAC;;AAED,+DAAe,QAAQ,EAAC;;;;;;;;;;;;;AChKX;;AAEb,+DAAe;AACf;AACA;AACA;AACA,CAAC,EAAC;;;;;;;;;;;;;;;;ACNK;;;;;;;;;;;;;ACAM;;AAE4B;;AAEzC;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA,WAAW,qBAAqB;AAChC,WAAW,qBAAqB;AAChC;AACA,aAAa;AACb;AACA;AACA;;AAEA,YAAY,0DAAU;AACtB;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAI;;AAEJ;AACA;AACA,GAAG;AACH;;AAEA,+DAAe,oBAAoB,EAAC;;;;;;;;;;;;;ACzDpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC;;AAED,+DAAe,cAAc,EAAC;;;;;;;;;;;;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WAAW,EAAC;;;;;;;;;;;;;;;;ACtDd;;AAEb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B;AAC/B;AACA;AACA,WAAW,UAAU;AACrB;AACA,aAAa;AACb;AACe;AACf;AACA;AACA;AACA;;;;;;;;;;;;;AC3BA;AACA;AACA,WAAW,UAAU;AACrB,WAAW,QAAQ;AACnB,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA,+DAAe,QAAQ,EAAC;;;;;;;;;;;;;;;;AC3CX;;AAEmB;AACe;AAC/C;AACoE;;AAEpE;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,aAAa;AACb;AACA;AACA,SAAS,iDAAK,yBAAyB,iDAAK;AAC5C;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,aAAa,QAAQ;AACrB;AACA;AACA,SAAS,iDAAK;AACd;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA,WAAW,YAAY;AACvB;AACA,aAAa;AACb;AACA;AACA,SAAS,iDAAK;AACd;;AAEA,mBAAmB,iDAAK,cAAc,iDAAK,IAAI;AAC/C;AACA,CAAC;;AAED;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB,WAAW,UAAU;AACrB,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB,WAAW,UAAU;AACrB;AACA,aAAa;AACb;;AAEA;AACA;AACA;AACA,WAAW,kBAAkB;AAC7B,WAAW,QAAQ;AACnB,WAAW,qBAAqB;AAChC;AACA;AACA;AACA;AACA,OAAO,iDAAK;AACZ;AACA;;AAEA;AACA,8BAA8B,0EAAgB;;AAE9C;AACA,YAAY,iDAAK;AACjB;AACA;AACA;AACA,GAAG;AACH;AACA,YAAY,iDAAK;AACjB,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,iDAAK;;AAEhC,OAAO,iDAAK;AACZ;AACA;;AAEA;AACA;;AAEA,QAAQ,iDAAK;AACb;AACA;;AAEA,oBAAoB,iDAAK;AACzB,gBAAgB,2DAAU;AAC1B;;AAEA,QAAQ,iDAAK,yBAAyB,iDAAK;AAC3C;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,aAAa,GAAG;AAChB,aAAa,eAAe;AAC5B,aAAa,sBAAsB;AACnC,YAAY;AACZ;AACA,eAAe,SAAS;AACxB;AACA;AACA;;AAEA;AACA,UAAU,iDAAK,kBAAkB;AACjC;AACA;AACA;AACA;AACA,QAAQ;AACR,SAAS,iDAAK;AACd,UAAU,iDAAK,sBAAsB,iDAAK,gCAAgC,iDAAK;AAC/E;AACA;AACA;;AAEA;AACA,YAAY,iDAAK;AACjB;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA,QAAQ,iDAAK;;AAEb;AACA;AACA;;AAEA;;AAEA,IAAI,iDAAK;AACT,uBAAuB,iDAAK;AAC5B,sBAAsB,iDAAK;AAC3B;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA,OAAO,iDAAK;AACZ;AACA;;AAEA;;AAEA;AACA;;AAEA,+DAAe,UAAU,EAAC;;;;;;;;;;;;;;;;;;;AC1Nb;;AAEmB;AACS;AACG;;AAE7B;AACf,SAAS,0DAAU,WAAW,0DAAQ;AACtC;AACA,UAAU,0DAAQ,WAAW,iDAAK;AAClC;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;;;;;;;;;;;;;;;;;;;AChBO;AACP;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW;AACX,aAAa,aAAa;AAC1B;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;;AAEO;AACP;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe,aAAa;;AAE5B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;;;;;;;;;;;;;;;ACtFa;;AAE0B;AACQ;;AAE/C;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;;AAEA;AACA;AACA;AACA,WAAW,mBAAmB;AAC9B,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB;AACA,aAAa;AACb;AACA;AACA;AACA,wBAAwB,iDAAO;AAC/B;;AAEA;AACA;AACA;AACA,gBAAgB,2DAAU;AAC1B;AACA,QAAQ,2DAAU;AAClB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,oBAAoB,KAAK,6BAA6B,gBAAgB;AACtE;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,UAAU;AACrB;AACA,aAAa;AACb;;AAEA;AACA;AACA,cAAc,2DAAU,8BAA8B,2DAAU;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,2DAAU,yCAAyC,2DAAU;AAC/E;AACA;AACA;AACA;AACA,gBAAgB,2DAAU,0BAA0B,2DAAU;AAC9D;AACA;AACA;;AAEA,+DAAe;AACf;AACA;AACA,CAAC,EAAC;;;;;;;;;;;;;AClGU;;AAEZ,+DAAe,yCAAyC;;;;;;;;;;;;;ACF3C;;AAEb,+DAAe,iDAAiD,EAAC;;;;;;;;;;;;;;ACFpD;;AAE+D;AAC5E,+DAAe,2DAA2D,wEAAoB,EAAC;;;;;;;;;;;;;;;;ACHrC;AACd;AACR;;AAEpC,+DAAe;AACf;AACA;AACA,mBAAmB;AACnB,YAAY;AACZ,QAAQ;AACR,GAAG;AACH;AACA,CAAC,EAAC;;;;;;;;;;;;;;;;;;;;ACZF;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;;AAQC;;;;;;;;;;;;;;;AClDsC;AACI;;AAE3C,+DAAe;AACf,KAAK,6CAAK;AACV,KAAK,sDAAQ;AACb,CAAC;;;;;;;;;;;;;;ACNY;;AAEwB;;AAErC;;AAEA,OAAO,UAAU;AACjB,OAAO,gBAAgB;;AAEvB;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,aAAa,SAAS;AACtB;AACA,OAAO,SAAS;;AAEhB;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;;;AAGA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;;AAEA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,aAAa,QAAQ;AACrB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,cAAc;AACzB,WAAW,UAAU;AACrB;AACA,WAAW,SAAS;AACpB,aAAa;AACb;AACA,2BAA2B,oBAAoB,IAAI;AACnD;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,gCAAgC,OAAO;AACvC;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;;AAEA,gBAAgB,SAAS;AACzB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC;;AAED;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,SAAS,GAAG,SAAS;AAC5C,4BAA4B;AAC5B;AACA;AACA,WAAW,QAAQ;AACnB;AACA,aAAa,QAAQ;AACrB;AACA;AACA,SAAS,UAAU;AACnB;AACA;AACA;AACA;AACA;AACA,MAAM;AACN,kCAAkC;AAClC,MAAM;AACN;AACA,MAAM;AACN;AACA;AACA;;AAEA,wCAAwC,OAAO;AAC/C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA,WAAW,SAAS;AACpB,aAAa,QAAQ;AACrB;AACA,gCAAgC,WAAW,IAAI;AAC/C;AACA;AACA,eAAe,4DAAI;AACnB,MAAM;AACN;AACA;AACA,GAAG,GAAG,WAAW;AACjB;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,UAAU;AACrB,WAAW,UAAU;AACrB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,kBAAkB;AAC7B,WAAW,UAAU;AACrB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;;AAEJ;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA,WAAW,kBAAkB;AAC7B,WAAW,UAAU;AACrB;AACA,aAAa;AACb;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,0BAA0B,eAAe;;AAEzC;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA,aAAa,SAAS;AACtB;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA;AACA,WAAW,QAAQ;AACnB;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;;AAET;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,0CAA0C,aAAa;AACvD;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,GAAG,WAAW,cAAc;AAC5B,CAAC;AACD;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA,+DAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,EAAC;;;;;;;;;;;ACjuBF;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,QAAQ,KAA0B,gDAAgD;AAClF,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,yBAAyB;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,sBAAsB;AAClD;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,kBAAkB;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA8C;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,iBAAiB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA,yBAAyB;AACzB;AACA,sBAAsB;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC,2CAA2C;AAC/E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA,yBAAyB;AACzB,sBAAsB;AACtB;AACA;AACA,yBAAyB;AACzB;AACA;AACA,yBAAyB;AACzB,sBAAsB;AACtB;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,oCAAoC,2BAA2B;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC,2BAA2B;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC,4BAA4B;AACjE;AACA;AACA;AACA;AACA;AACA,4CAA4C,yBAAyB;AACrE;AACA;AACA,gDAAgD,qBAAqB;AACrE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,oCAAoC,4CAA4C;AAChF;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA,0BAA0B;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,oCAAoC,sBAAsB;AAC1D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB;AACtB;AACA;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA;AACA,8BAA8B;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA;AACA,6BAA6B;AAC7B;AACA,sBAAsB;AACtB;AACA;AACA;AACA;AACA,sBAAsB;AACtB;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC;AACjC,6BAA6B;AAC7B;AACA,6BAA6B;AAC7B;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,sBAAsB;AACtB;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B;AAC9B;AACA,8BAA8B;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,oCAAoC,2BAA2B;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,oCAAoC,2BAA2B;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA4C,yBAAyB;AACrE;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB;AACtB;AACA;AACA;AACA;AACA,sBAAsB;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,oCAAoC,wBAAwB;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB;AACtB;AACA;AACA;AACA,sBAAsB;AACtB;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA;AACA;AACA;AACA,sBAAsB;AACtB;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC,mBAAmB;AAC3D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB;AACtB;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,CAAC;;;;;;;;;;AC3nDD;AACA;AACA;AACA,6HAAmD;;;;;;;UCHnD;UACA;;UAEA;UACA;UACA;UACA;UACA;UACA;UACA;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","sources":["webpack://hypertherm-dotcom/./Assets/js/campaign-source.js","webpack://hypertherm-dotcom/./Assets/js/lead-source.js","webpack://hypertherm-dotcom/./Assets/js/libs/bouncer-es6.js","webpack://hypertherm-dotcom/./Assets/js/libs/custom-select.min.js","webpack://hypertherm-dotcom/./Assets/js/libs/micromodal.js","webpack://hypertherm-dotcom/./Assets/js/libs/read-more.js","webpack://hypertherm-dotcom/./Assets/js/libs/slider.js","webpack://hypertherm-dotcom/./Assets/js/main/tableHorizontalScroller.js","webpack://hypertherm-dotcom/./Assets/js/utilities.js","webpack://hypertherm-dotcom/./Assets/js/utm-tracking.js","webpack://hypertherm-dotcom/./Features/Calculators/PlatesaverCostSavingsCalculator/platesaver.js","webpack://hypertherm-dotcom/./Features/Calculators/PowermaxPaybackCalculator/powermax-payback-calculator.js","webpack://hypertherm-dotcom/./Features/Calculators/ShipbuildingCostCalculator/shipbuilding.js","webpack://hypertherm-dotcom/./Features/Components/Button/button-block.js","webpack://hypertherm-dotcom/./Features/Components/ContactUs/contact-us-block.js","webpack://hypertherm-dotcom/./Features/Components/EmbeddedForm/js/cloudflare-recaptcha.js","webpack://hypertherm-dotcom/./Features/Components/EmbeddedForm/js/dynamics-picklist-codes.js","webpack://hypertherm-dotcom/./Features/Components/EmbeddedForm/js/embedded-form-block.js","webpack://hypertherm-dotcom/./Features/Components/EmbeddedForm/js/epiforms-events.js","webpack://hypertherm-dotcom/./Features/Components/EmbeddedForm/js/form-validation.js","webpack://hypertherm-dotcom/./Features/Components/EmbeddedForm/js/mscrmmkt-events.js","webpack://hypertherm-dotcom/./Features/Components/EmbeddedForm/js/product-interest-data.js","webpack://hypertherm-dotcom/./Features/Components/EmbeddedForm/js/product-registration.js","webpack://hypertherm-dotcom/./Features/Components/FeaturedBrands/brand-slider.js","webpack://hypertherm-dotcom/./Features/CustomerStories/scripts/customer-stories-block.js","webpack://hypertherm-dotcom/./Features/Forms/epiforms-events.js","webpack://hypertherm-dotcom/./Features/GlobalLanding/global-landing.js","webpack://hypertherm-dotcom/./Features/HeroShot/hero-shot-slider.js","webpack://hypertherm-dotcom/./Features/LandingAndMicrosite/marquee.js","webpack://hypertherm-dotcom/./Features/ListingPages/listing-pages.js","webpack://hypertherm-dotcom/./Features/MediaGallery/js/media-gallery.js","webpack://hypertherm-dotcom/./Features/NotificationBar/notificationBar.js","webpack://hypertherm-dotcom/./Features/Products/Listing/product-listing-page.js","webpack://hypertherm-dotcom/./Features/Search/js/site-search.js","webpack://hypertherm-dotcom/./Features/SupportByProduct/resources-by-product.js","webpack://hypertherm-dotcom/./Features/WhereToBuy/js/where-to-buy-country-config.js","webpack://hypertherm-dotcom/./Features/WhereToBuy/js/where-to-buy.js","webpack://hypertherm-dotcom/./Integrations/Dynamics365/Triggers/triggers.js","webpack://hypertherm-dotcom/./node_modules/axios/lib/adapters/adapters.js","webpack://hypertherm-dotcom/./node_modules/axios/lib/adapters/fetch.js","webpack://hypertherm-dotcom/./node_modules/axios/lib/adapters/xhr.js","webpack://hypertherm-dotcom/./node_modules/axios/lib/axios.js","webpack://hypertherm-dotcom/./node_modules/axios/lib/cancel/CancelToken.js","webpack://hypertherm-dotcom/./node_modules/axios/lib/cancel/CanceledError.js","webpack://hypertherm-dotcom/./node_modules/axios/lib/cancel/isCancel.js","webpack://hypertherm-dotcom/./node_modules/axios/lib/core/Axios.js","webpack://hypertherm-dotcom/./node_modules/axios/lib/core/AxiosError.js","webpack://hypertherm-dotcom/./node_modules/axios/lib/core/AxiosHeaders.js","webpack://hypertherm-dotcom/./node_modules/axios/lib/core/InterceptorManager.js","webpack://hypertherm-dotcom/./node_modules/axios/lib/core/buildFullPath.js","webpack://hypertherm-dotcom/./node_modules/axios/lib/core/dispatchRequest.js","webpack://hypertherm-dotcom/./node_modules/axios/lib/core/mergeConfig.js","webpack://hypertherm-dotcom/./node_modules/axios/lib/core/settle.js","webpack://hypertherm-dotcom/./node_modules/axios/lib/core/transformData.js","webpack://hypertherm-dotcom/./node_modules/axios/lib/defaults/index.js","webpack://hypertherm-dotcom/./node_modules/axios/lib/defaults/transitional.js","webpack://hypertherm-dotcom/./node_modules/axios/lib/env/data.js","webpack://hypertherm-dotcom/./node_modules/axios/lib/helpers/AxiosURLSearchParams.js","webpack://hypertherm-dotcom/./node_modules/axios/lib/helpers/HttpStatusCode.js","webpack://hypertherm-dotcom/./node_modules/axios/lib/helpers/bind.js","webpack://hypertherm-dotcom/./node_modules/axios/lib/helpers/buildURL.js","webpack://hypertherm-dotcom/./node_modules/axios/lib/helpers/combineURLs.js","webpack://hypertherm-dotcom/./node_modules/axios/lib/helpers/composeSignals.js","webpack://hypertherm-dotcom/./node_modules/axios/lib/helpers/cookies.js","webpack://hypertherm-dotcom/./node_modules/axios/lib/helpers/formDataToJSON.js","webpack://hypertherm-dotcom/./node_modules/axios/lib/helpers/isAbsoluteURL.js","webpack://hypertherm-dotcom/./node_modules/axios/lib/helpers/isAxiosError.js","webpack://hypertherm-dotcom/./node_modules/axios/lib/helpers/isURLSameOrigin.js","webpack://hypertherm-dotcom/./node_modules/axios/lib/helpers/null.js","webpack://hypertherm-dotcom/./node_modules/axios/lib/helpers/parseHeaders.js","webpack://hypertherm-dotcom/./node_modules/axios/lib/helpers/parseProtocol.js","webpack://hypertherm-dotcom/./node_modules/axios/lib/helpers/progressEventReducer.js","webpack://hypertherm-dotcom/./node_modules/axios/lib/helpers/resolveConfig.js","webpack://hypertherm-dotcom/./node_modules/axios/lib/helpers/speedometer.js","webpack://hypertherm-dotcom/./node_modules/axios/lib/helpers/spread.js","webpack://hypertherm-dotcom/./node_modules/axios/lib/helpers/throttle.js","webpack://hypertherm-dotcom/./node_modules/axios/lib/helpers/toFormData.js","webpack://hypertherm-dotcom/./node_modules/axios/lib/helpers/toURLEncodedForm.js","webpack://hypertherm-dotcom/./node_modules/axios/lib/helpers/trackStream.js","webpack://hypertherm-dotcom/./node_modules/axios/lib/helpers/validator.js","webpack://hypertherm-dotcom/./node_modules/axios/lib/platform/browser/classes/Blob.js","webpack://hypertherm-dotcom/./node_modules/axios/lib/platform/browser/classes/FormData.js","webpack://hypertherm-dotcom/./node_modules/axios/lib/platform/browser/classes/URLSearchParams.js","webpack://hypertherm-dotcom/./node_modules/axios/lib/platform/browser/index.js","webpack://hypertherm-dotcom/./node_modules/axios/lib/platform/common/utils.js","webpack://hypertherm-dotcom/./node_modules/axios/lib/platform/index.js","webpack://hypertherm-dotcom/./node_modules/axios/lib/utils.js","webpack://hypertherm-dotcom/./node_modules/intl-tel-input/build/js/intlTelInput.js","webpack://hypertherm-dotcom/./node_modules/intl-tel-input/index.js","webpack://hypertherm-dotcom/webpack/bootstrap","webpack://hypertherm-dotcom/webpack/runtime/compat get default export","webpack://hypertherm-dotcom/webpack/runtime/define property getters","webpack://hypertherm-dotcom/webpack/runtime/global","webpack://hypertherm-dotcom/webpack/runtime/hasOwnProperty shorthand","webpack://hypertherm-dotcom/webpack/runtime/make namespace object","webpack://hypertherm-dotcom/./Assets/js/initialize-site.js"],"sourcesContent":["import utmTracking from \"/Assets/js/utm-tracking.js\";\r\n\r\nexport default class CampaignSource {\r\n constructor() { }\r\n\r\n setCampaignName() {\r\n $(\"form\").each(function () {\r\n const $form = $(this);\r\n const campaignNameField = $form.find(\"input[value=campaignName]\");\r\n\r\n if (campaignNameField.length) {\r\n const campaignName = this.getCampaignName();\r\n if (campaignName !== \"null\") {\r\n $(campaignNameField).val(campaignName);\r\n } else {\r\n $(campaignNameField).val(\"\");\r\n }\r\n }\r\n });\r\n }\r\n\r\n getCampaignSourceValue() {\r\n var utmCampaign;\r\n\r\n if (utmTracking.utmPresentInUrl()) {\r\n utmCampaign = utmTracking.getParameterByName(\"utm_campaign\");\r\n } else {\r\n utmCampaign = utmTracking.utmCampaign();\r\n }\r\n return decodeURI(utmCampaign);\r\n }\r\n\r\n}\r\n","import { isNullOrUndefined, extractHostname, containsAny } from \"/Assets/js/utilities.js\";\r\nimport utmTracking from \"/Assets/js/utm-tracking.js\";\r\n\r\nexport default class LeadSource {\r\n constructor(embeddedFormFields) {\r\n this.embeddedFormFields = embeddedFormFields;\r\n }\r\n\r\n setLeadSource() {\r\n if (this.embeddedFormFields.get(\"leadsource\") === \"undefined\" &&\r\n this.embeddedFormFields.get(\"leadsourcedetail\") === \"undefined\")\r\n return;\r\n\r\n const leadSourceValues = this.getLeadSourceValues();\r\n\r\n if (this.embeddedFormFields.get(\"leadsource\") !== \"undefined\") {\r\n const leadSourceId = this.embeddedFormFields.get(\"leadsource\");\r\n const leadSourceSelect = document.getElementById(leadSourceId);\r\n\r\n if (leadSourceSelect !== null) {\r\n const leadSource = leadSourceValues[0][\"ls\"];\r\n\r\n if (!isNullOrUndefined(leadSource)) {\r\n for (let i = 0; i < leadSourceSelect.options.length; i++) {\r\n if (leadSourceSelect.options[i].text.toLowerCase() === leadSource.toLocaleLowerCase()) {\r\n leadSourceSelect.selectedIndex = i;\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n if (this.embeddedFormFields.get(\"leadsourcedetail\") !== \"undefined\") {\r\n const leadSourceDetailId = this.embeddedFormFields.get(\"leadsourcedetail\");\r\n const leadSourceDetailSelect = document.getElementById(leadSourceDetailId);\r\n\r\n if (leadSourceDetailSelect !== null) {\r\n const leadSourceDetail = leadSourceValues[0][\"lsd\"];\r\n\r\n if (!isNullOrUndefined(leadSourceDetail)) {\r\n for (let i = 0; i < leadSourceDetailSelect.options.length; i++) {\r\n if (leadSourceDetailSelect.options[i].text.toLowerCase() === leadSourceDetail.toLowerCase()) {\r\n leadSourceDetailSelect.selectedIndex = i;\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n setOptimizelyFormsLeadSource() {\r\n $(\"form\").each(function () {\r\n const $form = $(this);\r\n const leadSourceMostRecent = $form.find(\"input[value=leadSourceMostRecent]\");\r\n const leadSourceMostRecentDetail = $form.find(\"input[value=leadSourceMostRecentDetail]\");\r\n\r\n if (leadSourceMostRecent.length) {\r\n const leadSourceValues = this.getLeadSourceValues();\r\n $(leadSourceMostRecent).val(leadSourceValues[0][\"ls\"]);\r\n $(leadSourceMostRecentDetail).val(leadSourceValues[0][\"lsd\"]);\r\n }\r\n });\r\n }\r\n\r\n getLeadSourceValues() {\r\n let utmMedium;\r\n let utmSource;\r\n\r\n if (utmTracking.utmPresentInUrl()) {\r\n utmMedium = utmTracking.getParameterByName(\"utm_medium\");\r\n utmSource = utmTracking.getParameterByName(\"utm_source\");\r\n } else {\r\n utmMedium = utmTracking.utmMedium();\r\n utmSource = utmTracking.utmSource();\r\n }\r\n\r\n const vars = [];\r\n\r\n if (isNullOrUndefined(utmMedium) && isNullOrUndefined(utmSource)) {\r\n const referrer = document.referrer;\r\n const hostname = extractHostname(referrer).toLowerCase();\r\n\r\n if (referrer !== \"\") {\r\n const searchEngine = containsAny(referrer,\r\n [\r\n \"google\",\r\n \"bing\",\r\n \"baidu\",\r\n \"yahoo\",\r\n \"ask\",\r\n \"duckduckgo\",\r\n \"naver\",\r\n \"sogou\"\r\n ]);\r\n const socialPlatform = containsAny(referrer,\r\n [\r\n \"facebook\",\r\n \"youtube\",\r\n \"linkedIn\",\r\n \"instagram\",\r\n \"twitter\",\r\n \"wechat\",\r\n \"pinterest\"\r\n ]);\r\n const hyperthermSite = containsAny(referrer, [\"hypertherm.com\"]);\r\n const haSite = containsAny(referrer, [\"hyperthermassociates.com\"]);\r\n const rmSite = containsAny(referrer, [\"robotmaster.com\"]);\r\n const omaxSite = containsAny(referrer, [\"omax.com\"]);\r\n const fastSpringSite = containsAny(referrer, [\"onfastspring.com\"]);\r\n\r\n if (searchEngine !== null && haSite === null && hyperthermSite === null && rmSite === null) {\r\n vars.push({ ls: \"organic search\", lsd: searchEngine });\r\n } else if (socialPlatform !== null && haSite === null && hyperthermSite === null && rmSite === null) {\r\n vars.push({ ls: \"social\", lsd: socialPlatform });\r\n } else if (haSite !== null) {\r\n vars.push({ ls: \"website\", lsd: \"hyperthermassociates.com\" }); //\r\n } else if (hyperthermSite !== null) {\r\n vars.push({ ls: \"website\", lsd: \"hypertherm.com\" });\r\n } else if (rmSite !== null) {\r\n vars.push({ ls: \"website\", lsd: \"robotmaster.com\" });\r\n } else if (omaxSite !== null) {\r\n vars.push({ ls: \"website\", lsd: \"omax.com\" });\r\n } else if (hostname === \"t.co\") {\r\n vars.push({ ls: \"social\", lsd: \"twitter\" });\r\n } else if (fastSpringSite !== null) {\r\n vars.push({ ls: \"referral\", lsd: \"fastspring\" });\r\n } else {\r\n vars.push({ ls: \"referral\", lsd: \"other referral​\" }); //\r\n }\r\n } else {\r\n vars.push({ ls: \"other\", lsd: \"website​-other\" }); //\r\n }\r\n } else {\r\n const ls = utmMedium !== undefined ? decodeURI(utmMedium) : \"\";\r\n const lsd = utmSource !== undefined ? decodeURI(utmSource) : \"\";\r\n vars.push({ ls: ls, lsd: lsd });\r\n }\r\n return vars;\r\n }\r\n}\r\n","/* eslint-disable no-undef */\r\n/*!\r\n * formbouncerjs v1.4.6\r\n * A lightweight form validation script that augments native HTML5 form validation elements and attributes.\r\n * (c) 2021 Chris Ferdinandi\r\n * MIT License\r\n * http://github.com/cferdinandi/bouncer\r\n */\r\n\r\n/* Bouncer ES6 Class\r\n * ported by Kristof Zerbe: https://github.com/kristofzerbe/bouncer\r\n */\r\nclass Bouncer {\r\n\r\n constructor(selector, options) {\r\n\r\n this.selector = selector;\r\n this.targets = document.querySelectorAll(this.selector);\r\n\r\n // Create settings\r\n this.settings = this.extend(this.defaults(), options || {});\r\n\r\n // Expose public methods \r\n this.validate = this.validate;\r\n this.validateAll = this.validateAll;\r\n this.destroy = this.destroy;\r\n\r\n this.init();\r\n }\r\n\r\n init() {\r\n // Add novalidate attribute\r\n this.addNoValidate();\r\n\r\n // Event Listeners\r\n document.addEventListener(\"blur\", this.blurHandler.bind(this), true);\r\n document.addEventListener(\"input\", this.inputHandler.bind(this), false);\r\n document.addEventListener(\"click\", this.inputHandler.bind(this), false);\r\n document.addEventListener(\"submit\", this.submitHandler.bind(this), false);\r\n\r\n // Emit custom event\r\n if (this.settings.emitEvents) {\r\n this.emitEvent(document, \"bouncerInitialized\", {\r\n settings: this.settings\r\n });\r\n }\r\n }\r\n\r\n defaults() {\r\n return {\r\n\r\n // Classes & IDs\r\n fieldClass: \"error\",\r\n errorTag: \"div\",\r\n errorClass: \"error-message\",\r\n fieldPrefix: \"bouncer-field_\",\r\n errorPrefix: \"bouncer-error_\",\r\n \r\n // Patterns\r\n patterns: {\r\n email: /^([^\\x00-\\x20\\x22\\x28\\x29\\x2c\\x2e\\x3a-\\x3c\\x3e\\x40\\x5b-\\x5d\\x7f-\\xff]+|\\x22([^\\x0d\\x22\\x5c\\x80-\\xff]|\\x5c[\\x00-\\x7f])*\\x22)(\\x2e([^\\x00-\\x20\\x22\\x28\\x29\\x2c\\x2e\\x3a-\\x3c\\x3e\\x40\\x5b-\\x5d\\x7f-\\xff]+|\\x22([^\\x0d\\x22\\x5c\\x80-\\xff]|\\x5c[\\x00-\\x7f])*\\x22))*\\x40([^\\x00-\\x20\\x22\\x28\\x29\\x2c\\x2e\\x3a-\\x3c\\x3e\\x40\\x5b-\\x5d\\x7f-\\xff]+|\\x5b([^\\x0d\\x5b-\\x5d\\x80-\\xff]|\\x5c[\\x00-\\x7f])*\\x5d)(\\x2e([^\\x00-\\x20\\x22\\x28\\x29\\x2c\\x2e\\x3a-\\x3c\\x3e\\x40\\x5b-\\x5d\\x7f-\\xff]+|\\x5b([^\\x0d\\x5b-\\x5d\\x80-\\xff]|\\x5c[\\x00-\\x7f])*\\x5d))*(\\.\\w{2,})+$/,\r\n url: /^(?:(?:https?|HTTPS?|ftp|FTP):\\/\\/)(?:\\S+(?::\\S*)?@)?(?:(?!(?:10|127)(?:\\.\\d{1,3}){3})(?!(?:169\\.254|192\\.168)(?:\\.\\d{1,3}){2})(?!172\\.(?:1[6-9]|2\\d|3[0-1])(?:\\.\\d{1,3}){2})(?:[1-9]\\d?|1\\d\\d|2[01]\\d|22[0-3])(?:\\.(?:1?\\d{1,2}|2[0-4]\\d|25[0-5])){2}(?:\\.(?:[1-9]\\d?|1\\d\\d|2[0-4]\\d|25[0-4]))|(?:(?:[a-zA-Z\\u00a1-\\uffff0-9]-*)*[a-zA-Z\\u00a1-\\uffff0-9]+)(?:\\.(?:[a-zA-Z\\u00a1-\\uffff0-9]-*)*[a-zA-Z\\u00a1-\\uffff0-9]+)*(?:\\.(?:[a-zA-Z\\u00a1-\\uffff]{2,}))\\.?)(?::\\d{2,5})?(?:[/?#]\\S*)?$/,\r\n number: /^(?:[-+]?[0-9]*[.,]?[0-9]+)$/,\r\n color: /^#?([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$/,\r\n date: /(?:19|20)[0-9]{2}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1[0-9]|2[0-9])|(?:(?!02)(?:0[1-9]|1[0-2])-(?:30))|(?:(?:0[13578]|1[02])-31))/,\r\n time: /^(?:(0[0-9]|1[0-9]|2[0-3])(:[0-5][0-9]))$/,\r\n month: /^(?:(?:19|20)[0-9]{2}-(?:(?:0[1-9]|1[0-2])))$/\r\n },\r\n \r\n // Custom Validations\r\n customValidations: {},\r\n \r\n // Messages\r\n messageAfterField: true,\r\n messageCustom: \"data-bouncer-message\",\r\n messageTarget: \"data-bouncer-target\",\r\n messages: {\r\n missingValue: {\r\n checkbox: \"This field is required.\",\r\n radio: \"Please select a value.\",\r\n select: \"Please select a value.\",\r\n \"select-multiple\": \"Please select at least one value.\",\r\n default: \"Please fill out this field.\"\r\n },\r\n patternMismatch: {\r\n email: \"Please enter a valid email address.\",\r\n url: \"Please enter a URL.\",\r\n number: \"Please enter a number\",\r\n color: \"Please match the following format: #rrggbb\",\r\n date: \"Please use the YYYY-MM-DD format\",\r\n time: \"Please use the 24-hour time format. Ex. 23:00\",\r\n month: \"Please use the YYYY-MM format\",\r\n default: \"Please match the requested format.\"\r\n },\r\n outOfRange: {\r\n over: \"Please select a value that is no more than {max}.\",\r\n under: \"Please select a value that is no less than {min}.\"\r\n },\r\n wrongLength: {\r\n over: \"Please shorten this text to no more than {maxLength} characters. You are currently using {length} characters.\",\r\n under: \"Please lengthen this text to {minLength} characters or more. You are currently using {length} characters.\"\r\n },\r\n fallback: \"There was an error with this field.\"\r\n },\r\n \r\n // Form Submission\r\n disableSubmit: false,\r\n \r\n // Custom Events\r\n emitEvents: true\r\n };\r\n }\r\n\r\n /**\r\n * Run a validation on field blur\r\n */\r\n blurHandler(event) {\r\n\r\n // Only run if the field is in a form to be validated\r\n if (!event.target.form || !event.target.form.matches(this.selector)) return;\r\n\r\n // Validate the field\r\n this.validate(event.target);\r\n\r\n // Validate complete form silently, to see if it's valid and emit appropriate event\r\n const errors = this.validateAll(event.target.form, true);\r\n if (errors.length > 0) {\r\n this.emitEvent(event.target, \"bouncerFormInvalid\", { \r\n errors: errors,\r\n form: event.target.form\r\n });\r\n } else {\r\n this.emitEvent(event.target, \"bouncerFormValid\", { \r\n form: event.target.form \r\n });\r\n }\r\n\t\t\r\n }\r\n\r\n /**\r\n * Run a validation on a fields with errors when the value changes\r\n */\r\n inputHandler(event) {\r\n\r\n // Only run if the field is in a form to be validated\r\n if (!event.target.form || !event.target.form.matches(this.selector)) return;\r\n\r\n // Only run on fields with errors\r\n if (!event.target.classList.contains(this.settings.fieldClass)) return;\r\n\r\n // Validate the field\r\n this.validate(event.target);\r\n\r\n // Validate complete form silently, to see if it's valid and emit appropriate event\r\n const errors = this.validateAll(event.target.form, true);\r\n if (errors.length > 0) {\r\n this.emitEvent(event.target, \"bouncerFormInvalid\", { \r\n errors: errors,\r\n form: event.target.form\r\n });\r\n } else {\r\n this.emitEvent(event.target, \"bouncerFormValid\", { \r\n form: event.target.form \r\n });\r\n }\r\n\t\t\r\n }\r\n\r\n /**\r\n * Validate an entire form when it's submitted\r\n */\r\n submitHandler(event) {\r\n\r\n // Only run on matching elements\r\n if (!event.target.matches(this.selector)) return;\r\n\r\n // Prevent form submission\r\n event.preventDefault();\r\n\r\n // Validate each field\r\n const errors = this.validateAll(event.target);\r\n\r\n // If there are errors, focus on the first one\r\n if (errors.length > 0) {\r\n errors[0].focus();\r\n this.emitEvent(event.target, \"bouncerFormInvalid\", { \r\n errors: errors \r\n });\r\n return;\r\n }\r\n\r\n // Otherwise, submit if not disabled\r\n if (!this.settings.disableSubmit) {\r\n event.target.submit();\r\n }\r\n\r\n // Emit custom event\r\n if (this.settings.emitEvents) {\r\n this.emitEvent(event.target, \"bouncerFormValid\", { \r\n form: event.target\r\n });\r\n }\r\n }\r\n\r\n /**\r\n * Validate a field\r\n * @param {Node} field The field to validate\r\n * @param {Object} options Validation options\r\n * @param {boolean} silent Check silently, no error messages are shown\r\n * @return {Object} The validity state and errors\r\n */\r\n validate(field, options, silent) {\r\n\r\n // Don't validate submits, buttons, file and reset inputs, and disabled and readonly fields\r\n if (field.disabled || field.readOnly || field.type === \"reset\" || field.type === \"submit\" || field.type === \"button\") return;\r\n\r\n // Local settings\r\n const _settings = this.extend(this.settings, options || {});\r\n\r\n // Check for errors\r\n const isValid = this.getErrors(field, _settings);\r\n\r\n // If valid, remove any error messages\r\n if (isValid.valid) {\r\n this.removeError(field, _settings);\r\n return isValid;\r\n }\r\n\r\n // Otherwise, show an error message\r\n if (!silent) {\r\n this.showError(field, isValid.errors, _settings);\r\n }\r\n\r\n return isValid;\r\n }\r\n\r\n /**\r\n * Validate all fields in a form or section\r\n * @param {Node} \t target The form(s) or section(s) to validate fields in, if 'undefined' initialized targets will be used\r\n * @param {boolean} silent Check silently, no error messages are shown\r\n * @return {Array} An array of fields with errors\r\n */\r\n validateAll(target, silent) {\r\n const self = this;\r\n\r\n if (target === undefined) { // target is not provided: take initialized targets (Nodelist)\r\n target = this.targets;\r\n } else { \r\n if (typeof target === \"string\") { // target is as string selector: get Elements (Nodelist)\r\n target = document.querySelectorAll(target);\r\n }\r\n if (target instanceof Element) { // target is an Element: create array with element for iteration\r\n let n = [];\r\n n.push(target);\r\n target = n;\r\n }\r\n }\r\n\r\n let ret = [];\r\n this.forEach(target, function(t) {\r\n let elements = Array.prototype.filter.call(\r\n t.querySelectorAll(\"input, select, textarea\"), \r\n function (field) {\r\n const validate = self.validate(field, null, silent);\r\n return validate && !validate.valid;\r\n }\r\n );\r\n ret.push(...elements);\r\n });\r\n\r\n return ret;\r\n }\r\n\r\n destroy() {\r\n\r\n // Remove event listeners\r\n document.removeEventListener(\"blur\", this.blurHandler, true);\r\n document.removeEventListener(\"input\", this.inputHandler, false);\r\n document.removeEventListener(\"click\", this.inputHandler, false);\r\n document.removeEventListener(\"submit\", this.submitHandler, false);\r\n\r\n // Remove all errors\r\n this.removeAllErrors();\r\n\r\n // Remove novalidate attribute\r\n this.removeNoValidate();\r\n\r\n // Emit custom event\r\n if (this.settings.emitEvents) {\r\n this.emitEvent(document, \"bouncerDestroyed\", {\r\n settings: this.settings\r\n });\r\n }\r\n\r\n // Reset settings\r\n this.settings = null;\r\n }\r\n\r\n /**\r\n\t * A wrapper for Array.prototype.forEach() for non-arrays\r\n\t * @param {Array-like} arr The array-like object\r\n\t * @param {Function} callback The callback to run\r\n\t */\r\n forEach(arr, callback) {\r\n Array.prototype.forEach.call(arr, callback);\r\n }\r\n\r\n /**\r\n\t * Merge two or more objects together.\r\n\t * @param {Object} objects The objects to merge together\r\n\t * @returns {Object} Merged values of defaults and options\r\n\t */\r\n extend() {\r\n const self = this;\r\n let merged = {};\r\n this.forEach(arguments, function (obj) {\r\n for (let key in obj) {\r\n if (!obj.hasOwnProperty(key)) return;\r\n if (Object.prototype.toString.call(obj[key]) === \"[object Object]\") {\r\n merged[key] = self.extend(merged[key], obj[key]);\r\n } else {\r\n merged[key] = obj[key];\r\n }\r\n }\r\n });\r\n return merged;\r\n }\r\n\r\n /**\r\n\t * Emit a custom event\r\n\t * @param {Node} elem The element\r\n\t * @param {String} type The event type\r\n * @param {Object} details The settings object\r\n\t */\r\n emitEvent(elem, type, details) {\r\n if (typeof window.CustomEvent !== \"function\") return;\r\n const event = new CustomEvent(type, {\r\n bubbles: true,\r\n detail: details || {}\r\n });\r\n elem.dispatchEvent(event);\r\n }\r\n\r\n /**\r\n\t * Add the `novalidate` attribute to all forms\r\n\t * @param {Boolean} remove If true, remove the `novalidate` attribute\r\n\t */\r\n addNoValidate() {\r\n this.forEach(this.targets, function (form) {\r\n form.setAttribute(\"novalidate\", true);\r\n });\r\n }\r\n\r\n /**\r\n\t * Remove the `novalidate` attribute to all forms\r\n\t */\r\n removeNoValidate() {\r\n this.forEach(this.targets, function (form) {\r\n form.removeAttribute(\"novalidate\");\r\n });\r\n }\r\n\r\n /**\r\n\t * Check if a required field is missing its value\r\n\t * @param {Node} field The field to check\r\n\t * @return {Boolean} It true, field is missing it's value\r\n\t */\r\n missingValue(field) {\r\n\r\n // If not required, bail\r\n if (!field.hasAttribute(\"required\")) return false;\r\n\r\n // Handle checkboxes\r\n if (field.type === \"checkbox\") {\r\n return !field.checked;\r\n }\r\n\r\n // Get the field value length\r\n let length = field.value.length;\r\n\r\n // Handle radio buttons\r\n if (field.type === \"radio\") {\r\n length = Array.prototype.filter.call(\r\n field.form.querySelectorAll('[name=\"' + this.escapeCharacters(field.name) + '\"]'), \r\n function (btn) {\r\n return btn.checked;\r\n }\r\n ).length;\r\n }\r\n\r\n // Check for value\r\n return length < 1;\r\n }\r\n\r\n /**\r\n\t * Check if field value doesn't match a patter.\r\n\t * @param {Node} field The field to check\r\n\t * @param {Object} settings The plugin settings\r\n\t * @see https://www.w3.org/TR/html51/sec-forms.html#the-pattern-attribute\r\n\t * @return {Boolean} If true, there's a pattern mismatch\r\n\t */\r\n patternMismatch(field, settings) {\r\n\r\n // Check if there's a pattern to match\r\n let pattern = field.getAttribute(\"pattern\");\r\n pattern = pattern ? new RegExp(\"^(?:\" + pattern + \")$\") : settings.patterns[field.type];\r\n if (!pattern || !field.value || field.value.length < 1) return false;\r\n\r\n // Validate the pattern\r\n return field.value.match(pattern) ? false : true;\r\n }\r\n\r\n /**\r\n * Check if field value is out-of-range\r\n * @param {Node} field The field to check\r\n * @return {String} Returns 'over', 'under', or false\r\n */\r\n outOfRange(field) {\r\n\r\n // Make sure field has value\r\n if (!field.value || field.value.length < 1) return false;\r\n\r\n // Check for range\r\n const max = field.getAttribute(\"max\");\r\n const min = field.getAttribute(\"min\");\r\n\r\n // Check validity\r\n const num = parseFloat(field.value);\r\n if (max && num > max) return \"over\";\r\n if (min && num < min) return \"under\";\r\n\r\n return false;\r\n }\r\n\r\n /**\r\n\t * Check if the field value is too long or too short\r\n\t * @param {Node} field The field to check\r\n\t * @return {String} Returns 'over', 'under', or false\r\n\t */\r\n wrongLength(field) {\r\n\r\n // Make sure field has value\r\n if (!field.value || field.value.length < 1) return false;\r\n\r\n // Check for min/max length\r\n const max = field.getAttribute(\"maxlength\");\r\n const min = field.getAttribute(\"minlength\");\r\n\r\n // Check validity\r\n const length = field.value.length;\r\n if (max && length > max) return \"over\";\r\n if (min && length < min) return \"under\";\r\n\t\t\r\n return false;\r\n }\r\n\r\n /**\r\n\t * Test for standard field validations\r\n\t * @param {Node} field The field to test\r\n\t * @param {Object} settings The plugin settings\r\n\t * @return {Object} The tests and their results\r\n\t */\r\n runValidations(field, settings) {\r\n return {\r\n missingValue: this.missingValue(field),\r\n patternMismatch: this.patternMismatch(field, settings),\r\n outOfRange: this.outOfRange(field),\r\n wrongLength: this.wrongLength(field)\r\n };\r\n }\r\n\r\n /**\r\n\t * Run any provided custom validations\r\n\t * @param {Node} field The field to test\r\n\t * @param {Object} errors The existing errors\r\n\t * @param {Object} validations The custom validations to run\r\n\t * @param {Object} settings The plugin settings\r\n\t * @return {Object} The tests and their results\r\n\t */\r\n customValidations(field, errors, validations, settings) {\r\n for (let test in validations) {\r\n if (validations.hasOwnProperty(test)) {\r\n errors[test] = validations[test](field, settings);\r\n }\r\n }\r\n return errors;\r\n }\r\n\r\n /**\r\n\t * Check if a field has any errors\r\n\t * @param {Object} errors The validation test results\r\n\t * @return {Boolean} Returns true if there are errors\r\n\t */\r\n hasErrors(errors) {\r\n for (let type in errors) {\r\n if (errors[type]) return true;\r\n }\r\n return false;\r\n }\r\n\r\n /**\r\n\t * Check a field for errors\r\n\t * @param {Node} field The field to test\r\n\t * @param {Object} settings The plugin settings\r\n\t * @return {Object} The field validity and errors\r\n\t */\r\n getErrors(field, settings) {\r\n\r\n // Get standard validation errors\r\n let errors = this.runValidations(field,settings);\r\n\r\n // Check for custom validations\r\n errors = this.customValidations(field, errors, settings.customValidations, settings);\r\n\r\n return {\r\n valid: !this.hasErrors(errors),\r\n errors: errors\r\n };\r\n }\r\n\r\n /**\r\n\t * Escape special characters for use with querySelector\r\n\t * @author Mathias Bynens\r\n\t * @link https://github.com/mathiasbynens/CSS.escape\r\n\t * @param {String} id The anchor ID to escape\r\n\t */\r\n escapeCharacters(id) {\r\n\r\n let string = String(id);\r\n let length = string.length;\r\n let index = -1;\r\n let codeUnit;\r\n let result = \"\";\r\n let firstCodeUnit = string.charCodeAt(0);\r\n\r\n while (++index < length) {\r\n codeUnit = string.charCodeAt(index);\r\n // Note: there’s no need to special-case astral symbols, surrogate\r\n // pairs, or lone surrogates.\r\n\r\n // If the character is NULL (U+0000), then throw an\r\n // `InvalidCharacterError` exception and terminate these steps.\r\n if (codeUnit === 0x0000) {\r\n throw new InvalidCharacterError(\r\n \"Invalid character: the input contains U+0000.\"\r\n );\r\n }\r\n\r\n if (\r\n // If the character is in the range [\\1-\\1F] (U+0001 to U+001F) or is\r\n // U+007F, […]\r\n (codeUnit >= 0x0001 && codeUnit <= 0x001F) || codeUnit == 0x007F ||\r\n\t\t\t\t// If the character is the first character and is in the range [0-9]\r\n\t\t\t\t// (U+0030 to U+0039), […]\r\n\t\t\t\t(index === 0 && codeUnit >= 0x0030 && codeUnit <= 0x0039) ||\r\n\t\t\t\t// If the character is the second character and is in the range [0-9]\r\n\t\t\t\t// (U+0030 to U+0039) and the first character is a `-` (U+002D), […]\r\n\t\t\t\t(\r\n\t\t\t\t index === 1 &&\r\n\t\t\t\t\tcodeUnit >= 0x0030 && codeUnit <= 0x0039 &&\r\n\t\t\t\t\tfirstCodeUnit === 0x002D\r\n\t\t\t\t)\r\n ) {\r\n // http://dev.w3.org/csswg/cssom/#escape-a-character-as-code-point\r\n result += \"\\\\\" + codeUnit.toString(16) + \" \";\r\n continue;\r\n }\r\n\r\n // If the character is not handled by one of the above rules and is\r\n // greater than or equal to U+0080, is `-` (U+002D) or `_` (U+005F), or\r\n // is in one of the ranges [0-9] (U+0030 to U+0039), [A-Z] (U+0041 to\r\n // U+005A), or [a-z] (U+0061 to U+007A), […]\r\n if (\r\n codeUnit >= 0x0080 ||\r\n\t\t\t\tcodeUnit === 0x002D ||\r\n\t\t\t\tcodeUnit === 0x005F ||\r\n\t\t\t\tcodeUnit >= 0x0030 && codeUnit <= 0x0039 ||\r\n\t\t\t\tcodeUnit >= 0x0041 && codeUnit <= 0x005A ||\r\n\t\t\t\tcodeUnit >= 0x0061 && codeUnit <= 0x007A\r\n ) {\r\n // the character itself\r\n result += string.charAt(index);\r\n continue;\r\n }\r\n\r\n // Otherwise, the escaped character.\r\n // http://dev.w3.org/csswg/cssom/#escape-a-character\r\n result += \"\\\\\" + string.charAt(index);\r\n\r\n }\r\n\r\n // Return sanitized hash\r\n return result;\r\n }\r\n\r\n /**\r\n\t * Get or create an ID for a field\r\n\t * @param {Node} field The field\r\n\t * @param {Object} settings The plugin settings\r\n\t * @param {Boolean} create If true, create an ID if there isn't one\r\n\t * @return {String} The field ID\r\n\t */\r\n getFieldID(field, settings, create) {\r\n let id = field.name ? field.name : field.id;\r\n if (!id && create) {\r\n id = settings.fieldPrefix + Math.floor(Math.random() * 999);\r\n field.id = id;\r\n }\r\n if (field.type === \"checkbox\") {\r\n id += \"_\" + (field.value || field.id);\r\n }\r\n return id;\r\n }\r\n\r\n /**\r\n\t * Special handling for radio buttons and checkboxes wrapped in labels.\r\n\t * @param {Node} field The field with the error\r\n\t * @return {Node} The field to show the error on\r\n\t */\r\n getErrorField(field) {\r\n\r\n // If the field is a radio button, get the last item in the radio group\r\n // @todo if location is before, get first item\r\n if (field.type === \"radio\" && field.name) {\r\n const group = field.form.querySelectorAll('[name=\"' + this.escapeCharacters(field.name) + '\"]');\r\n field = group[group.length - 1];\r\n }\r\n\r\n // Get the associated label for radio button or checkbox\r\n if (field.type === \"radio\" || field.type === \"checkbox\") {\r\n const label = field.closest(\"label\") || field.form.querySelector('[for=\"' + field.id + '\"]');\r\n field = label || field;\r\n }\r\n\r\n return field;\r\n }\r\n\r\n /**\r\n\t * Get the location for a field's error message\r\n\t * @param {Node} field The field\r\n\t * @param {Node} target The target for error message\r\n\t * @param {Object} settings The plugin settings\r\n\t * @return {Node} The error location\r\n\t */\r\n getErrorLocation(field, target, settings) {\r\n\r\n // Check for a custom error message\r\n const selector = field.getAttribute(settings.messageTarget);\r\n if (selector) {\r\n const location = field.form.querySelector(selector);\r\n if (location) {\r\n // @bugfix by @HaroldPutman\r\n // https://github.com/cferdinandi/bouncer/pull/28\r\n return location.firstChild || location.appendChild(document.createTextNode(\"\"));\r\n }\r\n }\r\n\r\n // If the message should come after the field\r\n if (settings.messageAfterField) {\r\n\r\n // If there's no next sibling, create one\r\n if (!target.nextSibling) {\r\n target.parentNode.appendChild(document.createTextNode(\"\"));\r\n }\r\n\r\n return target.nextSibling;\r\n }\r\n\r\n // If it should come before\r\n return target;\r\n }\r\n\r\n /**\r\n\t * Create a validation error message node\r\n\t * @param {Node} field The field\r\n\t * @param {Object} settings The plugin settings\r\n\t * @return {Node} The error message node\r\n\t */\r\n createError(field, settings) {\r\n\r\n // Create the error message\r\n let error = document.createElement(settings.errorTag);\r\n error.className = settings.errorClass;\r\n error.id = settings.errorPrefix + this.getFieldID(field, settings, true);\r\n\r\n // If the field is a radio button or checkbox, grab the last field label\r\n let fieldTarget = this.getErrorField(field);\r\n\r\n // Inject the error message into the DOM\r\n let location = this.getErrorLocation(field, fieldTarget, settings);\r\n location.parentNode.insertBefore(error, location);\r\n\r\n return error;\r\n }\r\n\r\n /**\r\n\t * Get the error message test\r\n\t * @param {Node} field The field to get an error message for\r\n\t * @param {Object} errors The errors on the field\r\n\t * @param {Object} settings The plugin settings\r\n\t * @return {String|Function} The error message\r\n\t */\r\n getErrorMessage(field, errors, settings) {\r\n\r\n // Variables\r\n const messages = settings.messages;\r\n\r\n // Missing value error\r\n if (errors.missingValue) {\r\n let msgMissingValue = messages.missingValue[field.type] || messages.missingValue.default;\r\n \r\n const customMissingValue = field.getAttribute(settings.messageCustom);\r\n if (customMissingValue) msgMissingValue = customMissingValue;\r\n \r\n return msgMissingValue;\r\n }\r\n\r\n // Numbers that are out of range\r\n if (errors.outOfRange) {\r\n let msgOutOfRange = messages.outOfRange[errors.outOfRange];\r\n\r\n const customOutOfRange = field.getAttribute(settings.messageCustom);\r\n if (customOutOfRange) msgOutOfRange = customOutOfRange;\r\n\r\n return msgOutOfRange\r\n .replace(\"{max}\", field.getAttribute(\"max\"))\r\n .replace(\"{min}\", field.getAttribute(\"min\"))\r\n .replace(\"{length}\", field.value.length);\r\n }\r\n\r\n // Values that are too long or short\r\n if (errors.wrongLength) {\r\n let msgWrongLength = messages.wrongLength[errors.wrongLength];\r\n \r\n const customWrongLength = field.getAttribute(settings.messageCustom);\r\n if (customWrongLength) msgWrongLength = customWrongLength;\r\n \r\n return msgWrongLength\r\n .replace(\"{maxLength}\", field.getAttribute(\"maxlength\"))\r\n .replace(\"{minLength}\", field.getAttribute(\"minlength\"))\r\n .replace(\"{length}\", field.value.length);\r\n }\r\n\r\n // Pattern mismatch error\r\n if (errors.patternMismatch) {\r\n let msgPatternMismatch = messages.patternMismatch[field.type] || messages.patternMismatch.default;\r\n\t\t\t\r\n const customPatternMismatch = field.getAttribute(settings.messageCustom);\r\n if (customPatternMismatch) msgPatternMismatch = customPatternMismatch;\r\n\t\t\t\r\n return msgPatternMismatch;\r\n }\r\n\r\n // Custom validations\r\n for (let test in settings.customValidations) {\r\n if (settings.customValidations.hasOwnProperty(test)) {\r\n if (errors[test] && messages[test]) return messages[test];\r\n }\r\n }\r\n\r\n // Fallback error message\r\n return messages.fallback;\r\n }\r\n\r\n /**\r\n\t * Add error attributes to a field\r\n\t * @param {Node} field The field with the error message\r\n\t * @param {Node} error The error message\r\n\t * @param {Object} settings The plugin settings\r\n\t */\r\n addErrorAttributes(field, error, settings) {\r\n field.classList.add(settings.fieldClass);\r\n field.setAttribute(\"aria-describedby\", error.id);\r\n field.setAttribute(\"aria-invalid\", true);\r\n }\r\n\r\n /**\r\n\t * Show error attributes on a field or radio/checkbox group\r\n\t * @param {Node} field The field with the error message\r\n\t * @param {Node} error The error message\r\n\t * @param {Object} settings The plugin settings\r\n\t */\r\n showErrorAttributes(field, error, settings) {\r\n const self = this;\r\n\r\n // If field is a radio button, add attributes to every button in the group\r\n if (field.type === \"radio\" && field.name) {\r\n Array.prototype.forEach.call(document.querySelectorAll('[name=\"' + field.name + '\"]'), function (button) {\r\n self.addErrorAttributes(button, error, settings);\r\n });\r\n }\r\n\r\n // Otherwise, add an error class and aria attribute to the field\r\n this.addErrorAttributes(field, error, settings);\r\n }\r\n\r\n /**\r\n\t * Show an error message in the DOM\r\n\t * @param {Node} field The field to show an error message for\r\n\t * @param {Object} errors The errors on the field\r\n\t * @param {Object} settings The plugin settings\r\n\t */\r\n showError(field, errors, settings) {\r\n\r\n // Get/create an error message\r\n let error = field.form.querySelector(\"#\" + this.escapeCharacters(settings.errorPrefix + this.getFieldID(field, settings))) || this.createError(field, settings);\r\n let msg = this.getErrorMessage(field, errors, settings);\r\n error.textContent = typeof msg === \"function\" ? msg(field, settings) : msg;\r\n\r\n // Add error attributes\r\n this.showErrorAttributes(field, error, settings);\r\n\r\n // Emit custom event\r\n if (settings.emitEvents) {\r\n this.emitEvent(field, \"bouncerShowError\", {\r\n errors: errors\r\n });\r\n }\r\n }\r\n\r\n /**\r\n\t * Remove error attributes from a field\r\n\t * @param {Node} field The field with the error message\r\n\t * @param {Node} error The error message\r\n\t * @param {Object} settings The plugin settings\r\n\t */\r\n removeAttributes(field, settings) {\r\n field.classList.remove(settings.fieldClass);\r\n field.removeAttribute(\"aria-describedby\");\r\n field.removeAttribute(\"aria-invalid\");\r\n }\r\n\r\n /**\r\n\t * Remove error attributes from the field or radio group\r\n\t * @param {Node} field The field with the error message\r\n\t * @param {Node} error The error message\r\n\t * @param {Object} settings The plugin settings\r\n\t */\r\n removeErrorAttributes(field, settings) {\r\n const self = this;\r\n\r\n // If field is a radio button, remove attributes from every button in the group\r\n if (field.type === \"radio\" && field.name) {\r\n Array.prototype.forEach.call(document.querySelectorAll('[name=\"' + field.name + '\"]'), function (button) {\r\n self.removeAttributes(button, settings);\r\n });\r\n return;\r\n }\r\n\r\n // Otherwise, add an error class and aria attribute to the field\r\n this.removeAttributes(field, settings);\r\n }\r\n\r\n /**\r\n\t * Remove an error message from the DOM\r\n\t * @param {Node} field The field with the error message\r\n\t * @param {Object} settings The plugin settings\r\n\t */\r\n removeError(field, settings) {\r\n\r\n // Get the error message for this field\r\n let error = field.form.querySelector(\"#\" + this.escapeCharacters(settings.errorPrefix + this.getFieldID(field, settings)));\r\n if (!error) return;\r\n\r\n // Remove the error\r\n error.parentNode.removeChild(error);\r\n\r\n // Remove error and a11y from the field\r\n this.removeErrorAttributes(field, settings);\r\n\r\n // Emit custom event\r\n if (settings.emitEvents) {\r\n this.emitEvent(field, \"bouncerRemoveError\");\r\n }\r\n\r\n }\r\n\r\n /**\r\n\t * Remove errors from all fields\r\n\t * @param {String} selector The selector for the form\r\n\t * @param {Object} settings The plugin settings\r\n\t */\r\n removeAllErrors() {\r\n const self = this;\r\n this.forEach(self.targets, function (form) {\r\n self.forEach(form.querySelectorAll(\"input, select, textarea\"), function (field) {\r\n self.removeError(field, self.settings);\r\n });\r\n });\r\n }\r\n\r\n}\r\nexport { Bouncer };\r\n","(function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c=\"function\"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error(\"Cannot find module '\"+i+\"'\");throw a.code=\"MODULE_NOT_FOUND\",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u=\"function\"==typeof require&&require,i=0;ie.offsetParent.scrollTop+e.offsetParent.clientHeight-e.clientHeight)&&e.dispatchEvent(new CustomEvent(\"custom-select:focus-outside-panel\",{bubbles:!0}))):x=void 0}function s(e){w&&(w.classList.remove(t.isSelectedClass),w.removeAttribute(\"id\"),A.removeAttribute(\"aria-activedescendant\")),void 0!==e?(e.classList.add(t.isSelectedClass),e.setAttribute(\"id\",E+\"-\"+L+\"-selectedOption\"),A.setAttribute(\"aria-activedescendant\",E+\"-\"+L+\"-selectedOption\"),w=e,A.children[0].textContent=w.customSelectOriginalOption.text):(w=void 0,A.children[0].textContent=\"\"),n(e)}function o(e){var t=S.querySelector(\"option[value='\"+e+\"']\");if(!t){t=_slicedToArray(S.options,1)[0]}t.selected=!0,s(S.options[S.selectedIndex].customSelectCstOption)}function a(e){var t=[].indexOf.call(S.options,x.customSelectOriginalOption);S.options[t+e]&&n(S.options[t+e].customSelectCstOption)}function r(e){if(e||void 0===e){var s=document.querySelector(\".\"+E+\".\"+t.isOpenClass);s&&(s.customSelect.open=!1),y.classList.add(t.isOpenClass),y.classList.add(t.isOpenClass),A.setAttribute(\"aria-expanded\",\"true\"),w&&(N.scrollTop=w.offsetTop),y.dispatchEvent(new CustomEvent(\"custom-select:open\")),T=!0}else y.classList.remove(t.isOpenClass),A.setAttribute(\"aria-expanded\",\"false\"),T=!1,n(w),y.dispatchEvent(new CustomEvent(\"custom-select:close\"));return T}function i(e){e.target===A||A.contains(e.target)?T?r(!1):r():e.target.classList&&e.target.classList.contains(t.optionClass)&&N.contains(e.target)?(s(e.target),w.customSelectOriginalOption.selected=!0,r(!1),S.dispatchEvent(new CustomEvent(\"change\"))):e.target===S?A!==document.activeElement&&S!==document.activeElement&&A.focus():T&&!y.contains(e.target)&&r(!1)}function c(e){e.target.classList&&e.target.classList.contains(t.optionClass)&&n(e.target)}function l(e){if(T)switch(e.keyCode){case 13:case 32:s(x),w.customSelectOriginalOption.selected=!0,S.dispatchEvent(new CustomEvent(\"change\")),r(!1);break;case 27:r(!1);break;case 38:a(-1);break;case 40:a(1);break;default:if(e.keyCode>=48&&e.keyCode<=90){P&&clearTimeout(P),P=setTimeout(function(){k=\"\"},1500),k+=String.fromCharCode(e.keyCode);for(var t=0,o=S.options.length;t\\n \"+(-1!==S.selectedIndex?S.options[S.selectedIndex].text:\"\")+\"\\n \",N=document.createElement(\"div\");for(var H=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789\",U=0;U<5;U++)L+=H.charAt(Math.floor(Math.random()*H.length));return N.id=E+\"-\"+L+\"-panel\",N.className=t.panelClass,N.setAttribute(\"role\",\"listbox\"),A.setAttribute(\"aria-owns\",N.id),C(S.children,!1),y.appendChild(A),S.parentNode.replaceChild(y,S),y.appendChild(S),y.appendChild(N),document.querySelector('label[for=\"'+S.id+'\"]')?j=document.querySelector('label[for=\"'+S.id+'\"]'):\"LABEL\"===y.parentNode.tagName.toUpperCase()&&(j=y.parentNode),void 0!==j&&(j.setAttribute(\"id\",E+\"-\"+L+\"-label\"),A.setAttribute(\"aria-labelledby\",E+\"-\"+L+\"-label\")),S.disabled?y.classList.add(t.isDisabledClass):(A.setAttribute(\"tabindex\",\"0\"),S.setAttribute(\"tabindex\",\"-1\"),p()),y.customSelect={get pluginOptions(){return t},get open(){return T},set open(e){r(e)},get disabled(){return S.disabled},set disabled(e){f(e)},get value(){return S.value},set value(e){o(e)},append:function(e,t){return C(e,!0,t)},insertBefore:function(e,t){return g(e,t)},remove:b,empty:h,destroy:O,opener:A,select:S,panel:N,container:y},S.customSelect=y.customSelect,y.customSelect}function customSelect(e,t){var n=[],s=[];return function(){if(e&&e instanceof HTMLElement&&\"SELECT\"===e.tagName.toUpperCase())n.push(e);else if(e&&\"string\"==typeof e)for(var o=document.querySelectorAll(e),a=0,r=o.length;a e.length) && (t = e.length); for (var o = 0, n = new Array(t); o < t; o++)n[o] = e[o]; return n } let n; let i; let a; let r; let s; const l = (n = ['a[href]', 'area[href]', 'input:not([disabled]):not([type=\"hidden\"]):not([aria-hidden])', 'select:not([disabled]):not([aria-hidden])', 'textarea:not([disabled]):not([aria-hidden])', 'button:not([disabled]):not([aria-hidden])', 'iframe', 'object', 'embed', '[contenteditable]', '[tabindex]:not([tabindex^=\"-\"])'], i = (function () { function o (e) { const n = e.targetModal; const i = e.triggers; const a = void 0 === i ? [] : i; const r = e.onShow; const s = void 0 === r ? function () { } : r; const l = e.onClose; const c = void 0 === l ? function () { } : l; const d = e.openTrigger; const u = void 0 === d ? 'data-micromodal-trigger' : d; const f = e.closeTrigger; const h = void 0 === f ? 'data-micromodal-close' : f; const v = e.openClass; const g = void 0 === v ? 'is-open' : v; const m = e.disableScroll; const b = void 0 !== m && m; const y = e.disableFocus; const p = void 0 !== y && y; const w = e.awaitCloseAnimation; const E = void 0 !== w && w; const k = e.awaitOpenAnimation; const M = void 0 !== k && k; const A = e.debugMode; const C = void 0 !== A && A; !(function (e, t) { if (!(e instanceof t)) throw new TypeError('Cannot call a class as a function') }(this, o)), this.modal = document.getElementById(n), this.config = { debugMode: C, disableScroll: b, openTrigger: u, closeTrigger: h, openClass: g, onShow: s, onClose: c, awaitCloseAnimation: E, awaitOpenAnimation: M, disableFocus: p }, a.length > 0 && this.registerTriggers.apply(this, t(a)), this.onClick = this.onClick.bind(this), this.onKeydown = this.onKeydown.bind(this) } let i, a, r; return i = o, (a = [{ key: 'registerTriggers', value: function () { for (var e = this, t = arguments.length, o = new Array(t), n = 0; n < t; n++)o[n] = arguments[n]; o.filter(Boolean).forEach(function (t) { t.addEventListener('click', function (t) { return e.showModal(t) }) }) } }, { key: 'showModal', value: function () { const e = this; const t = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : null; if (this.activeElement = document.activeElement, this.modal.setAttribute('aria-hidden', 'false'), this.modal.classList.add(this.config.openClass), this.scrollBehaviour('disable'), this.addEventListeners(), this.config.awaitOpenAnimation) { const o = function t () { e.modal.removeEventListener('animationend', t, !1), e.setFocusToFirstNode() }; this.modal.addEventListener('animationend', o, !1) } else this.setFocusToFirstNode(); this.config.onShow(this.modal, this.activeElement, t) } }, { key: 'closeModal', value: function () { const e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : null; const t = this.modal; if (this.modal.setAttribute('aria-hidden', 'true'), this.removeEventListeners(), this.scrollBehaviour('enable'), this.activeElement && this.activeElement.focus && this.activeElement.focus(), this.config.onClose(this.modal, this.activeElement, e), this.config.awaitCloseAnimation) { const o = this.config.openClass; this.modal.addEventListener('animationend', function e () { t.classList.remove(o), t.removeEventListener('animationend', e, !1) }, !1) } else t.classList.remove(this.config.openClass) } }, { key: 'closeModalById', value: function (e) { this.modal = document.getElementById(e), this.modal && this.closeModal() } }, { key: 'scrollBehaviour', value: function (e) { if (this.config.disableScroll) { const t = document.querySelector('body'); switch (e) { case 'enable': Object.assign(t.style, { overflow: '' }); break; case 'disable': Object.assign(t.style, { overflow: 'hidden' }) } } } }, { key: 'addEventListeners', value: function () { this.modal.addEventListener('touchstart', this.onClick), this.modal.addEventListener('click', this.onClick), document.addEventListener('keydown', this.onKeydown) } }, { key: 'removeEventListeners', value: function () { this.modal.removeEventListener('touchstart', this.onClick), this.modal.removeEventListener('click', this.onClick), document.removeEventListener('keydown', this.onKeydown) } }, { key: 'onClick', value: function (e) { (e.target.hasAttribute(this.config.closeTrigger) || e.target.parentNode.hasAttribute(this.config.closeTrigger)) && (e.preventDefault(), e.stopPropagation(), this.closeModal(e)) } }, { key: 'onKeydown', value: function (e) { e.keyCode === 27 && this.closeModal(e), e.keyCode === 9 && this.retainFocus(e) } }, { key: 'getFocusableNodes', value: function () { const e = this.modal.querySelectorAll(n); return Array.apply(void 0, t(e)) } }, { key: 'setFocusToFirstNode', value: function () { const e = this; if (!this.config.disableFocus) { const t = this.getFocusableNodes(); if (t.length !== 0) { const o = t.filter(function (t) { return !t.hasAttribute(e.config.closeTrigger) }); o.length > 0 && o[0].focus(), o.length === 0 && t[0].focus() } } } }, { key: 'retainFocus', value: function (e) { let t = this.getFocusableNodes(); if (t.length !== 0) if (t = t.filter(function (e) { return e.offsetParent !== null }), this.modal.contains(document.activeElement)) { const o = t.indexOf(document.activeElement); e.shiftKey && o === 0 && (t[t.length - 1].focus(), e.preventDefault()), !e.shiftKey && t.length > 0 && o === t.length - 1 && (t[0].focus(), e.preventDefault()) } else t[0].focus() } }]) && e(i.prototype, a), r && e(i, r), o }()), a = null, r = function (e) { if (!document.getElementById(e)) return console.warn(\"MicroModal: ❗Seems like you have missed %c'\".concat(e, \"'\"), 'background-color: #f8f9fa;color: #50596c;font-weight: bold;', 'ID somewhere in your code. Refer example below to resolve it.'), console.warn('%cExample:', 'background-color: #f8f9fa;color: #50596c;font-weight: bold;', '
')), !1 }, s = function (e, t) { if ((function (e) { e.length <= 0 && (console.warn(\"MicroModal: ❗Please specify at least one %c'micromodal-trigger'\", 'background-color: #f8f9fa;color: #50596c;font-weight: bold;', 'data attribute.'), console.warn('%cExample:', 'background-color: #f8f9fa;color: #50596c;font-weight: bold;', '')) }(e)), !t) return !0; for (const o in t) r(o); return !0 }, { init: function (e) { const o = Object.assign({}, { openTrigger: 'data-micromodal-trigger' }, e); const n = t(document.querySelectorAll('['.concat(o.openTrigger, ']'))); const r = (function (e, t) { const o = []; return e.forEach(function (e) { const n = e.attributes[t].value; void 0 === o[n] && (o[n] = []), o[n].push(e) }), o }(n, o.openTrigger)); if (!0 !== o.debugMode || !1 !== s(n, r)) for (const l in r) { const c = r[l]; o.targetModal = l, o.triggers = t(c), a = new i(o) } }, show: function (e, t) { const o = t || {}; o.targetModal = e, !0 === o.debugMode && !1 === r(e) || (a && a.removeEventListeners(), (a = new i(o)).showModal()) }, close: function (e) { e ? a.closeModalById(e) : a.closeModal() } }); return typeof window !== 'undefined' && (window.MicroModal = l), l }))\r\n","/* eslint-disable linebreak-style */\r\nimport { getBootstrapBreakpoint, getWordCount, getCharCount, trimSpaces } from \"../utilities.js\";\r\n(\"use strict\");\r\n\r\nconst defaultOptions = {\r\n blockClassName: \"read-more\",\r\n wordsCount: 30,\r\n charsCount: null,\r\n moreText: \"Read more\",\r\n lessText: \"Read less\",\r\n isInline: false,\r\n linkElement: \"a\",\r\n breakpointsToCollapse: [\"xs\"]\r\n};\r\n\r\n/**\r\n * ReadMore\r\n * A simple Read More / Read Less js plugin that maintains origial markup.\r\n *\r\n * @author @stephenscaff\r\n * @param {HTML element} elements\r\n * @param {Object} options\r\n * @returns\r\n */\r\nfunction ReadMore(elements, options) {\r\n options = { ...defaultOptions, ...options };\r\n\r\n // Internal Settings\r\n let settings = {\r\n originalContentArr: [],\r\n truncatedContentArr: []\r\n };\r\n\r\n /**\r\n * Init plugin\r\n * Loop over instances and begin truncation procress\r\n * @public\r\n */\r\n function init() {\r\n const breakpoint = getBootstrapBreakpoint();\r\n\r\n for (const bkpt in options.breakpointsToCollapse) {\r\n\r\n if (breakpoint === options.breakpointsToCollapse[bkpt]) {\r\n elements.forEach((element, idx) => {\r\n truncate(element, idx);\r\n });\r\n }\r\n }\r\n\r\n monitorBootstrapBreakpoint();\r\n }\r\n\r\n function monitorBootstrapBreakpoint() {\r\n const breakpoints = {\r\n xs: window.matchMedia(\"(max-width: 767px)\"),\r\n sm: window.matchMedia(\"(min-width: 768px) and (max-width: 991px)\"),\r\n md: window.matchMedia(\"(min-width: 992px) and (max-width: 1199px)\"),\r\n lg: window.matchMedia(\"(min-width: 1200px)\")\r\n };\r\n\r\n for (const breakpoint in breakpoints) {\r\n breakpoints[breakpoint].addListener((mediaQuery) => {\r\n if (mediaQuery.matches) {\r\n for (const bkpt in options.breakpointsToCollapse) {\r\n if (breakpoint === options.breakpointsToCollapse[bkpt]) {\r\n elements.forEach((element, idx) => {\r\n truncate(element, idx);\r\n });\r\n } else {\r\n elements.forEach((element, idx) => {\r\n if (typeof settings.originalContentArr[idx] !== \"undefined\" && element.classList.contains(\"truncated\")) {\r\n expand(element, idx);\r\n }\r\n });\r\n }\r\n }\r\n }\r\n });\r\n }\r\n }\r\n\r\n function expand(el, idx) {\r\n const definedCount = getCount(el);\r\n const originalContent = settings.originalContentArr[idx];\r\n const isCharMode = isChars(el);\r\n\r\n const originalContentCount = isCharMode\r\n ? getCharCount(originalContent)\r\n : getWordCount(originalContent);\r\n\r\n if (definedCount < originalContentCount) {\r\n el.innerHTML = settings.originalContentArr[idx];\r\n el.classList.remove(\"truncated\");\r\n removeLink(idx);\r\n }\r\n }\r\n\r\n function removeLink(idx) {\r\n const element = elements[idx];\r\n const nextElement = element.nextElementSibling;\r\n nextElement.remove();\r\n }\r\n\r\n /**\r\n * Is Characters\r\n * Utility to check if is chars mode\r\n *\r\n * @private\r\n * @param {HTML Elmenent} el - single element instance\r\n */\r\n function isChars(el) {\r\n return (\r\n el.dataset.readMoreChars !== undefined || options.charsCount !== null\r\n );\r\n }\r\n\r\n /**\r\n * Is inline option\r\n * @private\r\n * @param {HTML element} el - element instance\r\n * @returns {Bool}\r\n */\r\n function isInline(el) {\r\n return el.dataset.readMoreInline !== undefined || options.isInline === true;\r\n }\r\n\r\n /**\r\n * Get Count of characters or words.\r\n * Favors Characters from data att, then option, then words.\r\n * @private\r\n * @param {HTML Elmenent} el - single element instance\r\n * @returns {Number}\r\n */\r\n function getCount(el) {\r\n return (\r\n parseInt(el.dataset.readMoreChars) ||\r\n parseInt(options.charsCount) ||\r\n parseInt(el.dataset.readMoreWords) ||\r\n parseInt(options.wordsCount)\r\n );\r\n }\r\n\r\n /**\r\n * Ellpise Content\r\n * Handles content ellipse by words or charactes\r\n * @private\r\n * @param {String} str - content string.\r\n * @param {Number} max - Number of words||chars2 to show before truncation.\r\n * @param {Bool} isChars - is by chars\r\n */\r\n function ellipse(str, max, isChars = false) {\r\n const trimmedSpaces = trimSpaces(str);\r\n\r\n if (isChars) {\r\n return trimmedSpaces.slice(0, max - 1) + \"...\";\r\n }\r\n\r\n const words = trimmedSpaces.split(/\\s+/);\r\n return words.slice(0, max - 1).join(\" \") + \"...\";\r\n }\r\n\r\n /**\r\n * Truncate logic\r\n * Gets user defined count for words/chars (set by data att, option or default),\r\n * gets content's count by words/chars, if defined is less than content, truncate\r\n * @private\r\n * @param {HTML Elmenent} el - single element instance\r\n * @param {Number} idx - current instance index\r\n */\r\n function truncate(el, idx) {\r\n const definedCount = getCount(el);\r\n const originalContent = el.innerHTML;\r\n const isCharMode = isChars(el);\r\n const truncateContent = ellipse(originalContent, definedCount, isCharMode);\r\n const originalContentCount = isCharMode\r\n ? getCharCount(originalContent)\r\n : getWordCount(originalContent);\r\n\r\n settings.originalContentArr.push(originalContent);\r\n settings.truncatedContentArr.push(truncateContent);\r\n\r\n if (definedCount < originalContentCount) {\r\n el.innerHTML = settings.truncatedContentArr[idx];\r\n el.classList.add(\"truncated\");\r\n createLink(idx);\r\n }\r\n }\r\n\r\n /**\r\n * Creates and Inserts Read More Link\r\n * @private\r\n * @param {Number} idx - index reference of looped item\r\n */\r\n function createLink(idx) {\r\n const isInlineLink = isInline(elements[idx]);\r\n const linkWrap = document.createElement(\"span\");\r\n linkWrap.className = `${options.blockClassName}__link-wrap`;\r\n linkWrap.innerHTML = linkTmpl(elements[idx]);\r\n\r\n if (isInlineLink) {\r\n handleInlineStyles(elements[idx], linkWrap);\r\n }\r\n elements[idx].after(linkWrap);\r\n setupToggleEvents(idx, isInlineLink);\r\n }\r\n\r\n /**\r\n * Read More Link Template\r\n * @param {HTML Element} el\r\n * @returns {String} - html string\r\n */\r\n function linkTmpl(el) {\r\n const moreTextData = el.dataset.readMoreMoreText;\r\n const moreText = moreTextData || options.moreText;\r\n return `\r\n <${options.linkElement}\r\n class=\"${options.blockClassName}__link\"\r\n style=\"cursor:pointer\"\r\n aria-expanded=\"false\"\r\n tabIndex=\"0\">\r\n ${moreText}\r\n \r\n `;\r\n }\r\n\r\n /**\r\n * Sets up and calls click and keyup (enter key) events\r\n * @private\r\n * @param {Number} idx - index of clicked link\r\n * @param {Bool} isInlineLink - if link element is inline with content\r\n */\r\n function setupToggleEvents(idx, isInlineLink) {\r\n const link = elements[idx].nextSibling.firstElementChild;\r\n link.addEventListener(\"click\", (event) =>\r\n handleToggle(event, idx, isInlineLink)\r\n );\r\n link.addEventListener(\"keyup\", (event) => {\r\n if (event.keyCode === 13 && options.linkElement === \"a\")\r\n handleToggle(event, idx, isInlineLink);\r\n });\r\n }\r\n\r\n /**\r\n * Toggle event\r\n * @private\r\n * @param {Event} event - click | keyup event\r\n * @param {Number} idx - index of clicked link\r\n * @param {Bool} isInlineLink - if link element is inline with content\r\n */\r\n function handleToggle(event, idx, isInlineLink) {\r\n const moreTextData = elements[idx].dataset.readMoreMoreText;\r\n const lessTextData = elements[idx].dataset.readMoreLessText;\r\n const target = event.currentTarget;\r\n const clicked = target.dataset.clicked === \"true\";\r\n\r\n elements[idx].classList.toggle(\"is-expanded\");\r\n elements[idx].innerHTML = clicked\r\n ? settings.truncatedContentArr[idx]\r\n : settings.originalContentArr[idx];\r\n target.innerHTML = clicked\r\n ? moreTextData || options.moreText\r\n : lessTextData || options.lessText;\r\n target.dataset.clicked = !clicked;\r\n target.ariaExpanded = !clicked;\r\n\r\n if (isInlineLink) handleInlineStyles(elements[idx]);\r\n }\r\n\r\n /**\r\n * Add styles for inline option\r\n * @private\r\n * @param {HTML Elmenent} el - single element instance\r\n * @param {HTML Elmenent} link - link wrapper element\r\n */\r\n function handleInlineStyles(el, link) {\r\n if (el) {\r\n el.lastElementChild.style.display = \"inline\";\r\n el.style.display = \"inline\";\r\n }\r\n if (link) link.style.display = \"inline\";\r\n }\r\n\r\n // API\r\n return {\r\n init: init\r\n };\r\n}\r\n\r\nexport default ReadMore;","export default class Slider {\r\n /**\r\n * Create a Slider.\r\n * @param {Object} options - Optional settings object.\r\n */\r\n constructor(options) {\r\n // Merge defaults with user's settings\r\n this.config = Slider.mergeSettings(options);\r\n\r\n // Resolve selector's type\r\n this.selector = typeof this.config.selector === \"string\" ? document.querySelector(this.config.selector) : this.config.selector;\r\n\r\n // Early throw if selector doesn't exists\r\n if (this.selector === null) {\r\n throw new Error(\"Something wrong with your selector\");\r\n }\r\n\r\n // set parent wrap container\r\n this.selectorParent = this.selector.parentNode;\r\n\r\n // update perPage number dependable of user value\r\n this.resolveSlidesNumber();\r\n\r\n // Create global references\r\n this.selectorWidth = this.selector.offsetWidth;\r\n this.innerElements = [].slice.call(this.selector.children);\r\n this.currentSlide = this.config.loop ?\r\n this.config.startIndex % this.innerElements.length :\r\n Math.max(0, Math.min(this.config.startIndex, this.innerElements.length - this.perPage));\r\n this.transformProperty = Slider.webkitOrNot();\r\n\r\n // Bind all event handlers for referencability\r\n [\"resizeHandler\", \"touchstartHandler\", \"touchendHandler\", \"touchmoveHandler\", \"mousedownHandler\", \"mouseupHandler\", \"mouseleaveHandler\", \"mousemoveHandler\", \"clickHandler\"].forEach(method => {\r\n this[method] = this[method].bind(this);\r\n });\r\n\r\n // Build markup and apply required styling to elements\r\n this.init();\r\n }\r\n\r\n /**\r\n * Overrides default settings with custom ones.\r\n * @param {Object} options - Optional settings object.\r\n * @returns {Object} - Custom Slider settings.\r\n */\r\n static mergeSettings(options) {\r\n const settings = {\r\n selector: \".slider\",\r\n clsPrefix: \"slider\",\r\n duration: 200,\r\n easing: \"ease-out\",\r\n perPage: 1,\r\n startIndex: 0,\r\n draggable: true,\r\n multipleDrag: true,\r\n threshold: 20,\r\n loop: false,\r\n rtl: false,\r\n autoHeight: false,\r\n onInit: () => { },\r\n onChange: () => { },\r\n onResize: () => { }\r\n };\r\n\r\n const userSttings = options;\r\n for (const attrname in userSttings) {\r\n settings[attrname] = userSttings[attrname];\r\n }\r\n\r\n return settings;\r\n }\r\n\r\n /**\r\n * Determine if browser supports unprefixed transform property.\r\n * Google Chrome since version 26 supports prefix-less transform\r\n * @returns {string} - Transform property supported by client.\r\n */\r\n static webkitOrNot() {\r\n const style = document.documentElement.style;\r\n if (typeof style.transform === \"string\") {\r\n return \"transform\";\r\n }\r\n return \"WebkitTransform\";\r\n }\r\n\r\n /**\r\n * Attaches listeners to required events.\r\n */\r\n attachEvents() {\r\n // Resize element on window resize\r\n window.addEventListener(\"resize\", this.resizeHandler);\r\n\r\n // If element is draggable / swipable, add event handlers\r\n if (this.config.draggable) {\r\n // Keep track pointer hold and dragging distance\r\n this.pointerDown = false;\r\n this.drag = {\r\n startX: 0,\r\n endX: 0,\r\n startY: 0,\r\n letItGo: null,\r\n preventClick: false\r\n };\r\n\r\n // Touch events\r\n //this.selector.addEventListener(\"touchstart\", this.touchstartHandler);\r\n //this.selector.addEventListener(\"touchend\", this.touchendHandler);\r\n //this.selector.addEventListener(\"touchmove\", this.touchmoveHandler);\r\n\r\n this.selector.addEventListener(\"touchstart\", this.touchstartHandler, { passive: true });\r\n this.selector.addEventListener(\"touchend\", this.touchendHandler, { passive: true });\r\n this.selector.addEventListener(\"touchmove\", this.touchmoveHandler, { passive: true });\r\n\r\n // Mouse events\r\n this.selector.addEventListener(\"mousedown\", this.mousedownHandler);\r\n this.selector.addEventListener(\"mouseup\", this.mouseupHandler);\r\n this.selector.addEventListener(\"mouseleave\", this.mouseleaveHandler);\r\n this.selector.addEventListener(\"mousemove\", this.mousemoveHandler);\r\n\r\n // Click\r\n this.selector.addEventListener(\"click\", this.clickHandler);\r\n }\r\n }\r\n\r\n /**\r\n * Detaches listeners from required events.\r\n */\r\n detachEvents() {\r\n window.removeEventListener(\"resize\", this.resizeHandler);\r\n this.selector.removeEventListener(\"touchstart\", this.touchstartHandler);\r\n this.selector.removeEventListener(\"touchend\", this.touchendHandler);\r\n this.selector.removeEventListener(\"touchmove\", this.touchmoveHandler);\r\n this.selector.removeEventListener(\"mousedown\", this.mousedownHandler);\r\n this.selector.removeEventListener(\"mouseup\", this.mouseupHandler);\r\n this.selector.removeEventListener(\"mouseleave\", this.mouseleaveHandler);\r\n this.selector.removeEventListener(\"mousemove\", this.mousemoveHandler);\r\n this.selector.removeEventListener(\"click\", this.clickHandler);\r\n }\r\n\r\n /**\r\n * Builds the markup and attaches listeners to required events.\r\n */\r\n init() {\r\n this.attachEvents();\r\n\r\n // hide everything out of selector's boundaries\r\n this.selector.style.overflow = \"hidden\";\r\n\r\n // rtl or ltr\r\n this.selector.style.direction = this.config.rtl ? \"rtl\" : \"ltr\";\r\n\r\n // build a frame and slide to a currentSlide\r\n this.buildSliderFrame();\r\n\r\n this.config.onInit.call(this);\r\n }\r\n\r\n /**\r\n * Sanitize a clone by recursively remove all id and name attributes.\r\n * @param {HTMLElement} node - The root node to sanitize.\r\n */\r\n sanitizeClone(node) {\r\n Array.from(node.childNodes).forEach(child => {\r\n if (child.nodeType === 1) {\r\n child.removeAttribute(\"id\");\r\n child.removeAttribute(\"name\");\r\n this.sanitizeClone(child);\r\n }\r\n });\r\n }\r\n\r\n /**\r\n * Build a sliderFrame and slide to a current item.\r\n */\r\n buildSliderFrame() {\r\n const widthItem = this.selectorWidth / this.perPage;\r\n const itemsToBuild = this.config.loop ? this.innerElements.length + (2 * this.perPage) : this.innerElements.length;\r\n\r\n // Create frame and apply styling\r\n this.sliderFrame = document.createElement(\"div\");\r\n this.sliderFrame.classList.add(\"slider__frame\");\r\n this.sliderFrame.style.width = `${widthItem * itemsToBuild}px`;\r\n this.enableTransition();\r\n\r\n if (this.config.autoHeight) {\r\n this.sliderFrame.style.overflow = \"hidden\";\r\n }\r\n\r\n if (this.config.draggable) {\r\n this.selector.style.cursor = \"-webkit-grab\";\r\n }\r\n\r\n // Create a document fragment to put slides into it\r\n const docFragment = document.createDocumentFragment();\r\n\r\n // Loop through the slides, add styling and add them to document fragment\r\n if (this.config.loop) {\r\n for (let i = this.innerElements.length - this.perPage; i < this.innerElements.length; i++) {\r\n const element = this.buildSliderFrameItem(this.innerElements[i].cloneNode(true));\r\n element.classList.add(\"slider__item\", \"slider__item--clone\");\r\n docFragment.appendChild(element);\r\n }\r\n }\r\n for (const innerElement of this.innerElements) {\r\n const element = this.buildSliderFrameItem(innerElement);\r\n element.classList.add(\"slider__item\");\r\n docFragment.appendChild(element);\r\n }\r\n if (this.config.loop) {\r\n for (let i = 0; i < this.perPage; i++) {\r\n const element = this.buildSliderFrameItem(this.innerElements[i].cloneNode(true));\r\n element.classList.add(\"slider__item\", \"slider__item--clone\");\r\n this.sanitizeClone(element);\r\n docFragment.appendChild(element);\r\n }\r\n }\r\n\r\n // Add fragment to the frame\r\n this.sliderFrame.appendChild(docFragment);\r\n\r\n // Clear selector (just in case something is there) and insert a frame\r\n this.selector.innerHTML = \"\";\r\n this.selector.appendChild(this.sliderFrame);\r\n\r\n // Go to currently active slide after initial build\r\n this.slideToCurrent();\r\n }\r\n\r\n buildSliderFrameItem(elm) {\r\n const elementContainer = document.createElement(\"div\");\r\n elementContainer.style.cssFloat = this.config.rtl ? \"right\" : \"left\";\r\n elementContainer.style.float = this.config.rtl ? \"right\" : \"left\";\r\n elementContainer.style.width = `${this.config.loop ? 100 / (this.innerElements.length + (this.perPage * 2)) : 100 / (this.innerElements.length)}%`;\r\n elementContainer.classList.add(this.config.clsPrefix + \"__item\");\r\n elementContainer.appendChild(elm);\r\n return elementContainer;\r\n }\r\n\r\n /**\r\n * Determinates slides number accordingly to clients viewport.\r\n */\r\n resolveSlidesNumber() {\r\n if (typeof this.config.perPage === \"number\") {\r\n this.perPage = this.config.perPage;\r\n }\r\n else if (typeof this.config.perPage === \"object\") {\r\n this.perPage = 1;\r\n for (const viewport in this.config.perPage) {\r\n if (window.innerWidth >= viewport) {\r\n this.perPage = this.config.perPage[viewport];\r\n }\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Go to previous slide.\r\n * @param {number} [howManySlides=1] - How many items to slide backward.\r\n * @param {function?} callback - Optional callback function.\r\n */\r\n prev(howManySlides = 1, callback = null) {\r\n // early return when there is nothing to slide\r\n if (this.innerElements.length <= this.perPage) {\r\n return;\r\n }\r\n\r\n const beforeChange = this.currentSlide;\r\n\r\n if (this.config.loop) {\r\n const isNewIndexClone = this.currentSlide - howManySlides < 0;\r\n if (isNewIndexClone) {\r\n this.disableTransition();\r\n\r\n const mirrorSlideIndex = this.currentSlide + this.innerElements.length;\r\n const mirrorSlideIndexOffset = this.perPage;\r\n const moveTo = mirrorSlideIndex + mirrorSlideIndexOffset;\r\n const offset = (this.config.rtl ? 1 : -1) * moveTo * (this.selectorWidth / this.perPage);\r\n const dragDistance = this.config.draggable ? this.drag.endX - this.drag.startX : 0;\r\n\r\n this.sliderFrame.style[this.transformProperty] = `translate3d(${offset + dragDistance}px, 0, 0)`;\r\n this.currentSlide = mirrorSlideIndex - howManySlides;\r\n }\r\n else {\r\n this.currentSlide = this.currentSlide - howManySlides;\r\n }\r\n }\r\n else {\r\n this.currentSlide = Math.max(this.currentSlide - howManySlides, 0);\r\n }\r\n\r\n if (beforeChange !== this.currentSlide) {\r\n this.slideToCurrent(this.config.loop);\r\n this.config.onChange.call(this);\r\n if (callback) {\r\n callback.call(this);\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Go to next slide.\r\n * @param {number} [howManySlides=1] - How many items to slide forward.\r\n * @param {function?} callback - Optional callback function.\r\n */\r\n next(howManySlides = 1, callback = null) {\r\n // early return when there is nothing to slide\r\n if (this.innerElements.length <= this.perPage) {\r\n return;\r\n }\r\n\r\n const beforeChange = this.currentSlide;\r\n\r\n if (this.config.loop) {\r\n const isNewIndexClone = this.currentSlide + howManySlides > this.innerElements.length - this.perPage;\r\n if (isNewIndexClone) {\r\n this.disableTransition();\r\n\r\n const mirrorSlideIndex = this.currentSlide - this.innerElements.length;\r\n const mirrorSlideIndexOffset = this.perPage;\r\n const moveTo = mirrorSlideIndex + mirrorSlideIndexOffset;\r\n const offset = (this.config.rtl ? 1 : -1) * moveTo * (this.selectorWidth / this.perPage);\r\n const dragDistance = this.config.draggable ? this.drag.endX - this.drag.startX : 0;\r\n\r\n this.sliderFrame.style[this.transformProperty] = `translate3d(${offset + dragDistance}px, 0, 0)`;\r\n this.currentSlide = mirrorSlideIndex + howManySlides;\r\n }\r\n else {\r\n this.currentSlide = this.currentSlide + howManySlides;\r\n }\r\n }\r\n else {\r\n this.currentSlide = Math.min(this.currentSlide + howManySlides, this.innerElements.length - this.perPage);\r\n }\r\n if (beforeChange !== this.currentSlide) {\r\n this.slideToCurrent(this.config.loop);\r\n this.config.onChange.call(this);\r\n if (callback) {\r\n callback.call(this);\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Disable transition on sliderFrame.\r\n */\r\n disableTransition() {\r\n this.sliderFrame.style.webkitTransition = `all 0ms ${this.config.easing}`;\r\n this.sliderFrame.style.transition = `all 0ms ${this.config.easing}`;\r\n }\r\n\r\n /**\r\n * Enable transition on sliderFrame.\r\n */\r\n enableTransition() {\r\n this.sliderFrame.style.webkitTransition = `all ${this.config.duration}ms ${this.config.easing}`;\r\n this.sliderFrame.style.transition = `all ${this.config.duration}ms ${this.config.easing}`;\r\n }\r\n\r\n /**\r\n * Go to slide with particular index\r\n * @param {number} index - Item index to slide to.\r\n * @param {function?} callback - Optional callback function.\r\n */\r\n goTo(index, callback = null) {\r\n if (this.innerElements.length <= this.perPage) {\r\n return;\r\n }\r\n const beforeChange = this.currentSlide;\r\n this.currentSlide = this.config.loop ?\r\n index % this.innerElements.length :\r\n Math.min(Math.max(index, 0), this.innerElements.length - this.perPage);\r\n if (beforeChange !== this.currentSlide) {\r\n this.slideToCurrent();\r\n this.config.onChange.call(this);\r\n if (callback) {\r\n callback.call(this);\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Adjust height of the frame to fit the currently visible slides. Called when autoHeight is set to true.\r\n */\r\n //adjustHeight() {\r\n // const activeSlides = this.innerElements.slice(this.currentSlide, this.currentSlide + this.perPage);\r\n // if (activeSlides.length === 0) {\r\n // return;\r\n // }\r\n // const maxActiveHeight = Math.max(...activeSlides.map(el => el.getBoundingClientRect().height));\r\n\r\n // console.log({ activeSlides });\r\n // console.log({ maxActiveHeight });\r\n\r\n // this.lastFrameHeight = `${maxActiveHeight}px`;\r\n // this.sliderFrame.style.maxHeight = this.lastFrameHeight;\r\n //}\r\n\r\n /**\r\n * Moves sliders frame to position of currently active slide\r\n */\r\n slideToCurrent(enableTransition) {\r\n const currentSlide = this.config.loop ? this.currentSlide + this.perPage : this.currentSlide;\r\n const offset = (this.config.rtl ? 1 : -1) * currentSlide * (this.selectorWidth / this.perPage);\r\n\r\n if (enableTransition) {\r\n // This one is tricky, I know but this is a perfect explanation:\r\n // https://youtu.be/cCOL7MC4Pl0\r\n requestAnimationFrame(() => {\r\n requestAnimationFrame(() => {\r\n this.enableTransition();\r\n this.sliderFrame.style[this.transformProperty] = `translate3d(${offset}px, 0, 0)`;\r\n });\r\n });\r\n }\r\n else {\r\n this.sliderFrame.style[this.transformProperty] = `translate3d(${offset}px, 0, 0)`;\r\n }\r\n\r\n // adjust height of the slider frame if autoHeight is set to true\r\n // sometimes content loading can be slow, so run it after a short delay\r\n //if (this.config.autoHeight) {\r\n // clearTimeout(this.autoHeightTimeout);\r\n // this.autoHeightTimeout = setTimeout(this.adjustHeight.bind(this), 250);\r\n //}\r\n\r\n // set class of active slide\r\n let slides = this.sliderFrame.children;\r\n var clsItemActive = this.config.clsPrefix + \"__item--active\";\r\n [].forEach.call(slides, function (slide) {\r\n slide.classList.remove(clsItemActive);\r\n });\r\n slides[this.currentSlide + 1].classList.add(clsItemActive);\r\n }\r\n\r\n /**\r\n * Recalculate drag /swipe event and reposition the frame of a slider\r\n */\r\n updateAfterDrag() {\r\n const movement = (this.config.rtl ? -1 : 1) * (this.drag.endX - this.drag.startX);\r\n const movementDistance = Math.abs(movement);\r\n const howManySliderToSlide = this.config.multipleDrag ? Math.ceil(movementDistance / (this.selectorWidth / this.perPage)) : 1;\r\n\r\n const slideToNegativeClone = movement > 0 && this.currentSlide - howManySliderToSlide < 0;\r\n const slideToPositiveClone = movement < 0 && this.currentSlide + howManySliderToSlide > this.innerElements.length - this.perPage;\r\n\r\n if (movement > 0 && movementDistance > this.config.threshold && this.innerElements.length > this.perPage) {\r\n this.prev(howManySliderToSlide);\r\n }\r\n else if (movement < 0 && movementDistance > this.config.threshold && this.innerElements.length > this.perPage) {\r\n this.next(howManySliderToSlide);\r\n }\r\n this.slideToCurrent(slideToNegativeClone || slideToPositiveClone);\r\n }\r\n\r\n /**\r\n * When window resizes, resize slider components as well\r\n */\r\n resizeHandler() {\r\n // Do not reload carousel on scroll down on mobile devices\r\n if (this.selector.offsetWidth === this.selectorWidth) {\r\n return;\r\n }\r\n\r\n // update perPage number dependable of user value\r\n this.resolveSlidesNumber();\r\n\r\n // relcalculate currentSlide\r\n // prevent hiding items when browser width increases\r\n if (this.currentSlide + this.perPage > this.innerElements.length) {\r\n this.currentSlide = this.innerElements.length <= this.perPage ? 0 : this.innerElements.length - this.perPage;\r\n }\r\n\r\n this.selectorWidth = this.selector.offsetWidth;\r\n\r\n this.buildSliderFrame();\r\n\r\n // adjust height of the slider frame if autoHeight is set to true\r\n // to avoid a flickering effect, adjust the height before a short timeout\r\n //if (this.config.autoHeight) {\r\n // this.sliderFrame.style.maxHeight = this.lastFrameHeight;\r\n // clearTimeout(this.autoHeightTimeout);\r\n // this.autoHeightTimeout = setTimeout(this.adjustHeight.bind(this), 250);\r\n //}\r\n\r\n this.config.onResize.call(this);\r\n }\r\n\r\n /**\r\n * Clear drag after touchend and mouseup event\r\n */\r\n clearDrag() {\r\n this.drag = {\r\n startX: 0,\r\n endX: 0,\r\n startY: 0,\r\n letItGo: null,\r\n preventClick: this.drag.preventClick\r\n };\r\n }\r\n\r\n /**\r\n * touchstart event handler\r\n */\r\n touchstartHandler(e) {\r\n // Prevent dragging / swiping on inputs, selects and textareas\r\n const ignoreSlider = [\"TEXTAREA\", \"OPTION\", \"INPUT\", \"SELECT\"].indexOf(e.target.nodeName) !== -1;\r\n if (ignoreSlider) {\r\n return;\r\n }\r\n\r\n e.stopPropagation();\r\n this.pointerDown = true;\r\n this.drag.startX = e.touches[0].pageX;\r\n this.drag.startY = e.touches[0].pageY;\r\n }\r\n\r\n /**\r\n * touchend event handler\r\n */\r\n touchendHandler(e) {\r\n e.stopPropagation();\r\n this.pointerDown = false;\r\n this.enableTransition();\r\n if (this.drag.endX) {\r\n this.updateAfterDrag();\r\n }\r\n this.clearDrag();\r\n }\r\n\r\n /**\r\n * touchmove event handler\r\n */\r\n touchmoveHandler(e) {\r\n e.stopPropagation();\r\n\r\n if (this.drag.letItGo === null) {\r\n this.drag.letItGo = Math.abs(this.drag.startY - e.touches[0].pageY) < Math.abs(this.drag.startX - e.touches[0].pageX);\r\n }\r\n\r\n if (this.pointerDown && this.drag.letItGo) {\r\n //e.preventDefault();\r\n this.drag.endX = e.touches[0].pageX;\r\n this.sliderFrame.style.webkitTransition = `all 0ms ${this.config.easing}`;\r\n this.sliderFrame.style.transition = `all 0ms ${this.config.easing}`;\r\n\r\n const currentSlide = this.config.loop ? this.currentSlide + this.perPage : this.currentSlide;\r\n const currentOffset = currentSlide * (this.selectorWidth / this.perPage);\r\n const dragOffset = (this.drag.endX - this.drag.startX);\r\n const offset = this.config.rtl ? currentOffset + dragOffset : currentOffset - dragOffset;\r\n this.sliderFrame.style[this.transformProperty] = `translate3d(${(this.config.rtl ? 1 : -1) * offset}px, 0, 0)`;\r\n }\r\n }\r\n\r\n /**\r\n * mousedown event handler\r\n */\r\n mousedownHandler(e) {\r\n // Prevent dragging / swiping on inputs, selects and textareas\r\n const ignoreSlider = [\"TEXTAREA\", \"OPTION\", \"INPUT\", \"SELECT\"].indexOf(e.target.nodeName) !== -1;\r\n if (ignoreSlider) {\r\n return;\r\n }\r\n\r\n e.preventDefault();\r\n e.stopPropagation();\r\n this.pointerDown = true;\r\n this.drag.startX = e.pageX;\r\n }\r\n\r\n /**\r\n * mouseup event handler\r\n */\r\n mouseupHandler(e) {\r\n e.stopPropagation();\r\n this.pointerDown = false;\r\n this.selector.style.cursor = \"-webkit-grab\";\r\n this.enableTransition();\r\n if (this.drag.endX) {\r\n this.updateAfterDrag();\r\n }\r\n this.clearDrag();\r\n }\r\n\r\n /**\r\n * mousemove event handler\r\n */\r\n mousemoveHandler(e) {\r\n e.preventDefault();\r\n if (this.pointerDown) {\r\n // if dragged element is a link\r\n // mark preventClick prop as a true\r\n // to detemine about browser redirection later on\r\n if (e.target.nodeName === \"A\") {\r\n this.drag.preventClick = true;\r\n }\r\n\r\n this.drag.endX = e.pageX;\r\n this.selector.style.cursor = \"-webkit-grabbing\";\r\n this.sliderFrame.style.webkitTransition = `all 0ms ${this.config.easing}`;\r\n this.sliderFrame.style.transition = `all 0ms ${this.config.easing}`;\r\n\r\n const currentSlide = this.config.loop ? this.currentSlide + this.perPage : this.currentSlide;\r\n const currentOffset = currentSlide * (this.selectorWidth / this.perPage);\r\n const dragOffset = (this.drag.endX - this.drag.startX);\r\n const offset = this.config.rtl ? currentOffset + dragOffset : currentOffset - dragOffset;\r\n this.sliderFrame.style[this.transformProperty] = `translate3d(${(this.config.rtl ? 1 : -1) * offset}px, 0, 0)`;\r\n }\r\n }\r\n\r\n /**\r\n * mouseleave event handler\r\n */\r\n mouseleaveHandler(e) {\r\n if (this.pointerDown) {\r\n this.pointerDown = false;\r\n this.selector.style.cursor = \"-webkit-grab\";\r\n this.drag.endX = e.pageX;\r\n this.drag.preventClick = false;\r\n this.enableTransition();\r\n this.updateAfterDrag();\r\n this.clearDrag();\r\n }\r\n }\r\n\r\n /**\r\n * click event handler\r\n */\r\n clickHandler(e) {\r\n // if the dragged element is a link\r\n // prevent browsers from folowing the link\r\n if (this.drag.preventClick) {\r\n e.preventDefault();\r\n }\r\n this.drag.preventClick = false;\r\n }\r\n\r\n /**\r\n * Remove item from carousel.\r\n * @param {number} index - Item index to remove.\r\n * @param {function?} callback - Optional callback to call after remove.\r\n */\r\n remove(index, callback = null) {\r\n if (index < 0 || index >= this.innerElements.length) {\r\n throw new Error(\"Item to remove doesn't exist 😭\");\r\n }\r\n\r\n // Shift sliderFrame back by one item when:\r\n // 1. Item with lower index than currenSlide is removed.\r\n // 2. Last item is removed.\r\n const lowerIndex = index < this.currentSlide;\r\n const lastItem = this.currentSlide + this.perPage - 1 === index;\r\n\r\n if (lowerIndex || lastItem) {\r\n this.currentSlide--;\r\n }\r\n\r\n this.innerElements.splice(index, 1);\r\n\r\n // build a frame and slide to a currentSlide\r\n this.buildSliderFrame();\r\n\r\n if (callback) {\r\n callback.call(this);\r\n }\r\n }\r\n\r\n /**\r\n * Insert item to carousel at particular index.\r\n * @param {HTMLElement} item - Item to insert.\r\n * @param {number} index - Index of new new item insertion.\r\n * @param {function?} callback - Optional callback to call after insert.\r\n */\r\n insert(item, index, callback = null) {\r\n if (index < 0 || index > this.innerElements.length + 1) {\r\n throw new Error(\"Unable to inset it at this index 😭\");\r\n }\r\n if (this.innerElements.indexOf(item) !== -1) {\r\n throw new Error(\"The same item in a carousel? Really? Nope 😭\");\r\n }\r\n\r\n // Avoid shifting content\r\n const shouldItShift = index <= this.currentSlide > 0 && this.innerElements.length;\r\n this.currentSlide = shouldItShift ? this.currentSlide + 1 : this.currentSlide;\r\n\r\n this.innerElements.splice(index, 0, item);\r\n\r\n // build a frame and slide to a currentSlide\r\n this.buildSliderFrame();\r\n\r\n if (callback) {\r\n callback.call(this);\r\n }\r\n }\r\n\r\n /**\r\n * Prepernd item to carousel.\r\n * @param {HTMLElement} item - Item to prepend.\r\n * @param {function?} callback - Optional callback to call after prepend.\r\n */\r\n prepend(item, callback = null) {\r\n this.insert(item, 0);\r\n if (callback) {\r\n callback.call(this);\r\n }\r\n }\r\n\r\n /**\r\n * Append item to carousel.\r\n * @param {HTMLElement} item - Item to append.\r\n * @param {function?} callback - Optional callback to call after append.\r\n */\r\n append(item, callback = null) {\r\n this.insert(item, this.innerElements.length + 1);\r\n if (callback) {\r\n callback.call(this);\r\n }\r\n }\r\n\r\n /**\r\n * Removes listeners and optionally restores to initial markup\r\n * @param {boolean} restoreMarkup - Determinants about restoring an initial markup.\r\n * @param {function?} callback - Optional callback function.\r\n */\r\n destroy(restoreMarkup = false, callback = null) {\r\n this.detachEvents();\r\n\r\n this.selector.style.cursor = \"auto\";\r\n\r\n if (restoreMarkup) {\r\n const slides = document.createDocumentFragment();\r\n for (const element of this.innerElements) {\r\n slides.appendChild(element);\r\n }\r\n this.selector.innerHTML = \"\";\r\n this.selector.appendChild(slides);\r\n this.selector.removeAttribute(\"style\");\r\n }\r\n\r\n if (callback) {\r\n callback.call(this);\r\n }\r\n }\r\n}\r\n\r\nSlider.prototype.setPagination = function (clsPagination, clsPaginationBtn) {\r\n var that, numOfSlides, len;\r\n that = this;\r\n len = that.innerElements.length;\r\n\r\n if (len === 0) return;\r\n\r\n numOfSlides = 0;\r\n\r\n if (that.perPage < len) {\r\n numOfSlides = (len - that.perPage) + 1;\r\n }\r\n\r\n if (numOfSlides === 0) return;\r\n\r\n var btns, btn, siblingBtns, clsBtnActive, i;\r\n\r\n var items = that.selectorParent.querySelectorAll(\".pagination-cntnr\");\r\n Array.from(items).forEach(function (item) {\r\n var paginationWrap = document.createElement(\"div\");\r\n paginationWrap.className = clsPagination + \"-wrap\";\r\n var pagination = document.createElement(\"div\");\r\n pagination.className = clsPagination;\r\n clsBtnActive = clsPaginationBtn + \"--active\";\r\n\r\n for (i = 0; i < numOfSlides; i++) {\r\n let pageNumber = i + 1;\r\n btn = document.createElement(\"button\");\r\n btn.setAttribute(\"type\", \"button\");\r\n btn.setAttribute(\"aria-label\", \"\" + pageNumber);\r\n btn.className = clsPaginationBtn;\r\n (function (i) {\r\n btn.addEventListener(\"click\", function () {\r\n that.goTo(i);\r\n });\r\n })(i);\r\n pagination.appendChild(btn);\r\n }\r\n paginationWrap.appendChild(pagination);\r\n item.appendChild(paginationWrap);\r\n });\r\n\r\n let slides = that.sliderFrame.children;\r\n var currentBtns = slides[that.currentSlide + 1].querySelectorAll(\".\" + clsPaginationBtn);\r\n\r\n if (currentBtns.length) {\r\n btns = currentBtns;\r\n } else {\r\n btns = that.selectorParent.querySelectorAll(\".\" + clsPaginationBtn);\r\n }\r\n\r\n btns[that.config.startIndex].classList.add(clsBtnActive);\r\n\r\n [].forEach.call(btns, function (btnItem) {\r\n btnItem.addEventListener(\"click\", function () {\r\n\r\n btnItem.classList.add(clsBtnActive);\r\n\r\n siblingBtns = [].filter.call(btnItem.parentNode.children, function (child) {\r\n return child !== btnItem;\r\n });\r\n\r\n [].forEach.call(siblingBtns, function (siblingBtn) {\r\n siblingBtn.classList.remove(clsBtnActive);\r\n });\r\n });\r\n });\r\n\r\n};\r\n\r\nSlider.prototype.updatePagination = function (clsPaginationBtn) {\r\n var that = this;\r\n var btns;\r\n const currentSlide = that.config.loop ? that.currentSlide + that.perPage : that.currentSlide;\r\n var clsBtnActive = clsPaginationBtn + \"--active\";\r\n\r\n let slides = that.sliderFrame.children;\r\n var currentBtns = slides[currentSlide].querySelectorAll(\".\" + clsPaginationBtn);\r\n\r\n if (currentBtns.length) {\r\n btns = currentBtns;\r\n } else {\r\n btns = that.selectorParent.querySelectorAll(\".\" + clsPaginationBtn);\r\n }\r\n\r\n if (!btns) return;\r\n\r\n [].forEach.call(btns, function (btn) {\r\n btn.classList.remove(clsBtnActive);\r\n });\r\n\r\n btns[that.currentSlide].classList.add(clsBtnActive);\r\n};\r\n\r\nSlider.prototype.setHoverPause = function (stopTime) {\r\n var that, timeout;\r\n that = this;\r\n\r\n function play() {\r\n timeout = setInterval(function () {\r\n that.next();\r\n }, stopTime);\r\n }\r\n\r\n function stop() {\r\n clearInterval(timeout);\r\n }\r\n\r\n play();\r\n\r\n that.selector.addEventListener(\"mouseenter\", stop);\r\n that.selector.addEventListener(\"mouseleave\", play);\r\n};\r\n\r\nSlider.prototype.setAutoHeight = function () {\r\n var that, timeout;\r\n that = this;\r\n\r\n function autoHeight() {\r\n var min, max, itemHeightList, height, maxHeight, i;\r\n\r\n min = that.currentSlide;\r\n max = min + that.perPage;\r\n itemHeightList = [];\r\n\r\n for (i = min; i < max; i++) {\r\n height = parseInt(that.innerElements[i].scrollHeight, 10);\r\n itemHeightList.push(height);\r\n }\r\n maxHeight = Math.max.apply(null, itemHeightList);\r\n that.sliderFrame.style.maxHeight = maxHeight + \"px\";\r\n }\r\n\r\n window.addEventListener(\"resize\", function () {\r\n that.sliderFrame.style.maxHeight = \"\";\r\n clearTimeout(timeout);\r\n timeout = setTimeout(autoHeight, 500);\r\n });\r\n autoHeight();\r\n};\r\n","// CALLED BY used by: /Assets/js/initialize-site.js\r\nexport default class tableHorizontalScroller {\r\n constructor(tableArray, exclusionTableArray, debug = false) {\r\n if (tableArray && tableArray.length) {\r\n // Expects an array of css selectors of tables.\r\n // EX: { table#exTab1 }.\r\n } else {\r\n // Otherwise always run on table.table\r\n this.tables = document.querySelectorAll(\"main table.table\");\r\n }\r\n\r\n // Arrow Buttons\r\n this.icnRightArrow = `\r\n \r\n \r\n \r\n \r\n`;\r\n this.icnLeftArrow = `\r\n \r\n \r\n \r\n \r\n\r\n`;\r\n\r\n // Debug Tables\r\n this.debug = debug;\r\n this.debugTableCount = 0;\r\n this.debugAffectedTable = 0; // Stopped modifying table as it already has html correct markup. Or exclusion applied\r\n this.debugNotFoundTables = 0; // Table not found in tableArray\r\n\r\n // Initialize\r\n this.init();\r\n }\r\n\r\n init() {\r\n // Modifies Table Element: Parents, Wrappers, and Siblings\r\n this.tableModifier(); // this always needs to run first as it adds left and right btns\r\n\r\n // Event listeners\r\n // this.addTableListeners();\r\n\r\n // Debug\r\n // this.debugger();\r\n }\r\n\r\n // BEGIN HTML Element Modifiers\r\n\r\n // Check if Parent table-responsive (.table-responsive is a Bootstrap class) parent exists. If no parent create it\r\n tableResponsiveParent(table) {\r\n let parentDiv = table.closest(\"div.table-responsive\");\r\n\r\n if (!parentDiv) {\r\n // Create a new div with the class \"table-responsive\"\r\n parentDiv = document.createElement(\"div\");\r\n parentDiv.className = \"table-responsive\";\r\n\r\n\r\n // Insert the new div before the table\r\n table.parentNode.insertBefore(parentDiv, table);\r\n\r\n // Move the table inside the new div\r\n parentDiv.appendChild(table);\r\n }\r\n\r\n // Add the class \"table-container\" to the parent div\r\n parentDiv.classList.add(\"table-container\");\r\n\r\n }\r\n\r\n // Check if table-wrapper parent exists. If no create parent. We attach the scroll buttons to this parent.\r\n tableWrapper(table) {\r\n let wrapper = table.closest(\"div.table-action-wrapper\");\r\n\r\n // Check if the table is already inside a wrapper\r\n if (!wrapper) {\r\n // Create the new wrapper div\r\n wrapper = document.createElement(\"div\");\r\n wrapper.className = \"table-action-wrapper\";\r\n\r\n // Insert the wrapper before the table\r\n table.before(wrapper);\r\n\r\n // Move the table inside the wrapper\r\n wrapper.appendChild(table);\r\n }\r\n\r\n this.createScrollBtns(wrapper);\r\n }\r\n\r\n // Create Scroll Buttons\r\n createScrollBtns(wrapper) {\r\n\r\n // Add scroll buttons if they don\"t already exist\r\n if (!wrapper.previousElementSibling || !wrapper.previousElementSibling.classList.contains(\"scrollLeft\")) {\r\n let wrapperTable = wrapper.querySelectorAll(\"table\");\r\n\r\n if (wrapperTable) {\r\n let scrollLeftButton = document.createElement(\"button\");\r\n scrollLeftButton.className = \"scrollLeft table-scroll-button\";\r\n scrollLeftButton.innerHTML = this.icnLeftArrow + \" Scroll left\";\r\n wrapper.instertBefore(scrollLeftButton, wrapper.tableRef);\r\n }\r\n }\r\n\r\n if (!wrapper.nextElementSibling || !wrapper.nextElementSibling.classList.contains(\"scrollRight\")) {\r\n let scrollRightButton = document.createElement(\"button\");\r\n scrollRightButton.className = \"scrollRight table-scroll-button\";\r\n scrollRightButton.innerHTML = this.icnRightArrow + \" Scroll right\";\r\n wrapper.appendChild(scrollRightButton);\r\n }\r\n \r\n }\r\n // END HTML Element Modifiers\r\n\r\n // Modify Table\r\n tableModifier() {\r\n let self = this;\r\n this.tables.forEach(function (table) {\r\n // Run tableParent scripts\r\n self.tableResponsiveParent(table);\r\n\r\n // Run Table Wrapper\r\n //self.tableWrapper(table);\r\n\r\n // Count Table Columns\r\n //self.countTableCols(table);\r\n });\r\n\r\n }\r\n\r\n // BEGIN Event Listeners\r\n addTableListeners() {\r\n // Add event listeners for scroll buttons\r\n let tableWrappers = document.querySelectorAll(\".table-action-wrapper\");\r\n let self = this;\r\n\r\n tableWrappers.forEach(function (wrapper) {\r\n let scrollLeftButton = wrapper.querySelector(\".scrollLeft\");\r\n let scrollRightButton = wrapper.querySelector(\".scrollRight\");\r\n\r\n let currentTable = wrapper.querySelector(\"table\");\r\n\r\n if (scrollLeftButton && scrollLeftButton.classList.contains(\"scrollLeft\")) {\r\n scrollLeftButton.addEventListener(\"click\", function () {\r\n let scrollDistance = self.calculateScrollLeft(currentTable);\r\n\r\n wrapper.scrollBy({\r\n left: scrollDistance, // Adjust the value as needed\r\n behavior: \"smooth\"\r\n });\r\n });\r\n }\r\n\r\n if (scrollRightButton && scrollRightButton.classList.contains(\"scrollRight\")) {\r\n let scrollDistance = self.calculateScrollRight(currentTable);\r\n\r\n scrollRightButton.addEventListener(\"click\", function () {\r\n wrapper.scrollBy({\r\n left: 100, // Adjust the value as needed\r\n behavior: \"smooth\"\r\n });\r\n });\r\n }\r\n });\r\n }\r\n // END Event Listeners\r\n\r\n // Calculations\r\n calculateScrollLeft(table) {\r\n\r\n return -100;\r\n }\r\n\r\n calculateScrollRight(table) {\r\n\r\n return 100;\r\n }\r\n\r\n countTableCols(table) {\r\n\r\n console.log(table);\r\n let firstRow = table.rows[0];\r\n\r\n console.log(firstRow);\r\n let columnCount = 0;\r\n\r\n if (firstRow) {\r\n for (let cell of firstRow.cells) {\r\n console.log(cell);\r\n columnCount += cell.colSpan;\r\n }\r\n }\r\n console.log(columnCount);\r\n return columnCount;\r\n }\r\n\r\n // Debugger\r\n debugger() {\r\n if (this.debug) {\r\n console.log(\"tables: \" + this.tables);\r\n }\r\n }\r\n}\r\n\r\n//window.addEventListener('DOMContentLoaded', () => {\r\n// let tableScroller = new tableHorizontalScroller();\r\n//});","/* eslint-disable no-unused-vars */\r\n/* eslint-disable no-undef */\r\nexport const onReady = (callback) => {\r\n if (document.readyState != \"loading\") callback();\r\n else if (document.addEventListener) document.addEventListener(\"DOMContentLoaded\", callback);\r\n else document.attachEvent(\"onreadystatechange\", function () {\r\n if (document.readyState == \"complete\") callback();\r\n });\r\n};\r\n\r\nexport function getNextSibling(elem, selector) {\r\n var sibling = elem.nextElementSibling;\r\n\r\n while (sibling) {\r\n if (sibling.matches(selector)) return sibling;\r\n sibling = sibling.nextElementSibling;\r\n }\r\n}\r\n\r\nexport function isNullOrUndefined(value) {\r\n return value === undefined || value === null || value === \"\";\r\n}\r\n\r\nexport function extractHostname(url, tld) {\r\n var hostname;\r\n if (url.indexOf(\"//\") > -1) {\r\n hostname = url.split(\"/\")[2];\r\n } else {\r\n hostname = url.split(\"/\")[0];\r\n }\r\n hostname = hostname.split(\":\")[0];\r\n hostname = hostname.split(\"?\")[0];\r\n\r\n if (tld) {\r\n const hostnames = hostname.split(\".\");\r\n hostname = hostnames[hostnames.length - 2] + \".\" + hostnames[hostnames.length - 1];\r\n }\r\n\r\n return hostname;\r\n}\r\n\r\nexport function containsAny(str, substrings) {\r\n const lstr = str.toLowerCase();\r\n for (let i = 0; i !== substrings.length; i++) {\r\n const substring = substrings[i].toLowerCase();\r\n if (lstr.indexOf(substring) !== -1) {\r\n return substring;\r\n }\r\n }\r\n return null;\r\n}\r\n\r\nexport function updateQueryString(key, value, url) {\r\n if (!url) url = window.location.href;\r\n var re = new RegExp(\"([?&])\" + key + \"=.*?(&|#|$)(.*)\", \"gi\"),\r\n hash;\r\n\r\n if (re.test(url)) {\r\n if (typeof value !== \"undefined\" && value !== null)\r\n return url.replace(re, \"$1\" + key + \"=\" + value + \"$2$3\");\r\n else {\r\n hash = url.split(\"#\");\r\n url = hash[0].replace(re, \"$1$3\").replace(/(&|\\?)$/, \"\");\r\n if (typeof hash[1] !== \"undefined\" && hash[1] !== null) url += \"#\" + hash[1];\r\n return url;\r\n }\r\n } else {\r\n if (typeof value !== \"undefined\" && value !== null) {\r\n var separator = url.indexOf(\"?\") !== -1 ? \"&\" : \"?\";\r\n hash = url.split(\"#\");\r\n url = hash[0] + separator + key + \"=\" + value;\r\n if (typeof hash[1] !== \"undefined\" && hash[1] !== null) url += \"#\" + hash[1];\r\n return url;\r\n } else return url;\r\n }\r\n}\r\n\r\nexport function getUrlVars() {\r\n var vars = [],\r\n hash;\r\n var hashes = window.location.href.slice(window.location.href.indexOf(\"?\") + 1).split(\"&\");\r\n for (var i = 0; i < hashes.length; i++) {\r\n hash = hashes[i].split(\"=\");\r\n var paramid = hash[0].toLowerCase();\r\n vars.push(paramid);\r\n vars[paramid] = hash[1];\r\n }\r\n return vars;\r\n}\r\n\r\nexport function convertHMS(value) {\r\n const sec = parseInt(value, 10);\r\n let hours = Math.floor(sec / 60 / 60);\r\n let minutes = Math.floor(sec / 60) - hours * 60;\r\n let seconds = sec % 60;\r\n let formatted = \"\";\r\n\r\n if (hours > 0) {\r\n formatted = hours.toString().padStart(2, \"0\") + \":\";\r\n }\r\n\r\n formatted += minutes.toString().padStart(2, \"0\") + \":\" + seconds.toString().padStart(2, \"0\");\r\n\r\n return formatted;\r\n}\r\n\r\nexport function getWithExpiry(key) {\r\n let itemStr = localStorage.getItem(key);\r\n\r\n // if the item doesn't exist, return null\r\n if (!itemStr) {\r\n return null;\r\n }\r\n\r\n let item = JSON.parse(itemStr);\r\n let now = new Date();\r\n\r\n // compare the expiry time of the item with the current time\r\n if (now.getTime() > item.expiry) {\r\n // If the item is expired, delete the item from storage and return null\r\n localStorage.removeItem(key);\r\n return null;\r\n }\r\n\r\n return item.value;\r\n}\r\n\r\nexport function setWithExpiry(key, value, seconds) {\r\n let now = new Date();\r\n // `item` is an object which contains the original value as well as the time when it's supposed to expire\r\n let item = {\r\n value: value,\r\n expiry: now.getTime() + seconds * 1000\r\n };\r\n\r\n localStorage.setItem(key, JSON.stringify(item));\r\n}\r\n\r\nexport function getCurrentLanguage(fallback) {\r\n return window.currentLanguage || fallback || \"en\";\r\n}\r\n\r\nexport function getCurrentRegion(fallback) {\r\n return window.currentRegion || fallback || \"NA\";\r\n}\r\n\r\nexport function createCookie(name, value, days) {\r\n var expires = \"\";\r\n if (days) {\r\n var date = new Date();\r\n date.setTime(date.getTime() + days * 24 * 60 * 60 * 1000);\r\n expires = \"; expires=\" + date.toGMTString();\r\n }\r\n document.cookie = name + \"=\" + value + expires + \"; path=/\";\r\n}\r\n\r\nexport function getCookie(name) {\r\n var v = document.cookie.match(\"(^|;) ?\" + name + \"=([^;]*)(;|$)\");\r\n return v ? v[2] : null;\r\n}\r\n\r\nexport function loadScript(src, callback) {\r\n var script = document.createElement(\"script\");\r\n script.type = \"text/javascript\";\r\n\r\n // IE\r\n if (script.readyState) {\r\n script.onreadystatechange = function () {\r\n if (script.readyState === \"loaded\" || script.readyState === \"complete\") {\r\n script.onreadystatechange = null;\r\n callback();\r\n }\r\n };\r\n }\r\n // Others\r\n else {\r\n script.onload = callback;\r\n }\r\n\r\n script.src = src;\r\n document.head.appendChild(script);\r\n}\r\n\r\n/**\r\n * Get Character Count\r\n * @param {string\r\n * @param {number}\r\n */\r\nexport function getCharCount(str) {\r\n return str.length;\r\n}\r\n\r\n/**\r\n * Get Word Count\r\n * @param {string}\r\n * @param {number}\r\n */\r\nexport function getWordCount(str) {\r\n const words = removeTags(str).split(\" \");\r\n return words.filter((word) => word.trim() !== \"\").length;\r\n}\r\n\r\n/**\r\n * Trim whitespace\r\n * @param {string}\r\n * @param {string}\r\n */\r\nexport function trimSpaces(str) {\r\n return str.replace(/(^\\s*)|(\\s*$)/gi, \"\");\r\n}\r\n\r\n/**\r\n * Remove HTML Tags from string\r\n * @param {string}\r\n * @param {string}\r\n */\r\nexport function removeTags(str) {\r\n if (str === null || str === \"\") {\r\n return false;\r\n }\r\n\r\n return str.replace(/<[^>]+>/g, \"\");\r\n}\r\n\r\nexport function waitForElm(selector) {\r\n return new Promise(resolve => {\r\n if (document.querySelector(selector)) {\r\n return resolve(document.querySelector(selector));\r\n }\r\n\r\n const observer = new MutationObserver(mutations => {\r\n if (document.querySelector(selector)) {\r\n observer.disconnect();\r\n resolve(document.querySelector(selector));\r\n }\r\n });\r\n\r\n // If you get \"parameter 1 is not of type 'Node'\" error, see https://stackoverflow.com/a/77855838/492336\r\n observer.observe(document.body, {\r\n childList: true,\r\n subtree: true\r\n });\r\n });\r\n}\r\n\r\nexport function getBootstrapBreakpoint() {\r\n const breakpoints = {\r\n xs: window.matchMedia(\"(max-width: 767px)\"),\r\n sm: window.matchMedia(\"(min-width: 768px) and (max-width: 991px)\"),\r\n md: window.matchMedia(\"(min-width: 992px) and (max-width: 1199px)\"),\r\n lg: window.matchMedia(\"(min-width: 1200px)\")\r\n };\r\n\r\n for (const breakpoint in breakpoints) {\r\n if (breakpoints[breakpoint].matches) {\r\n return breakpoint;\r\n }\r\n }\r\n}","/* eslint no-unused-vars: 0 */\r\nimport { extractHostname } from \"/Assets/js/utilities.js\";\r\n\r\nclass UtmTracking {\r\n constructor(options = {}) {\r\n this._cookieNamePrefix = \"_hyp_\";\r\n this._domain = options.domain;\r\n this._secure = options.secure || false;\r\n this._initialUtmParams = options.initialUtmParams || false;\r\n this._cookieExpiryMinutes = options.cookieExpiryMinutes || 30;\r\n this._utmParams = [\"utm_source\", \"utm_medium\", \"utm_campaign\", \"utm_term\", \"utm_content\"];\r\n this._utmInheritingDomains = [\"onfastspring.com\"];\r\n this.writeInitialReferrer();\r\n this.writeLastReferrer();\r\n this.writeInitialLandingPageUrl();\r\n if (this._initialUtmParams) {\r\n this.writeInitialUtmCookieFromParams();\r\n }\r\n if (this.utmPresentInUrl()) {\r\n this.writeUtmCookieFromParams();\r\n }\r\n\r\n return;\r\n }\r\n\r\n createCookie(name, value, minutes, path, domain, secure) {\r\n var cookieDomain, cookieExpire, cookiePath, cookieSecure, date, expireDate;\r\n expireDate = null;\r\n if (minutes) {\r\n date = new Date();\r\n date.setTime(date.getTime() + minutes * 60 * 1000);\r\n expireDate = date;\r\n }\r\n cookieExpire = expireDate != null ? \"; expires=\" + expireDate.toUTCString() : \"\";\r\n cookiePath = path != null ? \"; path=\" + path : \"; path=/\";\r\n cookieDomain = domain != null ? \"; domain=\" + domain : \"\";\r\n cookieSecure = secure ? \"; secure\" : \"\";\r\n document.cookie =\r\n this._cookieNamePrefix +\r\n name +\r\n \"=\" +\r\n escape(value) +\r\n cookieExpire +\r\n cookiePath +\r\n cookieDomain +\r\n cookieSecure;\r\n }\r\n\r\n readCookie(name) {\r\n var c, ca, i, nameEQ;\r\n nameEQ = this._cookieNamePrefix + name + \"=\";\r\n ca = document.cookie.split(\";\");\r\n i = 0;\r\n while (i < ca.length) {\r\n c = ca[i];\r\n while (c.charAt(0) === \" \") {\r\n c = c.substring(1, c.length);\r\n }\r\n if (c.indexOf(nameEQ) === 0) {\r\n return c.substring(nameEQ.length, c.length);\r\n }\r\n\r\n i++;\r\n }\r\n return null;\r\n }\r\n\r\n eraseCookie(name) {\r\n this.createCookie(name, \"\", -1, null, this._domain, this._secure);\r\n }\r\n\r\n getParameterByName(name) {\r\n var regex, regexS, results;\r\n name = name.replace(/[\\[]/, \"\\\\[\").replace(/[\\]]/, \"\\\\]\");\r\n regexS = \"[\\\\?&]\" + name + \"=([^&#]*)\";\r\n regex = new RegExp(regexS);\r\n results = regex.exec(window.location.search);\r\n if (results) {\r\n return decodeURIComponent(results[1].replace(/\\+/g, \" \"));\r\n } else {\r\n return \"\";\r\n }\r\n }\r\n\r\n utmPresentInUrl() {\r\n var j, len, param, ref;\r\n ref = this._utmParams;\r\n for (j = 0, len = ref.length; j < len; j++) {\r\n param = ref[j];\r\n if (this.getParameterByName(param)) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n }\r\n\r\n writeCookie(name, value) {\r\n this.createCookie(name, value, this._cookieExpiryMinutes, null, this._domain, this._secure);\r\n }\r\n\r\n writeCookieOnce(name, value) {\r\n var existingValue;\r\n existingValue = this.readCookie(name);\r\n if (!existingValue) {\r\n this.writeCookie(name, value);\r\n }\r\n }\r\n\r\n writeUtmCookieFromParams() {\r\n var j, len, param, ref, value;\r\n ref = this._utmParams;\r\n for (j = 0, len = ref.length; j < len; j++) {\r\n param = ref[j];\r\n value = this.getParameterByName(param);\r\n this.writeCookie(param, value);\r\n }\r\n }\r\n\r\n writeInitialUtmCookieFromParams() {\r\n var j, len, name, param, ref, value;\r\n ref = this._utmParams;\r\n for (j = 0, len = ref.length; j < len; j++) {\r\n param = ref[j];\r\n name = \"initial_\" + param;\r\n value = this.getParameterByName(param) || \"\";\r\n this.writeCookieOnce(name, value);\r\n }\r\n }\r\n\r\n appendUtmParametersToExternalLinks() {\r\n var j, len, links, tl, tp, nl;\r\n links = document.getElementsByTagName(\"a\");\r\n for (j = 0, len = links.length; j < len; j++) {\r\n (tl = links[j].href), tp;\r\n if (this._isInheritingDomain(tl)) {\r\n nl = this.appendUtmParameters(tl);\r\n links[j].href = nl;\r\n }\r\n }\r\n }\r\n\r\n appendUtmParameters(link) {\r\n var j, len, param, ref, value, url;\r\n ref = this._utmParams;\r\n url = new URL(link);\r\n for (j = 0, len = ref.length; j < len; j++) {\r\n param = ref[j];\r\n value = this.getParameterByName(param) || this.readCookie(param) || null;\r\n if (value != null) {\r\n url.searchParams.append(param, value);\r\n }\r\n }\r\n return url.toString();\r\n }\r\n\r\n _isInheritingDomain(link) {\r\n var j, len, m;\r\n m = false;\r\n for (j = 0, len = this._utmInheritingDomains.length; j < len; j++) {\r\n if (link.indexOf(this._utmInheritingDomains[j]) > 0) {\r\n m = true;\r\n }\r\n }\r\n return m;\r\n }\r\n\r\n _sameDomainReferrer(referrer) {\r\n var hostname;\r\n hostname = document.location.hostname;\r\n return referrer.indexOf(this._domain) > -1 || referrer.indexOf(hostname) > -1;\r\n }\r\n\r\n _isInvalidReferrer(referrer) {\r\n return referrer === \"\" || referrer === void 0;\r\n }\r\n\r\n writeInitialReferrer() {\r\n var value;\r\n value = document.referrer;\r\n if (this._isInvalidReferrer(value)) {\r\n value = \"direct\";\r\n }\r\n this.writeCookieOnce(\"referrer\", value);\r\n }\r\n\r\n writeLastReferrer() {\r\n var value;\r\n value = document.referrer;\r\n if (!this._sameDomainReferrer(value)) {\r\n if (this._isInvalidReferrer(value)) {\r\n value = \"direct\";\r\n }\r\n this.writeCookie(\"last_referrer\", value);\r\n }\r\n }\r\n\r\n writeInitialLandingPageUrl() {\r\n var value;\r\n value = this.cleanUrl();\r\n if (value) {\r\n this.writeCookieOnce(\"initial_landing_page\", value);\r\n }\r\n }\r\n\r\n initialReferrer() {\r\n return this.readCookie(\"referrer\");\r\n }\r\n\r\n lastReferrer() {\r\n return this.readCookie(\"last_referrer\");\r\n }\r\n\r\n initialLandingPageUrl() {\r\n return this.readCookie(\"initial_landing_page\");\r\n }\r\n\r\n utmSource() {\r\n return this.readCookie(\"utm_source\");\r\n }\r\n\r\n utmMedium() {\r\n return this.readCookie(\"utm_medium\");\r\n }\r\n\r\n utmCampaign() {\r\n return this.readCookie(\"utm_campaign\");\r\n }\r\n\r\n cleanUrl() {\r\n var cleanSearch;\r\n cleanSearch = window.location.search\r\n .replace(/utm_[^&]+&?/g, \"\")\r\n .replace(/&$/, \"\")\r\n .replace(/^\\?$/, \"\");\r\n return (\r\n window.location.origin + window.location.pathname + cleanSearch + window.location.hash\r\n );\r\n }\r\n}\r\n\r\nvar hostname = extractHostname(window.location.href, true).toLowerCase();\r\nvar utmTracking = new UtmTracking({\r\n domain: hostname,\r\n secure: true\r\n});\r\n\r\nexport default utmTracking;\r\n","/* eslint-disable no-unused-vars */\r\n/* eslint-disable no-undef */\r\n/* eslint-disable no-cond-assign */\r\nimport { isNullOrUndefined, onReady } from \"/Assets/js/utilities.js\";\r\nimport { Bouncer } from \"/Assets/js/libs/bouncer-es6.js\";\r\nimport customSelects from \"/Assets/js/libs/custom-select.min.js\";\r\n\r\nexport default class Platesaver {\r\n constructor() {\r\n var selects = [];\r\n }\r\n\r\n init() {\r\n onReady(() => {\r\n this.$element = $(\".platesaver-cost-savings-calculator\");\r\n if (!this.$element.length)\r\n return;\r\n\r\n this.$form = this.$element.find(\"#platesaver-cost-savings-calculator-form\");\r\n this.$resultsCntnr = this.$element.find(\".platesaver-cost-savings-results\");\r\n this.$overlayCntnr = this.$element.find(\".overlay\");\r\n this.$arrowBkgnd = this.$element.find(\".arrow-background\");\r\n this.locale = this.$element.data(\"locale\");\r\n\r\n if (isNullOrUndefined(this.locale)) {\r\n this.locale = this.getBrowserLocale();\r\n }\r\n\r\n const unit = this.getUnitOfMeasurementValue();\r\n this.setFieldDefaults(unit, false);\r\n this.setupFormValidation();\r\n this.bindEvents();\r\n });\r\n }\r\n\r\n bindEvents() {\r\n const self = this;\r\n\r\n self.$element.find(\"input[name='unit-of-measurement']\").on(\"change\",\r\n function () {\r\n const unit = $(this).val();\r\n self.setFieldDefaults(unit, true);\r\n });\r\n\r\n self.$element.find(\"#recalculate-plate-usage\").on(\"click\",\r\n function (e) {\r\n e.preventDefault();\r\n self.$resultsCntnr.hide();\r\n self.$overlayCntnr.hide();\r\n self.$arrowBkgnd.css({ \"opacity\": \"1\" }).scrollIntoView(120);\r\n\r\n });\r\n\r\n self.$element.find(\"#print-results\").on(\"click\",\r\n function (e) {\r\n e.preventDefault();\r\n window.print();\r\n });\r\n\r\n document.addEventListener(\"bouncerFormValid\", function (event) {\r\n if (event.target.classList.contains(\"platesaver-cost-savings-calculator-form\")) {\r\n self.calculateCostSavings();\r\n self.$arrowBkgnd.css({ \"opacity\": \".5\" });\r\n self.$overlayCntnr.show();\r\n self.$resultsCntnr.show().scrollIntoView(120);\r\n\r\n }\r\n }, false);\r\n }\r\n\r\n replaceSelectOptions(selectid, options, selected) {\r\n const self = this;\r\n\r\n //remove all but the first blank option\r\n var $option;\r\n\r\n $(selectid + \" option:gt(0)\").remove();\r\n\r\n $.each(options,\r\n function (index, option) {\r\n $option = $(\"\").attr(\"value\", option.value).text(option.text);\r\n $(selectid).append($option);\r\n });\r\n\r\n // set default selection\r\n $(selectid + \" option[value='\" + selected + \"']\")[0].selected = true;\r\n }\r\n\r\n setFieldDefaults(unit, change) {\r\n if (!isNullOrUndefined(this.selects)) {\r\n for (let select of this.selects) {\r\n select.destroy();\r\n }\r\n }\r\n\r\n var thicknessOptions = imperialOptions;\r\n var selectedThickness = \"0.5\";\r\n var selector = \"data-default-imperial\";\r\n var resultLabelSelector = \"data-imperial-label\";\r\n var inputAddonUnit = \"in\";\r\n\r\n if (unit === \"mm\") {\r\n selector = \"data-default-metric\";\r\n thicknessOptions = metricOptions;\r\n selectedThickness = \"12\";\r\n inputAddonUnit = \"mm\";\r\n }\r\n\r\n var priceRawMaterial = parseFloat($(\"#price-raw-material\").attr(selector));\r\n var lengthOfPlate = this.formatNumberForCalculation($(\"#length-of-plate\").attr(selector));\r\n var widthOfPlate = this.formatNumberForCalculation($(\"#width-of-plate\").attr(selector));\r\n var annualPlateUsage = this.formatNumberForCalculation($(\"#annual-plate-usage\").attr(\"data-default-value\"));\r\n var currentPlateUtilization = parseInt($(\"#current-plate-utilization\").attr(\"data-default-value\"));\r\n\r\n //console.log(\"Unformatted defaults\",\r\n // { priceRawMaterial, lengthOfPlate, widthOfPlate, annualPlateUsage, currentPlateUtilization });\r\n\r\n const fPriceRawMaterial = this.numberFormatter(priceRawMaterial);\r\n const fLengthOfPlate = this.numberFormatter(lengthOfPlate);\r\n const fWidthOfPlate = this.numberFormatter(widthOfPlate);\r\n const fAnnualPlateUsage = this.numberFormatter(annualPlateUsage);\r\n const fCurrentPlateUtilization = currentPlateUtilization;\r\n\r\n //console.log(\"Formatted defaults\",\r\n // { fPriceRawMaterial, fLengthOfPlate, fWidthOfPlate, fAnnualPlateUsage, fCurrentPlateUtilization });\r\n\r\n $(\"#price-raw-material\").val(fPriceRawMaterial);\r\n $(\"#length-of-plate\").val(fLengthOfPlate);\r\n $(\"#width-of-plate\").val(fWidthOfPlate);\r\n $(\"#annual-plate-usage\").val(fAnnualPlateUsage);\r\n $(\"#current-plate-utilization\").val(fCurrentPlateUtilization);\r\n\r\n //Update label for selected unit\r\n const $priceRawMaterialElement = $(\"#priceRawMaterialLabel\");\r\n if (unit === \"mm\") {\r\n $priceRawMaterialElement.text($priceRawMaterialElement.data(\"label-metric\"));\r\n } else {\r\n $priceRawMaterialElement.text($priceRawMaterialElement.data(\"label-imperial\"));\r\n }\r\n\r\n $(\"[data-input-addon-unit]\").text(inputAddonUnit);\r\n this.replaceSelectOptions(\"#plate-thickness\", thicknessOptions, selectedThickness);\r\n\r\n this.selects = customSelect(this.$form.find(\"select\"));\r\n\r\n // change result labels\r\n if (unit === \"mm\") {\r\n resultLabelSelector = \"data-metric-label\";\r\n }\r\n $(\"[data-imperial-label]\").each(function () {\r\n const label = $(this).attr(resultLabelSelector);\r\n $(this).html(label);\r\n });\r\n }\r\n\r\n getUnitOfMeasurementValue() {\r\n const value = $(\"input[name='unit-of-measurement']:checked\").val();\r\n return value;\r\n }\r\n\r\n getBrowserLocale(options = {}) {\r\n const defaultOptions = {\r\n languageCodeOnly: false\r\n };\r\n\r\n const opt = {\r\n defaultOptions,\r\n options\r\n };\r\n\r\n const browserLocales =\r\n navigator.languages === undefined\r\n ? [navigator.language]\r\n : navigator.languages;\r\n\r\n if (!browserLocales) {\r\n return undefined;\r\n }\r\n\r\n const cleanedLocales = browserLocales.map(locale => {\r\n const trimmedLocale = locale.trim();\r\n\r\n return opt.languageCodeOnly\r\n ? trimmedLocale.split(/-|_/)[0]\r\n : trimmedLocale;\r\n });\r\n\r\n return cleanedLocales[0];\r\n }\r\n\r\n setupFormValidation() {\r\n const self = this;\r\n let bouncer = new Bouncer(\"[data-validate]\", {\r\n disableSubmit: true,\r\n messages: {\r\n missingValue: {\r\n checkbox: window.jsl10n.JsResources.Translations.Common.ThisFieldRequired,\r\n radio: window.jsl10n.JsResources.Translations.Common.ThisFieldRequired,\r\n select: window.jsl10n.JsResources.Translations.Common.ThisFieldRequired,\r\n \"select-multiple\": window.jsl10n.JsResources.Translations.Common.ThisFieldRequired,\r\n default: window.jsl10n.JsResources.Translations.Common.ThisFieldRequired\r\n },\r\n patternMismatch: {\r\n email: window.jsl10n.JsResources.Translations.Common.EnterValidEmailAddress,\r\n number: window.jsl10n.JsResources.Translations.Common.EnterValidNumber,\r\n default: window.jsl10n.JsResources.Translations.Common.ThisFieldRequired\r\n }\r\n }\r\n });\r\n self.bouncer = bouncer;\r\n }\r\n\r\n formatNumberForCalculation(string) {\r\n const parser = new NumberParser(this.locale);\r\n return parser.parse(string);\r\n }\r\n\r\n percentageFormatter(num) {\r\n return new Intl.NumberFormat(this.locale, {\r\n style: \"percent\",\r\n minimumFractionDigits: 2,\r\n maximumFractionDigits: 2\r\n }).format(num);\r\n }\r\n\r\n numberFormatter(num) {\r\n return new Intl.NumberFormat(this.locale).format(num);\r\n }\r\n\r\n setPercentResultField(field, value) {\r\n const str = this.percentageFormatter(value);\r\n this.$element.find(field).text(str);\r\n }\r\n\r\n setResultField(field, value) {\r\n const str = this.numberFormatter(value);\r\n this.$element.find(field).text(str);\r\n }\r\n\r\n calculatePercentage(num, per) {\r\n return (num / 100) * per;\r\n }\r\n\r\n calculateCostSavings() {\r\n var unitOfMeasurement = this.getUnitOfMeasurementValue();\r\n\r\n var priceRawMaterial = this.formatNumberForCalculation($(\"#price-raw-material\").val());\r\n var lengthOfPlate = this.formatNumberForCalculation($(\"#length-of-plate\").val());\r\n var widthOfPlate = this.formatNumberForCalculation($(\"#width-of-plate\").val());\r\n var annualPlateUsage = this.formatNumberForCalculation($(\"#annual-plate-usage\").val());\r\n var currentPlateUtilization = parseInt($(\"#current-plate-utilization\").val());\r\n var plateThickness = parseFloat($(\"#plate-thickness\").val());\r\n var expectedPlateUtilization = parseInt($(\"#expected-plate-utilization\").val());\r\n\r\n //console.log(\"Values for calculation\",\r\n // { priceRawMaterial, lengthOfPlate, widthOfPlate, annualPlateUsage, currentPlateUtilization, plateThickness, expectedPlateUtilization });\r\n\r\n this.setResultField(\"[data-total-plates-used]\", annualPlateUsage);\r\n\r\n const totalLbsThroughputImperial = 0.2833;\r\n const totalLbsThroughputMetric = 0.0079;\r\n var totalLbsThroughput = totalLbsThroughputImperial;\r\n if (unitOfMeasurement === \"mm\") {\r\n totalLbsThroughput = totalLbsThroughputMetric;\r\n }\r\n\r\n //C15 priceRawMaterial\r\n //C16 plateThickness\r\n //C17 lengthOfPlate\r\n //C18 widthOfPlate\r\n //C19 annualPlateUsage\r\n //C20 currentPlateUtilization\r\n //C21 expectedPlateUtilization\r\n\r\n const ppTempImperial = plateThickness * lengthOfPlate * widthOfPlate * annualPlateUsage * totalLbsThroughput;\r\n const ppTempMetric = (plateThickness * lengthOfPlate * widthOfPlate / 1000) *\r\n annualPlateUsage *\r\n totalLbsThroughput;\r\n var ppTemp = ppTempImperial;\r\n if (unitOfMeasurement === \"mm\") {\r\n ppTemp = ppTempMetric;\r\n }\r\n const partsProduced = this.calculatePercentage(ppTemp, currentPlateUtilization);\r\n const partsProducedDisplay = Math.round(partsProduced);\r\n this.setResultField(\"[data-parts-produced]\", partsProducedDisplay);\r\n\r\n const utilizationRate = (currentPlateUtilization + expectedPlateUtilization) / 100;\r\n const estimatedTotalPlatesUsedImperial = partsProduced /\r\n utilizationRate /\r\n (plateThickness * lengthOfPlate * widthOfPlate * totalLbsThroughput);\r\n const estimatedTotalPlatesUsedMetric = partsProduced /\r\n utilizationRate /\r\n (plateThickness * lengthOfPlate * widthOfPlate * totalLbsThroughput) *\r\n 1000;\r\n var estimatedTotalPlatesUsed = estimatedTotalPlatesUsedImperial;\r\n if (unitOfMeasurement === \"mm\") {\r\n estimatedTotalPlatesUsed = estimatedTotalPlatesUsedMetric;\r\n }\r\n const estimatedTotalPlatesUsedDisplay = Math.round(estimatedTotalPlatesUsed);\r\n this.setResultField(\"[data-total-plates-used-estimated]\", estimatedTotalPlatesUsedDisplay);\r\n\r\n const spTempImperial = plateThickness * lengthOfPlate * widthOfPlate * annualPlateUsage * totalLbsThroughput;\r\n const spTempMetric = (plateThickness * lengthOfPlate * widthOfPlate / 1000) *\r\n annualPlateUsage *\r\n totalLbsThroughput;\r\n const scrapProducedCurrentImperial = spTempImperial * (1 - (currentPlateUtilization / 100));\r\n const scrapProducedCurrentMetric = spTempMetric * (1 - (currentPlateUtilization / 100));\r\n var scrapProducedCurrent = scrapProducedCurrentImperial;\r\n if (unitOfMeasurement === \"mm\") {\r\n scrapProducedCurrent = scrapProducedCurrentMetric;\r\n }\r\n const scrapProducedCurrentDisplay = Math.round(scrapProducedCurrent);\r\n this.setResultField(\"[data-scraps-produced-current]\", scrapProducedCurrentDisplay);\r\n\r\n const scrapProducedEstimatedImperial =\r\n (estimatedTotalPlatesUsed * plateThickness * lengthOfPlate * widthOfPlate * totalLbsThroughput) -\r\n partsProduced;\r\n const scrapProducedEstimatedMetric =\r\n ((plateThickness * lengthOfPlate * widthOfPlate / 1000) * estimatedTotalPlatesUsed * totalLbsThroughput) -\r\n partsProduced;\r\n var scrapProducedEstimated = scrapProducedEstimatedImperial;\r\n if (unitOfMeasurement === \"mm\") {\r\n scrapProducedEstimated = scrapProducedEstimatedMetric;\r\n }\r\n const scrapProducedEstimatedDisplay = Math.round(scrapProducedEstimated);\r\n this.setResultField(\"[data-scraps-produced-estimated]\", scrapProducedEstimatedDisplay);\r\n\r\n const percentScrapReduction = ((scrapProducedCurrent - scrapProducedEstimated) / scrapProducedCurrent);\r\n this.setPercentResultField(\"[data-percent-scrap-reduction]\", percentScrapReduction);\r\n\r\n const costPerPlateImperial =\r\n priceRawMaterial * plateThickness * lengthOfPlate * widthOfPlate * totalLbsThroughput;\r\n const costPerPlateMetric = ((scrapProducedCurrent + partsProduced) * priceRawMaterial) / annualPlateUsage;\r\n var costPerPlate = costPerPlateImperial;\r\n if (unitOfMeasurement === \"mm\") {\r\n costPerPlate = costPerPlateMetric;\r\n }\r\n\r\n const costPerPlateDisplay = Math.round(costPerPlate);\r\n this.setResultField(\"[data-cost-per-plate]\", costPerPlateDisplay);\r\n\r\n const materialCostCurrent = annualPlateUsage * costPerPlate;\r\n const materialCostCurrentDisplay = Math.round(materialCostCurrent);\r\n this.setResultField(\"[data-material-cost-current]\", materialCostCurrentDisplay);\r\n\r\n const materialCostEstimated = estimatedTotalPlatesUsed * costPerPlate;\r\n const materialCostEstimatedDisplay = Math.round(materialCostEstimated);\r\n this.setResultField(\"[data-material-cost-estimated]\", materialCostEstimatedDisplay);\r\n\r\n const estimatedSavings = Math.round(materialCostCurrent - materialCostEstimated);\r\n this.setResultField(\"[data-estimated-savings]\", estimatedSavings);\r\n\r\n const lbsScrapPerFootOfCut = 3.72;\r\n const thickness = .75;\r\n const kgCo2EFtCut = 1.09;\r\n const kgCo2ELbScrap = kgCo2EFtCut / lbsScrapPerFootOfCut;\r\n const kgCo2ELbScrapInchOfThickness = kgCo2ELbScrap / thickness;\r\n\r\n const emissionsSavedImperial =\r\n ((scrapProducedCurrent - scrapProducedEstimated) * plateThickness * kgCo2ELbScrapInchOfThickness) * 2.2046;\r\n const emissionsSavedMetric = ((scrapProducedCurrent - scrapProducedEstimated) * 2.2046) *\r\n (plateThickness / 25.4) *\r\n kgCo2ELbScrapInchOfThickness;\r\n var emissionsSaved = emissionsSavedImperial;\r\n if (unitOfMeasurement === \"mm\") {\r\n emissionsSaved = emissionsSavedMetric;\r\n }\r\n const emissionsSavedDisplay = Math.round(emissionsSaved);\r\n this.setResultField(\"[data-co2-emissions-saved]\", emissionsSavedDisplay);\r\n\r\n const equivalentConsumptionGasolineImperial = Math.round(emissionsSaved / 19.64);\r\n const equivalentConsumptionGasolineMetric = Math.round(emissionsSaved / 2.3);\r\n var equivalentConsumptionGasoline = equivalentConsumptionGasolineImperial;\r\n if (unitOfMeasurement === \"mm\") {\r\n equivalentConsumptionGasoline = equivalentConsumptionGasolineMetric;\r\n }\r\n this.setResultField(\"[data-equivalent-consumption-gasoline]\", equivalentConsumptionGasoline);\r\n }\r\n}\r\n\r\nconst imperialOptions = [\r\n { text: \"1/2 in\", value: \"0.5\" },\r\n { text: \"5/8 in\", value: \"0.625\" },\r\n { text: \"3/4 in\", value: \"0.75\" },\r\n { text: \"7/8 in\", value: \"0.875\" },\r\n { text: \"1 in\", value: \"1\" },\r\n { text: \"1 1/8 in\", value: \"1.125\" },\r\n { text: \"1 1/4 in\", value: \"1.25\" }\r\n];\r\n\r\nconst metricOptions = [\r\n { text: \"12 mm\", value: \"12\" },\r\n { text: \"17 mm\", value: \"17\" },\r\n { text: \"20 mm\", value: \"20\" },\r\n { text: \"22 mm\", value: \"22\" },\r\n { text: \"25 mm\", value: \"25\" },\r\n { text: \"28 mm\", value: \"28\" },\r\n { text: \"32 mm\", value: \"32\" }\r\n];\r\n\r\nclass NumberParser {\r\n constructor(locale) {\r\n const format = new Intl.NumberFormat(locale);\r\n const parts = format.formatToParts(12345.6);\r\n const numerals = Array.from({ length: 10 }).map((_, i) => format.format(i));\r\n const index = new Map(numerals.map((d, i) => [d, i]));\r\n this._group = new RegExp(`[${parts.find(d => d.type === \"group\").value}]`, \"g\");\r\n this._decimal = new RegExp(`[${parts.find(d => d.type === \"decimal\").value}]`);\r\n this._numeral = new RegExp(`[${numerals.join(\"\")}]`, \"g\");\r\n this._index = d => index.get(d);\r\n }\r\n parse(string) {\r\n return (string = string.trim()\r\n .replace(this._group, \"\")\r\n .replace(this._decimal, \".\")\r\n .replace(this._numeral, this._index)) ? +string : NaN;\r\n }\r\n}\r\n","/* eslint-disable no-unused-vars */\r\n/* eslint-disable no-undef */\r\nimport { onReady } from \"/Assets/js/utilities.js\";\r\nimport axios from \"axios\";\r\nimport { Bouncer } from \"/Assets/js/libs/bouncer-es6.js\";\r\nimport customSelects from \"/Assets/js/libs/custom-select.min.js\";\r\n\r\nexport default class PowermaxPaybackCalculator {\r\n init() {\r\n onReady(() => {\r\n this.element = document.querySelector(\".powermax-payback-calculator\");\r\n if (!this.element)\r\n return;\r\n\r\n this.form = this.element.querySelector(\"form\");\r\n this.formCntnr = this.element.querySelector(\".form-cntnr\");\r\n this.submitButton = this.element.querySelector(\".calculate\");\r\n this.results = this.element.querySelector(\".calculator-results\");\r\n this.overlay = this.element.querySelector(\".overlay\");\r\n this.recalculate = this.element.querySelector(\".recalculate\");\r\n this.print = this.element.querySelector(\".print-results\");\r\n\r\n customSelect(this.form.querySelector(\"select\"));\r\n this.setupFormValidation();\r\n this.bindEvents();\r\n });\r\n }\r\n\r\n bindEvents() {\r\n const self = this;\r\n document.addEventListener(\"bouncerFormValid\", function (event) {\r\n if (event.target.classList.contains(\"powermax-payback-calculator-form\")) {\r\n let url = self.form.getAttribute(\"action\");\r\n let method = self.form.getAttribute(\"method\");\r\n let bodyFormData = new FormData(self.form);\r\n\r\n axios({\r\n url: url,\r\n method: method,\r\n data: bodyFormData\r\n }).then(function (result) {\r\n self.showResults(result.data);\r\n }).catch(function (e) {\r\n console.error(e);\r\n });\r\n }\r\n }, false);\r\n\r\n self.element.addEventListener(\"click\", function (event) {\r\n if (event.target.classList.contains(\"recalculate\")) {\r\n event.preventDefault();\r\n self.hideResults();\r\n } else if (event.target.classList.contains(\"print-results\")) {\r\n event.preventDefault();\r\n window.print();\r\n }\r\n });\r\n }\r\n\r\n showResults(data) {\r\n const self = this;\r\n const isMobile = ResponsiveBootstrapToolkit.is(\"xs\");\r\n self.results.innerHTML = data;\r\n\r\n if (isMobile) {\r\n self.formCntnr.classList.add(\"hide\");\r\n } else {\r\n self.element.classList.add(\"show-overlay\");\r\n }\r\n }\r\n\r\n hideResults() {\r\n const self = this;\r\n const isMobile = ResponsiveBootstrapToolkit.is(\"xs\");\r\n self.results.innerHTML = \"\";\r\n\r\n if (isMobile) {\r\n self.formCntnr.classList.remove(\"hide\");\r\n } else {\r\n self.element.classList.remove(\"show-overlay\");\r\n }\r\n }\r\n\r\n setupFormValidation() {\r\n const self = this;\r\n let bouncer = new Bouncer(\"[data-validate]\", {\r\n disableSubmit: true,\r\n messages: {\r\n missingValue: {\r\n checkbox: window.jsl10n.JsResources.Translations.Common.ThisFieldRequired,\r\n radio: window.jsl10n.JsResources.Translations.Common.ThisFieldRequired,\r\n select: window.jsl10n.JsResources.Translations.Common.ThisFieldRequired,\r\n \"select-multiple\": window.jsl10n.JsResources.Translations.Common.ThisFieldRequired,\r\n default: window.jsl10n.JsResources.Translations.Common.ThisFieldRequired\r\n },\r\n patternMismatch: {\r\n email: window.jsl10n.JsResources.Translations.Common.EnterValidEmailAddress,\r\n number: window.jsl10n.JsResources.Translations.Common.EnterValidNumber,\r\n default: window.jsl10n.JsResources.Translations.Common.ThisFieldRequired\r\n }\r\n }\r\n });\r\n self.bouncer = bouncer;\r\n }\r\n}\r\n","/* eslint-disable no-unused-vars */\r\n/* eslint-disable no-undef */\r\n/* eslint-disable no-cond-assign */\r\nimport { onReady } from \"/Assets/js/utilities.js\";\r\nimport { Bouncer } from \"/Assets/js/libs/bouncer-es6.js\";\r\n\r\nexport default class Shipbilding {\r\n constructor() { }\r\n\r\n init() {\r\n onReady(() => {\r\n this.$element = $(\".shipbuilding-cost-calculator\");\r\n if (!this.$element.length)\r\n return;\r\n\r\n this.bindEvents();\r\n this.setupFormValidation();\r\n });\r\n }\r\n\r\n bindEvents() {\r\n const self = this;\r\n\r\n document.addEventListener(\"bouncerFormValid\", function (event) {\r\n if (event.target.classList.contains(\"shipbuilding-cost-calculator-form\")) {\r\n var rawEmployees = self.getEmployeesRawValue();\r\n rawEmployees = rawEmployees.replace(/,/g, \"\");\r\n self.employees = parseInt(rawEmployees);\r\n self.laborRate = parseInt(self.getHourlyRawValue());\r\n\r\n self.calculateCostSavings();\r\n self.$element\r\n .find(\".results\")\r\n .show()\r\n .scrollIntoView(120);\r\n }\r\n }, false);\r\n\r\n self.$element.find(\".close-sbcalculator\").on(\"click\", function (e) {\r\n e.preventDefault();\r\n self.$element.find(\".results\").hide();\r\n });\r\n }\r\n\r\n setupFormValidation() {\r\n const self = this;\r\n let bouncer = new Bouncer(\"[data-validate]\", {\r\n disableSubmit: true,\r\n messages: {\r\n missingValue: {\r\n default: window.jsl10n.JsResources.Translations.Common.ThisFieldRequired\r\n },\r\n patternMismatch: {\r\n number: window.jsl10n.JsResources.Translations.Common.EnterValidNumber,\r\n default: window.jsl10n.JsResources.Translations.Common.ThisFieldRequired\r\n }\r\n }\r\n });\r\n self.bouncer = bouncer;\r\n }\r\n\r\n getEmployeesRawValue() {\r\n var employeesValue = $(\"#number-of-employees\").val();\r\n return employeesValue;\r\n }\r\n\r\n getHourlyRawValue() {\r\n var hourlyValue = $(\"#hourly-labor-rate\").val();\r\n var hourlyRawValue = hourlyValue.replace(/\\$/g, \"\");\r\n return hourlyRawValue;\r\n }\r\n\r\n calculateCostSavings() {\r\n var burner = 0.05975;\r\n var tempPerc = 0.17;\r\n var skelPerc = 0.15;\r\n var genCutPerc = 0.4;\r\n var postPerc = 0.2;\r\n var gougePerc = 0.5;\r\n\r\n var dailyTorch = 0.15;\r\n var opDays = 312;\r\n var inchProc = 775;\r\n\r\n var plasCutSpeed = 56;\r\n var plasFlushCutSpeed = 90;\r\n var plasGrindSpeed = 60;\r\n var plasSetup = 0.125;\r\n var plasGougeSpeed = 20;\r\n\r\n var altCutSpeed = 20;\r\n var altGrindSpeed = 24;\r\n var altSetup = 0.4375;\r\n var altPreheat = 0.14583;\r\n var altGougeSpeed = 10;\r\n\r\n var burners = burner * this.employees;\r\n\r\n var tempInches = burners * tempPerc * (dailyTorch * opDays * inchProc);\r\n var skelInches = burners * skelPerc * (dailyTorch * opDays * inchProc);\r\n var genInches = burners * genCutPerc * (dailyTorch * opDays * inchProc);\r\n var postInches = burners * postPerc * (dailyTorch * opDays * inchProc);\r\n var gougeInches = burners * gougePerc * (dailyTorch * opDays * inchProc);\r\n\r\n var plasmaSetup = burners * plasSetup * (dailyTorch * opDays);\r\n var alterSetup = burners * altSetup * (dailyTorch * opDays);\r\n var alterPreheat = burners * altPreheat * (dailyTorch * opDays);\r\n\r\n var altTempTime =\r\n tempInches / 60 * (1 / altCutSpeed + 1 / altGrindSpeed) + (alterSetup + alterPreheat);\r\n var altSkelTime = skelInches / 60 * (1 / altCutSpeed) + (alterSetup + alterPreheat);\r\n var altGenTime =\r\n genInches / 60 * (1 / altCutSpeed + 1 / altGrindSpeed) + (alterSetup + alterPreheat);\r\n var altPostTime =\r\n postInches / 60 * (1 / altCutSpeed + 1 / altGrindSpeed) + (alterSetup + alterPreheat);\r\n\r\n var altGougeGrind = gougeInches * (20 / 60 / 1200); //gouge length x 20 mins per 100 ft\r\n var altGougeTime = gougeInches / altGougeSpeed / 60 + altGougeGrind; //gouge length x CAG speed x employees x opdays + CAG grinding time\r\n\r\n var plasmaTempTime =\r\n tempInches / 60 * (1 / plasFlushCutSpeed + 1 / plasGrindSpeed) + plasmaSetup;\r\n var plasmaSkelTime = skelInches / 60 * (1 / plasCutSpeed) + plasmaSetup;\r\n var plasmaGenTime = genInches / 60 * (1 / plasCutSpeed + 1 / plasGrindSpeed) + plasmaSetup;\r\n var plasmaPostTime =\r\n postInches / 60 * (1 / plasCutSpeed + 1 / plasGrindSpeed) + plasmaSetup;\r\n var plasmaGougeTime = gougeInches / 60 / plasGougeSpeed + altGougeGrind * 0.5; //gouge length in hours / gouge speed + 50% of CAG grinding time\r\n\r\n var tempTimeSave = altTempTime - plasmaTempTime;\r\n var skelTimeSave = altSkelTime - plasmaSkelTime;\r\n var genTimeSave = altGenTime - plasmaGenTime;\r\n var postTimeSave = altPostTime - plasmaPostTime;\r\n var gougeTimeSave = altGougeTime - plasmaGougeTime;\r\n\r\n var tempTS = Math.round(tempTimeSave).toLocaleString();\r\n var skelTS = Math.round(skelTimeSave).toLocaleString();\r\n var genTS = Math.round(genTimeSave).toLocaleString();\r\n var postTS = Math.round(postTimeSave).toLocaleString();\r\n var gougeTS = Math.round(gougeTimeSave).toLocaleString();\r\n\r\n var tempPI = (tempTimeSave / altTempTime).toLocaleString(undefined, {\r\n style: \"percent\",\r\n minimumFractionDigits: 0,\r\n maximumFractionDigits: 0\r\n });\r\n var skelPI = (skelTimeSave / altSkelTime).toLocaleString(undefined, {\r\n style: \"percent\",\r\n minimumFractionDigits: 0,\r\n maximumFractionDigits: 0\r\n });\r\n var genPI = (genTimeSave / altGenTime).toLocaleString(undefined, {\r\n style: \"percent\",\r\n minimumFractionDigits: 0,\r\n maximumFractionDigits: 0\r\n });\r\n var postPI = (postTimeSave / altPostTime).toLocaleString(undefined, {\r\n style: \"percent\",\r\n minimumFractionDigits: 0,\r\n maximumFractionDigits: 0\r\n });\r\n var gougePI = (gougeTimeSave / altGougeTime).toLocaleString(undefined, {\r\n style: \"percent\",\r\n minimumFractionDigits: 0,\r\n maximumFractionDigits: 0\r\n });\r\n\r\n var tempCS = Math.round(tempTimeSave * this.laborRate).toLocaleString();\r\n var skelCS = Math.round(skelTimeSave * this.laborRate).toLocaleString();\r\n var genCS = Math.round(genTimeSave * this.laborRate).toLocaleString();\r\n var postCS = Math.round(postTimeSave * this.laborRate).toLocaleString();\r\n\r\n var gougeCS = Math.round(gougeTimeSave * this.laborRate).toLocaleString(); //labor + parts + air + grinding costs (PMX grind time is 1/2 of CAG grind time)\r\n\r\n this.$element.find(\"[data-skeleton-removal-hours]\").text(skelTS);\r\n this.$element.find(\"[data-skeleton-removal-percent]\").text(skelPI);\r\n this.$element.find(\"[data-skeleton-removal-savings]\").text(\"$\" + skelCS);\r\n\r\n this.$element.find(\"[data-beveling-hours]\").text(postTS);\r\n this.$element.find(\"[data-beveling-percent]\").text(postPI);\r\n this.$element.find(\"[data-beveling-savings]\").text(\"$\" + postCS);\r\n\r\n this.$element.find(\"[data-temp-attachments-hours]\").text(tempTS);\r\n this.$element.find(\"[data-temp-attachments-percent]\").text(tempPI);\r\n this.$element.find(\"[data-temp-attachments-savings]\").text(\"$\" + tempCS);\r\n\r\n this.$element.find(\"[data-general-cutting-hours]\").text(genTS);\r\n this.$element.find(\"[data-general-cutting-percent]\").text(genPI);\r\n this.$element.find(\"[data-general-cutting-savings]\").text(\"$\" + genCS);\r\n\r\n this.$element.find(\"[data-gouging-hours]\").text(gougeTS);\r\n this.$element.find(\"[data-gouging-percent]\").text(gougePI);\r\n this.$element.find(\"[data-gouging-savings]\").text(\"$\" + gougeCS);\r\n }\r\n}\r\n","import { isNullOrUndefined, onReady } from \"/Assets/js/utilities.js\";\r\n\r\nexport default class ButtonBlock {\r\n init() {\r\n onReady(() => {\r\n let pcodeElement = document.querySelector(\"[data-product-code]\");\r\n if (!pcodeElement)\r\n return;\r\n\r\n let pcode = pcodeElement.getAttribute(\"data-product-code\");\r\n if (isNullOrUndefined(pcode))\r\n return;\r\n\r\n let elems = document.querySelectorAll(\".how-can-we-help a[href*='resources/resources-by-product'], .btn-cntnr > a[href*='resources/resources-by-product'], .sticky-nav-cta a[href*='resources/resources-by-product']\");\r\n if (!elems.length)\r\n return;\r\n\r\n elems.forEach(item => {\r\n let currentUrl = new URL(window.location.href);\r\n let href = item.getAttribute(\"href\");\r\n var destinationUrl = new URL(currentUrl.protocol + \"//\" + currentUrl.host + href);\r\n\r\n if (destinationUrl.searchParams.has(\"productcode\")) {\r\n destinationUrl.searchParams.set(\"productcode\", pcode);\r\n } else {\r\n destinationUrl.searchParams.append(\"productcode\", pcode);\r\n }\r\n item.setAttribute(\"href\", destinationUrl);\r\n });\r\n });\r\n }\r\n}\r\n","\r\ndocument.addEventListener(\"DOMContentLoaded\", () => {\r\n if (document.querySelector(\"[call-us-information]\")) {\r\n const contactUsBlock = new ContactUsBlock();\r\n contactUsBlock.init();\r\n }\r\n});\r\n\r\nclass ContactUsBlock {\r\n constructor() {\r\n this.arrayRegexes = [\r\n /(\\+\\d{2}\\s+\\(\\d{1}\\)\\s+\\d{10})/g, //+39 (0) 3491491255 \r\n /(\\+\\d{2}\\s+\\(\\d{1}\\)\\s+\\d{4}\\s+\\d{6})/g, //+44 (0) 7889 126106\r\n /(\\+\\d{2}\\s+\\(\\d{1}\\)\\s+\\d{1}\\s+\\d{2}\\s+\\d{2}\\s+\\d{2}\\s+\\d{2})/g, //+33 (0) 4 78 33 10 67\r\n /(\\+\\d{1}\\s+\\(\\d{1}\\)\\s+\\d{3}\\s+\\d{3}\\s+\\d{4})/g, //+7 (8) 985 897 2999\r\n /(\\+\\d{3}\\s+\\(\\d{1}\\)\\s+\\d{3}\\s+\\d{3}\\s+\\d{3})/g, //+420 (0) 556 723 044\r\n /(\\+\\d{2}\\s+\\d{3}\\s+\\d{3}\\s+\\d{2}\\s+\\d{2})/g, //+90 542 315 87 63\r\n /(\\d{4}\\s+\\(\\d{1}\\)\\s+\\d{3}\\s+\\d{6})/g, //0031 (0) 165 596907\r\n /(\\+\\d{1}\\s+\\d{3}\\s+\\d{7})/g, //+7 495 4103930\r\n /(\\d{1}-\\d{3}-\\d{3}-\\d{4})/g, //1-603-643-3441\r\n /(\\d{3}-\\d{3}-\\d{4})/g, //603-643-3441\r\n /(\\(\\d{3}\\)\\s+\\d{3}-\\d{4})/g, //(603) 643-3441\r\n /(\\d{1}\\s+\\d{3}\\s+\\d{3}\\s+\\d{4})/g, //1 603 643 3441\r\n /(\\+\\d{2}\\s+\\(\\d{1}\\)\\s+\\d{3}\\s+\\d{6})/g, //+44 (0) 788 126106\r\n /(\\+\\d{2}\\s+\\(\\d{1}\\)\\s+\\d{4}\\s+\\d{3}\\s+\\d{3})/g, //+44 (0) 7974 726 225\r\n /(\\+\\d{2}\\s+\\(\\d{1}\\)\\s+\\d{3}\\s+\\d{3}\\s+\\d{4})/g, //+49 (0) 175 228 9890\r\n /(\\+\\d{2}\\s+\\(\\d{2}\\)\\s+\\d{4}\\s+\\d{4})/g //+52 (55) 5681 8109 \r\n ];\r\n }\r\n\r\n init() {\r\n this.processPhoneNumbers();\r\n }\r\n\r\n processPhoneNumbers() {\r\n const elements = document.querySelectorAll(\"[call-us-information] p:not([processed])\");\r\n\r\n elements.forEach(item => {\r\n let phoneNumber = item.innerHTML;\r\n\r\n for (let regex of this.arrayRegexes) {\r\n if (phoneNumber.match(regex)) {\r\n phoneNumber = this.contactUsFormatPhoneNumber(phoneNumber, regex);\r\n break;\r\n }\r\n }\r\n item.innerHTML = phoneNumber;\r\n item.setAttribute(\"processed\", \"1\");\r\n });\r\n }\r\n\r\n contactUsFormatPhoneNumber(input, expression) {\r\n return input.replace(expression, \"$1\");\r\n }\r\n}","/* eslint-disable no-undef */\r\nimport { waitForElm, onReady } from \"/Assets/js/utilities.js\";\r\nexport default class Recaptcha {\r\n init() {\r\n onReady(() => {\r\n var submit = document.querySelector(\"[data-editorblocktype=SubmitButtonBlock]\");\r\n\r\n if (submit) {\r\n var newNode = document.createElement(\"div\");\r\n newNode.id = \"d365turnstile\";\r\n submit.parentNode.insertBefore(newNode, submit);\r\n }\r\n\r\n waitForElm(\"#d365turnstile\").then((element) => {\r\n try {\r\n this.renderTurnstile(element);\r\n } catch {\r\n try {\r\n this.renderTurnstile(element);\r\n } catch (err) {\r\n this.showErrorMessage();\r\n }\r\n }\r\n });\r\n });\r\n }\r\n\r\n hideErrorMessage() {\r\n var recaptchaElement = document.getElementById(\"d365turnstile\");\r\n var errorEl = recaptchaElement.querySelector(\".Form__Element__ValidationError\");\r\n if (errorEl) {\r\n errorEl.remove();\r\n }\r\n }\r\n\r\n showErrorMessage() {\r\n var recaptchaElement = document.getElementById(\"d365turnstile\");\r\n\r\n let errorEl;\r\n let prevErrorEl = recaptchaElement.querySelector(\".Form__Element__ValidationError\");\r\n if (prevErrorEl !== null) {\r\n errorEl = prevErrorEl;\r\n } else {\r\n errorEl = document.createElement(\"span\");\r\n errorEl.className = \"Form__Element__ValidationError\";\r\n errorEl.textContent = \"Unable to verify\";\r\n }\r\n\r\n if (recaptcha) {\r\n recaptchaElement.appendChild(errorEl);\r\n }\r\n }\r\n\r\n renderTurnstile(element) {\r\n const self = this;\r\n\r\n try {\r\n window.turnstile?.ready(() => {\r\n turnstile.render(element, {\r\n sitekey: \"0x4AAAAAAA0Vkt3b96lzLme5\",\r\n theme: \"light\",\r\n action: self.getFormName()\r\n });\r\n });\r\n } catch (err) {\r\n self.showErrorMessage();\r\n }\r\n }\r\n\r\n getFormName() {\r\n var element = document.querySelector(\"[data-embedded-form-block-name]\");\r\n return element.getAttribute(\"data-embedded-form-block-name\");\r\n }\r\n}\r\n","export const countries = [\r\n { id: \"AF\", dataValue: \"ht_countrycodes,djEGcf1BugHS+1WMWCl/3vIqX9U46LGEWfqmzbSHGMx6Mw==\" },\r\n { id: \"AX\", dataValue: \"ht_countrycodes,djHwsvOKjo6/50EOwCBWZ4xGW6COh5tSk8V/NoWU4beebA==\" },\r\n { id: \"AL\", dataValue: \"ht_countrycodes,djF9XTPALL8hRAC5HvwBFjT4linrsf7V3nK3YeRi4YQW1g==\" },\r\n { id: \"DZ\", dataValue: \"ht_countrycodes,djHQbdQb2P1QrUlDFHrVvHQ/P+LlvI6zWqvuIJg83090OQ==\" },\r\n { id: \"AS\", dataValue: \"ht_countrycodes,djF5znEbcYIxJG6yJCiM44icHVlFPwBq4VGnHBgyWkQt6w==\" },\r\n { id: \"AD\", dataValue: \"ht_countrycodes,djGvCJmA03e/rj5hOrVVOQWf6/VB1t1W6Qt3S0knFkQMeg==\" },\r\n { id: \"AO\", dataValue: \"ht_countrycodes,djF/Zps0PXg5WSRvgZ1ywW8oYBdkNJB9yN8zBFkMYUXoRQ==\" },\r\n { id: \"AI\", dataValue: \"ht_countrycodes,djEC7NB9XizCDr2y1OjWsZQONCmcQ+RWEL3aX6grWPRs3Q==\" },\r\n { id: \"AQ\", dataValue: \"ht_countrycodes,djEIU1IQ4uqUgbtb52h5KE9RqTTY246JmXs1BPQvyjGPVg==\" },\r\n { id: \"AG\", dataValue: \"ht_countrycodes,djHU0+CARSU1aJxoIap0HO/ONKXUroOw44c8gxfPwfcIQw==\" },\r\n { id: \"AR\", dataValue: \"ht_countrycodes,djEUznR4PpOGGdkWm3MhdpBeUEFTBO7F2Sc/bCbbW910gg==\" },\r\n { id: \"AM\", dataValue: \"ht_countrycodes,djGTq51an6APfWyqBNQ3NyKJBCwMmvGLi4Dqbfx9r0QfPg==\" },\r\n { id: \"AW\", dataValue: \"ht_countrycodes,djHwlKkJqZ6t3L7Le15hk2pbCfEqpKRz587pYYQYoBbw1w==\" },\r\n { id: \"AU\", dataValue: \"ht_countrycodes,djGSJKcvAbF1fCaGMtF5XgHTKdLaCh0L18zeLmafuWOoew==\" },\r\n { id: \"AT\", dataValue: \"ht_countrycodes,djF5fRLtMARWMJwXbAJY687TiYi+VBGxj3+m5AcSKfplcg==\" },\r\n { id: \"AZ\", dataValue: \"ht_countrycodes,djFYTi+Ob8Aqt0AUJlDFq2fVeqOhkKhYh2dJ6C3WiWhdPg==\" },\r\n { id: \"BS\", dataValue: \"ht_countrycodes,djHaPV+6Xk6/G9obCpIE9RMxlqdxlFSsGFOElVRb+1x/uA==\" },\r\n { id: \"BH\", dataValue: \"ht_countrycodes,djE5V6hlTFsqNoCkms/ttxdplOETZxoW3XOTexwijVF45Q==\" },\r\n { id: \"BD\", dataValue: \"ht_countrycodes,djEp5kPbAW7o0HNctTXCYnWmZZFaLpJLk9/d2MZmwGmI3g==\" },\r\n { id: \"BB\", dataValue: \"ht_countrycodes,djE00k35euZCXkQkj84wTtxhbv+ncpd2kCPe7frAktm/cA==\" },\r\n { id: \"BY\", dataValue: \"ht_countrycodes,djHR29H/ojFs9DbZ6OIv8ag4VL87RWyjztlsJKfxemmHfQ==\" },\r\n { id: \"BE\", dataValue: \"ht_countrycodes,djEvK+Lh21xCHlau3+PkxJusKcbs/9E+BTTOi/rX9XsW2A==\" },\r\n { id: \"BZ\", dataValue: \"ht_countrycodes,djGEOcOHelY+t2NhnaawqoASX1pOasLlq12dVsBdiRyHGA==\" },\r\n { id: \"BJ\", dataValue: \"ht_countrycodes,djFYeEk6deGYXsHtRdryruAP2UoWATYlcXDr57RnyS5i7A==\" },\r\n { id: \"BM\", dataValue: \"ht_countrycodes,djH4QBh8UU92N9SSjBDXhFJMvt1tkDCzyq4NGHSQp8kF8w==\" },\r\n { id: \"BT\", dataValue: \"ht_countrycodes,djGMvwyHKZxv1gNAjzHD/ySujH76HsyMd2w6jEA1ICmEmQ==\" },\r\n { id: \"BO\", dataValue: \"ht_countrycodes,djEmXQBT1KfPInVXAJ0NGaSzyee5LS02mF3orQLjhO1uSw==\" },\r\n { id: \"BA\", dataValue: \"ht_countrycodes,djH7z8CgpfGdV/8QZzy7pnzsyUh/RQcf4FxiOdlfBpw6NQ==\" },\r\n { id: \"BW\", dataValue: \"ht_countrycodes,djF0N8PV9IXIJpG/+dyRSBUK50GqRutlmCkmJlX4gFFV9w==\" },\r\n { id: \"BV\", dataValue: \"ht_countrycodes,djEjOtJK0dnJCJhuFzeQrw2SQI5YOqzFgHa5yV6mls/p/g==\" },\r\n { id: \"BR\", dataValue: \"ht_countrycodes,djEEVjqMDjhcPNWhnkOMO4t8yvd2X/KqQdMEmch/1WEawQ==\" },\r\n { id: \"IO\", dataValue: \"ht_countrycodes,djEvvA5b9ODTxeH/2K+Nnds9IN+72ttGv+fJl/qtMwHP1w==\" },\r\n { id: \"BN\", dataValue: \"ht_countrycodes,djFmHurwRZ3PqqwPZuyGIGkbOA4se0HGas0TYi1pRNv/Vg==\" },\r\n { id: \"BG\", dataValue: \"ht_countrycodes,djFzauVFhIvlfrL+lALf7sIxppv9GDM1wcAPTZ9OAbavtw==\" },\r\n { id: \"BF\", dataValue: \"ht_countrycodes,djFoZxxC6fOSB3JpbyUk30sJxg1RM7tjC7f3eO4JZuGNSg==\" },\r\n { id: \"BI\", dataValue: \"ht_countrycodes,djEJgaWZFHGrPWWGEQvvf8TSopONrMH0BTbKR0vcxOq3hA==\" },\r\n { id: \"KH\", dataValue: \"ht_countrycodes,djGhw2BffP751Jj1TbwU5b/iI378sw+y57S2RIe9JMG05A==\" },\r\n { id: \"CM\", dataValue: \"ht_countrycodes,djGZqQOaUsEwVqDmnRd+q0+sq4SL3kM/eDv+gWzSLVD1Fw==\" },\r\n { id: \"CA\", dataValue: \"ht_countrycodes,djFv6taQpy7RvCECc6KRgOXg2ptZMBunmXxPQu1BFigbGQ==\" },\r\n { id: \"CV\", dataValue: \"ht_countrycodes,djFNfzioiRwAEoxY6NYR6xXZtF1eFKsAlsiLFxQDIjDPHw==\" },\r\n { id: \"KY\", dataValue: \"ht_countrycodes,djGewFU9W3dLRid3BlLI7caHBmlhGV+DXy//FnXH0TYQWQ==\" },\r\n { id: \"CF\", dataValue: \"ht_countrycodes,djEraWo58prpJ6jWtlb3/d9HB8Yr30DdZDB0jcPEaBlUsA==\" },\r\n { id: \"TD\", dataValue: \"ht_countrycodes,djHDq+TzZ9CKJ77sUbo9UuRiFfXpFwUR6Qs8SVgDxW8JJw==\" },\r\n { id: \"CL\", dataValue: \"ht_countrycodes,djG+9u5jtFQZ89hJfPVzKOYHAWFGvK1RgUbSvfQm44LiJQ==\" },\r\n { id: \"CN\", dataValue: \"ht_countrycodes,djFSwR0x3pX8waDJPLXOR7IrLQZq4aB56pRsoTOvNdHIUA==\" },\r\n { id: \"CX\", dataValue: \"ht_countrycodes,djEf9egcd8zsL8Tgve9ZeEewANik55IMYB1eUwVzl/LVGQ==\" },\r\n { id: \"CC\", dataValue: \"ht_countrycodes,djHN0fdFL4A0TPggcCX58kNOyVY+xV/iowDcknWRieTLqQ==\" },\r\n { id: \"CO\", dataValue: \"ht_countrycodes,djHn9Swm4WUtUPpAoW5NimNLZmz3uIT+4fJVZP5jWE5WNw==\" },\r\n { id: \"KM\", dataValue: \"ht_countrycodes,djHmJzi71jOH2kWqbOjIsMjf+afZ+os4CF4J2x2qb3KLxw==\" },\r\n { id: \"CG\", dataValue: \"ht_countrycodes,djGc9WZKVAPwISELkPdnBVLraYVzS4wrj0FjfAtTCBdcAQ==\" },\r\n { id: \"CD\", dataValue: \"ht_countrycodes,djHXmXExPuh8OPuECjEkkfURG3pXmX10p3WD15dCfnmxRA==\" },\r\n { id: \"CK\", dataValue: \"ht_countrycodes,djE4LYJEBuTRZLcnAAi+b17S2qEE7bPYmxkluFCeeJWRUw==\" },\r\n { id: \"CR\", dataValue: \"ht_countrycodes,djF882HkLovRzQZDyn7+LPfIr0wpBmYJKqe7TTBuOmnABQ==\" },\r\n { id: \"CI\", dataValue: \"ht_countrycodes,djH9ZX0iJBzjY6uZEpi2y9Nzh2M8K9CgHATTFox3csuI5Q==\" },\r\n { id: \"HR\", dataValue: \"ht_countrycodes,djHRCVEGi7Gh8gcqTPdtIBFHWCZp2W4BGd/K1EwV3V5kxw==\" },\r\n { id: \"CU\", dataValue: \"ht_countrycodes,djEkszdtUXtP3YQ/fioaspULWorvqyqKl8SMUbLHOWNUbQ==\" },\r\n { id: \"CW\", dataValue: \"ht_countrycodes,djFT8/Wz9+YBQkPn1W31CGbRxRcpF/P/xgBEPQWH86rKJw==\" },\r\n { id: \"CY\", dataValue: \"ht_countrycodes,djGzCh4lOPcimetuQi7oIPFmogrxzm+UJt4Dl5UbVxEK/Q==\" },\r\n { id: \"CZ\", dataValue: \"ht_countrycodes,djHsU3q+U/5yL9Fo7HmIoE4ekk9MJ66NLGvmRosdeomAog==\" },\r\n { id: \"DK\", dataValue: \"ht_countrycodes,djHeXwxp212sa4v17KU+bz7rr/3fBwrEZyyLpkAet8kNmQ==\" },\r\n { id: \"DJ\", dataValue: \"ht_countrycodes,djE4hwHN2ibbC5qWx7UqjVYUUosWlbjWDX+MMdRix1aPhg==\" },\r\n { id: \"DM\", dataValue: \"ht_countrycodes,djHwejh3/2ZhetGcrlkIrsuyPhPUTZ8TI30ep6XBXHtjdw==\" },\r\n { id: \"DO\", dataValue: \"ht_countrycodes,djHqnNVztnXcNnrmPRDgIBiks683z5ugqFqCein4LCBB+g==\" },\r\n { id: \"EC\", dataValue: \"ht_countrycodes,djHxD2fWeRAOiXJyUvocdvgkr3DOiChJSJhSsaKyEgfbWA==\" },\r\n { id: \"EG\", dataValue: \"ht_countrycodes,djF61ilk857TbBY8SgGnFj8ye1bJzjd4bnlyhu3Z3fE5Nw==\" },\r\n { id: \"SV\", dataValue: \"ht_countrycodes,djFvq3iuGUURxIjkGsQM+CMximVFQCXT3OeJUjz/pX9zzA==\" },\r\n { id: \"GQ\", dataValue: \"ht_countrycodes,djGYoayD6IzfyxIq53VTV2UAevcUSjNmgCTJ7WvSYKB7jQ==\" },\r\n { id: \"ER\", dataValue: \"ht_countrycodes,djHP2z/qiGE/fOMHoWsm0lWSQwKVTTzNihev3QmmGRncmg==\" },\r\n { id: \"EE\", dataValue: \"ht_countrycodes,djESXjt/o2HAWdlZHehIdlYVCHnrIVAtTplqewQjMXdfQw==\" },\r\n { id: \"ET\", dataValue: \"ht_countrycodes,djHqBkrGinDtiCFgfnS/zJGCFVXee0Q2xZ+PmNEqPiGU+Q==\" },\r\n { id: \"FK\", dataValue: \"ht_countrycodes,djE9J6AjHnmoaWloz5srjShGXEkCAI4RUqP7rQpj3Dvw3g==\" },\r\n { id: \"FO\", dataValue: \"ht_countrycodes,djFLGuo9QhD4IrDguf8v/aR16hBoaPriTnO1latILaQkiw==\" },\r\n { id: \"FJ\", dataValue: \"ht_countrycodes,djHFUaUjZMdaU8JUovMiOCa8zAxtdzRZE36aeNf93grHyA==\" },\r\n { id: \"FI\", dataValue: \"ht_countrycodes,djESP09Ff4t0qs+aaJAsvp6Up94S4DE82UJ+1cqRo9co4w==\" },\r\n { id: \"FR\", dataValue: \"ht_countrycodes,djGbSwKmA8X7T7tv51OgzfB3uZSiQP+mE9Txb37Ewu4Eqw==\" },\r\n { id: \"GF\", dataValue: \"ht_countrycodes,djGM9bBNAVZQaUzfHgoIY1+1hImwjWqpsvDnLzjkVZ21PA==\" },\r\n { id: \"TF\", dataValue: \"ht_countrycodes,djFqdAw9tFNBblNRz2om0TU5JClfpqzbwVERn6y3oJlLgg==\" },\r\n { id: \"PF\", dataValue: \"ht_countrycodes,djEeEtUvawPFK1bTWW+kyQaEFZmw5pEIeKnQfOQ7GxWktQ==\" },\r\n { id: \"GA\", dataValue: \"ht_countrycodes,djHWXNcltlww3sNX56hqCOD8R9FBJIjkxr44V1RAoiJ9hw==\" },\r\n { id: \"GM\", dataValue: \"ht_countrycodes,djEZMP5BR0ddiaHvZKFegQMhqKC/IYyFojiMI6t3/yZY8Q==\" },\r\n { id: \"GE\", dataValue: \"ht_countrycodes,djGyqeMdhJJv77fhDMoRYWWeHPavwYnFtKnq+WlWNbwxVA==\" },\r\n { id: \"DE\", dataValue: \"ht_countrycodes,djEZsM61ImCVm6GPSA1MfpSxpPJesfUOXhE9+MvB3MU5cQ==\" },\r\n { id: \"GH\", dataValue: \"ht_countrycodes,djEvroCOD0jhVPVnSwmVLYY0KQnbjpW2R6wIwWMajKKelQ==\" },\r\n { id: \"GI\", dataValue: \"ht_countrycodes,djHG8/k4unCbpEe8HU64WWZSkvtRP3UMCdP6rFpkAK1ANg==\" },\r\n { id: \"GR\", dataValue: \"ht_countrycodes,djHYn38d0M3Mr7nxu653GbXtNrN+yRrsYwc63aMAZb/ntg==\" },\r\n { id: \"GL\", dataValue: \"ht_countrycodes,djGJTgACceRIWilbQhZqFSJYukgAzXBn8svNBxWAznCuWA==\" },\r\n { id: \"GD\", dataValue: \"ht_countrycodes,djHBozNfz6KkpLtKRy/gyVdrwBTEITdr0Ym1gfI4wJUUkA==\" },\r\n { id: \"GP\", dataValue: \"ht_countrycodes,djHEw1jSZaHb8jPePmMCdob9H2e2x6atls4/w2Fuw8Av6A==\" },\r\n { id: \"GU\", dataValue: \"ht_countrycodes,djE9fW4YCTmFgvp0nrb3F2nLf1xIuIYTC9HOBj8PNqSQmg==\" },\r\n { id: \"GT\", dataValue: \"ht_countrycodes,djGo7WTEpbokL3z3YBw28Aq7nPePcFPDbq5pf62KnIs8/Q==\" },\r\n { id: \"GN\", dataValue: \"ht_countrycodes,djHgFt9sDICC2wwJ8QFx9CrfYx5kRIUR7g+KNnRoOkvCEg==\" },\r\n { id: \"GW\", dataValue: \"ht_countrycodes,djEym7zGGCrU0DnFVdUBeYrybtIgbDAySqnU79OSBGqiVA==\" },\r\n { id: \"GY\", dataValue: \"ht_countrycodes,djGK/3XGprAHNBfS0CRPX4fkNVgW9ewii37EI2PtaU7tLQ==\" },\r\n { id: \"HT\", dataValue: \"ht_countrycodes,djGq7H943CoFw8ps+pIcUbvaciH73fmYPk7wy5o9aNADFg==\" },\r\n { id: \"HM\", dataValue: \"ht_countrycodes,djEUp+Tj7luAvCgfMYeORPL/YV/7oQ3eV0oeI2Xwa7/19A==\" },\r\n { id: \"HN\", dataValue: \"ht_countrycodes,djFk1UkWim1GazVc9gIzTwUYW2y7Zshv14iJXpJLav61QA==\" },\r\n { id: \"HK\", dataValue: \"ht_countrycodes,djGRHv1p3seetSrWUmIkAtfVJfMqWPCvvOj0iCn1xM1Leg==\" },\r\n { id: \"HU\", dataValue: \"ht_countrycodes,djHQNZ0jC7vBwlkVyW4XEsm+LjpWt7x59AJZrU/TM1G7Eg==\" },\r\n { id: \"IS\", dataValue: \"ht_countrycodes,djHRpJrUaa+gUvjJvXNgq1M4r/ANsIlEiEUW/aCY682gOw==\" },\r\n { id: \"IN\", dataValue: \"ht_countrycodes,djGuOSNMdGVV9comyQ5ouR6LM9/X0zDFWaYC1lrUsM6Ghg==\" },\r\n { id: \"ID\", dataValue: \"ht_countrycodes,djFRqW8XKTAvuWlBTbYNrD2rFpHTvX996VzBb1g7K48rRg==\" },\r\n { id: \"IR\", dataValue: \"ht_countrycodes,djE75b7uYX59s/bHNQFQmS3DxQ1B39ju7YrbqLR06QSC9g==\" },\r\n { id: \"IQ\", dataValue: \"ht_countrycodes,djE7buJP+v6Y4vXGK+9wi8gIJo/8w6hg9Gj0b+L/Tpa7Lg==\" },\r\n { id: \"IE\", dataValue: \"ht_countrycodes,djGcPRrBA3dseOYOjiBmb5YZEFUzAKCdB+8ReQ7SM5Oiww==\" },\r\n { id: \"IM\", dataValue: \"ht_countrycodes,djFNysoa5iYEZqOtWSm7WD77qsL8mn3uRIkM4kxgiCXVxQ==\" },\r\n { id: \"IL\", dataValue: \"ht_countrycodes,djH/RgCpVjFny1kvdxNCioWQTsvARq/ioNZ4r6CzQ2D+GQ==\" },\r\n { id: \"IT\", dataValue: \"ht_countrycodes,djHtnmSQ78XLICY6ABNMHDJp338vUZF5OUy92BRHpXHBiQ==\" },\r\n { id: \"JM\", dataValue: \"ht_countrycodes,djF7pYiF+b4Csfgrk7i1B/5y0TWrt224YJfF9t+DSWdqIg==\" },\r\n { id: \"JP\", dataValue: \"ht_countrycodes,djGSssEMK1VIZuZQr+gObyv43Qq7S1GCD1gcvVcm7tAnFw==\" },\r\n { id: \"JE\", dataValue: \"ht_countrycodes,djFmYCKExW3PsegtjR8YiGTzewEpa/lnIP4D79CcNpGJkQ==\" },\r\n { id: \"JO\", dataValue: \"ht_countrycodes,djGf0yBiWYpSF0rXdhUur2Hqcv9UR6VpCHiyxf3PzlCM6w==\" },\r\n { id: \"KZ\", dataValue: \"ht_countrycodes,djHp/uMvhsxA+NMFGJC3WS35ctIjxsgETFtc7Z4jf0309g==\" },\r\n { id: \"KE\", dataValue: \"ht_countrycodes,djFT4agXcTfYzLu7y5j6/hiU1Dnf7J4oM/ZBSadIG+x7EQ==\" },\r\n { id: \"KI\", dataValue: \"ht_countrycodes,djHelsSuKVwVDIdqFb55N0Wlol8pwOrLfNYzT3/Bzrj8MA==\" },\r\n { id: \"KP\", dataValue: \"ht_countrycodes,djF9Y/ARKWrKAMCZDVqE5u6Y+K3jmWOXVvyJVzTv7jcaAA==\" },\r\n { id: \"KR\", dataValue: \"ht_countrycodes,djEtbfi9GJ51T+uQILC5Bucbtoym4X9JjzBS4nH5tCoxMA==\" },\r\n { id: \"XK\", dataValue: \"ht_countrycodes,djGoWW8rTHuryETSsetJNxzhTNZOph/Kzl7K01NTgDHiGQ==\" },\r\n { id: \"KW\", dataValue: \"ht_countrycodes,djEC8mGz/qwXevI1doeEdu9f9FZy5FQjP7NWn2aZht0YAA==\" },\r\n { id: \"KG\", dataValue: \"ht_countrycodes,djHYzvbMO4GhhqElG5K5Wy5dYsvw0WY9+VWqFGil8MNYfA==\" },\r\n { id: \"LA\", dataValue: \"ht_countrycodes,djFftg2rXm7YfFcJxdrgDGY1AdjMdmZHmyrdL3MFib+BaA==\" },\r\n { id: \"LV\", dataValue: \"ht_countrycodes,djEXSOaKkau6yvpv1//jtCixpPfwDXUG6pJtlW3ymgpVrg==\" },\r\n { id: \"LB\", dataValue: \"ht_countrycodes,djH6Y4z5iyVgxKjTjUOVhujRuOrRmgf81h/qDFjIYbRJ6w==\" },\r\n { id: \"LS\", dataValue: \"ht_countrycodes,djHd6QRK8e8VGegGm/YhqkH+Nivw11IVR2aLAha5OeeezA==\" },\r\n { id: \"LR\", dataValue: \"ht_countrycodes,djHvAJI5ZVEoJ+qDUZ1Yv+dCHTNU6byqz0cFiYOkwleE6w==\" },\r\n { id: \"LY\", dataValue: \"ht_countrycodes,djGrYYxeLI+2J0bs2f5Blwuu4kfByhIZ3/XVAF/w8NzigA==\" },\r\n { id: \"LI\", dataValue: \"ht_countrycodes,djF6IVZYXXmxSbMzfLE1ZUt6nne8DyBy9edc8w9a5fP4qw==\" },\r\n { id: \"LT\", dataValue: \"ht_countrycodes,djGXh8Q2Xm0/i+NBRBr6Bez+Bq3VYSk+h3DtP4F+gwOWhA==\" },\r\n { id: \"LU\", dataValue: \"ht_countrycodes,djH646vaAn/DMECDW4FNsxJHMSdQJE30Iion/Vn315m8YQ==\" },\r\n { id: \"MO\", dataValue: \"ht_countrycodes,djFPdVLJm4AyaJmntQIpxMdoN7GuH3rBlLKglCO1AVReZA==\" },\r\n { id: \"MG\", dataValue: \"ht_countrycodes,djGYpZfloTtqP9HotjG9g2QIfmwJ8viJfcVXz5C8NER1pw==\" },\r\n { id: \"MW\", dataValue: \"ht_countrycodes,djF9zeje3vQzCUdg7pmWuahx9EgUiz57tTr0ntKmy/kWSw==\" },\r\n { id: \"MY\", dataValue: \"ht_countrycodes,djEGKokBbWp/zj/j0JZfMIPVufXbr8p9nOtl5TA5unawsA==\" },\r\n { id: \"MV\", dataValue: \"ht_countrycodes,djGhsEiCYZNLnD7fWv+ilk30jD199CPNyvK+zKjoVkGRpw==\" },\r\n { id: \"ML\", dataValue: \"ht_countrycodes,djF85mT3KWjnFnKS623Y4PkJ92vQSghrhrmm9GYmqEw+hQ==\" },\r\n { id: \"MT\", dataValue: \"ht_countrycodes,djHqDYsoWwLIEuv3UUJLvbdosL2lKfkqkHtJ+TgIvm7sVg==\" },\r\n { id: \"MH\", dataValue: \"ht_countrycodes,djFSVrEXQ64WsdVQ1MQtXNeFMoU4Uoi6X/4lUJt+tDfJxQ==\" },\r\n { id: \"MQ\", dataValue: \"ht_countrycodes,djHHqtCr5MhxDqSG8UIoSYwJ2F/tUnQ8Oxj0DAGZg41P2A==\" },\r\n { id: \"MR\", dataValue: \"ht_countrycodes,djHOIroduH5DEZKbmc7l2fcfFBPdySmF0IwB+vuzhw6LZA==\" },\r\n { id: \"MU\", dataValue: \"ht_countrycodes,djGG7/N2SAKFJGfVVasid6hRt7PbFxQzvdLfYz/LPter7A==\" },\r\n { id: \"YT\", dataValue: \"ht_countrycodes,djH+9Up1uvAcCvqr43rr/aHaActGwGclPw6gTNdbR0wCdg==\" },\r\n { id: \"MX\", dataValue: \"ht_countrycodes,djGL9aAFSP3XXkeD5Har7HVa6TaxOmZJxoJkOTf4F3zbGQ==\" },\r\n { id: \"FM\", dataValue: \"ht_countrycodes,djHMnEsc4lFLa14NdPTNDSIf8HD2z6fNyQKtZAUsk7zE1A==\" },\r\n { id: \"MD\", dataValue: \"ht_countrycodes,djEKwSF4J2u3J5D3JQzG1SJhTj3TMX8p9dK50zDcquQobQ==\" },\r\n { id: \"MC\", dataValue: \"ht_countrycodes,djHAho+ogWioYO6hz76IFO7LWgIT0Wkhy15uaG8DLm/clA==\" },\r\n { id: \"MN\", dataValue: \"ht_countrycodes,djGVJvlrnJcfBHT356Xgn3R6zexM8ZwP9A/4+ixNn5AkVA==\" },\r\n { id: \"ME\", dataValue: \"ht_countrycodes,djHCqmrHbIQAXPPytfGc7VQpIYa5qqprNVYlGn/+LeMSMQ==\" },\r\n { id: \"MS\", dataValue: \"ht_countrycodes,djEknf4Hlxrks7gGB3DMZPnuc+ufRHT/z2PqLa4VRoItgA==\" },\r\n { id: \"MA\", dataValue: \"ht_countrycodes,djEof5r61W7NZXStHBNhnWplADiORK4nduMKA59vF5NYkQ==\" },\r\n { id: \"MZ\", dataValue: \"ht_countrycodes,djEr9+JO3WCarpCPC6xkEk9K3+iptGXpVnfiUby/NBtAFQ==\" },\r\n { id: \"MM\", dataValue: \"ht_countrycodes,djEWbZmEf09Ip+uzgMcFdQ64QP7yUq3ngJp+mooJZSwdww==\" },\r\n { id: \"MP\", dataValue: \"ht_countrycodes,djFMRcHtlWtp9ovND77EDo6YwCjEGORpeegajxqs8dtfyg==\" },\r\n { id: \"NA\", dataValue: \"ht_countrycodes,djGnvlSTd6sc3B4JDrgf1Z61QJJysafdTFDPfo6AIqV6pw==\" },\r\n { id: \"NR\", dataValue: \"ht_countrycodes,djEbtPaoTfSBwkzqFBUESqruoRdqpz2WLYPpuQpdkT3Zww==\" },\r\n { id: \"NP\", dataValue: \"ht_countrycodes,djEu74X9TSCnyJxgdkBgTMCdbx0n9IRo8mrSpI/vNR4hew==\" },\r\n { id: \"NL\", dataValue: \"ht_countrycodes,djG4tNVPwJ0WdUt3DU4nOJjv+xwUJw6zC4FjP0iJseABOA==\" },\r\n { id: \"AN\", dataValue: \"ht_countrycodes,djFyRZ+wo9wzvo8nv8mT/B6NNh5yujfhVecId87f296vrA==\" },\r\n { id: \"NC\", dataValue: \"ht_countrycodes,djFY0yknuA4cZ+eR6t2xCOys/sV3EP8VuVa4WReYQMUahA==\" },\r\n { id: \"NZ\", dataValue: \"ht_countrycodes,djH0xFsMUkPoZaEtes1cEQ+4XNOBMzWx87lbqtVfd6iylQ==\" },\r\n { id: \"NI\", dataValue: \"ht_countrycodes,djHYSYtj32ejdYOPCyXy4DlaQzGGnO8DJOorGyUwjQigqA==\" },\r\n { id: \"NE\", dataValue: \"ht_countrycodes,djEDht4FhRYzQ/pyGIB51ofnllq28Ge4+7w+O+To9SfO5Q==\" },\r\n { id: \"NG\", dataValue: \"ht_countrycodes,djFBokxo/45iwInZbkOVIicksd14T/ckaxTSk9X6AvGgrg==\" },\r\n { id: \"NU\", dataValue: \"ht_countrycodes,djGvtnOuBobMvodU+/m7WUSAvXrabHmZnEm8o8D+K1kzNQ==\" },\r\n { id: \"NF\", dataValue: \"ht_countrycodes,djFSXpUKkeNU/n2Mna796H47tBx0nbnNtP/RWMOHRnbFsA==\" },\r\n { id: \"MK\", dataValue: \"ht_countrycodes,djFqx8waI3kaUvw1DZMpFcbq2mV5sZpv456G4V9DV+X/3A==\" },\r\n { id: \"NO\", dataValue: \"ht_countrycodes,djF1qTklwk2M+Yz2Z6fG25ptmImm9Z4A4v+aPD7StwMBFw==\" },\r\n { id: \"OM\", dataValue: \"ht_countrycodes,djF0KCZXgKiaDgqewXuuzUjYC/JZek2Klv3Z9Y0IPNupDg==\" },\r\n { id: \"PK\", dataValue: \"ht_countrycodes,djHDEYA82hMV+y38Ogt872y+Ejnr5TSPNaWoh1TkEzoJ2A==\" },\r\n { id: \"PW\", dataValue: \"ht_countrycodes,djFATrbPNBmZ2orkHh1jb1xtzxRrvTsNaMdf97Vis/M0UA==\" },\r\n { id: \"PS\", dataValue: \"ht_countrycodes,djEs/pgMlss0hpkewDfjATz9riIsntQNxkVSK19QrrxDkA==\" },\r\n { id: \"PA\", dataValue: \"ht_countrycodes,djFH6MnqSbAaHEGY6YFkLw69FTyt0qofYiOcym38QN6qaQ==\" },\r\n { id: \"PG\", dataValue: \"ht_countrycodes,djGOkPM3DLYgl5P7xiOf32Bh2x2IOKsidEi8RFC+nMHi8A==\" },\r\n { id: \"PY\", dataValue: \"ht_countrycodes,djHddWR4F2SCMwrJ7hcWe3jN1OEnmT7zFvA2zNe86XCLeQ==\" },\r\n { id: \"PE\", dataValue: \"ht_countrycodes,djGAtY0l8EOcKEVSR/0UX6KSiVAt8lKwPQZVwbHwL6Iktw==\" },\r\n { id: \"PH\", dataValue: \"ht_countrycodes,djEsVGmJKVXWNPlD10sCHLNppbGu0OWHAPs46ZAJB1AE+Q==\" },\r\n { id: \"PN\", dataValue: \"ht_countrycodes,djGCPNDi19SIVIcHZXGKISgcnBuV3c48cDNfzBBsm1s7Hw==\" },\r\n { id: \"PL\", dataValue: \"ht_countrycodes,djHUN3ZNEVRSz2cH6d39GCTzRWdJPZiIC7sI1ubJcxOjqw==\" },\r\n { id: \"PT\", dataValue: \"ht_countrycodes,djGzkup2lOpvGV2E0bXNBIQr4XXHNE1skPZrIkdybGawbQ==\" },\r\n { id: \"PR\", dataValue: \"ht_countrycodes,djF3X2aYKqnOA2V8omWHGlcDIAzeCsDATWnzYFbTu3qaAw==\" },\r\n { id: \"QA\", dataValue: \"ht_countrycodes,djEseUtaELVvfTbnxGPNjXnwYPkacTAr280Mvej2YpnQTA==\" },\r\n { id: \"RE\", dataValue: \"ht_countrycodes,djEpC+stbkY7Ju/rCJQ5LsN/9P9XLQG4iVFM3scs4oDQuA==\" },\r\n { id: \"RO\", dataValue: \"ht_countrycodes,djH/u3qWQE3uMvskPAyYPIHM/T4ayV/hEa7AkplsgTWstQ==\" },\r\n { id: \"RU\", dataValue: \"ht_countrycodes,djFUOyrOpNpSkMPD4sMTM1d2JDqnfOT1ifgseNemzkVRAw==\" },\r\n { id: \"RW\", dataValue: \"ht_countrycodes,djGqAQbIwiRyLWFomagyMhbq+jNATEHnjdcev4jNj/mbIw==\" },\r\n { id: \"BL\", dataValue: \"ht_countrycodes,djEO4PEeCHd/nOSKPrW2cOaN5M3m2EwEZ1awhAdkYriGwQ==\" },\r\n { id: \"KN\", dataValue: \"ht_countrycodes,djGdUgAE4T5KZEwGc3ShGjnVOmR5wi8D775XoYBQqF2V0w==\" },\r\n { id: \"LC\", dataValue: \"ht_countrycodes,djF3j979z8bDJzHUxPsuOSpZPuvgMdS5NrtzppF+Rui7+A==\" },\r\n { id: \"MF\", dataValue: \"ht_countrycodes,djEbZV/aA+fChs0Tv/GwCEUxp7CZT3BwbJAWCO66Y0ZPAQ==\" },\r\n { id: \"WS\", dataValue: \"ht_countrycodes,djFNfufAFFFlz056DDi0QjcZP+xHQVHVHXAWuEiUCla/8g==\" },\r\n { id: \"SM\", dataValue: \"ht_countrycodes,djG1KXt9Ti6h5pCUufzjEgBMweK1UwThh5csFUH7qRVcNg==\" },\r\n { id: \"ST\", dataValue: \"ht_countrycodes,djEo/0a907iIMHe7JDmljQjgwIxdWsJPQ/+5MKB5GUskqg==\" },\r\n { id: \"SA\", dataValue: \"ht_countrycodes,djEA47RH+2ec5XJ5RljLVP/lyGeS1z1SaVo26mqnKQMTaA==\" },\r\n { id: \"SN\", dataValue: \"ht_countrycodes,djHmstHIxMhvyBQprpX5gvEan+/KJzSYbWeE/pltYH5hUw==\" },\r\n { id: \"RS\", dataValue: \"ht_countrycodes,djHicWnowA1JItnnguqrvHhsuk49J5nwDNorECTCa2uk3Q==\" },\r\n { id: \"SC\", dataValue: \"ht_countrycodes,djH1DLDpLybLtPgFb32vrSaN9kuNR0MQp0IPCiIzHIjzHg==\" },\r\n { id: \"SL\", dataValue: \"ht_countrycodes,djGEkx9DIi5txuE1WCcEyzDKtZjBckFCWXR4ziKwUpIwhA==\" },\r\n { id: \"SG\", dataValue: \"ht_countrycodes,djHsp2z8F39pZ2kKDOt6mpwThn240Smm0FAjmI2VexSZng==\" },\r\n { id: \"SX\", dataValue: \"ht_countrycodes,djEh++4ubPs73Gxt2E/BhgwiQIhHythb+K9pj+t87JWE1A==\" },\r\n { id: \"SK\", dataValue: \"ht_countrycodes,djFXU8jJX97KzZhGo1jlKa4zfc/GsrtzEqyxJv1KsAegyw==\" },\r\n { id: \"SI\", dataValue: \"ht_countrycodes,djG9i6faPDT6rRxjldE9yDd5xJKp6iB/KnfWwBDRP5WREQ==\" },\r\n { id: \"SB\", dataValue: \"ht_countrycodes,djGesjUBEylkEltI69p78tq5zh4eQxW150OrZTXwtRtqiQ==\" },\r\n { id: \"SO\", dataValue: \"ht_countrycodes,djGUV3oELWHdD5VYBkMJu3A5hWyapb0wyXRpe+hW19AYdA==\" },\r\n { id: \"ZA\", dataValue: \"ht_countrycodes,djHSoEfOsp+0f/NupKMtudKgESf9jkA5V33cxFJFsARDzA==\" },\r\n { id: \"ES\", dataValue: \"ht_countrycodes,djG9wFxUvReiiU6jj4KVFo+Ta3RHYlgVosydtrVLF/+ghA==\" },\r\n { id: \"LK\", dataValue: \"ht_countrycodes,djGzVwFHgm0LHDLXvSQRcoGKzRmU/wtmt/NpqOwESQOdzw==\" },\r\n { id: \"SH\", dataValue: \"ht_countrycodes,djG9+Au57hQ0QSgzbIfeHdmOgULVS1OKcwQ0W5GW95MI0w==\" },\r\n { id: \"PM\", dataValue: \"ht_countrycodes,djG7c1QLSShGprW0pONVSMoW0VGgUJXkfhL3QtZoyh0nEQ==\" },\r\n { id: \"VC\", dataValue: \"ht_countrycodes,djGPSKaX3y1adgmzrAhIBAIpVxhnvtAbKyD68w+yco+JfA==\" },\r\n { id: \"SD\", dataValue: \"ht_countrycodes,djG3/6Ft8jXRu+NJUtA/+fYY+McqKW6S0AlYqww2g6ZOJw==\" },\r\n { id: \"SR\", dataValue: \"ht_countrycodes,djEnDrs1bbOkftZPnenjGsksWvTkauce33TgY+yvlMrivQ==\" },\r\n { id: \"SJ\", dataValue: \"ht_countrycodes,djFWFp4WPEdM8vN6eBFh13nzh7j1UALICAC32WlMgGB/Kw==\" },\r\n { id: \"SZ\", dataValue: \"ht_countrycodes,djHhy1yiPm2Vmw2zIS3Sn5OEgUKy+ycftb5HASZfhhdm+g==\" },\r\n { id: \"SE\", dataValue: \"ht_countrycodes,djGL4GOuRe1uoDeHWHYmC3xa+qAbkUAY5R+gYxUsgTe5qg==\" },\r\n { id: \"CH\", dataValue: \"ht_countrycodes,djFUps1n797/BcIVaXJKtgxoQfmlDV+tw0j2Mna3svjfJA==\" },\r\n { id: \"SY\", dataValue: \"ht_countrycodes,djE8gPkZJsGfHYMozlrIo0rnwRrnWwVlavplNIlr1pEYZg==\" },\r\n { id: \"TW\", dataValue: \"ht_countrycodes,djHqc0w/tTNXRt5ACC/nxXHfR/hZLUIJq8I8qXgwwuargA==\" },\r\n { id: \"TJ\", dataValue: \"ht_countrycodes,djE36ogLmYDI2BB7tPXmFJrbbk3UTlEE5qGqcM10xZLkcQ==\" },\r\n { id: \"TZ\", dataValue: \"ht_countrycodes,djES9t8BuizU5qXy9N+Wk5bcfee2DPACnJFTBPTl6/KMgQ==\" },\r\n { id: \"TH\", dataValue: \"ht_countrycodes,djFspRrrIalssSHthawmnyhEAS5qji119UTP2zPSoOAGfg==\" },\r\n { id: \"TL\", dataValue: \"ht_countrycodes,djFYPulrtysDAZvmfO0NeL2UHFe9hlz+nUUSFg+HD7QH8w==\" },\r\n { id: \"TG\", dataValue: \"ht_countrycodes,djEm62A9QRuFrHf5GbWx3NUI+Urij19LY5ve07+25hX+Mw==\" },\r\n { id: \"TK\", dataValue: \"ht_countrycodes,djHdxOMzIvTJVlKU9OgzQG0Kriuw0vdKRekXs621Zk3OWw==\" },\r\n { id: \"TO\", dataValue: \"ht_countrycodes,djHzqfFfVxMvr7CgcVgcAFYOQ4MtRY/ox7ryP099dxKMig==\" },\r\n { id: \"TT\", dataValue: \"ht_countrycodes,djHJX1qedOn6IKt1efqFis3HCRADk7iWbr5mFDaTbVy7DA==\" },\r\n { id: \"TN\", dataValue: \"ht_countrycodes,djEnAY+WJNPMEtvrMnE/wdpNziQDmqpQB1+3YNQ1anflug==\" },\r\n { id: \"TR\", dataValue: \"ht_countrycodes,djEi4QRvtKoQCK6eam9yn5i1ySGs0fxhkk1Jd5fHXmsgVw==\" },\r\n { id: \"TM\", dataValue: \"ht_countrycodes,djHG2/gqizy8XHYeEL2R3XlzinCV+m9iOw8WBntevMFgRQ==\" },\r\n { id: \"TC\", dataValue: \"ht_countrycodes,djE3SyA5ZpbHOB4CnrK9sQVIbojm0RFowhzYpfGJaL1MXA==\" },\r\n { id: \"TV\", dataValue: \"ht_countrycodes,djGSekbXO1Af7P2TM39kKaV9YEpGCu10STI3gxeJojDHsg==\" },\r\n { id: \"UG\", dataValue: \"ht_countrycodes,djHVlOm96nfSBTV0A0kaTNCYIoES06gRLsZ5iiNVqGyo7A==\" },\r\n { id: \"UA\", dataValue: \"ht_countrycodes,djHkaDr3R6OzBkT37buaLL/11v5MypwdHx+wk98rmnM3uw==\" },\r\n { id: \"AE\", dataValue: \"ht_countrycodes,djGJktwTQJwCzJ83pDpLW5oxuFGCbWShVEBHsMGhERaA3w==\" },\r\n { id: \"GB\", dataValue: \"ht_countrycodes,djE68m0ZLMMC32xt/1YzMnKffIHyLloD0ZlOIPEaSsLS8Q==\" },\r\n { id: \"US\", dataValue: \"ht_countrycodes,djE2hsu6jH/42yyW0KXUowk/mxbYD9VdWj67E7mq+Keriw==\" },\r\n { id: \"UY\", dataValue: \"ht_countrycodes,djGMW95HHMZWcvqzow+crUcJVHQEIWF19WGJwSxPChXWTg==\" },\r\n { id: \"UM\", dataValue: \"ht_countrycodes,djE/Mm479r/Rgksj9sC0nNna04pyV2rJQAZuK1wkoqiHZg==\" },\r\n { id: \"UZ\", dataValue: \"ht_countrycodes,djH1qu1/xDjahM5LHJwhqyvFIj9TdYYUrAEhbnVuCruu2w==\" },\r\n { id: \"VU\", dataValue: \"ht_countrycodes,djFEBM/bN0qV5fc+aMzhbXdiA0Jh8JfxZYeeH+eKMQpqsA==\" },\r\n { id: \"VA\", dataValue: \"ht_countrycodes,djGndcJNeeT5EalCO6+S9vj3RTghQbWhE92+fZ0xdMGUAQ==\" },\r\n { id: \"VE\", dataValue: \"ht_countrycodes,djHlWzIpK4flZZfBGxUwOZrlqwuUoO34paTJzBUURRFTYA==\" },\r\n { id: \"VN\", dataValue: \"ht_countrycodes,djH/Bvwoupqw2H2ST5WQ379hNR6nNVQuZB+XvL25IxvvtA==\" },\r\n { id: \"VG\", dataValue: \"ht_countrycodes,djFiD+o6kCGJs4XjIw5MhNYKIYWHf2AwY9nHmHLvGJ2afw==\" },\r\n { id: \"VI\", dataValue: \"ht_countrycodes,djFafKRKBfA5pv5F2Wp1E8J/iXhIWZROCWkIXhnpqbKfMg==\" },\r\n { id: \"WF\", dataValue: \"ht_countrycodes,djGseKZGmQtTkFMFfxUFegz4dNb0+Y93vTheAb8iwBDqDA==\" },\r\n { id: \"EH\", dataValue: \"ht_countrycodes,djFaXu9bud8c6CtpVTDEy4LBjauJibbt4nba5HTSrBIYaw==\" },\r\n { id: \"YE\", dataValue: \"ht_countrycodes,djEOkf0pS9fHXNBYUIOsRy4wGvuB54zucjact4F28K+feA==\" },\r\n { id: \"ZM\", dataValue: \"ht_countrycodes,djH6R1qNriNM2EotHZXhHPykXtHK5MRN4VKGT+uy/Oma5Q==\" },\r\n { id: \"ZW\", dataValue: \"ht_countrycodes,djHBidGAZjY1JD6Ukgjn0jHyvES5ncXjZkh1bkRtpSWcDA==\" }\r\n];\r\n\r\nexport const usStates = [\r\n { id: \"AL\", dataValue: \"ht_isosubdivisioncodes,djGqzLRuLhURPx2ZoNPDU+KTZSJD1kcT/iLEWYIECW6YXA==\" },\r\n { id: \"AK\", dataValue: \"ht_isosubdivisioncodes,djFeuQQNh8cLDla6pUzoT5QxOwD+SW+qt7FnKWc9l5EXqg==\" },\r\n { id: \"AZ\", dataValue: \"ht_isosubdivisioncodes,djG9h6ZQUpfqxnzdat8zNENShuEu6EOSFm1gDf09zfiEzg==\" },\r\n { id: \"AR\", dataValue: \"ht_isosubdivisioncodes,djHZ2xI8LzJ0zaUSbHObzQIu3vr4c4W8jZ5SEHSiDNuSpQ==\" },\r\n { id: \"CA\", dataValue: \"ht_isosubdivisioncodes,djEzb30IzCaw05sYeyteUD19y5d4aRnXx0g/rdMaIiiaxQ==\" },\r\n { id: \"CO\", dataValue: \"ht_isosubdivisioncodes,djEahKN+DSDaZp0cqVP1RSLU9j+cV62nM8NZ5AkMFML36w==\" },\r\n { id: \"CT\", dataValue: \"ht_isosubdivisioncodes,djFbmdS5Cm5Yyb+BADymHg+eX1/mTJeT0FvcbVxxwfKK9w==\" },\r\n { id: \"DE\", dataValue: \"ht_isosubdivisioncodes,djFnvBkqcR4SSgJU0BMaxT4XMFmNt6/FiotdRZKT6FdNDg==\" },\r\n { id: \"DC\", dataValue: \"ht_isosubdivisioncodes,djGXuTgExLbl3zJCXpd0Q1mVL2e3l7pw2T3x7KrGY4SbIQ==\" },\r\n { id: \"FL\", dataValue: \"ht_isosubdivisioncodes,djEHu8Lw1M88Sa6UfhGX4dRcA+A04DHKgRRoMzSUeal7gA==\" },\r\n { id: \"GA\", dataValue: \"ht_isosubdivisioncodes,djGgkg2Qo4I1astaxTIrqg96fKT+9E8DIYfZNMTPA6bgcQ==\" },\r\n { id: \"HI\", dataValue: \"ht_isosubdivisioncodes,djGOrn0McbhOPGPilZas/siXABFk62EHx37R+NfHWmRlFQ==\" },\r\n { id: \"ID\", dataValue: \"ht_isosubdivisioncodes,djGKADpdOoBbvahU6PSK5/PX+lNBiesMwco49LlR+4cnhA==\" },\r\n { id: \"IL\", dataValue: \"ht_isosubdivisioncodes,djHqD30xNa2U0QT8TILFXCcCOmWGFCQKpgYV1/FQev8m4w==\" },\r\n { id: \"IN\", dataValue: \"ht_isosubdivisioncodes,djEcQzn/CkGpYF3zOn6BHs911xDSHkvBfrV/LL46MFQgZA==\" },\r\n { id: \"IA\", dataValue: \"ht_isosubdivisioncodes,djHt1F1MYDqMryK0YmPY+8CXcVk+y/1a5S7bMArrLwioYA==\" },\r\n { id: \"KS\", dataValue: \"ht_isosubdivisioncodes,djGEqDoAVLUfjB8lUGvTgYZfNWBMeFTb9b7EYFCcJeeAfw==\" },\r\n { id: \"KY\", dataValue: \"ht_isosubdivisioncodes,djHileJ6EkEHAtUcxH8OPaZrVc94u71HSPbahW2E4OmgKQ==\" },\r\n { id: \"LA\", dataValue: \"ht_isosubdivisioncodes,djEdxgEodLXs3Xg0+QlRlPBZMYoQsh5eNXbxzHY4SkFb3w==\" },\r\n { id: \"ME\", dataValue: \"ht_isosubdivisioncodes,djHGDrTcqQcDs9jwHGNIvMnfKPKqeiHS5MjGOubRmoXIcg==\" },\r\n { id: \"MD\", dataValue: \"ht_isosubdivisioncodes,djG/bChhsIDglbt8Mzrbgsfnx63aDIg08ZakcbSxCZVDXQ==\" },\r\n { id: \"MA\", dataValue: \"ht_isosubdivisioncodes,djEzoWqYyaouVdTqBnGfu8o8TYMGzUNHpCMyvF/KO7CKrQ==\" },\r\n { id: \"MI\", dataValue: \"ht_isosubdivisioncodes,djHjZ0D6Pc8KAwF2/c2vyUJjIq2Nb/2oZuTuZhL59cyttw==\" },\r\n { id: \"MN\", dataValue: \"ht_isosubdivisioncodes,djHIJcZT8Ejw+C0a40I7eCffywxgSdpYNjqva0utjp3kiQ==\" },\r\n { id: \"MS\", dataValue: \"ht_isosubdivisioncodes,djGfwaVwT1C/auMWNZXlsWHm7P178C9D/z3QzKJ3o4T8DA==\" },\r\n { id: \"MO\", dataValue: \"ht_isosubdivisioncodes,djEOK1XP7EumjN+WKPnD0c/cgp71UL5L9RnOnOB6JUBvMg==\" },\r\n { id: \"MT\", dataValue: \"ht_isosubdivisioncodes,djEIsTNZ8TBwXiypdJJpHD53dVYqPg3mhPuJSl5EAjSimA==\" },\r\n { id: \"NE\", dataValue: \"ht_isosubdivisioncodes,djGuL7DmZwhqx9oRMg+7/vEKIJilWMkBMnXxgscn5M9VvQ==\" },\r\n { id: \"NV\", dataValue: \"ht_isosubdivisioncodes,djHYYBmyK5/1O2OD62L6pqLfKpzXG+yGMHUDG+84ume6LA==\" },\r\n { id: \"NH\", dataValue: \"ht_isosubdivisioncodes,djFrHyr4x+/Jtw0IkU0ScAE75p6NmwST+2G0Ni8TL2LjyA==\" },\r\n { id: \"NJ\", dataValue: \"ht_isosubdivisioncodes,djFUIgY65nKoDKzxnyYQnM8VWaoHtcDLTH+ELYgEZzYLEg==\" },\r\n { id: \"NM\", dataValue: \"ht_isosubdivisioncodes,djGuJal4h50lm6RCA1OI8zPBzmw8Io7OsXqdHWR+D+BBLg==\" },\r\n { id: \"NY\", dataValue: \"ht_isosubdivisioncodes,djFLhA3bkdcHgA3pwQbU6TgqttZRXNKnijYdUMA4xpl3Xg==\" },\r\n { id: \"NC\", dataValue: \"ht_isosubdivisioncodes,djESmkYDfi87cwcwIE/465qmAXfTanl0E/ngV6a/jhGjiw==\" },\r\n { id: \"ND\", dataValue: \"ht_isosubdivisioncodes,djGYim38UopXwydqaTskttcQ6ZBqTOZRw0XBCD8FLhZB7Q==\" },\r\n { id: \"OH\", dataValue: \"ht_isosubdivisioncodes,djH/BItwvhqBXqJ6Q8F1JiMQoM3K0FNnPEMIgJji4+xsUA==\" },\r\n { id: \"OK\", dataValue: \"ht_isosubdivisioncodes,djELran/j07nHFugt0xiCAnt23LwgNhUefjJgBgM+n27iQ==\" },\r\n { id: \"OR\", dataValue: \"ht_isosubdivisioncodes,djGDJ/nyjIWHpkKizIBVK3ZuM20coaiscfBCe5ow6rfbHQ==\" },\r\n { id: \"PA\", dataValue: \"ht_isosubdivisioncodes,djGUfUjmQbDBp+qPS4RpJvoXFr/Xbyp0ZznZ5bwh/ez2DQ==\" },\r\n { id: \"RI\", dataValue: \"ht_isosubdivisioncodes,djFKJLH43kHdZEB1pgr6Qeq7VrGqc5Mu0rybc6xHPYYZqQ==\" },\r\n { id: \"SC\", dataValue: \"ht_isosubdivisioncodes,djHyT4A+1/iJZ1ZUxeaRo8aLGxxZrx0QLHXi9DLNFKpbvQ==\" },\r\n { id: \"SD\", dataValue: \"ht_isosubdivisioncodes,djGJg7xGPrCTeGJEnGpQ5Xcn0pYQwP6V4ZJxh8nutOdVXg==\" },\r\n { id: \"TN\", dataValue: \"ht_isosubdivisioncodes,djGzLXdIqgHDBRnCvEM7H9vwJQzg+fRPGvIvx3102Swprw==\" },\r\n { id: \"TX\", dataValue: \"ht_isosubdivisioncodes,djE0DO8fbj0l6S6RU29+JXT/lmzNuthwyBolTfa6ovnyxg==\" },\r\n { id: \"UT\", dataValue: \"ht_isosubdivisioncodes,djERPM2fy6i1ne5QbJBF/ulku0JbMetAZQSOhEN0begZdw==\" },\r\n { id: \"VT\", dataValue: \"ht_isosubdivisioncodes,djHTBEeT6SAZ+tOPazKsndOlUNO4d5RRbrZ/VU3Bz40Ixg==\" },\r\n { id: \"VA\", dataValue: \"ht_isosubdivisioncodes,djGkQClHmvq/4VDmMkoXjBUxk5z0VyALszhSy8Q9jCXe9Q==\" },\r\n { id: \"WA\", dataValue: \"ht_isosubdivisioncodes,djGhAE2eLnhG/lA16oqTspOXQ5FrmfWeoTnoZoGjC3uJAw==\" },\r\n { id: \"WV\", dataValue: \"ht_isosubdivisioncodes,djGe/BPI36SjBit2k8a8zLQE4aze5Pu363QziEXDV9lQdQ==\" },\r\n { id: \"WI\", dataValue: \"ht_isosubdivisioncodes,djEXE40yhs8TCCerfIGXWguUwjed0g9gzxT01eRj14tENg==\" },\r\n { id: \"WY\", dataValue: \"ht_isosubdivisioncodes,djF7LIydjdGeGd39Ydnc62t2vhn/aUucnDwKed8L6FOL7w==\" },\r\n { id: \"American Samoa\", dataValue: \"ht_isosubdivisioncodes,djE+WIVHUqkTfo6UFsNBthdiEedxngW1kipDRCv75+pq9w==\" },\r\n { id: \"Guam\", dataValue: \"ht_isosubdivisioncodes,djGge2+Bj8pjdhEKI3TTzf9AVyI1QLhq7ZV0rjFp5oQP1A==\" },\r\n { id: \"Northern Mariana Islands\", dataValue: \"ht_isosubdivisioncodes,djEU5VXujEJsRf/tqVUA5Gar+btyODugyOrtQjHverd6Nw==\" },\r\n { id: \"Puerto Rico\", dataValue: \"ht_isosubdivisioncodes,djFyBJAz3kOqSf4yrWekzejW+bwGa8nT0RNmVOnCOCk5UA==\" },\r\n { id: \"United States Minor Outlying Islands\", dataValue: \"ht_isosubdivisioncodes,djHYK/WZxdik/XUxLfdkTouiv5xj9nwxe/HEMnasfPwp1Q==\" },\r\n { id: \"Virgin Islands, U.S.\", dataValue: \"ht_isosubdivisioncodes,djFDHPzdqROvjoi5f+bC4VYsRIsKiwK8SSLPYn2TtLQyFg==\" }\r\n];\r\n\r\nexport const caStates = [\r\n { id: \"AB\", dataValue: \"ht_isosubdivisioncodes,djHciC8eyf7SaPgYyjEHsy0KV7XILmjLwTQcDZRNDh01YQ==\" },\r\n { id: \"BC\", dataValue: \"ht_isosubdivisioncodes,djEZP5wUbp6EB6svLmBpTd3qiHBYnpu+4+gIF5887dsiVQ==\" },\r\n { id: \"MB\", dataValue: \"ht_isosubdivisioncodes,djEGrVV4H+pO2Yiuf2cQvVMzeiwrI866SVPrVi+brFcBxQ==\" },\r\n { id: \"NB\", dataValue: \"ht_isosubdivisioncodes,djFvMshigF/I3cd4MtWZa+dEMcijXbwH0t8Rkgym6+W42Q==\" },\r\n { id: \"NL\", dataValue: \"ht_isosubdivisioncodes,djHriGZx/sC6L77KlY2IaFEQHYGmfez+qKB99PEpwaZm3A==\" },\r\n { id: \"NT\", dataValue: \"ht_isosubdivisioncodes,djEYLW3YLep92wGTHRWFRARqhHetrS9hC/0mSysBA4SDwQ==\" },\r\n { id: \"NS\", dataValue: \"ht_isosubdivisioncodes,djHaPEZolEh6PzAD2PRyu2UFrRIwqKs6UBoJ7N2UeWpvng==\" },\r\n { id: \"NU\", dataValue: \"ht_isosubdivisioncodes,djGW+7DsbwjWpu/y0D1HXMLv8iCutIkE9pa7g15ZQzwI2w==\" },\r\n { id: \"ON\", dataValue: \"ht_isosubdivisioncodes,djHw003pKLVWlJ2AaxYAJhRPrGODNKTeuhW0gtAQggZoHA==\" },\r\n { id: \"PE\", dataValue: \"ht_isosubdivisioncodes,djHAb1JYQIoSm4KF327PfECHM3LBq6SEL0q1aWIfeNEtCA==\" },\r\n { id: \"QC\", dataValue: \"ht_isosubdivisioncodes,djFOXa6r2EzZ4tNs2VR/G8lKgw9OPS9vzT9vSDC4ropp/A==\" },\r\n { id: \"SK\", dataValue: \"ht_isosubdivisioncodes,djHdr7GbRc5fpsvuhfrajqfYtvbiLM+RHBHIVgPVGTIvRQ==\" },\r\n { id: \"YT\", dataValue: \"ht_isosubdivisioncodes,djH4U1duv3+4t957M3IjTcrXEKeuYF7LF4/x2qZ8Ao147Q==\" }\r\n];\r\n\r\nexport const auStates = [\r\n { id: \"ACT\", dataValue: \"ht_isosubdivisioncodes,djGkiTs0eUKjn7lnaHgWIpBsB7bgmtJaWcAClCIHibX0TA==\" },\r\n { id: \"NSW\", dataValue: \"ht_isosubdivisioncodes,djGLdQXWAPQsvVBkyDQtN5J/w1vOyxdVXr1CMRMxpKRFZg==\" },\r\n { id: \"NT\", dataValue: \"ht_isosubdivisioncodes,djGNklXQ2cgCROou/36OSt5sXTA8f1697NZmiOUdhuSDpw==\" },\r\n { id: \"QLD\", dataValue: \"ht_isosubdivisioncodes,djGZGPYVmumpvM7YkyzqFI5+lfvZ4JBTnNSZll8Fjvgxxg==\" },\r\n { id: \"SA\", dataValue: \"ht_isosubdivisioncodes,djGA6YXF2NOkrgpPr5ySzaSR2vFI6IGAOeKOQr2Vua3a/w==\" },\r\n { id: \"TAS\", dataValue: \"ht_isosubdivisioncodes,djFcYCxMuHYmsqZU+yk5lMwpssn9EUDDjtTtsEatVSDEXA==\" },\r\n { id: \"VIC\", dataValue: \"ht_isosubdivisioncodes,djHe+Q+WO4lSkiF6w999rFY44+Um6hTSjbAIHlLMnwk7Wg==\" },\r\n { id: \"WA\", dataValue: \"ht_isosubdivisioncodes,djF9AHO3lXcDlv1PRzc0+3Zzi7CbxSUb+bPQFnDXsxALgQ==\" }\r\n];\r\n\r\nexport const nzStates = [\r\n { id: \"AUK\", dataValue: \"ht_isosubdivisioncodes,djFXbapwini8gFvWBPsXWSRMC0kBRn/lgg6H/6TZF0JeUg==\" },\r\n { id: \"BOP\", dataValue: \"ht_isosubdivisioncodes,djF0kvPVKqpL3aHbk1izgQVQzNze2MwHkWoj40qdacEd4g==\" },\r\n { id: \"CAN\", dataValue: \"ht_isosubdivisioncodes,djGRfbWc5nyqXnq8LEPPMFM0SnWkhOgv4sUIMey0liMykQ==\" },\r\n { id: \"CIT\", dataValue: \"ht_isosubdivisioncodes,djHqVJMW6M1FkFwkMxCkF5+obRh710OZrQiU5DFLmeXcHQ==\" },\r\n { id: \"GIS\", dataValue: \"ht_isosubdivisioncodes,djEoxQvNs9Z6eKydh+ngP8E9OxTfMQifzYz90r+VYRVN5A==\" },\r\n { id: \"HKB\", dataValue: \"ht_isosubdivisioncodes,djEtiUFM+Gg4gcHIsUdVke0+46P6uqnqCTavaKtXqG3Ilg==\" },\r\n { id: \"MWT\", dataValue: \"ht_isosubdivisioncodes,djGHqW0/5WlNXVpk7lzddx97yX9Wj8AoahofWeBhXNhm2Q==\" },\r\n { id: \"MBH\", dataValue: \"ht_isosubdivisioncodes,djF5OgO+0YE37g6qX8VkE/gEq04R9+SnwnaDPmwhh9+72Q==\" },\r\n { id: \"NSN\", dataValue: \"ht_isosubdivisioncodes,djEbnqnAz1pO4v9op5zMi3mzlTd+w/D9qtN05nwHPsWZxQ==\" },\r\n { id: \"NTL\", dataValue: \"ht_isosubdivisioncodes,djF7e89U7sz3m2rFxTRELukBj2Ztztl0jxeK4I3iO6KPnQ==\" },\r\n { id: \"OTA\", dataValue: \"ht_isosubdivisioncodes,djHQnkC28YWoR0xPyw67W8s6wNVEt01HHT7T2B6uVRdUsA==\" },\r\n { id: \"STL\", dataValue: \"ht_isosubdivisioncodes,djFj0qthMJqRAZMPKN0iAD8ZrTSsCxmtA6p80T/MSNbSCg==\" },\r\n { id: \"TKI\", dataValue: \"ht_isosubdivisioncodes,djGlzW9Oi5larAVXdoheazK3Z+pV9f0o+mdGoCZnt0pGGQ==\" },\r\n { id: \"TAS\", dataValue: \"ht_isosubdivisioncodes,djFOjAmrQq6UgSgJeZ8PCpLrjLFwx3lkPqpekTmvmTlG4A==\" },\r\n { id: \"WGN\", dataValue: \"ht_isosubdivisioncodes,djEQxcAYYDUioasZym/s1HfUhEP1p7Q0No65sN4LMX6xWQ==\" },\r\n { id: \"WTC\", dataValue: \"ht_isosubdivisioncodes,djFLHfwTH5H8uHNhMGTRZFZp+ZQ0NOWBvBLi5qCyUGh+AA==\" }\r\n];\r\n\r\nexport const cnStates = [\r\n { id: \"34\", dataValue: \"ht_isosubdivisioncodes,djF2pIkoinFcIJvQh/0VZxeNxBJLijMFJQF2WyNcsZbK3g==\" },//Anhui\r\n { id: \"92\", dataValue: \"ht_isosubdivisioncodes,djHqT94qFOQmDumtiEhjJ5OnMXSbUgsS1eUTK3udYk6usg==\" },//Aomen\r\n { id: \"11\", dataValue: \"ht_isosubdivisioncodes,djEF2AXCrorlTGHnlxV4LCv2AnEFoxSZ7a7ilrBL5PhV1w==\" },//Beijing\r\n { id: \"50\", dataValue: \"ht_isosubdivisioncodes,djFUusdhCnHDBHg8dfAe+cl/uq/WNHBaZxN+hzZ4wy5QJw==\" },//Chongqing\r\n { id: \"35\", dataValue: \"ht_isosubdivisioncodes,djFZ80Vg6+s5wurxfwdj4JF5X4yg4LQ268zr52n2FU7wMg==\" },//Fujian\r\n { id: \"62\", dataValue: \"ht_isosubdivisioncodes,djH8Toen6IwVFhea7yD/giGyOHMGbBgLKP0Nk5oMo+c5TQ==\" },//Gansu\r\n { id: \"44\", dataValue: \"ht_isosubdivisioncodes,djHY6KWXoBX34txqKc5XtvGJPT1MHYaXszrf438fiPIndw==\" },//Guangdong\r\n { id: \"45\", dataValue: \"ht_isosubdivisioncodes,djEtMOoGveO9JiqUYC5CeDBCLaxSGmYnXRhm4eW3CasmVg==\" },//Guangxi\r\n { id: \"52\", dataValue: \"ht_isosubdivisioncodes,djGdyhGvU0pI7iFs9T2udNpSua76y/Bkh7eIlFjFjX0zbQ==\" },//Guizhou\r\n { id: \"46\", dataValue: \"ht_isosubdivisioncodes,djHywqcsPj+DBuDM+f0uTKXeN50TBUpaeIV8uroWAW6nlg==\" },//Hainan\r\n { id: \"13\", dataValue: \"ht_isosubdivisioncodes,djGc+AHZLzGKrnLyiHZnW0Gas/iUU4ut40fRFasNTlukYg==\" },//Hebei\r\n { id: \"23\", dataValue: \"ht_isosubdivisioncodes,djHiByHLe6vOG6EGQXL8gin3NuPKv0PZVoHElV5eqPnyog==\" },//Heilongjiang\r\n { id: \"41\", dataValue: \"ht_isosubdivisioncodes,djECnyzNIXk7Q8hIOuMw65H071ZTPTdEN5dJ8kUxg4cIFg==\" },//Henan\r\n { id: \"42\", dataValue: \"ht_isosubdivisioncodes,djEj9My+AciHslHH4n9/4HRi8I6kqBA69PT7fZqW5l2fmA==\" },//Hubei\r\n { id: \"43\", dataValue: \"ht_isosubdivisioncodes,djGuIRwFQuaRgSf1GAccTfLDMs5bNG32cvSkXnGqM1VZVw==\" },//Hunan\r\n { id: \"32\", dataValue: \"ht_isosubdivisioncodes,djGdIWc43I0tm23z0cdtp3k06xB5UgblkPWOx/2+axWO8w==\" },//Jiangsu\r\n { id: \"36\", dataValue: \"ht_isosubdivisioncodes,djFrmSz0cI3L/vQVBIGzm3tK+WSrlnxWJIzg5RpYUkL6/w==\" },//Jiangxi\r\n { id: \"22\", dataValue: \"ht_isosubdivisioncodes,djHU54OcI7SZqOr30fnKVrMXlALBjKHRfVQ8EcS6njGZaw==\" },//Jilin\r\n { id: \"21\", dataValue: \"ht_isosubdivisioncodes,djFC8qvNmb997JBW8jui+lfgrwDTSAVLnP60weR8/QHS4g==\" },//Liaoning\r\n { id: \"15\", dataValue: \"ht_isosubdivisioncodes,djEmkv2F7pXiMMEN9Bk6hFYyqOIVqkeheL/9m5AZpe6C1g==\" },//NeiMongol\r\n { id: \"64\", dataValue: \"ht_isosubdivisioncodes,djH4mWqhgvCekMA7VEg4gTuXOlcHehg/pAebx0EFbHikDQ==\" },//Ningxia\r\n { id: \"63\", dataValue: \"ht_isosubdivisioncodes,djHWiIra8z5aZbincTpKwbvKjU0G67T94n04Czb7XftboA==\" },//Qinghai\r\n { id: \"37\", dataValue: \"ht_isosubdivisioncodes,djG27tit2+RuusQjUkTEu8qvovSKyDl/Pdspc/Y0Y64eyA==\" },//Shandong\r\n { id: \"31\", dataValue: \"ht_isosubdivisioncodes,djH2QPXSXLoaz231wvkk98lUUFxG6JhGSB/AQD86xMTXbQ==\" },//Shanghai\r\n { id: \"14\", dataValue: \"ht_isosubdivisioncodes,djGGj8rgn6/TzkIGu/HUrF25iK3kyQZr/9H20pMj3kUtSg==\" },//Shanxi\r\n { id: \"51\", dataValue: \"ht_isosubdivisioncodes,djHKGY9Fa1R3C86Zmr8p2AVd9l3qob9V2GDuHEBqdn6cQw==\" },//Sichuan\r\n { id: \"71\", dataValue: \"ht_isosubdivisioncodes,djGDWDvEKlNX09rdlE7JfFdDP67kIhOrkyyh/QCUV1wmfA==\" },//Taiwan\r\n { id: \"12\", dataValue: \"ht_isosubdivisioncodes,djEVlf0Wv9A7ONd+qQODnJO3QeD640unieks8xzScaaXoA==\" },//Tianjin\r\n { id: \"91\", dataValue: \"ht_isosubdivisioncodes,djEgRHXBqXrsYgtBTu7GPLrhP6hXMm+HzIgqfJ/ij5mpeg==\" },//Xianggang\r\n { id: \"65\", dataValue: \"ht_isosubdivisioncodes,djGulsvTWVj2wMtkl3XuEfIeYSM1ordYYz00R7L5//U48g==\" },//Xinjiang\r\n { id: \"54\", dataValue: \"ht_isosubdivisioncodes,djHamnHGusjdO60r0Fj6gzs1HY8IfalKydFXXyYv6huTxQ==\" },//Xizang\r\n { id: \"53\", dataValue: \"ht_isosubdivisioncodes,djEhDzEO1MAJYOfzpQQPGW/h3shffDblVu/JstqHRshshw==\" },//Yunnan\r\n { id: \"33\", dataValue: \"ht_isosubdivisioncodes,djFEAOSBnFj6qiTg8liN5Ap0nWsUtxF16JJjXmqbT8hhpw==\" }//Zhejiang\r\n];\r\n","/* eslint-disable no-undef */\r\nimport intlTelInput from \"intl-tel-input\";\r\nimport leadSource from \"/Assets/js/lead-source.js\";\r\nimport campaignSource from \"/Assets/js/campaign-source.js\";\r\nimport { getNextSibling, isNullOrUndefined, getUrlVars } from \"/Assets/js/utilities.js\";\r\nimport { productInterestData } from \"./product-interest-data.js\";\r\n\r\nexport default class EmbeddedFormBlock {\r\n constructor(embeddedFormBlockCntnr) {\r\n this.isHidden = (embeddedFormBlockCntnr.dataset.embeddedFormBlockHidden === \"True\");\r\n this.embeddedFormBlockCntnr = embeddedFormBlockCntnr;\r\n this.elementId = this.embeddedFormBlockCntnr.dataset.embeddedFormBlock;\r\n this.formName = this.embeddedFormBlockCntnr.dataset.embeddedFormBlockName;\r\n this.recaptchaId = this.embeddedFormBlockCntnr.dataset.recaptchaId;\r\n this.initializeRecaptcha = (isNullOrUndefined(this.recaptchaId) || this.isHidden) ? false : true;\r\n this.embeddedFormFields = window.embeddedForms[this.elementId];\r\n this.formStarted = false;\r\n this.formCompleted = false;\r\n this.ebfCallToAction = this.embeddedFormBlockCntnr.dataset.callToAction;\r\n this.defaultCallToAction = \"\";\r\n this.openInModal = Boolean(embeddedFormBlockCntnr.parentNode.closest(\"#primaryCtaForm\"));\r\n this.disableButtonBlock();\r\n }\r\n\r\n initialize() {\r\n this.form = this.embeddedFormBlockCntnr.querySelector(\"form\");\r\n if (!this.form)\r\n return;\r\n\r\n this.d365FormName = this.form.dataset.formName;\r\n this.submitButtonCntnr = this.embeddedFormBlockCntnr.querySelector(\"[data-editorblocktype=SubmitButtonBlock]\");\r\n this.submitButton = this.submitButtonCntnr.querySelector(\"button.lp-form-button\");\r\n\r\n this.bindEvents();\r\n this.showTitleDescription();\r\n this.setLeadSource();\r\n this.setCampaignSource();\r\n this.setLanguage();\r\n this.setWebsiteRegion();\r\n this.setPageUrl();\r\n this.setProductInterest();\r\n this.setCallToAction();\r\n this.hideFields();\r\n this.addLoadingSpinner();\r\n this.initPhone();\r\n this.countryOnChange();\r\n this.doYouHaveRobotOnChange();\r\n this.hideLoader();\r\n this.enableButtonBlock();\r\n this.setWtbProductInterestFromUrl();\r\n this.initRobotmaster();\r\n\r\n if (!isNullOrUndefined(this.d365FormName) && this.d365FormName === \"catridge-return-to-recycle\") {\r\n this.initCountry(\"United States of America\", true);\r\n }\r\n }\r\n\r\n bindEvents() {\r\n if (this.isHidden)\r\n return;\r\n\r\n this.initWtbProductInterestOnChange();\r\n\r\n let primaryCtaTriggers = document.querySelectorAll(\"[data-target='#primaryCtaForm']\");\r\n primaryCtaTriggers.forEach((item) => {\r\n item.addEventListener(\"click\", () => {\r\n this.openFormModal(item);\r\n });\r\n });\r\n\r\n const self = this;\r\n this.form.addEventListener(\"input\", function () {\r\n if (!self.formStarted) {\r\n window.dataLayer.push({\r\n event: \"formStarted\",\r\n formId: self.formName\r\n });\r\n self.formStarted = true;\r\n }\r\n });\r\n }\r\n\r\n openFormModal(element) {\r\n //TODO - remove jquery dependance for modal\r\n const self = this;\r\n const title = element.dataset.title;\r\n const description = element.dataset.description;\r\n const calltoaction = element.dataset.calltoaction;\r\n const $modal = $(\"#primaryCtaForm\");\r\n\r\n if (!isNullOrUndefined(title)) {\r\n $modal.find(\".form-title\").text(title);\r\n }\r\n if (!isNullOrUndefined(description)) {\r\n $modal.find(\".form-description\").html(`

${description}

`);\r\n }\r\n if (!isNullOrUndefined(calltoaction)) {\r\n self.setCallToAction(calltoaction);\r\n }\r\n\r\n if (self.formCompleted) {\r\n $modal.modal(\"show\");\r\n } else {\r\n $modal.modal(\"show\");\r\n }\r\n }\r\n\r\n disableButtonBlock() {\r\n if (!this.openInModal)\r\n return;\r\n\r\n const ctaFormButtons = document.querySelectorAll(\"[data-target='#primaryCtaForm']\");\r\n for (const button of ctaFormButtons) {\r\n const loadingText = button.dataset.loadingText;\r\n if (!isNullOrUndefined(loadingText)) {\r\n button.setAttribute(\"data-label-text\", button.textContent);\r\n button.innerHTML = loadingText;\r\n button.disalbled = true;\r\n }\r\n }\r\n }\r\n\r\n enableButtonBlock() {\r\n if (this.isHidden)\r\n return;\r\n\r\n const ctaFormButtons = document.querySelectorAll(\"[data-target='#primaryCtaForm']\");\r\n for (const button of ctaFormButtons) {\r\n const buttonText = button.dataset.labelText;\r\n if (!isNullOrUndefined(buttonText)) {\r\n button.innerHTML = buttonText;\r\n button.disalbled = false;\r\n }\r\n }\r\n }\r\n\r\n showLoader() {\r\n const self = this;\r\n\r\n const loader = self.embeddedFormBlockCntnr.querySelector(\"[data-loader]\");\r\n loader.style.display = \"block\";\r\n }\r\n\r\n hideLoader() {\r\n const self = this;\r\n\r\n if (this.isHidden)\r\n return;\r\n\r\n const loader = self.embeddedFormBlockCntnr.querySelector(\"[data-loader]\");\r\n loader.style.display = \"none\";\r\n }\r\n\r\n showTitleDescription() {\r\n this.embeddedFormBlockCntnr.querySelector(\"h3.form-title\").classList.remove(\"hide\");\r\n this.embeddedFormBlockCntnr.querySelector(\"div.form-description\").classList.remove(\"hide\");\r\n }\r\n\r\n hideFields() {\r\n if (this.isHidden)\r\n return;\r\n\r\n if (!isNullOrUndefined(this.d365FormName) && this.d365FormName === \"software-for-education-applications\") {\r\n return;\r\n }\r\n\r\n for (let [key, value] of this.embeddedFormFields.entries()) {\r\n if (fieldsToHide.includes(key)) {\r\n const elementToHide = document.getElementById(value);\r\n\r\n if (!elementToHide)\r\n return;\r\n\r\n const eth = elementToHide.closest(\"[data-editorblocktype]\");\r\n eth.style.display = \"none\";\r\n }\r\n }\r\n }\r\n\r\n addLoadingSpinner() {\r\n if (this.isHidden)\r\n return;\r\n\r\n this.submitButton.setAttribute(\"data-loading-text\",\r\n \"\");\r\n }\r\n\r\n initWtbProductInterestOnChange() {\r\n const self = this;\r\n const wtbProductInterestId = this.embeddedFormFields.get(\"wheretobuyproductinterest\");\r\n const wtbProductInterestInput = document.getElementById(wtbProductInterestId);\r\n\r\n if (!wtbProductInterestInput)\r\n return;\r\n\r\n document.getElementById(wtbProductInterestId).onchange = function (e) {\r\n const data = productInterestData.find(c => c.id === e.target.value);\r\n self.setWtbProductInterestValues(data);\r\n };\r\n }\r\n\r\n setWtbProductInterestFromUrl() {\r\n if (this.isHidden)\r\n return;\r\n\r\n const urlVars = getUrlVars();\r\n var cat = urlVars.category ? urlVars.category : \"\";\r\n\r\n if (isNullOrUndefined(cat))\r\n return;\r\n\r\n this.setPicklistField(\"wheretobuyproductinterest\", cat);\r\n\r\n const data = productInterestData.find(c => c.id === cat);\r\n this.setWtbProductInterestValues(data);\r\n }\r\n\r\n setWtbProductInterestValues(data) {\r\n const self = this;\r\n const technology = data.technology;\r\n const platform = data.platform;\r\n const productClassType = data.ProductClassType;\r\n\r\n if (!isNullOrUndefined(technology)) {\r\n self.setPicklistField(\"technology\", technology);\r\n }\r\n else {\r\n self.clearPickListField(\"technology\");\r\n }\r\n\r\n if (!isNullOrUndefined(productClassType)) {\r\n self.setPicklistField(\"productclasstype\", productClassType);\r\n }\r\n else {\r\n self.clearPickListField(\"productclasstype\");\r\n }\r\n\r\n if (!isNullOrUndefined(platform)) {\r\n self.setPicklistField(\"platform\", platform);\r\n }\r\n else {\r\n self.clearPickListField(\"platform\");\r\n }\r\n }\r\n\r\n initCountry(country,disable = false) {\r\n const countryId = this.embeddedFormFields.get(\"country\");\r\n const countryInput = document.getElementById(countryId);\r\n\r\n if (!countryInput)\r\n return;\r\n\r\n this.dynamicsFillLookupFromSearch(countryId, country);\r\n if(disable)\r\n countryInput.disabled = true;\r\n }\r\n\r\n initMultiSelect(element) {\r\n const elementContainer = element.closest(\"[data-editorblocktype]\");\r\n const checkboxesContainer = elementContainer.querySelector(\".checkboxes-container\");\r\n const overSelect = elementContainer.querySelector(\".overSelect\");\r\n\r\n checkboxesContainer.addEventListener(\"change\", event => {\r\n let selectedInputs = [];\r\n\r\n if (event.target.type === \"checkbox\") {\r\n const checked = elementContainer.querySelectorAll('input[type=\"checkbox\"]:checked');\r\n selectedInputs = Array.from(checked).map(x => x.value);\r\n }\r\n\r\n let selectedText = \"\";\r\n for (let item of selectedInputs) {\r\n const input = checkboxesContainer.querySelector(\"input[value='\" + item + \"']\");\r\n const label = input.nextElementSibling.innerText;\r\n if (selectedText == \"\") {\r\n selectedText = label;\r\n } else {\r\n selectedText = selectedText + \", \" + label;\r\n }\r\n }\r\n\r\n const selectedContainer = elementContainer.querySelector(\".multiselect-selected\");\r\n selectedContainer.innerHTML = selectedText;\r\n });\r\n\r\n overSelect.addEventListener(\"click\", function () {\r\n const isVisible = checkboxesContainer.offsetParent === null;\r\n if (!isVisible) {\r\n checkboxesContainer.style.display = \"none\";\r\n } else {\r\n checkboxesContainer.style.display = \"block\";\r\n }\r\n });\r\n\r\n document.addEventListener(\"click\", function (event) {\r\n const chk = event.target.closest(\".checkboxes-container\");\r\n const ovr = event.target.closest(\".overSelect\");\r\n\r\n if (chk == null && ovr == null) {\r\n checkboxesContainer.style.display = \"none\";\r\n }\r\n }, false);\r\n }\r\n\r\n initRobotmaster() {\r\n const self = this;\r\n const robotApplicationId = this.embeddedFormFields.get(\"robotapplication\");\r\n const robotApplication = document.querySelector('[name=\"' + robotApplicationId + '\"]');\r\n const robotBrandId = this.embeddedFormFields.get(\"robotbrand\");\r\n const robotBrand = document.querySelector('[name=\"' + robotBrandId + '\"]');\r\n\r\n if (robotApplication) {\r\n self.initMultiSelect(robotApplication);\r\n }\r\n if (robotBrand) {\r\n self.initMultiSelect(robotBrand);\r\n } \r\n }\r\n\r\n dynamicsFillLookupFromSearch(id, value) {\r\n window.MsCrmMkt.MsCrmFormLoader.fillLookupFromSearch(id, value)\r\n .then(function () {\r\n const input = document.getElementById(id);\r\n const select = getNextSibling(input, \"div.ui-selectmenu-menu\");\r\n const item = select.querySelector(\"ul\");\r\n const firstChild = item.firstChild;\r\n const itemVal = firstChild.dataset.value;\r\n const itemText = firstChild.querySelector(\"div\").textContent;\r\n firstChild.classList.add(\"ui-state-active\");\r\n input.setAttribute(\"data-value\", itemVal);\r\n input.value = itemText;\r\n }).catch(function () {\r\n console.error(\"Error performing search\");\r\n });\r\n }\r\n\r\n initPhone() {\r\n if (this.isHidden)\r\n return;\r\n\r\n for (let [key, value] of this.embeddedFormFields.entries()) {\r\n if (key.includes(\"phone\")) {\r\n\r\n const phoneInput = document.getElementById(value);\r\n if (!phoneInput)\r\n continue;\r\n\r\n phoneInput.setAttribute(\"data-valid-phone-error-message\", window.jsl10n.JsResources.Translations.Common.EnterValidPhoneNumber);\r\n\r\n intlTelInput(phoneInput,\r\n {\r\n utilsScript: \"/dist/js/utils.js\",\r\n nationalMode: false,\r\n separateDialCode: true,\r\n excludeCountries: [\"ac\", \"bq\", \"ss\", \"gg\", \"rs\"],\r\n initialCountry,\r\n localizedCountries: localizedCountries,\r\n preferredCountries: preferredCountries\r\n });\r\n }\r\n }\r\n }\r\n\r\n doYouHaveRobotOnChange() {\r\n if (this.isHidden)\r\n return;\r\n\r\n const haveRobotId = this.embeddedFormFields.get(\"doyouhaverobot\");\r\n const haveRobotInput = document.getElementById(haveRobotId);\r\n\r\n if (!haveRobotInput)\r\n return;\r\n\r\n var self = this;\r\n document.addEventListener(\"input\", function (event) {\r\n if (event.target.id !== haveRobotId) return;\r\n\r\n const value = event.target.value;\r\n\r\n const currentProgrammingMethodId = window.fields.get(\"currentprogrammingmethod\");\r\n const currentProgrammingMethodInput = document.getElementById(currentProgrammingMethodId);\r\n const robotBrandId = window.fields.get(\"robotbrand\");\r\n const robotBrandInput = document.getElementById(robotBrandId);\r\n\r\n if (currentProgrammingMethodInput) {\r\n if (value === \"Yes\") {\r\n self.showInput(currentProgrammingMethodInput);\r\n } else {\r\n self.hideInput(currentProgrammingMethodInput);\r\n }\r\n }\r\n if (robotBrandInput) {\r\n if (value === \"Yes\") {\r\n self.showInput(robotBrandInput);\r\n } else {\r\n self.hideInput(robotBrandInput);\r\n }\r\n }\r\n\r\n }, false);\r\n }\r\n\r\n countryOnChange() {\r\n if (this.isHidden)\r\n return;\r\n\r\n const countryId = this.embeddedFormFields.get(\"country\");\r\n const countryInput = document.getElementById(countryId);\r\n\r\n if (!countryInput)\r\n return;\r\n\r\n var self = this;\r\n const observer = new MutationObserver(function (mutationList) {\r\n self.countryOnChangeHandler(mutationList, self);\r\n });\r\n\r\n const obsConfig = {\r\n attributes: true,\r\n attributeFilter: [\"data-value\"]\r\n };\r\n observer.observe(countryInput, obsConfig);\r\n }\r\n\r\n countryOnChangeHandler(mutationList, self) {\r\n mutationList.forEach(function() {\r\n const countryId = window.fields.get(\"country\");\r\n const cinput = document.getElementById(countryId);\r\n const value = cinput.dataset.value;\r\n const countryParentContainer = cinput.closest(\"[data-editorblocktype]\");\r\n const countryActive = countryParentContainer.querySelector(\"li.ui-state-active\");\r\n const countryText = countryActive.querySelector(\".ui-menu-item-wrapper\").textContent;\r\n const stateId = window.fields.get(\"state\");\r\n const stateInput = document.getElementById(stateId);\r\n const cityId = window.fields.get(\"city\");\r\n const cityInput = document.getElementById(cityId);\r\n const zipId = window.fields.get(\"zip\");\r\n const zipInput = document.getElementById(zipId);\r\n\r\n if (stateInput) {\r\n if (showState.includes(value) || showStateText.includes(countryText)) {\r\n self.showInput(stateInput);\r\n } else {\r\n self.hideInput(stateInput);\r\n }\r\n }\r\n if (cityInput) {\r\n if (showCity.includes(value) || showCityText.includes(countryText)) {\r\n self.showInput(cityInput);\r\n } else {\r\n self.hideInput(cityInput);\r\n }\r\n }\r\n if (zipInput) {\r\n if (showZip.includes(value) || showZipText.includes(countryText)) {\r\n self.showInput(zipInput);\r\n } else {\r\n self.hideInput(zipInput);\r\n }\r\n }\r\n });\r\n }\r\n\r\n showInput(inputEl) {\r\n const parent = inputEl.closest(\"[data-editorblocktype]\");\r\n const isMultiSelect = inputEl.closest(\"div.multiselect\") != null;\r\n const select = parent.querySelector(\"select\");\r\n const label = parent.querySelector(\"label.lp-ellipsis\");\r\n\r\n // check if required text already exists\r\n const reqTextExists = label.querySelector(\".lp-required\");\r\n if (!reqTextExists) {\r\n const inputCntnrRequiredLabel = document.createElement(\"span\");\r\n inputCntnrRequiredLabel.className = \"lp-required\";\r\n inputCntnrRequiredLabel.textContent = \"*\";\r\n inputCntnrRequiredLabel.style.color = \"rgb(255, 0, 0)\";\r\n label.append(inputCntnrRequiredLabel);\r\n }\r\n\r\n parent.style.display = \"block\";\r\n if (isMultiSelect) {\r\n select.setAttribute(\"aria-required\", \"true\");\r\n select.setAttribute(\"required\", \"required\");\r\n } else {\r\n inputEl.setAttribute(\"aria-required\", \"true\");\r\n inputEl.setAttribute(\"required\", \"required\");\r\n }\r\n }\r\n\r\n hideInput(inputEl) {\r\n const parent = inputEl.closest(\"[data-editorblocktype]\");\r\n const isMultiSelect = inputEl.closest(\"div.multiselect\") != null;\r\n const select = parent.querySelector(\"select\");\r\n\r\n parent.style.display = \"none\";\r\n\r\n if (isMultiSelect) {\r\n select.setAttribute(\"aria-required\", \"false\");\r\n select.removeAttribute(\"required\");\r\n } else {\r\n inputEl.setAttribute(\"aria-required\", \"false\");\r\n inputEl.removeAttribute(\"required\");\r\n }\r\n }\r\n\r\n setLeadSource() {\r\n const ls = new leadSource(this.embeddedFormFields);\r\n ls.setLeadSource();\r\n }\r\n\r\n setCampaignSource() {\r\n const cs = new campaignSource();\r\n const campaign = cs.getCampaignSourceValue();\r\n const campaignId = this.embeddedFormFields.get(\"campaignsource\");\r\n const campaignInput = document.getElementById(campaignId);\r\n\r\n if (!campaignInput || isNullOrUndefined(campaign) || campaign == \"null\")\r\n return;\r\n\r\n this.dynamicsFillLookupFromSearch(campaignId, campaign);\r\n }\r\n\r\n setLanguage() {\r\n const languageId = this.embeddedFormFields.get(\"language\");\r\n const languageInput = document.getElementById(languageId);\r\n\r\n if (!languageInput)\r\n return;\r\n\r\n if (languageInput.value)\r\n return;\r\n\r\n const language = languages.find(l => l.id === window.currentLanguage);\r\n if (language !== \"\") {\r\n this.dynamicsFillLookupFromSearch(languageId, language.name);\r\n }\r\n }\r\n\r\n setCallToAction(calltoaction = null) {\r\n const callToActionId = this.embeddedFormFields.get(\"calltoaction\");\r\n const callToActionInput = document.getElementById(callToActionId);\r\n\r\n if (!callToActionInput)\r\n return;\r\n\r\n let cta;\r\n\r\n if (isNullOrUndefined(calltoaction)) {\r\n if (callToActionInput.value) {\r\n this.defaultCallToAction = callToActionInput.value;\r\n return;\r\n } else {\r\n cta = this.ebfCallToAction;\r\n }\r\n\r\n } else {\r\n if (!isNullOrUndefined(this.defaultCallToAction))\r\n return;\r\n\r\n cta = calltoaction;\r\n }\r\n\r\n if (cta !== \"\") {\r\n this.dynamicsFillLookupFromSearch(callToActionId, cta);\r\n }\r\n return;\r\n }\r\n\r\n setProductInterest() {\r\n const wtbProductInterestId = this.embeddedFormFields.get(\"wheretobuyproductinterest\");\r\n const wtbProductInterestInput = document.getElementById(wtbProductInterestId);\r\n\r\n if (wtbProductInterestInput)\r\n return;\r\n\r\n if (window.dataLayer) {\r\n let productInterestData;\r\n if (window[\"google_tag_manager\"][\"GTM-WKZML4\"] !== undefined) {\r\n productInterestData = window[\"google_tag_manager\"][\"GTM-WKZML4\"].dataLayer.get(\"productInterest\");\r\n } else if (window[\"google_tag_manager\"][\"GTM-WPTK8QC\"] !== undefined) {\r\n productInterestData = window[\"google_tag_manager\"][\"GTM-WPTK8QC\"].dataLayer.get(\"productInterest\");\r\n } else if (window[\"google_tag_manager\"][\"GTM-PKM4WHG\"] !== undefined) {\r\n productInterestData = window[\"google_tag_manager\"][\"GTM-PKM4WHG\"].dataLayer.get(\"productInterest\");\r\n }\r\n\r\n if (productInterestData === undefined)\r\n return;\r\n\r\n const technology = productInterestData[0].technology;\r\n const productClassType = productInterestData[0].productClassType;\r\n const productModelLine = productInterestData[0].productModelLine;\r\n const platform = productInterestData[0].platform;\r\n const application = productInterestData[0].application;\r\n const materialShape = productInterestData[0].materialShape;\r\n\r\n if (!isNullOrUndefined(technology)) {\r\n this.setPicklistField(\"technology\", technology);\r\n }\r\n if (!isNullOrUndefined(productClassType)) {\r\n this.setPicklistField(\"productclasstype\", productClassType);\r\n }\r\n if (!isNullOrUndefined(productModelLine)) {\r\n this.setPicklistField(\"productmodelline\", productModelLine);\r\n }\r\n if (!isNullOrUndefined(platform)) {\r\n this.setPicklistField(\"platform\", platform);\r\n }\r\n if (!isNullOrUndefined(application)) {\r\n this.setCheckboxField(\"application\", application);\r\n }\r\n if (!isNullOrUndefined(materialShape)) {\r\n this.setCheckboxField(\"materialshape\", materialShape);\r\n }\r\n }\r\n }\r\n\r\n setCheckboxField(field, value) {\r\n const fieldId = this.embeddedFormFields.get(field);\r\n const hasField = document.querySelector('[name=\"' + fieldId + '\"]');\r\n\r\n if (!hasField || isNullOrUndefined(value))\r\n return;\r\n\r\n const checkboxInput = document.querySelector('input[value=\"' + value + '\"]');\r\n if (checkboxInput.length !== 0) {\r\n checkboxInput.checked = true;\r\n }\r\n }\r\n\r\n setPicklistField(field, value) {\r\n const fieldId = this.embeddedFormFields.get(field);\r\n const fieldInput = document.getElementById(fieldId);\r\n\r\n if (!fieldInput || isNullOrUndefined(value))\r\n return;\r\n\r\n for (let i = 0; i < fieldInput.options.length; i++) {\r\n if (fieldInput.options[i].value === value) {\r\n fieldInput.selectedIndex = i;\r\n break;\r\n }\r\n }\r\n }\r\n\r\n clearPickListField(field) {\r\n const fieldId = this.embeddedFormFields.get(field);\r\n const fieldInput = document.getElementById(fieldId);\r\n\r\n if (!fieldInput)\r\n return;\r\n\r\n for (let i = 0; i < fieldInput.options.length; i++) {\r\n fieldInput[i].selected = false;\r\n }\r\n }\r\n\r\n setWebsiteRegion() {\r\n const websiteRegionId = this.embeddedFormFields.get(\"websiteregion\");\r\n const websiteRegionInput = document.getElementById(websiteRegionId);\r\n\r\n if (!websiteRegionInput)\r\n return;\r\n\r\n websiteRegionInput.value = window.currentRegion;\r\n }\r\n\r\n setPageUrl() {\r\n const pageUrlId = this.embeddedFormFields.get(\"pageurl\");\r\n const pageUrlInput = document.getElementById(pageUrlId);\r\n\r\n if (!pageUrlInput)\r\n return;\r\n\r\n pageUrlInput.value = window.location.href;\r\n }\r\n\r\n showButtonSubmitting() {\r\n const text = this.submitButton.dataset.loadingText;\r\n if (text) {\r\n this.submitButton.setAttribute(\"data-label-text\", this.submitButton.innerHTML);\r\n this.submitButton.innerHTML = text;\r\n }\r\n this.submitButton.disabled = true;\r\n }\r\n\r\n showButtonDefault() {\r\n const text = this.submitButton.dataset.labelText;\r\n if (text) {\r\n this.submitButton.innerHTML = text;\r\n }\r\n this.submitButton.disabled = false;\r\n }\r\n\r\n submitForm() {\r\n this.form.requestSubmit();\r\n }\r\n}\r\n\r\nconst languages = [\r\n { id: \"en\", name: \"English\" },\r\n { id: \"en-US\", name: \"English\" },\r\n { id: \"es\", name: \"Spanish\" },\r\n { id: \"fr\", name: \"French\" },\r\n { id: \"de\", name: \"German\" },\r\n { id: \"ko\", name: \"Korean\" },\r\n { id: \"zh\", name: \"Chinese\" },\r\n { id: \"it\", name: \"Italian\" },\r\n { id: \"ja\", name: \"Japanese\" },\r\n { id: \"pl\", name: \"Polish\" },\r\n { id: \"pt\", name: \"Portuguese\" },\r\n { id: \"ru\", name: \"Russian\" },\r\n { id: \"tr\", name: \"Turkish\" }\r\n];\r\n\r\nconst fieldsToHide = [\r\n \"state\",\r\n \"city\",\r\n \"zip\",\r\n \"currentprogrammingmethod\",\r\n \"robotbrand\"\r\n];\r\n\r\nconst showState = [\r\n \"ht_countrycodes,djFv6taQpy7RvCECc6KRgOXg2ptZMBunmXxPQu1BFigbGQ==\", //CA\r\n \"ht_countrycodes,djGSJKcvAbF1fCaGMtF5XgHTKdLaCh0L18zeLmafuWOoew==\", //AU\r\n \"ht_countrycodes,djH0xFsMUkPoZaEtes1cEQ+4XNOBMzWx87lbqtVfd6iylQ==\", //NZ\r\n \"ht_countrycodes,djFSwR0x3pX8waDJPLXOR7IrLQZq4aB56pRsoTOvNdHIUA==\", //CN\r\n \"ht_countrycodes,djE2hsu6jH/42yyW0KXUowk/mxbYD9VdWj67E7mq+Keriw==\", //US\r\n //OMAX PreProd\r\n \"ht_countrycodes,djGlzVajHxZlYDhrp6nso7hQGZm3urbLa9U/QDoPnGeL2Q==\",\r\n \"ht_countrycodes,djGbNVKOVfH+cMYvsqOm80kx26fJxbkuZTFvHhdHKkwiWw==\",\r\n \"ht_countrycodes,djG+usor2tJwCbf/nwj8I1fb0dHpPDNslm2MS4lcOhUnnA==\",\r\n \"ht_countrycodes,djE6jStoKgX6wY78MfSKXh/8IFCQrpGNyVvzhr0H2oPKBQ==\",\r\n \"ht_countrycodes,djHTGIGcr+EtEIt6cUkrfXRMVEc6SpMM8AWOgPbjpZegjQ==\"\r\n];\r\n\r\nconst showStateText = [\r\n \"Australia\",\r\n \"Canada\",\r\n \"China\",\r\n \"New Zealand\",\r\n \"United States of America\"\r\n];\r\n\r\nconst showCity = [\r\n \"ht_countrycodes,djFv6taQpy7RvCECc6KRgOXg2ptZMBunmXxPQu1BFigbGQ==\", //CA\r\n \"ht_countrycodes,djGSJKcvAbF1fCaGMtF5XgHTKdLaCh0L18zeLmafuWOoew==\", //AU\r\n \"ht_countrycodes,djH0xFsMUkPoZaEtes1cEQ+4XNOBMzWx87lbqtVfd6iylQ==\", //NZ\r\n \"ht_countrycodes,djE2hsu6jH/42yyW0KXUowk/mxbYD9VdWj67E7mq+Keriw==\", //US\r\n \"ht_countrycodes,djEGcf1BugHS+1WMWCl/3vIqX9U46LGEWfqmzbSHGMx6Mw==\", //AF\r\n \"ht_countrycodes,djF9XTPALL8hRAC5HvwBFjT4linrsf7V3nK3YeRi4YQW1g==\", //AL\r\n \"ht_countrycodes,djHQbdQb2P1QrUlDFHrVvHQ/P+LlvI6zWqvuIJg83090OQ==\", //DZ\r\n \"ht_countrycodes,djGvCJmA03e/rj5hOrVVOQWf6/VB1t1W6Qt3S0knFkQMeg==\", //AD\r\n \"ht_countrycodes,djF/Zps0PXg5WSRvgZ1ywW8oYBdkNJB9yN8zBFkMYUXoRQ==\", //AO\r\n \"ht_countrycodes,djGTq51an6APfWyqBNQ3NyKJBCwMmvGLi4Dqbfx9r0QfPg==\", //AM\r\n \"ht_countrycodes,djF5fRLtMARWMJwXbAJY687TiYi+VBGxj3+m5AcSKfplcg==\", //AT\r\n \"ht_countrycodes,djFYTi+Ob8Aqt0AUJlDFq2fVeqOhkKhYh2dJ6C3WiWhdPg==\", //AZ\r\n \"ht_countrycodes,djE5V6hlTFsqNoCkms/ttxdplOETZxoW3XOTexwijVF45Q==\", //BH\r\n \"ht_countrycodes,djEp5kPbAW7o0HNctTXCYnWmZZFaLpJLk9/d2MZmwGmI3g==\", //BD\r\n \"ht_countrycodes,djHR29H/ojFs9DbZ6OIv8ag4VL87RWyjztlsJKfxemmHfQ==\", //BY\r\n \"ht_countrycodes,djEvK+Lh21xCHlau3+PkxJusKcbs/9E+BTTOi/rX9XsW2A==\", //BE\r\n \"ht_countrycodes,djFYeEk6deGYXsHtRdryruAP2UoWATYlcXDr57RnyS5i7A==\", //BJ\r\n \"ht_countrycodes,djH7z8CgpfGdV/8QZzy7pnzsyUh/RQcf4FxiOdlfBpw6NQ==\", //BA\r\n \"ht_countrycodes,djF0N8PV9IXIJpG/+dyRSBUK50GqRutlmCkmJlX4gFFV9w==\", //BW\r\n \"ht_countrycodes,djFzauVFhIvlfrL+lALf7sIxppv9GDM1wcAPTZ9OAbavtw==\", //BG\r\n \"ht_countrycodes,djFoZxxC6fOSB3JpbyUk30sJxg1RM7tjC7f3eO4JZuGNSg==\", //BF\r\n \"ht_countrycodes,djEJgaWZFHGrPWWGEQvvf8TSopONrMH0BTbKR0vcxOq3hA==\", //BI\r\n \"ht_countrycodes,djGZqQOaUsEwVqDmnRd+q0+sq4SL3kM/eDv+gWzSLVD1Fw==\", //CM\r\n \"ht_countrycodes,djFNfzioiRwAEoxY6NYR6xXZtF1eFKsAlsiLFxQDIjDPHw==\", //CV\r\n \"ht_countrycodes,djEraWo58prpJ6jWtlb3/d9HB8Yr30DdZDB0jcPEaBlUsA==\", //CF\r\n \"ht_countrycodes,djHDq+TzZ9CKJ77sUbo9UuRiFfXpFwUR6Qs8SVgDxW8JJw==\", //TD\r\n \"ht_countrycodes,djHmJzi71jOH2kWqbOjIsMjf+afZ+os4CF4J2x2qb3KLxw==\", //KM\r\n \"ht_countrycodes,djGc9WZKVAPwISELkPdnBVLraYVzS4wrj0FjfAtTCBdcAQ==\", //CG\r\n \"ht_countrycodes,djHXmXExPuh8OPuECjEkkfURG3pXmX10p3WD15dCfnmxRA==\", //CD\r\n \"ht_countrycodes,djH9ZX0iJBzjY6uZEpi2y9Nzh2M8K9CgHATTFox3csuI5Q==\", //CI\r\n \"ht_countrycodes,djHRCVEGi7Gh8gcqTPdtIBFHWCZp2W4BGd/K1EwV3V5kxw==\", //HR\r\n \"ht_countrycodes,djGzCh4lOPcimetuQi7oIPFmogrxzm+UJt4Dl5UbVxEK/Q==\", //CY\r\n \"ht_countrycodes,djHsU3q+U/5yL9Fo7HmIoE4ekk9MJ66NLGvmRosdeomAog==\", //CZ\r\n \"ht_countrycodes,djHeXwxp212sa4v17KU+bz7rr/3fBwrEZyyLpkAet8kNmQ==\", //DK\r\n \"ht_countrycodes,djE4hwHN2ibbC5qWx7UqjVYUUosWlbjWDX+MMdRix1aPhg==\", //DJ\r\n \"ht_countrycodes,djF61ilk857TbBY8SgGnFj8ye1bJzjd4bnlyhu3Z3fE5Nw==\", //EG\r\n \"ht_countrycodes,djGYoayD6IzfyxIq53VTV2UAevcUSjNmgCTJ7WvSYKB7jQ==\", //GQ\r\n \"ht_countrycodes,djHP2z/qiGE/fOMHoWsm0lWSQwKVTTzNihev3QmmGRncmg==\", //ER\r\n \"ht_countrycodes,djESXjt/o2HAWdlZHehIdlYVCHnrIVAtTplqewQjMXdfQw==\", //EE\r\n \"ht_countrycodes,djHqBkrGinDtiCFgfnS/zJGCFVXee0Q2xZ+PmNEqPiGU+Q==\", //ET\r\n \"ht_countrycodes,djESP09Ff4t0qs+aaJAsvp6Up94S4DE82UJ+1cqRo9co4w==\", //FI\r\n \"ht_countrycodes,djGbSwKmA8X7T7tv51OgzfB3uZSiQP+mE9Txb37Ewu4Eqw==\", //FR\r\n \"ht_countrycodes,djEeEtUvawPFK1bTWW+kyQaEFZmw5pEIeKnQfOQ7GxWktQ==\", //TF\r\n \"ht_countrycodes,djHWXNcltlww3sNX56hqCOD8R9FBJIjkxr44V1RAoiJ9hw==\", //GA\r\n \"ht_countrycodes,djEZMP5BR0ddiaHvZKFegQMhqKC/IYyFojiMI6t3/yZY8Q==\", //GM\r\n \"ht_countrycodes,djGyqeMdhJJv77fhDMoRYWWeHPavwYnFtKnq+WlWNbwxVA==\", //GE\r\n \"ht_countrycodes,djEZsM61ImCVm6GPSA1MfpSxpPJesfUOXhE9+MvB3MU5cQ==\", //DE\r\n \"ht_countrycodes,djEvroCOD0jhVPVnSwmVLYY0KQnbjpW2R6wIwWMajKKelQ==\", //GH\r\n \"ht_countrycodes,djHG8/k4unCbpEe8HU64WWZSkvtRP3UMCdP6rFpkAK1ANg==\", //GI\r\n \"ht_countrycodes,djHYn38d0M3Mr7nxu653GbXtNrN+yRrsYwc63aMAZb/ntg==\", //GR\r\n \"ht_countrycodes,djHgFt9sDICC2wwJ8QFx9CrfYx5kRIUR7g+KNnRoOkvCEg==\", //GN\r\n \"ht_countrycodes,djEym7zGGCrU0DnFVdUBeYrybtIgbDAySqnU79OSBGqiVA==\", //GW\r\n \"ht_countrycodes,djHQNZ0jC7vBwlkVyW4XEsm+LjpWt7x59AJZrU/TM1G7Eg==\", //HU\r\n \"ht_countrycodes,djHRpJrUaa+gUvjJvXNgq1M4r/ANsIlEiEUW/aCY682gOw==\", //IS\r\n \"ht_countrycodes,djGuOSNMdGVV9comyQ5ouR6LM9/X0zDFWaYC1lrUsM6Ghg==\", //IN\r\n \"ht_countrycodes,djE75b7uYX59s/bHNQFQmS3DxQ1B39ju7YrbqLR06QSC9g==\", //IR\r\n \"ht_countrycodes,djE7buJP+v6Y4vXGK+9wi8gIJo/8w6hg9Gj0b+L/Tpa7Lg==\", //IQ\r\n \"ht_countrycodes,djGcPRrBA3dseOYOjiBmb5YZEFUzAKCdB+8ReQ7SM5Oiww==\", //IE\r\n \"ht_countrycodes,djFNysoa5iYEZqOtWSm7WD77qsL8mn3uRIkM4kxgiCXVxQ==\", //IM\r\n \"ht_countrycodes,djH/RgCpVjFny1kvdxNCioWQTsvARq/ioNZ4r6CzQ2D+GQ==\", //IL\r\n \"ht_countrycodes,djHtnmSQ78XLICY6ABNMHDJp338vUZF5OUy92BRHpXHBiQ==\", //IT\r\n \"ht_countrycodes,djFmYCKExW3PsegtjR8YiGTzewEpa/lnIP4D79CcNpGJkQ==\", //JE\r\n \"ht_countrycodes,djGf0yBiWYpSF0rXdhUur2Hqcv9UR6VpCHiyxf3PzlCM6w==\", //JO\r\n \"ht_countrycodes,djHp/uMvhsxA+NMFGJC3WS35ctIjxsgETFtc7Z4jf0309g==\", //KZ\r\n \"ht_countrycodes,djFT4agXcTfYzLu7y5j6/hiU1Dnf7J4oM/ZBSadIG+x7EQ==\", //KE\r\n \"ht_countrycodes,djGoWW8rTHuryETSsetJNxzhTNZOph/Kzl7K01NTgDHiGQ==\", //XK\r\n \"ht_countrycodes,djEC8mGz/qwXevI1doeEdu9f9FZy5FQjP7NWn2aZht0YAA==\", //KW\r\n \"ht_countrycodes,djHYzvbMO4GhhqElG5K5Wy5dYsvw0WY9+VWqFGil8MNYfA==\", //KG\r\n \"ht_countrycodes,djEXSOaKkau6yvpv1//jtCixpPfwDXUG6pJtlW3ymgpVrg==\", //LV\r\n \"ht_countrycodes,djH6Y4z5iyVgxKjTjUOVhujRuOrRmgf81h/qDFjIYbRJ6w==\", //LB\r\n \"ht_countrycodes,djHd6QRK8e8VGegGm/YhqkH+Nivw11IVR2aLAha5OeeezA==\", //LS\r\n \"ht_countrycodes,djHvAJI5ZVEoJ+qDUZ1Yv+dCHTNU6byqz0cFiYOkwleE6w==\", //LR\r\n \"ht_countrycodes,djGrYYxeLI+2J0bs2f5Blwuu4kfByhIZ3/XVAF/w8NzigA==\", //LY\r\n \"ht_countrycodes,djF6IVZYXXmxSbMzfLE1ZUt6nne8DyBy9edc8w9a5fP4qw==\", //LI\r\n \"ht_countrycodes,djGXh8Q2Xm0/i+NBRBr6Bez+Bq3VYSk+h3DtP4F+gwOWhA==\", //LT\r\n \"ht_countrycodes,djH646vaAn/DMECDW4FNsxJHMSdQJE30Iion/Vn315m8YQ==\", //LU\r\n \"ht_countrycodes,djGYpZfloTtqP9HotjG9g2QIfmwJ8viJfcVXz5C8NER1pw==\", //MG\r\n \"ht_countrycodes,djF9zeje3vQzCUdg7pmWuahx9EgUiz57tTr0ntKmy/kWSw==\", //MW\r\n \"ht_countrycodes,djF85mT3KWjnFnKS623Y4PkJ92vQSghrhrmm9GYmqEw+hQ==\", //ML\r\n \"ht_countrycodes,djHqDYsoWwLIEuv3UUJLvbdosL2lKfkqkHtJ+TgIvm7sVg==\", //MT\r\n \"ht_countrycodes,djHOIroduH5DEZKbmc7l2fcfFBPdySmF0IwB+vuzhw6LZA==\", //MR\r\n \"ht_countrycodes,djGG7/N2SAKFJGfVVasid6hRt7PbFxQzvdLfYz/LPter7A==\", //MU\r\n \"ht_countrycodes,djH+9Up1uvAcCvqr43rr/aHaActGwGclPw6gTNdbR0wCdg==\", //YT\r\n \"ht_countrycodes,djEKwSF4J2u3J5D3JQzG1SJhTj3TMX8p9dK50zDcquQobQ==\", //MD\r\n \"ht_countrycodes,djHAho+ogWioYO6hz76IFO7LWgIT0Wkhy15uaG8DLm/clA==\", //MC\r\n \"ht_countrycodes,djHCqmrHbIQAXPPytfGc7VQpIYa5qqprNVYlGn/+LeMSMQ==\", //ME\r\n \"ht_countrycodes,djEof5r61W7NZXStHBNhnWplADiORK4nduMKA59vF5NYkQ==\", //MA\r\n \"ht_countrycodes,djEr9+JO3WCarpCPC6xkEk9K3+iptGXpVnfiUby/NBtAFQ==\", //MZ\r\n \"ht_countrycodes,djGnvlSTd6sc3B4JDrgf1Z61QJJysafdTFDPfo6AIqV6pw==\", //NA\r\n \"ht_countrycodes,djG4tNVPwJ0WdUt3DU4nOJjv+xwUJw6zC4FjP0iJseABOA==\", //NL\r\n \"ht_countrycodes,djEDht4FhRYzQ/pyGIB51ofnllq28Ge4+7w+O+To9SfO5Q==\", //NE\r\n \"ht_countrycodes,djFBokxo/45iwInZbkOVIicksd14T/ckaxTSk9X6AvGgrg==\", //NG\r\n \"ht_countrycodes,djFqx8waI3kaUvw1DZMpFcbq2mV5sZpv456G4V9DV+X/3A==\", //MK\r\n \"ht_countrycodes,djF1qTklwk2M+Yz2Z6fG25ptmImm9Z4A4v+aPD7StwMBFw==\", //NO\r\n \"ht_countrycodes,djF0KCZXgKiaDgqewXuuzUjYC/JZek2Klv3Z9Y0IPNupDg==\", //OM\r\n \"ht_countrycodes,djHDEYA82hMV+y38Ogt872y+Ejnr5TSPNaWoh1TkEzoJ2A==\", //PK\r\n \"ht_countrycodes,djHUN3ZNEVRSz2cH6d39GCTzRWdJPZiIC7sI1ubJcxOjqw==\", //PL\r\n \"ht_countrycodes,djGzkup2lOpvGV2E0bXNBIQr4XXHNE1skPZrIkdybGawbQ==\", //PT\r\n \"ht_countrycodes,djEseUtaELVvfTbnxGPNjXnwYPkacTAr280Mvej2YpnQTA==\", //QA\r\n \"ht_countrycodes,djH/u3qWQE3uMvskPAyYPIHM/T4ayV/hEa7AkplsgTWstQ==\", //RO\r\n \"ht_countrycodes,djFUOyrOpNpSkMPD4sMTM1d2JDqnfOT1ifgseNemzkVRAw==\", //RU\r\n \"ht_countrycodes,djGqAQbIwiRyLWFomagyMhbq+jNATEHnjdcev4jNj/mbIw==\", //RW\r\n \"ht_countrycodes,djG1KXt9Ti6h5pCUufzjEgBMweK1UwThh5csFUH7qRVcNg==\", //SM\r\n \"ht_countrycodes,djEo/0a907iIMHe7JDmljQjgwIxdWsJPQ/+5MKB5GUskqg==\", //ST\r\n \"ht_countrycodes,djEA47RH+2ec5XJ5RljLVP/lyGeS1z1SaVo26mqnKQMTaA==\", //SA\r\n \"ht_countrycodes,djHmstHIxMhvyBQprpX5gvEan+/KJzSYbWeE/pltYH5hUw==\", //SN\r\n \"ht_countrycodes,djHicWnowA1JItnnguqrvHhsuk49J5nwDNorECTCa2uk3Q==\", //RS\r\n \"ht_countrycodes,djH1DLDpLybLtPgFb32vrSaN9kuNR0MQp0IPCiIzHIjzHg==\", //SC\r\n \"ht_countrycodes,djGEkx9DIi5txuE1WCcEyzDKtZjBckFCWXR4ziKwUpIwhA==\", //SL\r\n \"ht_countrycodes,djFXU8jJX97KzZhGo1jlKa4zfc/GsrtzEqyxJv1KsAegyw==\", //SK\r\n \"ht_countrycodes,djG9i6faPDT6rRxjldE9yDd5xJKp6iB/KnfWwBDRP5WREQ==\", //SI\r\n \"ht_countrycodes,djGUV3oELWHdD5VYBkMJu3A5hWyapb0wyXRpe+hW19AYdA==\", //SO\r\n \"ht_countrycodes,djHSoEfOsp+0f/NupKMtudKgESf9jkA5V33cxFJFsARDzA==\", //ZA\r\n \"ht_countrycodes,djG9wFxUvReiiU6jj4KVFo+Ta3RHYlgVosydtrVLF/+ghA==\", //ES\r\n \"ht_countrycodes,djGzVwFHgm0LHDLXvSQRcoGKzRmU/wtmt/NpqOwESQOdzw==\", //LK\r\n \"ht_countrycodes,djG9+Au57hQ0QSgzbIfeHdmOgULVS1OKcwQ0W5GW95MI0w==\", //SH\r\n \"ht_countrycodes,djG3/6Ft8jXRu+NJUtA/+fYY+McqKW6S0AlYqww2g6ZOJw==\", //SD\r\n \"ht_countrycodes,djFWFp4WPEdM8vN6eBFh13nzh7j1UALICAC32WlMgGB/Kw==\", //SJ\r\n \"ht_countrycodes,djHhy1yiPm2Vmw2zIS3Sn5OEgUKy+ycftb5HASZfhhdm+g==\", //SZ\r\n \"ht_countrycodes,djGL4GOuRe1uoDeHWHYmC3xa+qAbkUAY5R+gYxUsgTe5qg==\", //SE\r\n \"ht_countrycodes,djFUps1n797/BcIVaXJKtgxoQfmlDV+tw0j2Mna3svjfJA==\", //CH\r\n \"ht_countrycodes,djE8gPkZJsGfHYMozlrIo0rnwRrnWwVlavplNIlr1pEYZg==\", //SY\r\n \"ht_countrycodes,djE36ogLmYDI2BB7tPXmFJrbbk3UTlEE5qGqcM10xZLkcQ==\", //TJ\r\n \"ht_countrycodes,djES9t8BuizU5qXy9N+Wk5bcfee2DPACnJFTBPTl6/KMgQ==\", //TZ\r\n \"ht_countrycodes,djEm62A9QRuFrHf5GbWx3NUI+Urij19LY5ve07+25hX+Mw==\", //TG\r\n \"ht_countrycodes,djEnAY+WJNPMEtvrMnE/wdpNziQDmqpQB1+3YNQ1anflug==\", //TN\r\n \"ht_countrycodes,djEi4QRvtKoQCK6eam9yn5i1ySGs0fxhkk1Jd5fHXmsgVw==\", //TR\r\n \"ht_countrycodes,djHG2/gqizy8XHYeEL2R3XlzinCV+m9iOw8WBntevMFgRQ==\", //TM\r\n \"ht_countrycodes,djHVlOm96nfSBTV0A0kaTNCYIoES06gRLsZ5iiNVqGyo7A==\", //UG\r\n \"ht_countrycodes,djHkaDr3R6OzBkT37buaLL/11v5MypwdHx+wk98rmnM3uw==\", //UA\r\n \"ht_countrycodes,djGJktwTQJwCzJ83pDpLW5oxuFGCbWShVEBHsMGhERaA3w==\", //AE\r\n \"ht_countrycodes,djE68m0ZLMMC32xt/1YzMnKffIHyLloD0ZlOIPEaSsLS8Q==\", //GB\r\n \"ht_countrycodes,djH1qu1/xDjahM5LHJwhqyvFIj9TdYYUrAEhbnVuCruu2w==\", //UZ\r\n \"ht_countrycodes,djFaXu9bud8c6CtpVTDEy4LBjauJibbt4nba5HTSrBIYaw==\", //EH\r\n \"ht_countrycodes,djEOkf0pS9fHXNBYUIOsRy4wGvuB54zucjact4F28K+feA==\", //YE\r\n \"ht_countrycodes,djH6R1qNriNM2EotHZXhHPykXtHK5MRN4VKGT+uy/Oma5Q==\", //ZM\r\n \"ht_countrycodes,djHBidGAZjY1JD6Ukgjn0jHyvES5ncXjZkh1bkRtpSWcDA==\", //ZW\r\n //OMAX PreProd\r\n \"ht_countrycodes,djGlzVajHxZlYDhrp6nso7hQGZm3urbLa9U/QDoPnGeL2Q==\",\r\n \"ht_countrycodes,djGbNVKOVfH+cMYvsqOm80kx26fJxbkuZTFvHhdHKkwiWw==\",\r\n \"ht_countrycodes,djG+usor2tJwCbf/nwj8I1fb0dHpPDNslm2MS4lcOhUnnA==\",\r\n \"ht_countrycodes,djE6jStoKgX6wY78MfSKXh/8IFCQrpGNyVvzhr0H2oPKBQ==\",\r\n \"ht_countrycodes,djErfsUXBK1DIEkI3fA1ScLp+492n9IQIXLLkF/syytikA==\",\r\n \"ht_countrycodes,djFV9hIQi4Ko6MWKD9Mb6so6yswJTXUYMUAHTHd4OK9XBA==\",\r\n \"ht_countrycodes,djGiOXDz/1nflSiXTqFNiLutXL4zPxZOG2twc2JE/0wbgw==\",\r\n \"ht_countrycodes,djG5tN3JecAt4vyO90UIrDW2cV09tB6S0VwZciCGWUHQ7Q==\",\r\n \"ht_countrycodes,djFkjzwdyaRJ8ckU4ruPc4Z/pcz1QRwn7KzYlyZeberpZg==\",\r\n \"ht_countrycodes,djECAe+vJValRTKbRWYYKEKGmqQgDv6sstSjQkJzVak/GA==\",\r\n \"ht_countrycodes,djEjGqQ0JlbzFSfKQQyWbseT649UPGzqZY8UKdoDnlXFew==\",\r\n \"ht_countrycodes,djE+5c83YGpOvxdxzA/fC0jvZs71TAB/rF7KCoYdz+xQAg==\",\r\n \"ht_countrycodes,djFwISPPSL9NUSgAPDPHtbxirxQkugoeTYLMddfyHGRcWQ==\",\r\n \"ht_countrycodes,djHJV/iqM3XP/YrEgSKV6TdYli69D/BbEV668i0ETAVC+Q==\",\r\n \"ht_countrycodes,djGn9rHfK5rkZxFFLvhfDzqdvhCPKtczWrT3HwLW90tDLQ==\",\r\n \"ht_countrycodes,djGH0d0rYQml0v/HfaSx3dzeFgGt9eCrAngjAYmA6ikf4Q==\",\r\n \"ht_countrycodes,djH4Jx3tBa91sJJVKwavswAqQYBFf9UmhPBGTV96iQ2pFQ==\",\r\n \"ht_countrycodes,djGViOw+jYeEElSRfnXCZVohLKcwoowlGdwGpwKOUythVQ==\",\r\n \"ht_countrycodes,djHtfSs1simIeHI8hnKo4g1jylgg4VRS63yPxop2eD8lgA==\",\r\n \"ht_countrycodes,djEG/Qstx06Wj40DdAWfx8dC5ee0PjfuOzb0gTIU0ezMpA==\",\r\n \"ht_countrycodes,djE22uo3qeYuo1p3ofyG8SUqpHMwBhLt2+3RZrsLQ6QAtg==\",\r\n \"ht_countrycodes,djHUv/jT5W86nnxGPAwfN24pvLYHqvFdKbiNvn2MbQxZYg==\",\r\n \"ht_countrycodes,djEZQzOKoVnpEWXt2ASYqtXpsfAjCYav/WOJoQ2qpojU1g==\",\r\n \"ht_countrycodes,djEUMyqtzgEzVYstxrrWAsuS3yMgDS0eOx5Bc7dTNlgkoQ==\",\r\n \"ht_countrycodes,djG+KXfyckgatSo6kZMSe6po9UJiev9N2n4fSJePKjCFRw==\",\r\n \"ht_countrycodes,djE6ectOByeEpWCshlBdhV8PJHaq+jhYrMJj+Ue9xoOEfg==\",\r\n \"ht_countrycodes,djH7u4URYVsTnNlBjv0XFehxwZ6XAaMXNmFA1j6jDsYB1Q==\",\r\n \"ht_countrycodes,djEpMeXqjPvCfg9oIeMYSXBAF3m7gcKvmgBuCLmM1CnCHA==\",\r\n \"ht_countrycodes,djHMGjWW16kcqq/jGYbPCmhOrW1350/3yIANSbHbmnuPsw==\",\r\n \"ht_countrycodes,djE0rKsdYQOBGy2SGnirKp1c1/a6Khlznj5FtndLTevjqg==\",\r\n \"ht_countrycodes,djHNn5UhnUm3dyiauHA1F78/kgU5oCR6b7ZHIyAZDhOmWA==\",\r\n \"ht_countrycodes,djFL3StDoWO6wzcfuMkgkdD0ITAF2Qor22ihwoULujqx7g==\",\r\n \"ht_countrycodes,djFrsadaO+V79LkYJyYAUGZlonFk2umx26vdzIkbLvUEew==\",\r\n \"ht_countrycodes,djHMTtpTrO0TSJDmFBk8rq4axFuAtFJTdLDgVFN6Az9khA==\",\r\n \"ht_countrycodes,djE68FQjWswVLLwps/MF1nk4JE0TKnLDDI/AkjS+MHcpGg==\",\r\n \"ht_countrycodes,djEd+kbqVtiOk9dRprHi5DY1wMJ7tDZkmzdcYZrKVYuVdA==\",\r\n \"ht_countrycodes,djHM7iiuz0Mkqj+gnES2+QrEKTQdln0oR3eJVQ4c8GAsCg==\",\r\n \"ht_countrycodes,djFYdoEZC8ZKMgFlFVa0KmgMifuKG/CHdojXNeRFB/XlmA==\",\r\n \"ht_countrycodes,djEVUEjVkcIhBJQsZUf4auNyxsQJhd/mapMSnFOZTHht4w==\",\r\n \"ht_countrycodes,djHk5N9ksCG4GITOW5cRi/gTPNfyQ3m9/Igdg0ikbwgLRg==\",\r\n \"ht_countrycodes,djEVPkTWMBFQMkOoLxccNMIPbeXZeiroOXsKulhy9fDiPg==\",\r\n \"ht_countrycodes,djHNzfUb4BX2E4qBTTFfVoWJKW4W6BORwXc62DF9GIrMmw==\",\r\n \"ht_countrycodes,djGBm9eFfO3mfNKw2fMqkNQHFZZExnEdFLpJCEHatSkPWQ==\",\r\n \"ht_countrycodes,djEtGw+GAsRmrLmVM19IAxz367xRwgmMT2thEGWeTnhJfQ==\",\r\n \"ht_countrycodes,djHDwjFaqEeZQuMRZ5UXwOS5MQ+fImeMJc8fP4rUhewP2g==\",\r\n \"ht_countrycodes,djHjt87zoqFEkS32Sk1yfOgJGA5W+GzFcMOHLT6v0du+bg==\",\r\n \"ht_countrycodes,djFo5ceO9Xj8btphZouwltOljTMH/vLJzvmCgoE9DptrDg==\",\r\n \"ht_countrycodes,djFB6WiM6e5Weuy8eLzJJo0oFKnT3k33xEPbbh6ym5Sx8w==\",\r\n \"ht_countrycodes,djFpi4/j2OP/n+9ppaSWnPIFzQ5KOP0KsmjHRucXaLlZGA==\",\r\n \"ht_countrycodes,djFX/cc50KHVa0lPkksEBIFtRhS3wcmZP/aY7+toSFvPHw==\",\r\n \"ht_countrycodes,djFYvzjLlQ4LzO5oomFycjMJpKax+J6KQi2DSR5zFclT6A==\",\r\n \"ht_countrycodes,djHFnC3gHNTxEembGq/A2S03UlBO0L2Ev2fPhCa+QkEZZA==\",\r\n \"ht_countrycodes,djHsPJYUhBBAQcSUMXa3hoZ+nnIOLt4IUmAIjqd0tLRriQ==\",\r\n \"ht_countrycodes,djFkM7jLatKAh0Ap8dt56Jyj7rMUeO0uPbJr3GrYI4RPVQ==\",\r\n \"ht_countrycodes,djEyL6qxi4E2hUfH+4uG+Upe4XEImI/H693pKgm2TPtgCA==\",\r\n \"ht_countrycodes,djFWAsqA/LHajnCTokqaYoN9yjRx6xf23Mp4HgnHBk8qBQ==\",\r\n \"ht_countrycodes,djEtvwDYuJoVOf/6eOYemeoLYCYQqnxGfueZ0ZxrfOqqZg==\",\r\n \"ht_countrycodes,djGLlLn2dk7PEgmdXHdzvGCkHcVTIa17yeCB4zQwTWebxw==\",\r\n \"ht_countrycodes,djG8c2mTdfIjhddHS4UL6V6FgX4wG0uwzX3O+hHYFkfZGw==\",\r\n \"ht_countrycodes,djF/9P77BHrdvpby8xLq8DNfZDSPT4FuXkBr7T5WrV9/kg==\",\r\n \"ht_countrycodes,djGGu5uFSCoCPEeLrRQn5bsgk70em4+iE+eU+ivjhB12bQ==\",\r\n \"ht_countrycodes,djFHwdWYO0ZGQ24zOzdYUZxTHfdFNhqV/gxMrK9xGXEb7A==\",\r\n \"ht_countrycodes,djFUA1XGc299ZnpQTaVd4N1ZEZxmC7/2VKoM/FxgYi8fvg==\",\r\n \"ht_countrycodes,djGWHEyRoEmwtvgtbD3Yq03Xkb472L5lJIvuYq31qUIobw==\",\r\n \"ht_countrycodes,djGSw8gJNePNLFEHrJs0EYMgll3dN+oawfXc0uCGn0wt1A==\",\r\n \"ht_countrycodes,djGPRcJnsj4ZxEVurPza+NKYj0fTJWIcBOEhH/t96NPg5A==\",\r\n \"ht_countrycodes,djGt3UTBdYOw1veI2y6Ebw/K6Bs47W4XWUJ/ku4kB4KA0g==\",\r\n \"ht_countrycodes,djG7AW6AjQsH3NdGqHActB6tmvN58tExhbk6JnPdykHWGQ==\",\r\n \"ht_countrycodes,djGKnB0cKCGV6LwJ4J5mn9M1qoaFt10i7YehxJpYTdr7VA==\",\r\n \"ht_countrycodes,djFibcS1fAq4ELdjtckuGLsvS8YC+z3j2grS/La7qRCh6A==\",\r\n \"ht_countrycodes,djHbZYcE+PgF8XhixhLqvbmOX3YClEZUcnORTETnpv2zkw==\",\r\n \"ht_countrycodes,djFhsjDYLqrfId1zMA/xphdLNTn/KpNopWXvgPWaI6HmZw==\",\r\n \"ht_countrycodes,djE75SIB19MKK9uCO+hK6llaXEHB0Zl+McHx9eGmvMhdew==\",\r\n \"ht_countrycodes,djFPujUy5DxRBp/J7zECf6OfzEPswIhEVPbDVQWBosA76w==\",\r\n \"ht_countrycodes,djEz2fenOP/xk2l+9mxZB3WTJ8MiKsTsGlNzppoa8MYCEg==\",\r\n \"ht_countrycodes,djGrWypAbC36MYxMu4bXv/etsyzMD5Jv9XVJgHQJxBAJPw==\",\r\n \"ht_countrycodes,djFvE7Xs9BcoRI0n6a243vq9xHjW/+oszOHDj95ePOR1ug==\",\r\n \"ht_countrycodes,djGeCtF+qh77lKiUXKf7LAMMUeV9d3oyqG0Z101VTnVnmQ==\",\r\n \"ht_countrycodes,djEZ/LlKzbCdnzpfxuIJHFvN1lSgJ2fjDWejOqKou93tJw==\",\r\n \"ht_countrycodes,djEqEW2PdmvQELP5aD6PzEt0r+4YcNJi4aLlr975wgVboA==\",\r\n \"ht_countrycodes,djGvNr5YYSpWyTSke3y6wGTtnKyBvn3IMHk8K3gjXPnFrQ==\",\r\n \"ht_countrycodes,djEQnxf63Vdha/zuXzXk9Mp9CDBQKD/daEgwrDg6kZqEXA==\",\r\n \"ht_countrycodes,djEea5atEKBeQfLp5bUeckqLVbWD16f/4QXfx7uucfYd5A==\",\r\n \"ht_countrycodes,djGp/DU6LXDmsX+R4sZ1kT2jy/V841BwkMVYEOybjHYcmQ==\",\r\n \"ht_countrycodes,djGChj5lLYBGNk4iGwWBHjjAh8Sq5syFGBesgwmb9TIcAQ==\",\r\n \"ht_countrycodes,djH2W+Dw04pMRTMt0AWnXOAPsJyt+gDt16bleiaRndw5Pw==\",\r\n \"ht_countrycodes,djFoGxiXK08kFSlasKv8aM8ZOsYnVWAjmfHzy4mpEEFlUw==\",\r\n \"ht_countrycodes,djHqn1lkJ900oysdRJlmUdBvKn37a44xr10V3e8BCH1XcA==\",\r\n \"ht_countrycodes,djHnyJFPsEimgGWmHfPuKvrLTFn7cGKeBYui6s2kqsjWww==\",\r\n \"ht_countrycodes,djEnHVuAsDH5vSbnnNw8gpmaHSWXxwH+Q7lE0TxbGvabPA==\",\r\n \"ht_countrycodes,djE9ZBYwhYg9qpgi2C/AHfSQwX2B0HFLd5Da66YJTqqXyg==\",\r\n \"ht_countrycodes,djG6bChhoFlMQNjJjSL9mnbxhaCrzpL5nE3vUs5Z8PtNcg==\",\r\n \"ht_countrycodes,djEOsRIGSENspvw3YFQsEhdGgcSKyvU1wa3fL3RuGP79ag==\",\r\n \"ht_countrycodes,djFUqEsGXCF8WFMY2wq+YYK4D8vFDYq3Xkj8SzIt5Gnq/g==\",\r\n \"ht_countrycodes,djFno15iUk26BGMva6fau9i7s5/OJLZqa5JUxuq/WX+TPQ==\",\r\n \"ht_countrycodes,djEewAb6pe1h0Aw/LcSNylXXBdzaO1XhDW6ujchfWFJZug==\",\r\n \"ht_countrycodes,djGk1s8gXrbu0Mgh2ZvXYMorNo/ThQPlvUchYNhfzt/ztg==\",\r\n \"ht_countrycodes,djHr7nC8a/Lj/0SNzxS+gP8FnqfIaiTVqAAQWayHnV8IyA==\",\r\n \"ht_countrycodes,djEhFQedT7EeSJkEJHEkF+QYJKwEzfLodtdp8eIOqtOE2w==\",\r\n \"ht_countrycodes,djHxRptu2WJ3C8mQZatmEdZGopSwEwULFps+MfozSLT0Dw==\",\r\n \"ht_countrycodes,djHLzdYV3hn5/NHd88MaAmFP+PJjmX2fITMA92e1mdENkg==\",\r\n \"ht_countrycodes,djH3TYnhqnzrdgteCgE5JRPy0vy5n8fACUSmzGxYL0ryUw==\",\r\n \"ht_countrycodes,djHg33Rba05qua87igcAqDm17xNfTYnLV0o8/SxAN95/+g==\",\r\n \"ht_countrycodes,djHI3kmpvYxQhZ/qBECrlZ6TFE0eCkR+s0gNjIUecj7spQ==\",\r\n \"ht_countrycodes,djGMcn4racuKzxVY+zbAHN1DcfWTT8dtkWjJu80GQ7m4Kw==\",\r\n \"ht_countrycodes,djH7BwRiyai1Ql8BN0ctuuaz7H4YcxSp5MQk5YvMDKDgCg==\",\r\n \"ht_countrycodes,djHrITVJcSP0jqyv6lHK+WdKlYzyF3Ig0n3Kej+49IVFIw==\",\r\n \"ht_countrycodes,djE/uVuBWnez+TJKlUWhlYIM3qDVZsraSYASth+crTDppQ==\",\r\n \"ht_countrycodes,djFwjZUAtttLHqsY8je9mBoYJDJHyqqHb+1bJvthBZbu4w==\",\r\n \"ht_countrycodes,djG5WLfv23vTYrIqV8tW2x7SIhxvEKQ09jk7wOEcGurkLQ==\",\r\n \"ht_countrycodes,djELAIMQUEREbQvA05uy1k+wkrpdtIeTnfCovJR522D0qg==\",\r\n \"ht_countrycodes,djH+pvUGn+LHA4PD3/ag2F8Df3Dy46VCGQHusA71V7eEsw==\",\r\n \"ht_countrycodes,djFhvKOPBlhzR4Jjv5BfRxme3dkY16P5yPX2O9NKujUiSA==\",\r\n \"ht_countrycodes,djHreYGx4TYrx8t8wkyOj8uaopjUjYwMIrUUGsGjwMnMPQ==\",\r\n \"ht_countrycodes,djFL+HI1qm8zt4yEBkrR0bSD82uh7/fH5iSIe6nNLv0jnA==\",\r\n \"ht_countrycodes,djFtXZYGZVQA5ebQGQKF8sjzA58moJW1OdKDrr/jHHvF+Q==\",\r\n \"ht_countrycodes,djHJB0HzwIRDKLDvlD7A13KkvpvRh5k9KGQ2fRqerhsAOw==\",\r\n \"ht_countrycodes,djHBtqvKHUPkGl2Wfd/gH5jiBAqRDqWhhQrSyrTzImx7BQ==\",\r\n \"ht_countrycodes,djHhebkkf0gtmAYwc9L2Cn+hnWYmQZk9MJ8Ga0wBURydtg==\",\r\n \"ht_countrycodes,djG9STkWhwzE7rh1BBp6WoS+YR4iPJSIAFMHozMUS/tWWg==\",\r\n \"ht_countrycodes,djE0Jkvn6VPu4+sUYfnwcL3I1Ut5N/vg8i8qMNNjW7BShg==\",\r\n \"ht_countrycodes,djGflwHKXY4/c8w6/xWhW299IhO0TpdN7YfBCai+WXg15g==\",\r\n \"ht_countrycodes,djG/NZI+l6Jpd+tgDZUBlMbIevBheYdqCUXHfLFPD5rNLA==\",\r\n \"ht_countrycodes,djE4jesHUOEvL3wsAWCFIU4Se/X4zwm9ZW8ZnR2+855qEw==\",\r\n \"ht_countrycodes,djFuiHnu6MxDuQ618cEaTPRwPCyw/UCNTwDF4Qp8sNNBwg==\",\r\n \"ht_countrycodes,djFm0U9SmKiqsUOjq6aAdbb70i7V9Vqk4dYodQDW1u364g==\",\r\n \"ht_countrycodes,djGTwdFvjzLomLIBlC/IdgS8MI7P/nxDEPV6EJYFdHEaNQ==\",\r\n \"ht_countrycodes,djEgkeUO1dLIm7x80WFdUilCDZcTUwCwEvnsCTYCEfqnxw==\",\r\n \"ht_countrycodes,djFe9uaRHEMv4Zs1oJsO7Ndo5VTbNqJ5cj6Y0MxyVVG45Q==\",\r\n \"ht_countrycodes,djFHAV4nb12kM/+14Zrp20hzmKSivkXyUFUSOrRxTb26Ag==\",\r\n \"ht_countrycodes,djFucTxL52x1fd/SjhTv2TSvs3gKcaz2oCXebmXvGKTAVw==\",\r\n \"ht_countrycodes,djFGCWu/qSlbHcW1BX994GOf07jr5Fm3lNVQOdt1gTQTLA==\",\r\n \"ht_countrycodes,djGdVYrl4TWQYtSYvtwIEkf7X1LO6aTglaVSKF+btY7+JA==\",\r\n \"ht_countrycodes,djERAdaEAjAKhtOuONaQg+9m5Jidm0NLT7YkjShgQ94p0g==\",\r\n \"ht_countrycodes,djF2zqcgpuuhdHpfswnwdx4uI1k8cSAy7lErfm1Bk0Bxgg==\",\r\n \"ht_countrycodes,djHDIdLEMnXAhwv2O1ctESfIfak70xlGK73+GsKyYR7aCw==\",\r\n \"ht_countrycodes,djH+m7M4l8g/i1w1UuoYyr4bWIOPeMdUgIiYwEsFYlMwWA==\"\r\n];\r\n\r\nconst showCityText = [\r\n \"Australia\",\r\n \"Canada\",\r\n \"New Zealand\",\r\n \"United States of America\",\r\n \"Afghanistan\",\r\n \"Albania\",\r\n \"Algeria\",\r\n \"Andorra\",\r\n \"Angola\",\r\n \"Armenia\",\r\n \"Austria\",\r\n \"Azerbaijan\",\r\n \"Bahrain\",\r\n \"Bangladesh\",\r\n \"Belarus\",\r\n \"Belgium\",\r\n \"Benin\",\r\n \"Bosnia and Herzegovina\",\r\n \"Botswana\",\r\n \"Bulgaria\",\r\n \"Burkina Faso\",\r\n \"Burundi\",\r\n \"Cameroon\",\r\n \"Cape Verde\",\r\n \"Central African Republic\",\r\n \"Chad\",\r\n \"Comoros\",\r\n \"Congo\",\r\n \"Congo, The Dem. Republic Of\",\r\n \"Côte d'Ivoire\",\r\n \"Croatia\",\r\n \"Cyprus\",\r\n \"Czech Republic\",\r\n \"Denmark\",\r\n \"Djibouti\",\r\n \"Egypt\",\r\n \"Equatorial Guinea\",\r\n \"Eritrea\",\r\n \"Estonia\",\r\n \"Ethiopia\",\r\n \"Finland\",\r\n \"France\",\r\n \"French Southern Terr.\",\r\n \"Gabon\",\r\n \"Gambia\",\r\n \"Georgia\",\r\n \"Germany\",\r\n \"Ghana\",\r\n \"Gibraltar\",\r\n \"Greece\",\r\n \"Guinea\",\r\n \"Guinea-Bissau\",\r\n \"Hungary\",\r\n \"Iceland\",\r\n \"India\",\r\n \"Iran\",\r\n \"Iraq\",\r\n \"Ireland\",\r\n \"Isle of Man\",\r\n \"Israel\",\r\n \"Italy\",\r\n \"Jersey\",\r\n \"Jordan\",\r\n \"Kazakhstan\",\r\n \"Kenya\",\r\n \"Kosovo\",\r\n \"Kuwait\",\r\n \"Kyrgyzstan\",\r\n \"Latvia\",\r\n \"Lebanon\",\r\n \"Lesotho\",\r\n \"Liberia\",\r\n \"Libya\",\r\n \"Liechtenstein\",\r\n \"Lithuania\",\r\n \"Luxembourg\",\r\n \"Madagascar\",\r\n \"Malawi\",\r\n \"Mali\",\r\n \"Malta\",\r\n \"Mauritania\",\r\n \"Mauritius\",\r\n \"Mayotte\",\r\n \"Moldova\",\r\n \"Monaco\",\r\n \"Montenegro\",\r\n \"Morocco\",\r\n \"Mozambique\",\r\n \"Namibia\",\r\n \"Netherlands\",\r\n \"Niger\",\r\n \"Nigeria\",\r\n \"North Macedonia\",\r\n \"Norway\",\r\n \"Oman\",\r\n \"Pakistan\",\r\n \"Poland\",\r\n \"Portugal\",\r\n \"Qatar\",\r\n \"Romania\",\r\n \"Russian Federation\",\r\n \"Rwanda\",\r\n \"San Marino\",\r\n \"Sao Tome/Principe\",\r\n \"Saudi Arabia\",\r\n \"Senegal\",\r\n \"Serbia\",\r\n \"Seychelles\",\r\n \"Sierra Leone\",\r\n \"Slovak Republic\",\r\n \"Slovenia\",\r\n \"Somalia\",\r\n \"South Africa\",\r\n \"Spain\",\r\n \"Sri Lanka\",\r\n \"St. Helena\",\r\n \"Sudan\",\r\n \"Svalbard/Jan Mayen Isls.\",\r\n \"Swaziland\",\r\n \"Sweden\",\r\n \"Switzerland\",\r\n \"Syria\",\r\n \"Tajikistan\",\r\n \"Tanzania\",\r\n \"Togo\",\r\n \"Tunisia\",\r\n \"Turkey\",\r\n \"Turkmenistan\",\r\n \"Uganda\",\r\n \"Ukraine\",\r\n \"United Arab Emirates\",\r\n \"United Kingdom\",\r\n \"Uzbekistan\",\r\n \"Western Sahara\",\r\n \"Yemen\",\r\n \"Zambia\",\r\n \"Zimbabwe\"\r\n];\r\n\r\nconst showZip = [\r\n \"ht_countrycodes,djE2hsu6jH/42yyW0KXUowk/mxbYD9VdWj67E7mq+Keriw==\", //US\r\n \"ht_countrycodes,djEGcf1BugHS+1WMWCl/3vIqX9U46LGEWfqmzbSHGMx6Mw==\", //AF\r\n \"ht_countrycodes,djF9XTPALL8hRAC5HvwBFjT4linrsf7V3nK3YeRi4YQW1g==\", //AL\r\n \"ht_countrycodes,djHQbdQb2P1QrUlDFHrVvHQ/P+LlvI6zWqvuIJg83090OQ==\", //DZ\r\n \"ht_countrycodes,djGvCJmA03e/rj5hOrVVOQWf6/VB1t1W6Qt3S0knFkQMeg==\", //AD\r\n \"ht_countrycodes,djF/Zps0PXg5WSRvgZ1ywW8oYBdkNJB9yN8zBFkMYUXoRQ==\", //AO\r\n \"ht_countrycodes,djGTq51an6APfWyqBNQ3NyKJBCwMmvGLi4Dqbfx9r0QfPg==\", //AM\r\n \"ht_countrycodes,djF5fRLtMARWMJwXbAJY687TiYi+VBGxj3+m5AcSKfplcg==\", //AT\r\n \"ht_countrycodes,djFYTi+Ob8Aqt0AUJlDFq2fVeqOhkKhYh2dJ6C3WiWhdPg==\", //AZ\r\n \"ht_countrycodes,djE5V6hlTFsqNoCkms/ttxdplOETZxoW3XOTexwijVF45Q==\", //BH\r\n \"ht_countrycodes,djEp5kPbAW7o0HNctTXCYnWmZZFaLpJLk9/d2MZmwGmI3g==\", //BD\r\n \"ht_countrycodes,djHR29H/ojFs9DbZ6OIv8ag4VL87RWyjztlsJKfxemmHfQ==\", //BY\r\n \"ht_countrycodes,djEvK+Lh21xCHlau3+PkxJusKcbs/9E+BTTOi/rX9XsW2A==\", //BE\r\n \"ht_countrycodes,djFYeEk6deGYXsHtRdryruAP2UoWATYlcXDr57RnyS5i7A==\", //BJ\r\n \"ht_countrycodes,djH7z8CgpfGdV/8QZzy7pnzsyUh/RQcf4FxiOdlfBpw6NQ==\", //BA\r\n \"ht_countrycodes,djF0N8PV9IXIJpG/+dyRSBUK50GqRutlmCkmJlX4gFFV9w==\", //BW\r\n \"ht_countrycodes,djFzauVFhIvlfrL+lALf7sIxppv9GDM1wcAPTZ9OAbavtw==\", //BG\r\n \"ht_countrycodes,djFoZxxC6fOSB3JpbyUk30sJxg1RM7tjC7f3eO4JZuGNSg==\", //BF\r\n \"ht_countrycodes,djEJgaWZFHGrPWWGEQvvf8TSopONrMH0BTbKR0vcxOq3hA==\", //BI\r\n \"ht_countrycodes,djGZqQOaUsEwVqDmnRd+q0+sq4SL3kM/eDv+gWzSLVD1Fw==\", //CM\r\n \"ht_countrycodes,djFNfzioiRwAEoxY6NYR6xXZtF1eFKsAlsiLFxQDIjDPHw==\", //CV\r\n \"ht_countrycodes,djEraWo58prpJ6jWtlb3/d9HB8Yr30DdZDB0jcPEaBlUsA==\", //CF\r\n \"ht_countrycodes,djHDq+TzZ9CKJ77sUbo9UuRiFfXpFwUR6Qs8SVgDxW8JJw==\", //TD\r\n \"ht_countrycodes,djHmJzi71jOH2kWqbOjIsMjf+afZ+os4CF4J2x2qb3KLxw==\", //KM\r\n \"ht_countrycodes,djGc9WZKVAPwISELkPdnBVLraYVzS4wrj0FjfAtTCBdcAQ==\", //CG\r\n \"ht_countrycodes,djHXmXExPuh8OPuECjEkkfURG3pXmX10p3WD15dCfnmxRA==\", //CD\r\n \"ht_countrycodes,djH9ZX0iJBzjY6uZEpi2y9Nzh2M8K9CgHATTFox3csuI5Q==\", //CI\r\n \"ht_countrycodes,djHRCVEGi7Gh8gcqTPdtIBFHWCZp2W4BGd/K1EwV3V5kxw==\", //HR\r\n \"ht_countrycodes,djGzCh4lOPcimetuQi7oIPFmogrxzm+UJt4Dl5UbVxEK/Q==\", //CY\r\n \"ht_countrycodes,djHsU3q+U/5yL9Fo7HmIoE4ekk9MJ66NLGvmRosdeomAog==\", //CZ\r\n \"ht_countrycodes,djHeXwxp212sa4v17KU+bz7rr/3fBwrEZyyLpkAet8kNmQ==\", //DK\r\n \"ht_countrycodes,djE4hwHN2ibbC5qWx7UqjVYUUosWlbjWDX+MMdRix1aPhg==\", //DJ\r\n \"ht_countrycodes,djF61ilk857TbBY8SgGnFj8ye1bJzjd4bnlyhu3Z3fE5Nw==\", //EG\r\n \"ht_countrycodes,djGYoayD6IzfyxIq53VTV2UAevcUSjNmgCTJ7WvSYKB7jQ==\", //GQ\r\n \"ht_countrycodes,djHP2z/qiGE/fOMHoWsm0lWSQwKVTTzNihev3QmmGRncmg==\", //ER\r\n \"ht_countrycodes,djESXjt/o2HAWdlZHehIdlYVCHnrIVAtTplqewQjMXdfQw==\", //EE\r\n \"ht_countrycodes,djHqBkrGinDtiCFgfnS/zJGCFVXee0Q2xZ+PmNEqPiGU+Q==\", //ET\r\n \"ht_countrycodes,djESP09Ff4t0qs+aaJAsvp6Up94S4DE82UJ+1cqRo9co4w==\", //FI\r\n \"ht_countrycodes,djGbSwKmA8X7T7tv51OgzfB3uZSiQP+mE9Txb37Ewu4Eqw==\", //FR\r\n \"ht_countrycodes,djEeEtUvawPFK1bTWW+kyQaEFZmw5pEIeKnQfOQ7GxWktQ==\", //TF\r\n \"ht_countrycodes,djHWXNcltlww3sNX56hqCOD8R9FBJIjkxr44V1RAoiJ9hw==\", //GA\r\n \"ht_countrycodes,djEZMP5BR0ddiaHvZKFegQMhqKC/IYyFojiMI6t3/yZY8Q==\", //GM\r\n \"ht_countrycodes,djGyqeMdhJJv77fhDMoRYWWeHPavwYnFtKnq+WlWNbwxVA==\", //GE\r\n \"ht_countrycodes,djEZsM61ImCVm6GPSA1MfpSxpPJesfUOXhE9+MvB3MU5cQ==\", //DE\r\n \"ht_countrycodes,djEvroCOD0jhVPVnSwmVLYY0KQnbjpW2R6wIwWMajKKelQ==\", //GH\r\n \"ht_countrycodes,djHG8/k4unCbpEe8HU64WWZSkvtRP3UMCdP6rFpkAK1ANg==\", //GI\r\n \"ht_countrycodes,djHYn38d0M3Mr7nxu653GbXtNrN+yRrsYwc63aMAZb/ntg==\", //GR\r\n \"ht_countrycodes,djHgFt9sDICC2wwJ8QFx9CrfYx5kRIUR7g+KNnRoOkvCEg==\", //GN\r\n \"ht_countrycodes,djEym7zGGCrU0DnFVdUBeYrybtIgbDAySqnU79OSBGqiVA==\", //GW\r\n \"ht_countrycodes,djHQNZ0jC7vBwlkVyW4XEsm+LjpWt7x59AJZrU/TM1G7Eg==\", //HU\r\n \"ht_countrycodes,djHRpJrUaa+gUvjJvXNgq1M4r/ANsIlEiEUW/aCY682gOw==\", //IS\r\n \"ht_countrycodes,djGuOSNMdGVV9comyQ5ouR6LM9/X0zDFWaYC1lrUsM6Ghg==\", //IN\r\n \"ht_countrycodes,djE75b7uYX59s/bHNQFQmS3DxQ1B39ju7YrbqLR06QSC9g==\", //IR\r\n \"ht_countrycodes,djE7buJP+v6Y4vXGK+9wi8gIJo/8w6hg9Gj0b+L/Tpa7Lg==\", //IQ\r\n \"ht_countrycodes,djGcPRrBA3dseOYOjiBmb5YZEFUzAKCdB+8ReQ7SM5Oiww==\", //IE\r\n \"ht_countrycodes,djFNysoa5iYEZqOtWSm7WD77qsL8mn3uRIkM4kxgiCXVxQ==\", //IM\r\n \"ht_countrycodes,djH/RgCpVjFny1kvdxNCioWQTsvARq/ioNZ4r6CzQ2D+GQ==\", //IL\r\n \"ht_countrycodes,djHtnmSQ78XLICY6ABNMHDJp338vUZF5OUy92BRHpXHBiQ==\", //IT\r\n \"ht_countrycodes,djFmYCKExW3PsegtjR8YiGTzewEpa/lnIP4D79CcNpGJkQ==\", //JE\r\n \"ht_countrycodes,djGf0yBiWYpSF0rXdhUur2Hqcv9UR6VpCHiyxf3PzlCM6w==\", //JO\r\n \"ht_countrycodes,djHp/uMvhsxA+NMFGJC3WS35ctIjxsgETFtc7Z4jf0309g==\", //KZ\r\n \"ht_countrycodes,djFT4agXcTfYzLu7y5j6/hiU1Dnf7J4oM/ZBSadIG+x7EQ==\", //KE\r\n \"ht_countrycodes,djGoWW8rTHuryETSsetJNxzhTNZOph/Kzl7K01NTgDHiGQ==\", //XK\r\n \"ht_countrycodes,djEC8mGz/qwXevI1doeEdu9f9FZy5FQjP7NWn2aZht0YAA==\", //KW\r\n \"ht_countrycodes,djHYzvbMO4GhhqElG5K5Wy5dYsvw0WY9+VWqFGil8MNYfA==\", //KG\r\n \"ht_countrycodes,djEXSOaKkau6yvpv1//jtCixpPfwDXUG6pJtlW3ymgpVrg==\", //LV\r\n \"ht_countrycodes,djH6Y4z5iyVgxKjTjUOVhujRuOrRmgf81h/qDFjIYbRJ6w==\", //LB\r\n \"ht_countrycodes,djHd6QRK8e8VGegGm/YhqkH+Nivw11IVR2aLAha5OeeezA==\", //LS\r\n \"ht_countrycodes,djHvAJI5ZVEoJ+qDUZ1Yv+dCHTNU6byqz0cFiYOkwleE6w==\", //LR\r\n \"ht_countrycodes,djGrYYxeLI+2J0bs2f5Blwuu4kfByhIZ3/XVAF/w8NzigA==\", //LY\r\n \"ht_countrycodes,djF6IVZYXXmxSbMzfLE1ZUt6nne8DyBy9edc8w9a5fP4qw==\", //LI\r\n \"ht_countrycodes,djGXh8Q2Xm0/i+NBRBr6Bez+Bq3VYSk+h3DtP4F+gwOWhA==\", //LT\r\n \"ht_countrycodes,djH646vaAn/DMECDW4FNsxJHMSdQJE30Iion/Vn315m8YQ==\", //LU\r\n \"ht_countrycodes,djGYpZfloTtqP9HotjG9g2QIfmwJ8viJfcVXz5C8NER1pw==\", //MG\r\n \"ht_countrycodes,djF9zeje3vQzCUdg7pmWuahx9EgUiz57tTr0ntKmy/kWSw==\", //MW\r\n \"ht_countrycodes,djF85mT3KWjnFnKS623Y4PkJ92vQSghrhrmm9GYmqEw+hQ==\", //ML\r\n \"ht_countrycodes,djHqDYsoWwLIEuv3UUJLvbdosL2lKfkqkHtJ+TgIvm7sVg==\", //MT\r\n \"ht_countrycodes,djHOIroduH5DEZKbmc7l2fcfFBPdySmF0IwB+vuzhw6LZA==\", //MR\r\n \"ht_countrycodes,djGG7/N2SAKFJGfVVasid6hRt7PbFxQzvdLfYz/LPter7A==\", //MU\r\n \"ht_countrycodes,djH+9Up1uvAcCvqr43rr/aHaActGwGclPw6gTNdbR0wCdg==\", //YT\r\n \"ht_countrycodes,djEKwSF4J2u3J5D3JQzG1SJhTj3TMX8p9dK50zDcquQobQ==\", //MD\r\n \"ht_countrycodes,djHAho+ogWioYO6hz76IFO7LWgIT0Wkhy15uaG8DLm/clA==\", //MC\r\n \"ht_countrycodes,djHCqmrHbIQAXPPytfGc7VQpIYa5qqprNVYlGn/+LeMSMQ==\", //ME\r\n \"ht_countrycodes,djEof5r61W7NZXStHBNhnWplADiORK4nduMKA59vF5NYkQ==\", //MA\r\n \"ht_countrycodes,djEr9+JO3WCarpCPC6xkEk9K3+iptGXpVnfiUby/NBtAFQ==\", //MZ\r\n \"ht_countrycodes,djGnvlSTd6sc3B4JDrgf1Z61QJJysafdTFDPfo6AIqV6pw==\", //NA\r\n \"ht_countrycodes,djG4tNVPwJ0WdUt3DU4nOJjv+xwUJw6zC4FjP0iJseABOA==\", //NL\r\n \"ht_countrycodes,djEDht4FhRYzQ/pyGIB51ofnllq28Ge4+7w+O+To9SfO5Q==\", //NE\r\n \"ht_countrycodes,djFBokxo/45iwInZbkOVIicksd14T/ckaxTSk9X6AvGgrg==\", //NG\r\n \"ht_countrycodes,djFqx8waI3kaUvw1DZMpFcbq2mV5sZpv456G4V9DV+X/3A==\", //MK\r\n \"ht_countrycodes,djF1qTklwk2M+Yz2Z6fG25ptmImm9Z4A4v+aPD7StwMBFw==\", //NO\r\n \"ht_countrycodes,djF0KCZXgKiaDgqewXuuzUjYC/JZek2Klv3Z9Y0IPNupDg==\", //OM\r\n \"ht_countrycodes,djHDEYA82hMV+y38Ogt872y+Ejnr5TSPNaWoh1TkEzoJ2A==\", //PK\r\n \"ht_countrycodes,djHUN3ZNEVRSz2cH6d39GCTzRWdJPZiIC7sI1ubJcxOjqw==\", //PL\r\n \"ht_countrycodes,djGzkup2lOpvGV2E0bXNBIQr4XXHNE1skPZrIkdybGawbQ==\", //PT\r\n \"ht_countrycodes,djEseUtaELVvfTbnxGPNjXnwYPkacTAr280Mvej2YpnQTA==\", //QA\r\n \"ht_countrycodes,djH/u3qWQE3uMvskPAyYPIHM/T4ayV/hEa7AkplsgTWstQ==\", //RO\r\n \"ht_countrycodes,djFUOyrOpNpSkMPD4sMTM1d2JDqnfOT1ifgseNemzkVRAw==\", //RU\r\n \"ht_countrycodes,djGqAQbIwiRyLWFomagyMhbq+jNATEHnjdcev4jNj/mbIw==\", //RW\r\n \"ht_countrycodes,djG1KXt9Ti6h5pCUufzjEgBMweK1UwThh5csFUH7qRVcNg==\", //SM\r\n \"ht_countrycodes,djEo/0a907iIMHe7JDmljQjgwIxdWsJPQ/+5MKB5GUskqg==\", //ST\r\n \"ht_countrycodes,djEA47RH+2ec5XJ5RljLVP/lyGeS1z1SaVo26mqnKQMTaA==\", //SA\r\n \"ht_countrycodes,djHmstHIxMhvyBQprpX5gvEan+/KJzSYbWeE/pltYH5hUw==\", //SN\r\n \"ht_countrycodes,djHicWnowA1JItnnguqrvHhsuk49J5nwDNorECTCa2uk3Q==\", //RS\r\n \"ht_countrycodes,djH1DLDpLybLtPgFb32vrSaN9kuNR0MQp0IPCiIzHIjzHg==\", //SC\r\n \"ht_countrycodes,djGEkx9DIi5txuE1WCcEyzDKtZjBckFCWXR4ziKwUpIwhA==\", //SL\r\n \"ht_countrycodes,djFXU8jJX97KzZhGo1jlKa4zfc/GsrtzEqyxJv1KsAegyw==\", //SK\r\n \"ht_countrycodes,djG9i6faPDT6rRxjldE9yDd5xJKp6iB/KnfWwBDRP5WREQ==\", //SI\r\n \"ht_countrycodes,djGUV3oELWHdD5VYBkMJu3A5hWyapb0wyXRpe+hW19AYdA==\", //SO\r\n \"ht_countrycodes,djHSoEfOsp+0f/NupKMtudKgESf9jkA5V33cxFJFsARDzA==\", //ZA\r\n \"ht_countrycodes,djG9wFxUvReiiU6jj4KVFo+Ta3RHYlgVosydtrVLF/+ghA==\", //ES\r\n \"ht_countrycodes,djGzVwFHgm0LHDLXvSQRcoGKzRmU/wtmt/NpqOwESQOdzw==\", //LK\r\n \"ht_countrycodes,djG9+Au57hQ0QSgzbIfeHdmOgULVS1OKcwQ0W5GW95MI0w==\", //SH\r\n \"ht_countrycodes,djG3/6Ft8jXRu+NJUtA/+fYY+McqKW6S0AlYqww2g6ZOJw==\", //SD\r\n \"ht_countrycodes,djFWFp4WPEdM8vN6eBFh13nzh7j1UALICAC32WlMgGB/Kw==\", //SJ\r\n \"ht_countrycodes,djHhy1yiPm2Vmw2zIS3Sn5OEgUKy+ycftb5HASZfhhdm+g==\", //SZ\r\n \"ht_countrycodes,djGL4GOuRe1uoDeHWHYmC3xa+qAbkUAY5R+gYxUsgTe5qg==\", //SE\r\n \"ht_countrycodes,djFUps1n797/BcIVaXJKtgxoQfmlDV+tw0j2Mna3svjfJA==\", //CH\r\n \"ht_countrycodes,djE8gPkZJsGfHYMozlrIo0rnwRrnWwVlavplNIlr1pEYZg==\", //SY\r\n \"ht_countrycodes,djE36ogLmYDI2BB7tPXmFJrbbk3UTlEE5qGqcM10xZLkcQ==\", //TJ\r\n \"ht_countrycodes,djES9t8BuizU5qXy9N+Wk5bcfee2DPACnJFTBPTl6/KMgQ==\", //TZ\r\n \"ht_countrycodes,djEm62A9QRuFrHf5GbWx3NUI+Urij19LY5ve07+25hX+Mw==\", //TG\r\n \"ht_countrycodes,djEnAY+WJNPMEtvrMnE/wdpNziQDmqpQB1+3YNQ1anflug==\", //TN\r\n \"ht_countrycodes,djEi4QRvtKoQCK6eam9yn5i1ySGs0fxhkk1Jd5fHXmsgVw==\", //TR\r\n \"ht_countrycodes,djHG2/gqizy8XHYeEL2R3XlzinCV+m9iOw8WBntevMFgRQ==\", //TM\r\n \"ht_countrycodes,djHVlOm96nfSBTV0A0kaTNCYIoES06gRLsZ5iiNVqGyo7A==\", //UG\r\n \"ht_countrycodes,djHkaDr3R6OzBkT37buaLL/11v5MypwdHx+wk98rmnM3uw==\", //UA\r\n \"ht_countrycodes,djGJktwTQJwCzJ83pDpLW5oxuFGCbWShVEBHsMGhERaA3w==\", //AE\r\n \"ht_countrycodes,djE68m0ZLMMC32xt/1YzMnKffIHyLloD0ZlOIPEaSsLS8Q==\", //GB\r\n \"ht_countrycodes,djH1qu1/xDjahM5LHJwhqyvFIj9TdYYUrAEhbnVuCruu2w==\", //UZ\r\n \"ht_countrycodes,djFaXu9bud8c6CtpVTDEy4LBjauJibbt4nba5HTSrBIYaw==\", //EH\r\n \"ht_countrycodes,djEOkf0pS9fHXNBYUIOsRy4wGvuB54zucjact4F28K+feA==\", //YE\r\n \"ht_countrycodes,djH6R1qNriNM2EotHZXhHPykXtHK5MRN4VKGT+uy/Oma5Q==\", //ZM\r\n \"ht_countrycodes,djHBidGAZjY1JD6Ukgjn0jHyvES5ncXjZkh1bkRtpSWcDA==\", //ZW\r\n //OMAX PreProd\r\n \"ht_countrycodes,djGlzVajHxZlYDhrp6nso7hQGZm3urbLa9U/QDoPnGeL2Q==\",\r\n \"ht_countrycodes,djErfsUXBK1DIEkI3fA1ScLp+492n9IQIXLLkF/syytikA==\",\r\n \"ht_countrycodes,djFV9hIQi4Ko6MWKD9Mb6so6yswJTXUYMUAHTHd4OK9XBA==\",\r\n \"ht_countrycodes,djGiOXDz/1nflSiXTqFNiLutXL4zPxZOG2twc2JE/0wbgw==\",\r\n \"ht_countrycodes,djG5tN3JecAt4vyO90UIrDW2cV09tB6S0VwZciCGWUHQ7Q==\",\r\n \"ht_countrycodes,djFkjzwdyaRJ8ckU4ruPc4Z/pcz1QRwn7KzYlyZeberpZg==\",\r\n \"ht_countrycodes,djECAe+vJValRTKbRWYYKEKGmqQgDv6sstSjQkJzVak/GA==\",\r\n \"ht_countrycodes,djEjGqQ0JlbzFSfKQQyWbseT649UPGzqZY8UKdoDnlXFew==\",\r\n \"ht_countrycodes,djE+5c83YGpOvxdxzA/fC0jvZs71TAB/rF7KCoYdz+xQAg==\",\r\n \"ht_countrycodes,djFwISPPSL9NUSgAPDPHtbxirxQkugoeTYLMddfyHGRcWQ==\",\r\n \"ht_countrycodes,djHJV/iqM3XP/YrEgSKV6TdYli69D/BbEV668i0ETAVC+Q==\",\r\n \"ht_countrycodes,djGn9rHfK5rkZxFFLvhfDzqdvhCPKtczWrT3HwLW90tDLQ==\",\r\n \"ht_countrycodes,djGH0d0rYQml0v/HfaSx3dzeFgGt9eCrAngjAYmA6ikf4Q==\",\r\n \"ht_countrycodes,djH4Jx3tBa91sJJVKwavswAqQYBFf9UmhPBGTV96iQ2pFQ==\",\r\n \"ht_countrycodes,djGViOw+jYeEElSRfnXCZVohLKcwoowlGdwGpwKOUythVQ==\",\r\n \"ht_countrycodes,djHtfSs1simIeHI8hnKo4g1jylgg4VRS63yPxop2eD8lgA==\",\r\n \"ht_countrycodes,djEG/Qstx06Wj40DdAWfx8dC5ee0PjfuOzb0gTIU0ezMpA==\",\r\n \"ht_countrycodes,djE22uo3qeYuo1p3ofyG8SUqpHMwBhLt2+3RZrsLQ6QAtg==\",\r\n \"ht_countrycodes,djHUv/jT5W86nnxGPAwfN24pvLYHqvFdKbiNvn2MbQxZYg==\",\r\n \"ht_countrycodes,djEZQzOKoVnpEWXt2ASYqtXpsfAjCYav/WOJoQ2qpojU1g==\",\r\n \"ht_countrycodes,djEUMyqtzgEzVYstxrrWAsuS3yMgDS0eOx5Bc7dTNlgkoQ==\",\r\n \"ht_countrycodes,djG+KXfyckgatSo6kZMSe6po9UJiev9N2n4fSJePKjCFRw==\",\r\n \"ht_countrycodes,djE6ectOByeEpWCshlBdhV8PJHaq+jhYrMJj+Ue9xoOEfg==\",\r\n \"ht_countrycodes,djH7u4URYVsTnNlBjv0XFehxwZ6XAaMXNmFA1j6jDsYB1Q==\",\r\n \"ht_countrycodes,djEpMeXqjPvCfg9oIeMYSXBAF3m7gcKvmgBuCLmM1CnCHA==\",\r\n \"ht_countrycodes,djHMGjWW16kcqq/jGYbPCmhOrW1350/3yIANSbHbmnuPsw==\",\r\n \"ht_countrycodes,djE0rKsdYQOBGy2SGnirKp1c1/a6Khlznj5FtndLTevjqg==\",\r\n \"ht_countrycodes,djHNn5UhnUm3dyiauHA1F78/kgU5oCR6b7ZHIyAZDhOmWA==\",\r\n \"ht_countrycodes,djFL3StDoWO6wzcfuMkgkdD0ITAF2Qor22ihwoULujqx7g==\",\r\n \"ht_countrycodes,djFrsadaO+V79LkYJyYAUGZlonFk2umx26vdzIkbLvUEew==\",\r\n \"ht_countrycodes,djHMTtpTrO0TSJDmFBk8rq4axFuAtFJTdLDgVFN6Az9khA==\",\r\n \"ht_countrycodes,djE68FQjWswVLLwps/MF1nk4JE0TKnLDDI/AkjS+MHcpGg==\",\r\n \"ht_countrycodes,djEd+kbqVtiOk9dRprHi5DY1wMJ7tDZkmzdcYZrKVYuVdA==\",\r\n \"ht_countrycodes,djHM7iiuz0Mkqj+gnES2+QrEKTQdln0oR3eJVQ4c8GAsCg==\",\r\n \"ht_countrycodes,djFYdoEZC8ZKMgFlFVa0KmgMifuKG/CHdojXNeRFB/XlmA==\",\r\n \"ht_countrycodes,djEVUEjVkcIhBJQsZUf4auNyxsQJhd/mapMSnFOZTHht4w==\",\r\n \"ht_countrycodes,djHk5N9ksCG4GITOW5cRi/gTPNfyQ3m9/Igdg0ikbwgLRg==\",\r\n \"ht_countrycodes,djEVPkTWMBFQMkOoLxccNMIPbeXZeiroOXsKulhy9fDiPg==\",\r\n \"ht_countrycodes,djHNzfUb4BX2E4qBTTFfVoWJKW4W6BORwXc62DF9GIrMmw==\",\r\n \"ht_countrycodes,djGBm9eFfO3mfNKw2fMqkNQHFZZExnEdFLpJCEHatSkPWQ==\",\r\n \"ht_countrycodes,djEtGw+GAsRmrLmVM19IAxz367xRwgmMT2thEGWeTnhJfQ==\",\r\n \"ht_countrycodes,djHDwjFaqEeZQuMRZ5UXwOS5MQ+fImeMJc8fP4rUhewP2g==\",\r\n \"ht_countrycodes,djHjt87zoqFEkS32Sk1yfOgJGA5W+GzFcMOHLT6v0du+bg==\",\r\n \"ht_countrycodes,djFo5ceO9Xj8btphZouwltOljTMH/vLJzvmCgoE9DptrDg==\",\r\n \"ht_countrycodes,djFB6WiM6e5Weuy8eLzJJo0oFKnT3k33xEPbbh6ym5Sx8w==\",\r\n \"ht_countrycodes,djFpi4/j2OP/n+9ppaSWnPIFzQ5KOP0KsmjHRucXaLlZGA==\",\r\n \"ht_countrycodes,djFX/cc50KHVa0lPkksEBIFtRhS3wcmZP/aY7+toSFvPHw==\",\r\n \"ht_countrycodes,djFYvzjLlQ4LzO5oomFycjMJpKax+J6KQi2DSR5zFclT6A==\",\r\n \"ht_countrycodes,djHFnC3gHNTxEembGq/A2S03UlBO0L2Ev2fPhCa+QkEZZA==\",\r\n \"ht_countrycodes,djHsPJYUhBBAQcSUMXa3hoZ+nnIOLt4IUmAIjqd0tLRriQ==\",\r\n \"ht_countrycodes,djFkM7jLatKAh0Ap8dt56Jyj7rMUeO0uPbJr3GrYI4RPVQ==\",\r\n \"ht_countrycodes,djEyL6qxi4E2hUfH+4uG+Upe4XEImI/H693pKgm2TPtgCA==\",\r\n \"ht_countrycodes,djFWAsqA/LHajnCTokqaYoN9yjRx6xf23Mp4HgnHBk8qBQ==\",\r\n \"ht_countrycodes,djEtvwDYuJoVOf/6eOYemeoLYCYQqnxGfueZ0ZxrfOqqZg==\",\r\n \"ht_countrycodes,djGLlLn2dk7PEgmdXHdzvGCkHcVTIa17yeCB4zQwTWebxw==\",\r\n \"ht_countrycodes,djG8c2mTdfIjhddHS4UL6V6FgX4wG0uwzX3O+hHYFkfZGw==\",\r\n \"ht_countrycodes,djF/9P77BHrdvpby8xLq8DNfZDSPT4FuXkBr7T5WrV9/kg==\",\r\n \"ht_countrycodes,djGGu5uFSCoCPEeLrRQn5bsgk70em4+iE+eU+ivjhB12bQ==\",\r\n \"ht_countrycodes,djFHwdWYO0ZGQ24zOzdYUZxTHfdFNhqV/gxMrK9xGXEb7A==\",\r\n \"ht_countrycodes,djFUA1XGc299ZnpQTaVd4N1ZEZxmC7/2VKoM/FxgYi8fvg==\",\r\n \"ht_countrycodes,djGWHEyRoEmwtvgtbD3Yq03Xkb472L5lJIvuYq31qUIobw==\",\r\n \"ht_countrycodes,djGSw8gJNePNLFEHrJs0EYMgll3dN+oawfXc0uCGn0wt1A==\",\r\n \"ht_countrycodes,djGPRcJnsj4ZxEVurPza+NKYj0fTJWIcBOEhH/t96NPg5A==\",\r\n \"ht_countrycodes,djGt3UTBdYOw1veI2y6Ebw/K6Bs47W4XWUJ/ku4kB4KA0g==\",\r\n \"ht_countrycodes,djG7AW6AjQsH3NdGqHActB6tmvN58tExhbk6JnPdykHWGQ==\",\r\n \"ht_countrycodes,djGKnB0cKCGV6LwJ4J5mn9M1qoaFt10i7YehxJpYTdr7VA==\",\r\n \"ht_countrycodes,djFibcS1fAq4ELdjtckuGLsvS8YC+z3j2grS/La7qRCh6A==\",\r\n \"ht_countrycodes,djHbZYcE+PgF8XhixhLqvbmOX3YClEZUcnORTETnpv2zkw==\",\r\n \"ht_countrycodes,djFhsjDYLqrfId1zMA/xphdLNTn/KpNopWXvgPWaI6HmZw==\",\r\n \"ht_countrycodes,djE75SIB19MKK9uCO+hK6llaXEHB0Zl+McHx9eGmvMhdew==\",\r\n \"ht_countrycodes,djFPujUy5DxRBp/J7zECf6OfzEPswIhEVPbDVQWBosA76w==\",\r\n \"ht_countrycodes,djEz2fenOP/xk2l+9mxZB3WTJ8MiKsTsGlNzppoa8MYCEg==\",\r\n \"ht_countrycodes,djGrWypAbC36MYxMu4bXv/etsyzMD5Jv9XVJgHQJxBAJPw==\",\r\n \"ht_countrycodes,djFvE7Xs9BcoRI0n6a243vq9xHjW/+oszOHDj95ePOR1ug==\",\r\n \"ht_countrycodes,djGeCtF+qh77lKiUXKf7LAMMUeV9d3oyqG0Z101VTnVnmQ==\",\r\n \"ht_countrycodes,djEZ/LlKzbCdnzpfxuIJHFvN1lSgJ2fjDWejOqKou93tJw==\",\r\n \"ht_countrycodes,djEqEW2PdmvQELP5aD6PzEt0r+4YcNJi4aLlr975wgVboA==\",\r\n \"ht_countrycodes,djGvNr5YYSpWyTSke3y6wGTtnKyBvn3IMHk8K3gjXPnFrQ==\",\r\n \"ht_countrycodes,djEQnxf63Vdha/zuXzXk9Mp9CDBQKD/daEgwrDg6kZqEXA==\",\r\n \"ht_countrycodes,djEea5atEKBeQfLp5bUeckqLVbWD16f/4QXfx7uucfYd5A==\",\r\n \"ht_countrycodes,djGp/DU6LXDmsX+R4sZ1kT2jy/V841BwkMVYEOybjHYcmQ==\",\r\n \"ht_countrycodes,djGChj5lLYBGNk4iGwWBHjjAh8Sq5syFGBesgwmb9TIcAQ==\",\r\n \"ht_countrycodes,djH2W+Dw04pMRTMt0AWnXOAPsJyt+gDt16bleiaRndw5Pw==\",\r\n \"ht_countrycodes,djFoGxiXK08kFSlasKv8aM8ZOsYnVWAjmfHzy4mpEEFlUw==\",\r\n \"ht_countrycodes,djHqn1lkJ900oysdRJlmUdBvKn37a44xr10V3e8BCH1XcA==\",\r\n \"ht_countrycodes,djHnyJFPsEimgGWmHfPuKvrLTFn7cGKeBYui6s2kqsjWww==\",\r\n \"ht_countrycodes,djEnHVuAsDH5vSbnnNw8gpmaHSWXxwH+Q7lE0TxbGvabPA==\",\r\n \"ht_countrycodes,djE9ZBYwhYg9qpgi2C/AHfSQwX2B0HFLd5Da66YJTqqXyg==\",\r\n \"ht_countrycodes,djG6bChhoFlMQNjJjSL9mnbxhaCrzpL5nE3vUs5Z8PtNcg==\",\r\n \"ht_countrycodes,djEOsRIGSENspvw3YFQsEhdGgcSKyvU1wa3fL3RuGP79ag==\",\r\n \"ht_countrycodes,djFUqEsGXCF8WFMY2wq+YYK4D8vFDYq3Xkj8SzIt5Gnq/g==\",\r\n \"ht_countrycodes,djFno15iUk26BGMva6fau9i7s5/OJLZqa5JUxuq/WX+TPQ==\",\r\n \"ht_countrycodes,djEewAb6pe1h0Aw/LcSNylXXBdzaO1XhDW6ujchfWFJZug==\",\r\n \"ht_countrycodes,djGk1s8gXrbu0Mgh2ZvXYMorNo/ThQPlvUchYNhfzt/ztg==\",\r\n \"ht_countrycodes,djHr7nC8a/Lj/0SNzxS+gP8FnqfIaiTVqAAQWayHnV8IyA==\",\r\n \"ht_countrycodes,djEhFQedT7EeSJkEJHEkF+QYJKwEzfLodtdp8eIOqtOE2w==\",\r\n \"ht_countrycodes,djHxRptu2WJ3C8mQZatmEdZGopSwEwULFps+MfozSLT0Dw==\",\r\n \"ht_countrycodes,djHLzdYV3hn5/NHd88MaAmFP+PJjmX2fITMA92e1mdENkg==\",\r\n \"ht_countrycodes,djH3TYnhqnzrdgteCgE5JRPy0vy5n8fACUSmzGxYL0ryUw==\",\r\n \"ht_countrycodes,djHg33Rba05qua87igcAqDm17xNfTYnLV0o8/SxAN95/+g==\",\r\n \"ht_countrycodes,djHI3kmpvYxQhZ/qBECrlZ6TFE0eCkR+s0gNjIUecj7spQ==\",\r\n \"ht_countrycodes,djGMcn4racuKzxVY+zbAHN1DcfWTT8dtkWjJu80GQ7m4Kw==\",\r\n \"ht_countrycodes,djH7BwRiyai1Ql8BN0ctuuaz7H4YcxSp5MQk5YvMDKDgCg==\",\r\n \"ht_countrycodes,djHrITVJcSP0jqyv6lHK+WdKlYzyF3Ig0n3Kej+49IVFIw==\",\r\n \"ht_countrycodes,djE/uVuBWnez+TJKlUWhlYIM3qDVZsraSYASth+crTDppQ==\",\r\n \"ht_countrycodes,djFwjZUAtttLHqsY8je9mBoYJDJHyqqHb+1bJvthBZbu4w==\",\r\n \"ht_countrycodes,djG5WLfv23vTYrIqV8tW2x7SIhxvEKQ09jk7wOEcGurkLQ==\",\r\n \"ht_countrycodes,djELAIMQUEREbQvA05uy1k+wkrpdtIeTnfCovJR522D0qg==\",\r\n \"ht_countrycodes,djH+pvUGn+LHA4PD3/ag2F8Df3Dy46VCGQHusA71V7eEsw==\",\r\n \"ht_countrycodes,djFhvKOPBlhzR4Jjv5BfRxme3dkY16P5yPX2O9NKujUiSA==\",\r\n \"ht_countrycodes,djHreYGx4TYrx8t8wkyOj8uaopjUjYwMIrUUGsGjwMnMPQ==\",\r\n \"ht_countrycodes,djFL+HI1qm8zt4yEBkrR0bSD82uh7/fH5iSIe6nNLv0jnA==\",\r\n \"ht_countrycodes,djFtXZYGZVQA5ebQGQKF8sjzA58moJW1OdKDrr/jHHvF+Q==\",\r\n \"ht_countrycodes,djHJB0HzwIRDKLDvlD7A13KkvpvRh5k9KGQ2fRqerhsAOw==\",\r\n \"ht_countrycodes,djHBtqvKHUPkGl2Wfd/gH5jiBAqRDqWhhQrSyrTzImx7BQ==\",\r\n \"ht_countrycodes,djHhebkkf0gtmAYwc9L2Cn+hnWYmQZk9MJ8Ga0wBURydtg==\",\r\n \"ht_countrycodes,djG9STkWhwzE7rh1BBp6WoS+YR4iPJSIAFMHozMUS/tWWg==\",\r\n \"ht_countrycodes,djE0Jkvn6VPu4+sUYfnwcL3I1Ut5N/vg8i8qMNNjW7BShg==\",\r\n \"ht_countrycodes,djGflwHKXY4/c8w6/xWhW299IhO0TpdN7YfBCai+WXg15g==\",\r\n \"ht_countrycodes,djG/NZI+l6Jpd+tgDZUBlMbIevBheYdqCUXHfLFPD5rNLA==\",\r\n \"ht_countrycodes,djE4jesHUOEvL3wsAWCFIU4Se/X4zwm9ZW8ZnR2+855qEw==\",\r\n \"ht_countrycodes,djFuiHnu6MxDuQ618cEaTPRwPCyw/UCNTwDF4Qp8sNNBwg==\",\r\n \"ht_countrycodes,djFm0U9SmKiqsUOjq6aAdbb70i7V9Vqk4dYodQDW1u364g==\",\r\n \"ht_countrycodes,djGTwdFvjzLomLIBlC/IdgS8MI7P/nxDEPV6EJYFdHEaNQ==\",\r\n \"ht_countrycodes,djEgkeUO1dLIm7x80WFdUilCDZcTUwCwEvnsCTYCEfqnxw==\",\r\n \"ht_countrycodes,djFe9uaRHEMv4Zs1oJsO7Ndo5VTbNqJ5cj6Y0MxyVVG45Q==\",\r\n \"ht_countrycodes,djFHAV4nb12kM/+14Zrp20hzmKSivkXyUFUSOrRxTb26Ag==\",\r\n \"ht_countrycodes,djFucTxL52x1fd/SjhTv2TSvs3gKcaz2oCXebmXvGKTAVw==\",\r\n \"ht_countrycodes,djFGCWu/qSlbHcW1BX994GOf07jr5Fm3lNVQOdt1gTQTLA==\",\r\n \"ht_countrycodes,djGdVYrl4TWQYtSYvtwIEkf7X1LO6aTglaVSKF+btY7+JA==\",\r\n \"ht_countrycodes,djERAdaEAjAKhtOuONaQg+9m5Jidm0NLT7YkjShgQ94p0g==\",\r\n \"ht_countrycodes,djF2zqcgpuuhdHpfswnwdx4uI1k8cSAy7lErfm1Bk0Bxgg==\",\r\n \"ht_countrycodes,djHDIdLEMnXAhwv2O1ctESfIfak70xlGK73+GsKyYR7aCw==\",\r\n \"ht_countrycodes,djH+m7M4l8g/i1w1UuoYyr4bWIOPeMdUgIiYwEsFYlMwWA==\"\r\n];\r\n\r\nconst showZipText = [\r\n \"United States of America\",\r\n \"Afghanistan\",\r\n \"Albania\",\r\n \"Algeria\",\r\n \"Andorra\",\r\n \"Angola\",\r\n \"Armenia\",\r\n \"Austria\",\r\n \"Azerbaijan\",\r\n \"Bahrain\",\r\n \"Bangladesh\",\r\n \"Belarus\",\r\n \"Belgium\",\r\n \"Benin\",\r\n \"Bosnia and Herzegovina\",\r\n \"Botswana\",\r\n \"Bulgaria\",\r\n \"Burkina Faso\",\r\n \"Burundi\",\r\n \"Cameroon\",\r\n \"Cape Verde\",\r\n \"Central African Republic\",\r\n \"Chad\",\r\n \"Comoros\",\r\n \"Congo\",\r\n \"Congo, The Dem. Republic Of\",\r\n \"Côte d'Ivoire\",\r\n \"Croatia\",\r\n \"Cyprus\",\r\n \"Czech Republic\",\r\n \"Denmark\",\r\n \"Djibouti\",\r\n \"Egypt\",\r\n \"Equatorial Guinea\",\r\n \"Eritrea\",\r\n \"Estonia\",\r\n \"Ethiopia\",\r\n \"Finland\",\r\n \"France\",\r\n \"French Southern Terr.\",\r\n \"Gabon\",\r\n \"Gambia\",\r\n \"Georgia\",\r\n \"Germany\",\r\n \"Ghana\",\r\n \"Gibraltar\",\r\n \"Greece\",\r\n \"Guinea\",\r\n \"Guinea-Bissau\",\r\n \"Hungary\",\r\n \"Iceland\",\r\n \"India\",\r\n \"Iran\",\r\n \"Iraq\",\r\n \"Ireland\",\r\n \"Isle of Man\",\r\n \"Israel\",\r\n \"Italy\",\r\n \"Jersey\",\r\n \"Jordan\",\r\n \"Kazakhstan\",\r\n \"Kenya\",\r\n \"Kosovo\",\r\n \"Kuwait\",\r\n \"Kyrgyzstan\",\r\n \"Latvia\",\r\n \"Lebanon\",\r\n \"Lesotho\",\r\n \"Liberia\",\r\n \"Libya\",\r\n \"Liechtenstein\",\r\n \"Lithuania\",\r\n \"Luxembourg\",\r\n \"Madagascar\",\r\n \"Malawi\",\r\n \"Mali\",\r\n \"Malta\",\r\n \"Mauritania\",\r\n \"Mauritius\",\r\n \"Mayotte\",\r\n \"Moldova\",\r\n \"Monaco\",\r\n \"Montenegro\",\r\n \"Morocco\",\r\n \"Mozambique\",\r\n \"Namibia\",\r\n \"Netherlands\",\r\n \"Niger\",\r\n \"Nigeria\",\r\n \"North Macedonia\",\r\n \"Norway\",\r\n \"Oman\",\r\n \"Pakistan\",\r\n \"Poland\",\r\n \"Portugal\",\r\n \"Qatar\",\r\n \"Romania\",\r\n \"Russian Federation\",\r\n \"Rwanda\",\r\n \"San Marino\",\r\n \"Sao Tome/Principe\",\r\n \"Saudi Arabia\",\r\n \"Senegal\",\r\n \"Serbia\",\r\n \"Seychelles\",\r\n \"Sierra Leone\",\r\n \"Slovak Republic\",\r\n \"Slovenia\",\r\n \"Somalia\",\r\n \"South Africa\",\r\n \"Spain\",\r\n \"Sri Lanka\",\r\n \"St. Helena\",\r\n \"Sudan\",\r\n \"Svalbard/Jan Mayen Isls.\",\r\n \"Swaziland\",\r\n \"Sweden\",\r\n \"Switzerland\",\r\n \"Syria\",\r\n \"Tajikistan\",\r\n \"Tanzania\",\r\n \"Togo\",\r\n \"Tunisia\",\r\n \"Turkey\",\r\n \"Turkmenistan\",\r\n \"Uganda\",\r\n \"Ukraine\",\r\n \"United Arab Emirates\",\r\n \"United Kingdom\",\r\n \"Uzbekistan\",\r\n \"Western Sahara\",\r\n \"Yemen\",\r\n \"Zambia\",\r\n \"Zimbabwe\"\r\n];\r\n","/* global $$epiforms */\r\n\r\nimport ProductRegistration from \"./product-registration.js\";\r\n\r\nif (typeof $$epiforms !== \"undefined\") {\r\n (function($) {\r\n $$epiforms(\".EPiServerForms\")\r\n .on(\"formsSubmitted\",\r\n function (e) {\r\n var formName = $(e.currentTarget).attr(\"name\");\r\n formName = formName ? formName : e.workingFormInfo.Name;\r\n const isProductRegForm = formName.includes(\"product-registration-form\");\r\n const hasEmbeddedForm = document.querySelector(\"[data-form-block-id]\");\r\n\r\n if (!isProductRegForm || !e.isSuccess || !hasEmbeddedForm) {\r\n return;\r\n }\r\n\r\n if (e.isFinalizedSubmission && e.isSuccess) {\r\n var elements = e.workingFormInfo.ElementsInfo;\r\n var data = e.formData;\r\n\r\n let productRegistration = new ProductRegistration(data, elements);\r\n productRegistration.populateEmbeddedForm();\r\n }\r\n });\r\n })($$epiforms || $);\r\n}\r\n","/* eslint-disable no-undef */\r\n/* eslint-disable no-unused-vars */\r\nimport { isNullOrUndefined } from \"/Assets/js/utilities.js\";\r\nimport Recaptcha from \"./cloudflare-recaptcha.js\";\r\n\r\nexport default class FormValidation {\r\n constructor(embeddedFormBlock) {\r\n this.embeddedFormBlock = embeddedFormBlock;\r\n this.recaptcha = new Recaptcha();\r\n }\r\n\r\n initialize() {\r\n if (this.embeddedFormBlock.isHidden || !this.embeddedFormBlock.form)\r\n return;\r\n\r\n // Update the JS enabled state.\r\n document.body.dataset.jsEnabled = \"true\";\r\n\r\n if (window.turnstile != undefined) {\r\n this.recaptcha.init();\r\n }\r\n\r\n // Update D365 regex for email\r\n this.updateEmailRegex();\r\n this.bindEvents();\r\n this.initMultiSelectCheckboxes();\r\n }\r\n\r\n bindEvents() {\r\n const phoneFields = new Map([...this.embeddedFormBlock.embeddedFormFields].filter(([key, value]) => key === \"phone\"));\r\n const hasPhoneField = phoneFields.size > 0;\r\n\r\n if (this.embeddedFormBlock.form == null)\r\n return;\r\n\r\n const inputElements = this.embeddedFormBlock.form.elements;\r\n if (!inputElements)\r\n return;\r\n\r\n for (const inputEl of inputElements) {\r\n const isMultiSelect = inputEl.closest(\"div.multiselect\") != null;\r\n\r\n if (!isMultiSelect) {\r\n if (inputEl.type === \"radio\" || inputEl.type === \"checkbox\") {\r\n inputEl.addEventListener(\"change\", (event) =>\r\n this.updateValidationStateForInput(event.target)\r\n );\r\n } else {\r\n let isPhoneField = false;\r\n if (hasPhoneField) {\r\n for (let [key, value] of phoneFields.entries()) {\r\n if (value === inputEl.id) {\r\n isPhoneField = true;\r\n }\r\n }\r\n }\r\n if (isPhoneField) {\r\n inputEl.addEventListener(\"change\", (event) =>\r\n this.validatePhoneNumberField(event.target)\r\n );\r\n inputEl.addEventListener(\"blur\", (event) =>\r\n this.validatePhoneNumberField(event.target)\r\n );\r\n\r\n } else {\r\n inputEl.addEventListener(\"input\", (event) =>\r\n this.updateValidationStateForInput(event.target)\r\n );\r\n inputEl.addEventListener(\"blur\", (event) =>\r\n this.updateValidationStateForInput(event.target)\r\n );\r\n inputEl.addEventListener(\"change\", (event) =>\r\n this.updateValidationStateForInput(event.target)\r\n );\r\n // Adding `aria-invalid` provides users who use assistive technology\r\n // with a way to know if the input is invalid.\r\n // Should initially be set to `false` before interaction/validity check.\r\n inputEl.setAttribute(\"aria-invalid\", \"false\");\r\n\r\n // Update the state for prefilled inputs.\r\n if (inputEl.value !== \"\") {\r\n this.updateValidationStateForInput(inputEl);\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n // Use form button `click` event to validate with Constraint Validation API instead.\r\n // D365 API already has form submit event so we need to validate before form submit fires\r\n const submitButton = this.embeddedFormBlock.form.querySelector(\"button.lp-form-button\");\r\n submitButton.addEventListener(\"click\", (event) => {\r\n event.preventDefault();\r\n this.onSubmit();\r\n });\r\n }\r\n\r\n updateEmailRegex() {\r\n const emailRegex = \"^[^@\\\\s]+@[^@\\\\s]+\\\\.[^@\\\\s]+$\";\r\n const emailCntnr = this.embeddedFormBlock.embeddedFormBlockCntnr.querySelector(\"[data-editorblocktype=Field-email]\");\r\n if (emailCntnr) {\r\n emailCntnr.querySelector(\"input\").setAttribute(\"pattern\", emailRegex);\r\n }\r\n }\r\n\r\n getValidationMessageForInput(inputEl) {\r\n const parent = inputEl.closest(\"[data-editorblocktype]\");\r\n const isMultiSelect = inputEl.closest(\"div.multiselect\") != null;\r\n\r\n // If the input is valid, return an empty string.\r\n if (!isMultiSelect && inputEl.validity.valid) return \"\";\r\n\r\n /**\r\n * Validation constraints:\r\n * - required\r\n * - type=email\r\n */\r\n if (inputEl.type === \"email\") {\r\n if (inputEl.validity.valueMissing) {\r\n return inputEl.validationMessage;\r\n }\r\n if (inputEl.validity.patternMismatch || inputEl.validity.typeMismatch) {\r\n return window.jsl10n.JsResources.Translations.Common.EnterValidEmailAddress;\r\n }\r\n }\r\n\r\n if (isMultiSelect) {\r\n return window.jsl10n.JsResources.Translations.Common.SelectAtLeastOneOption;\r\n }\r\n\r\n // If all else fails, return the default message.\r\n return window.jsl10n.JsResources.Translations.Common.ThisFieldRequired;\r\n }\r\n\r\n validatePhoneNumberField(inputEl) {\r\n const id = inputEl.id;\r\n\r\n const phoneInput = document.getElementById(id);\r\n if (!phoneInput)\r\n return;\r\n\r\n let validationMessage = \"\";\r\n let isValid = phoneInput.checkValidity();\r\n\r\n if (isValid) {\r\n const iti = window.intlTelInputGlobals.getInstance(phoneInput);\r\n const isValidNumber = iti.isValidNumber();\r\n\r\n if (isValidNumber) {\r\n const fullNumber = iti.getNumber();\r\n phoneInput.value = fullNumber;\r\n isValid = true;\r\n validationMessage = \"\";\r\n } else {\r\n isValid = false;\r\n validationMessage = phoneInput.dataset.validPhoneErrorMessage;\r\n }\r\n } else {\r\n validationMessage = phoneInput.validationMessage;\r\n }\r\n\r\n if (!phoneInput.required && phoneInput.value == \"\" && isValid) {\r\n phoneInput.classList.remove(\"is-valid\", \"is-invalid\");\r\n } else {\r\n phoneInput.classList.toggle(\"is-valid\", isValid);\r\n phoneInput.classList.toggle(\"is-invalid\", !isValid);\r\n }\r\n phoneInput.setAttribute(\"aria-invalid\", String(!isValid));\r\n\r\n let errorEl;\r\n let prevErrorEl = phoneInput.parentElement.querySelector(\".Form__Element__ValidationError\");\r\n if (prevErrorEl !== null) {\r\n errorEl = prevErrorEl;\r\n } else {\r\n errorEl = document.createElement(\"span\");\r\n }\r\n errorEl.className = \"Form__Element__ValidationError\";\r\n errorEl.textContent = validationMessage;\r\n phoneInput.after(errorEl);\r\n\r\n errorEl.hidden = isValid;\r\n\r\n return isValid;\r\n }\r\n\r\n validateAllPhoneNumberFields() {\r\n // eslint-disable-next-line no-undef\r\n const phoneFields = new Map([...this.embeddedFormBlock.embeddedFormFields].filter(([key, value]) => key === \"phone\"));\r\n const hasPhoneField = phoneFields.size > 0;\r\n let isValid = true;\r\n if (!hasPhoneField)\r\n return isValid;\r\n\r\n for (let [key, value] of phoneFields.entries()) {\r\n const phoneInput = document.getElementById(value);\r\n\r\n if (!phoneInput)\r\n return isValid;\r\n\r\n isValid = this.validatePhoneNumberField(phoneInput);\r\n }\r\n return isValid;\r\n }\r\n\r\n initMultiSelectCheckboxes() {\r\n const multiSelectFields = this.embeddedFormBlock.form.querySelectorAll(\"div.multiselect\");\r\n const hasMultiSelectField = multiSelectFields.length > 0;\r\n\r\n if (!hasMultiSelectField)\r\n return;\r\n\r\n multiSelectFields.forEach(item => {\r\n const parent = item.closest(\"[data-editorblocktype]\");\r\n const select = parent.querySelector(\"select\");\r\n const itemId = select.id;\r\n const multiSelectCheckboxInputEls = parent.querySelectorAll(\"input.lp-form-fieldInput\");\r\n\r\n for (const checkboxInputEl of multiSelectCheckboxInputEls) {\r\n checkboxInputEl.addEventListener(\"change\", () =>\r\n this.validateMultiSelectCheckboxGroup(item)\r\n );\r\n checkboxInputEl.addEventListener(\"blur\", (event) => {\r\n const activeEl = event.relatedTarget;\r\n if (activeEl?.getAttribute(\"id\") !== itemId) {\r\n this.validateMultiSelectCheckboxGroup(item);\r\n }\r\n });\r\n }\r\n\r\n const isMultiSelectGroupChecked = parent.querySelectorAll(\"input.lp-form-fieldInput:checked\").length > 0;\r\n if (isMultiSelectGroupChecked) {\r\n this.validateMultiSelectCheckboxGroup(item);\r\n }\r\n });\r\n }\r\n\r\n updateValidationStateForInput(inputEl) {\r\n // Check if the input is valid using the Constraint Validation API.\r\n // https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/checkValidity\r\n\r\n const isRecaptchaInput = inputEl.getAttribute(\"name\") == \"cf-turnstile-response\";\r\n if (isRecaptchaInput)\r\n return;\r\n\r\n const inputParent = inputEl.closest(\"[data-editorblocktype]\");\r\n const isHiddenInput = inputParent.hasAttribute(\"hidden\") && inputParent.getAttribute(\"hidden\") == \"hidden\";\r\n if (isHiddenInput) // ignore hidden fields\r\n return;\r\n\r\n const isInputValid = inputEl.checkValidity();\r\n\r\n // Handle optional empty fields\r\n // For Firefox and Safari: Also check if valid because type=\"number\" fields\r\n // report an empty string value when they have a non-numeric values.\r\n if (!inputEl.required && inputEl.value === \"\" && isInputValid) {\r\n // Clear validation state\r\n inputEl.classList.remove(\"is-valid\", \"is-invalid\");\r\n } else {\r\n // Required fields: Toggle valid/invalid state classes\r\n inputEl.classList.toggle(\"is-valid\", isInputValid);\r\n inputEl.classList.toggle(\"is-invalid\", !isInputValid);\r\n }\r\n // Update the `aria-invalid` state when validation occurs\r\n // https://www.w3.org/WAI/WCAG21/Techniques/aria/ARIA21\r\n inputEl.setAttribute(\"aria-invalid\", String(!isInputValid));\r\n\r\n // Get validation message\r\n // https://developer.mozilla.org/en-US/docs/Web/API/HTMLObjectElement/validationMessage\r\n const validationMessage = this.getValidationMessageForInput(inputEl);\r\n\r\n //check form element type for placement of error message\r\n const isAfterParent = inputEl.type == \"radio\" || inputEl.type == \"checkbox\" ? true : false;\r\n\r\n // When JS is enabled, the default built-in error messages are not shown, the code needs to set the error messages manually.\r\n let prevErrorEl = inputParent.querySelector(\".Form__Element__ValidationError\");\r\n\r\n let errorEl;\r\n if (prevErrorEl !== null) {\r\n errorEl = prevErrorEl;\r\n } else {\r\n errorEl = document.createElement(\"span\");\r\n }\r\n errorEl.className = \"Form__Element__ValidationError\";\r\n errorEl.textContent = validationMessage;\r\n\r\n if (inputEl.type === \"radio\" || inputEl.type === \"checkbox\") {\r\n errorEl.className = \"Form__Element__ValidationError error-icon\";\r\n }\r\n\r\n if (isAfterParent) {\r\n const parentMarketingContainer = inputParent.querySelector(\".marketing-field\");\r\n parentMarketingContainer.append(errorEl);\r\n } else {\r\n inputEl.after(errorEl);\r\n }\r\n // Show/hide the error message depending on the input's validity.\r\n errorEl.hidden = isInputValid;\r\n }\r\n\r\n validateMultiSelectCheckboxGroup(inputEl) {\r\n const parent = inputEl.closest(\"[data-editorblocktype]\");\r\n const isVisible = parent.style.display != \"none\";\r\n\r\n if (!isVisible)\r\n return;\r\n\r\n const multiSelectCheckboxInputEls = parent.querySelectorAll(\"input.lp-form-fieldInput\");\r\n const select = parent.querySelector(\"select\");\r\n const selectId = select.id;\r\n\r\n const formData = new FormData(this.embeddedFormBlock.form);\r\n const isValid = formData.getAll(selectId).length > 0;\r\n\r\n select.classList.toggle(\"is-valid\", isValid);\r\n select.classList.toggle(\"is-invalid\", !isValid);\r\n select.setAttribute(\"aria-invalid\", String(!isValid));\r\n\r\n // Update the validation UI state for each checkbox.\r\n for (const checkboxInputEl of multiSelectCheckboxInputEls) {\r\n checkboxInputEl.classList.toggle(\"is-valid\", isValid);\r\n checkboxInputEl.classList.toggle(\"is-invalid\", !isValid);\r\n }\r\n\r\n // Get validation message\r\n const validationMessage = this.getValidationMessageForInput(inputEl);\r\n const prevErrorEl = parent.querySelector(\".Form__Element__ValidationError\");\r\n\r\n let errorEl;\r\n if (prevErrorEl !== null) {\r\n errorEl = prevErrorEl;\r\n } else {\r\n errorEl = document.createElement(\"span\");\r\n }\r\n errorEl.className = \"Form__Element__ValidationError\";\r\n errorEl.textContent = validationMessage;\r\n\r\n const parentMarketingContainer = parent.querySelector(\".marketing-field\");\r\n parentMarketingContainer.append(errorEl);\r\n\r\n // Show/hide the error message depending on the input's validity.\r\n errorEl.hidden = isValid;\r\n\r\n return isValid;\r\n }\r\n\r\n validateMultiSelectCheckboxGroups() {\r\n const multiSelectFields = this.embeddedFormBlock.form.querySelectorAll(\"div.multiselect\");\r\n const hasMultiSelectField = multiSelectFields.length > 0;\r\n\r\n if (!hasMultiSelectField)\r\n return true;\r\n\r\n let isValid = true;\r\n multiSelectFields.forEach(item => {\r\n const isFieldValid = this.validateMultiSelectCheckboxGroup(item);\r\n if (isFieldValid == false)\r\n isValid = isFieldValid;\r\n });\r\n return isValid;\r\n }\r\n\r\n validateRecaptcha() {\r\n const self = this;\r\n\r\n self.recaptcha.hideErrorMessage();\r\n const token = document.querySelector(\"[name=cf-turnstile-response]\")?.value ?? null;\r\n\r\n if (isNullOrUndefined(token)) {\r\n turnstile.reset(\"#d365turnstile\");\r\n return;\r\n }\r\n\r\n const validateUrl = `/Recaptcha/ValidateCloudflareRecaptcha?token=${token}`;\r\n\r\n fetch(validateUrl)\r\n .then(function (response) {\r\n return response.json();\r\n })\r\n .then(function (data) {\r\n if (data == true) {\r\n self.embeddedFormBlock.submitForm();\r\n } else {\r\n turnstile.reset(\"#d365turnstile\");\r\n self.recaptcha.showErrorMessage();\r\n }\r\n })\r\n .catch(function (err) {\r\n console.error(\"Something went wrong!\", err);\r\n self.recaptcha.showErrorMessage();\r\n });\r\n }\r\n\r\n onSubmit() {\r\n // Update the validation UI state for all inputs that can be validated\r\n // with the Constraint Validation API.\r\n const inputElements = this.embeddedFormBlock.form.elements;\r\n for (const inputEl of inputElements) {\r\n const isMultiSelect = inputEl.closest(\"div.multiselect\") != null;\r\n\r\n if (!isMultiSelect) {\r\n this.updateValidationStateForInput(inputEl);\r\n }\r\n }\r\n\r\n // The `isFormValid` boolean respresents all inputs that can be\r\n // validated via the Constraint Validation API.\r\n const isFormValid = this.embeddedFormBlock.form.checkValidity();\r\n\r\n // Validate phone number field manually to enable checking country phone format\r\n const isPhoneNumberValid = this.validateAllPhoneNumberFields();\r\n const isMultiSelectValid = this.validateMultiSelectCheckboxGroups();\r\n\r\n // If any of the validation checks fail, prevent the form from submitting.\r\n if (!isFormValid || !isPhoneNumberValid || !isMultiSelectValid) {\r\n // Set the focus to the first invalid input.\r\n const firstInvalidInputEl = this.embeddedFormBlock.form.querySelector(\r\n \"input:invalid, fieldset.is-invalid input\"\r\n );\r\n firstInvalidInputEl?.focus();\r\n } else {\r\n if (window.turnstile != undefined) {\r\n this.validateRecaptcha();\r\n } else {\r\n this.embeddedFormBlock.submitForm();\r\n }\r\n }\r\n }\r\n}\r\n","/* eslint-disable no-unused-vars */\r\n/* eslint-disable no-undef */\r\nimport EmbeddedFormBlock from \"./embedded-form-block.js\";\r\nimport FormValidation from \"./form-validation.js\";\r\n\r\nlet embeddedFormBlockCntnr = document.querySelector(\"[data-embedded-form-block]\");\r\nif (embeddedFormBlockCntnr !== null) {\r\n let embeddedFormBlock = new EmbeddedFormBlock(embeddedFormBlockCntnr);\r\n let formValidation = new FormValidation(embeddedFormBlock);\r\n\r\n if (window.MsCrmMkt !== undefined) {\r\n MsCrmMkt.MsCrmFormLoader.on(\"formLoad\",\r\n function (e) {\r\n e.preventFormLoadingProgressBar();\r\n embeddedFormBlock.showLoader();\r\n });\r\n\r\n MsCrmMkt.MsCrmFormLoader.on(\"afterFormLoad\",\r\n function () {\r\n embeddedFormBlock.initialize();\r\n formValidation.initialize();\r\n });\r\n\r\n MsCrmMkt.MsCrmFormLoader.on(\"formSubmit\",\r\n function (e) {\r\n embeddedFormBlock.showButtonSubmitting();\r\n });\r\n\r\n MsCrmMkt.MsCrmFormLoader.on(\"afterFormSubmit\",\r\n function () {\r\n embeddedFormBlock.formCompleted = true;\r\n if (!embeddedFormBlock.isHidden) {\r\n const efb = document.querySelector(\".embedded-form-block-wrapper\");\r\n efb.scrollIntoView({ behavior: \"smooth\" });\r\n }\r\n\r\n if (embeddedFormBlock.openInModal) {\r\n const $modal = $(\"#primaryCtaForm\");\r\n $modal.find(\".form-description\").hide();\r\n }\r\n\r\n window.dataLayer.push({\r\n event: \"formSubmissionSuccess\",\r\n formId: embeddedFormBlock.formName\r\n });\r\n });\r\n }\r\n}\r\n","export const productInterestData = [\r\n { id: \"HandheldPlasmaCuttingSystems\", technology: \"206380000\", platform: \"206380000\", ProductClassType: \"692300003\" },\r\n { id: \"AutomatedPlasmaCuttingSystems\", technology: \"206380000\", platform: \"206380001\", ProductClassType: \"692300003\" },\r\n { id: \"PlasmaConsumables\", technology: \"206380000\", platform: \"\", ProductClassType: \"692300002\" },\r\n { id: \"LaserConsumables\", technology: \"206380001\", platform: \"\", ProductClassType: \"692300011\" }\r\n];\r\n","import EmbeddedFormBlock from \"./embedded-form-block.js\";\r\nimport { countries, usStates, caStates, auStates, nzStates, cnStates } from \"./dynamics-picklist-codes.js\";\r\n\r\nexport default class ProductRegistration {\r\n constructor(data, elements) {\r\n this.data = data; // form submitted data\r\n this.elements = elements; // form elements to get field freindly name\r\n \r\n this.embeddedFormBlockCntnr = document.querySelector(\"[data-embedded-form-block]\");\r\n if (this.embeddedFormBlockCntnr !== null) {\r\n this.embeddedFormBlock = new EmbeddedFormBlock(this.embeddedFormBlockCntnr);\r\n this.embeddedFormFields = window.embeddedForms[this.embeddedFormBlock.elementId]; // d365 form field ids\r\n }\r\n }\r\n\r\n populateTextField(fieldId, fieldValue) {\r\n const field = document.getElementById(fieldId);\r\n if (!field)\r\n return;\r\n\r\n field.value = fieldValue;\r\n }\r\n\r\n populateCheckbox(fieldId, fieldValue) {\r\n const yes = [\"Yes\", \"N\"];\r\n if (!yes.includes(fieldValue))\r\n return;\r\n\r\n const field = document.getElementById(fieldId);\r\n if (!field)\r\n return;\r\n\r\n field.checked = true;\r\n }\r\n\r\n populateRadio(fieldId, fieldValue) {\r\n var targetField;\r\n switch (fieldValue) {\r\n case \"Y\":\r\n targetField = `${fieldId}_0`;\r\n break;\r\n case \"N\":\r\n targetField = `${fieldId}_1`;\r\n break;\r\n }\r\n const field = document.getElementById(targetField);\r\n if (!field)\r\n return;\r\n\r\n field.checked = true;\r\n }\r\n\r\n populateLookup(fieldId, val, codesArray) {\r\n const code = codesArray.find(c => c.id === val);\r\n const input = document.getElementById(fieldId);\r\n\r\n if (!input)\r\n return;\r\n input.setAttribute(\"data-value\", code.dataValue);\r\n }\r\n\r\n populateEmbeddedForm() {\r\n var country;\r\n var state;\r\n\r\n for (var d of this.data) {\r\n var key = d[0];\r\n var val = d[1];\r\n var field = this.elements[key];\r\n\r\n if (typeof field !== \"undefined\") {\r\n var fieldName = field[\"friendlyName\"];\r\n\r\n switch (fieldName) {\r\n case \"firstName\":\r\n this.populateTextField(this.embeddedFormFields.get(\"firstname\"), val);\r\n break;\r\n case \"lastName\":\r\n this.populateTextField(this.embeddedFormFields.get(\"lastname\"), val);\r\n break;\r\n case \"email\":\r\n this.populateTextField(this.embeddedFormFields.get(\"email\"), val);\r\n break;\r\n case \"phone\":\r\n this.populateTextField(this.embeddedFormFields.get(\"phone\"), val);\r\n break;\r\n case \"address1\":\r\n this.populateTextField(this.embeddedFormFields.get(\"address1\"), val);\r\n break;\r\n case \"address2\":\r\n this.populateTextField(this.embeddedFormFields.get(\"address2\"), val);\r\n break;\r\n case \"city\":\r\n this.populateTextField(this.embeddedFormFields.get(\"city\"), val);\r\n break;\r\n case \"zipPostal\":\r\n this.populateTextField(this.embeddedFormFields.get(\"zip\"), val);\r\n break;\r\n case \"company\":\r\n this.populateTextField(this.embeddedFormFields.get(\"company\"), val);\r\n break;\r\n case \"serialNumber\":\r\n this.populateTextField(this.embeddedFormFields.get(\"serialnumber\"), val);\r\n break;\r\n case \"privacyPolicy\":\r\n this.populateCheckbox(this.embeddedFormFields.get(\"privacypolicy\"),val);\r\n break;\r\n case \"emailPreference\":\r\n this.populateRadio(this.embeddedFormFields.get(\"emailpreference\"), val);\r\n break;\r\n case \"country\":\r\n country = val;\r\n this.populateLookup(this.embeddedFormFields.get(\"country\"), val, countries);\r\n break;\r\n case \"stateProv\":\r\n state = val;\r\n break;\r\n default:\r\n }\r\n }\r\n }\r\n\r\n if (country === \"US\" || country === \"AU\" || country === \"NZ\" || country === \"CA\" || country === \"CN\") {\r\n var codesArray;\r\n\r\n switch (country) {\r\n case \"US\":\r\n codesArray = usStates;\r\n break;\r\n case \"AU\":\r\n codesArray = auStates;\r\n break;\r\n case \"NZ\":\r\n codesArray = nzStates;\r\n break;\r\n case \"CA\":\r\n codesArray = caStates;\r\n break;\r\n case \"CN\":\r\n codesArray = cnStates;\r\n break;\r\n\r\n default:\r\n }\r\n this.populateLookup(this.embeddedFormFields.get(\"state\"), state, codesArray);\r\n }\r\n\r\n let form = this.embeddedFormBlockCntnr.querySelector(\"form\");\r\n form.requestSubmit();\r\n }\r\n}\r\n","import Slider from \"/Assets/js/libs/slider.js\";\r\nimport { onReady } from \"/Assets/js/utilities.js\";\r\n\r\nexport default class BrandSlider {\r\n init() {\r\n onReady(() => {\r\n var selector, duration;\r\n\r\n selector = \"brandSlider\";\r\n duration = 500;\r\n\r\n var initializeSlider = document.getElementById(selector);\r\n\r\n if (!initializeSlider)\r\n return;\r\n\r\n const slider = new Slider({\r\n selector: \"#\" + selector,\r\n loop: false,\r\n autoHeight: true,\r\n duration: duration,\r\n perPage: {\r\n 480: 2,\r\n 768: 4,\r\n 992: 6\r\n }\r\n });\r\n const sliderWrapper = initializeSlider.parentNode;\r\n const prev = sliderWrapper.querySelector(\".prev\");\r\n const next = sliderWrapper.querySelector(\".next\");\r\n\r\n prev.addEventListener(\"click\", () => slider.prev());\r\n next.addEventListener(\"click\", () => slider.next());\r\n });\r\n }\r\n}\r\n","import Slider from \"/Assets/js/libs/slider.js\";\r\nimport { onReady } from \"/Assets/js/utilities.js\";\r\n\r\nexport default class CustomerStorySlider {\r\n init() {\r\n onReady(() => {\r\n var clsPrefix, selector, stopTime, duration;\r\n\r\n selector = \".slider\";\r\n clsPrefix = \"slider\";\r\n stopTime = 5000;\r\n duration = 500;\r\n\r\n var initializeSlider = document.querySelector(\".slider\");\r\n\r\n if (!initializeSlider)\r\n return;\r\n\r\n var autoSlider = initializeSlider.dataset.auto;\r\n var autoBool = (autoSlider === \"true\");\r\n\r\n const slider = new Slider({\r\n selector: selector,\r\n clsPrefix: clsPrefix,\r\n duration: duration,\r\n loop: true,\r\n autoHeight: true,\r\n onChange: function () {\r\n this.updatePagination(clsPrefix + \"__pagination-btn\", clsPrefix + \"__item\");\r\n }\r\n });\r\n\r\n slider.setPagination(clsPrefix + \"__pagination\", clsPrefix + \"__pagination-btn\", clsPrefix + \"__item\");\r\n\r\n if (autoBool) {\r\n slider.setHoverPause(stopTime);\r\n }\r\n });\r\n }\r\n}\r\n","/* global $$epiforms, epi */\r\nimport CampaignSource from \"/Assets/js/campaign-source.js\";\r\nimport LeadSource from \"/Assets/js/lead-source.js\";\r\nimport { getWithExpiry, setWithExpiry } from \"/Assets/js/utilities.js\";\r\n\r\nwindow.dataLayer = window.dataLayer || [];\r\n\r\nif (typeof $$epiforms !== \"undefined\") {\r\n (function($) {\r\n epi.EPiServer.Forms.AsyncSubmit = true;\r\n\r\n $.extend(true,\r\n epi.EPiServer.Forms,\r\n {\r\n Validators: {\r\n \"Hypertherm.Web.Infrastructure.Forms.Validation.SerialNumberValidator\": function(\r\n fieldName,\r\n fieldValue,\r\n validatorMetaData\r\n ) {\r\n var validateResult = { isValid: false };\r\n const $element = $(`input[name=${fieldName}]`);\r\n const placeholder = $element.attr(\"placeholder\");\r\n const maskPlaceholder = placeholder.replace(/_/g, \"\").trim();\r\n\r\n if (fieldValue.length) {\r\n if (fieldValue === maskPlaceholder) {\r\n validateResult.isValid = false;\r\n validateResult.message = validatorMetaData.model.message;\r\n } else {\r\n $.ajax({\r\n async: false,\r\n url: `/InstallBase/ValidateSerialNumber?serialNumber=${fieldValue}`,\r\n success: function (valid) {\r\n validateResult.isValid = valid;\r\n if (!validateResult.isValid)\r\n validateResult.message = validatorMetaData.model.message;\r\n },\r\n error: function() {\r\n validateResult.isValid = false;\r\n validateResult.message = validatorMetaData.model.message;\r\n }\r\n });\r\n }\r\n } else {\r\n validateResult.isValid = true;\r\n }\r\n return validateResult;\r\n },\r\n \"Hypertherm.Web.Infrastructure.Forms.Validation.PhoneNumberValidator\": function(fieldName,\r\n fieldValue,\r\n validatorMetaData) {\r\n const validateResult = { isValid: false };\r\n\r\n if (fieldValue.length) {\r\n const $element = $(`[data-f-element-name=${fieldName}]`).find(\"[data-phone-input]\");\r\n const plugin = $element.data(\"plugin_PhoneNumberElementPlugin\");\r\n\r\n const isValid = plugin.iti.isValidNumber();\r\n\r\n if (isValid) {\r\n validateResult.isValid = true;\r\n } else {\r\n validateResult.isValid = false;\r\n validateResult.message = validatorMetaData.model.message;\r\n }\r\n } else {\r\n validateResult.isValid = true;\r\n }\r\n\r\n return validateResult;\r\n }\r\n },\r\n CustomBindingElements: {\r\n \"Hypertherm.Web.Features.Forms.Models.DateTimeElementBlock\": function(\r\n elementInfo,\r\n val\r\n ) {\r\n if (!val || $.type(val) !== \"string\" || !Date.parse(val)) {\r\n return;\r\n } else {\r\n return val;\r\n }\r\n }\r\n }\r\n });\r\n\r\n $$epiforms(\".EPiServerForms\")\r\n .on(\"formsSetupCompleted\",\r\n function(e) {\r\n const $form = $(e.currentTarget);\r\n var formName = $form.attr(\"name\");\r\n formName = formName ? formName : e.workingFormInfo.Name;\r\n var formStarted = false;\r\n\r\n $form.find(\"ul.dropdown-menu\").on(\"click\",\r\n function() {\r\n $(this).prev(\"input\").trigger(\"formsDependencyStateChanged\");\r\n });\r\n\r\n $(function() {\r\n $(e.currentTarget)\r\n .find(\r\n \"input,[data-selection-element],[data-country-selection-element],button,textarea\"\r\n )\r\n .each(function() {\r\n $(this).on(\"click blur\",\r\n function() {\r\n if (!formStarted) {\r\n window.dataLayer.push({\r\n event: \"formStarted\",\r\n formId: formName\r\n });\r\n formStarted = true;\r\n }\r\n });\r\n });\r\n });\r\n\r\n // Load serial number format masks if there is a serial number field in the form\r\n const $serialNumberField = $(e.currentTarget).find(\"div.serialNumber\");\r\n var formatMasksCacheKey = \"product-serial-number-format-masks\";\r\n if ($serialNumberField.length) {\r\n const $serialNumberHelp = $(e.currentTarget).find(\".serialNumberHelp\");\r\n const $serialNumberHelpBlock = $serialNumberHelp.parent();\r\n\r\n if ($serialNumberHelp.length) {\r\n $serialNumberHelpBlock.hide();\r\n $(e.currentTarget).find(\".serialNumberHelp\").insertAfter($serialNumberField);\r\n }\r\n\r\n if (getWithExpiry(formatMasksCacheKey)) {\r\n return;\r\n } else {\r\n $.ajax({\r\n dataType: \"json\",\r\n url: \"/InstallBase/GetSerialNumberFormatMasks\",\r\n success: function(data) {\r\n // storing for 30 minutes (1800 seconds)\r\n setWithExpiry(\r\n formatMasksCacheKey,\r\n JSON.stringify(data),\r\n 1800\r\n );\r\n }\r\n });\r\n }\r\n }\r\n })\r\n .on(\"formsStepValidating\",\r\n function(e) {\r\n if (e.isValid) {\r\n return;\r\n }\r\n\r\n $(e.target).find(\".ValidationFail input\").focus();\r\n })\r\n .on(\"formsStartSubmitting\",\r\n function() {\r\n const $this = $(this);\r\n const $submit = $this.find(\".FormSubmitButton\");\r\n const text = $submit.data(\"loading-text\");\r\n if (text) {\r\n $submit.data(\"label-text\", $submit.html());\r\n $submit.html(text);\r\n }\r\n $submit.prop(\"disabled\", true);\r\n })\r\n .on(\"formsSubmitted\",\r\n function(e) {\r\n var formName = $(e.currentTarget).attr(\"name\");\r\n formName = formName ? formName : e.workingFormInfo.Name;\r\n\r\n const $this = $(this);\r\n const isModal = $this.parents(\".modal-body\").length > 0;\r\n\r\n if (!isModal) {\r\n $this.find(\".Form__Status\").scrollIntoView();\r\n }\r\n\r\n const $submit = $this.find(\".FormSubmitButton\");\r\n const text = $submit.data(\"label-text\");\r\n if (text) {\r\n $submit.html(text);\r\n }\r\n $submit.prop(\"disabled\", false);\r\n\r\n if (!e.isSuccess) {\r\n return;\r\n }\r\n\r\n var formType = \"Other\";\r\n const leadGen = $(e.currentTarget).find('input[value=\"Lead Gen\"]');\r\n const leadCapture = $(e.currentTarget).find('input[value=\"Lead Capture\"]');\r\n const support = $(e.currentTarget).find(\"input[value=Support]\");\r\n const registration = $(e.currentTarget).find(\"input[value=Registration]\");\r\n const productRegistration = $(e.currentTarget).find('input[value=\"Product Registration\"]');\r\n\r\n if (leadGen.length || leadCapture.length) {\r\n formType = \"Lead Capture\";\r\n } else if (support.length) {\r\n formType = support.val();\r\n } else if (registration.length || productRegistration.length) {\r\n formType = \"Registration\";\r\n }\r\n\r\n if (isModal) {\r\n setTimeout(function() {\r\n $(\".modal\").modal(\"hide\");\r\n },\r\n 5000);\r\n }\r\n\r\n if (e.isFinalizedSubmission && e.isSuccess) {\r\n window.dataLayer.push({\r\n event: \"formSubmissionSuccess\",\r\n formId: formName,\r\n formType: formType\r\n });\r\n }\r\n });\r\n\r\n appendToMessageField();\r\n\r\n let leadSource = new LeadSource();\r\n leadSource.setOptimizelyFormsLeadSource();\r\n\r\n let campaignSource = new CampaignSource();\r\n campaignSource.setCampaignName();\r\n\r\n })($$epiforms || $);\r\n}\r\n\r\nfunction appendToMessageField() {\r\n $(\"form\").each(function() {\r\n const $form = $(this);\r\n const appendToMessageField = $form.find(\"input.appendToMessage\");\r\n if (!appendToMessageField.length)\r\n return;\r\n\r\n const messageField = $form.find(\"textarea.message\");\r\n if (messageField.length) {\r\n $(messageField).val(appendToMessageField.val());\r\n }\r\n });\r\n}\r\n","import { isNullOrUndefined } from \"/Assets/js/utilities.js\";\r\n\r\ndocument.addEventListener(\"DOMContentLoaded\", function () {\r\n if (document.getElementById(\"global-landing-page\")) {\r\n const globalLandingPage = new GlobalLandingPage();\r\n globalLandingPage.init();\r\n }\r\n});\r\n\r\nexport default class GlobalLandingPage {\r\n init() {\r\n // Reset cached navigation items in local storage\r\n const mainNavigationCacheKey = \"hypertherm-main-nav\";\r\n const productFinderCacheKey = \"hypertherm-product-finder\";\r\n\r\n localStorage.removeItem(mainNavigationCacheKey);\r\n localStorage.removeItem(productFinderCacheKey);\r\n\r\n this.setUrlAnchor();\r\n }\r\n\r\n setUrlAnchor() {\r\n var url = window.location;\r\n var anchor = url.hash;\r\n\r\n if (isNullOrUndefined(anchor))\r\n return;\r\n\r\n var inputs = document.querySelectorAll(\"input[name=urlanchor]\");\r\n\r\n if (!inputs.length)\r\n return;\r\n\r\n [...inputs].forEach(input => {\r\n input.value = anchor;\r\n });\r\n }\r\n}\r\n","import Slider from \"/Assets/js/libs/slider.js\";\r\nimport { onReady } from \"/Assets/js/utilities.js\";\r\n\r\nexport default class HeroShotSlider {\r\n init() {\r\n onReady(() => {\r\n var selector = \".hero-shot-slider\";\r\n var initializeSlider = document.querySelector(selector);\r\n if (!initializeSlider)\r\n return;\r\n\r\n var clsPrefix = \"slider\";\r\n var duration = 500;\r\n var autoSlider = initializeSlider.dataset.auto;\r\n var autoBool = (autoSlider === \"true\");\r\n var slideInterval = initializeSlider.dataset.slideInterval == 0 ? 10000 : initializeSlider.dataset.slideInterval;\r\n\r\n const slider = new Slider({\r\n selector: selector,\r\n clsPrefix: clsPrefix,\r\n duration: duration,\r\n loop: true,\r\n onChange: () => {\r\n slider.updatePagination(clsPrefix + \"__pagination-btn\", clsPrefix + \"__item\");\r\n slider.setAutoHeight();\r\n }\r\n });\r\n\r\n slider.setAutoHeight();\r\n\r\n if (autoBool) {\r\n slider.setHoverPause(slideInterval);\r\n }\r\n\r\n slider.setPagination(clsPrefix + \"__pagination\", clsPrefix + \"__pagination-btn\", clsPrefix + \"__item\");\r\n\r\n const prev = document.querySelector(\".hero-shot-slider-wrap .hero-shot-slider-prev\");\r\n const next = document.querySelector(\".hero-shot-slider-wrap .hero-shot-slider-next\");\r\n if (prev) {\r\n prev.addEventListener(\"click\", () => slider.prev());\r\n }\r\n if (next) {\r\n next.addEventListener(\"click\", () => slider.next());\r\n }\r\n\r\n //unhide image overlays. hidden to reduce visual flash until slider is ready\r\n setTimeout(function () {\r\n let overlays = document.querySelectorAll(\".hero-shot-overlay\");\r\n [].forEach.call(overlays, function (overlay) {\r\n overlay.classList.remove(\"loading\");\r\n });\r\n }, 300);\r\n });\r\n }\r\n}\r\n","document.addEventListener(\"DOMContentLoaded\", () => {\r\n if (document.querySelectorAll(\"[data-marquee]\").length) {\r\n const marquee = new Marquee();\r\n marquee.init();\r\n }\r\n});\r\n\r\nexport default class Marquee {\r\n constructor() {\r\n this.init();\r\n }\r\n\r\n init() {\r\n const shortenElements = document.querySelectorAll(\".marquee span.shorten\");\r\n shortenElements.forEach(element => {\r\n element.textContent = element.textContent.substring(0, 140) + \"...\";\r\n });\r\n\r\n this.startMarquee(\"marquee\", { speed: 10, delay: 500 });\r\n }\r\n\r\n extend(object1, object2) {\r\n for (let attrname in object2) {\r\n object1[attrname] = object2[attrname];\r\n }\r\n return object1;\r\n }\r\n\r\n startMarquee(id, param) {\r\n const tickerBox = document.getElementById(id);\r\n const defaultParam = { speed: 5, delay: 500, rotate: true };\r\n const extendedParam = this.extend(defaultParam, param);\r\n const ul = tickerBox.getElementsByTagName(\"ul\")[0];\r\n const li = ul.getElementsByTagName(\"li\");\r\n let liIndex = 0;\r\n let transWidth = tickerBox.offsetWidth;\r\n const chunkWidth = 1;\r\n let animationFrameId;\r\n\r\n const iterateTickerElement = (transWidth) => {\r\n li[liIndex].style.left = transWidth + \"px\";\r\n li[liIndex].style.display = \"\";\r\n\r\n const animate = () => {\r\n const currentLeft = parseInt(li[liIndex].style.left);\r\n if (currentLeft > -li[liIndex].offsetWidth) {\r\n li[liIndex].style.left = currentLeft - chunkWidth + \"px\";\r\n animationFrameId = requestAnimationFrame(animate);\r\n } else {\r\n cancelAnimationFrame(animationFrameId);\r\n transWidth = tickerBox.offsetWidth;\r\n liIndex++;\r\n if (liIndex == li.length && extendedParam.rotate) {\r\n liIndex = 0;\r\n iterateTickerElement(transWidth);\r\n } else if (liIndex < li.length) {\r\n setTimeout(() => {\r\n iterateTickerElement(transWidth);\r\n }, extendedParam.delay);\r\n }\r\n }\r\n };\r\n\r\n animationFrameId = requestAnimationFrame(animate);\r\n\r\n tickerBox.onmouseover = () => {\r\n cancelAnimationFrame(animationFrameId);\r\n };\r\n tickerBox.onmouseout = () => {\r\n animationFrameId = requestAnimationFrame(animate);\r\n };\r\n };\r\n\r\n iterateTickerElement(transWidth);\r\n }\r\n}\r\n","/* eslint-disable no-undef */\r\nimport { convertHMS, onReady } from \"/Assets/js/utilities.js\";\r\n\r\nexport default class ListingPages {\r\n init() {\r\n onReady(() => {\r\n // TODO - remove dependence on jquery\r\n\r\n if (window.location.href.indexOf(\"global-landing-page\") === -1) {\r\n this.customSearch();\r\n }\r\n\r\n $(\"[lsp-input]\").on(\"keypress\", function (event) {\r\n if (event.which == 13) {\r\n $('[lps-form=\"' + $(this).attr(\"lsp-input\") + '\"]').submit();\r\n }\r\n });\r\n\r\n $(\"[lps-expand]\").on(\"click\", function () {\r\n var self = $(this);\r\n var expandData = self.attr(\"lps-expand-data\");\r\n var scrollTo = self.attr(\"lps-expand-scrollto\");\r\n $(\"[lps-expand-data=\" + expandData + \"]\").show();\r\n self.hide();\r\n if (scrollTo != undefined) $(scrollTo).scrollIntoView();\r\n });\r\n\r\n window.vidyardEmbed\r\n ? this.updateVideoDurations()\r\n : document.addEventListener(\"onVidyardAPI\", ({ detail: vyApi }) => init(vyApi));\r\n });\r\n }\r\n\r\n videoPaginationComplete() {\r\n this.updateVideoDurations();\r\n }\r\n\r\n updateVideoDurations() {\r\n var vids = $(\"#VideoListingUpdatePanel\").find(\"[data-video-source-url]\");\r\n\r\n $(vids).each(function (i, obj) {\r\n var vidDuration;\r\n var url = $(obj).data(\"video-source-url\");\r\n var pieces = url.split(/[/]+/);\r\n var videoId = pieces[pieces.length - 1].replace(/\\?*$/, \"\");\r\n\r\n window.vidyardEmbed.api\r\n .getPlayerMetadata(videoId)\r\n .then((metadata) => {\r\n vidDuration = metadata.length_in_seconds;\r\n $(obj)\r\n .find(\"[data-video-duration]\")\r\n .text(convertHMS(vidDuration));\r\n })\r\n .catch(() => {\r\n console.error(\"error fetching player metadata\");\r\n });\r\n });\r\n }\r\n\r\n customSearch() {\r\n // Submit the form if the user presses enter in a search input\r\n $(\".search-group.no-suggestions input.search\")\r\n .on(\"keypress\", function (e) {\r\n var code = e.keyCode ? e.keyCode : e.which;\r\n if (code == 13) {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n $(this)\r\n .closest(\"form\")\r\n .submit();\r\n }\r\n })\r\n .on(\"propertychange input\", function (e) {\r\n var valueChanged = false;\r\n\r\n if (e.type == \"propertychange\") {\r\n valueChanged = e.originalEvent.propertyName == \"value\";\r\n } else {\r\n valueChanged = true;\r\n }\r\n if (valueChanged) {\r\n var newVal = $(this).val();\r\n var clearSearch = $(this)\r\n .parent()\r\n .find(\".clear-search\");\r\n newVal.length == 0 ? clearSearch.hide() : clearSearch.show();\r\n }\r\n })\r\n .each(function () {\r\n var clearSearch = $(this)\r\n .parent()\r\n .find(\".clear-search\");\r\n $(this).val().length == 0 ? clearSearch.hide() : clearSearch.show();\r\n });\r\n\r\n // Clear the search input if the user clicks the clear link\r\n $(\".search-group.no-suggestions .clear-search\").on(\"click\", function () {\r\n $(this)\r\n .parents(\".input-group\")\r\n .find(\"input.search\")\r\n .val(\"\")\r\n .focus();\r\n $(this).hide();\r\n });\r\n\r\n $(\".search-group.show-suggestions\")\r\n .combobox({\r\n exactMatch: false\r\n })\r\n .on(\"combobox:select\", function () {\r\n // User selected text so submit the form\r\n //console.debug('User selected \"' + target + '\". Should submit form...');\r\n $(this)\r\n .closest(\"form\")\r\n .submit();\r\n })\r\n .on(\"combobox:enter\", function () {\r\n // User pressed enter so submit the form\r\n //console.debug('User pressed enter. Should submit form...');\r\n $(this)\r\n .closest(\"form\")\r\n .submit();\r\n });\r\n }\r\n}\r\n","/* eslint-disable no-unused-vars */\r\n/* eslint-disable no-undef */\r\n/* eslint-disable no-console */\r\nimport { onReady, getCurrentRegion, getCookie, createCookie, convertHMS, loadScript } from \"/Assets/js/utilities.js\";\r\n\r\nfunction onYouTubeIframeAPIReady() {\r\n initializeGalleries();\r\n}\r\nwindow.onYouTubeIframeAPIReady = onYouTubeIframeAPIReady;\r\n\r\nonReady(() => {\r\n if ($(\".youtubeSlide\").length > 0 && getCurrentRegion() !== \"China\") {\r\n loadScript(\"https://www.youtube.com/iframe_api\");\r\n } else {\r\n initializeGalleries();\r\n }\r\n});\r\n\r\nfunction initializeGalleries() {\r\n var options;\r\n if ($(\"[data-single-video]\").length > 0) {\r\n $(\"[data-single-video]\").each(function (idx, element) {\r\n new MediaGallery(element, options);\r\n });\r\n }\r\n\r\n if ($(\".media-gallery-cntnr\").length > 0) {\r\n options = { type: \"productgallery\" };\r\n $(\".media-gallery-cntnr\").each(function (idx, element) {\r\n new MediaGallery(element, options);\r\n });\r\n }\r\n\r\n if ($(\".galleryContainer\").length > 0) {\r\n if ($(\".main-content.careers\").length > 0) {\r\n options = {\r\n item: 6,\r\n responsive: [\r\n {\r\n breakpoint: 768,\r\n settings: {\r\n item: 4,\r\n slideMove: 1\r\n }\r\n },\r\n {\r\n breakpoint: 480,\r\n settings: {\r\n item: 2,\r\n slideMove: 1\r\n }\r\n }\r\n ]\r\n };\r\n $(\".galleryContainer\").each(function (idx, element) {\r\n new MediaGallery(element, options);\r\n });\r\n\r\n } else {\r\n $(\".galleryContainer\").each(function (idx, element) {\r\n new MediaGallery(element);\r\n });\r\n }\r\n }\r\n}\r\n\r\nexport default class MediaGallery {\r\n constructor(element, options) {\r\n this.$elem = $(element);\r\n this.vidyardPlayerStopped = true;\r\n this.vyApi;\r\n\r\n const defaults = {\r\n type: \"vertical\",\r\n item: 4,\r\n loop: false,\r\n slideMargin: 5,\r\n responsive: [\r\n {\r\n breakpoint: 800,\r\n settings: {\r\n item: 3,\r\n slideMove: 1\r\n }\r\n },\r\n {\r\n breakpoint: 480,\r\n settings: {\r\n item: 2,\r\n slideMove: 1\r\n }\r\n }\r\n ]\r\n };\r\n this.options = $.extend({}, defaults, options);\r\n\r\n window.vidyardEmbed\r\n ? this.init(window.vidyardEmbed)\r\n : document.addEventListener(\"onVidyardAPI\", ({ detail: vyApi }) => this.init(vyApi));\r\n }\r\n\r\n init(vyApi) {\r\n var self = this;\r\n self.vyApi = vyApi;\r\n\r\n if (typeof self.$elem.data(\"single-video\") !== \"undefined\") {\r\n self.showSingleVideo();\r\n } else {\r\n self.$slider = self.$elem.find(\".gallerySlider\");\r\n self.$mediaPanel = self.$elem.find(\".mediaPanel\");\r\n self.$mediaDisplayPanel = self.$elem.find(\"div.mediaDisplayPanel\");\r\n self.$mediaInfoPanel = self.$elem.find(\"div.mediaInfoPanel\");\r\n self.$galleryPanel = self.$elem.find(\".galleryPanel\");\r\n self.$galleryPanelCol = self.$galleryPanel.parent();\r\n self.isVertical = self.options.type === \"vertical\" ? true : false;\r\n self.isProductGallery = self.options.type === \"productgallery\" ? true : false;\r\n self.$videoModal = $(\".product-media-gallery #videoModal\");\r\n self.$lightboxModal = $(\".product-media-gallery #lightbox\");\r\n self.$carousel = $(\".product-media-gallery #carousel\");\r\n\r\n if (!self.$elem.hasClass(\"initialized\")) {\r\n self.$elem.addClass(\"initialized\");\r\n self.$elem.data(\"gallery\", self.$elem);\r\n\r\n // Initialize the media display elements based upon the type of listItems\r\n if (self.$slider.find(\"li.youtubeSlide\").length > 0) {\r\n self.$mediaDisplayPanel.append(\r\n `
`\r\n );\r\n }\r\n if (self.$slider.find(\"li.sketchfabSlide\").length > 0) {\r\n self.$mediaDisplayPanel.append(\r\n `
`\r\n );\r\n }\r\n if (self.$slider.find(\"li.imageSlide\").length > 0) {\r\n self.$mediaDisplayPanel.append(\r\n ``\r\n );\r\n }\r\n }\r\n\r\n if (self.isVertical) {\r\n var slider = self.$slider\r\n .lightSlider({\r\n controls: false,\r\n pager: false,\r\n gallery: false,\r\n item: self.options.item,\r\n loop: self.options.loop,\r\n slideMargin: self.options.slideMargin,\r\n responsive: self.options.responsive,\r\n onSliderLoad: function (el) {\r\n self.showSlide($(\"li.active\", el), false);\r\n }\r\n })\r\n .show();\r\n $(\".slideControls .slidePrev\").click(function () {\r\n slider.goToPrevSlide();\r\n });\r\n\r\n $(\".slideControls .slideNext\").click(function () {\r\n slider.goToNextSlide();\r\n });\r\n\r\n if (self.$slider.children(\"li\").size() <= 1) {\r\n self.$slider.hide();\r\n self.$galleryPanelCol.hide();\r\n } else {\r\n self.$slider.find(\"li\").each(function (idx, element) {\r\n if ($(element).hasClass(\"vidyardSlide\")) {\r\n var vidTitle, vidDuration;\r\n var vidId = $(element).data(\"src\");\r\n var durationCntnr = $(element).find(\"[data-video-duration]\");\r\n\r\n self.vyApi.api\r\n .getPlayerMetadata(vidId)\r\n .then((metadata) => {\r\n vidDuration = metadata.length_in_seconds;\r\n vidTitle = metadata.name;\r\n self.$mediaDisplayPanel.attr(\"data-video-title\", vidTitle);\r\n $(element).attr(\"data-video-title\", vidTitle);\r\n $(`#vgModal-${vidId}`)\r\n .find(\"input.videoTitle\")\r\n .val(vidTitle);\r\n\r\n if (durationCntnr.length) {\r\n $(durationCntnr).text(convertHMS(vidDuration));\r\n }\r\n })\r\n .catch(() => {\r\n console.error(\"error fetching player metadata\");\r\n });\r\n }\r\n });\r\n }\r\n } else {\r\n self.showSlide(self.$slider.find(\"li:first\"), false);\r\n }\r\n self.bindEvents();\r\n }\r\n }\r\n\r\n bindEvents() {\r\n var self = this;\r\n\r\n self.$slider.find(\"li\").on(\"click\",\r\n function () {\r\n self.showSlide($(this), true);\r\n });\r\n\r\n self.$videoModal.on(\"hide.bs.modal\",\r\n function () {\r\n self.pauseCurrentSlide();\r\n });\r\n\r\n self.$lightboxModal.on(\"show.bs.modal\",\r\n function (e) {\r\n const trigger = $(e.relatedTarget);\r\n const slide = trigger.data(\"slide-to\");\r\n self.startCarousel(parseInt(slide));\r\n });\r\n\r\n self.$lightboxModal.on(\"hide.bs.modal\",\r\n function () {\r\n self.resetCarousel();\r\n });\r\n\r\n if (typeof $$epiforms !== \"undefined\") {\r\n $$epiforms(document).ready(function myfunction() {\r\n // TODO allow multiple video gate forms in media gallery on one page.\r\n $$epiforms(\".EPiServerForms\").on(\"formsSubmitted\",\r\n function (e) {\r\n var formName = $(e.currentTarget).attr(\"name\");\r\n formName = formName ? formName : e.workingFormInfo.Name;\r\n if (formName !== \"video-gate\") return;\r\n createCookie(\"_hyp_vgform\",\r\n true,\r\n 365); //TODO check on number of days to save cookie\r\n $(\".modal\").modal(\"hide\");\r\n self.renderVidyardVideo();\r\n });\r\n });\r\n }\r\n }\r\n\r\n showVideoGate(listItem) {\r\n var show = false;\r\n const hasVideoGateElement = listItem.data(\"video-gate\") === \"True\" ? true : false;\r\n const videoGateCookie = getCookie(\"_hyp_vgform\");\r\n\r\n if (videoGateCookie === null && hasVideoGateElement) {\r\n show = true;\r\n }\r\n\r\n return show;\r\n }\r\n\r\n startCarousel(slide) {\r\n var self = this;\r\n self.$carousel.carousel(slide).carousel(\"cycle\");\r\n }\r\n\r\n resetCarousel() {\r\n var self = this;\r\n self.$carousel.carousel(\"pause\").carousel(0);\r\n }\r\n\r\n isMobile() {\r\n return ResponsiveBootstrapToolkit.is(\"xs\");\r\n }\r\n\r\n showSingleVideo() {\r\n var self = this;\r\n const videoId = self.$elem.data(\"src\");\r\n\r\n if (self.$elem.hasClass(\"sketchfabSlide\")) {\r\n const videoUrl = `https://sketchfab.com/models/${videoId}/embed?preload=1`;\r\n self.$elem\r\n .append(\r\n `
`\r\n );\r\n } else if (self.$elem.hasClass(\"youtubeSlide\")) {\r\n const youtubeFrame = self.$elem\r\n .append(\r\n `
`\r\n )\r\n .find(\"div.youtube\");\r\n\r\n if (getCurrentRegion() !== \"China\") {\r\n new YT.Player(youtubeFrame.attr(\"id\"),\r\n {\r\n width: \"100%\",\r\n height: \"100%\",\r\n videoId: self.$elem.data(\"src\"),\r\n playerVars: { rel: 0 },\r\n events: {\r\n onReady: function (event) {\r\n if (youTubeQueue.content) youTubeQueue.pop();\r\n if (self.$elem.data(\"YT.Player\") == null)\r\n self.$elem.data(\"YT.Player\", event.target);\r\n }\r\n }\r\n });\r\n }\r\n } else if (self.$elem.hasClass(\"vidyardSlide\")) {\r\n var vidTitle;\r\n self.vyApi.api\r\n .getPlayerMetadata(videoId)\r\n .then((metadata) => {\r\n vidTitle = metadata.name;\r\n self.$elem.attr(\"data-video-title\", vidTitle);\r\n })\r\n .catch(() => {\r\n console.error(\"error fetching player metadata\");\r\n });\r\n\r\n self.$elem.append(\r\n `
`\r\n );\r\n\r\n const img = $(\"\").attr({\r\n class: \"img-responsive\",\r\n src: `https://play.vidyard.com/${videoId}.jpg?play_button=1`,\r\n \"data-v\": \"4\",\r\n \"data-type\": \"inline\"\r\n });\r\n img.attr({\r\n \"data-uuid\": videoId\r\n });\r\n img.addClass(\"vidyard-player-embed\");\r\n\r\n if (typeof self.$elem.data(\"cc\") !== \"undefined\") {\r\n img.attr({\r\n \"data-cc\": `${self.$elem.data(\"cc\")}`\r\n });\r\n }\r\n const vidCntnr = $(`div[data-uuid='${videoId}']`);\r\n vidCntnr.append(img).show();\r\n self.vyApi.api.renderDOMPlayers();\r\n } else {\r\n console.error(\"unknown slide type\");\r\n }\r\n }\r\n\r\n showSlide(listItem, autoPlay) {\r\n var self = this;\r\n\r\n if (listItem.length !== 1) return;\r\n\r\n if (listItem.hasClass(\"current\") && !self.isMobile()) return;\r\n\r\n var videoId;\r\n\r\n // Remove current active and set new active slide\r\n self.pauseCurrentSlide();\r\n self.$elem.find(\".current\").removeClass(\"current\");\r\n listItem.addClass(\"current\");\r\n\r\n if (\r\n self.$mediaInfoPanel !== null &&\r\n self.$mediaInfoPanel !== undefined &&\r\n self.$mediaInfoPanel.length > 0\r\n )\r\n self.$mediaInfoPanel.html(listItem.children(\"div.info\").clone().show());\r\n\r\n // Store this at the media panel level so we can test if we are already loaded\r\n self.$mediaPanel.data(\"src\", listItem.data(\"src\"));\r\n if (listItem.hasClass(\"imageSlide\")) {\r\n self.$mediaDisplayPanel\r\n .removeClass(\"embed-responsive-16by9\")\r\n .removeClass(\"embed-responsive\");\r\n } else {\r\n self.$mediaDisplayPanel.addClass(\"embed-responsive\");\r\n self.$mediaDisplayPanel.addClass(\"embed-responsive-16by9\");\r\n }\r\n\r\n if (listItem.hasClass(\"imageSlide\")) {\r\n self.$mediaDisplayPanel.children(\"iframe.youtube,div.vidyard_embed\").hide();\r\n self.$mediaDisplayPanel.children(\"div.sketchfab-embed-wrapper\").hide();\r\n self.$mediaDisplayPanel\r\n .children(\"img\")\r\n .attr(\"src\", listItem.data(\"src\"))\r\n .show();\r\n\r\n } else if (listItem.hasClass(\"sketchfabSlide\")) {\r\n self.$mediaDisplayPanel.children(\"img,div.vidyard_embed\").hide();\r\n self.$mediaDisplayPanel.children(\"iframe.youtube,img\").hide();\r\n self.$mediaDisplayPanel.children(\"div.sketchfab-embed-wrapper\").remove();\r\n\r\n videoId = listItem.data(\"src\");\r\n var videoURL = `https://sketchfab.com/models/${videoId}/embed?preload=1`;\r\n\r\n self.$mediaDisplayPanel\r\n .append(\r\n `
`\r\n )\r\n .show();\r\n\r\n } else if (listItem.hasClass(\"youtubeSlide\")) {\r\n self.$mediaDisplayPanel.children(\"img,div.vidyard_embed\").hide();\r\n self.$mediaDisplayPanel.children(\"div.sketchfab-embed-wrapper\").hide();\r\n self.$mediaDisplayPanel.children(\"iframe.youtube\").remove();\r\n\r\n var youtubeFrame = self.$mediaDisplayPanel\r\n .append(\r\n `
`\r\n )\r\n .find(\"div.youtube\");\r\n\r\n if (getCurrentRegion() !== \"China\") {\r\n new YT.Player(youtubeFrame.attr(\"id\"),\r\n {\r\n width: \"100%\",\r\n height: \"100%\",\r\n videoId: listItem.data(\"src\"),\r\n playerVars: { rel: 0 },\r\n events: {\r\n onReady: function (event) {\r\n if (youTubeQueue.content) youTubeQueue.pop();\r\n if (self.$mediaDisplayPanel.data(\"YT.Player\") == null)\r\n self.$mediaDisplayPanel.data(\"YT.Player\", event.target);\r\n if (!self.isMobile() && autoPlay) self.playCurrentSlide();\r\n }\r\n }\r\n });\r\n }\r\n } else if (listItem.hasClass(\"vidyardSlide\")) {\r\n self.$mediaDisplayPanel.children(\"iframe.youtube,img\").hide();\r\n self.$mediaDisplayPanel.children(\"div.sketchfab-embed-wrapper\").hide();\r\n self.$mediaDisplayPanel.children(\"div.vidyard_embed\").hide();\r\n\r\n var vidId = $(listItem).data(\"src\");\r\n var vidCntnr = $(`div[data-uuid='${vidId}']`);\r\n var hasVideoGate = self.showVideoGate(listItem);\r\n\r\n if (vidCntnr.length === 1) {\r\n vidCntnr.show();\r\n } else {\r\n self.$mediaDisplayPanel.append(\r\n `
`\r\n );\r\n\r\n var img = $(\"\").attr({\r\n class: \"img-responsive\",\r\n src: `https://play.vidyard.com/${vidId}.jpg?play_button=1`,\r\n \"data-v\": \"4\",\r\n \"data-type\": \"inline\"\r\n });\r\n\r\n if (hasVideoGate) {\r\n img.attr({\r\n \"data-video-uuid\": vidId\r\n });\r\n img.attr({\r\n \"data-toggle\": \"modal\"\r\n });\r\n img.attr({\r\n \"data-target\": `#vgModal-${vidId}`\r\n });\r\n img.attr({\r\n role: \"button\"\r\n });\r\n } else {\r\n img.attr({\r\n \"data-uuid\": vidId\r\n });\r\n img.addClass(\"vidyard-player-embed\");\r\n }\r\n\r\n if (typeof listItem.data(\"cc\") !== \"undefined\") {\r\n img.attr({\r\n \"data-cc\": `${listItem.data(\"cc\")}`\r\n });\r\n }\r\n\r\n vidCntnr = $(`div[data-uuid='${vidId}']`);\r\n vidCntnr.append(img).show();\r\n }\r\n\r\n if (!hasVideoGate) {\r\n self.vyApi.api.renderDOMPlayers();\r\n }\r\n\r\n if (autoPlay && hasVideoGate) {\r\n $(`#vgModal-${videoId}`).modal(\"show\");\r\n } else {\r\n if (!self.isMobile() && autoPlay) {\r\n self.playCurrentSlide();\r\n }\r\n }\r\n } else {\r\n console.error(\"unknown slide type\");\r\n }\r\n }\r\n\r\n renderVidyardVideo() {\r\n var self = this;\r\n\r\n const $img = self.$elem.find(\"[data-video-uuid]\");\r\n const uuid = $img.data(\"video-uuid\");\r\n $img.attr(\"data-uuid\", uuid);\r\n $img.addClass(\"vidyard-player-embed\");\r\n\r\n self.vyApi.api.renderDOMPlayers();\r\n self.playCurrentSlide();\r\n }\r\n\r\n pauseCurrentSlide() {\r\n var self = this;\r\n\r\n var player;\r\n const currentSlide = self.$elem.find(\".current\");\r\n if (currentSlide.length !== 1) return;\r\n\r\n if (currentSlide.hasClass(\"youtubeSlide\")) {\r\n player = YT.get(self.$mediaDisplayPanel.attr(\"id\") + \"_youtube\");\r\n if (player !== null) {\r\n if (typeof player.playVideo === \"function\") {\r\n player.pauseVideo();\r\n }\r\n }\r\n } else if (currentSlide.hasClass(\"vidyardSlide\")) {\r\n self.stopVidyardPlayers();\r\n }\r\n }\r\n\r\n playCurrentSlide() {\r\n var self = this;\r\n\r\n var player;\r\n const currentSlide = self.$elem.find(\".current\");\r\n if (currentSlide.length !== 1) return;\r\n\r\n if (currentSlide.hasClass(\"youtubeSlide\")) {\r\n player = YT.get(self.$mediaDisplayPanel.attr(\"id\") + \"_youtube\");\r\n if (player !== null) {\r\n self.isYouTubePlayerReady(player)\r\n ? player.playVideo()\r\n : youTubeQueue.push(function () {\r\n player.playVideo();\r\n });\r\n }\r\n } else if (currentSlide.hasClass(\"vidyardSlide\")) {\r\n const videoId = currentSlide.data(\"src\");\r\n const players = self.vyApi.api.getPlayersByUUID(videoId);\r\n player = players[0];\r\n self.startVidyardPlayer(player);\r\n }\r\n }\r\n\r\n startVidyardPlayer(player) {\r\n var self = this;\r\n\r\n if (self.vidyardPlayerStopped) {\r\n self.vidyardPlayerStopped = false;\r\n\r\n player.on(\"ready\",\r\n function () {\r\n setTimeout(function () {\r\n // Vidyard automatically starts all players, so have to stop others.\r\n self.vyApi.players.forEach(function (p) {\r\n if (p.uuid === player.uuid) {\r\n p.play();\r\n } else {\r\n p.pause();\r\n }\r\n });\r\n },\r\n 1000);\r\n });\r\n }\r\n }\r\n\r\n stopVidyardPlayers() {\r\n var self = this;\r\n\r\n self.vyApi.players.forEach(function (player) {\r\n player.pause();\r\n player.off(\"ready\");\r\n self.vidyardPlayerStopped = true;\r\n });\r\n }\r\n\r\n isYouTubePlayerReady(player) {\r\n return player && typeof player.playVideo === \"function\";\r\n }\r\n}\r\n\r\nvar youTubeQueue = {\r\n content: null,\r\n push: function (fn) {\r\n this.content = fn;\r\n },\r\n pop: function () {\r\n this.content.call();\r\n this.content = null;\r\n }\r\n};\r\n","export default class NotificationBar {\r\n constructor(name, value, days = 30) {\r\n // Store different values to make cookie. We'll assume it's only for current domain and at root path\r\n this.name = name, // Cookie Name (aka the key)\r\n this.value = value, // Cookie Value\r\n this.expires = days, // Defaults to 30 days\r\n\r\n this.notificationBtn = document.getElementById(\"notificationBtn\"), // Close Button ID\r\n this.notificationContainer = document.getElementById(\"notificationContainer\"); // Notification Container\r\n\r\n this.init();\r\n }\r\n\r\n init() {\r\n this.runNotificationCheck();\r\n }\r\n\r\n set() {\r\n let expire = new Date();\r\n expire.setTime(expire.getTime() + (this.expires * 24 * 60 * 60 * 1000)); // Use the this.expires to get date in future of cookie expiration.\r\n\r\n let expireString = \"expires=\" + expire.toUTCString();\r\n\r\n // Create Cookie\r\n document.cookie = this.name + \"=\" + this.value + \";\" + expireString + \";path=/\";\r\n }\r\n \r\n\r\n get() {\r\n let name = this.name + \"=\";\r\n let cookieArray = document.cookie.split(\";\");\r\n\r\n for(let i = 0; i < cookieArray.length; i++) {\r\n let cookie = cookieArray[i];\r\n\r\n while (cookie.charAt(0) == \" \") {\r\n cookie = cookie.substring(1);\r\n }\r\n\r\n // Return value of cookie name\r\n if (cookie.indexOf(name) == 0) {\r\n return cookie.substring(name.length, cookie.length);\r\n }\r\n } \r\n return false;\r\n }\r\n\r\n addClassAccepted() {\r\n // Visual Studio freaks out on bang bang or (!!). We're checking for truthiness. Basically it's something but not null, empty, or false.\r\n if (!!this.notificationContainer) { \r\n this.notificationContainer.classList.add(this.value);\r\n }\r\n }\r\n\r\n removeClassAccepted() {\r\n if (!!this.notificationContainer) {\r\n this.notificationContainer.classList.remove(this.value);\r\n }\r\n }\r\n\r\n createCookie() {\r\n this.set();\r\n }\r\n\r\n runNotificationCheck() {\r\n let self = this;\r\n \r\n if (this.get() && this.get() != false && this.get() == this.value) {\r\n // Means user has already seen message and accepted. So hide message by adding class .accepted. | Do other Accepted methods\r\n this.addClassAccepted();\r\n } else {\r\n // By default container already starts off with class accepted and is hidden to users. By adding a setTimeout and remove class .accepted the notificationBar this will pop in and get the users attention.\r\n setTimeout(function () {\r\n self.removeClassAccepted();\r\n }, 250);\r\n\r\n // This checks if button exists then add event listener on click\r\n if (!!this.notificationBtn) {\r\n this.notificationBtn.addEventListener(\"click\", function () {\r\n // Set button to have listener. Perform following functions if clicked.\r\n self.addClassAccepted();\r\n self.createCookie();\r\n });\r\n }\r\n // If Cookie is not set. Means user has not closed notification bar.\r\n }\r\n }\r\n}\r\n","/* global ResponsiveBootstrapToolkit */\r\n/* eslint no-unused-vars: 0 indent: 0 */\r\n\r\ndocument.addEventListener(\"DOMContentLoaded\", function () {\r\n if (document.querySelector(\"[data-prd-list-page]\")) {\r\n const productListingPage = new ProductListingPage();\r\n productListingPage.init();\r\n }\r\n\r\n document.querySelectorAll(\".nav-tabs-line a.tab-disabled\").forEach(tab => {\r\n tab.addEventListener(\"click\", function (e) {\r\n e.stopImmediatePropagation();\r\n });\r\n });\r\n});\r\n\r\nexport default class ProductListingPage {\r\n constructor() {\r\n this.productFilterForm = document.getElementById(\"productFilterForm\");\r\n }\r\n\r\n init() {\r\n this.bindEvents();\r\n this.updateFilters();\r\n }\r\n\r\n bindEvents() {\r\n document.querySelectorAll(\"div.tags input[type=checkbox]\").forEach(checkbox => {\r\n checkbox.addEventListener(\"click\", this.updateFilters.bind(this));\r\n });\r\n\r\n document.querySelectorAll(\".reset\").forEach(resetButton => {\r\n resetButton.addEventListener(\"click\", () => {\r\n document.querySelectorAll(\"input[type=checkbox]\").forEach(checkbox => {\r\n checkbox.checked = false;\r\n });\r\n document.querySelectorAll(\".tagDiv, .reset\").forEach(element => {\r\n element.style.display = \"none\";\r\n });\r\n });\r\n });\r\n\r\n this.productFilterForm.addEventListener(\"change\", (event) => {\r\n if (event.target.type === \"checkbox\" && !this.isMobileView()) {\r\n this.productFilterForm.submit();\r\n }\r\n });\r\n }\r\n\r\n isMobileView() {\r\n var viewport = ResponsiveBootstrapToolkit;\r\n return viewport.is(\"<=xs\");\r\n }\r\n\r\n getElementDisplayText(element) {\r\n var displayValue = element.dataset.displayText;\r\n if (displayValue) return displayValue;\r\n return element.value;\r\n }\r\n\r\n updateFilters() {\r\n var tags = document.getElementById(\"tags\");\r\n tags.innerHTML = \"\";\r\n var checkedTags = document.querySelectorAll(\"div.tags input:checked\");\r\n if (checkedTags.length > 0) {\r\n checkedTags.forEach(checkedTag => {\r\n var tag = document.createElement(\"div\");\r\n tag.className = \"tagDiv delete\";\r\n tag.dataset.value = checkedTag.value;\r\n tag.setAttribute(\"filter\", checkedTag.closest(\".panel\").querySelector(\".panel-heading\").id);\r\n tag.innerHTML = ` X ${this.getElementDisplayText(checkedTag)}`;\r\n tags.appendChild(tag);\r\n\r\n tag.addEventListener(\"click\", () => {\r\n var panel = document.querySelector(`.panel-group .panel[id=\"${tag.getAttribute(\"filter\")}\"]`);\r\n var checkbox = panel.querySelector(`div.tags input[type=checkbox][value=\"${tag.dataset.value}\"]`);\r\n checkbox.click();\r\n });\r\n });\r\n\r\n document.querySelectorAll(\".reset\").forEach(resetButton => {\r\n resetButton.style.display = \"block\";\r\n });\r\n } else {\r\n document.querySelectorAll(\".reset\").forEach(resetButton => {\r\n resetButton.style.display = \"none\";\r\n });\r\n }\r\n }\r\n}\r\n","import { onReady } from \"/Assets/js/utilities.js\";\r\n\r\nexport default class SiteSearch {\r\n\r\n constructor() {\r\n const siteSearchCntnr = document.querySelector(\".site-search\");\r\n this.siteSearchCntnr = siteSearchCntnr;\r\n const mobileSiteSearchCntnr = document.querySelector(\".site-search-mobile\");\r\n this.mobileSiteSearchCntnr = mobileSiteSearchCntnr;\r\n }\r\n\r\n init() {\r\n onReady(() => {\r\n if (!this.siteSearchCntnr && !this.mobileSiteSearchCntnr)\r\n return;\r\n\r\n this.bindEvents();\r\n });\r\n }\r\n\r\n bindEvents() {\r\n var self = this;\r\n\r\n // desktop search events\r\n const siteSearchOpenButton = document.querySelector(\".site-search-open\");\r\n if (siteSearchOpenButton) {\r\n self.siteSearchOpenButton = siteSearchOpenButton;\r\n\r\n // open search\r\n self.siteSearchOpenButton.addEventListener(\"click\", () => {\r\n document.querySelector(\".main-nav-bar\").classList.remove(\"is-visible\");\r\n self.siteSearchCntnr.classList.add(\"is-visible\");\r\n });\r\n\r\n // close search\r\n self.siteSearchCntnr.addEventListener(\"click\", (event) => {\r\n if (!event.target.closest(\".search-input-wrapper-close\")) return;\r\n event.preventDefault();\r\n document.querySelector(\".main-nav-bar\").classList.add(\"is-visible\");\r\n self.siteSearchCntnr.classList.remove(\"is-visible\");\r\n }, false);\r\n }\r\n\r\n const searchInput = self.siteSearchCntnr.querySelector(\"input.search\");\r\n if (searchInput) {\r\n self.searchInput = searchInput;\r\n\r\n // clear search input\r\n self.siteSearchCntnr.addEventListener(\"click\", (event) => {\r\n if (!event.target.closest(\".clear-search\")) return;\r\n event.preventDefault();\r\n self.searchInput.value = \"\";\r\n self.siteSearchCntnr.querySelector(\".form-control-clear\").classList.add(\"is-hidden\");\r\n }, false);\r\n\r\n // show search input clear button\r\n self.searchInput.addEventListener(\"input\", () => {\r\n self.siteSearchCntnr.querySelector(\".form-control-clear\").classList.remove(\"is-hidden\");\r\n });\r\n }\r\n\r\n // mobile search events\r\n var searchInputOptions = document.querySelector(\".search-input-mobile\");\r\n if (searchInputOptions) {\r\n self.searchInputOptions = searchInputOptions;\r\n\r\n // show search options\r\n self.mobileSiteSearchCntnr.addEventListener(\"click\", (event) => {\r\n if (!event.target.closest(\".search\")) return;\r\n event.preventDefault();\r\n self.showSearchOptions();\r\n });\r\n\r\n // change search option\r\n self.mobileSiteSearchCntnr.addEventListener(\"click\", (event) => {\r\n if (!event.target.closest(\".dropdown li\")) return;\r\n event.preventDefault();\r\n self.changeSearchOption(event.target);\r\n });\r\n }\r\n\r\n const mobileSearchInput = self.mobileSiteSearchCntnr.querySelector(\"input.search\");\r\n if (mobileSearchInput) {\r\n self.mobileSearchInput = mobileSearchInput;\r\n\r\n // clear mobile search input\r\n self.mobileSiteSearchCntnr.addEventListener(\"click\", (event) => {\r\n if (!event.target.closest(\".clear-search\")) return;\r\n event.preventDefault();\r\n self.mobileSearchInput.value = \"\";\r\n self.mobileSiteSearchCntnr.querySelector(\".form-control-clear\").classList.add(\"is-hidden\");\r\n }, false);\r\n\r\n // show mobile search input clear button\r\n self.mobileSearchInput.addEventListener(\"input\", () => {\r\n self.mobileSiteSearchCntnr.querySelector(\".form-control-clear\").classList.remove(\"is-hidden\");\r\n });\r\n\r\n // listen for keypress submit\r\n self.mobileSearchInput.addEventListener(\"keydown\", (event) => {\r\n var deviceMode = event.target.getAttribute(\"quick-search-input-name\");\r\n if (event.which == 13) {\r\n var inputValue = event.target.value;\r\n\r\n if (inputValue != \"\") {\r\n const urlElement = document.querySelector(\"[quick-search-container] [quick-search-select-option=\\\"\" + deviceMode + \"\\\"] li.active\");\r\n const url = urlElement.getAttribute(\"search-url\");\r\n window.location.href = url + inputValue;\r\n }\r\n }\r\n });\r\n\r\n // listen for click submit\r\n const mobileSearchButton = self.mobileSiteSearchCntnr.querySelector(\"[quick-search-btn]\");\r\n self.mobileSearchButton = mobileSearchButton;\r\n self.mobileSearchButton.addEventListener(\"click\", () => {\r\n var deviceMode = self.mobileSearchButton.getAttribute(\"quick-search-input-name\");\r\n var inputValue = self.mobileSearchInput.value;\r\n\r\n if (inputValue != \"\") {\r\n const urlElement = document.querySelector(\"[quick-search-container] [quick-search-select-option=\\\"\" + deviceMode + \"\\\"] li.active\");\r\n const url = urlElement.getAttribute(\"search-url\");\r\n window.location.href = url + inputValue;\r\n }\r\n });\r\n }\r\n }\r\n\r\n changeSearchOption(element) {\r\n const self = this;\r\n\r\n const dropdown = self.searchInputOptions.querySelector(\"ul.dropdown\");\r\n const dropdownItems = dropdown.querySelectorAll(\"li\");\r\n\r\n if (!dropdownItems) return;\r\n [].forEach.call(dropdownItems, function (item) {\r\n item.classList.remove(\"active\");\r\n });\r\n\r\n let target = element;\r\n if (element.matches(\"a\")) {\r\n target = element.parentNode;\r\n }\r\n target.classList.add(\"active\");\r\n }\r\n\r\n showSearchOptions() {\r\n const self = this;\r\n var dropdown = self.searchInputOptions.querySelector(\"ul.dropdown\");\r\n dropdown.classList.add(\"is-visible\");\r\n }\r\n\r\n hideSearchOptions() {\r\n const self = this;\r\n var dropdown = self.searchInputOptions.querySelector(\"ul.dropdown\");\r\n dropdown.classList.remove(\"is-visible\");\r\n }\r\n}\r\n","/* global */\r\n/* eslint no-unused-vars: 0 indent: 0 */\r\n\r\nimport { convertHMS } from \"/Assets/js/utilities.js\";\r\n\r\ndocument.addEventListener(\"DOMContentLoaded\", function () {\r\n if (document.querySelector(\"[data-resources-by-product-page]\")) {\r\n const resourcesByProductPage = new ResourcesByProductPage();\r\n resourcesByProductPage.init();\r\n\r\n if (window.vidyardEmbed) {\r\n resourcesByProductPage.updateVideoDurations();\r\n } else {\r\n document.addEventListener(\"onVidyardAPI\", ({ detail: vyApi }) => resourcesByProductPage.init(vyApi));\r\n }\r\n }\r\n});\r\n\r\nclass ResourcesByProductPage {\r\n constructor() {\r\n this.categorySelectionCntnr = null;\r\n this.productSelectCntnr = null;\r\n this.resultListingCntnr = null;\r\n this.defaultHeader = null;\r\n }\r\n\r\n init() {\r\n this.categorySelectionCntnr = document.querySelector(\"[data-category-selection]\");\r\n this.productSelectCntnr = document.querySelector(\"[data-product-select]\");\r\n this.resultListingCntnr = document.querySelector(\"[data-results-listing]\");\r\n this.defaultHeader = document.querySelector(\"[data-default-header]\");\r\n\r\n this.bindEvents();\r\n }\r\n\r\n bindEvents() {\r\n document.body.addEventListener(\"click\", (e) => {\r\n if (e.target.closest(\"[data-product-category]\")) {\r\n const category = e.target.closest(\"[data-product-category]\").getAttribute(\"data-category-name\");\r\n this.showProductList(category);\r\n } else if (e.target.closest(\"[data-select-new-product]\")) {\r\n e.preventDefault();\r\n this.showCategorySelect();\r\n } else if (e.target.closest(\"[showall-items]\")) {\r\n e.preventDefault();\r\n this.showAllItems(e);\r\n }\r\n });\r\n }\r\n\r\n showAllItems(e) {\r\n const rowsCntnr = e.target.closest(\".foldable-content\");\r\n rowsCntnr.querySelectorAll(\".item-results\").forEach(item => item.classList.remove(\"hide\", \"hidden-xs\"));\r\n rowsCntnr.querySelector(\"[six-items]\").classList.add(\"hide\");\r\n rowsCntnr.querySelector(\"[showall-items]\").classList.add(\"hide\");\r\n rowsCntnr.querySelector(\"[all-items]\").classList.remove(\"hide\");\r\n }\r\n\r\n updateVideoDurations() {\r\n const videos = document.querySelectorAll(\"[data-prp-row=Videos] [data-video-source-url]\");\r\n\r\n videos.forEach((obj) => {\r\n const url = obj.getAttribute(\"data-video-source-url\");\r\n const pieces = url.split(/[/]+/);\r\n const videoId = pieces[pieces.length - 1].replace(/\\?*$/, \"\");\r\n\r\n window.vidyardEmbed.api\r\n .getPlayerMetadata(videoId)\r\n .then((metadata) => {\r\n const vidDuration = metadata.length_in_seconds;\r\n obj.querySelector(\"[data-video-duration]\").textContent = convertHMS(vidDuration);\r\n })\r\n .catch((e) => {\r\n console.error(\"error fetching player metadata\");\r\n });\r\n });\r\n }\r\n\r\n showCategorySelect() {\r\n this.resultListingCntnr.classList.add(\"hidden\");\r\n this.productSelectCntnr.classList.add(\"hidden\");\r\n this.defaultHeader.classList.remove(\"hidden\");\r\n this.categorySelectionCntnr.classList.remove(\"hidden\");\r\n }\r\n\r\n showProductList(category) {\r\n this.categorySelectionCntnr.classList.add(\"hidden\");\r\n this.productSelectCntnr.querySelectorAll(\"[data-product-list]\").forEach(list => list.classList.add(\"hidden\"));\r\n this.productSelectCntnr.classList.remove(\"hidden\");\r\n this.productSelectCntnr.querySelector(`[data-product-list='${category}']`).classList.remove(\"hidden\");\r\n }\r\n}","export const emeaCountries = [\r\n \"AF\",\r\n \"AL\",\r\n \"DZ\",\r\n \"AD\",\r\n \"AO\",\r\n \"AM\",\r\n \"AT\",\r\n \"AZ\",\r\n \"BH\",\r\n \"BY\",\r\n \"BE\",\r\n \"BJ\",\r\n \"BA\",\r\n \"BW\",\r\n \"BG\",\r\n \"BF\",\r\n \"BI\",\r\n \"CM\",\r\n \"CV\",\r\n \"CF\",\r\n \"TD\",\r\n \"KM\",\r\n \"CG\",\r\n \"CD\",\r\n \"CI\",\r\n \"HR\",\r\n \"CY\",\r\n \"CZ\",\r\n \"DK\",\r\n \"DJ\",\r\n \"EG\",\r\n \"GQ\",\r\n \"ER\",\r\n \"EE\",\r\n \"ET\",\r\n \"FO\",\r\n \"FI\",\r\n \"FR\",\r\n \"GA\",\r\n \"GM\",\r\n \"GE\",\r\n \"DE\",\r\n \"GH\",\r\n \"GI\",\r\n \"GR\",\r\n \"GN\",\r\n \"GW\",\r\n \"HU\",\r\n \"IS\",\r\n \"IR\",\r\n \"IQ\",\r\n \"IE\",\r\n \"IM\",\r\n \"IL\",\r\n \"IT\",\r\n \"JE\",\r\n \"JO\",\r\n \"KZ\",\r\n \"KE\",\r\n \"XK\",\r\n \"KW\",\r\n \"KG\",\r\n \"LV\",\r\n \"LB\",\r\n \"LS\",\r\n \"LR\",\r\n \"LY\",\r\n \"LI\",\r\n \"LT\",\r\n \"LU\",\r\n \"MG\",\r\n \"MW\",\r\n \"ML\",\r\n \"MT\",\r\n \"MR\",\r\n \"MU\",\r\n \"YT\",\r\n \"MD\",\r\n \"MC\",\r\n \"ME\",\r\n \"MA\",\r\n \"MZ\",\r\n \"NA\",\r\n \"NL\",\r\n \"NE\",\r\n \"NG\",\r\n \"MK\",\r\n \"NO\",\r\n \"OM\",\r\n \"PS\",\r\n \"PL\",\r\n \"PT\",\r\n \"QA\",\r\n \"RE\",\r\n \"RO\",\r\n \"RU\",\r\n \"RW\",\r\n \"SM\",\r\n \"ST\",\r\n \"SA\",\r\n \"SN\",\r\n \"RS\",\r\n \"SC\",\r\n \"SL\",\r\n \"SK\",\r\n \"SI\",\r\n \"SO\",\r\n \"ZA\",\r\n \"ES\",\r\n \"SH\",\r\n \"SD\",\r\n \"SJ\",\r\n \"SZ\",\r\n \"SE\",\r\n \"CH\",\r\n \"SY\",\r\n \"TJ\",\r\n \"TZ\",\r\n \"TG\",\r\n \"TN\",\r\n \"TR\",\r\n \"TM\",\r\n \"UG\",\r\n \"UA\",\r\n \"AE\",\r\n \"GB\",\r\n \"UZ\",\r\n \"VA\",\r\n \"EH\",\r\n \"YE\",\r\n \"ZM\",\r\n \"ZW\",\r\n \"Afghanistan\",\r\n \"Albania\",\r\n \"Algeria\",\r\n \"Andorra\",\r\n \"Angola\",\r\n \"Armenia\",\r\n \"Austria\",\r\n \"Azerbaijan\",\r\n \"Bahrain\",\r\n \"Belarus\",\r\n \"Belgium\",\r\n \"Benin\",\r\n \"Bosnia and Herzegovina\",\r\n \"Botswana\",\r\n \"Bulgaria\",\r\n \"Burkina Faso\",\r\n \"Burundi\",\r\n \"Cameroon\",\r\n \"Cape Verde\",\r\n \"Central African Republic\",\r\n \"Chad\",\r\n \"Comoros\",\r\n \"Congo\",\r\n \"Congo, The Dem. Republic Of\",\r\n \"Côte d'Ivoire\",\r\n \"Croatia\",\r\n \"Cyprus\",\r\n \"Czech Republic\",\r\n \"Denmark\",\r\n \"Djibouti\",\r\n \"Egypt\",\r\n \"Equatorial Guinea\",\r\n \"Eritrea\",\r\n \"Estonia\",\r\n \"Ethiopia\",\r\n \"Faroe Islands\",\r\n \"Finland\",\r\n \"France\",\r\n \"Gabon\",\r\n \"Gambia\",\r\n \"Georgia\",\r\n \"Germany\",\r\n \"Ghana\",\r\n \"Gibraltar\",\r\n \"Greece\",\r\n \"Guinea\",\r\n \"Guinea-Bissau\",\r\n \"Hungary\",\r\n \"Iceland\",\r\n \"Iran\",\r\n \"Iraq\",\r\n \"Ireland\",\r\n \"Isle of Man\",\r\n \"Israel\",\r\n \"Italy\",\r\n \"Jersey\",\r\n \"Jordan\",\r\n \"Kazakhstan\",\r\n \"Kenya\",\r\n \"Kosovo\",\r\n \"Kuwait\",\r\n \"Kyrgyzstan\",\r\n \"Latvia\",\r\n \"Lebanon\",\r\n \"Lesotho\",\r\n \"Liberia\",\r\n \"Libya\",\r\n \"Liechtenstein\",\r\n \"Lithuania\",\r\n \"Luxembourg\",\r\n \"Madagascar\",\r\n \"Malawi\",\r\n \"Mali\",\r\n \"Malta\",\r\n \"Mauritania\",\r\n \"Mauritius\",\r\n \"Mayotte\",\r\n \"Moldova\",\r\n \"Monaco\",\r\n \"Montenegro\",\r\n \"Morocco\",\r\n \"Mozambique\",\r\n \"Namibia\",\r\n \"Netherlands\",\r\n \"Niger\",\r\n \"Nigeria\",\r\n \"North Macedonia\",\r\n \"Norway\",\r\n \"Oman\",\r\n \"Palestinian Territory, Occupied\",\r\n \"Poland\",\r\n \"Portugal\",\r\n \"Qatar\",\r\n \"Réunion\",\r\n \"Romania\",\r\n \"Russian Federation\",\r\n \"Rwanda\",\r\n \"San Marino\",\r\n \"Sao Tome and Principe\",\r\n \"Saudi Arabia\",\r\n \"Senegal\",\r\n \"Serbia\",\r\n \"Seychelles\",\r\n \"Sierra Leone\",\r\n \"Slovakia\",\r\n \"Slovenia\",\r\n \"Somalia\",\r\n \"South Africa\",\r\n \"Spain\",\r\n \"St. Helena\",\r\n \"Sudan\",\r\n \"Svalbard/Jan Mayen Isls.\",\r\n \"Swaziland\",\r\n \"Sweden\",\r\n \"Switzerland\",\r\n \"Syria\",\r\n \"Tajikistan\",\r\n \"Tanzania\",\r\n \"Togo\",\r\n \"Tunisia\",\r\n \"Turkey\",\r\n \"Turkmenistan\",\r\n \"Uganda\",\r\n \"Ukraine\",\r\n \"United Arab Emirates\",\r\n \"United Kingdom\",\r\n \"Uzbekistan\",\r\n \"Vatican City\",\r\n \"Western Sahara\",\r\n \"Yemen\",\r\n \"Zambia\",\r\n \"Zimbabwe\"\r\n];","/* eslint-disable no-undef */\r\n\r\n/*\r\nProduct interest categories:\r\nAutomatedPlasmaCuttingSystems,\r\nHandheldPlasmaCuttingSystems, \r\nPlasmaConsumables, \r\nLaserConsumables, \r\nWaterjetSystemsAndConsumables, \r\nCADCAMSoftware\r\n*/\r\n\r\nimport { isNullOrUndefined, getUrlVars, onReady } from \"/Assets/js/utilities.js\";\r\nimport \"/Assets/js/libs/custom-select.min.js\";\r\nimport { emeaCountries } from \"./where-to-buy-country-config.js\";\r\nimport { Bouncer } from \"/Assets/js/libs/bouncer-es6.js\";\r\n\r\nexport default class WhereToBuy {\r\n constructor() { }\r\n\r\n init() {\r\n onReady(() => {\r\n this.isSearchPage = isNullOrUndefined(document.querySelector(\".wtb-search\")) ? false : true;\r\n this.wtbModal = isNullOrUndefined(document.getElementById(\"wtbModal\")) ? false : true;\r\n\r\n if (!this.isSearchPage && !this.wtbModal)\r\n return;\r\n\r\n customSelect(document.querySelectorAll(\"[data-custom-select]\"));\r\n\r\n this.bindEvents();\r\n this.setupFormValidation();\r\n });\r\n }\r\n\r\n bindEvents() {\r\n const self = this;\r\n self.setCategory();\r\n\r\n const pcSelect = document.querySelector(\"[name=productcategory]\").customSelect;\r\n pcSelect.select.addEventListener(\"change\", function () {\r\n self.resetProductInterestContent();\r\n self.resetCountry();\r\n\r\n var category = pcSelect.value;\r\n if (category === \"CADCAMSoftware\" || category === \"WaterjetSystemsAndConsumables\") {\r\n self.showproductInterestContent(category);\r\n } else {\r\n self.showCountry();\r\n }\r\n });\r\n\r\n const countrySelect = document.querySelector(\"[name=country]\").customSelect;\r\n countrySelect.select.addEventListener(\"change\", function () {\r\n self.resetProductInterestContent();\r\n\r\n var category = document.querySelector(\"[name=productcategory]\").customSelect.value;\r\n var country = countrySelect.value;\r\n self.showproductInterestContent(category, country);\r\n });\r\n }\r\n\r\n setCategory() {\r\n var category = this.getCategoryFromUrl();\r\n if (!category) return;\r\n\r\n const pcSelect = document.querySelector(\"[name=productcategory]\").customSelect;\r\n pcSelect.value = category;\r\n\r\n if (category === \"CADCAMSoftware\" || category === \"WaterjetSystemsAndConsumables\") {\r\n this.showproductInterestContent(category);\r\n } else {\r\n this.showCountry();\r\n }\r\n }\r\n\r\n getCategoryFromUrl() {\r\n var category = getUrlVars().category ? getUrlVars().category : getUrlVars().Category;\r\n category = !category ? getUrlVars().productcategory : category;\r\n return category;\r\n }\r\n\r\n resetCountry() {\r\n const dataProductInterestCountry = document.querySelector(\"[data-product-interest-country]\");\r\n dataProductInterestCountry.classList.add(\"hidden\");\r\n\r\n const countrySelect = document.querySelector(\"[name=country]\").customSelect;\r\n countrySelect.value = \"\";\r\n }\r\n\r\n showCountry() {\r\n const dataProductInterestCountry = document.querySelector(\"[data-product-interest-country]\");\r\n dataProductInterestCountry.classList.remove(\"hidden\");\r\n }\r\n\r\n resetProductInterestContent() {\r\n const dataProductInterest = document.querySelectorAll(\"[data-product-interest]\");\r\n dataProductInterest.forEach(element => {\r\n element.classList.add(\"hidden\");\r\n });\r\n }\r\n\r\n isEMEACountry(country) {\r\n return emeaCountries.includes(country);\r\n }\r\n\r\n showproductInterestContent(productInterest, country) {\r\n const self = this;\r\n var isEmeaCountry = this.isEMEACountry(country);\r\n\r\n var newProductInterest =\r\n isEmeaCountry || productInterest != \"AutomatedPlasmaCuttingSystems\"\r\n ? productInterest\r\n : \"ContactUsForm\";\r\n\r\n if (country === \"cn\") {\r\n newProductInterest =\r\n productInterest === \"WaterjetSystemsAndConsumables\" ||\r\n productInterest === \"CADCAMSoftware\"\r\n ? productInterest\r\n : \"ContactUsForm\";\r\n }\r\n\r\n const dataProductInterestCountry = document.querySelector(\"[data-product-interest-country]\");\r\n const locationCntnr = document.querySelector(\"[data-product-interest-location]\");\r\n const locationInput = locationCntnr.querySelector(\"input\");\r\n const consumableMessageCntnr = document.querySelector(\"[data-product-interest-consumable-message]\");\r\n const searchCntnr = document.querySelector(\"[data-product-interest-form]\");\r\n const waterjetCntnr = document.querySelector(\"[data-product-interest-waterjet]\");\r\n const softwareCntnr = document.querySelector(\"[data-product-interest-software]\");\r\n const automatedFormCntnr = document.querySelector(\"[data-product-interest-automated]\");\r\n\r\n switch (newProductInterest) {\r\n case \"AutomatedPlasmaCuttingSystems\":\r\n locationCntnr.classList.add(\"hidden\");\r\n consumableMessageCntnr.classList.add(\"hidden\");\r\n dataProductInterestCountry.classList.remove(\"hidden\");\r\n searchCntnr.classList.remove(\"hidden\");\r\n locationInput.removeAttribute(\"required\");\r\n break;\r\n case \"HandheldPlasmaCuttingSystems\":\r\n consumableMessageCntnr.classList.add(\"hidden\");\r\n dataProductInterestCountry.classList.remove(\"hidden\");\r\n locationCntnr.classList.remove(\"hidden\");\r\n searchCntnr.classList.remove(\"hidden\");\r\n locationInput.setAttribute(\"required\", \"required\");\r\n break;\r\n case \"PlasmaConsumables\":\r\n case \"LaserConsumables\":\r\n locationCntnr.classList.remove(\"hidden\");\r\n consumableMessageCntnr.classList.remove(\"hidden\");\r\n searchCntnr.classList.remove(\"hidden\");\r\n locationInput.setAttribute(\"required\", \"required\");\r\n break;\r\n case \"CADCAMSoftware\":\r\n softwareCntnr.classList.remove(\"hidden\");\r\n break;\r\n case \"WaterjetSystemsAndConsumables\":\r\n waterjetCntnr.classList.remove(\"hidden\");\r\n break;\r\n case \"ContactUsForm\":\r\n automatedFormCntnr.classList.remove(\"hidden\");\r\n\r\n var button = automatedFormCntnr.querySelector(\".btn-primary\");\r\n var href = button.getAttribute(\"href\");\r\n var regex = /AutomatedPlasmaCuttingSystems|HandheldPlasmaCuttingSystems|PlasmaConsumables|LaserConsumables|WaterjetSystemsAndConsumables|CADCAMSoftware/gi;\r\n\r\n if (regex.test(href)) {\r\n button.setAttribute(\"href\", href.replace(regex, productInterest));\r\n }\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n\r\n setupFormValidation() {\r\n const self = this;\r\n let bouncer = new Bouncer(\"[data-validate]\", {\r\n messages: {\r\n missingValue: {\r\n checkbox: window.jsl10n.JsResources.Translations.Common.ThisFieldRequired,\r\n radio: window.jsl10n.JsResources.Translations.Common.ThisFieldRequired,\r\n select: window.jsl10n.JsResources.Translations.Common.ThisFieldRequired,\r\n \"select-multiple\": window.jsl10n.JsResources.Translations.Common.ThisFieldRequired,\r\n default: window.jsl10n.JsResources.Translations.Common.ThisFieldRequired\r\n },\r\n patternMismatch: {\r\n email: window.jsl10n.JsResources.Translations.Common.EnterValidEmailAddress,\r\n number: window.jsl10n.JsResources.Translations.Common.EnterValidNumber,\r\n default: window.jsl10n.JsResources.Translations.Common.ThisFieldRequired\r\n }\r\n }\r\n });\r\n self.bouncer = bouncer;\r\n }\r\n}","import { isNullOrUndefined, onReady } from \"/Assets/js/utilities.js\";\r\nimport axios from \"axios\";\r\n\r\nexport default class Triggers {\r\n init() {\r\n onReady(() => {\r\n const isOptInConfirmed = window.location.href.includes(\"email-communications/opt-in-confirmed_TY\");\r\n const globalLandingOptInElement = document.querySelector(\"[data-isoptinconfirmationpage='True']\");\r\n const isOptInConfirmedGlobalLandingPage = globalLandingOptInElement !== null ? true : false;\r\n\r\n if (!isOptInConfirmed && !isOptInConfirmedGlobalLandingPage)\r\n return;\r\n\r\n // Check url for D365 contact id\r\n const searchParams = new URLSearchParams(window.location.search);\r\n var contactId = searchParams.has(\"contactid\") ? searchParams.get(\"contactid\") : \"\";\r\n if (isNullOrUndefined(contactId))\r\n return;\r\n\r\n // Activate DOI trigger in D365\r\n axios.post(\"/CustomerInsightsJourneys/TriggerOptInConfirm\", \"contactid=\"+contactId\r\n ).then(function () {\r\n //console.log(response);\r\n }).catch(function (e) {\r\n console.error(e);\r\n });\r\n });\r\n }\r\n}\r\n","import utils from '../utils.js';\nimport httpAdapter from './http.js';\nimport xhrAdapter from './xhr.js';\nimport fetchAdapter from './fetch.js';\nimport AxiosError from \"../core/AxiosError.js\";\n\nconst knownAdapters = {\n http: httpAdapter,\n xhr: xhrAdapter,\n fetch: fetchAdapter\n}\n\nutils.forEach(knownAdapters, (fn, value) => {\n if (fn) {\n try {\n Object.defineProperty(fn, 'name', {value});\n } catch (e) {\n // eslint-disable-next-line no-empty\n }\n Object.defineProperty(fn, 'adapterName', {value});\n }\n});\n\nconst renderReason = (reason) => `- ${reason}`;\n\nconst isResolvedHandle = (adapter) => utils.isFunction(adapter) || adapter === null || adapter === false;\n\nexport default {\n getAdapter: (adapters) => {\n adapters = utils.isArray(adapters) ? adapters : [adapters];\n\n const {length} = adapters;\n let nameOrAdapter;\n let adapter;\n\n const rejectedReasons = {};\n\n for (let i = 0; i < length; i++) {\n nameOrAdapter = adapters[i];\n let id;\n\n adapter = nameOrAdapter;\n\n if (!isResolvedHandle(nameOrAdapter)) {\n adapter = knownAdapters[(id = String(nameOrAdapter)).toLowerCase()];\n\n if (adapter === undefined) {\n throw new AxiosError(`Unknown adapter '${id}'`);\n }\n }\n\n if (adapter) {\n break;\n }\n\n rejectedReasons[id || '#' + i] = adapter;\n }\n\n if (!adapter) {\n\n const reasons = Object.entries(rejectedReasons)\n .map(([id, state]) => `adapter ${id} ` +\n (state === false ? 'is not supported by the environment' : 'is not available in the build')\n );\n\n let s = length ?\n (reasons.length > 1 ? 'since :\\n' + reasons.map(renderReason).join('\\n') : ' ' + renderReason(reasons[0])) :\n 'as no adapter specified';\n\n throw new AxiosError(\n `There is no suitable adapter to dispatch the request ` + s,\n 'ERR_NOT_SUPPORT'\n );\n }\n\n return adapter;\n },\n adapters: knownAdapters\n}\n","import platform from \"../platform/index.js\";\nimport utils from \"../utils.js\";\nimport AxiosError from \"../core/AxiosError.js\";\nimport composeSignals from \"../helpers/composeSignals.js\";\nimport {trackStream} from \"../helpers/trackStream.js\";\nimport AxiosHeaders from \"../core/AxiosHeaders.js\";\nimport {progressEventReducer, progressEventDecorator, asyncDecorator} from \"../helpers/progressEventReducer.js\";\nimport resolveConfig from \"../helpers/resolveConfig.js\";\nimport settle from \"../core/settle.js\";\n\nconst isFetchSupported = typeof fetch === 'function' && typeof Request === 'function' && typeof Response === 'function';\nconst isReadableStreamSupported = isFetchSupported && typeof ReadableStream === 'function';\n\n// used only inside the fetch adapter\nconst encodeText = isFetchSupported && (typeof TextEncoder === 'function' ?\n ((encoder) => (str) => encoder.encode(str))(new TextEncoder()) :\n async (str) => new Uint8Array(await new Response(str).arrayBuffer())\n);\n\nconst test = (fn, ...args) => {\n try {\n return !!fn(...args);\n } catch (e) {\n return false\n }\n}\n\nconst supportsRequestStream = isReadableStreamSupported && test(() => {\n let duplexAccessed = false;\n\n const hasContentType = new Request(platform.origin, {\n body: new ReadableStream(),\n method: 'POST',\n get duplex() {\n duplexAccessed = true;\n return 'half';\n },\n }).headers.has('Content-Type');\n\n return duplexAccessed && !hasContentType;\n});\n\nconst DEFAULT_CHUNK_SIZE = 64 * 1024;\n\nconst supportsResponseStream = isReadableStreamSupported &&\n test(() => utils.isReadableStream(new Response('').body));\n\n\nconst resolvers = {\n stream: supportsResponseStream && ((res) => res.body)\n};\n\nisFetchSupported && (((res) => {\n ['text', 'arrayBuffer', 'blob', 'formData', 'stream'].forEach(type => {\n !resolvers[type] && (resolvers[type] = utils.isFunction(res[type]) ? (res) => res[type]() :\n (_, config) => {\n throw new AxiosError(`Response type '${type}' is not supported`, AxiosError.ERR_NOT_SUPPORT, config);\n })\n });\n})(new Response));\n\nconst getBodyLength = async (body) => {\n if (body == null) {\n return 0;\n }\n\n if(utils.isBlob(body)) {\n return body.size;\n }\n\n if(utils.isSpecCompliantForm(body)) {\n const _request = new Request(platform.origin, {\n method: 'POST',\n body,\n });\n return (await _request.arrayBuffer()).byteLength;\n }\n\n if(utils.isArrayBufferView(body) || utils.isArrayBuffer(body)) {\n return body.byteLength;\n }\n\n if(utils.isURLSearchParams(body)) {\n body = body + '';\n }\n\n if(utils.isString(body)) {\n return (await encodeText(body)).byteLength;\n }\n}\n\nconst resolveBodyLength = async (headers, body) => {\n const length = utils.toFiniteNumber(headers.getContentLength());\n\n return length == null ? getBodyLength(body) : length;\n}\n\nexport default isFetchSupported && (async (config) => {\n let {\n url,\n method,\n data,\n signal,\n cancelToken,\n timeout,\n onDownloadProgress,\n onUploadProgress,\n responseType,\n headers,\n withCredentials = 'same-origin',\n fetchOptions\n } = resolveConfig(config);\n\n responseType = responseType ? (responseType + '').toLowerCase() : 'text';\n\n let composedSignal = composeSignals([signal, cancelToken && cancelToken.toAbortSignal()], timeout);\n\n let request;\n\n const unsubscribe = composedSignal && composedSignal.unsubscribe && (() => {\n composedSignal.unsubscribe();\n });\n\n let requestContentLength;\n\n try {\n if (\n onUploadProgress && supportsRequestStream && method !== 'get' && method !== 'head' &&\n (requestContentLength = await resolveBodyLength(headers, data)) !== 0\n ) {\n let _request = new Request(url, {\n method: 'POST',\n body: data,\n duplex: \"half\"\n });\n\n let contentTypeHeader;\n\n if (utils.isFormData(data) && (contentTypeHeader = _request.headers.get('content-type'))) {\n headers.setContentType(contentTypeHeader)\n }\n\n if (_request.body) {\n const [onProgress, flush] = progressEventDecorator(\n requestContentLength,\n progressEventReducer(asyncDecorator(onUploadProgress))\n );\n\n data = trackStream(_request.body, DEFAULT_CHUNK_SIZE, onProgress, flush);\n }\n }\n\n if (!utils.isString(withCredentials)) {\n withCredentials = withCredentials ? 'include' : 'omit';\n }\n\n // Cloudflare Workers throws when credentials are defined\n // see https://github.com/cloudflare/workerd/issues/902\n const isCredentialsSupported = \"credentials\" in Request.prototype;\n request = new Request(url, {\n ...fetchOptions,\n signal: composedSignal,\n method: method.toUpperCase(),\n headers: headers.normalize().toJSON(),\n body: data,\n duplex: \"half\",\n credentials: isCredentialsSupported ? withCredentials : undefined\n });\n\n let response = await fetch(request);\n\n const isStreamResponse = supportsResponseStream && (responseType === 'stream' || responseType === 'response');\n\n if (supportsResponseStream && (onDownloadProgress || (isStreamResponse && unsubscribe))) {\n const options = {};\n\n ['status', 'statusText', 'headers'].forEach(prop => {\n options[prop] = response[prop];\n });\n\n const responseContentLength = utils.toFiniteNumber(response.headers.get('content-length'));\n\n const [onProgress, flush] = onDownloadProgress && progressEventDecorator(\n responseContentLength,\n progressEventReducer(asyncDecorator(onDownloadProgress), true)\n ) || [];\n\n response = new Response(\n trackStream(response.body, DEFAULT_CHUNK_SIZE, onProgress, () => {\n flush && flush();\n unsubscribe && unsubscribe();\n }),\n options\n );\n }\n\n responseType = responseType || 'text';\n\n let responseData = await resolvers[utils.findKey(resolvers, responseType) || 'text'](response, config);\n\n !isStreamResponse && unsubscribe && unsubscribe();\n\n return await new Promise((resolve, reject) => {\n settle(resolve, reject, {\n data: responseData,\n headers: AxiosHeaders.from(response.headers),\n status: response.status,\n statusText: response.statusText,\n config,\n request\n })\n })\n } catch (err) {\n unsubscribe && unsubscribe();\n\n if (err && err.name === 'TypeError' && /fetch/i.test(err.message)) {\n throw Object.assign(\n new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request),\n {\n cause: err.cause || err\n }\n )\n }\n\n throw AxiosError.from(err, err && err.code, config, request);\n }\n});\n\n\n","import utils from './../utils.js';\nimport settle from './../core/settle.js';\nimport transitionalDefaults from '../defaults/transitional.js';\nimport AxiosError from '../core/AxiosError.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport parseProtocol from '../helpers/parseProtocol.js';\nimport platform from '../platform/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport {progressEventReducer} from '../helpers/progressEventReducer.js';\nimport resolveConfig from \"../helpers/resolveConfig.js\";\n\nconst isXHRAdapterSupported = typeof XMLHttpRequest !== 'undefined';\n\nexport default isXHRAdapterSupported && function (config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n const _config = resolveConfig(config);\n let requestData = _config.data;\n const requestHeaders = AxiosHeaders.from(_config.headers).normalize();\n let {responseType, onUploadProgress, onDownloadProgress} = _config;\n let onCanceled;\n let uploadThrottled, downloadThrottled;\n let flushUpload, flushDownload;\n\n function done() {\n flushUpload && flushUpload(); // flush events\n flushDownload && flushDownload(); // flush events\n\n _config.cancelToken && _config.cancelToken.unsubscribe(onCanceled);\n\n _config.signal && _config.signal.removeEventListener('abort', onCanceled);\n }\n\n let request = new XMLHttpRequest();\n\n request.open(_config.method.toUpperCase(), _config.url, true);\n\n // Set the request timeout in MS\n request.timeout = _config.timeout;\n\n function onloadend() {\n if (!request) {\n return;\n }\n // Prepare the response\n const responseHeaders = AxiosHeaders.from(\n 'getAllResponseHeaders' in request && request.getAllResponseHeaders()\n );\n const responseData = !responseType || responseType === 'text' || responseType === 'json' ?\n request.responseText : request.response;\n const response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config,\n request\n };\n\n settle(function _resolve(value) {\n resolve(value);\n done();\n }, function _reject(err) {\n reject(err);\n done();\n }, response);\n\n // Clean up request\n request = null;\n }\n\n if ('onloadend' in request) {\n // Use onloadend if available\n request.onloadend = onloadend;\n } else {\n // Listen for ready state to emulate onloadend\n request.onreadystatechange = function handleLoad() {\n if (!request || request.readyState !== 4) {\n return;\n }\n\n // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n return;\n }\n // readystate handler is calling before onerror or ontimeout handlers,\n // so we should call onloadend on the next 'tick'\n setTimeout(onloadend);\n };\n }\n\n // Handle browser request cancellation (as opposed to a manual cancellation)\n request.onabort = function handleAbort() {\n if (!request) {\n return;\n }\n\n reject(new AxiosError('Request aborted', AxiosError.ECONNABORTED, config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle low level network errors\n request.onerror = function handleError() {\n // Real errors are hidden from us by the browser\n // onerror should only fire if it's a network error\n reject(new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n let timeoutErrorMessage = _config.timeout ? 'timeout of ' + _config.timeout + 'ms exceeded' : 'timeout exceeded';\n const transitional = _config.transitional || transitionalDefaults;\n if (_config.timeoutErrorMessage) {\n timeoutErrorMessage = _config.timeoutErrorMessage;\n }\n reject(new AxiosError(\n timeoutErrorMessage,\n transitional.clarifyTimeoutError ? AxiosError.ETIMEDOUT : AxiosError.ECONNABORTED,\n config,\n request));\n\n // Clean up request\n request = null;\n };\n\n // Remove Content-Type if data is undefined\n requestData === undefined && requestHeaders.setContentType(null);\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders.toJSON(), function setRequestHeader(val, key) {\n request.setRequestHeader(key, val);\n });\n }\n\n // Add withCredentials to request if needed\n if (!utils.isUndefined(_config.withCredentials)) {\n request.withCredentials = !!_config.withCredentials;\n }\n\n // Add responseType to request if needed\n if (responseType && responseType !== 'json') {\n request.responseType = _config.responseType;\n }\n\n // Handle progress if needed\n if (onDownloadProgress) {\n ([downloadThrottled, flushDownload] = progressEventReducer(onDownloadProgress, true));\n request.addEventListener('progress', downloadThrottled);\n }\n\n // Not all browsers support upload events\n if (onUploadProgress && request.upload) {\n ([uploadThrottled, flushUpload] = progressEventReducer(onUploadProgress));\n\n request.upload.addEventListener('progress', uploadThrottled);\n\n request.upload.addEventListener('loadend', flushUpload);\n }\n\n if (_config.cancelToken || _config.signal) {\n // Handle cancellation\n // eslint-disable-next-line func-names\n onCanceled = cancel => {\n if (!request) {\n return;\n }\n reject(!cancel || cancel.type ? new CanceledError(null, config, request) : cancel);\n request.abort();\n request = null;\n };\n\n _config.cancelToken && _config.cancelToken.subscribe(onCanceled);\n if (_config.signal) {\n _config.signal.aborted ? onCanceled() : _config.signal.addEventListener('abort', onCanceled);\n }\n }\n\n const protocol = parseProtocol(_config.url);\n\n if (protocol && platform.protocols.indexOf(protocol) === -1) {\n reject(new AxiosError('Unsupported protocol ' + protocol + ':', AxiosError.ERR_BAD_REQUEST, config));\n return;\n }\n\n\n // Send the request\n request.send(requestData || null);\n });\n}\n","'use strict';\n\nimport utils from './utils.js';\nimport bind from './helpers/bind.js';\nimport Axios from './core/Axios.js';\nimport mergeConfig from './core/mergeConfig.js';\nimport defaults from './defaults/index.js';\nimport formDataToJSON from './helpers/formDataToJSON.js';\nimport CanceledError from './cancel/CanceledError.js';\nimport CancelToken from './cancel/CancelToken.js';\nimport isCancel from './cancel/isCancel.js';\nimport {VERSION} from './env/data.js';\nimport toFormData from './helpers/toFormData.js';\nimport AxiosError from './core/AxiosError.js';\nimport spread from './helpers/spread.js';\nimport isAxiosError from './helpers/isAxiosError.js';\nimport AxiosHeaders from \"./core/AxiosHeaders.js\";\nimport adapters from './adapters/adapters.js';\nimport HttpStatusCode from './helpers/HttpStatusCode.js';\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n *\n * @returns {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n const context = new Axios(defaultConfig);\n const instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context, {allOwnKeys: true});\n\n // Copy context to instance\n utils.extend(instance, context, null, {allOwnKeys: true});\n\n // Factory for creating new instances\n instance.create = function create(instanceConfig) {\n return createInstance(mergeConfig(defaultConfig, instanceConfig));\n };\n\n return instance;\n}\n\n// Create the default instance to be exported\nconst axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Expose Cancel & CancelToken\naxios.CanceledError = CanceledError;\naxios.CancelToken = CancelToken;\naxios.isCancel = isCancel;\naxios.VERSION = VERSION;\naxios.toFormData = toFormData;\n\n// Expose AxiosError class\naxios.AxiosError = AxiosError;\n\n// alias for CanceledError for backward compatibility\naxios.Cancel = axios.CanceledError;\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\n\naxios.spread = spread;\n\n// Expose isAxiosError\naxios.isAxiosError = isAxiosError;\n\n// Expose mergeConfig\naxios.mergeConfig = mergeConfig;\n\naxios.AxiosHeaders = AxiosHeaders;\n\naxios.formToJSON = thing => formDataToJSON(utils.isHTMLForm(thing) ? new FormData(thing) : thing);\n\naxios.getAdapter = adapters.getAdapter;\n\naxios.HttpStatusCode = HttpStatusCode;\n\naxios.default = axios;\n\n// this module should only have a default export\nexport default axios\n","'use strict';\n\nimport CanceledError from './CanceledError.js';\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @param {Function} executor The executor function.\n *\n * @returns {CancelToken}\n */\nclass CancelToken {\n constructor(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n let resolvePromise;\n\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n const token = this;\n\n // eslint-disable-next-line func-names\n this.promise.then(cancel => {\n if (!token._listeners) return;\n\n let i = token._listeners.length;\n\n while (i-- > 0) {\n token._listeners[i](cancel);\n }\n token._listeners = null;\n });\n\n // eslint-disable-next-line func-names\n this.promise.then = onfulfilled => {\n let _resolve;\n // eslint-disable-next-line func-names\n const promise = new Promise(resolve => {\n token.subscribe(resolve);\n _resolve = resolve;\n }).then(onfulfilled);\n\n promise.cancel = function reject() {\n token.unsubscribe(_resolve);\n };\n\n return promise;\n };\n\n executor(function cancel(message, config, request) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new CanceledError(message, config, request);\n resolvePromise(token.reason);\n });\n }\n\n /**\n * Throws a `CanceledError` if cancellation has been requested.\n */\n throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n }\n\n /**\n * Subscribe to the cancel signal\n */\n\n subscribe(listener) {\n if (this.reason) {\n listener(this.reason);\n return;\n }\n\n if (this._listeners) {\n this._listeners.push(listener);\n } else {\n this._listeners = [listener];\n }\n }\n\n /**\n * Unsubscribe from the cancel signal\n */\n\n unsubscribe(listener) {\n if (!this._listeners) {\n return;\n }\n const index = this._listeners.indexOf(listener);\n if (index !== -1) {\n this._listeners.splice(index, 1);\n }\n }\n\n toAbortSignal() {\n const controller = new AbortController();\n\n const abort = (err) => {\n controller.abort(err);\n };\n\n this.subscribe(abort);\n\n controller.signal.unsubscribe = () => this.unsubscribe(abort);\n\n return controller.signal;\n }\n\n /**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\n static source() {\n let cancel;\n const token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token,\n cancel\n };\n }\n}\n\nexport default CancelToken;\n","'use strict';\n\nimport AxiosError from '../core/AxiosError.js';\nimport utils from '../utils.js';\n\n/**\n * A `CanceledError` is an object that is thrown when an operation is canceled.\n *\n * @param {string=} message The message.\n * @param {Object=} config The config.\n * @param {Object=} request The request.\n *\n * @returns {CanceledError} The created error.\n */\nfunction CanceledError(message, config, request) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n AxiosError.call(this, message == null ? 'canceled' : message, AxiosError.ERR_CANCELED, config, request);\n this.name = 'CanceledError';\n}\n\nutils.inherits(CanceledError, AxiosError, {\n __CANCEL__: true\n});\n\nexport default CanceledError;\n","'use strict';\n\nexport default function isCancel(value) {\n return !!(value && value.__CANCEL__);\n}\n","'use strict';\n\nimport utils from './../utils.js';\nimport buildURL from '../helpers/buildURL.js';\nimport InterceptorManager from './InterceptorManager.js';\nimport dispatchRequest from './dispatchRequest.js';\nimport mergeConfig from './mergeConfig.js';\nimport buildFullPath from './buildFullPath.js';\nimport validator from '../helpers/validator.js';\nimport AxiosHeaders from './AxiosHeaders.js';\n\nconst validators = validator.validators;\n\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n *\n * @return {Axios} A new instance of Axios\n */\nclass Axios {\n constructor(instanceConfig) {\n this.defaults = instanceConfig;\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n }\n\n /**\n * Dispatch a request\n *\n * @param {String|Object} configOrUrl The config specific for this request (merged with this.defaults)\n * @param {?Object} config\n *\n * @returns {Promise} The Promise to be fulfilled\n */\n async request(configOrUrl, config) {\n try {\n return await this._request(configOrUrl, config);\n } catch (err) {\n if (err instanceof Error) {\n let dummy = {};\n\n Error.captureStackTrace ? Error.captureStackTrace(dummy) : (dummy = new Error());\n\n // slice off the Error: ... line\n const stack = dummy.stack ? dummy.stack.replace(/^.+\\n/, '') : '';\n try {\n if (!err.stack) {\n err.stack = stack;\n // match without the 2 top stack lines\n } else if (stack && !String(err.stack).endsWith(stack.replace(/^.+\\n.+\\n/, ''))) {\n err.stack += '\\n' + stack\n }\n } catch (e) {\n // ignore the case where \"stack\" is an un-writable property\n }\n }\n\n throw err;\n }\n }\n\n _request(configOrUrl, config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof configOrUrl === 'string') {\n config = config || {};\n config.url = configOrUrl;\n } else {\n config = configOrUrl || {};\n }\n\n config = mergeConfig(this.defaults, config);\n\n const {transitional, paramsSerializer, headers} = config;\n\n if (transitional !== undefined) {\n validator.assertOptions(transitional, {\n silentJSONParsing: validators.transitional(validators.boolean),\n forcedJSONParsing: validators.transitional(validators.boolean),\n clarifyTimeoutError: validators.transitional(validators.boolean)\n }, false);\n }\n\n if (paramsSerializer != null) {\n if (utils.isFunction(paramsSerializer)) {\n config.paramsSerializer = {\n serialize: paramsSerializer\n }\n } else {\n validator.assertOptions(paramsSerializer, {\n encode: validators.function,\n serialize: validators.function\n }, true);\n }\n }\n\n // Set config.allowAbsoluteUrls\n if (config.allowAbsoluteUrls !== undefined) {\n // do nothing\n } else if (this.defaults.allowAbsoluteUrls !== undefined) {\n config.allowAbsoluteUrls = this.defaults.allowAbsoluteUrls;\n } else {\n config.allowAbsoluteUrls = true;\n }\n\n validator.assertOptions(config, {\n baseUrl: validators.spelling('baseURL'),\n withXsrfToken: validators.spelling('withXSRFToken')\n }, true);\n\n // Set config.method\n config.method = (config.method || this.defaults.method || 'get').toLowerCase();\n\n // Flatten headers\n let contextHeaders = headers && utils.merge(\n headers.common,\n headers[config.method]\n );\n\n headers && utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n (method) => {\n delete headers[method];\n }\n );\n\n config.headers = AxiosHeaders.concat(contextHeaders, headers);\n\n // filter out skipped interceptors\n const requestInterceptorChain = [];\n let synchronousRequestInterceptors = true;\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) {\n return;\n }\n\n synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous;\n\n requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n const responseInterceptorChain = [];\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n let promise;\n let i = 0;\n let len;\n\n if (!synchronousRequestInterceptors) {\n const chain = [dispatchRequest.bind(this), undefined];\n chain.unshift.apply(chain, requestInterceptorChain);\n chain.push.apply(chain, responseInterceptorChain);\n len = chain.length;\n\n promise = Promise.resolve(config);\n\n while (i < len) {\n promise = promise.then(chain[i++], chain[i++]);\n }\n\n return promise;\n }\n\n len = requestInterceptorChain.length;\n\n let newConfig = config;\n\n i = 0;\n\n while (i < len) {\n const onFulfilled = requestInterceptorChain[i++];\n const onRejected = requestInterceptorChain[i++];\n try {\n newConfig = onFulfilled(newConfig);\n } catch (error) {\n onRejected.call(this, error);\n break;\n }\n }\n\n try {\n promise = dispatchRequest.call(this, newConfig);\n } catch (error) {\n return Promise.reject(error);\n }\n\n i = 0;\n len = responseInterceptorChain.length;\n\n while (i < len) {\n promise = promise.then(responseInterceptorChain[i++], responseInterceptorChain[i++]);\n }\n\n return promise;\n }\n\n getUri(config) {\n config = mergeConfig(this.defaults, config);\n const fullPath = buildFullPath(config.baseURL, config.url, config.allowAbsoluteUrls);\n return buildURL(fullPath, config.params, config.paramsSerializer);\n }\n}\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, config) {\n return this.request(mergeConfig(config || {}, {\n method,\n url,\n data: (config || {}).data\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n\n function generateHTTPMethod(isForm) {\n return function httpMethod(url, data, config) {\n return this.request(mergeConfig(config || {}, {\n method,\n headers: isForm ? {\n 'Content-Type': 'multipart/form-data'\n } : {},\n url,\n data\n }));\n };\n }\n\n Axios.prototype[method] = generateHTTPMethod();\n\n Axios.prototype[method + 'Form'] = generateHTTPMethod(true);\n});\n\nexport default Axios;\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [config] The config.\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n *\n * @returns {Error} The created error.\n */\nfunction AxiosError(message, code, config, request, response) {\n Error.call(this);\n\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n } else {\n this.stack = (new Error()).stack;\n }\n\n this.message = message;\n this.name = 'AxiosError';\n code && (this.code = code);\n config && (this.config = config);\n request && (this.request = request);\n if (response) {\n this.response = response;\n this.status = response.status ? response.status : null;\n }\n}\n\nutils.inherits(AxiosError, Error, {\n toJSON: function toJSON() {\n return {\n // Standard\n message: this.message,\n name: this.name,\n // Microsoft\n description: this.description,\n number: this.number,\n // Mozilla\n fileName: this.fileName,\n lineNumber: this.lineNumber,\n columnNumber: this.columnNumber,\n stack: this.stack,\n // Axios\n config: utils.toJSONObject(this.config),\n code: this.code,\n status: this.status\n };\n }\n});\n\nconst prototype = AxiosError.prototype;\nconst descriptors = {};\n\n[\n 'ERR_BAD_OPTION_VALUE',\n 'ERR_BAD_OPTION',\n 'ECONNABORTED',\n 'ETIMEDOUT',\n 'ERR_NETWORK',\n 'ERR_FR_TOO_MANY_REDIRECTS',\n 'ERR_DEPRECATED',\n 'ERR_BAD_RESPONSE',\n 'ERR_BAD_REQUEST',\n 'ERR_CANCELED',\n 'ERR_NOT_SUPPORT',\n 'ERR_INVALID_URL'\n// eslint-disable-next-line func-names\n].forEach(code => {\n descriptors[code] = {value: code};\n});\n\nObject.defineProperties(AxiosError, descriptors);\nObject.defineProperty(prototype, 'isAxiosError', {value: true});\n\n// eslint-disable-next-line func-names\nAxiosError.from = (error, code, config, request, response, customProps) => {\n const axiosError = Object.create(prototype);\n\n utils.toFlatObject(error, axiosError, function filter(obj) {\n return obj !== Error.prototype;\n }, prop => {\n return prop !== 'isAxiosError';\n });\n\n AxiosError.call(axiosError, error.message, code, config, request, response);\n\n axiosError.cause = error;\n\n axiosError.name = error.name;\n\n customProps && Object.assign(axiosError, customProps);\n\n return axiosError;\n};\n\nexport default AxiosError;\n","'use strict';\n\nimport utils from '../utils.js';\nimport parseHeaders from '../helpers/parseHeaders.js';\n\nconst $internals = Symbol('internals');\n\nfunction normalizeHeader(header) {\n return header && String(header).trim().toLowerCase();\n}\n\nfunction normalizeValue(value) {\n if (value === false || value == null) {\n return value;\n }\n\n return utils.isArray(value) ? value.map(normalizeValue) : String(value);\n}\n\nfunction parseTokens(str) {\n const tokens = Object.create(null);\n const tokensRE = /([^\\s,;=]+)\\s*(?:=\\s*([^,;]+))?/g;\n let match;\n\n while ((match = tokensRE.exec(str))) {\n tokens[match[1]] = match[2];\n }\n\n return tokens;\n}\n\nconst isValidHeaderName = (str) => /^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(str.trim());\n\nfunction matchHeaderValue(context, value, header, filter, isHeaderNameFilter) {\n if (utils.isFunction(filter)) {\n return filter.call(this, value, header);\n }\n\n if (isHeaderNameFilter) {\n value = header;\n }\n\n if (!utils.isString(value)) return;\n\n if (utils.isString(filter)) {\n return value.indexOf(filter) !== -1;\n }\n\n if (utils.isRegExp(filter)) {\n return filter.test(value);\n }\n}\n\nfunction formatHeader(header) {\n return header.trim()\n .toLowerCase().replace(/([a-z\\d])(\\w*)/g, (w, char, str) => {\n return char.toUpperCase() + str;\n });\n}\n\nfunction buildAccessors(obj, header) {\n const accessorName = utils.toCamelCase(' ' + header);\n\n ['get', 'set', 'has'].forEach(methodName => {\n Object.defineProperty(obj, methodName + accessorName, {\n value: function(arg1, arg2, arg3) {\n return this[methodName].call(this, header, arg1, arg2, arg3);\n },\n configurable: true\n });\n });\n}\n\nclass AxiosHeaders {\n constructor(headers) {\n headers && this.set(headers);\n }\n\n set(header, valueOrRewrite, rewrite) {\n const self = this;\n\n function setHeader(_value, _header, _rewrite) {\n const lHeader = normalizeHeader(_header);\n\n if (!lHeader) {\n throw new Error('header name must be a non-empty string');\n }\n\n const key = utils.findKey(self, lHeader);\n\n if(!key || self[key] === undefined || _rewrite === true || (_rewrite === undefined && self[key] !== false)) {\n self[key || _header] = normalizeValue(_value);\n }\n }\n\n const setHeaders = (headers, _rewrite) =>\n utils.forEach(headers, (_value, _header) => setHeader(_value, _header, _rewrite));\n\n if (utils.isPlainObject(header) || header instanceof this.constructor) {\n setHeaders(header, valueOrRewrite)\n } else if(utils.isString(header) && (header = header.trim()) && !isValidHeaderName(header)) {\n setHeaders(parseHeaders(header), valueOrRewrite);\n } else if (utils.isHeaders(header)) {\n for (const [key, value] of header.entries()) {\n setHeader(value, key, rewrite);\n }\n } else {\n header != null && setHeader(valueOrRewrite, header, rewrite);\n }\n\n return this;\n }\n\n get(header, parser) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n if (key) {\n const value = this[key];\n\n if (!parser) {\n return value;\n }\n\n if (parser === true) {\n return parseTokens(value);\n }\n\n if (utils.isFunction(parser)) {\n return parser.call(this, value, key);\n }\n\n if (utils.isRegExp(parser)) {\n return parser.exec(value);\n }\n\n throw new TypeError('parser must be boolean|regexp|function');\n }\n }\n }\n\n has(header, matcher) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n return !!(key && this[key] !== undefined && (!matcher || matchHeaderValue(this, this[key], key, matcher)));\n }\n\n return false;\n }\n\n delete(header, matcher) {\n const self = this;\n let deleted = false;\n\n function deleteHeader(_header) {\n _header = normalizeHeader(_header);\n\n if (_header) {\n const key = utils.findKey(self, _header);\n\n if (key && (!matcher || matchHeaderValue(self, self[key], key, matcher))) {\n delete self[key];\n\n deleted = true;\n }\n }\n }\n\n if (utils.isArray(header)) {\n header.forEach(deleteHeader);\n } else {\n deleteHeader(header);\n }\n\n return deleted;\n }\n\n clear(matcher) {\n const keys = Object.keys(this);\n let i = keys.length;\n let deleted = false;\n\n while (i--) {\n const key = keys[i];\n if(!matcher || matchHeaderValue(this, this[key], key, matcher, true)) {\n delete this[key];\n deleted = true;\n }\n }\n\n return deleted;\n }\n\n normalize(format) {\n const self = this;\n const headers = {};\n\n utils.forEach(this, (value, header) => {\n const key = utils.findKey(headers, header);\n\n if (key) {\n self[key] = normalizeValue(value);\n delete self[header];\n return;\n }\n\n const normalized = format ? formatHeader(header) : String(header).trim();\n\n if (normalized !== header) {\n delete self[header];\n }\n\n self[normalized] = normalizeValue(value);\n\n headers[normalized] = true;\n });\n\n return this;\n }\n\n concat(...targets) {\n return this.constructor.concat(this, ...targets);\n }\n\n toJSON(asStrings) {\n const obj = Object.create(null);\n\n utils.forEach(this, (value, header) => {\n value != null && value !== false && (obj[header] = asStrings && utils.isArray(value) ? value.join(', ') : value);\n });\n\n return obj;\n }\n\n [Symbol.iterator]() {\n return Object.entries(this.toJSON())[Symbol.iterator]();\n }\n\n toString() {\n return Object.entries(this.toJSON()).map(([header, value]) => header + ': ' + value).join('\\n');\n }\n\n get [Symbol.toStringTag]() {\n return 'AxiosHeaders';\n }\n\n static from(thing) {\n return thing instanceof this ? thing : new this(thing);\n }\n\n static concat(first, ...targets) {\n const computed = new this(first);\n\n targets.forEach((target) => computed.set(target));\n\n return computed;\n }\n\n static accessor(header) {\n const internals = this[$internals] = (this[$internals] = {\n accessors: {}\n });\n\n const accessors = internals.accessors;\n const prototype = this.prototype;\n\n function defineAccessor(_header) {\n const lHeader = normalizeHeader(_header);\n\n if (!accessors[lHeader]) {\n buildAccessors(prototype, _header);\n accessors[lHeader] = true;\n }\n }\n\n utils.isArray(header) ? header.forEach(defineAccessor) : defineAccessor(header);\n\n return this;\n }\n}\n\nAxiosHeaders.accessor(['Content-Type', 'Content-Length', 'Accept', 'Accept-Encoding', 'User-Agent', 'Authorization']);\n\n// reserved names hotfix\nutils.reduceDescriptors(AxiosHeaders.prototype, ({value}, key) => {\n let mapped = key[0].toUpperCase() + key.slice(1); // map `set` => `Set`\n return {\n get: () => value,\n set(headerValue) {\n this[mapped] = headerValue;\n }\n }\n});\n\nutils.freezeMethods(AxiosHeaders);\n\nexport default AxiosHeaders;\n","'use strict';\n\nimport utils from './../utils.js';\n\nclass InterceptorManager {\n constructor() {\n this.handlers = [];\n }\n\n /**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\n use(fulfilled, rejected, options) {\n this.handlers.push({\n fulfilled,\n rejected,\n synchronous: options ? options.synchronous : false,\n runWhen: options ? options.runWhen : null\n });\n return this.handlers.length - 1;\n }\n\n /**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n *\n * @returns {Boolean} `true` if the interceptor was removed, `false` otherwise\n */\n eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n }\n\n /**\n * Clear all interceptors from the stack\n *\n * @returns {void}\n */\n clear() {\n if (this.handlers) {\n this.handlers = [];\n }\n }\n\n /**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n *\n * @returns {void}\n */\n forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n }\n}\n\nexport default InterceptorManager;\n","'use strict';\n\nimport isAbsoluteURL from '../helpers/isAbsoluteURL.js';\nimport combineURLs from '../helpers/combineURLs.js';\n\n/**\n * Creates a new URL by combining the baseURL with the requestedURL,\n * only when the requestedURL is not already an absolute URL.\n * If the requestURL is absolute, this function returns the requestedURL untouched.\n *\n * @param {string} baseURL The base URL\n * @param {string} requestedURL Absolute or relative URL to combine\n *\n * @returns {string} The combined full path\n */\nexport default function buildFullPath(baseURL, requestedURL, allowAbsoluteUrls) {\n let isRelativeUrl = !isAbsoluteURL(requestedURL);\n if (baseURL && isRelativeUrl || allowAbsoluteUrls == false) {\n return combineURLs(baseURL, requestedURL);\n }\n return requestedURL;\n}\n","'use strict';\n\nimport transformData from './transformData.js';\nimport isCancel from '../cancel/isCancel.js';\nimport defaults from '../defaults/index.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport adapters from \"../adapters/adapters.js\";\n\n/**\n * Throws a `CanceledError` if cancellation has been requested.\n *\n * @param {Object} config The config that is to be used for the request\n *\n * @returns {void}\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n\n if (config.signal && config.signal.aborted) {\n throw new CanceledError(null, config);\n }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n *\n * @returns {Promise} The Promise to be fulfilled\n */\nexport default function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n config.headers = AxiosHeaders.from(config.headers);\n\n // Transform request data\n config.data = transformData.call(\n config,\n config.transformRequest\n );\n\n if (['post', 'put', 'patch'].indexOf(config.method) !== -1) {\n config.headers.setContentType('application/x-www-form-urlencoded', false);\n }\n\n const adapter = adapters.getAdapter(config.adapter || defaults.adapter);\n\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n response.data = transformData.call(\n config,\n config.transformResponse,\n response\n );\n\n response.headers = AxiosHeaders.from(response.headers);\n\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n if (reason && reason.response) {\n reason.response.data = transformData.call(\n config,\n config.transformResponse,\n reason.response\n );\n reason.response.headers = AxiosHeaders.from(reason.response.headers);\n }\n }\n\n return Promise.reject(reason);\n });\n}\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosHeaders from \"./AxiosHeaders.js\";\n\nconst headersToObject = (thing) => thing instanceof AxiosHeaders ? { ...thing } : thing;\n\n/**\n * Config-specific merge-function which creates a new config-object\n * by merging two configuration objects together.\n *\n * @param {Object} config1\n * @param {Object} config2\n *\n * @returns {Object} New object resulting from merging config2 to config1\n */\nexport default function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n const config = {};\n\n function getMergedValue(target, source, prop, caseless) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge.call({caseless}, target, source);\n } else if (utils.isPlainObject(source)) {\n return utils.merge({}, source);\n } else if (utils.isArray(source)) {\n return source.slice();\n }\n return source;\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDeepProperties(a, b, prop , caseless) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(a, b, prop , caseless);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a, prop , caseless);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function valueFromConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function defaultToConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDirectKeys(a, b, prop) {\n if (prop in config2) {\n return getMergedValue(a, b);\n } else if (prop in config1) {\n return getMergedValue(undefined, a);\n }\n }\n\n const mergeMap = {\n url: valueFromConfig2,\n method: valueFromConfig2,\n data: valueFromConfig2,\n baseURL: defaultToConfig2,\n transformRequest: defaultToConfig2,\n transformResponse: defaultToConfig2,\n paramsSerializer: defaultToConfig2,\n timeout: defaultToConfig2,\n timeoutMessage: defaultToConfig2,\n withCredentials: defaultToConfig2,\n withXSRFToken: defaultToConfig2,\n adapter: defaultToConfig2,\n responseType: defaultToConfig2,\n xsrfCookieName: defaultToConfig2,\n xsrfHeaderName: defaultToConfig2,\n onUploadProgress: defaultToConfig2,\n onDownloadProgress: defaultToConfig2,\n decompress: defaultToConfig2,\n maxContentLength: defaultToConfig2,\n maxBodyLength: defaultToConfig2,\n beforeRedirect: defaultToConfig2,\n transport: defaultToConfig2,\n httpAgent: defaultToConfig2,\n httpsAgent: defaultToConfig2,\n cancelToken: defaultToConfig2,\n socketPath: defaultToConfig2,\n responseEncoding: defaultToConfig2,\n validateStatus: mergeDirectKeys,\n headers: (a, b , prop) => mergeDeepProperties(headersToObject(a), headersToObject(b),prop, true)\n };\n\n utils.forEach(Object.keys(Object.assign({}, config1, config2)), function computeConfigValue(prop) {\n const merge = mergeMap[prop] || mergeDeepProperties;\n const configValue = merge(config1[prop], config2[prop], prop);\n (utils.isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue);\n });\n\n return config;\n}\n","'use strict';\n\nimport AxiosError from './AxiosError.js';\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n *\n * @returns {object} The response.\n */\nexport default function settle(resolve, reject, response) {\n const validateStatus = response.config.validateStatus;\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(new AxiosError(\n 'Request failed with status code ' + response.status,\n [AxiosError.ERR_BAD_REQUEST, AxiosError.ERR_BAD_RESPONSE][Math.floor(response.status / 100) - 4],\n response.config,\n response.request,\n response\n ));\n }\n}\n","'use strict';\n\nimport utils from './../utils.js';\nimport defaults from '../defaults/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Array|Function} fns A single function or Array of functions\n * @param {?Object} response The response object\n *\n * @returns {*} The resulting transformed data\n */\nexport default function transformData(fns, response) {\n const config = this || defaults;\n const context = response || config;\n const headers = AxiosHeaders.from(context.headers);\n let data = context.data;\n\n utils.forEach(fns, function transform(fn) {\n data = fn.call(config, data, headers.normalize(), response ? response.status : undefined);\n });\n\n headers.normalize();\n\n return data;\n}\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\nimport transitionalDefaults from './transitional.js';\nimport toFormData from '../helpers/toFormData.js';\nimport toURLEncodedForm from '../helpers/toURLEncodedForm.js';\nimport platform from '../platform/index.js';\nimport formDataToJSON from '../helpers/formDataToJSON.js';\n\n/**\n * It takes a string, tries to parse it, and if it fails, it returns the stringified version\n * of the input\n *\n * @param {any} rawValue - The value to be stringified.\n * @param {Function} parser - A function that parses a string into a JavaScript object.\n * @param {Function} encoder - A function that takes a value and returns a string.\n *\n * @returns {string} A stringified version of the rawValue.\n */\nfunction stringifySafely(rawValue, parser, encoder) {\n if (utils.isString(rawValue)) {\n try {\n (parser || JSON.parse)(rawValue);\n return utils.trim(rawValue);\n } catch (e) {\n if (e.name !== 'SyntaxError') {\n throw e;\n }\n }\n }\n\n return (encoder || JSON.stringify)(rawValue);\n}\n\nconst defaults = {\n\n transitional: transitionalDefaults,\n\n adapter: ['xhr', 'http', 'fetch'],\n\n transformRequest: [function transformRequest(data, headers) {\n const contentType = headers.getContentType() || '';\n const hasJSONContentType = contentType.indexOf('application/json') > -1;\n const isObjectPayload = utils.isObject(data);\n\n if (isObjectPayload && utils.isHTMLForm(data)) {\n data = new FormData(data);\n }\n\n const isFormData = utils.isFormData(data);\n\n if (isFormData) {\n return hasJSONContentType ? JSON.stringify(formDataToJSON(data)) : data;\n }\n\n if (utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data) ||\n utils.isReadableStream(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n headers.setContentType('application/x-www-form-urlencoded;charset=utf-8', false);\n return data.toString();\n }\n\n let isFileList;\n\n if (isObjectPayload) {\n if (contentType.indexOf('application/x-www-form-urlencoded') > -1) {\n return toURLEncodedForm(data, this.formSerializer).toString();\n }\n\n if ((isFileList = utils.isFileList(data)) || contentType.indexOf('multipart/form-data') > -1) {\n const _FormData = this.env && this.env.FormData;\n\n return toFormData(\n isFileList ? {'files[]': data} : data,\n _FormData && new _FormData(),\n this.formSerializer\n );\n }\n }\n\n if (isObjectPayload || hasJSONContentType ) {\n headers.setContentType('application/json', false);\n return stringifySafely(data);\n }\n\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n const transitional = this.transitional || defaults.transitional;\n const forcedJSONParsing = transitional && transitional.forcedJSONParsing;\n const JSONRequested = this.responseType === 'json';\n\n if (utils.isResponse(data) || utils.isReadableStream(data)) {\n return data;\n }\n\n if (data && utils.isString(data) && ((forcedJSONParsing && !this.responseType) || JSONRequested)) {\n const silentJSONParsing = transitional && transitional.silentJSONParsing;\n const strictJSONParsing = !silentJSONParsing && JSONRequested;\n\n try {\n return JSON.parse(data);\n } catch (e) {\n if (strictJSONParsing) {\n if (e.name === 'SyntaxError') {\n throw AxiosError.from(e, AxiosError.ERR_BAD_RESPONSE, this, null, this.response);\n }\n throw e;\n }\n }\n }\n\n return data;\n }],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n\n maxContentLength: -1,\n maxBodyLength: -1,\n\n env: {\n FormData: platform.classes.FormData,\n Blob: platform.classes.Blob\n },\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n },\n\n headers: {\n common: {\n 'Accept': 'application/json, text/plain, */*',\n 'Content-Type': undefined\n }\n }\n};\n\nutils.forEach(['delete', 'get', 'head', 'post', 'put', 'patch'], (method) => {\n defaults.headers[method] = {};\n});\n\nexport default defaults;\n","'use strict';\n\nexport default {\n silentJSONParsing: true,\n forcedJSONParsing: true,\n clarifyTimeoutError: false\n};\n","export const VERSION = \"1.8.1\";","'use strict';\n\nimport toFormData from './toFormData.js';\n\n/**\n * It encodes a string by replacing all characters that are not in the unreserved set with\n * their percent-encoded equivalents\n *\n * @param {string} str - The string to encode.\n *\n * @returns {string} The encoded string.\n */\nfunction encode(str) {\n const charMap = {\n '!': '%21',\n \"'\": '%27',\n '(': '%28',\n ')': '%29',\n '~': '%7E',\n '%20': '+',\n '%00': '\\x00'\n };\n return encodeURIComponent(str).replace(/[!'()~]|%20|%00/g, function replacer(match) {\n return charMap[match];\n });\n}\n\n/**\n * It takes a params object and converts it to a FormData object\n *\n * @param {Object} params - The parameters to be converted to a FormData object.\n * @param {Object} options - The options object passed to the Axios constructor.\n *\n * @returns {void}\n */\nfunction AxiosURLSearchParams(params, options) {\n this._pairs = [];\n\n params && toFormData(params, this, options);\n}\n\nconst prototype = AxiosURLSearchParams.prototype;\n\nprototype.append = function append(name, value) {\n this._pairs.push([name, value]);\n};\n\nprototype.toString = function toString(encoder) {\n const _encode = encoder ? function(value) {\n return encoder.call(this, value, encode);\n } : encode;\n\n return this._pairs.map(function each(pair) {\n return _encode(pair[0]) + '=' + _encode(pair[1]);\n }, '').join('&');\n};\n\nexport default AxiosURLSearchParams;\n","const HttpStatusCode = {\n Continue: 100,\n SwitchingProtocols: 101,\n Processing: 102,\n EarlyHints: 103,\n Ok: 200,\n Created: 201,\n Accepted: 202,\n NonAuthoritativeInformation: 203,\n NoContent: 204,\n ResetContent: 205,\n PartialContent: 206,\n MultiStatus: 207,\n AlreadyReported: 208,\n ImUsed: 226,\n MultipleChoices: 300,\n MovedPermanently: 301,\n Found: 302,\n SeeOther: 303,\n NotModified: 304,\n UseProxy: 305,\n Unused: 306,\n TemporaryRedirect: 307,\n PermanentRedirect: 308,\n BadRequest: 400,\n Unauthorized: 401,\n PaymentRequired: 402,\n Forbidden: 403,\n NotFound: 404,\n MethodNotAllowed: 405,\n NotAcceptable: 406,\n ProxyAuthenticationRequired: 407,\n RequestTimeout: 408,\n Conflict: 409,\n Gone: 410,\n LengthRequired: 411,\n PreconditionFailed: 412,\n PayloadTooLarge: 413,\n UriTooLong: 414,\n UnsupportedMediaType: 415,\n RangeNotSatisfiable: 416,\n ExpectationFailed: 417,\n ImATeapot: 418,\n MisdirectedRequest: 421,\n UnprocessableEntity: 422,\n Locked: 423,\n FailedDependency: 424,\n TooEarly: 425,\n UpgradeRequired: 426,\n PreconditionRequired: 428,\n TooManyRequests: 429,\n RequestHeaderFieldsTooLarge: 431,\n UnavailableForLegalReasons: 451,\n InternalServerError: 500,\n NotImplemented: 501,\n BadGateway: 502,\n ServiceUnavailable: 503,\n GatewayTimeout: 504,\n HttpVersionNotSupported: 505,\n VariantAlsoNegotiates: 506,\n InsufficientStorage: 507,\n LoopDetected: 508,\n NotExtended: 510,\n NetworkAuthenticationRequired: 511,\n};\n\nObject.entries(HttpStatusCode).forEach(([key, value]) => {\n HttpStatusCode[value] = key;\n});\n\nexport default HttpStatusCode;\n","'use strict';\n\nexport default function bind(fn, thisArg) {\n return function wrap() {\n return fn.apply(thisArg, arguments);\n };\n}\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosURLSearchParams from '../helpers/AxiosURLSearchParams.js';\n\n/**\n * It replaces all instances of the characters `:`, `$`, `,`, `+`, `[`, and `]` with their\n * URI encoded counterparts\n *\n * @param {string} val The value to be encoded.\n *\n * @returns {string} The encoded value.\n */\nfunction encode(val) {\n return encodeURIComponent(val).\n replace(/%3A/gi, ':').\n replace(/%24/g, '$').\n replace(/%2C/gi, ',').\n replace(/%20/g, '+').\n replace(/%5B/gi, '[').\n replace(/%5D/gi, ']');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @param {?(object|Function)} options\n *\n * @returns {string} The formatted url\n */\nexport default function buildURL(url, params, options) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n \n const _encode = options && options.encode || encode;\n\n if (utils.isFunction(options)) {\n options = {\n serialize: options\n };\n } \n\n const serializeFn = options && options.serialize;\n\n let serializedParams;\n\n if (serializeFn) {\n serializedParams = serializeFn(params, options);\n } else {\n serializedParams = utils.isURLSearchParams(params) ?\n params.toString() :\n new AxiosURLSearchParams(params, options).toString(_encode);\n }\n\n if (serializedParams) {\n const hashmarkIndex = url.indexOf(\"#\");\n\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n}\n","'use strict';\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n *\n * @returns {string} The combined URL\n */\nexport default function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/?\\/$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n}\n","import CanceledError from \"../cancel/CanceledError.js\";\nimport AxiosError from \"../core/AxiosError.js\";\nimport utils from '../utils.js';\n\nconst composeSignals = (signals, timeout) => {\n const {length} = (signals = signals ? signals.filter(Boolean) : []);\n\n if (timeout || length) {\n let controller = new AbortController();\n\n let aborted;\n\n const onabort = function (reason) {\n if (!aborted) {\n aborted = true;\n unsubscribe();\n const err = reason instanceof Error ? reason : this.reason;\n controller.abort(err instanceof AxiosError ? err : new CanceledError(err instanceof Error ? err.message : err));\n }\n }\n\n let timer = timeout && setTimeout(() => {\n timer = null;\n onabort(new AxiosError(`timeout ${timeout} of ms exceeded`, AxiosError.ETIMEDOUT))\n }, timeout)\n\n const unsubscribe = () => {\n if (signals) {\n timer && clearTimeout(timer);\n timer = null;\n signals.forEach(signal => {\n signal.unsubscribe ? signal.unsubscribe(onabort) : signal.removeEventListener('abort', onabort);\n });\n signals = null;\n }\n }\n\n signals.forEach((signal) => signal.addEventListener('abort', onabort));\n\n const {signal} = controller;\n\n signal.unsubscribe = () => utils.asap(unsubscribe);\n\n return signal;\n }\n}\n\nexport default composeSignals;\n","import utils from './../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.hasStandardBrowserEnv ?\n\n // Standard browser envs support document.cookie\n {\n write(name, value, expires, path, domain, secure) {\n const cookie = [name + '=' + encodeURIComponent(value)];\n\n utils.isNumber(expires) && cookie.push('expires=' + new Date(expires).toGMTString());\n\n utils.isString(path) && cookie.push('path=' + path);\n\n utils.isString(domain) && cookie.push('domain=' + domain);\n\n secure === true && cookie.push('secure');\n\n document.cookie = cookie.join('; ');\n },\n\n read(name) {\n const match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n }\n\n :\n\n // Non-standard browser env (web workers, react-native) lack needed support.\n {\n write() {},\n read() {\n return null;\n },\n remove() {}\n };\n\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * It takes a string like `foo[x][y][z]` and returns an array like `['foo', 'x', 'y', 'z']\n *\n * @param {string} name - The name of the property to get.\n *\n * @returns An array of strings.\n */\nfunction parsePropPath(name) {\n // foo[x][y][z]\n // foo.x.y.z\n // foo-x-y-z\n // foo x y z\n return utils.matchAll(/\\w+|\\[(\\w*)]/g, name).map(match => {\n return match[0] === '[]' ? '' : match[1] || match[0];\n });\n}\n\n/**\n * Convert an array to an object.\n *\n * @param {Array} arr - The array to convert to an object.\n *\n * @returns An object with the same keys and values as the array.\n */\nfunction arrayToObject(arr) {\n const obj = {};\n const keys = Object.keys(arr);\n let i;\n const len = keys.length;\n let key;\n for (i = 0; i < len; i++) {\n key = keys[i];\n obj[key] = arr[key];\n }\n return obj;\n}\n\n/**\n * It takes a FormData object and returns a JavaScript object\n *\n * @param {string} formData The FormData object to convert to JSON.\n *\n * @returns {Object | null} The converted object.\n */\nfunction formDataToJSON(formData) {\n function buildPath(path, value, target, index) {\n let name = path[index++];\n\n if (name === '__proto__') return true;\n\n const isNumericKey = Number.isFinite(+name);\n const isLast = index >= path.length;\n name = !name && utils.isArray(target) ? target.length : name;\n\n if (isLast) {\n if (utils.hasOwnProp(target, name)) {\n target[name] = [target[name], value];\n } else {\n target[name] = value;\n }\n\n return !isNumericKey;\n }\n\n if (!target[name] || !utils.isObject(target[name])) {\n target[name] = [];\n }\n\n const result = buildPath(path, value, target[name], index);\n\n if (result && utils.isArray(target[name])) {\n target[name] = arrayToObject(target[name]);\n }\n\n return !isNumericKey;\n }\n\n if (utils.isFormData(formData) && utils.isFunction(formData.entries)) {\n const obj = {};\n\n utils.forEachEntry(formData, (name, value) => {\n buildPath(parsePropPath(name), value, obj, 0);\n });\n\n return obj;\n }\n\n return null;\n}\n\nexport default formDataToJSON;\n","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n *\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nexport default function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d+\\-.]*:)?\\/\\//i.test(url);\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\n/**\n * Determines whether the payload is an error thrown by Axios\n *\n * @param {*} payload The value to test\n *\n * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false\n */\nexport default function isAxiosError(payload) {\n return utils.isObject(payload) && (payload.isAxiosError === true);\n}\n","import platform from '../platform/index.js';\n\nexport default platform.hasStandardBrowserEnv ? ((origin, isMSIE) => (url) => {\n url = new URL(url, platform.origin);\n\n return (\n origin.protocol === url.protocol &&\n origin.host === url.host &&\n (isMSIE || origin.port === url.port)\n );\n})(\n new URL(platform.origin),\n platform.navigator && /(msie|trident)/i.test(platform.navigator.userAgent)\n) : () => true;\n","// eslint-disable-next-line strict\nexport default null;\n","'use strict';\n\nimport utils from './../utils.js';\n\n// RawAxiosHeaders whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nconst ignoreDuplicateOf = utils.toObjectSet([\n 'age', 'authorization', 'content-length', 'content-type', 'etag',\n 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',\n 'last-modified', 'location', 'max-forwards', 'proxy-authorization',\n 'referer', 'retry-after', 'user-agent'\n]);\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} rawHeaders Headers needing to be parsed\n *\n * @returns {Object} Headers parsed into an object\n */\nexport default rawHeaders => {\n const parsed = {};\n let key;\n let val;\n let i;\n\n rawHeaders && rawHeaders.split('\\n').forEach(function parser(line) {\n i = line.indexOf(':');\n key = line.substring(0, i).trim().toLowerCase();\n val = line.substring(i + 1).trim();\n\n if (!key || (parsed[key] && ignoreDuplicateOf[key])) {\n return;\n }\n\n if (key === 'set-cookie') {\n if (parsed[key]) {\n parsed[key].push(val);\n } else {\n parsed[key] = [val];\n }\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n });\n\n return parsed;\n};\n","'use strict';\n\nexport default function parseProtocol(url) {\n const match = /^([-+\\w]{1,25})(:?\\/\\/|:)/.exec(url);\n return match && match[1] || '';\n}\n","import speedometer from \"./speedometer.js\";\nimport throttle from \"./throttle.js\";\nimport utils from \"../utils.js\";\n\nexport const progressEventReducer = (listener, isDownloadStream, freq = 3) => {\n let bytesNotified = 0;\n const _speedometer = speedometer(50, 250);\n\n return throttle(e => {\n const loaded = e.loaded;\n const total = e.lengthComputable ? e.total : undefined;\n const progressBytes = loaded - bytesNotified;\n const rate = _speedometer(progressBytes);\n const inRange = loaded <= total;\n\n bytesNotified = loaded;\n\n const data = {\n loaded,\n total,\n progress: total ? (loaded / total) : undefined,\n bytes: progressBytes,\n rate: rate ? rate : undefined,\n estimated: rate && total && inRange ? (total - loaded) / rate : undefined,\n event: e,\n lengthComputable: total != null,\n [isDownloadStream ? 'download' : 'upload']: true\n };\n\n listener(data);\n }, freq);\n}\n\nexport const progressEventDecorator = (total, throttled) => {\n const lengthComputable = total != null;\n\n return [(loaded) => throttled[0]({\n lengthComputable,\n total,\n loaded\n }), throttled[1]];\n}\n\nexport const asyncDecorator = (fn) => (...args) => utils.asap(() => fn(...args));\n","import platform from \"../platform/index.js\";\nimport utils from \"../utils.js\";\nimport isURLSameOrigin from \"./isURLSameOrigin.js\";\nimport cookies from \"./cookies.js\";\nimport buildFullPath from \"../core/buildFullPath.js\";\nimport mergeConfig from \"../core/mergeConfig.js\";\nimport AxiosHeaders from \"../core/AxiosHeaders.js\";\nimport buildURL from \"./buildURL.js\";\n\nexport default (config) => {\n const newConfig = mergeConfig({}, config);\n\n let {data, withXSRFToken, xsrfHeaderName, xsrfCookieName, headers, auth} = newConfig;\n\n newConfig.headers = headers = AxiosHeaders.from(headers);\n\n newConfig.url = buildURL(buildFullPath(newConfig.baseURL, newConfig.url), config.params, config.paramsSerializer);\n\n // HTTP basic authentication\n if (auth) {\n headers.set('Authorization', 'Basic ' +\n btoa((auth.username || '') + ':' + (auth.password ? unescape(encodeURIComponent(auth.password)) : ''))\n );\n }\n\n let contentType;\n\n if (utils.isFormData(data)) {\n if (platform.hasStandardBrowserEnv || platform.hasStandardBrowserWebWorkerEnv) {\n headers.setContentType(undefined); // Let the browser set it\n } else if ((contentType = headers.getContentType()) !== false) {\n // fix semicolon duplication issue for ReactNative FormData implementation\n const [type, ...tokens] = contentType ? contentType.split(';').map(token => token.trim()).filter(Boolean) : [];\n headers.setContentType([type || 'multipart/form-data', ...tokens].join('; '));\n }\n }\n\n // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n\n if (platform.hasStandardBrowserEnv) {\n withXSRFToken && utils.isFunction(withXSRFToken) && (withXSRFToken = withXSRFToken(newConfig));\n\n if (withXSRFToken || (withXSRFToken !== false && isURLSameOrigin(newConfig.url))) {\n // Add xsrf header\n const xsrfValue = xsrfHeaderName && xsrfCookieName && cookies.read(xsrfCookieName);\n\n if (xsrfValue) {\n headers.set(xsrfHeaderName, xsrfValue);\n }\n }\n }\n\n return newConfig;\n}\n\n","'use strict';\n\n/**\n * Calculate data maxRate\n * @param {Number} [samplesCount= 10]\n * @param {Number} [min= 1000]\n * @returns {Function}\n */\nfunction speedometer(samplesCount, min) {\n samplesCount = samplesCount || 10;\n const bytes = new Array(samplesCount);\n const timestamps = new Array(samplesCount);\n let head = 0;\n let tail = 0;\n let firstSampleTS;\n\n min = min !== undefined ? min : 1000;\n\n return function push(chunkLength) {\n const now = Date.now();\n\n const startedAt = timestamps[tail];\n\n if (!firstSampleTS) {\n firstSampleTS = now;\n }\n\n bytes[head] = chunkLength;\n timestamps[head] = now;\n\n let i = tail;\n let bytesCount = 0;\n\n while (i !== head) {\n bytesCount += bytes[i++];\n i = i % samplesCount;\n }\n\n head = (head + 1) % samplesCount;\n\n if (head === tail) {\n tail = (tail + 1) % samplesCount;\n }\n\n if (now - firstSampleTS < min) {\n return;\n }\n\n const passed = startedAt && now - startedAt;\n\n return passed ? Math.round(bytesCount * 1000 / passed) : undefined;\n };\n}\n\nexport default speedometer;\n","'use strict';\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n *\n * @returns {Function}\n */\nexport default function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n}\n","/**\n * Throttle decorator\n * @param {Function} fn\n * @param {Number} freq\n * @return {Function}\n */\nfunction throttle(fn, freq) {\n let timestamp = 0;\n let threshold = 1000 / freq;\n let lastArgs;\n let timer;\n\n const invoke = (args, now = Date.now()) => {\n timestamp = now;\n lastArgs = null;\n if (timer) {\n clearTimeout(timer);\n timer = null;\n }\n fn.apply(null, args);\n }\n\n const throttled = (...args) => {\n const now = Date.now();\n const passed = now - timestamp;\n if ( passed >= threshold) {\n invoke(args, now);\n } else {\n lastArgs = args;\n if (!timer) {\n timer = setTimeout(() => {\n timer = null;\n invoke(lastArgs)\n }, threshold - passed);\n }\n }\n }\n\n const flush = () => lastArgs && invoke(lastArgs);\n\n return [throttled, flush];\n}\n\nexport default throttle;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\n// temporary hotfix to avoid circular references until AxiosURLSearchParams is refactored\nimport PlatformFormData from '../platform/node/classes/FormData.js';\n\n/**\n * Determines if the given thing is a array or js object.\n *\n * @param {string} thing - The object or array to be visited.\n *\n * @returns {boolean}\n */\nfunction isVisitable(thing) {\n return utils.isPlainObject(thing) || utils.isArray(thing);\n}\n\n/**\n * It removes the brackets from the end of a string\n *\n * @param {string} key - The key of the parameter.\n *\n * @returns {string} the key without the brackets.\n */\nfunction removeBrackets(key) {\n return utils.endsWith(key, '[]') ? key.slice(0, -2) : key;\n}\n\n/**\n * It takes a path, a key, and a boolean, and returns a string\n *\n * @param {string} path - The path to the current key.\n * @param {string} key - The key of the current object being iterated over.\n * @param {string} dots - If true, the key will be rendered with dots instead of brackets.\n *\n * @returns {string} The path to the current key.\n */\nfunction renderKey(path, key, dots) {\n if (!path) return key;\n return path.concat(key).map(function each(token, i) {\n // eslint-disable-next-line no-param-reassign\n token = removeBrackets(token);\n return !dots && i ? '[' + token + ']' : token;\n }).join(dots ? '.' : '');\n}\n\n/**\n * If the array is an array and none of its elements are visitable, then it's a flat array.\n *\n * @param {Array} arr - The array to check\n *\n * @returns {boolean}\n */\nfunction isFlatArray(arr) {\n return utils.isArray(arr) && !arr.some(isVisitable);\n}\n\nconst predicates = utils.toFlatObject(utils, {}, null, function filter(prop) {\n return /^is[A-Z]/.test(prop);\n});\n\n/**\n * Convert a data object to FormData\n *\n * @param {Object} obj\n * @param {?Object} [formData]\n * @param {?Object} [options]\n * @param {Function} [options.visitor]\n * @param {Boolean} [options.metaTokens = true]\n * @param {Boolean} [options.dots = false]\n * @param {?Boolean} [options.indexes = false]\n *\n * @returns {Object}\n **/\n\n/**\n * It converts an object into a FormData object\n *\n * @param {Object} obj - The object to convert to form data.\n * @param {string} formData - The FormData object to append to.\n * @param {Object} options\n *\n * @returns\n */\nfunction toFormData(obj, formData, options) {\n if (!utils.isObject(obj)) {\n throw new TypeError('target must be an object');\n }\n\n // eslint-disable-next-line no-param-reassign\n formData = formData || new (PlatformFormData || FormData)();\n\n // eslint-disable-next-line no-param-reassign\n options = utils.toFlatObject(options, {\n metaTokens: true,\n dots: false,\n indexes: false\n }, false, function defined(option, source) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n return !utils.isUndefined(source[option]);\n });\n\n const metaTokens = options.metaTokens;\n // eslint-disable-next-line no-use-before-define\n const visitor = options.visitor || defaultVisitor;\n const dots = options.dots;\n const indexes = options.indexes;\n const _Blob = options.Blob || typeof Blob !== 'undefined' && Blob;\n const useBlob = _Blob && utils.isSpecCompliantForm(formData);\n\n if (!utils.isFunction(visitor)) {\n throw new TypeError('visitor must be a function');\n }\n\n function convertValue(value) {\n if (value === null) return '';\n\n if (utils.isDate(value)) {\n return value.toISOString();\n }\n\n if (!useBlob && utils.isBlob(value)) {\n throw new AxiosError('Blob is not supported. Use a Buffer instead.');\n }\n\n if (utils.isArrayBuffer(value) || utils.isTypedArray(value)) {\n return useBlob && typeof Blob === 'function' ? new Blob([value]) : Buffer.from(value);\n }\n\n return value;\n }\n\n /**\n * Default visitor.\n *\n * @param {*} value\n * @param {String|Number} key\n * @param {Array} path\n * @this {FormData}\n *\n * @returns {boolean} return true to visit the each prop of the value recursively\n */\n function defaultVisitor(value, key, path) {\n let arr = value;\n\n if (value && !path && typeof value === 'object') {\n if (utils.endsWith(key, '{}')) {\n // eslint-disable-next-line no-param-reassign\n key = metaTokens ? key : key.slice(0, -2);\n // eslint-disable-next-line no-param-reassign\n value = JSON.stringify(value);\n } else if (\n (utils.isArray(value) && isFlatArray(value)) ||\n ((utils.isFileList(value) || utils.endsWith(key, '[]')) && (arr = utils.toArray(value))\n )) {\n // eslint-disable-next-line no-param-reassign\n key = removeBrackets(key);\n\n arr.forEach(function each(el, index) {\n !(utils.isUndefined(el) || el === null) && formData.append(\n // eslint-disable-next-line no-nested-ternary\n indexes === true ? renderKey([key], index, dots) : (indexes === null ? key : key + '[]'),\n convertValue(el)\n );\n });\n return false;\n }\n }\n\n if (isVisitable(value)) {\n return true;\n }\n\n formData.append(renderKey(path, key, dots), convertValue(value));\n\n return false;\n }\n\n const stack = [];\n\n const exposedHelpers = Object.assign(predicates, {\n defaultVisitor,\n convertValue,\n isVisitable\n });\n\n function build(value, path) {\n if (utils.isUndefined(value)) return;\n\n if (stack.indexOf(value) !== -1) {\n throw Error('Circular reference detected in ' + path.join('.'));\n }\n\n stack.push(value);\n\n utils.forEach(value, function each(el, key) {\n const result = !(utils.isUndefined(el) || el === null) && visitor.call(\n formData, el, utils.isString(key) ? key.trim() : key, path, exposedHelpers\n );\n\n if (result === true) {\n build(el, path ? path.concat(key) : [key]);\n }\n });\n\n stack.pop();\n }\n\n if (!utils.isObject(obj)) {\n throw new TypeError('data must be an object');\n }\n\n build(obj);\n\n return formData;\n}\n\nexport default toFormData;\n","'use strict';\n\nimport utils from '../utils.js';\nimport toFormData from './toFormData.js';\nimport platform from '../platform/index.js';\n\nexport default function toURLEncodedForm(data, options) {\n return toFormData(data, new platform.classes.URLSearchParams(), Object.assign({\n visitor: function(value, key, path, helpers) {\n if (platform.isNode && utils.isBuffer(value)) {\n this.append(key, value.toString('base64'));\n return false;\n }\n\n return helpers.defaultVisitor.apply(this, arguments);\n }\n }, options));\n}\n","\nexport const streamChunk = function* (chunk, chunkSize) {\n let len = chunk.byteLength;\n\n if (!chunkSize || len < chunkSize) {\n yield chunk;\n return;\n }\n\n let pos = 0;\n let end;\n\n while (pos < len) {\n end = pos + chunkSize;\n yield chunk.slice(pos, end);\n pos = end;\n }\n}\n\nexport const readBytes = async function* (iterable, chunkSize) {\n for await (const chunk of readStream(iterable)) {\n yield* streamChunk(chunk, chunkSize);\n }\n}\n\nconst readStream = async function* (stream) {\n if (stream[Symbol.asyncIterator]) {\n yield* stream;\n return;\n }\n\n const reader = stream.getReader();\n try {\n for (;;) {\n const {done, value} = await reader.read();\n if (done) {\n break;\n }\n yield value;\n }\n } finally {\n await reader.cancel();\n }\n}\n\nexport const trackStream = (stream, chunkSize, onProgress, onFinish) => {\n const iterator = readBytes(stream, chunkSize);\n\n let bytes = 0;\n let done;\n let _onFinish = (e) => {\n if (!done) {\n done = true;\n onFinish && onFinish(e);\n }\n }\n\n return new ReadableStream({\n async pull(controller) {\n try {\n const {done, value} = await iterator.next();\n\n if (done) {\n _onFinish();\n controller.close();\n return;\n }\n\n let len = value.byteLength;\n if (onProgress) {\n let loadedBytes = bytes += len;\n onProgress(loadedBytes);\n }\n controller.enqueue(new Uint8Array(value));\n } catch (err) {\n _onFinish(err);\n throw err;\n }\n },\n cancel(reason) {\n _onFinish(reason);\n return iterator.return();\n }\n }, {\n highWaterMark: 2\n })\n}\n","'use strict';\n\nimport {VERSION} from '../env/data.js';\nimport AxiosError from '../core/AxiosError.js';\n\nconst validators = {};\n\n// eslint-disable-next-line func-names\n['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach((type, i) => {\n validators[type] = function validator(thing) {\n return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type;\n };\n});\n\nconst deprecatedWarnings = {};\n\n/**\n * Transitional option validator\n *\n * @param {function|boolean?} validator - set to false if the transitional option has been removed\n * @param {string?} version - deprecated version / removed since version\n * @param {string?} message - some message with additional info\n *\n * @returns {function}\n */\nvalidators.transitional = function transitional(validator, version, message) {\n function formatMessage(opt, desc) {\n return '[Axios v' + VERSION + '] Transitional option \\'' + opt + '\\'' + desc + (message ? '. ' + message : '');\n }\n\n // eslint-disable-next-line func-names\n return (value, opt, opts) => {\n if (validator === false) {\n throw new AxiosError(\n formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')),\n AxiosError.ERR_DEPRECATED\n );\n }\n\n if (version && !deprecatedWarnings[opt]) {\n deprecatedWarnings[opt] = true;\n // eslint-disable-next-line no-console\n console.warn(\n formatMessage(\n opt,\n ' has been deprecated since v' + version + ' and will be removed in the near future'\n )\n );\n }\n\n return validator ? validator(value, opt, opts) : true;\n };\n};\n\nvalidators.spelling = function spelling(correctSpelling) {\n return (value, opt) => {\n // eslint-disable-next-line no-console\n console.warn(`${opt} is likely a misspelling of ${correctSpelling}`);\n return true;\n }\n};\n\n/**\n * Assert object's properties type\n *\n * @param {object} options\n * @param {object} schema\n * @param {boolean?} allowUnknown\n *\n * @returns {object}\n */\n\nfunction assertOptions(options, schema, allowUnknown) {\n if (typeof options !== 'object') {\n throw new AxiosError('options must be an object', AxiosError.ERR_BAD_OPTION_VALUE);\n }\n const keys = Object.keys(options);\n let i = keys.length;\n while (i-- > 0) {\n const opt = keys[i];\n const validator = schema[opt];\n if (validator) {\n const value = options[opt];\n const result = value === undefined || validator(value, opt, options);\n if (result !== true) {\n throw new AxiosError('option ' + opt + ' must be ' + result, AxiosError.ERR_BAD_OPTION_VALUE);\n }\n continue;\n }\n if (allowUnknown !== true) {\n throw new AxiosError('Unknown option ' + opt, AxiosError.ERR_BAD_OPTION);\n }\n }\n}\n\nexport default {\n assertOptions,\n validators\n};\n","'use strict'\n\nexport default typeof Blob !== 'undefined' ? Blob : null\n","'use strict';\n\nexport default typeof FormData !== 'undefined' ? FormData : null;\n","'use strict';\n\nimport AxiosURLSearchParams from '../../../helpers/AxiosURLSearchParams.js';\nexport default typeof URLSearchParams !== 'undefined' ? URLSearchParams : AxiosURLSearchParams;\n","import URLSearchParams from './classes/URLSearchParams.js'\nimport FormData from './classes/FormData.js'\nimport Blob from './classes/Blob.js'\n\nexport default {\n isBrowser: true,\n classes: {\n URLSearchParams,\n FormData,\n Blob\n },\n protocols: ['http', 'https', 'file', 'blob', 'url', 'data']\n};\n","const hasBrowserEnv = typeof window !== 'undefined' && typeof document !== 'undefined';\n\nconst _navigator = typeof navigator === 'object' && navigator || undefined;\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n * nativescript\n * navigator.product -> 'NativeScript' or 'NS'\n *\n * @returns {boolean}\n */\nconst hasStandardBrowserEnv = hasBrowserEnv &&\n (!_navigator || ['ReactNative', 'NativeScript', 'NS'].indexOf(_navigator.product) < 0);\n\n/**\n * Determine if we're running in a standard browser webWorker environment\n *\n * Although the `isStandardBrowserEnv` method indicates that\n * `allows axios to run in a web worker`, the WebWorker will still be\n * filtered out due to its judgment standard\n * `typeof window !== 'undefined' && typeof document !== 'undefined'`.\n * This leads to a problem when axios post `FormData` in webWorker\n */\nconst hasStandardBrowserWebWorkerEnv = (() => {\n return (\n typeof WorkerGlobalScope !== 'undefined' &&\n // eslint-disable-next-line no-undef\n self instanceof WorkerGlobalScope &&\n typeof self.importScripts === 'function'\n );\n})();\n\nconst origin = hasBrowserEnv && window.location.href || 'http://localhost';\n\nexport {\n hasBrowserEnv,\n hasStandardBrowserWebWorkerEnv,\n hasStandardBrowserEnv,\n _navigator as navigator,\n origin\n}\n","import platform from './node/index.js';\nimport * as utils from './common/utils.js';\n\nexport default {\n ...utils,\n ...platform\n}\n","'use strict';\n\nimport bind from './helpers/bind.js';\n\n// utils is a library of generic helper functions non-specific to axios\n\nconst {toString} = Object.prototype;\nconst {getPrototypeOf} = Object;\n\nconst kindOf = (cache => thing => {\n const str = toString.call(thing);\n return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase());\n})(Object.create(null));\n\nconst kindOfTest = (type) => {\n type = type.toLowerCase();\n return (thing) => kindOf(thing) === type\n}\n\nconst typeOfTest = type => thing => typeof thing === type;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n *\n * @returns {boolean} True if value is an Array, otherwise false\n */\nconst {isArray} = Array;\n\n/**\n * Determine if a value is undefined\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nconst isUndefined = typeOfTest('undefined');\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Buffer, otherwise false\n */\nfunction isBuffer(val) {\n return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor)\n && isFunction(val.constructor.isBuffer) && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nconst isArrayBuffer = kindOfTest('ArrayBuffer');\n\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n let result;\n if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n result = ArrayBuffer.isView(val);\n } else {\n result = (val) && (val.buffer) && (isArrayBuffer(val.buffer));\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a String, otherwise false\n */\nconst isString = typeOfTest('string');\n\n/**\n * Determine if a value is a Function\n *\n * @param {*} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nconst isFunction = typeOfTest('function');\n\n/**\n * Determine if a value is a Number\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Number, otherwise false\n */\nconst isNumber = typeOfTest('number');\n\n/**\n * Determine if a value is an Object\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an Object, otherwise false\n */\nconst isObject = (thing) => thing !== null && typeof thing === 'object';\n\n/**\n * Determine if a value is a Boolean\n *\n * @param {*} thing The value to test\n * @returns {boolean} True if value is a Boolean, otherwise false\n */\nconst isBoolean = thing => thing === true || thing === false;\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a plain Object, otherwise false\n */\nconst isPlainObject = (val) => {\n if (kindOf(val) !== 'object') {\n return false;\n }\n\n const prototype = getPrototypeOf(val);\n return (prototype === null || prototype === Object.prototype || Object.getPrototypeOf(prototype) === null) && !(Symbol.toStringTag in val) && !(Symbol.iterator in val);\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Date, otherwise false\n */\nconst isDate = kindOfTest('Date');\n\n/**\n * Determine if a value is a File\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFile = kindOfTest('File');\n\n/**\n * Determine if a value is a Blob\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nconst isBlob = kindOfTest('Blob');\n\n/**\n * Determine if a value is a FileList\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFileList = kindOfTest('FileList');\n\n/**\n * Determine if a value is a Stream\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nconst isStream = (val) => isObject(val) && isFunction(val.pipe);\n\n/**\n * Determine if a value is a FormData\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nconst isFormData = (thing) => {\n let kind;\n return thing && (\n (typeof FormData === 'function' && thing instanceof FormData) || (\n isFunction(thing.append) && (\n (kind = kindOf(thing)) === 'formdata' ||\n // detect form-data instance\n (kind === 'object' && isFunction(thing.toString) && thing.toString() === '[object FormData]')\n )\n )\n )\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nconst isURLSearchParams = kindOfTest('URLSearchParams');\n\nconst [isReadableStream, isRequest, isResponse, isHeaders] = ['ReadableStream', 'Request', 'Response', 'Headers'].map(kindOfTest);\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n *\n * @returns {String} The String freed of excess whitespace\n */\nconst trim = (str) => str.trim ?\n str.trim() : str.replace(/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g, '');\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n *\n * @param {Boolean} [allOwnKeys = false]\n * @returns {any}\n */\nfunction forEach(obj, fn, {allOwnKeys = false} = {}) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n let i;\n let l;\n\n // Force an array if not already something iterable\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Iterate over object keys\n const keys = allOwnKeys ? Object.getOwnPropertyNames(obj) : Object.keys(obj);\n const len = keys.length;\n let key;\n\n for (i = 0; i < len; i++) {\n key = keys[i];\n fn.call(null, obj[key], key, obj);\n }\n }\n}\n\nfunction findKey(obj, key) {\n key = key.toLowerCase();\n const keys = Object.keys(obj);\n let i = keys.length;\n let _key;\n while (i-- > 0) {\n _key = keys[i];\n if (key === _key.toLowerCase()) {\n return _key;\n }\n }\n return null;\n}\n\nconst _global = (() => {\n /*eslint no-undef:0*/\n if (typeof globalThis !== \"undefined\") return globalThis;\n return typeof self !== \"undefined\" ? self : (typeof window !== 'undefined' ? window : global)\n})();\n\nconst isContextDefined = (context) => !isUndefined(context) && context !== _global;\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n *\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n const {caseless} = isContextDefined(this) && this || {};\n const result = {};\n const assignValue = (val, key) => {\n const targetKey = caseless && findKey(result, key) || key;\n if (isPlainObject(result[targetKey]) && isPlainObject(val)) {\n result[targetKey] = merge(result[targetKey], val);\n } else if (isPlainObject(val)) {\n result[targetKey] = merge({}, val);\n } else if (isArray(val)) {\n result[targetKey] = val.slice();\n } else {\n result[targetKey] = val;\n }\n }\n\n for (let i = 0, l = arguments.length; i < l; i++) {\n arguments[i] && forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n *\n * @param {Boolean} [allOwnKeys]\n * @returns {Object} The resulting value of object a\n */\nconst extend = (a, b, thisArg, {allOwnKeys}= {}) => {\n forEach(b, (val, key) => {\n if (thisArg && isFunction(val)) {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n }, {allOwnKeys});\n return a;\n}\n\n/**\n * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)\n *\n * @param {string} content with BOM\n *\n * @returns {string} content value without BOM\n */\nconst stripBOM = (content) => {\n if (content.charCodeAt(0) === 0xFEFF) {\n content = content.slice(1);\n }\n return content;\n}\n\n/**\n * Inherit the prototype methods from one constructor into another\n * @param {function} constructor\n * @param {function} superConstructor\n * @param {object} [props]\n * @param {object} [descriptors]\n *\n * @returns {void}\n */\nconst inherits = (constructor, superConstructor, props, descriptors) => {\n constructor.prototype = Object.create(superConstructor.prototype, descriptors);\n constructor.prototype.constructor = constructor;\n Object.defineProperty(constructor, 'super', {\n value: superConstructor.prototype\n });\n props && Object.assign(constructor.prototype, props);\n}\n\n/**\n * Resolve object with deep prototype chain to a flat object\n * @param {Object} sourceObj source object\n * @param {Object} [destObj]\n * @param {Function|Boolean} [filter]\n * @param {Function} [propFilter]\n *\n * @returns {Object}\n */\nconst toFlatObject = (sourceObj, destObj, filter, propFilter) => {\n let props;\n let i;\n let prop;\n const merged = {};\n\n destObj = destObj || {};\n // eslint-disable-next-line no-eq-null,eqeqeq\n if (sourceObj == null) return destObj;\n\n do {\n props = Object.getOwnPropertyNames(sourceObj);\n i = props.length;\n while (i-- > 0) {\n prop = props[i];\n if ((!propFilter || propFilter(prop, sourceObj, destObj)) && !merged[prop]) {\n destObj[prop] = sourceObj[prop];\n merged[prop] = true;\n }\n }\n sourceObj = filter !== false && getPrototypeOf(sourceObj);\n } while (sourceObj && (!filter || filter(sourceObj, destObj)) && sourceObj !== Object.prototype);\n\n return destObj;\n}\n\n/**\n * Determines whether a string ends with the characters of a specified string\n *\n * @param {String} str\n * @param {String} searchString\n * @param {Number} [position= 0]\n *\n * @returns {boolean}\n */\nconst endsWith = (str, searchString, position) => {\n str = String(str);\n if (position === undefined || position > str.length) {\n position = str.length;\n }\n position -= searchString.length;\n const lastIndex = str.indexOf(searchString, position);\n return lastIndex !== -1 && lastIndex === position;\n}\n\n\n/**\n * Returns new array from array like object or null if failed\n *\n * @param {*} [thing]\n *\n * @returns {?Array}\n */\nconst toArray = (thing) => {\n if (!thing) return null;\n if (isArray(thing)) return thing;\n let i = thing.length;\n if (!isNumber(i)) return null;\n const arr = new Array(i);\n while (i-- > 0) {\n arr[i] = thing[i];\n }\n return arr;\n}\n\n/**\n * Checking if the Uint8Array exists and if it does, it returns a function that checks if the\n * thing passed in is an instance of Uint8Array\n *\n * @param {TypedArray}\n *\n * @returns {Array}\n */\n// eslint-disable-next-line func-names\nconst isTypedArray = (TypedArray => {\n // eslint-disable-next-line func-names\n return thing => {\n return TypedArray && thing instanceof TypedArray;\n };\n})(typeof Uint8Array !== 'undefined' && getPrototypeOf(Uint8Array));\n\n/**\n * For each entry in the object, call the function with the key and value.\n *\n * @param {Object} obj - The object to iterate over.\n * @param {Function} fn - The function to call for each entry.\n *\n * @returns {void}\n */\nconst forEachEntry = (obj, fn) => {\n const generator = obj && obj[Symbol.iterator];\n\n const iterator = generator.call(obj);\n\n let result;\n\n while ((result = iterator.next()) && !result.done) {\n const pair = result.value;\n fn.call(obj, pair[0], pair[1]);\n }\n}\n\n/**\n * It takes a regular expression and a string, and returns an array of all the matches\n *\n * @param {string} regExp - The regular expression to match against.\n * @param {string} str - The string to search.\n *\n * @returns {Array}\n */\nconst matchAll = (regExp, str) => {\n let matches;\n const arr = [];\n\n while ((matches = regExp.exec(str)) !== null) {\n arr.push(matches);\n }\n\n return arr;\n}\n\n/* Checking if the kindOfTest function returns true when passed an HTMLFormElement. */\nconst isHTMLForm = kindOfTest('HTMLFormElement');\n\nconst toCamelCase = str => {\n return str.toLowerCase().replace(/[-_\\s]([a-z\\d])(\\w*)/g,\n function replacer(m, p1, p2) {\n return p1.toUpperCase() + p2;\n }\n );\n};\n\n/* Creating a function that will check if an object has a property. */\nconst hasOwnProperty = (({hasOwnProperty}) => (obj, prop) => hasOwnProperty.call(obj, prop))(Object.prototype);\n\n/**\n * Determine if a value is a RegExp object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a RegExp object, otherwise false\n */\nconst isRegExp = kindOfTest('RegExp');\n\nconst reduceDescriptors = (obj, reducer) => {\n const descriptors = Object.getOwnPropertyDescriptors(obj);\n const reducedDescriptors = {};\n\n forEach(descriptors, (descriptor, name) => {\n let ret;\n if ((ret = reducer(descriptor, name, obj)) !== false) {\n reducedDescriptors[name] = ret || descriptor;\n }\n });\n\n Object.defineProperties(obj, reducedDescriptors);\n}\n\n/**\n * Makes all methods read-only\n * @param {Object} obj\n */\n\nconst freezeMethods = (obj) => {\n reduceDescriptors(obj, (descriptor, name) => {\n // skip restricted props in strict mode\n if (isFunction(obj) && ['arguments', 'caller', 'callee'].indexOf(name) !== -1) {\n return false;\n }\n\n const value = obj[name];\n\n if (!isFunction(value)) return;\n\n descriptor.enumerable = false;\n\n if ('writable' in descriptor) {\n descriptor.writable = false;\n return;\n }\n\n if (!descriptor.set) {\n descriptor.set = () => {\n throw Error('Can not rewrite read-only method \\'' + name + '\\'');\n };\n }\n });\n}\n\nconst toObjectSet = (arrayOrString, delimiter) => {\n const obj = {};\n\n const define = (arr) => {\n arr.forEach(value => {\n obj[value] = true;\n });\n }\n\n isArray(arrayOrString) ? define(arrayOrString) : define(String(arrayOrString).split(delimiter));\n\n return obj;\n}\n\nconst noop = () => {}\n\nconst toFiniteNumber = (value, defaultValue) => {\n return value != null && Number.isFinite(value = +value) ? value : defaultValue;\n}\n\n/**\n * If the thing is a FormData object, return true, otherwise return false.\n *\n * @param {unknown} thing - The thing to check.\n *\n * @returns {boolean}\n */\nfunction isSpecCompliantForm(thing) {\n return !!(thing && isFunction(thing.append) && thing[Symbol.toStringTag] === 'FormData' && thing[Symbol.iterator]);\n}\n\nconst toJSONObject = (obj) => {\n const stack = new Array(10);\n\n const visit = (source, i) => {\n\n if (isObject(source)) {\n if (stack.indexOf(source) >= 0) {\n return;\n }\n\n if(!('toJSON' in source)) {\n stack[i] = source;\n const target = isArray(source) ? [] : {};\n\n forEach(source, (value, key) => {\n const reducedValue = visit(value, i + 1);\n !isUndefined(reducedValue) && (target[key] = reducedValue);\n });\n\n stack[i] = undefined;\n\n return target;\n }\n }\n\n return source;\n }\n\n return visit(obj, 0);\n}\n\nconst isAsyncFn = kindOfTest('AsyncFunction');\n\nconst isThenable = (thing) =>\n thing && (isObject(thing) || isFunction(thing)) && isFunction(thing.then) && isFunction(thing.catch);\n\n// original code\n// https://github.com/DigitalBrainJS/AxiosPromise/blob/16deab13710ec09779922131f3fa5954320f83ab/lib/utils.js#L11-L34\n\nconst _setImmediate = ((setImmediateSupported, postMessageSupported) => {\n if (setImmediateSupported) {\n return setImmediate;\n }\n\n return postMessageSupported ? ((token, callbacks) => {\n _global.addEventListener(\"message\", ({source, data}) => {\n if (source === _global && data === token) {\n callbacks.length && callbacks.shift()();\n }\n }, false);\n\n return (cb) => {\n callbacks.push(cb);\n _global.postMessage(token, \"*\");\n }\n })(`axios@${Math.random()}`, []) : (cb) => setTimeout(cb);\n})(\n typeof setImmediate === 'function',\n isFunction(_global.postMessage)\n);\n\nconst asap = typeof queueMicrotask !== 'undefined' ?\n queueMicrotask.bind(_global) : ( typeof process !== 'undefined' && process.nextTick || _setImmediate);\n\n// *********************\n\nexport default {\n isArray,\n isArrayBuffer,\n isBuffer,\n isFormData,\n isArrayBufferView,\n isString,\n isNumber,\n isBoolean,\n isObject,\n isPlainObject,\n isReadableStream,\n isRequest,\n isResponse,\n isHeaders,\n isUndefined,\n isDate,\n isFile,\n isBlob,\n isRegExp,\n isFunction,\n isStream,\n isURLSearchParams,\n isTypedArray,\n isFileList,\n forEach,\n merge,\n extend,\n trim,\n stripBOM,\n inherits,\n toFlatObject,\n kindOf,\n kindOfTest,\n endsWith,\n toArray,\n forEachEntry,\n matchAll,\n isHTMLForm,\n hasOwnProperty,\n hasOwnProp: hasOwnProperty, // an alias to avoid ESLint no-prototype-builtins detection\n reduceDescriptors,\n freezeMethods,\n toObjectSet,\n toCamelCase,\n noop,\n toFiniteNumber,\n findKey,\n global: _global,\n isContextDefined,\n isSpecCompliantForm,\n toJSONObject,\n isAsyncFn,\n isThenable,\n setImmediate: _setImmediate,\n asap\n};\n","/*\n * International Telephone Input v18.5.3\n * https://github.com/jackocnr/intl-tel-input.git\n * Licensed under the MIT license\n */\n\n// wrap in UMD\n(function(factory) {\n if (typeof module === \"object\" && module.exports) module.exports = factory(); else window.intlTelInput = factory();\n})(function(undefined) {\n \"use strict\";\n return function() {\n // Array of country objects for the flag dropdown.\n // Here is the criteria for the plugin to support a given country/territory\n // - It has an iso2 code: https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2\n // - It has it's own country calling code (it is not a sub-region of another country): https://en.wikipedia.org/wiki/List_of_country_calling_codes\n // - It has a flag in the region-flags project: https://github.com/behdad/region-flags/tree/gh-pages/png\n // - It is supported by libphonenumber (it must be listed on this page): https://github.com/googlei18n/libphonenumber/blob/master/resources/ShortNumberMetadata.xml\n // Each country array has the following information:\n // [\n // Country name,\n // iso2 code,\n // International dial code,\n // Order (if >1 country with same dial code),\n // Area codes\n // ]\n var allCountries = [ [ \"Afghanistan\", \"af\", \"93\" ], [ \"Albania\", \"al\", \"355\" ], [ \"Algeria\", \"dz\", \"213\" ], [ \"American Samoa\", \"as\", \"1\", 5, [ \"684\" ] ], [ \"Andorra\", \"ad\", \"376\" ], [ \"Angola\", \"ao\", \"244\" ], [ \"Anguilla\", \"ai\", \"1\", 6, [ \"264\" ] ], [ \"Antigua & Barbuda\", \"ag\", \"1\", 7, [ \"268\" ] ], [ \"Argentina\", \"ar\", \"54\" ], [ \"Armenia\", \"am\", \"374\" ], [ \"Aruba\", \"aw\", \"297\" ], [ \"Ascension Island\", \"ac\", \"247\" ], [ \"Australia\", \"au\", \"61\", 0 ], [ \"Austria\", \"at\", \"43\" ], [ \"Azerbaijan\", \"az\", \"994\" ], [ \"Bahamas\", \"bs\", \"1\", 8, [ \"242\" ] ], [ \"Bahrain\", \"bh\", \"973\" ], [ \"Bangladesh\", \"bd\", \"880\" ], [ \"Barbados\", \"bb\", \"1\", 9, [ \"246\" ] ], [ \"Belarus\", \"by\", \"375\" ], [ \"Belgium\", \"be\", \"32\" ], [ \"Belize\", \"bz\", \"501\" ], [ \"Benin\", \"bj\", \"229\" ], [ \"Bermuda\", \"bm\", \"1\", 10, [ \"441\" ] ], [ \"Bhutan\", \"bt\", \"975\" ], [ \"Bolivia\", \"bo\", \"591\" ], [ \"Bosnia & Herzegovina\", \"ba\", \"387\" ], [ \"Botswana\", \"bw\", \"267\" ], [ \"Brazil\", \"br\", \"55\" ], [ \"British Indian Ocean Territory\", \"io\", \"246\" ], [ \"British Virgin Islands\", \"vg\", \"1\", 11, [ \"284\" ] ], [ \"Brunei\", \"bn\", \"673\" ], [ \"Bulgaria\", \"bg\", \"359\" ], [ \"Burkina Faso\", \"bf\", \"226\" ], [ \"Burundi\", \"bi\", \"257\" ], [ \"Cambodia\", \"kh\", \"855\" ], [ \"Cameroon\", \"cm\", \"237\" ], [ \"Canada\", \"ca\", \"1\", 1, [ \"204\", \"226\", \"236\", \"249\", \"250\", \"263\", \"289\", \"306\", \"343\", \"354\", \"365\", \"367\", \"368\", \"382\", \"387\", \"403\", \"416\", \"418\", \"428\", \"431\", \"437\", \"438\", \"450\", \"584\", \"468\", \"474\", \"506\", \"514\", \"519\", \"548\", \"579\", \"581\", \"584\", \"587\", \"604\", \"613\", \"639\", \"647\", \"672\", \"683\", \"705\", \"709\", \"742\", \"753\", \"778\", \"780\", \"782\", \"807\", \"819\", \"825\", \"867\", \"873\", \"902\", \"905\" ] ], [ \"Cape Verde\", \"cv\", \"238\" ], [ \"Caribbean Netherlands\", \"bq\", \"599\", 1, [ \"3\", \"4\", \"7\" ] ], [ \"Cayman Islands\", \"ky\", \"1\", 12, [ \"345\" ] ], [ \"Central African Republic\", \"cf\", \"236\" ], [ \"Chad\", \"td\", \"235\" ], [ \"Chile\", \"cl\", \"56\" ], [ \"China\", \"cn\", \"86\" ], [ \"Christmas Island\", \"cx\", \"61\", 2, [ \"89164\" ] ], [ \"Cocos (Keeling) Islands\", \"cc\", \"61\", 1, [ \"89162\" ] ], [ \"Colombia\", \"co\", \"57\" ], [ \"Comoros\", \"km\", \"269\" ], [ \"Congo - Brazzaville\", \"cg\", \"242\" ], [ \"Congo - Kinshasa\", \"cd\", \"243\" ], [ \"Cook Islands\", \"ck\", \"682\" ], [ \"Costa Rica\", \"cr\", \"506\" ], [ \"Côte d’Ivoire\", \"ci\", \"225\" ], [ \"Croatia\", \"hr\", \"385\" ], [ \"Cuba\", \"cu\", \"53\" ], [ \"Curaçao\", \"cw\", \"599\", 0 ], [ \"Cyprus\", \"cy\", \"357\" ], [ \"Czech Republic\", \"cz\", \"420\" ], [ \"Denmark\", \"dk\", \"45\" ], [ \"Djibouti\", \"dj\", \"253\" ], [ \"Dominica\", \"dm\", \"1\", 13, [ \"767\" ] ], [ \"Dominican Republic\", \"do\", \"1\", 2, [ \"809\", \"829\", \"849\" ] ], [ \"Ecuador\", \"ec\", \"593\" ], [ \"Egypt\", \"eg\", \"20\" ], [ \"El Salvador\", \"sv\", \"503\" ], [ \"Equatorial Guinea\", \"gq\", \"240\" ], [ \"Eritrea\", \"er\", \"291\" ], [ \"Estonia\", \"ee\", \"372\" ], [ \"Eswatini\", \"sz\", \"268\" ], [ \"Ethiopia\", \"et\", \"251\" ], [ \"Falkland Islands\", \"fk\", \"500\" ], [ \"Faroe Islands\", \"fo\", \"298\" ], [ \"Fiji\", \"fj\", \"679\" ], [ \"Finland\", \"fi\", \"358\", 0 ], [ \"France\", \"fr\", \"33\" ], [ \"French Guiana\", \"gf\", \"594\" ], [ \"French Polynesia\", \"pf\", \"689\" ], [ \"Gabon\", \"ga\", \"241\" ], [ \"Gambia\", \"gm\", \"220\" ], [ \"Georgia\", \"ge\", \"995\" ], [ \"Germany\", \"de\", \"49\" ], [ \"Ghana\", \"gh\", \"233\" ], [ \"Gibraltar\", \"gi\", \"350\" ], [ \"Greece\", \"gr\", \"30\" ], [ \"Greenland\", \"gl\", \"299\" ], [ \"Grenada\", \"gd\", \"1\", 14, [ \"473\" ] ], [ \"Guadeloupe\", \"gp\", \"590\", 0 ], [ \"Guam\", \"gu\", \"1\", 15, [ \"671\" ] ], [ \"Guatemala\", \"gt\", \"502\" ], [ \"Guernsey\", \"gg\", \"44\", 1, [ \"1481\", \"7781\", \"7839\", \"7911\" ] ], [ \"Guinea\", \"gn\", \"224\" ], [ \"Guinea-Bissau\", \"gw\", \"245\" ], [ \"Guyana\", \"gy\", \"592\" ], [ \"Haiti\", \"ht\", \"509\" ], [ \"Honduras\", \"hn\", \"504\" ], [ \"Hong Kong\", \"hk\", \"852\" ], [ \"Hungary\", \"hu\", \"36\" ], [ \"Iceland\", \"is\", \"354\" ], [ \"India\", \"in\", \"91\" ], [ \"Indonesia\", \"id\", \"62\" ], [ \"Iran\", \"ir\", \"98\" ], [ \"Iraq\", \"iq\", \"964\" ], [ \"Ireland\", \"ie\", \"353\" ], [ \"Isle of Man\", \"im\", \"44\", 2, [ \"1624\", \"74576\", \"7524\", \"7924\", \"7624\" ] ], [ \"Israel\", \"il\", \"972\" ], [ \"Italy\", \"it\", \"39\", 0 ], [ \"Jamaica\", \"jm\", \"1\", 4, [ \"876\", \"658\" ] ], [ \"Japan\", \"jp\", \"81\" ], [ \"Jersey\", \"je\", \"44\", 3, [ \"1534\", \"7509\", \"7700\", \"7797\", \"7829\", \"7937\" ] ], [ \"Jordan\", \"jo\", \"962\" ], [ \"Kazakhstan\", \"kz\", \"7\", 1, [ \"33\", \"7\" ] ], [ \"Kenya\", \"ke\", \"254\" ], [ \"Kiribati\", \"ki\", \"686\" ], [ \"Kosovo\", \"xk\", \"383\" ], [ \"Kuwait\", \"kw\", \"965\" ], [ \"Kyrgyzstan\", \"kg\", \"996\" ], [ \"Laos\", \"la\", \"856\" ], [ \"Latvia\", \"lv\", \"371\" ], [ \"Lebanon\", \"lb\", \"961\" ], [ \"Lesotho\", \"ls\", \"266\" ], [ \"Liberia\", \"lr\", \"231\" ], [ \"Libya\", \"ly\", \"218\" ], [ \"Liechtenstein\", \"li\", \"423\" ], [ \"Lithuania\", \"lt\", \"370\" ], [ \"Luxembourg\", \"lu\", \"352\" ], [ \"Macau\", \"mo\", \"853\" ], [ \"Madagascar\", \"mg\", \"261\" ], [ \"Malawi\", \"mw\", \"265\" ], [ \"Malaysia\", \"my\", \"60\" ], [ \"Maldives\", \"mv\", \"960\" ], [ \"Mali\", \"ml\", \"223\" ], [ \"Malta\", \"mt\", \"356\" ], [ \"Marshall Islands\", \"mh\", \"692\" ], [ \"Martinique\", \"mq\", \"596\" ], [ \"Mauritania\", \"mr\", \"222\" ], [ \"Mauritius\", \"mu\", \"230\" ], [ \"Mayotte\", \"yt\", \"262\", 1, [ \"269\", \"639\" ] ], [ \"Mexico\", \"mx\", \"52\" ], [ \"Micronesia\", \"fm\", \"691\" ], [ \"Moldova\", \"md\", \"373\" ], [ \"Monaco\", \"mc\", \"377\" ], [ \"Mongolia\", \"mn\", \"976\" ], [ \"Montenegro\", \"me\", \"382\" ], [ \"Montserrat\", \"ms\", \"1\", 16, [ \"664\" ] ], [ \"Morocco\", \"ma\", \"212\", 0 ], [ \"Mozambique\", \"mz\", \"258\" ], [ \"Myanmar (Burma)\", \"mm\", \"95\" ], [ \"Namibia\", \"na\", \"264\" ], [ \"Nauru\", \"nr\", \"674\" ], [ \"Nepal\", \"np\", \"977\" ], [ \"Netherlands\", \"nl\", \"31\" ], [ \"New Caledonia\", \"nc\", \"687\" ], [ \"New Zealand\", \"nz\", \"64\" ], [ \"Nicaragua\", \"ni\", \"505\" ], [ \"Niger\", \"ne\", \"227\" ], [ \"Nigeria\", \"ng\", \"234\" ], [ \"Niue\", \"nu\", \"683\" ], [ \"Norfolk Island\", \"nf\", \"672\" ], [ \"North Korea\", \"kp\", \"850\" ], [ \"North Macedonia\", \"mk\", \"389\" ], [ \"Northern Mariana Islands\", \"mp\", \"1\", 17, [ \"670\" ] ], [ \"Norway\", \"no\", \"47\", 0 ], [ \"Oman\", \"om\", \"968\" ], [ \"Pakistan\", \"pk\", \"92\" ], [ \"Palau\", \"pw\", \"680\" ], [ \"Palestine\", \"ps\", \"970\" ], [ \"Panama\", \"pa\", \"507\" ], [ \"Papua New Guinea\", \"pg\", \"675\" ], [ \"Paraguay\", \"py\", \"595\" ], [ \"Peru\", \"pe\", \"51\" ], [ \"Philippines\", \"ph\", \"63\" ], [ \"Poland\", \"pl\", \"48\" ], [ \"Portugal\", \"pt\", \"351\" ], [ \"Puerto Rico\", \"pr\", \"1\", 3, [ \"787\", \"939\" ] ], [ \"Qatar\", \"qa\", \"974\" ], [ \"Réunion\", \"re\", \"262\", 0 ], [ \"Romania\", \"ro\", \"40\" ], [ \"Russia\", \"ru\", \"7\", 0 ], [ \"Rwanda\", \"rw\", \"250\" ], [ \"Samoa\", \"ws\", \"685\" ], [ \"San Marino\", \"sm\", \"378\" ], [ \"São Tomé & Príncipe\", \"st\", \"239\" ], [ \"Saudi Arabia\", \"sa\", \"966\" ], [ \"Senegal\", \"sn\", \"221\" ], [ \"Serbia\", \"rs\", \"381\" ], [ \"Seychelles\", \"sc\", \"248\" ], [ \"Sierra Leone\", \"sl\", \"232\" ], [ \"Singapore\", \"sg\", \"65\" ], [ \"Sint Maarten\", \"sx\", \"1\", 21, [ \"721\" ] ], [ \"Slovakia\", \"sk\", \"421\" ], [ \"Slovenia\", \"si\", \"386\" ], [ \"Solomon Islands\", \"sb\", \"677\" ], [ \"Somalia\", \"so\", \"252\" ], [ \"South Africa\", \"za\", \"27\" ], [ \"South Korea\", \"kr\", \"82\" ], [ \"South Sudan\", \"ss\", \"211\" ], [ \"Spain\", \"es\", \"34\" ], [ \"Sri Lanka\", \"lk\", \"94\" ], [ \"St Barthélemy\", \"bl\", \"590\", 1 ], [ \"St Helena\", \"sh\", \"290\" ], [ \"St Kitts & Nevis\", \"kn\", \"1\", 18, [ \"869\" ] ], [ \"St Lucia\", \"lc\", \"1\", 19, [ \"758\" ] ], [ \"St Martin\", \"mf\", \"590\", 2 ], [ \"St Pierre & Miquelon\", \"pm\", \"508\" ], [ \"St Vincent & Grenadines\", \"vc\", \"1\", 20, [ \"784\" ] ], [ \"Sudan\", \"sd\", \"249\" ], [ \"Suriname\", \"sr\", \"597\" ], [ \"Svalbard & Jan Mayen\", \"sj\", \"47\", 1, [ \"79\" ] ], [ \"Sweden\", \"se\", \"46\" ], [ \"Switzerland\", \"ch\", \"41\" ], [ \"Syria\", \"sy\", \"963\" ], [ \"Taiwan\", \"tw\", \"886\" ], [ \"Tajikistan\", \"tj\", \"992\" ], [ \"Tanzania\", \"tz\", \"255\" ], [ \"Thailand\", \"th\", \"66\" ], [ \"Timor-Leste\", \"tl\", \"670\" ], [ \"Togo\", \"tg\", \"228\" ], [ \"Tokelau\", \"tk\", \"690\" ], [ \"Tonga\", \"to\", \"676\" ], [ \"Trinidad & Tobago\", \"tt\", \"1\", 22, [ \"868\" ] ], [ \"Tunisia\", \"tn\", \"216\" ], [ \"Turkey\", \"tr\", \"90\" ], [ \"Turkmenistan\", \"tm\", \"993\" ], [ \"Turks & Caicos Islands\", \"tc\", \"1\", 23, [ \"649\" ] ], [ \"Tuvalu\", \"tv\", \"688\" ], [ \"Uganda\", \"ug\", \"256\" ], [ \"Ukraine\", \"ua\", \"380\" ], [ \"United Arab Emirates\", \"ae\", \"971\" ], [ \"United Kingdom\", \"gb\", \"44\", 0 ], [ \"United States\", \"us\", \"1\", 0 ], [ \"Uruguay\", \"uy\", \"598\" ], [ \"US Virgin Islands\", \"vi\", \"1\", 24, [ \"340\" ] ], [ \"Uzbekistan\", \"uz\", \"998\" ], [ \"Vanuatu\", \"vu\", \"678\" ], [ \"Vatican City\", \"va\", \"39\", 1, [ \"06698\" ] ], [ \"Venezuela\", \"ve\", \"58\" ], [ \"Vietnam\", \"vn\", \"84\" ], [ \"Wallis & Futuna\", \"wf\", \"681\" ], [ \"Western Sahara\", \"eh\", \"212\", 1, [ \"5288\", \"5289\" ] ], [ \"Yemen\", \"ye\", \"967\" ], [ \"Zambia\", \"zm\", \"260\" ], [ \"Zimbabwe\", \"zw\", \"263\" ], [ \"Åland Islands\", \"ax\", \"358\", 1, [ \"18\" ] ] ];\n // loop over all of the countries above, restructuring the data to be objects with named keys\n for (var i = 0; i < allCountries.length; i++) {\n var c = allCountries[i];\n allCountries[i] = {\n name: c[0],\n iso2: c[1],\n dialCode: c[2],\n priority: c[3] || 0,\n areaCodes: c[4] || null\n };\n }\n \"use strict\";\n function _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? Object(arguments[i]) : {};\n var ownKeys = Object.keys(source);\n if (typeof Object.getOwnPropertySymbols === \"function\") {\n ownKeys.push.apply(ownKeys, Object.getOwnPropertySymbols(source).filter(function(sym) {\n return Object.getOwnPropertyDescriptor(source, sym).enumerable;\n }));\n }\n ownKeys.forEach(function(key) {\n _defineProperty(target, key, source[key]);\n });\n }\n return target;\n }\n function _defineProperty(obj, key, value) {\n key = _toPropertyKey(key);\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n }\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor);\n }\n }\n function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, \"prototype\", {\n writable: false\n });\n return Constructor;\n }\n function _toPropertyKey(arg) {\n var key = _toPrimitive(arg, \"string\");\n return typeof key === \"symbol\" ? key : String(key);\n }\n function _toPrimitive(input, hint) {\n if (typeof input !== \"object\" || input === null) return input;\n var prim = input[Symbol.toPrimitive];\n if (prim !== undefined) {\n var res = prim.call(input, hint || \"default\");\n if (typeof res !== \"object\") return res;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (hint === \"string\" ? String : Number)(input);\n }\n var intlTelInputGlobals = {\n getInstance: function getInstance(input) {\n var id = input.getAttribute(\"data-intl-tel-input-id\");\n return window.intlTelInputGlobals.instances[id];\n },\n instances: {},\n // using a global like this allows us to mock it in the tests\n documentReady: function documentReady() {\n return document.readyState === \"complete\";\n }\n };\n if (typeof window === \"object\") {\n window.intlTelInputGlobals = intlTelInputGlobals;\n }\n // these vars persist through all instances of the plugin\n var id = 0;\n var defaults = {\n // whether or not to allow the dropdown\n allowDropdown: true,\n // auto insert dial code (A) on init, (B) on user selecting a country, (C) on calling setCountry\n // also listen for blur/submit and auto remove dial code if that's all there is\n autoInsertDialCode: false,\n // add a placeholder in the input with an example number for the selected country\n autoPlaceholder: \"polite\",\n // add a country search input at the top of the dropdown\n countrySearch: false,\n // modify the parentClass\n customContainer: \"\",\n // modify the auto placeholder\n customPlaceholder: null,\n // append menu to specified element\n dropdownContainer: null,\n // don't display these countries\n excludeCountries: [],\n // fix the dropdown width to the input width (rather than being as wide as the longest country name)\n fixDropdownWidth: false,\n // format the input value during initialisation and on setNumber\n formatOnDisplay: true,\n // geoIp lookup function\n geoIpLookup: null,\n // inject a hidden input with this name, and on submit, populate it with the result of getNumber\n hiddenInput: \"\",\n // initial country\n initialCountry: \"\",\n // localized country names e.g. { 'de': 'Deutschland' }\n localizedCountries: null,\n // national vs international formatting for numbers e.g. placeholders and displaying existing numbers\n nationalMode: true,\n // display only these countries\n onlyCountries: [],\n // number type to use for placeholders\n placeholderNumberType: \"MOBILE\",\n // the countries at the top of the list. defaults to united states and united kingdom\n preferredCountries: [ \"us\", \"gb\" ],\n // display the country dial code next to the selected flag\n separateDialCode: false,\n // option to hide the flags - must be used with separateDialCode, or allowDropdown=false\n showFlags: true,\n // use full screen popup instead of dropdown for country list\n useFullscreenPopup: typeof navigator !== \"undefined\" && typeof window !== \"undefined\" ? // we cannot just test screen size as some smartphones/website meta tags will report desktop\n // resolutions\n // Note: to target Android Mobiles (and not Tablets), we must find 'Android' and 'Mobile'\n /Android.+Mobile|webOS|iPhone|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent) || window.innerWidth <= 500 : false,\n // specify the path to the libphonenumber script to enable validation/formatting\n utilsScript: \"\"\n };\n // https://en.wikipedia.org/wiki/List_of_North_American_Numbering_Plan_area_codes#Non-geographic_area_codes\n var regionlessNanpNumbers = [ \"800\", \"822\", \"833\", \"844\", \"855\", \"866\", \"877\", \"880\", \"881\", \"882\", \"883\", \"884\", \"885\", \"886\", \"887\", \"888\", \"889\" ];\n // utility function to iterate over an object. can't use Object.entries or native forEach because\n // of IE11\n var forEachProp = function forEachProp(obj, callback) {\n var keys = Object.keys(obj);\n for (var i = 0; i < keys.length; i++) {\n callback(keys[i], obj[keys[i]]);\n }\n };\n // run a method on each instance of the plugin\n var forEachInstance = function forEachInstance(method) {\n forEachProp(window.intlTelInputGlobals.instances, function(key) {\n window.intlTelInputGlobals.instances[key][method]();\n });\n };\n // this is our plugin class that we will create an instance of\n // eslint-disable-next-line no-unused-vars\n var Iti = /*#__PURE__*/ function() {\n function Iti(input, options) {\n var _this = this;\n _classCallCheck(this, Iti);\n this.id = id++;\n this.telInput = input;\n this.activeItem = null;\n this.highlightedItem = null;\n // process specified options / defaults\n // alternative to Object.assign, which isn't supported by IE11\n var customOptions = options || {};\n this.options = {};\n forEachProp(defaults, function(key, value) {\n _this.options[key] = customOptions.hasOwnProperty(key) ? customOptions[key] : value;\n });\n this.hadInitialPlaceholder = Boolean(input.getAttribute(\"placeholder\"));\n }\n _createClass(Iti, [ {\n key: \"_init\",\n value: function _init() {\n var _this2 = this;\n // if showing fullscreen popup, do not fix the width\n if (this.options.useFullscreenPopup) {\n this.options.fixDropdownWidth = false;\n }\n // when search enabled, we must fix the width else it would change with different results\n if (this.options.countrySearch && !this.options.useFullscreenPopup) {\n this.options.fixDropdownWidth = true;\n }\n // if in nationalMode, do not insert dial codes\n if (this.options.nationalMode) {\n this.options.autoInsertDialCode = false;\n }\n // if separateDialCode enabled, do not insert dial codes\n if (this.options.separateDialCode) {\n this.options.autoInsertDialCode = false;\n }\n // force showFlags=true if there's a dropdown and we're not displaying the dial code,\n // as otherwise you just have a down arrow on it's own which doesn't make sense\n var forceShowFlags = this.options.allowDropdown && !this.options.separateDialCode;\n if (!this.options.showFlags && forceShowFlags) {\n this.options.showFlags = true;\n }\n // on mobile, we want a full screen dropdown, so we must append it to the body\n if (this.options.useFullscreenPopup && !this.options.dropdownContainer) {\n this.options.dropdownContainer = document.body;\n }\n // check if input has one parent with RTL\n this.isRTL = !!this.telInput.closest(\"[dir=rtl]\");\n // these promises get resolved when their individual requests complete\n // this way the dev can do something like iti.promise.then(...) to know when all requests are\n // complete\n if (typeof Promise !== \"undefined\") {\n var autoCountryPromise = new Promise(function(resolve, reject) {\n _this2.resolveAutoCountryPromise = resolve;\n _this2.rejectAutoCountryPromise = reject;\n });\n var utilsScriptPromise = new Promise(function(resolve, reject) {\n _this2.resolveUtilsScriptPromise = resolve;\n _this2.rejectUtilsScriptPromise = reject;\n });\n this.promise = Promise.all([ autoCountryPromise, utilsScriptPromise ]);\n } else {\n // prevent errors when Promise doesn't exist\n this.resolveAutoCountryPromise = this.rejectAutoCountryPromise = function() {};\n this.resolveUtilsScriptPromise = this.rejectUtilsScriptPromise = function() {};\n }\n // in various situations there could be no country selected initially, but we need to be able\n // to assume this variable exists\n this.selectedCountryData = {};\n // process all the data: onlyCountries, excludeCountries, preferredCountries etc\n this._processCountryData();\n // generate the markup\n this._generateMarkup();\n // set the initial state of the input value and the selected flag\n this._setInitialState();\n // start all of the event listeners: autoInsertDialCode, input keydown, selectedFlag click\n this._initListeners();\n // utils script, and auto country\n this._initRequests();\n }\n }, {\n key: \"_processCountryData\",\n value: function _processCountryData() {\n // process onlyCountries or excludeCountries array if present\n this._processAllCountries();\n // process the countryCodes map\n this._processCountryCodes();\n // process the preferredCountries\n this._processPreferredCountries();\n // translate countries according to localizedCountries option\n if (this.options.localizedCountries) {\n this._translateCountriesByLocale();\n }\n // sort countries by name\n if (this.options.onlyCountries.length || this.options.localizedCountries) {\n this.countries.sort(this._countryNameSort);\n }\n }\n }, {\n key: \"_addCountryCode\",\n value: function _addCountryCode(iso2, countryCode, priority) {\n if (countryCode.length > this.countryCodeMaxLen) {\n this.countryCodeMaxLen = countryCode.length;\n }\n if (!this.countryCodes.hasOwnProperty(countryCode)) {\n this.countryCodes[countryCode] = [];\n }\n // bail if we already have this country for this countryCode\n for (var i = 0; i < this.countryCodes[countryCode].length; i++) {\n if (this.countryCodes[countryCode][i] === iso2) {\n return;\n }\n }\n // check for undefined as 0 is falsy\n var index = priority !== undefined ? priority : this.countryCodes[countryCode].length;\n this.countryCodes[countryCode][index] = iso2;\n }\n }, {\n key: \"_processAllCountries\",\n value: function _processAllCountries() {\n if (this.options.onlyCountries.length) {\n var lowerCaseOnlyCountries = this.options.onlyCountries.map(function(country) {\n return country.toLowerCase();\n });\n this.countries = allCountries.filter(function(country) {\n return lowerCaseOnlyCountries.indexOf(country.iso2) > -1;\n });\n } else if (this.options.excludeCountries.length) {\n var lowerCaseExcludeCountries = this.options.excludeCountries.map(function(country) {\n return country.toLowerCase();\n });\n this.countries = allCountries.filter(function(country) {\n return lowerCaseExcludeCountries.indexOf(country.iso2) === -1;\n });\n } else {\n this.countries = allCountries;\n }\n }\n }, {\n key: \"_translateCountriesByLocale\",\n value: function _translateCountriesByLocale() {\n for (var i = 0; i < this.countries.length; i++) {\n var iso = this.countries[i].iso2.toLowerCase();\n if (this.options.localizedCountries.hasOwnProperty(iso)) {\n this.countries[i].name = this.options.localizedCountries[iso];\n }\n }\n }\n }, {\n key: \"_countryNameSort\",\n value: function _countryNameSort(a, b) {\n if (a.name < b.name) {\n return -1;\n }\n if (a.name > b.name) {\n return 1;\n }\n return 0;\n }\n }, {\n key: \"_processCountryCodes\",\n value: function _processCountryCodes() {\n this.countryCodeMaxLen = 0;\n // here we store just dial codes\n this.dialCodes = {};\n // here we store \"country codes\" (both dial codes and their area codes)\n this.countryCodes = {};\n // first: add dial codes\n for (var i = 0; i < this.countries.length; i++) {\n var c = this.countries[i];\n if (!this.dialCodes[c.dialCode]) {\n this.dialCodes[c.dialCode] = true;\n }\n this._addCountryCode(c.iso2, c.dialCode, c.priority);\n }\n // next: add area codes\n // this is a second loop over countries, to make sure we have all of the \"root\" countries\n // already in the map, so that we can access them, as each time we add an area code substring\n // to the map, we also need to include the \"root\" country's code, as that also matches\n for (var _i = 0; _i < this.countries.length; _i++) {\n var _c = this.countries[_i];\n // area codes\n if (_c.areaCodes) {\n var rootCountryCode = this.countryCodes[_c.dialCode][0];\n // for each area code\n for (var j = 0; j < _c.areaCodes.length; j++) {\n var areaCode = _c.areaCodes[j];\n // for each digit in the area code to add all partial matches as well\n for (var k = 1; k < areaCode.length; k++) {\n var partialDialCode = _c.dialCode + areaCode.substr(0, k);\n // start with the root country, as that also matches this dial code\n this._addCountryCode(rootCountryCode, partialDialCode);\n this._addCountryCode(_c.iso2, partialDialCode);\n }\n // add the full area code\n this._addCountryCode(_c.iso2, _c.dialCode + areaCode);\n }\n }\n }\n }\n }, {\n key: \"_processPreferredCountries\",\n value: function _processPreferredCountries() {\n this.preferredCountries = [];\n for (var i = 0; i < this.options.preferredCountries.length; i++) {\n var countryCode = this.options.preferredCountries[i].toLowerCase();\n var countryData = this._getCountryData(countryCode, false, true);\n if (countryData) {\n this.preferredCountries.push(countryData);\n }\n }\n }\n }, {\n key: \"_createEl\",\n value: function _createEl(name, attrs, container) {\n var el = document.createElement(name);\n if (attrs) {\n forEachProp(attrs, function(key, value) {\n return el.setAttribute(key, value);\n });\n }\n if (container) {\n container.appendChild(el);\n }\n return el;\n }\n }, {\n key: \"_generateMarkup\",\n value: function _generateMarkup() {\n this.telInput.classList.add(\"iti__tel-input\");\n // if autocomplete does not exist on the element and its form, then\n // prevent autocomplete as there's no safe, cross-browser event we can react to, so it can\n // easily put the plugin in an inconsistent state e.g. the wrong flag selected for the\n // autocompleted number, which on submit could mean wrong number is saved\n if (!this.telInput.hasAttribute(\"autocomplete\") && !(this.telInput.form && this.telInput.form.hasAttribute(\"autocomplete\"))) {\n this.telInput.setAttribute(\"autocomplete\", \"off\");\n }\n var _this$options = this.options, allowDropdown = _this$options.allowDropdown, separateDialCode = _this$options.separateDialCode, showFlags = _this$options.showFlags, customContainer = _this$options.customContainer, hiddenInput = _this$options.hiddenInput, dropdownContainer = _this$options.dropdownContainer, fixDropdownWidth = _this$options.fixDropdownWidth, useFullscreenPopup = _this$options.useFullscreenPopup, countrySearch = _this$options.countrySearch;\n // containers (mostly for positioning)\n var parentClass = \"iti\";\n if (allowDropdown) {\n parentClass += \" iti--allow-dropdown\";\n }\n if (separateDialCode) {\n parentClass += \" iti--separate-dial-code\";\n }\n if (showFlags) {\n parentClass += \" iti--show-flags\";\n }\n if (customContainer) {\n parentClass += \" \".concat(customContainer);\n }\n var wrapper = this._createEl(\"div\", {\n \"class\": parentClass\n });\n this.telInput.parentNode.insertBefore(wrapper, this.telInput);\n // only hide the flagsContainer if allowDropdown, showFlags and separateDialCode are all false\n var showFlagsContainer = allowDropdown || showFlags || separateDialCode;\n if (showFlagsContainer) {\n this.flagsContainer = this._createEl(\"div\", {\n \"class\": \"iti__flag-container\"\n }, wrapper);\n }\n wrapper.appendChild(this.telInput);\n // selected flag (displayed to left of input)\n // using Aria tags for \"Select-Only Combobox Example\"\n // https://www.w3.org/WAI/ARIA/apg/patterns/combobox/examples/combobox-select-only/\n if (showFlagsContainer) {\n this.selectedFlag = this._createEl(\"div\", _objectSpread({\n \"class\": \"iti__selected-flag\"\n }, allowDropdown && {\n role: \"combobox\",\n \"aria-haspopup\": \"listbox\",\n \"aria-controls\": \"iti-\".concat(this.id, \"__country-listbox\"),\n \"aria-expanded\": \"false\",\n \"aria-label\": \"Telephone country code\"\n }), this.flagsContainer);\n }\n if (showFlags) {\n this.selectedFlagInner = this._createEl(\"div\", {\n \"class\": \"iti__flag\"\n }, this.selectedFlag);\n }\n if (this.selectedFlag && this.telInput.disabled) {\n this.selectedFlag.setAttribute(\"aria-disabled\", \"true\");\n }\n if (separateDialCode) {\n this.selectedDialCode = this._createEl(\"div\", {\n \"class\": \"iti__selected-dial-code\"\n }, this.selectedFlag);\n }\n if (allowDropdown) {\n if (!this.telInput.disabled) {\n // make element focusable and tab navigable\n this.selectedFlag.setAttribute(\"tabindex\", \"0\");\n }\n this.dropdownArrow = this._createEl(\"div\", {\n \"class\": \"iti__arrow\"\n }, this.selectedFlag);\n var extraClasses = fixDropdownWidth ? \"\" : \"iti--flexible-dropdown-width\";\n this.dropdownContent = this._createEl(\"div\", {\n \"class\": \"iti__dropdown-content iti__hide \".concat(extraClasses)\n });\n if (countrySearch) {\n this.searchInput = this._createEl(\"input\", {\n type: \"text\",\n \"class\": \"iti__search-input\",\n placeholder: \"Search\"\n }, this.dropdownContent);\n }\n // country list: preferred countries, then divider, then all countries\n this.countryList = this._createEl(\"ul\", {\n \"class\": \"iti__country-list\",\n id: \"iti-\".concat(this.id, \"__country-listbox\"),\n role: \"listbox\",\n \"aria-label\": \"List of countries\"\n }, this.dropdownContent);\n if (this.preferredCountries.length && !countrySearch) {\n this._appendListItems(this.preferredCountries, \"iti__preferred\", true);\n this._createEl(\"li\", {\n \"class\": \"iti__divider\",\n \"aria-hidden\": \"true\"\n }, this.countryList);\n }\n this._appendListItems(this.countries, \"iti__standard\");\n // create dropdownContainer markup\n if (dropdownContainer) {\n var dropdownClasses = \"iti iti--container\";\n if (useFullscreenPopup) {\n dropdownClasses += \" iti--fullscreen-popup\";\n }\n if (countrySearch) {\n dropdownClasses += \" iti--country-search\";\n }\n this.dropdown = this._createEl(\"div\", {\n \"class\": dropdownClasses\n });\n this.dropdown.appendChild(this.dropdownContent);\n } else {\n this.flagsContainer.appendChild(this.dropdownContent);\n }\n }\n if (hiddenInput) {\n var hiddenInputName = hiddenInput;\n var name = this.telInput.getAttribute(\"name\");\n if (name) {\n var i = name.lastIndexOf(\"[\");\n // if input name contains square brackets, then give the hidden input the same name,\n // replacing the contents of the last set of brackets with the given hiddenInput name\n if (i !== -1) {\n hiddenInputName = \"\".concat(name.substr(0, i), \"[\").concat(hiddenInputName, \"]\");\n }\n }\n this.hiddenInput = this._createEl(\"input\", {\n type: \"hidden\",\n name: hiddenInputName\n });\n wrapper.appendChild(this.hiddenInput);\n }\n }\n }, {\n key: \"_appendListItems\",\n value: function _appendListItems(countries, className, preferred) {\n for (var i = 0; i < countries.length; i++) {\n var c = countries[i];\n var idSuffix = preferred ? \"-preferred\" : \"\";\n var listItem = this._createEl(\"li\", {\n id: \"iti-\".concat(this.id, \"__item-\").concat(c.iso2).concat(idSuffix),\n \"class\": \"iti__country \".concat(className),\n tabindex: \"-1\",\n role: \"option\",\n \"data-dial-code\": c.dialCode,\n \"data-country-code\": c.iso2,\n \"aria-selected\": \"false\"\n }, this.countryList);\n // store this for later use e.g. country search filtering\n c.node = listItem;\n var content = \"\";\n // add the flag\n if (this.options.showFlags) {\n content += \"
\");\n }\n // and the country name and dial code\n content += \"\".concat(c.name, \"\");\n content += \"+\".concat(c.dialCode, \"\");\n listItem.insertAdjacentHTML(\"beforeend\", content);\n }\n }\n }, {\n key: \"_setInitialState\",\n value: function _setInitialState() {\n // fix firefox bug: when first load page (with input with value set to number with intl dial\n // code) and initialising plugin removes the dial code from the input, then refresh page,\n // and we try to init plugin again but this time on number without dial code so get grey flag\n var attributeValue = this.telInput.getAttribute(\"value\");\n var inputValue = this.telInput.value;\n var useAttribute = attributeValue && attributeValue.charAt(0) === \"+\" && (!inputValue || inputValue.charAt(0) !== \"+\");\n var val = useAttribute ? attributeValue : inputValue;\n var dialCode = this._getDialCode(val);\n var isRegionlessNanp = this._isRegionlessNanp(val);\n var _this$options2 = this.options, initialCountry = _this$options2.initialCountry, autoInsertDialCode = _this$options2.autoInsertDialCode;\n // if we already have a dial code, and it's not a regionlessNanp, we can go ahead and set the\n // flag, else fall back to the default country\n if (dialCode && !isRegionlessNanp) {\n this._updateFlagFromNumber(val);\n } else if (initialCountry !== \"auto\") {\n var isValidInitialCountry = initialCountry && this._getCountryData(initialCountry, false, true);\n // see if we should select a flag\n if (isValidInitialCountry) {\n this._setFlag(initialCountry.toLowerCase());\n } else {\n if (dialCode && isRegionlessNanp) {\n // has intl dial code, is regionless nanp, and no initialCountry, so default to US\n this._setFlag(\"us\");\n } else {\n // no dial code and no initialCountry, so default to first in list\n this.defaultCountry = this.preferredCountries.length ? this.preferredCountries[0].iso2 : this.countries[0].iso2;\n if (!val) {\n this._setFlag(this.defaultCountry);\n }\n }\n }\n // if empty and autoInsertDialCode then insert the dial code\n if (!val && autoInsertDialCode) {\n this.telInput.value = \"+\".concat(this.selectedCountryData.dialCode);\n }\n }\n // NOTE: if initialCountry is set to auto, that will be handled separately\n // format - note this wont be run after _updateDialCode as that's only called if no val\n if (val) {\n this._updateValFromNumber(val);\n }\n }\n }, {\n key: \"_initListeners\",\n value: function _initListeners() {\n this._initKeyListeners();\n if (this.options.autoInsertDialCode) {\n this._initBlurListeners();\n }\n if (this.options.allowDropdown) {\n this._initDropdownListeners();\n }\n if (this.hiddenInput) {\n this._initHiddenInputListener();\n }\n }\n }, {\n key: \"_initHiddenInputListener\",\n value: function _initHiddenInputListener() {\n var _this3 = this;\n this._handleHiddenInputSubmit = function() {\n _this3.hiddenInput.value = _this3.getNumber();\n };\n if (this.telInput.form) {\n this.telInput.form.addEventListener(\"submit\", this._handleHiddenInputSubmit);\n }\n }\n }, {\n key: \"_getClosestLabel\",\n value: function _getClosestLabel() {\n var el = this.telInput;\n while (el && el.tagName !== \"LABEL\") {\n el = el.parentNode;\n }\n return el;\n }\n }, {\n key: \"_initDropdownListeners\",\n value: function _initDropdownListeners() {\n var _this4 = this;\n // hack for input nested inside label (which is valid markup): clicking the selected-flag to\n // open the dropdown would then automatically trigger a 2nd click on the input which would\n // close it again\n this._handleLabelClick = function(e) {\n // if the dropdown is closed, then focus the input, else ignore the click\n if (_this4.dropdownContent.classList.contains(\"iti__hide\")) {\n _this4.telInput.focus();\n } else {\n e.preventDefault();\n }\n };\n var label = this._getClosestLabel();\n if (label) {\n label.addEventListener(\"click\", this._handleLabelClick);\n }\n // toggle country dropdown on click\n this._handleClickSelectedFlag = function() {\n // only intercept this event if we're opening the dropdown\n // else let it bubble up to the top (\"click-off-to-close\" listener)\n // we cannot just stopPropagation as it may be needed to close another instance\n if (_this4.dropdownContent.classList.contains(\"iti__hide\") && !_this4.telInput.disabled && !_this4.telInput.readOnly) {\n _this4._showDropdown();\n }\n };\n this.selectedFlag.addEventListener(\"click\", this._handleClickSelectedFlag);\n // open dropdown if selected flag is focused and they press up/down/space/enter\n this._handleFlagsContainerKeydown = function(e) {\n var isDropdownHidden = _this4.dropdownContent.classList.contains(\"iti__hide\");\n if (isDropdownHidden && [ \"ArrowUp\", \"ArrowDown\", \" \", \"Enter\" ].includes(e.key)) {\n // prevent form from being submitted if \"ENTER\" was pressed\n e.preventDefault();\n // prevent event from being handled again by document\n e.stopPropagation();\n _this4._showDropdown();\n }\n // allow navigation from dropdown to input on TAB\n if (e.key === \"Tab\") {\n _this4._closeDropdown();\n }\n };\n this.flagsContainer.addEventListener(\"keydown\", this._handleFlagsContainerKeydown);\n }\n }, {\n key: \"_initRequests\",\n value: function _initRequests() {\n var _this5 = this;\n // if the user has specified the path to the utils script, fetch it on window.load, else resolve\n if (this.options.utilsScript && !window.intlTelInputUtils) {\n // if the plugin is being initialised after the window.load event has already been fired\n if (window.intlTelInputGlobals.documentReady()) {\n window.intlTelInputGlobals.loadUtils(this.options.utilsScript);\n } else {\n // wait until the load event so we don't block any other requests e.g. the flags image\n window.addEventListener(\"load\", function() {\n window.intlTelInputGlobals.loadUtils(_this5.options.utilsScript);\n });\n }\n } else {\n this.resolveUtilsScriptPromise();\n }\n if (this.options.initialCountry === \"auto\") {\n this._loadAutoCountry();\n } else {\n this.resolveAutoCountryPromise();\n }\n }\n }, {\n key: \"_loadAutoCountry\",\n value: function _loadAutoCountry() {\n // 3 options:\n // 1) already loaded (we're done)\n // 2) not already started loading (start)\n // 3) already started loading (do nothing - just wait for loading callback to fire)\n if (window.intlTelInputGlobals.autoCountry) {\n this.handleAutoCountry();\n } else if (!window.intlTelInputGlobals.startedLoadingAutoCountry) {\n // don't do this twice!\n window.intlTelInputGlobals.startedLoadingAutoCountry = true;\n if (typeof this.options.geoIpLookup === \"function\") {\n this.options.geoIpLookup(function(countryCode) {\n window.intlTelInputGlobals.autoCountry = countryCode.toLowerCase();\n // tell all instances the auto country is ready\n // TODO: this should just be the current instances\n // UPDATE: use setTimeout in case their geoIpLookup function calls this callback straight\n // away (e.g. if they have already done the geo ip lookup somewhere else). Using\n // setTimeout means that the current thread of execution will finish before executing\n // this, which allows the plugin to finish initialising.\n setTimeout(function() {\n return forEachInstance(\"handleAutoCountry\");\n });\n }, function() {\n return forEachInstance(\"rejectAutoCountryPromise\");\n });\n }\n }\n }\n }, {\n key: \"_initKeyListeners\",\n value: function _initKeyListeners() {\n var _this6 = this;\n // update flag on keyup\n this._handleKeyupEvent = function() {\n if (_this6._updateFlagFromNumber(_this6.telInput.value)) {\n _this6._triggerCountryChange();\n }\n };\n this.telInput.addEventListener(\"keyup\", this._handleKeyupEvent);\n // update flag on cut/paste events (now supported in all major browsers)\n this._handleClipboardEvent = function() {\n // hack because \"paste\" event is fired before input is updated\n setTimeout(_this6._handleKeyupEvent);\n };\n this.telInput.addEventListener(\"cut\", this._handleClipboardEvent);\n this.telInput.addEventListener(\"paste\", this._handleClipboardEvent);\n }\n }, {\n key: \"_cap\",\n value: function _cap(number) {\n var max = this.telInput.getAttribute(\"maxlength\");\n return max && number.length > max ? number.substr(0, max) : number;\n }\n }, {\n key: \"_initBlurListeners\",\n value: function _initBlurListeners() {\n var _this7 = this;\n // on blur or form submit: if just a dial code then remove it\n this._handleSubmitOrBlurEvent = function() {\n _this7._removeEmptyDialCode();\n };\n if (this.telInput.form) {\n this.telInput.form.addEventListener(\"submit\", this._handleSubmitOrBlurEvent);\n }\n this.telInput.addEventListener(\"blur\", this._handleSubmitOrBlurEvent);\n }\n }, {\n key: \"_removeEmptyDialCode\",\n value: function _removeEmptyDialCode() {\n if (this.telInput.value.charAt(0) === \"+\") {\n var numeric = this._getNumeric(this.telInput.value);\n // if just a plus, or if just a dial code\n if (!numeric || this.selectedCountryData.dialCode === numeric) {\n this.telInput.value = \"\";\n }\n }\n }\n }, {\n key: \"_getNumeric\",\n value: function _getNumeric(s) {\n return s.replace(/\\D/g, \"\");\n }\n }, {\n key: \"_trigger\",\n value: function _trigger(name) {\n // have to use old school document.createEvent as IE11 doesn't support `new Event()` syntax\n var e = document.createEvent(\"Event\");\n e.initEvent(name, true, true);\n // can bubble, and is cancellable\n this.telInput.dispatchEvent(e);\n }\n }, {\n key: \"_showDropdown\",\n value: function _showDropdown() {\n if (this.options.fixDropdownWidth) {\n this.dropdownContent.style.width = \"\".concat(this.telInput.offsetWidth, \"px\");\n }\n this.dropdownContent.classList.remove(\"iti__hide\");\n this.selectedFlag.setAttribute(\"aria-expanded\", \"true\");\n this._setDropdownPosition();\n if (this.options.countrySearch) {\n // start by highlighting the first item in the list\n this._highlightListItem(this.countryList.firstElementChild, false);\n this.searchInput.focus();\n } else if (this.activeItem) {\n // update highlighting and scroll to active list item\n this._highlightListItem(this.activeItem, false);\n this._scrollTo(this.activeItem, true);\n }\n // bind all the dropdown-related listeners: mouseover, click, click-off, keydown\n this._bindDropdownListeners();\n // update the arrow\n this.dropdownArrow.classList.add(\"iti__arrow--up\");\n this._trigger(\"open:countrydropdown\");\n }\n }, {\n key: \"_toggleClass\",\n value: function _toggleClass(el, className, shouldHaveClass) {\n if (shouldHaveClass && !el.classList.contains(className)) {\n el.classList.add(className);\n } else if (!shouldHaveClass && el.classList.contains(className)) {\n el.classList.remove(className);\n }\n }\n }, {\n key: \"_setDropdownPosition\",\n value: function _setDropdownPosition() {\n var _this8 = this;\n if (this.options.dropdownContainer) {\n this.options.dropdownContainer.appendChild(this.dropdown);\n }\n if (!this.options.useFullscreenPopup) {\n var pos = this.telInput.getBoundingClientRect();\n // windowTop from https://stackoverflow.com/a/14384091/217866\n var windowTop = window.pageYOffset || document.documentElement.scrollTop;\n var inputTop = pos.top + windowTop;\n var dropdownHeight = this.dropdownContent.offsetHeight;\n // dropdownFitsBelow = (dropdownBottom < windowBottom)\n var dropdownFitsBelow = inputTop + this.telInput.offsetHeight + dropdownHeight < windowTop + window.innerHeight;\n var dropdownFitsAbove = inputTop - dropdownHeight > windowTop;\n // dont allow positioning above when country search enabled as the search box jumps around as you filter countries\n var positionDropdownAboveInput = !this.options.countrySearch && !dropdownFitsBelow && dropdownFitsAbove;\n // by default, the dropdown will be below the input. If we want to position it above the\n // input, we add the dropup class.\n this._toggleClass(this.dropdownContent, \"iti__dropdown-content--dropup\", positionDropdownAboveInput);\n // if dropdownContainer is enabled, calculate postion\n if (this.options.dropdownContainer) {\n // by default the dropdown will be directly over the input because it's not in the flow.\n // If we want to position it below, we need to add some extra top value.\n var extraTop = positionDropdownAboveInput ? 0 : this.telInput.offsetHeight;\n // calculate placement\n this.dropdown.style.top = \"\".concat(inputTop + extraTop, \"px\");\n this.dropdown.style.left = \"\".concat(pos.left + document.body.scrollLeft, \"px\");\n // close menu on window scroll\n this._handleWindowScroll = function() {\n return _this8._closeDropdown();\n };\n window.addEventListener(\"scroll\", this._handleWindowScroll);\n }\n }\n }\n }, {\n key: \"_getClosestListItem\",\n value: function _getClosestListItem(target) {\n var el = target;\n while (el && el !== this.countryList && !el.classList.contains(\"iti__country\")) {\n el = el.parentNode;\n }\n // if we reached the countryList element, then return null\n return el === this.countryList ? null : el;\n }\n }, {\n key: \"_bindDropdownListeners\",\n value: function _bindDropdownListeners() {\n var _this9 = this;\n // when mouse over a list item, just highlight that one\n // we add the class \"highlight\", so if they hit \"enter\" we know which one to select\n this._handleMouseoverCountryList = function(e) {\n // handle event delegation, as we're listening for this event on the countryList\n var listItem = _this9._getClosestListItem(e.target);\n if (listItem) {\n _this9._highlightListItem(listItem, false);\n }\n };\n this.countryList.addEventListener(\"mouseover\", this._handleMouseoverCountryList);\n // listen for country selection\n this._handleClickCountryList = function(e) {\n var listItem = _this9._getClosestListItem(e.target);\n if (listItem) {\n _this9._selectListItem(listItem);\n }\n };\n this.countryList.addEventListener(\"click\", this._handleClickCountryList);\n // click off to close\n // (except when this initial opening click is bubbling up)\n // we cannot just stopPropagation as it may be needed to close another instance\n var isOpening = true;\n this._handleClickOffToClose = function() {\n if (!isOpening) {\n _this9._closeDropdown();\n }\n isOpening = false;\n };\n document.documentElement.addEventListener(\"click\", this._handleClickOffToClose);\n // listen for up/down scrolling, enter to select, or escape to close\n // use keydown as keypress doesn't fire for non-char keys and we want to catch if they\n // just hit down and hold it to scroll down (no keyup event).\n // listen on the document because that's where key events are triggered if no input has focus\n var query = \"\";\n var queryTimer = null;\n this._handleKeydownOnDropdown = function(e) {\n // prevent down key from scrolling the whole page,\n // and enter key from submitting a form etc\n if ([ \"ArrowUp\", \"ArrowDown\", \"Enter\", \"Escape\" ].includes(e.key)) {\n e.preventDefault();\n e.stopPropagation();\n // up and down to navigate\n if (e.key === \"ArrowUp\" || e.key === \"ArrowDown\") {\n _this9._handleUpDownKey(e.key);\n } else if (e.key === \"Enter\") {\n _this9._handleEnterKey();\n } else if (e.key === \"Escape\") {\n _this9._closeDropdown();\n }\n }\n // alpha chars to perform search\n // regex allows one latin alpha char or space, based on https://stackoverflow.com/a/26900132/217866)\n if (!_this9.options.countrySearch && /^[a-zA-ZÀ-ÿа-яА-Я ]$/.test(e.key)) {\n e.stopPropagation();\n // jump to countries that start with the query string\n if (queryTimer) {\n clearTimeout(queryTimer);\n }\n query += e.key.toLowerCase();\n _this9._searchForCountry(query);\n // if the timer hits 1 second, reset the query\n queryTimer = setTimeout(function() {\n query = \"\";\n }, 1e3);\n }\n };\n document.addEventListener(\"keydown\", this._handleKeydownOnDropdown);\n if (this.options.countrySearch) {\n var doFilter = function doFilter() {\n var inputQuery = _this9.searchInput.value.trim();\n if (inputQuery) {\n _this9._filterCountries(inputQuery.toLowerCase());\n } else {\n _this9._filterCountries(null, true);\n }\n };\n var keyupTimer = null;\n this._handleSearchChange = function() {\n // filtering country nodes is expensive (lots of DOM manipulation), so rate limit it\n if (keyupTimer) {\n clearTimeout(keyupTimer);\n }\n keyupTimer = setTimeout(function() {\n doFilter();\n keyupTimer = null;\n }, 100);\n };\n this.searchInput.addEventListener(\"input\", this._handleSearchChange);\n // stop propagation on search input click, so doesn't trigger click-off-to-close listener\n this.searchInput.addEventListener(\"click\", function(e) {\n return e.stopPropagation();\n });\n }\n }\n }, {\n key: \"_filterCountries\",\n value: function _filterCountries(query) {\n var isReset = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var isFirst = true;\n this.countryList.innerHTML = \"\";\n for (var i = 0; i < this.countries.length; i++) {\n var c = this.countries[i];\n var nameLower = c.name.toLowerCase();\n var fullDialCode = \"+\".concat(c.dialCode);\n if (isReset || nameLower.includes(query) || fullDialCode.includes(query)) {\n this.countryList.appendChild(c.node);\n // highlight the first item\n if (isFirst) {\n this._highlightListItem(c.node, false);\n isFirst = false;\n }\n }\n }\n }\n }, {\n key: \"_handleUpDownKey\",\n value: function _handleUpDownKey(key) {\n var next = key === \"ArrowUp\" ? this.highlightedItem.previousElementSibling : this.highlightedItem.nextElementSibling;\n if (next) {\n // skip the divider\n if (next.classList.contains(\"iti__divider\")) {\n next = key === \"ArrowUp\" ? next.previousElementSibling : next.nextElementSibling;\n }\n } else if (this.countryList.childElementCount > 1) {\n // otherwise, we must be at the end, so loop round again\n next = key === \"ArrowUp\" ? this.countryList.lastElementChild : this.countryList.firstElementChild;\n }\n if (next) {\n // if country search enabled, dont lose focus from the search input on up/down\n var doFocus = !this.options.countrySearch;\n this._highlightListItem(next, doFocus);\n if (this.options.countrySearch) {\n this._scrollTo(next, false);\n }\n }\n }\n }, {\n key: \"_handleEnterKey\",\n value: function _handleEnterKey() {\n if (this.highlightedItem) {\n this._selectListItem(this.highlightedItem);\n }\n }\n }, {\n key: \"_searchForCountry\",\n value: function _searchForCountry(query) {\n for (var i = 0; i < this.countries.length; i++) {\n if (this._startsWith(this.countries[i].name, query)) {\n var listItem = this.countries[i].node;\n // update highlighting and scroll\n this._highlightListItem(listItem, false);\n this._scrollTo(listItem, true);\n break;\n }\n }\n }\n }, {\n key: \"_startsWith\",\n value: function _startsWith(a, b) {\n return a.substr(0, b.length).toLowerCase() === b;\n }\n }, {\n key: \"_updateValFromNumber\",\n value: function _updateValFromNumber(fullNumber) {\n var number = fullNumber;\n if (this.options.formatOnDisplay && window.intlTelInputUtils && this.selectedCountryData) {\n var useNational = this.options.nationalMode || number.charAt(0) !== \"+\" && !this.options.separateDialCode;\n var _intlTelInputUtils$nu = intlTelInputUtils.numberFormat, NATIONAL = _intlTelInputUtils$nu.NATIONAL, INTERNATIONAL = _intlTelInputUtils$nu.INTERNATIONAL;\n var format = useNational ? NATIONAL : INTERNATIONAL;\n number = intlTelInputUtils.formatNumber(number, this.selectedCountryData.iso2, format);\n }\n number = this._beforeSetNumber(number);\n this.telInput.value = number;\n }\n }, {\n key: \"_updateFlagFromNumber\",\n value: function _updateFlagFromNumber(fullNumber) {\n var plusIndex = fullNumber.indexOf(\"+\");\n // if it contains a plus, discard any chars before it e.g. accidental space char.\n // this keeps the selected country auto-updating correctly, which we want as\n // libphonenumber's validation/getNumber methods will ignore these chars anyway\n var number = plusIndex ? fullNumber.substring(plusIndex) : fullNumber;\n // if we already have US/Canada selected, make sure the number starts\n // with a +1 so _getDialCode will be able to extract the area code\n // update: if we dont yet have selectedCountryData, but we're here (trying to update the flag\n // from the number), that means we're initialising the plugin with a number that already has a\n // dial code, so fine to ignore this bit\n var selectedDialCode = this.selectedCountryData.dialCode;\n var isNanp = selectedDialCode === \"1\";\n if (number && isNanp && number.charAt(0) !== \"+\") {\n if (number.charAt(0) !== \"1\") {\n number = \"1\".concat(number);\n }\n number = \"+\".concat(number);\n }\n // if separateDialCode enabled, then consider the selected dial code to be part of the number\n if (this.options.separateDialCode && selectedDialCode && number.charAt(0) !== \"+\") {\n number = \"+\".concat(selectedDialCode).concat(number);\n }\n // try and extract valid dial code from input\n var dialCode = this._getDialCode(number, true);\n var numeric = this._getNumeric(number);\n var countryCode = null;\n if (dialCode) {\n var countryCodes = this.countryCodes[this._getNumeric(dialCode)];\n // check if the right country is already selected. this should be false if the number is\n // longer than the matched dial code because in this case we need to make sure that if\n // there are multiple country matches, that the first one is selected (note: we could\n // just check that here, but it requires the same loop that we already have later)\n var alreadySelected = countryCodes.indexOf(this.selectedCountryData.iso2) !== -1 && numeric.length <= dialCode.length - 1;\n var isRegionlessNanpNumber = selectedDialCode === \"1\" && this._isRegionlessNanp(numeric);\n // only update the flag if:\n // A) NOT (we currently have a NANP flag selected, and the number is a regionlessNanp)\n // AND\n // B) the right country is not already selected\n if (!isRegionlessNanpNumber && !alreadySelected) {\n // if using onlyCountries option, countryCodes[0] may be empty, so we must find the first\n // non-empty index\n for (var j = 0; j < countryCodes.length; j++) {\n if (countryCodes[j]) {\n countryCode = countryCodes[j];\n break;\n }\n }\n }\n } else if (number.charAt(0) === \"+\" && numeric.length) {\n // invalid dial code, so empty\n // Note: use getNumeric here because the number has not been formatted yet, so could contain\n // bad chars\n countryCode = \"\";\n } else if (!number || number === \"+\") {\n // empty, or just a plus, so default\n countryCode = this.defaultCountry;\n }\n if (countryCode !== null) {\n return this._setFlag(countryCode);\n }\n return false;\n }\n }, {\n key: \"_isRegionlessNanp\",\n value: function _isRegionlessNanp(number) {\n var numeric = this._getNumeric(number);\n if (numeric.charAt(0) === \"1\") {\n var areaCode = numeric.substr(1, 3);\n return regionlessNanpNumbers.indexOf(areaCode) !== -1;\n }\n return false;\n }\n }, {\n key: \"_highlightListItem\",\n value: function _highlightListItem(listItem, shouldFocus) {\n var prevItem = this.highlightedItem;\n if (prevItem) {\n prevItem.classList.remove(\"iti__highlight\");\n }\n this.highlightedItem = listItem;\n this.highlightedItem.classList.add(\"iti__highlight\");\n this.selectedFlag.setAttribute(\"aria-activedescendant\", listItem.getAttribute(\"id\"));\n if (shouldFocus) {\n this.highlightedItem.focus();\n }\n }\n }, {\n key: \"_getCountryData\",\n value: function _getCountryData(countryCode, ignoreOnlyCountriesOption, allowFail) {\n var countryList = ignoreOnlyCountriesOption ? allCountries : this.countries;\n for (var i = 0; i < countryList.length; i++) {\n if (countryList[i].iso2 === countryCode) {\n return countryList[i];\n }\n }\n if (allowFail) {\n return null;\n }\n throw new Error(\"No country data for '\".concat(countryCode, \"'\"));\n }\n }, {\n key: \"_setFlag\",\n value: function _setFlag(countryCode) {\n var _this$options3 = this.options, allowDropdown = _this$options3.allowDropdown, separateDialCode = _this$options3.separateDialCode, showFlags = _this$options3.showFlags;\n var prevCountry = this.selectedCountryData.iso2 ? this.selectedCountryData : {};\n // do this first as it will throw an error and stop if countryCode is invalid\n this.selectedCountryData = countryCode ? this._getCountryData(countryCode, false, false) : {};\n // update the defaultCountry - we only need the iso2 from now on, so just store that\n if (this.selectedCountryData.iso2) {\n this.defaultCountry = this.selectedCountryData.iso2;\n }\n if (showFlags) {\n this.selectedFlagInner.setAttribute(\"class\", \"iti__flag iti__\".concat(countryCode));\n }\n this._setSelectedCountryFlagTitleAttribute(countryCode, separateDialCode);\n if (separateDialCode) {\n var dialCode = this.selectedCountryData.dialCode ? \"+\".concat(this.selectedCountryData.dialCode) : \"\";\n this.selectedDialCode.innerHTML = dialCode;\n // offsetWidth is zero if input is in a hidden container during initialisation\n var selectedFlagWidth = this.selectedFlag.offsetWidth || this._getHiddenSelectedFlagWidth();\n // add 6px of padding after the grey selected-dial-code box, as this is what we use in the css\n if (this.isRTL) {\n this.telInput.style.paddingRight = \"\".concat(selectedFlagWidth + 6, \"px\");\n } else {\n this.telInput.style.paddingLeft = \"\".concat(selectedFlagWidth + 6, \"px\");\n }\n }\n // and the input's placeholder\n this._updatePlaceholder();\n // update the active list item\n if (allowDropdown) {\n var prevItem = this.activeItem;\n if (prevItem) {\n prevItem.classList.remove(\"iti__active\");\n prevItem.setAttribute(\"aria-selected\", \"false\");\n }\n if (countryCode) {\n // check if there is a preferred item first, else fall back to standard\n var nextItem = this.countryList.querySelector(\"#iti-\".concat(this.id, \"__item-\").concat(countryCode, \"-preferred\")) || this.countryList.querySelector(\"#iti-\".concat(this.id, \"__item-\").concat(countryCode));\n nextItem.setAttribute(\"aria-selected\", \"true\");\n nextItem.classList.add(\"iti__active\");\n this.activeItem = nextItem;\n }\n }\n // return if the flag has changed or not\n return prevCountry.iso2 !== countryCode;\n }\n }, {\n key: \"_setSelectedCountryFlagTitleAttribute\",\n value: function _setSelectedCountryFlagTitleAttribute(countryCode, separateDialCode) {\n if (!this.selectedFlag) {\n return;\n }\n var title;\n if (countryCode && !separateDialCode) {\n title = \"\".concat(this.selectedCountryData.name, \": +\").concat(this.selectedCountryData.dialCode);\n } else if (countryCode) {\n // For screen reader output, we don't want to include the dial code in the reader output twice\n // so just use the selected country name here:\n title = this.selectedCountryData.name;\n } else {\n title = \"Unknown\";\n }\n this.selectedFlag.setAttribute(\"title\", title);\n }\n }, {\n key: \"_getHiddenSelectedFlagWidth\",\n value: function _getHiddenSelectedFlagWidth() {\n // to get the right styling to apply, all we need is a shallow clone of the container,\n // and then to inject a deep clone of the selectedFlag element\n var containerClone = this.telInput.parentNode.cloneNode();\n containerClone.style.visibility = \"hidden\";\n document.body.appendChild(containerClone);\n var flagsContainerClone = this.flagsContainer.cloneNode();\n containerClone.appendChild(flagsContainerClone);\n var selectedFlagClone = this.selectedFlag.cloneNode(true);\n flagsContainerClone.appendChild(selectedFlagClone);\n var width = selectedFlagClone.offsetWidth;\n containerClone.parentNode.removeChild(containerClone);\n return width;\n }\n }, {\n key: \"_updatePlaceholder\",\n value: function _updatePlaceholder() {\n var shouldSetPlaceholder = this.options.autoPlaceholder === \"aggressive\" || !this.hadInitialPlaceholder && this.options.autoPlaceholder === \"polite\";\n if (window.intlTelInputUtils && shouldSetPlaceholder) {\n var numberType = intlTelInputUtils.numberType[this.options.placeholderNumberType];\n var placeholder = this.selectedCountryData.iso2 ? intlTelInputUtils.getExampleNumber(this.selectedCountryData.iso2, this.options.nationalMode, numberType) : \"\";\n placeholder = this._beforeSetNumber(placeholder);\n if (typeof this.options.customPlaceholder === \"function\") {\n placeholder = this.options.customPlaceholder(placeholder, this.selectedCountryData);\n }\n this.telInput.setAttribute(\"placeholder\", placeholder);\n }\n }\n }, {\n key: \"_selectListItem\",\n value: function _selectListItem(listItem) {\n // update selected flag and active list item\n var flagChanged = this._setFlag(listItem.getAttribute(\"data-country-code\"));\n this._closeDropdown();\n this._updateDialCode(listItem.getAttribute(\"data-dial-code\"));\n // focus the input\n this.telInput.focus();\n // put cursor at end - this fix is required for FF and IE11 (with auto inserting dial code),\n // who try to put the cursor at the beginning the first time\n var len = this.telInput.value.length;\n this.telInput.setSelectionRange(len, len);\n if (flagChanged) {\n this._triggerCountryChange();\n }\n }\n }, {\n key: \"_closeDropdown\",\n value: function _closeDropdown() {\n this.dropdownContent.classList.add(\"iti__hide\");\n this.selectedFlag.setAttribute(\"aria-expanded\", \"false\");\n this.selectedFlag.removeAttribute(\"aria-activedescendant\");\n // update the arrow\n this.dropdownArrow.classList.remove(\"iti__arrow--up\");\n // unbind key events\n document.removeEventListener(\"keydown\", this._handleKeydownOnDropdown);\n if (this.options.countrySearch) {\n this.searchInput.removeEventListener(\"input\", this._handleSearchChange);\n }\n document.documentElement.removeEventListener(\"click\", this._handleClickOffToClose);\n this.countryList.removeEventListener(\"mouseover\", this._handleMouseoverCountryList);\n this.countryList.removeEventListener(\"click\", this._handleClickCountryList);\n // remove menu from container\n if (this.options.dropdownContainer) {\n if (!this.options.useFullscreenPopup) {\n window.removeEventListener(\"scroll\", this._handleWindowScroll);\n }\n if (this.dropdown.parentNode) {\n this.dropdown.parentNode.removeChild(this.dropdown);\n }\n }\n this._trigger(\"close:countrydropdown\");\n }\n }, {\n key: \"_scrollTo\",\n value: function _scrollTo(element, middle) {\n var container = this.dropdownContent;\n // windowTop from https://stackoverflow.com/a/14384091/217866\n var windowTop = window.pageYOffset || document.documentElement.scrollTop;\n var containerHeight = container.offsetHeight;\n var containerTop = container.getBoundingClientRect().top + windowTop;\n var containerBottom = containerTop + containerHeight;\n var elementHeight = element.offsetHeight;\n var elementTop = element.getBoundingClientRect().top + windowTop;\n var elementBottom = elementTop + elementHeight;\n var newScrollTop = elementTop - containerTop + container.scrollTop;\n var middleOffset = containerHeight / 2 - elementHeight / 2;\n if (elementTop < containerTop) {\n // scroll up\n if (middle) {\n newScrollTop -= middleOffset;\n }\n container.scrollTop = newScrollTop;\n } else if (elementBottom > containerBottom) {\n // scroll down\n if (middle) {\n newScrollTop += middleOffset;\n }\n var heightDifference = containerHeight - elementHeight;\n container.scrollTop = newScrollTop - heightDifference;\n }\n }\n }, {\n key: \"_updateDialCode\",\n value: function _updateDialCode(newDialCodeBare) {\n var inputVal = this.telInput.value;\n // save having to pass this every time\n var newDialCode = \"+\".concat(newDialCodeBare);\n var newNumber;\n if (inputVal.charAt(0) === \"+\") {\n // there's a plus so we're dealing with a replacement\n var prevDialCode = this._getDialCode(inputVal);\n if (prevDialCode) {\n // current number contains a valid dial code, so replace it\n newNumber = inputVal.replace(prevDialCode, newDialCode);\n } else {\n // current number contains an invalid dial code, so ditch it\n // (no way to determine where the invalid dial code ends and the rest of the number begins)\n newNumber = newDialCode;\n }\n this.telInput.value = newNumber;\n } else if (this.options.autoInsertDialCode) {\n if (inputVal) {\n // there is an existing value with no dial code: prefix the new dial code\n newNumber = newDialCode + inputVal;\n } else {\n newNumber = newDialCode;\n }\n this.telInput.value = newNumber;\n }\n }\n }, {\n key: \"_getDialCode\",\n value: function _getDialCode(number, includeAreaCode) {\n var dialCode = \"\";\n // only interested in international numbers (starting with a plus)\n if (number.charAt(0) === \"+\") {\n var numericChars = \"\";\n // iterate over chars\n for (var i = 0; i < number.length; i++) {\n var c = number.charAt(i);\n // if char is number (https://stackoverflow.com/a/8935649/217866)\n if (!isNaN(parseInt(c, 10))) {\n numericChars += c;\n // if current numericChars make a valid dial code\n if (includeAreaCode) {\n if (this.countryCodes[numericChars]) {\n // store the actual raw string (useful for matching later)\n dialCode = number.substr(0, i + 1);\n }\n } else {\n if (this.dialCodes[numericChars]) {\n dialCode = number.substr(0, i + 1);\n // if we're just looking for a dial code, we can break as soon as we find one\n break;\n }\n }\n // stop searching as soon as we can - in this case when we hit max len\n if (numericChars.length === this.countryCodeMaxLen) {\n break;\n }\n }\n }\n }\n return dialCode;\n }\n }, {\n key: \"_getFullNumber\",\n value: function _getFullNumber() {\n var val = this.telInput.value.trim();\n var dialCode = this.selectedCountryData.dialCode;\n var prefix;\n var numericVal = this._getNumeric(val);\n if (this.options.separateDialCode && val.charAt(0) !== \"+\" && dialCode && numericVal) {\n // when using separateDialCode, it is visible so is effectively part of the typed number\n prefix = \"+\".concat(dialCode);\n } else {\n prefix = \"\";\n }\n return prefix + val;\n }\n }, {\n key: \"_beforeSetNumber\",\n value: function _beforeSetNumber(fullNumber) {\n var number = fullNumber;\n if (this.options.separateDialCode) {\n var dialCode = this._getDialCode(number);\n // if there is a valid dial code\n if (dialCode) {\n // in case _getDialCode returned an area code as well\n dialCode = \"+\".concat(this.selectedCountryData.dialCode);\n // a lot of numbers will have a space separating the dial code and the main number, and\n // some NANP numbers will have a hyphen e.g. +1 684-733-1234 - in both cases we want to get\n // rid of it\n // NOTE: don't just trim all non-numerics as may want to preserve an open parenthesis etc\n var start = number[dialCode.length] === \" \" || number[dialCode.length] === \"-\" ? dialCode.length + 1 : dialCode.length;\n number = number.substr(start);\n }\n }\n return this._cap(number);\n }\n }, {\n key: \"_triggerCountryChange\",\n value: function _triggerCountryChange() {\n this._trigger(\"countrychange\");\n }\n }, {\n key: \"handleAutoCountry\",\n value: function handleAutoCountry() {\n if (this.options.initialCountry === \"auto\") {\n // we must set this even if there is an initial val in the input: in case the initial val is\n // invalid and they delete it - they should see their auto country\n this.defaultCountry = window.intlTelInputGlobals.autoCountry;\n // if there's no initial value in the input, then update the flag\n if (!this.telInput.value) {\n this.setCountry(this.defaultCountry);\n }\n this.resolveAutoCountryPromise();\n }\n }\n }, {\n key: \"handleUtils\",\n value: function handleUtils() {\n // if the request was successful\n if (window.intlTelInputUtils) {\n // if there's an initial value in the input, then format it\n if (this.telInput.value) {\n this._updateValFromNumber(this.telInput.value);\n }\n this._updatePlaceholder();\n }\n this.resolveUtilsScriptPromise();\n }\n }, {\n key: \"destroy\",\n value: function destroy() {\n var form = this.telInput.form;\n if (this.options.allowDropdown) {\n // make sure the dropdown is closed (and unbind listeners)\n this._closeDropdown();\n this.selectedFlag.removeEventListener(\"click\", this._handleClickSelectedFlag);\n this.flagsContainer.removeEventListener(\"keydown\", this._handleFlagsContainerKeydown);\n // label click hack\n var label = this._getClosestLabel();\n if (label) {\n label.removeEventListener(\"click\", this._handleLabelClick);\n }\n }\n // unbind hiddenInput listeners\n if (this.hiddenInput && form) {\n form.removeEventListener(\"submit\", this._handleHiddenInputSubmit);\n }\n // unbind autoInsertDialCode listeners\n if (this.options.autoInsertDialCode) {\n if (form) {\n form.removeEventListener(\"submit\", this._handleSubmitOrBlurEvent);\n }\n this.telInput.removeEventListener(\"blur\", this._handleSubmitOrBlurEvent);\n }\n // unbind key events, and cut/paste events\n this.telInput.removeEventListener(\"keyup\", this._handleKeyupEvent);\n this.telInput.removeEventListener(\"cut\", this._handleClipboardEvent);\n this.telInput.removeEventListener(\"paste\", this._handleClipboardEvent);\n // remove attribute of id instance: data-intl-tel-input-id\n this.telInput.removeAttribute(\"data-intl-tel-input-id\");\n // remove markup (but leave the original input)\n var wrapper = this.telInput.parentNode;\n wrapper.parentNode.insertBefore(this.telInput, wrapper);\n wrapper.parentNode.removeChild(wrapper);\n delete window.intlTelInputGlobals.instances[this.id];\n }\n }, {\n key: \"getExtension\",\n value: function getExtension() {\n if (window.intlTelInputUtils) {\n return intlTelInputUtils.getExtension(this._getFullNumber(), this.selectedCountryData.iso2);\n }\n return \"\";\n }\n }, {\n key: \"getNumber\",\n value: function getNumber(format) {\n if (window.intlTelInputUtils) {\n var iso2 = this.selectedCountryData.iso2;\n return intlTelInputUtils.formatNumber(this._getFullNumber(), iso2, format);\n }\n return \"\";\n }\n }, {\n key: \"getNumberType\",\n value: function getNumberType() {\n if (window.intlTelInputUtils) {\n return intlTelInputUtils.getNumberType(this._getFullNumber(), this.selectedCountryData.iso2);\n }\n return -99;\n }\n }, {\n key: \"getSelectedCountryData\",\n value: function getSelectedCountryData() {\n return this.selectedCountryData;\n }\n }, {\n key: \"getValidationError\",\n value: function getValidationError() {\n if (window.intlTelInputUtils) {\n var iso2 = this.selectedCountryData.iso2;\n return intlTelInputUtils.getValidationError(this._getFullNumber(), iso2);\n }\n return -99;\n }\n }, {\n key: \"isValidNumber\",\n value: function isValidNumber() {\n var val = this._getFullNumber().trim();\n return window.intlTelInputUtils ? intlTelInputUtils.isValidNumber(val, this.selectedCountryData.iso2) : null;\n }\n }, {\n key: \"isPossibleNumber\",\n value: function isPossibleNumber() {\n var val = this._getFullNumber().trim();\n return window.intlTelInputUtils ? intlTelInputUtils.isPossibleNumber(val, this.selectedCountryData.iso2) : null;\n }\n }, {\n key: \"setCountry\",\n value: function setCountry(originalCountryCode) {\n var countryCode = originalCountryCode.toLowerCase();\n // check if already selected\n if (this.selectedCountryData.iso2 !== countryCode) {\n this._setFlag(countryCode);\n this._updateDialCode(this.selectedCountryData.dialCode);\n this._triggerCountryChange();\n }\n }\n }, {\n key: \"setNumber\",\n value: function setNumber(number) {\n // we must update the flag first, which updates this.selectedCountryData, which is used for\n // formatting the number before displaying it\n var flagChanged = this._updateFlagFromNumber(number);\n this._updateValFromNumber(number);\n if (flagChanged) {\n this._triggerCountryChange();\n }\n }\n }, {\n key: \"setPlaceholderNumberType\",\n value: function setPlaceholderNumberType(type) {\n this.options.placeholderNumberType = type;\n this._updatePlaceholder();\n }\n } ]);\n return Iti;\n }();\n /********************\n * STATIC METHODS\n ********************/\n // get the country data object\n intlTelInputGlobals.getCountryData = function() {\n return allCountries;\n };\n // inject a