nfewizard-io 0.2.8 → 0.2.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/dist/cjs/assets/DANFE_NFCE.pdf +0 -0
- package/dist/cjs/assets/barcode.png +0 -0
- package/dist/cjs/assets/fonts/ARIAL.TTF +0 -0
- package/dist/cjs/assets/fonts/ARIALBD.TTF +0 -0
- package/dist/cjs/assets/logo.jpg +0 -0
- package/dist/cjs/certs/AC CertiSign.crt +0 -22
- package/dist/cjs/certs/AC-A-DIGIFORTE-RFB.crt +0 -39
- package/dist/cjs/certs/AC-ACD-v5.crt +0 -40
- package/dist/cjs/certs/AC-CERTISIGN-ICP-BRASIL-CODE.crt +0 -45
- package/dist/cjs/certs/AC-CERTISIGN-ICP-BRASIL-SSL-G2.crt +0 -47
- package/dist/cjs/certs/AC-Certisign-ICP-Brasil-SSL-EV-G3.crt +0 -49
- package/dist/cjs/certs/AC-Certisign-ICP-Brasil-SSL-EV-G4.crt +0 -49
- package/dist/cjs/certs/AC-DIGITAL-MAIS.crt +0 -36
- package/dist/cjs/certs/AC-INFOCO-DIGITAL-v5.crt +0 -40
- package/dist/cjs/certs/AC-PRIME-v5.crt +0 -40
- package/dist/cjs/certs/AC-PRODESP-RFB-v1.crt +0 -41
- package/dist/cjs/certs/AC-PRODESP-SP-SSL.crt +0 -47
- package/dist/cjs/certs/AC-PRODESP-SP.crt +0 -36
- package/dist/cjs/certs/AC-QUALITYCERT-v5.crt +0 -40
- package/dist/cjs/certs/AC-REDEBRASIL-v5.crt +0 -40
- package/dist/cjs/certs/AC-REDEBRASILv5.crt +0 -40
- package/dist/cjs/certs/AC-SERASA-SSL-EV-V2.crt +0 -45
- package/dist/cjs/certs/AC-SERASA-SSL-EV-V3.crt +0 -45
- package/dist/cjs/certs/AC-SERASA-SSL-EV-V4.crt +0 -45
- package/dist/cjs/certs/AC-SERPRO-SSLv1-v10.crt +0 -40
- package/dist/cjs/certs/AC-SOLUTI-CS-EV.crt +0 -43
- package/dist/cjs/certs/AC-SOLUTI-SSL-EV-G2.crt +0 -43
- package/dist/cjs/certs/AC-SOLUTI-SSL-EV-G3.crt +0 -44
- package/dist/cjs/certs/AC-SOLUTI-SSL-EV-G4.crt +0 -44
- package/dist/cjs/certs/AC-SOLUTI-SSL-EV.crt +0 -41
- package/dist/cjs/certs/AC-SOLUTI-v5-G2.crt +0 -36
- package/dist/cjs/certs/AC-SyngularID.crt +0 -36
- package/dist/cjs/certs/AC-VALID-CODE-SIGNING.crt +0 -43
- package/dist/cjs/certs/AC-VALID-SSL-EV.crt +0 -44
- package/dist/cjs/certs/ACIMESP1n.crt +0 -26
- package/dist/cjs/certs/ACIMPRENSAOFICIALRFBSSL.crt +0 -41
- package/dist/cjs/certs/ACImprensaOficial_18072011.crt +0 -0
- package/dist/cjs/certs/ACSyngularIDMultipla0.crt +0 -42
- package/dist/cjs/certs/AC_A_R_A_CERTIFICACAO_DIGITAL_v5.crt +0 -41
- package/dist/cjs/certs/AC_BR_RFB_G2.crt +0 -27
- package/dist/cjs/certs/AC_BR_RFB_G3.crt +0 -39
- package/dist/cjs/certs/AC_BR_RFB_G4.crt +0 -39
- package/dist/cjs/certs/AC_BoaVista.crt +0 -36
- package/dist/cjs/certs/AC_BoaVista_Certificadora.crt +0 -44
- package/dist/cjs/certs/AC_Boa_Vista_RFB.crt +0 -39
- package/dist/cjs/certs/AC_CACB_CD.crt +0 -40
- package/dist/cjs/certs/AC_CACB_RFB.crt +0 -41
- package/dist/cjs/certs/AC_CACB_RFB_G2.crt +0 -41
- package/dist/cjs/certs/AC_CAIXA_PF_1v2.crt +0 -37
- package/dist/cjs/certs/AC_CAIXA_PJ-SSL_v2.crt +0 -38
- package/dist/cjs/certs/AC_CAIXA_PJ_1v2.crt +0 -37
- package/dist/cjs/certs/AC_CAIXA_v2.crt +0 -36
- package/dist/cjs/certs/AC_CCN_COMPANHIA_CERTIFICADORA_NACIONAL_v5.crt +0 -41
- package/dist/cjs/certs/AC_CERTBANK_v5.crt +0 -41
- package/dist/cjs/certs/AC_CERTDATA_BRASIL.crt +0 -41
- package/dist/cjs/certs/AC_CERTIFICA_ANAPOLIS_v5_G2.crt +0 -41
- package/dist/cjs/certs/AC_CERTIFICA_MINAS_v5.crt +0 -40
- package/dist/cjs/certs/AC_CERTIPE_CD.crt +0 -40
- package/dist/cjs/certs/AC_CERTISIGN-JUS_CODESIGNING_G6.crt +0 -39
- package/dist/cjs/certs/AC_CERTISIGN-JUS_G5.crt +0 -38
- package/dist/cjs/certs/AC_CERTISIGN-JUS_SSL_G6.crt +0 -38
- package/dist/cjs/certs/AC_CERTMAIS_CD.crt +0 -40
- package/dist/cjs/certs/AC_CNDL_RFB.crt +0 -39
- package/dist/cjs/certs/AC_CNDL_RFB_v2.crt +0 -39
- package/dist/cjs/certs/AC_CNDL_RFB_v3.crt +0 -39
- package/dist/cjs/certs/AC_CONSULTI_BRASIL_RFB.crt +0 -39
- package/dist/cjs/certs/AC_Caixa.crt +0 -23
- package/dist/cjs/certs/AC_Caixa_JUS_v1.crt +0 -29
- package/dist/cjs/certs/AC_Caixa_JUS_v2.crt +0 -39
- package/dist/cjs/certs/AC_Caixa_PF-1_v1.crt +0 -30
- package/dist/cjs/certs/AC_Caixa_PF_v1.crt +0 -32
- package/dist/cjs/certs/AC_Caixa_PF_v2.crt +0 -41
- package/dist/cjs/certs/AC_Caixa_PJ-1_v1.crt +0 -30
- package/dist/cjs/certs/AC_Caixa_PJ_v1.crt +0 -32
- package/dist/cjs/certs/AC_Caixa_PJ_v2.crt +0 -45
- package/dist/cjs/certs/AC_Caixa_SPB.crt +0 -39
- package/dist/cjs/certs/AC_Caixa_v1.crt +0 -25
- package/dist/cjs/certs/AC_CertiSign_JUS.crt +0 -0
- package/dist/cjs/certs/AC_CertiSign_V3.crt +0 -25
- package/dist/cjs/certs/AC_Certifica_Anapolis_v5.crt +0 -43
- package/dist/cjs/certs/AC_Certisign_G3.crt +0 -25
- package/dist/cjs/certs/AC_Certisign_G6.crt +0 -36
- package/dist/cjs/certs/AC_Certisign_G7.crt +0 -36
- package/dist/cjs/certs/AC_Certisign_JUS_G2.crt +0 -38
- package/dist/cjs/certs/AC_Certisign_JUS_G3.crt +0 -39
- package/dist/cjs/certs/AC_Certisign_JUS_G6.crt +0 -38
- package/dist/cjs/certs/AC_Certisign_Multipla_CodeSigning.crt +0 -41
- package/dist/cjs/certs/AC_Certisign_Multipla_G3.crt +0 -38
- package/dist/cjs/certs/AC_Certisign_Multipla_G5.crt +0 -49
- package/dist/cjs/certs/AC_Certisign_Multipla_G6.crt +0 -49
- package/dist/cjs/certs/AC_Certisign_Multipla_G7.crt +0 -50
- package/dist/cjs/certs/AC_Certisign_Multipla_SSL.crt +0 -41
- package/dist/cjs/certs/AC_Certisign_RFB_G3.crt +0 -29
- package/dist/cjs/certs/AC_Certisign_RFB_G4.crt +0 -41
- package/dist/cjs/certs/AC_Certisign_RFB_G5.crt +0 -41
- package/dist/cjs/certs/AC_Certisign_SPB_G3.crt +0 -27
- package/dist/cjs/certs/AC_Certisign_SPB_G5.crt +0 -38
- package/dist/cjs/certs/AC_Certisign_SPB_G6.crt +0 -39
- package/dist/cjs/certs/AC_Certisign_Tempo_G1.crt +0 -39
- package/dist/cjs/certs/AC_Certisign_Tempo_G2.crt +0 -41
- package/dist/cjs/certs/AC_DIGISEC_v5.crt +0 -40
- package/dist/cjs/certs/AC_DIGITALSIGN_ACP_G2.crt +0 -36
- package/dist/cjs/certs/AC_DIGITALSIGN_G2.crt +0 -50
- package/dist/cjs/certs/AC_DIGITALSIGN_RFB_G2.crt +0 -42
- package/dist/cjs/certs/AC_DIGITALSIGN_RFB_G3.crt +0 -41
- package/dist/cjs/certs/AC_DIGITALSIGN_SSL.crt +0 -41
- package/dist/cjs/certs/AC_DIGITAL_MULTIPLA_G1.crt +0 -40
- package/dist/cjs/certs/AC_DIGITAL_v5.crt +0 -40
- package/dist/cjs/certs/AC_DOCCLOUD.crt +0 -36
- package/dist/cjs/certs/AC_DOCCLOUD_RFB.crt +0 -39
- package/dist/cjs/certs/AC_DOCCLOUD_RFB_v2.crt +0 -39
- package/dist/cjs/certs/AC_Defesa_v5.crt +0 -49
- package/dist/cjs/certs/AC_Digital.crt +0 -46
- package/dist/cjs/certs/AC_Digitalsign.crt +0 -50
- package/dist/cjs/certs/AC_Digitalsign_ACP.crt +0 -36
- package/dist/cjs/certs/AC_Digitalsign_RFB.crt +0 -41
- package/dist/cjs/certs/AC_EGBA_MULTIPLA.crt +0 -45
- package/dist/cjs/certs/AC_EGBA_Multipla_G2.crt +0 -47
- package/dist/cjs/certs/AC_EGBA_RFB.crt +0 -41
- package/dist/cjs/certs/AC_FCDL_SC_v5.crt +0 -40
- package/dist/cjs/certs/AC_FCDL_SC_v5_G2.crt +0 -41
- package/dist/cjs/certs/AC_FENACOR_RFB.crt +0 -42
- package/dist/cjs/certs/AC_Fenacon_Certisign_RFB_G2.crt +0 -27
- package/dist/cjs/certs/AC_Fenacon_Certisign_RFB_G3.crt +0 -39
- package/dist/cjs/certs/AC_IMESP_RFB_G2.crt +0 -29
- package/dist/cjs/certs/AC_IMESP_RFB_G3_retirar_repositorio.crt +0 -41
- package/dist/cjs/certs/AC_INTERCERT_v5.crt +0 -40
- package/dist/cjs/certs/AC_Imprensa_Oficial.crt +0 -36
- package/dist/cjs/certs/AC_Imprensa_Oficial_G2.crt +0 -38
- package/dist/cjs/certs/AC_Imprensa_Oficial_G3.crt +0 -57
- package/dist/cjs/certs/AC_Imprensa_Oficial_G4.crt +0 -51
- package/dist/cjs/certs/AC_Imprensa_Oficial_SP.crt +0 -0
- package/dist/cjs/certs/AC_Imprensa_Oficial_SP_G2.crt +0 -24
- package/dist/cjs/certs/AC_Imprensa_Oficial_SP_G3.crt +0 -36
- package/dist/cjs/certs/AC_Imprensa_Oficial_SP_G4.crt +0 -36
- package/dist/cjs/certs/AC_Imprensa_Oficial_SP_RFB_G3.crt +0 -41
- package/dist/cjs/certs/AC_Imprensa_Oficial_SP_RFB_G4.crt +0 -41
- package/dist/cjs/certs/AC_Imprensa_Oficial_SP_RFB_G5.crt +0 -41
- package/dist/cjs/certs/AC_Imprensa_Oficial_SSL.crt +0 -42
- package/dist/cjs/certs/AC_Instituto_Fenacom_RFB.crt +0 -30
- package/dist/cjs/certs/AC_Instituto_Fenacon.crt +0 -38
- package/dist/cjs/certs/AC_Instituto_Fenacon_G2.crt +0 -49
- package/dist/cjs/certs/AC_Instituto_Fenacon_G3.crt +0 -50
- package/dist/cjs/certs/AC_Instituto_Fenacon_G4.crt +0 -51
- package/dist/cjs/certs/AC_Instituto_Fenacon_RFB_G2.crt +0 -41
- package/dist/cjs/certs/AC_Instituto_Fenacon_RFB_G3.crt +0 -41
- package/dist/cjs/certs/AC_LINK_CD.crt +0 -40
- package/dist/cjs/certs/AC_LINK_RFB.crt +0 -39
- package/dist/cjs/certs/AC_LINK_RFB_v2.crt +0 -39
- package/dist/cjs/certs/AC_MAXIMUS_TECNOLOGIA_E_EVENTOS_v5.crt +0 -41
- package/dist/cjs/certs/AC_MAXIMUS_TECNOLOGIA_E_EVENTOS_v5_G2.crt +0 -41
- package/dist/cjs/certs/AC_META_CERTIFICADO_DIGITAL_CD.crt +0 -40
- package/dist/cjs/certs/AC_Notarial_RFB_G2.crt +0 -27
- package/dist/cjs/certs/AC_Notarial_RFB_G3.crt +0 -39
- package/dist/cjs/certs/AC_Notarial_RFB_G4.crt +0 -39
- package/dist/cjs/certs/AC_OAB_G3.crt +0 -39
- package/dist/cjs/certs/AC_ONLINEBRASIL_v5.crt +0 -41
- package/dist/cjs/certs/AC_ONLINE_RFB_v5.crt +0 -40
- package/dist/cjs/certs/AC_Oab.crt +0 -27
- package/dist/cjs/certs/AC_Oab_G2.crt +0 -38
- package/dist/cjs/certs/AC_Online_Brasil.crt +0 -43
- package/dist/cjs/certs/AC_Online_RFB.crt +0 -39
- package/dist/cjs/certs/AC_PETROBRAS_G4.crt +0 -44
- package/dist/cjs/certs/AC_PLANO_DIGITAL_CD.crt +0 -40
- package/dist/cjs/certs/AC_PREMIUM_CERTIFICADORA_DIGITAL_CD.crt +0 -40
- package/dist/cjs/certs/AC_PRODEMGE_G4.crt +0 -44
- package/dist/cjs/certs/AC_PRODESP_v1.crt +0 -49
- package/dist/cjs/certs/AC_Petrobras_G2.crt +0 -30
- package/dist/cjs/certs/AC_Petrobras_G3.crt +0 -41
- package/dist/cjs/certs/AC_Prodemge_G2.crt +0 -32
- package/dist/cjs/certs/AC_Prodemge_G3.crt +0 -43
- package/dist/cjs/certs/AC_Prodemge_RFB.crt +0 -41
- package/dist/cjs/certs/AC_Prodemge_RFB_G2.crt +0 -29
- package/dist/cjs/certs/AC_Prodemge_RFB_G3.crt +0 -41
- package/dist/cjs/certs/AC_Prodemge_RFB_G4.crt +0 -41
- package/dist/cjs/certs/AC_Prodest_RFB.crt +0 -27
- package/dist/cjs/certs/AC_Prodest_RFB_v2.crt +0 -39
- package/dist/cjs/certs/AC_REDE_BRASIL_v5_G2.crt +0 -41
- package/dist/cjs/certs/AC_REDE_IDEIA_CD.crt +0 -40
- package/dist/cjs/certs/AC_REDE_IDEIA_RFB.crt +0 -39
- package/dist/cjs/certs/AC_SAFEIDBRASIL.crt +0 -41
- package/dist/cjs/certs/AC_SAFETECH_CD.crt +0 -40
- package/dist/cjs/certs/AC_SAFEWEB_CD.crt +0 -40
- package/dist/cjs/certs/AC_SAFEWEB_RFB_v5.crt +0 -39
- package/dist/cjs/certs/AC_SAFEWEB_TIMESTAMPING.crt +0 -40
- package/dist/cjs/certs/AC_SEGURA_ID_v5.crt +0 -41
- package/dist/cjs/certs/AC_SEMPRE_CD.crt +0 -40
- package/dist/cjs/certs/AC_SEMPRE_RFB_v2.crt +0 -39
- package/dist/cjs/certs/AC_SENHA_DIGITAL_BRASIL.crt +0 -41
- package/dist/cjs/certs/AC_SERPRO_JUS_v5.crt +0 -37
- package/dist/cjs/certs/AC_SIC_BRASIL.crt +0 -41
- package/dist/cjs/certs/AC_SIC_RFB.crt +0 -40
- package/dist/cjs/certs/AC_SIG_BRASIL.crt +0 -41
- package/dist/cjs/certs/AC_SINCOR_G4.crt +0 -46
- package/dist/cjs/certs/AC_SINCOR_RIO_RFB_G2.crt +0 -41
- package/dist/cjs/certs/AC_SOLUTI-JUS_CODESIGNING_v5.crt +0 -40
- package/dist/cjs/certs/AC_SOLUTI-JUS_SSL_v5.crt +0 -40
- package/dist/cjs/certs/AC_SOLUTI-JUS_v5.crt +0 -40
- package/dist/cjs/certs/AC_SOLUTI_Multipla_CODESIGNING.crt +0 -43
- package/dist/cjs/certs/AC_SOLUTI_Multipla_SSL.crt +0 -43
- package/dist/cjs/certs/AC_SOLUTI_Multipla_TIMESTAMPING.crt +0 -42
- package/dist/cjs/certs/AC_SOLUTI_Multipla_TIMESTAMPING_v5.crt +0 -39
- package/dist/cjs/certs/AC_SOLUTI_Multipla_v5.crt +0 -40
- package/dist/cjs/certs/AC_SOLUTI_Multipla_v5_G2.crt +0 -41
- package/dist/cjs/certs/AC_SOLUTI_RFB_V5.crt +0 -41
- package/dist/cjs/certs/AC_Safeweb_RFB.crt +0 -39
- package/dist/cjs/certs/AC_Safeweb_v5.crt +0 -36
- package/dist/cjs/certs/AC_Secretaria_da_Receita_Federal_do_Brasil_v3.crt +0 -37
- package/dist/cjs/certs/AC_Secretaria_da_Receita_Federal_do_Brasil_v4.crt +0 -37
- package/dist/cjs/certs/AC_Serasa_ACP.crt +0 -0
- package/dist/cjs/certs/AC_Serasa_Autoridade_Certificadora_Principal.crt +0 -0
- package/dist/cjs/certs/AC_Serasa_JUS.crt +0 -0
- package/dist/cjs/certs/AC_Serasa_JUS_v1.crt +0 -37
- package/dist/cjs/certs/AC_Serasa_JUS_v2.crt +0 -42
- package/dist/cjs/certs/AC_Serasa_JUS_v5.crt +0 -38
- package/dist/cjs/certs/AC_Serasa_RFB.crt +0 -31
- package/dist/cjs/certs/AC_Serasa_RFB_v2.crt +0 -42
- package/dist/cjs/certs/AC_Serasa_RFB_v5.crt +0 -42
- package/dist/cjs/certs/AC_Serpro_JUS_v3.crt +0 -29
- package/dist/cjs/certs/AC_Serpro_JUS_v4.crt +0 -39
- package/dist/cjs/certs/AC_Serpro_JUS_v5_erro_retirado_repositorio.crt +0 -37
- package/dist/cjs/certs/AC_Serpro_RFB.crt +0 -28
- package/dist/cjs/certs/AC_Serpro_RFB_v3.crt +0 -40
- package/dist/cjs/certs/AC_Serpro_RFB_v4.crt +0 -40
- package/dist/cjs/certs/AC_Sincor_G2.crt +0 -34
- package/dist/cjs/certs/AC_Sincor_G3.crt +0 -44
- package/dist/cjs/certs/AC_Sincor_RFB_G2.crt +0 -29
- package/dist/cjs/certs/AC_Sincor_RFB_G4.crt +0 -41
- package/dist/cjs/certs/AC_Sincor_RFB_G5.crt +0 -41
- package/dist/cjs/certs/AC_Sincor_Rio_RFB_G1.crt +0 -41
- package/dist/cjs/certs/AC_Solucao_Digital_Multipla.crt +0 -42
- package/dist/cjs/certs/AC_Soluti.crt +0 -36
- package/dist/cjs/certs/AC_Soluti_JUS_v1.crt +0 -46
- package/dist/cjs/certs/AC_Soluti_Multipla_v1.crt +0 -46
- package/dist/cjs/certs/AC_Soluti_OM-BR.crt +0 -21
- package/dist/cjs/certs/AC_Soluti_RFB.crt +0 -41
- package/dist/cjs/certs/AC_Soluti_v5.crt +0 -36
- package/dist/cjs/certs/AC_SyngularID_Multipla.crt +0 -42
- package/dist/cjs/certs/AC_VALID-JUS_CODESIGNING_v5.crt +0 -39
- package/dist/cjs/certs/AC_VALID-JUS_SSL_v5.crt +0 -38
- package/dist/cjs/certs/AC_VALID-JUS_v5.crt +0 -38
- package/dist/cjs/certs/AC_VALID_BRASIL_CODESIGNING.crt +0 -42
- package/dist/cjs/certs/AC_VALID_BRASIL_SSL.crt +0 -41
- package/dist/cjs/certs/AC_VALID_BRASIL_v5.crt +0 -41
- package/dist/cjs/certs/AC_VALID_PLUS_CODESIGNING.crt +0 -42
- package/dist/cjs/certs/AC_VALID_PLUS_SSL.crt +0 -41
- package/dist/cjs/certs/AC_VALID_PLUS_TIMESTAMPING.crt +0 -42
- package/dist/cjs/certs/AC_VALID_PLUS_v5.crt +0 -49
- package/dist/cjs/certs/AC_VALID_RFB_v5.crt +0 -39
- package/dist/cjs/certs/AC_VALID_SPB_v5.crt +0 -38
- package/dist/cjs/certs/AC_VALID_v5.crt +0 -36
- package/dist/cjs/certs/AC_Valid_Brasil.crt +0 -43
- package/dist/cjs/certs/AC_Valid_JUS_v4.crt +0 -41
- package/dist/cjs/certs/AC_Valid_PLUS.crt +0 -55
- package/dist/cjs/certs/AC_Valid_RFB.crt +0 -39
- package/dist/cjs/certs/AC_Valid_SPB.crt +0 -40
- package/dist/cjs/certs/AUTORIDADE_CERTIFICADORA_PROCERTI.crt +0 -39
- package/dist/cjs/certs/Autoridade Certificadora da Presidencia da Republica v1.crt +0 -0
- package/dist/cjs/certs/Autoridade Certificadora da Presidencia da Republica v2.crt +0 -25
- package/dist/cjs/certs/Autoridade_Certificadora_ALTERNATIVE.crt +0 -41
- package/dist/cjs/certs/Autoridade_Certificadora_BRASIL_CERTEC.crt +0 -41
- package/dist/cjs/certs/Autoridade_Certificadora_DIGITAL_CERTY.crt +0 -41
- package/dist/cjs/certs/Autoridade_Certificadora_INFOCOMEX.crt +0 -39
- package/dist/cjs/certs/Autoridade_Certificadora_INVIA.crt +0 -41
- package/dist/cjs/certs/Autoridade_Certificadora_NACIONAL.crt +0 -41
- package/dist/cjs/certs/Autoridade_Certificadora_PRIMECERT.crt +0 -41
- package/dist/cjs/certs/Autoridade_Certificadora_SDI.crt +0 -41
- package/dist/cjs/certs/Autoridade_Certificadora_SEFAZCE.crt +0 -38
- package/dist/cjs/certs/Autoridade_Certificadora_SERPRORFBv5.crt +0 -40
- package/dist/cjs/certs/Autoridade_Certificadora_Serpro_v2.crt +0 -25
- package/dist/cjs/certs/Autoridade_Certificadora_Serpro_v3.crt +0 -36
- package/dist/cjs/certs/Autoridade_Certificadora_Serpro_v4.crt +0 -36
- package/dist/cjs/certs/Autoridade_Certificadora_da_Casa_da_Moeda_do_Brasil.crt +0 -29
- package/dist/cjs/certs/Autoridade_Certificadora_da_Casa_da_Moeda_do_Brasil_v2.crt +0 -37
- package/dist/cjs/certs/Autoridade_Certificadora_da_Casa_da_Moeda_do_Brasil_v3.crt +0 -41
- package/dist/cjs/certs/Autoridade_Certificadora_da_Justica.crt +0 -25
- package/dist/cjs/certs/Autoridade_Certificadora_da_Justica_v3.crt +0 -26
- package/dist/cjs/certs/Autoridade_Certificadora_da_Justica_v4.crt +0 -36
- package/dist/cjs/certs/Autoridade_Certificadora_da_Justica_v5.crt +0 -36
- package/dist/cjs/certs/Autoridade_Certificadora_da_Presidencia_da_Republica.crt +0 -25
- package/dist/cjs/certs/Autoridade_Certificadora_da_Presidencia_da_Republica_2005.crt +0 -0
- package/dist/cjs/certs/Autoridade_Certificadora_da_Presidencia_da_Republica_v1.crt +0 -0
- package/dist/cjs/certs/Autoridade_Certificadora_da_Presidencia_da_Republica_v2.crt +0 -25
- package/dist/cjs/certs/Autoridade_Certificadora_da_Presidencia_da_Republica_v3.crt +0 -37
- package/dist/cjs/certs/Autoridade_Certificadora_da_Presidencia_da_Republica_v4.crt +0 -40
- package/dist/cjs/certs/Autoridade_Certificadora_da_Presidencia_da_Republica_v5.crt +0 -38
- package/dist/cjs/certs/Autoridade_Certificadora_da_Secretaria_da_Receita_Federal.crt +0 -23
- package/dist/cjs/certs/Autoridade_Certificadora_da_Secretaria_da_Receita_Federal_v1.crt +0 -23
- package/dist/cjs/certs/Autoridade_Certificadora_do_Proderj.crt +0 -26
- package/dist/cjs/certs/Autoridade_Certificadora_do_Proderj_v2.crt +0 -38
- package/dist/cjs/certs/Autoridade_Certificadora_do_SERPRO_RFB_SSL.crt +0 -38
- package/dist/cjs/certs/Autoridade_Certificadora_do_Serpro.crt +0 -0
- package/dist/cjs/certs/Autoridade_Certificadora_do_Serpro_Final_SSL.crt +0 -38
- package/dist/cjs/certs/Autoridade_Certificadora_do_Serpro_Final_v1.crt +0 -32
- package/dist/cjs/certs/Autoridade_Certificadora_do_Serpro_Final_v2.crt +0 -30
- package/dist/cjs/certs/Autoridade_Certificadora_do_Serpro_Final_v3.crt +0 -48
- package/dist/cjs/certs/Autoridade_Certificadora_do_Serpro_Final_v4.crt +0 -48
- package/dist/cjs/certs/Autoridade_Certificadora_do_Serpro_Final_v5.crt +0 -40
- package/dist/cjs/certs/Autoridade_Certificadora_do_Serpro_v1.crt +0 -0
- package/dist/cjs/certs/Autoridade__Certificadora_do_Serpro_v1.crt +0 -0
- package/dist/cjs/certs/Certificado_AC_Raiz.crt +0 -28
- package/dist/cjs/certs/GlobalSign.crt +0 -21
- package/dist/cjs/certs/GlobalSign.crt:Zone.Identifier +0 -0
- package/dist/cjs/certs/ICP-Brasil.crt +0 -27
- package/dist/cjs/certs/ICP-Brasilv10.crt +0 -38
- package/dist/cjs/certs/ICP-Brasilv11.crt +0 -38
- package/dist/cjs/certs/ICP-Brasilv2.crt +0 -38
- package/dist/cjs/certs/ICP-Brasilv5.crt +0 -38
- package/dist/cjs/certs/Instituto_Nacional_de_Metrologia_Qualidade_e_Tecnologia_INMETRO.crt +0 -18
- package/dist/cjs/certs/Secretaria_da_Receita_Federal_do_Brasil.crt +0 -24
- package/dist/cjs/certs/Serasa_AC_v5.crt +0 -41
- package/dist/cjs/certs/Serasa_Autoridade_Certificadora_Principal.crt +0 -27
- package/dist/cjs/certs/Serasa_Autoridade_Certificadora_Principal_v1.crt +0 -26
- package/dist/cjs/certs/Serasa_Autoridade_Certificadora_Principal_v2.crt +0 -37
- package/dist/cjs/certs/Serasa_Autoridade_Certificadora_Principal_v5.crt +0 -37
- package/dist/cjs/certs/Serasa_Autoridade_Certificadora_v2.crt +0 -43
- package/dist/cjs/certs/Serasa_CD_SSL_v5.crt +0 -47
- package/dist/cjs/certs/Serasa_CD_v5.crt +0 -56
- package/dist/cjs/certs/Serasa_Certificadora_Digital_v2.crt +0 -62
- package/dist/cjs/certs/ac_certfacil_v5.crt +0 -40
- package/dist/cjs/certs/ac_certifica_anapolis_v5.crt +0 -40
- package/dist/cjs/certs/ac_mult_v5.crt +0 -40
- package/dist/cjs/certs/ac_soluti_spb_v5.crt +0 -37
- package/dist/cjs/classes/Environment.d.ts +0 -23
- package/dist/cjs/classes/NFeWizard.d.ts +0 -76
- package/dist/cjs/classes/XmlBuilder.d.ts +0 -31
- package/dist/cjs/controllers/DFe/NFe/BaseNFe/BaseNFe.d.ts +0 -45
- package/dist/cjs/controllers/DFe/NFe/NFCEAutorizacao/NFCEAutorizacao.d.ts +0 -38
- package/dist/cjs/controllers/DFe/NFe/NFCEAutorizacao/NFERetornoAutorizacao.d.ts +0 -60
- package/dist/cjs/controllers/DFe/NFe/NFCEAutorizacao/util/NFCEQRCode.d.ts +0 -3
- package/dist/cjs/controllers/DFe/NFe/NFCEAutorizacao/util/NFEAutorizacaoHandler.d.ts +0 -25
- package/dist/cjs/controllers/DFe/NFe/NFEAutorizacao/NFEAutorizacao.d.ts +0 -37
- package/dist/cjs/controllers/DFe/NFe/NFEAutorizacao/NFERetornoAutorizacao.d.ts +0 -60
- package/dist/cjs/controllers/DFe/NFe/NFEAutorizacao/util/NFEAutorizacaoHandler.d.ts +0 -25
- package/dist/cjs/controllers/DFe/NFe/NFEConsultaProtocolo/NFEconsultaProtocolo.d.ts +0 -16
- package/dist/cjs/controllers/DFe/NFe/NFEDistribuicaoDFe/NFEDistribuicaoDFe.d.ts +0 -26
- package/dist/cjs/controllers/DFe/NFe/NFEDistribuicaoDFe/NFEDistribuicaoDFePorChave.d.ts +0 -9
- package/dist/cjs/controllers/DFe/NFe/NFEDistribuicaoDFe/NFEDistribuicaoDFePorNSU.d.ts +0 -9
- package/dist/cjs/controllers/DFe/NFe/NFEDistribuicaoDFe/NFEDistribuicaoDFePorUltNSU.d.ts +0 -9
- package/dist/cjs/controllers/DFe/NFe/NFEDistribuicaoDFe/util/DistribuicaoHandler.d.ts +0 -22
- package/dist/cjs/controllers/DFe/NFe/NFEInutilizacao/NFEInutilizacao.d.ts +0 -19
- package/dist/cjs/controllers/DFe/NFe/NFERecepcaoEvento/NFECancelamento.d.ts +0 -9
- package/dist/cjs/controllers/DFe/NFe/NFERecepcaoEvento/NFECartaDeCorrecao.d.ts +0 -9
- package/dist/cjs/controllers/DFe/NFe/NFERecepcaoEvento/NFECienciaDaOperacao.d.ts +0 -9
- package/dist/cjs/controllers/DFe/NFe/NFERecepcaoEvento/NFEConfirmacaoDaOperacao.d.ts +0 -9
- package/dist/cjs/controllers/DFe/NFe/NFERecepcaoEvento/NFEDesconhecimentoDaOperacao.d.ts +0 -9
- package/dist/cjs/controllers/DFe/NFe/NFERecepcaoEvento/NFEEpec.d.ts +0 -9
- package/dist/cjs/controllers/DFe/NFe/NFERecepcaoEvento/NFEOperacaoNaoRealizada.d.ts +0 -9
- package/dist/cjs/controllers/DFe/NFe/NFERecepcaoEvento/NFERecepcaoEvento.d.ts +0 -48
- package/dist/cjs/controllers/DFe/NFe/NFEStatusServico/NFEStatusServico.d.ts +0 -16
- package/dist/cjs/controllers/Danfe/NFCEGerarDanfe.d.ts +0 -46
- package/dist/cjs/controllers/Danfe/NFEGerarDanfe.d.ts +0 -40
- package/dist/cjs/controllers/Email/MailController.d.ts +0 -10
- package/dist/cjs/exemplos/metodos/EX_Autorizacao.d.ts +0 -1
- package/dist/cjs/exemplos/metodos/EX_ConsultaProtocolo.d.ts +0 -1
- package/dist/cjs/exemplos/metodos/EX_DistribuicaoDFe.d.ts +0 -1
- package/dist/cjs/exemplos/metodos/EX_RecepcaoEvento.d.ts +0 -1
- package/dist/cjs/exemplos/metodos/EX_StatusServico.d.ts +0 -1
- package/dist/cjs/index.d.ts +0 -4
- package/dist/cjs/index.js +0 -8
- package/dist/cjs/index.js.map +0 -1
- package/dist/cjs/protocols/Classes/NFEDanfeGenerator/index.d.ts +0 -28
- package/dist/cjs/protocols/Classes/NFeWizard/index.d.ts +0 -172
- package/dist/cjs/protocols/Classes/index.d.ts +0 -2
- package/dist/cjs/protocols/Controllers/DFe/NFe/NFEAutorizacao/index.d.ts +0 -4425
- package/dist/cjs/protocols/Controllers/DFe/NFe/NFEDistribuicaoDFe/index.d.ts +0 -70
- package/dist/cjs/protocols/Controllers/DFe/NFe/NFEInutilizacao/index.d.ts +0 -10
- package/dist/cjs/protocols/Controllers/DFe/NFe/NFERecepcaoEvento/index.d.ts +0 -543
- package/dist/cjs/protocols/Controllers/DFe/NFe/index.d.ts +0 -4
- package/dist/cjs/protocols/Controllers/DFe/index.d.ts +0 -1
- package/dist/cjs/protocols/Controllers/Email/index.d.ts +0 -65
- package/dist/cjs/protocols/Controllers/index.d.ts +0 -2
- package/dist/cjs/protocols/Utils/index.d.ts +0 -29
- package/dist/cjs/protocols/index.d.ts +0 -3
- package/dist/cjs/schemas/110150_v1.00.xsd +0 -88
- package/dist/cjs/schemas/Averb_v1.00.xsd +0 -11
- package/dist/cjs/schemas/CCe_v1.00.xsd +0 -11
- package/dist/cjs/schemas/EPEC_v1.00.xsd +0 -9
- package/dist/cjs/schemas/EPP1.xml +0 -13
- package/dist/cjs/schemas/ERP1.xml +0 -19
- package/dist/cjs/schemas/EventoCancEntregaNFe_v1.00.xsd +0 -9
- package/dist/cjs/schemas/EventoEntregaNFe_v1.00.xsd +0 -9
- package/dist/cjs/schemas/SuframaInternaliza_v1.00.xsd +0 -9
- package/dist/cjs/schemas/SuframaInternaliza_v1.00.xsd:Zone.Identifier +0 -0
- package/dist/cjs/schemas/SuframaVistoria_v1.00.xsd +0 -9
- package/dist/cjs/schemas/SuframaVistoria_v1.00.xsd:Zone.Identifier +0 -0
- package/dist/cjs/schemas/confRecebto_v1.00.xsd +0 -9
- package/dist/cjs/schemas/consCad_v2.00.xsd +0 -9
- package/dist/cjs/schemas/consGTIN_v1.00.xsd +0 -10
- package/dist/cjs/schemas/consReciNFe_v4.00.xsd +0 -9
- package/dist/cjs/schemas/consSitNFe_v2.01.xsd +0 -10
- package/dist/cjs/schemas/consSitNFe_v4.00.xsd +0 -9
- package/dist/cjs/schemas/consStatServ_v4.00.xsd +0 -9
- package/dist/cjs/schemas/distDFeInt_v1.01.xsd +0 -94
- package/dist/cjs/schemas/e110110_v1.00.xsd +0 -58
- package/dist/cjs/schemas/e110111_v1.00.xsd +0 -42
- package/dist/cjs/schemas/e110112_v1.00.xsd +0 -69
- package/dist/cjs/schemas/e110130_v1.00.xsd +0 -102
- package/dist/cjs/schemas/e110131_v1.00.xsd +0 -51
- package/dist/cjs/schemas/e110140_v1.00.xsd +0 -124
- package/dist/cjs/schemas/e111500_v1.00.xsd +0 -69
- package/dist/cjs/schemas/e111501_v1.00.xsd +0 -69
- package/dist/cjs/schemas/e111502_v1.00.xsd +0 -50
- package/dist/cjs/schemas/e111503_v1.00.xsd +0 -50
- package/dist/cjs/schemas/e210200_v1.00.xsd +0 -32
- package/dist/cjs/schemas/e210210_v1.00.xsd +0 -32
- package/dist/cjs/schemas/e210220_v1.00.xsd +0 -45
- package/dist/cjs/schemas/e210240_v1.00.xsd +0 -44
- package/dist/cjs/schemas/e411500_v1.00.xsd +0 -134
- package/dist/cjs/schemas/e411501_v1.00.xsd +0 -134
- package/dist/cjs/schemas/e411502_v1.00.xsd +0 -95
- package/dist/cjs/schemas/e411503_v1.00.xsd +0 -95
- package/dist/cjs/schemas/e790700_v1.00.xsd +0 -125
- package/dist/cjs/schemas/e990900_v1.00.xsd +0 -87
- package/dist/cjs/schemas/e990910_v1.00.xsd +0 -81
- package/dist/cjs/schemas/envAverb_v1.00.xsd +0 -9
- package/dist/cjs/schemas/envCCe_v1.00.xsd +0 -10
- package/dist/cjs/schemas/envConfRecebto_v1.00.xsd +0 -9
- package/dist/cjs/schemas/envEPEC_v1.00.xsd +0 -9
- package/dist/cjs/schemas/envEventoAtorInteressado_v1.00.xsd +0 -9
- package/dist/cjs/schemas/envEventoCancEntregaNFe_v1.00.xsd +0 -10
- package/dist/cjs/schemas/envEventoCancNFe_v1.00.xsd +0 -9
- package/dist/cjs/schemas/envEventoCancSubst_v1.00.xsd +0 -9
- package/dist/cjs/schemas/envEventoEntregaNFe_v1.00.xsd +0 -10
- package/dist/cjs/schemas/envEvento_v1.00.xsd +0 -9
- package/dist/cjs/schemas/envRemIndus_v1.00.xsd +0 -9
- package/dist/cjs/schemas/envSuframaInternaliza_v1.00.xsd +0 -10
- package/dist/cjs/schemas/envSuframaVistoria_v1.00.xsd +0 -10
- package/dist/cjs/schemas/enviNFe_v4.00.xsd +0 -9
- package/dist/cjs/schemas/eventoAtorInteressado_v1.00.xsd +0 -9
- package/dist/cjs/schemas/eventoCancNFe_v1.00.xsd +0 -9
- package/dist/cjs/schemas/eventoCancSubst_v1.00.xsd +0 -9
- package/dist/cjs/schemas/eventoEPEC_v0.01.xsd +0 -267
- package/dist/cjs/schemas/eventoRemIndus_v1.00.xsd +0 -9
- package/dist/cjs/schemas/inutNFe_v4.00.xsd +0 -9
- package/dist/cjs/schemas/leiauteAverb_v1.00.xsd +0 -482
- package/dist/cjs/schemas/leiauteCCe_v1.00.xsd +0 -418
- package/dist/cjs/schemas/leiauteCcgConsGTIN_v1.00.xsd +0 -94
- package/dist/cjs/schemas/leiauteConfRecebto_v1.00.xsd +0 -406
- package/dist/cjs/schemas/leiauteConsSitNFe_v2.01.xsd +0 -548
- package/dist/cjs/schemas/leiauteConsSitNFe_v4.00.xsd +0 -502
- package/dist/cjs/schemas/leiauteConsStatServ_v4.00.xsd +0 -98
- package/dist/cjs/schemas/leiauteConsultaCadastro_v2.00.xsd +0 -404
- package/dist/cjs/schemas/leiauteEPEC_v1.00.xsd +0 -459
- package/dist/cjs/schemas/leiauteEPEC_v1.00.xsd.bak +0 -465
- package/dist/cjs/schemas/leiauteEventoAtorInteressado_v1.00.xsd +0 -384
- package/dist/cjs/schemas/leiauteEventoCancEntregaNFe_v1.00.xsd +0 -307
- package/dist/cjs/schemas/leiauteEventoCancNFe_v1.00.xsd +0 -394
- package/dist/cjs/schemas/leiauteEventoCancSubst_v1.00.xsd +0 -366
- package/dist/cjs/schemas/leiauteEventoEntregaNFe_v1.00.xsd +0 -321
- package/dist/cjs/schemas/leiauteEvento_v1.00.xsd +0 -373
- package/dist/cjs/schemas/leiauteInutNFe_v4.00.xsd +0 -193
- package/dist/cjs/schemas/leiauteNFe_v4.00.xsd +0 -7412
- package/dist/cjs/schemas/leiauteRemIndus_v1.00.xsd +0 -382
- package/dist/cjs/schemas/leiauteSuframaInternaliza_v1.00.xsd +0 -642
- package/dist/cjs/schemas/leiauteSuframaVistoria_v1.00.xsd +0 -648
- package/dist/cjs/schemas/nfe_v4.00.xsd +0 -9
- package/dist/cjs/schemas/procAverbNFe_v1.00.xsd +0 -10
- package/dist/cjs/schemas/procCCeNFe_v1.00.xsd +0 -10
- package/dist/cjs/schemas/procConfRecebtoNFe_v1.00.xsd +0 -9
- package/dist/cjs/schemas/procEPEC_v1.00.xsd +0 -9
- package/dist/cjs/schemas/procEventoAtorInteressado_v1.00.xsd +0 -9
- package/dist/cjs/schemas/procEventoCancEntregaNFe_v1.00.xsd +0 -9
- package/dist/cjs/schemas/procEventoCancNFe_v1.00.xsd +0 -9
- package/dist/cjs/schemas/procEventoCancSubst_v1.00.xsd +0 -9
- package/dist/cjs/schemas/procEventoEntregaNFe_v1.00.xsd +0 -9
- package/dist/cjs/schemas/procEventoEntregaNFe_v1.00.xsd:Zone.Identifier +0 -0
- package/dist/cjs/schemas/procEventoNFe_v1.00.xsd +0 -9
- package/dist/cjs/schemas/procEventoNFe_v1.00.xsd:Zone.Identifier +0 -0
- package/dist/cjs/schemas/procInutNFe_v4.00.xsd +0 -9
- package/dist/cjs/schemas/procNFe_v4.00.xsd +0 -9
- package/dist/cjs/schemas/procRemIndus_v1.00.xsd +0 -9
- package/dist/cjs/schemas/procRemIndus_v1.00.xsd:Zone.Identifier +0 -0
- package/dist/cjs/schemas/resEvento_v1.01.xsd +0 -1
- package/dist/cjs/schemas/resEvento_v1.01.xsd:Zone.Identifier +0 -0
- package/dist/cjs/schemas/resNFe_v1.01.xsd +0 -5
- package/dist/cjs/schemas/resNFe_v1.01.xsd:Zone.Identifier +0 -0
- package/dist/cjs/schemas/retConsCad_v2.00.xsd +0 -9
- package/dist/cjs/schemas/retConsCad_v2.00.xsd:Zone.Identifier +0 -0
- package/dist/cjs/schemas/retConsGTIN_v1.00.xsd +0 -9
- package/dist/cjs/schemas/retConsGTIN_v1.00.xsd:Zone.Identifier +0 -0
- package/dist/cjs/schemas/retConsReciNFe_v4.00.xsd +0 -9
- package/dist/cjs/schemas/retConsSitNFe_v2.01.xsd +0 -10
- package/dist/cjs/schemas/retConsSitNFe_v2.01.xsd:Zone.Identifier +0 -0
- package/dist/cjs/schemas/retConsSitNFe_v4.00.xsd +0 -9
- package/dist/cjs/schemas/retConsStatServ_v4.00.xsd +0 -9
- package/dist/cjs/schemas/retDistDFeInt_v1.01.xsd +0 -5
- package/dist/cjs/schemas/retDistDFeInt_v1.01.xsd:Zone.Identifier +0 -0
- package/dist/cjs/schemas/retEnvAverb_v1.00.xsd +0 -9
- package/dist/cjs/schemas/retEnvAverb_v1.00.xsd:Zone.Identifier +0 -0
- package/dist/cjs/schemas/retEnvCCe_v1.00.xsd +0 -10
- package/dist/cjs/schemas/retEnvCCe_v1.00.xsd:Zone.Identifier +0 -0
- package/dist/cjs/schemas/retEnvConfRecebto_v1.00.xsd +0 -9
- package/dist/cjs/schemas/retEnvConfRecebto_v1.00.xsd:Zone.Identifier +0 -0
- package/dist/cjs/schemas/retEnvEPEC_v1.00.xsd +0 -9
- package/dist/cjs/schemas/retEnvEPEC_v1.00.xsd:Zone.Identifier +0 -0
- package/dist/cjs/schemas/retEnvEventoAtorInteressado_v1.00.xsd +0 -9
- package/dist/cjs/schemas/retEnvEventoAtorInteressado_v1.00.xsd:Zone.Identifier +0 -0
- package/dist/cjs/schemas/retEnvEventoCancNFe_v1.00.xsd +0 -9
- package/dist/cjs/schemas/retEnvEventoCancNFe_v1.00.xsd:Zone.Identifier +0 -0
- package/dist/cjs/schemas/retEnvEventoCancSubst_v1.00.xsd +0 -9
- package/dist/cjs/schemas/retEnvEventoCancSubst_v1.00.xsd:Zone.Identifier +0 -0
- package/dist/cjs/schemas/retEnvEvento_v1.00.xsd +0 -9
- package/dist/cjs/schemas/retEnvEvento_v1.00.xsd:Zone.Identifier +0 -0
- package/dist/cjs/schemas/retEnvRemIndus_v1.00.xsd +0 -9
- package/dist/cjs/schemas/retEnvRemIndus_v1.00.xsd:Zone.Identifier +0 -0
- package/dist/cjs/schemas/retEnvSuframaInternaliza_v1.00.xsd +0 -9
- package/dist/cjs/schemas/retEnvSuframaInternaliza_v1.00.xsd:Zone.Identifier +0 -0
- package/dist/cjs/schemas/retEnvSuframaVistoria_v1.00.xsd +0 -9
- package/dist/cjs/schemas/retEnvSuframaVistoria_v1.00.xsd:Zone.Identifier +0 -0
- package/dist/cjs/schemas/retEnviNFe_v4.00.xsd +0 -9
- package/dist/cjs/schemas/retEventoCancEntregaNFe_v1.00.xsd +0 -9
- package/dist/cjs/schemas/retEventoCancEntregaNFe_v1.00.xsd:Zone.Identifier +0 -0
- package/dist/cjs/schemas/retEventoEPEC_v0.01.xsd +0 -207
- package/dist/cjs/schemas/retEventoEPEC_v0.01.xsd:Zone.Identifier +0 -0
- package/dist/cjs/schemas/retEventoEntregaNFe_v1.00.xsd +0 -9
- package/dist/cjs/schemas/retEventoEntregaNFe_v1.00.xsd:Zone.Identifier +0 -0
- package/dist/cjs/schemas/retInutNFe_v4.00.xsd +0 -9
- package/dist/cjs/schemas/tiposBasico_v1.03.xsd +0 -785
- package/dist/cjs/schemas/tiposBasico_v1.03.xsd:Zone.Identifier +0 -0
- package/dist/cjs/schemas/tiposBasico_v3.10.xsd +0 -833
- package/dist/cjs/schemas/tiposBasico_v3.10.xsd:Zone.Identifier +0 -0
- package/dist/cjs/schemas/tiposBasico_v4.00.xsd +0 -598
- package/dist/cjs/schemas/tiposBasicosCcgConsGTIN_v1.00.xsd +0 -84
- package/dist/cjs/schemas/tiposBasicosCcgConsGTIN_v1.00.xsd:Zone.Identifier +0 -0
- package/dist/cjs/schemas/tiposDistDFe_v1.01.xsd +0 -1
- package/dist/cjs/schemas/tiposDistDFe_v1.01.xsd:Zone.Identifier +0 -0
- package/dist/cjs/schemas/xmldsig-core-schema_v1.01.xsd +0 -98
- package/dist/cjs/testes.d.ts +0 -1
- package/dist/cjs/utils/NFEImposto.d.ts +0 -4
- package/dist/cjs/utils/Utility.d.ts +0 -68
- package/dist/cjs/utils/ValidaCPFCNPJ.d.ts +0 -31
- package/dist/cjs/utils/getCodIBGE.d.ts +0 -1
- package/dist/cjs/utils/getDesTipoPag.d.ts +0 -1
- package/dist/cjs/utils/getSchema.d.ts +0 -4
- package/dist/cjs/utils/xml2json.d.ts +0 -18
package/dist/cjs/index.js
DELETED
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var require$$1=require("string_decoder"),require$$0$2=require("events"),require$$4=require("timers"),fs=require("fs"),xsdValidator=require("xsd-schema-validator"),path=require("path"),require$$0$3=require("url"),libxmljs=require("libxmljs"),pem$1=require("pem"),https=require("https"),require$$0$4=require("crypto"),require$$0$6=require("util"),require$$0$5=require("stream"),require$$3=require("http"),require$$4$1=require("assert"),require$$1$1=require("tty"),require$$0$7=require("os"),zlib=require("zlib"),bwipjs=require("bwip-js"),PDFDocument=require("pdfkit"),require$$7=require("net"),require$$4$2=require("dns"),require$$1$2=require("tls"),require$$0$8=require("child_process"),require$$3$1=require("buffer");function _interopDefaultLegacy(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var require$$1__default=_interopDefaultLegacy(require$$1),require$$0__default=_interopDefaultLegacy(require$$0$2),require$$4__default=_interopDefaultLegacy(require$$4),fs__default=_interopDefaultLegacy(fs),xsdValidator__default=_interopDefaultLegacy(xsdValidator),path__default=_interopDefaultLegacy(path),require$$0__default$4=_interopDefaultLegacy(require$$0$3),libxmljs__default=_interopDefaultLegacy(libxmljs),pem__default=_interopDefaultLegacy(pem$1),https__default=_interopDefaultLegacy(https),require$$0__default$1=_interopDefaultLegacy(require$$0$4),require$$0__default$3=_interopDefaultLegacy(require$$0$6),require$$0__default$2=_interopDefaultLegacy(require$$0$5),require$$3__default=_interopDefaultLegacy(require$$3),require$$4__default$1=_interopDefaultLegacy(require$$4$1),require$$1__default$1=_interopDefaultLegacy(require$$1$1),require$$0__default$5=_interopDefaultLegacy(require$$0$7),zlib__default=_interopDefaultLegacy(zlib),bwipjs__default=_interopDefaultLegacy(bwipjs),PDFDocument__default=_interopDefaultLegacy(PDFDocument),require$$7__default=_interopDefaultLegacy(require$$7),require$$4__default$2=_interopDefaultLegacy(require$$4$2),require$$1__default$2=_interopDefaultLegacy(require$$1$2),require$$0__default$6=_interopDefaultLegacy(require$$0$8),require$$3__default$1=_interopDefaultLegacy(require$$3$1),commonjsGlobal="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function getDefaultExportFromCjs(x){return x&&x.__esModule&&Object.prototype.hasOwnProperty.call(x,"default")?x.default:x}var hasRequiredSax$1,arrayHelper,hasRequiredArrayHelper,optionsHelper,hasRequiredOptionsHelper,xml2js$2,hasRequiredXml2js$1,xml2json,hasRequiredXml2json,js2xml,hasRequiredJs2xml,json2xml,hasRequiredJson2xml,lib$5,hasRequiredLib$5,sax$1={};function requireSax$1(){return hasRequiredSax$1||(hasRequiredSax$1=1,function(sax){sax.parser=function(strict,opt){return new SAXParser(strict,opt)},sax.SAXParser=SAXParser,sax.SAXStream=SAXStream,sax.createStream=function createStream(strict,opt){return new SAXStream(strict,opt)},sax.MAX_BUFFER_LENGTH=65536;var Stream,buffers=["comment","sgmlDecl","textNode","tagName","doctype","procInstName","procInstBody","entity","attribName","attribValue","cdata","script"];function SAXParser(strict,opt){if(!(this instanceof SAXParser))return new SAXParser(strict,opt);!function clearBuffers(parser){for(var i=0,l=buffers.length;i<l;i++)parser[buffers[i]]=""}(this),this.q=this.c="",this.bufferCheckPosition=sax.MAX_BUFFER_LENGTH,this.opt=opt||{},this.opt.lowercase=this.opt.lowercase||this.opt.lowercasetags,this.looseCase=this.opt.lowercase?"toLowerCase":"toUpperCase",this.tags=[],this.closed=this.closedRoot=this.sawRoot=!1,this.tag=this.error=null,this.strict=!!strict,this.noscript=!(!strict&&!this.opt.noscript),this.state=S.BEGIN,this.strictEntities=this.opt.strictEntities,this.ENTITIES=this.strictEntities?Object.create(sax.XML_ENTITIES):Object.create(sax.ENTITIES),this.attribList=[],this.opt.xmlns&&(this.ns=Object.create(rootNS)),void 0===this.opt.unquotedAttributeValues&&(this.opt.unquotedAttributeValues=!strict),this.trackPosition=!1!==this.opt.position,this.trackPosition&&(this.position=this.line=this.column=0),emit(this,"onready")}sax.EVENTS=["text","processinginstruction","sgmldeclaration","doctype","comment","opentagstart","attribute","opentag","closetag","opencdata","cdata","closecdata","error","end","ready","script","opennamespace","closenamespace"],Object.create||(Object.create=function(o){function F(){}return F.prototype=o,new F}),Object.keys||(Object.keys=function(o){var a=[];for(var i in o)o.hasOwnProperty(i)&&a.push(i);return a}),SAXParser.prototype={end:function(){end(this)},write:function write(chunk){if(this.error)throw this.error;if(this.closed)return error(this,"Cannot write after close. Assign an onready handler.");if(null===chunk)return end(this);"object"==typeof chunk&&(chunk=chunk.toString());for(var i=0,c="";c=charAt(chunk,i++),this.c=c,c;)switch(this.trackPosition&&(this.position++,"\n"===c?(this.line++,this.column=0):this.column++),this.state){case S.BEGIN:if(this.state=S.BEGIN_WHITESPACE,"\ufeff"===c)continue;beginWhiteSpace(this,c);continue;case S.BEGIN_WHITESPACE:beginWhiteSpace(this,c);continue;case S.TEXT:if(this.sawRoot&&!this.closedRoot){for(var starti=i-1;c&&"<"!==c&&"&"!==c;)(c=charAt(chunk,i++))&&this.trackPosition&&(this.position++,"\n"===c?(this.line++,this.column=0):this.column++);this.textNode+=chunk.substring(starti,i-1)}"<"!==c||this.sawRoot&&this.closedRoot&&!this.strict?(isWhitespace(c)||this.sawRoot&&!this.closedRoot||strictFail(this,"Text data outside of root node."),"&"===c?this.state=S.TEXT_ENTITY:this.textNode+=c):(this.state=S.OPEN_WAKA,this.startTagPosition=this.position);continue;case S.SCRIPT:"<"===c?this.state=S.SCRIPT_ENDING:this.script+=c;continue;case S.SCRIPT_ENDING:"/"===c?this.state=S.CLOSE_TAG:(this.script+="<"+c,this.state=S.SCRIPT);continue;case S.OPEN_WAKA:if("!"===c)this.state=S.SGML_DECL,this.sgmlDecl="";else if(isWhitespace(c));else if(isMatch(nameStart,c))this.state=S.OPEN_TAG,this.tagName=c;else if("/"===c)this.state=S.CLOSE_TAG,this.tagName="";else if("?"===c)this.state=S.PROC_INST,this.procInstName=this.procInstBody="";else{if(strictFail(this,"Unencoded <"),this.startTagPosition+1<this.position){var pad=this.position-this.startTagPosition;c=new Array(pad).join(" ")+c}this.textNode+="<"+c,this.state=S.TEXT}continue;case S.SGML_DECL:if(this.sgmlDecl+c==="--"){this.state=S.COMMENT,this.comment="",this.sgmlDecl="";continue}this.doctype&&!0!==this.doctype&&this.sgmlDecl?(this.state=S.DOCTYPE_DTD,this.doctype+="<!"+this.sgmlDecl+c,this.sgmlDecl=""):(this.sgmlDecl+c).toUpperCase()===CDATA?(emitNode(this,"onopencdata"),this.state=S.CDATA,this.sgmlDecl="",this.cdata=""):(this.sgmlDecl+c).toUpperCase()===DOCTYPE?(this.state=S.DOCTYPE,(this.doctype||this.sawRoot)&&strictFail(this,"Inappropriately located doctype declaration"),this.doctype="",this.sgmlDecl=""):">"===c?(emitNode(this,"onsgmldeclaration",this.sgmlDecl),this.sgmlDecl="",this.state=S.TEXT):isQuote(c)?(this.state=S.SGML_DECL_QUOTED,this.sgmlDecl+=c):this.sgmlDecl+=c;continue;case S.SGML_DECL_QUOTED:c===this.q&&(this.state=S.SGML_DECL,this.q=""),this.sgmlDecl+=c;continue;case S.DOCTYPE:">"===c?(this.state=S.TEXT,emitNode(this,"ondoctype",this.doctype),this.doctype=!0):(this.doctype+=c,"["===c?this.state=S.DOCTYPE_DTD:isQuote(c)&&(this.state=S.DOCTYPE_QUOTED,this.q=c));continue;case S.DOCTYPE_QUOTED:this.doctype+=c,c===this.q&&(this.q="",this.state=S.DOCTYPE);continue;case S.DOCTYPE_DTD:"]"===c?(this.doctype+=c,this.state=S.DOCTYPE):"<"===c?(this.state=S.OPEN_WAKA,this.startTagPosition=this.position):isQuote(c)?(this.doctype+=c,this.state=S.DOCTYPE_DTD_QUOTED,this.q=c):this.doctype+=c;continue;case S.DOCTYPE_DTD_QUOTED:this.doctype+=c,c===this.q&&(this.state=S.DOCTYPE_DTD,this.q="");continue;case S.COMMENT:"-"===c?this.state=S.COMMENT_ENDING:this.comment+=c;continue;case S.COMMENT_ENDING:"-"===c?(this.state=S.COMMENT_ENDED,this.comment=textopts(this.opt,this.comment),this.comment&&emitNode(this,"oncomment",this.comment),this.comment=""):(this.comment+="-"+c,this.state=S.COMMENT);continue;case S.COMMENT_ENDED:">"!==c?(strictFail(this,"Malformed comment"),this.comment+="--"+c,this.state=S.COMMENT):this.doctype&&!0!==this.doctype?this.state=S.DOCTYPE_DTD:this.state=S.TEXT;continue;case S.CDATA:"]"===c?this.state=S.CDATA_ENDING:this.cdata+=c;continue;case S.CDATA_ENDING:"]"===c?this.state=S.CDATA_ENDING_2:(this.cdata+="]"+c,this.state=S.CDATA);continue;case S.CDATA_ENDING_2:">"===c?(this.cdata&&emitNode(this,"oncdata",this.cdata),emitNode(this,"onclosecdata"),this.cdata="",this.state=S.TEXT):"]"===c?this.cdata+="]":(this.cdata+="]]"+c,this.state=S.CDATA);continue;case S.PROC_INST:"?"===c?this.state=S.PROC_INST_ENDING:isWhitespace(c)?this.state=S.PROC_INST_BODY:this.procInstName+=c;continue;case S.PROC_INST_BODY:if(!this.procInstBody&&isWhitespace(c))continue;"?"===c?this.state=S.PROC_INST_ENDING:this.procInstBody+=c;continue;case S.PROC_INST_ENDING:">"===c?(emitNode(this,"onprocessinginstruction",{name:this.procInstName,body:this.procInstBody}),this.procInstName=this.procInstBody="",this.state=S.TEXT):(this.procInstBody+="?"+c,this.state=S.PROC_INST_BODY);continue;case S.OPEN_TAG:isMatch(nameBody,c)?this.tagName+=c:(newTag(this),">"===c?openTag(this):"/"===c?this.state=S.OPEN_TAG_SLASH:(isWhitespace(c)||strictFail(this,"Invalid character in tag name"),this.state=S.ATTRIB));continue;case S.OPEN_TAG_SLASH:">"===c?(openTag(this,!0),closeTag(this)):(strictFail(this,"Forward-slash in opening tag not followed by >"),this.state=S.ATTRIB);continue;case S.ATTRIB:if(isWhitespace(c))continue;">"===c?openTag(this):"/"===c?this.state=S.OPEN_TAG_SLASH:isMatch(nameStart,c)?(this.attribName=c,this.attribValue="",this.state=S.ATTRIB_NAME):strictFail(this,"Invalid attribute name");continue;case S.ATTRIB_NAME:"="===c?this.state=S.ATTRIB_VALUE:">"===c?(strictFail(this,"Attribute without value"),this.attribValue=this.attribName,attrib(this),openTag(this)):isWhitespace(c)?this.state=S.ATTRIB_NAME_SAW_WHITE:isMatch(nameBody,c)?this.attribName+=c:strictFail(this,"Invalid attribute name");continue;case S.ATTRIB_NAME_SAW_WHITE:if("="===c)this.state=S.ATTRIB_VALUE;else{if(isWhitespace(c))continue;strictFail(this,"Attribute without value"),this.tag.attributes[this.attribName]="",this.attribValue="",emitNode(this,"onattribute",{name:this.attribName,value:""}),this.attribName="",">"===c?openTag(this):isMatch(nameStart,c)?(this.attribName=c,this.state=S.ATTRIB_NAME):(strictFail(this,"Invalid attribute name"),this.state=S.ATTRIB)}continue;case S.ATTRIB_VALUE:if(isWhitespace(c))continue;isQuote(c)?(this.q=c,this.state=S.ATTRIB_VALUE_QUOTED):(this.opt.unquotedAttributeValues||error(this,"Unquoted attribute value"),this.state=S.ATTRIB_VALUE_UNQUOTED,this.attribValue=c);continue;case S.ATTRIB_VALUE_QUOTED:if(c!==this.q){"&"===c?this.state=S.ATTRIB_VALUE_ENTITY_Q:this.attribValue+=c;continue}attrib(this),this.q="",this.state=S.ATTRIB_VALUE_CLOSED;continue;case S.ATTRIB_VALUE_CLOSED:isWhitespace(c)?this.state=S.ATTRIB:">"===c?openTag(this):"/"===c?this.state=S.OPEN_TAG_SLASH:isMatch(nameStart,c)?(strictFail(this,"No whitespace between attributes"),this.attribName=c,this.attribValue="",this.state=S.ATTRIB_NAME):strictFail(this,"Invalid attribute name");continue;case S.ATTRIB_VALUE_UNQUOTED:if(!isAttribEnd(c)){"&"===c?this.state=S.ATTRIB_VALUE_ENTITY_U:this.attribValue+=c;continue}attrib(this),">"===c?openTag(this):this.state=S.ATTRIB;continue;case S.CLOSE_TAG:if(this.tagName)">"===c?closeTag(this):isMatch(nameBody,c)?this.tagName+=c:this.script?(this.script+="</"+this.tagName,this.tagName="",this.state=S.SCRIPT):(isWhitespace(c)||strictFail(this,"Invalid tagname in closing tag"),this.state=S.CLOSE_TAG_SAW_WHITE);else{if(isWhitespace(c))continue;notMatch(nameStart,c)?this.script?(this.script+="</"+c,this.state=S.SCRIPT):strictFail(this,"Invalid tagname in closing tag."):this.tagName=c}continue;case S.CLOSE_TAG_SAW_WHITE:if(isWhitespace(c))continue;">"===c?closeTag(this):strictFail(this,"Invalid characters in closing tag");continue;case S.TEXT_ENTITY:case S.ATTRIB_VALUE_ENTITY_Q:case S.ATTRIB_VALUE_ENTITY_U:var returnState,buffer;switch(this.state){case S.TEXT_ENTITY:returnState=S.TEXT,buffer="textNode";break;case S.ATTRIB_VALUE_ENTITY_Q:returnState=S.ATTRIB_VALUE_QUOTED,buffer="attribValue";break;case S.ATTRIB_VALUE_ENTITY_U:returnState=S.ATTRIB_VALUE_UNQUOTED,buffer="attribValue"}if(";"===c){var parsedEntity=parseEntity(this);this.opt.unparsedEntities&&!Object.values(sax.XML_ENTITIES).includes(parsedEntity)?(this.entity="",this.state=returnState,this.write(parsedEntity)):(this[buffer]+=parsedEntity,this.entity="",this.state=returnState)}else isMatch(this.entity.length?entityBody:entityStart,c)?this.entity+=c:(strictFail(this,"Invalid character in entity name"),this[buffer]+="&"+this.entity+c,this.entity="",this.state=returnState);continue;default:throw new Error(this,"Unknown state: "+this.state)}return this.position>=this.bufferCheckPosition&&function checkBufferLength(parser){for(var maxAllowed=Math.max(sax.MAX_BUFFER_LENGTH,10),maxActual=0,i=0,l=buffers.length;i<l;i++){var len=parser[buffers[i]].length;if(len>maxAllowed)switch(buffers[i]){case"textNode":closeText(parser);break;case"cdata":emitNode(parser,"oncdata",parser.cdata),parser.cdata="";break;case"script":emitNode(parser,"onscript",parser.script),parser.script="";break;default:error(parser,"Max buffer length exceeded: "+buffers[i])}maxActual=Math.max(maxActual,len)}var m=sax.MAX_BUFFER_LENGTH-maxActual;parser.bufferCheckPosition=m+parser.position}(this),this}
|
|
2
|
-
/*! http://mths.be/fromcodepoint v0.1.0 by @mathias */,resume:function(){return this.error=null,this},close:function(){return this.write(null)},flush:function(){!function flushBuffers(parser){closeText(parser),""!==parser.cdata&&(emitNode(parser,"oncdata",parser.cdata),parser.cdata=""),""!==parser.script&&(emitNode(parser,"onscript",parser.script),parser.script="")}(this)}};try{Stream=require("stream").Stream}catch(ex){Stream=function(){}}Stream||(Stream=function(){});var streamWraps=sax.EVENTS.filter((function(ev){return"error"!==ev&&"end"!==ev}));function SAXStream(strict,opt){if(!(this instanceof SAXStream))return new SAXStream(strict,opt);Stream.apply(this),this._parser=new SAXParser(strict,opt),this.writable=!0,this.readable=!0;var me=this;this._parser.onend=function(){me.emit("end")},this._parser.onerror=function(er){me.emit("error",er),me._parser.error=null},this._decoder=null,streamWraps.forEach((function(ev){Object.defineProperty(me,"on"+ev,{get:function(){return me._parser["on"+ev]},set:function(h){if(!h)return me.removeAllListeners(ev),me._parser["on"+ev]=h,h;me.on(ev,h)},enumerable:!0,configurable:!1})}))}SAXStream.prototype=Object.create(Stream.prototype,{constructor:{value:SAXStream}}),SAXStream.prototype.write=function(data){if("function"==typeof Buffer&&"function"==typeof Buffer.isBuffer&&Buffer.isBuffer(data)){if(!this._decoder){var SD=require$$1__default.default.StringDecoder;this._decoder=new SD("utf8")}data=this._decoder.write(data)}return this._parser.write(data.toString()),this.emit("data",data),!0},SAXStream.prototype.end=function(chunk){return chunk&&chunk.length&&this.write(chunk),this._parser.end(),!0},SAXStream.prototype.on=function(ev,handler){var me=this;return me._parser["on"+ev]||-1===streamWraps.indexOf(ev)||(me._parser["on"+ev]=function(){var args=1===arguments.length?[arguments[0]]:Array.apply(null,arguments);args.splice(0,0,ev),me.emit.apply(me,args)}),Stream.prototype.on.call(me,ev,handler)};var CDATA="[CDATA[",DOCTYPE="DOCTYPE",XML_NAMESPACE="http://www.w3.org/XML/1998/namespace",XMLNS_NAMESPACE="http://www.w3.org/2000/xmlns/",rootNS={xml:XML_NAMESPACE,xmlns:XMLNS_NAMESPACE},nameStart=/[:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/,nameBody=/[:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u00B7\u0300-\u036F\u203F-\u2040.\d-]/,entityStart=/[#:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/,entityBody=/[#:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u00B7\u0300-\u036F\u203F-\u2040.\d-]/;function isWhitespace(c){return" "===c||"\n"===c||"\r"===c||"\t"===c}function isQuote(c){return'"'===c||"'"===c}function isAttribEnd(c){return">"===c||isWhitespace(c)}function isMatch(regex,c){return regex.test(c)}function notMatch(regex,c){return!isMatch(regex,c)}var stringFromCharCode,floor,fromCodePoint,S=0;for(var s in sax.STATE={BEGIN:S++,BEGIN_WHITESPACE:S++,TEXT:S++,TEXT_ENTITY:S++,OPEN_WAKA:S++,SGML_DECL:S++,SGML_DECL_QUOTED:S++,DOCTYPE:S++,DOCTYPE_QUOTED:S++,DOCTYPE_DTD:S++,DOCTYPE_DTD_QUOTED:S++,COMMENT_STARTING:S++,COMMENT:S++,COMMENT_ENDING:S++,COMMENT_ENDED:S++,CDATA:S++,CDATA_ENDING:S++,CDATA_ENDING_2:S++,PROC_INST:S++,PROC_INST_BODY:S++,PROC_INST_ENDING:S++,OPEN_TAG:S++,OPEN_TAG_SLASH:S++,ATTRIB:S++,ATTRIB_NAME:S++,ATTRIB_NAME_SAW_WHITE:S++,ATTRIB_VALUE:S++,ATTRIB_VALUE_QUOTED:S++,ATTRIB_VALUE_CLOSED:S++,ATTRIB_VALUE_UNQUOTED:S++,ATTRIB_VALUE_ENTITY_Q:S++,ATTRIB_VALUE_ENTITY_U:S++,CLOSE_TAG:S++,CLOSE_TAG_SAW_WHITE:S++,SCRIPT:S++,SCRIPT_ENDING:S++},sax.XML_ENTITIES={amp:"&",gt:">",lt:"<",quot:'"',apos:"'"},sax.ENTITIES={amp:"&",gt:">",lt:"<",quot:'"',apos:"'",AElig:198,Aacute:193,Acirc:194,Agrave:192,Aring:197,Atilde:195,Auml:196,Ccedil:199,ETH:208,Eacute:201,Ecirc:202,Egrave:200,Euml:203,Iacute:205,Icirc:206,Igrave:204,Iuml:207,Ntilde:209,Oacute:211,Ocirc:212,Ograve:210,Oslash:216,Otilde:213,Ouml:214,THORN:222,Uacute:218,Ucirc:219,Ugrave:217,Uuml:220,Yacute:221,aacute:225,acirc:226,aelig:230,agrave:224,aring:229,atilde:227,auml:228,ccedil:231,eacute:233,ecirc:234,egrave:232,eth:240,euml:235,iacute:237,icirc:238,igrave:236,iuml:239,ntilde:241,oacute:243,ocirc:244,ograve:242,oslash:248,otilde:245,ouml:246,szlig:223,thorn:254,uacute:250,ucirc:251,ugrave:249,uuml:252,yacute:253,yuml:255,copy:169,reg:174,nbsp:160,iexcl:161,cent:162,pound:163,curren:164,yen:165,brvbar:166,sect:167,uml:168,ordf:170,laquo:171,not:172,shy:173,macr:175,deg:176,plusmn:177,sup1:185,sup2:178,sup3:179,acute:180,micro:181,para:182,middot:183,cedil:184,ordm:186,raquo:187,frac14:188,frac12:189,frac34:190,iquest:191,times:215,divide:247,OElig:338,oelig:339,Scaron:352,scaron:353,Yuml:376,fnof:402,circ:710,tilde:732,Alpha:913,Beta:914,Gamma:915,Delta:916,Epsilon:917,Zeta:918,Eta:919,Theta:920,Iota:921,Kappa:922,Lambda:923,Mu:924,Nu:925,Xi:926,Omicron:927,Pi:928,Rho:929,Sigma:931,Tau:932,Upsilon:933,Phi:934,Chi:935,Psi:936,Omega:937,alpha:945,beta:946,gamma:947,delta:948,epsilon:949,zeta:950,eta:951,theta:952,iota:953,kappa:954,lambda:955,mu:956,nu:957,xi:958,omicron:959,pi:960,rho:961,sigmaf:962,sigma:963,tau:964,upsilon:965,phi:966,chi:967,psi:968,omega:969,thetasym:977,upsih:978,piv:982,ensp:8194,emsp:8195,thinsp:8201,zwnj:8204,zwj:8205,lrm:8206,rlm:8207,ndash:8211,mdash:8212,lsquo:8216,rsquo:8217,sbquo:8218,ldquo:8220,rdquo:8221,bdquo:8222,dagger:8224,Dagger:8225,bull:8226,hellip:8230,permil:8240,prime:8242,Prime:8243,lsaquo:8249,rsaquo:8250,oline:8254,frasl:8260,euro:8364,image:8465,weierp:8472,real:8476,trade:8482,alefsym:8501,larr:8592,uarr:8593,rarr:8594,darr:8595,harr:8596,crarr:8629,lArr:8656,uArr:8657,rArr:8658,dArr:8659,hArr:8660,forall:8704,part:8706,exist:8707,empty:8709,nabla:8711,isin:8712,notin:8713,ni:8715,prod:8719,sum:8721,minus:8722,lowast:8727,radic:8730,prop:8733,infin:8734,ang:8736,and:8743,or:8744,cap:8745,cup:8746,int:8747,there4:8756,sim:8764,cong:8773,asymp:8776,ne:8800,equiv:8801,le:8804,ge:8805,sub:8834,sup:8835,nsub:8836,sube:8838,supe:8839,oplus:8853,otimes:8855,perp:8869,sdot:8901,lceil:8968,rceil:8969,lfloor:8970,rfloor:8971,lang:9001,rang:9002,loz:9674,spades:9824,clubs:9827,hearts:9829,diams:9830},Object.keys(sax.ENTITIES).forEach((function(key){var e=sax.ENTITIES[key],s="number"==typeof e?String.fromCharCode(e):e;sax.ENTITIES[key]=s})),sax.STATE)sax.STATE[sax.STATE[s]]=s;function emit(parser,event,data){parser[event]&&parser[event](data)}function emitNode(parser,nodeType,data){parser.textNode&&closeText(parser),emit(parser,nodeType,data)}function closeText(parser){parser.textNode=textopts(parser.opt,parser.textNode),parser.textNode&&emit(parser,"ontext",parser.textNode),parser.textNode=""}function textopts(opt,text){return opt.trim&&(text=text.trim()),opt.normalize&&(text=text.replace(/\s+/g," ")),text}function error(parser,er){return closeText(parser),parser.trackPosition&&(er+="\nLine: "+parser.line+"\nColumn: "+parser.column+"\nChar: "+parser.c),er=new Error(er),parser.error=er,emit(parser,"onerror",er),parser}function end(parser){return parser.sawRoot&&!parser.closedRoot&&strictFail(parser,"Unclosed root tag"),parser.state!==S.BEGIN&&parser.state!==S.BEGIN_WHITESPACE&&parser.state!==S.TEXT&&error(parser,"Unexpected end"),closeText(parser),parser.c="",parser.closed=!0,emit(parser,"onend"),SAXParser.call(parser,parser.strict,parser.opt),parser}function strictFail(parser,message){if("object"!=typeof parser||!(parser instanceof SAXParser))throw new Error("bad call to strictFail");parser.strict&&error(parser,message)}function newTag(parser){parser.strict||(parser.tagName=parser.tagName[parser.looseCase]());var parent=parser.tags[parser.tags.length-1]||parser,tag=parser.tag={name:parser.tagName,attributes:{}};parser.opt.xmlns&&(tag.ns=parent.ns),parser.attribList.length=0,emitNode(parser,"onopentagstart",tag)}function qname(name,attribute){var qualName=name.indexOf(":")<0?["",name]:name.split(":"),prefix=qualName[0],local=qualName[1];return attribute&&"xmlns"===name&&(prefix="xmlns",local=""),{prefix:prefix,local:local}}function attrib(parser){if(parser.strict||(parser.attribName=parser.attribName[parser.looseCase]()),-1!==parser.attribList.indexOf(parser.attribName)||parser.tag.attributes.hasOwnProperty(parser.attribName))parser.attribName=parser.attribValue="";else{if(parser.opt.xmlns){var qn=qname(parser.attribName,!0),prefix=qn.prefix,local=qn.local;if("xmlns"===prefix)if("xml"===local&&parser.attribValue!==XML_NAMESPACE)strictFail(parser,"xml: prefix must be bound to "+XML_NAMESPACE+"\nActual: "+parser.attribValue);else if("xmlns"===local&&parser.attribValue!==XMLNS_NAMESPACE)strictFail(parser,"xmlns: prefix must be bound to "+XMLNS_NAMESPACE+"\nActual: "+parser.attribValue);else{var tag=parser.tag,parent=parser.tags[parser.tags.length-1]||parser;tag.ns===parent.ns&&(tag.ns=Object.create(parent.ns)),tag.ns[local]=parser.attribValue}parser.attribList.push([parser.attribName,parser.attribValue])}else parser.tag.attributes[parser.attribName]=parser.attribValue,emitNode(parser,"onattribute",{name:parser.attribName,value:parser.attribValue});parser.attribName=parser.attribValue=""}}function openTag(parser,selfClosing){if(parser.opt.xmlns){var tag=parser.tag,qn=qname(parser.tagName);tag.prefix=qn.prefix,tag.local=qn.local,tag.uri=tag.ns[qn.prefix]||"",tag.prefix&&!tag.uri&&(strictFail(parser,"Unbound namespace prefix: "+JSON.stringify(parser.tagName)),tag.uri=qn.prefix);var parent=parser.tags[parser.tags.length-1]||parser;tag.ns&&parent.ns!==tag.ns&&Object.keys(tag.ns).forEach((function(p){emitNode(parser,"onopennamespace",{prefix:p,uri:tag.ns[p]})}));for(var i=0,l=parser.attribList.length;i<l;i++){var nv=parser.attribList[i],name=nv[0],value=nv[1],qualName=qname(name,!0),prefix=qualName.prefix,local=qualName.local,uri=""===prefix?"":tag.ns[prefix]||"",a={name:name,value:value,prefix:prefix,local:local,uri:uri};prefix&&"xmlns"!==prefix&&!uri&&(strictFail(parser,"Unbound namespace prefix: "+JSON.stringify(prefix)),a.uri=prefix),parser.tag.attributes[name]=a,emitNode(parser,"onattribute",a)}parser.attribList.length=0}parser.tag.isSelfClosing=!!selfClosing,parser.sawRoot=!0,parser.tags.push(parser.tag),emitNode(parser,"onopentag",parser.tag),selfClosing||(parser.noscript||"script"!==parser.tagName.toLowerCase()?parser.state=S.TEXT:parser.state=S.SCRIPT,parser.tag=null,parser.tagName=""),parser.attribName=parser.attribValue="",parser.attribList.length=0}function closeTag(parser){if(!parser.tagName)return strictFail(parser,"Weird empty close tag."),parser.textNode+="</>",void(parser.state=S.TEXT);if(parser.script){if("script"!==parser.tagName)return parser.script+="</"+parser.tagName+">",parser.tagName="",void(parser.state=S.SCRIPT);emitNode(parser,"onscript",parser.script),parser.script=""}var t=parser.tags.length,tagName=parser.tagName;parser.strict||(tagName=tagName[parser.looseCase]());for(var closeTo=tagName;t--&&parser.tags[t].name!==closeTo;)strictFail(parser,"Unexpected close tag");if(t<0)return strictFail(parser,"Unmatched closing tag: "+parser.tagName),parser.textNode+="</"+parser.tagName+">",void(parser.state=S.TEXT);parser.tagName=tagName;for(var s=parser.tags.length;s-- >t;){var tag=parser.tag=parser.tags.pop();parser.tagName=parser.tag.name,emitNode(parser,"onclosetag",parser.tagName);var x={};for(var i in tag.ns)x[i]=tag.ns[i];var parent=parser.tags[parser.tags.length-1]||parser;parser.opt.xmlns&&tag.ns!==parent.ns&&Object.keys(tag.ns).forEach((function(p){var n=tag.ns[p];emitNode(parser,"onclosenamespace",{prefix:p,uri:n})}))}0===t&&(parser.closedRoot=!0),parser.tagName=parser.attribValue=parser.attribName="",parser.attribList.length=0,parser.state=S.TEXT}function parseEntity(parser){var num,entity=parser.entity,entityLC=entity.toLowerCase(),numStr="";return parser.ENTITIES[entity]?parser.ENTITIES[entity]:parser.ENTITIES[entityLC]?parser.ENTITIES[entityLC]:("#"===(entity=entityLC).charAt(0)&&("x"===entity.charAt(1)?(entity=entity.slice(2),numStr=(num=parseInt(entity,16)).toString(16)):(entity=entity.slice(1),numStr=(num=parseInt(entity,10)).toString(10))),entity=entity.replace(/^0+/,""),isNaN(num)||numStr.toLowerCase()!==entity?(strictFail(parser,"Invalid character entity"),"&"+parser.entity+";"):String.fromCodePoint(num))}function beginWhiteSpace(parser,c){"<"===c?(parser.state=S.OPEN_WAKA,parser.startTagPosition=parser.position):isWhitespace(c)||(strictFail(parser,"Non-whitespace before first tag."),parser.textNode=c,parser.state=S.TEXT)}function charAt(chunk,i){var result="";return i<chunk.length&&(result=chunk.charAt(i)),result}S=sax.STATE,String.fromCodePoint||(stringFromCharCode=String.fromCharCode,floor=Math.floor,fromCodePoint=function(){var highSurrogate,lowSurrogate,codeUnits=[],index=-1,length=arguments.length;if(!length)return"";for(var result="";++index<length;){var codePoint=Number(arguments[index]);if(!isFinite(codePoint)||codePoint<0||codePoint>1114111||floor(codePoint)!==codePoint)throw RangeError("Invalid code point: "+codePoint);codePoint<=65535?codeUnits.push(codePoint):(highSurrogate=55296+((codePoint-=65536)>>10),lowSurrogate=codePoint%1024+56320,codeUnits.push(highSurrogate,lowSurrogate)),(index+1===length||codeUnits.length>16384)&&(result+=stringFromCharCode.apply(null,codeUnits),codeUnits.length=0)}return result},Object.defineProperty?Object.defineProperty(String,"fromCodePoint",{value:fromCodePoint,configurable:!0,writable:!0}):String.fromCodePoint=fromCodePoint)}(sax$1)),sax$1}function requireArrayHelper(){return hasRequiredArrayHelper?arrayHelper:(hasRequiredArrayHelper=1,arrayHelper={isArray:function(value){return Array.isArray?Array.isArray(value):"[object Array]"===Object.prototype.toString.call(value)}})}function requireOptionsHelper(){if(hasRequiredOptionsHelper)return optionsHelper;hasRequiredOptionsHelper=1;var isArray=requireArrayHelper().isArray;return optionsHelper={copyOptions:function(options){var key,copy={};for(key in options)options.hasOwnProperty(key)&&(copy[key]=options[key]);return copy},ensureFlagExists:function(item,options){item in options&&"boolean"==typeof options[item]||(options[item]=!1)},ensureSpacesExists:function(options){(!("spaces"in options)||"number"!=typeof options.spaces&&"string"!=typeof options.spaces)&&(options.spaces=0)},ensureAlwaysArrayExists:function(options){"alwaysArray"in options&&("boolean"==typeof options.alwaysArray||isArray(options.alwaysArray))||(options.alwaysArray=!1)},ensureKeyExists:function(key,options){key+"Key"in options&&"string"==typeof options[key+"Key"]||(options[key+"Key"]=options.compact?"_"+key:key)},checkFnExists:function(key,options){return key+"Fn"in options}}}function requireXml2js$1(){if(hasRequiredXml2js$1)return xml2js$2;hasRequiredXml2js$1=1;var options,currentElement,sax=requireSax$1(),helper=requireOptionsHelper(),isArray=requireArrayHelper().isArray;function nativeType(value){var nValue=Number(value);if(!isNaN(nValue))return nValue;var bValue=value.toLowerCase();return"true"===bValue||"false"!==bValue&&value}function addField(type,value){var key;if(options.compact){if(!currentElement[options[type+"Key"]]&&(isArray(options.alwaysArray)?-1!==options.alwaysArray.indexOf(options[type+"Key"]):options.alwaysArray)&&(currentElement[options[type+"Key"]]=[]),currentElement[options[type+"Key"]]&&!isArray(currentElement[options[type+"Key"]])&&(currentElement[options[type+"Key"]]=[currentElement[options[type+"Key"]]]),type+"Fn"in options&&"string"==typeof value&&(value=options[type+"Fn"](value,currentElement)),"instruction"===type&&("instructionFn"in options||"instructionNameFn"in options))for(key in value)if(value.hasOwnProperty(key))if("instructionFn"in options)value[key]=options.instructionFn(value[key],key,currentElement);else{var temp=value[key];delete value[key],value[options.instructionNameFn(key,temp,currentElement)]=temp}isArray(currentElement[options[type+"Key"]])?currentElement[options[type+"Key"]].push(value):currentElement[options[type+"Key"]]=value}else{currentElement[options.elementsKey]||(currentElement[options.elementsKey]=[]);var element={};if(element[options.typeKey]=type,"instruction"===type){for(key in value)if(value.hasOwnProperty(key))break;element[options.nameKey]="instructionNameFn"in options?options.instructionNameFn(key,value,currentElement):key,options.instructionHasAttributes?(element[options.attributesKey]=value[key][options.attributesKey],"instructionFn"in options&&(element[options.attributesKey]=options.instructionFn(element[options.attributesKey],key,currentElement))):("instructionFn"in options&&(value[key]=options.instructionFn(value[key],key,currentElement)),element[options.instructionKey]=value[key])}else type+"Fn"in options&&(value=options[type+"Fn"](value,currentElement)),element[options[type+"Key"]]=value;options.addParent&&(element[options.parentKey]=currentElement),currentElement[options.elementsKey].push(element)}}function manipulateAttributes(attributes){var key;if("attributesFn"in options&&attributes&&(attributes=options.attributesFn(attributes,currentElement)),(options.trim||"attributeValueFn"in options||"attributeNameFn"in options||options.nativeTypeAttributes)&&attributes)for(key in attributes)if(attributes.hasOwnProperty(key)&&(options.trim&&(attributes[key]=attributes[key].trim()),options.nativeTypeAttributes&&(attributes[key]=nativeType(attributes[key])),"attributeValueFn"in options&&(attributes[key]=options.attributeValueFn(attributes[key],key,currentElement)),"attributeNameFn"in options)){var temp=attributes[key];delete attributes[key],attributes[options.attributeNameFn(key,attributes[key],currentElement)]=temp}return attributes}function onInstruction(instruction){var attributes={};if(instruction.body&&("xml"===instruction.name.toLowerCase()||options.instructionHasAttributes)){for(var match,attrsRegExp=/([\w:-]+)\s*=\s*(?:"([^"]*)"|'([^']*)'|(\w+))\s*/g;null!==(match=attrsRegExp.exec(instruction.body));)attributes[match[1]]=match[2]||match[3]||match[4];attributes=manipulateAttributes(attributes)}if("xml"===instruction.name.toLowerCase()){if(options.ignoreDeclaration)return;currentElement[options.declarationKey]={},Object.keys(attributes).length&&(currentElement[options.declarationKey][options.attributesKey]=attributes),options.addParent&&(currentElement[options.declarationKey][options.parentKey]=currentElement)}else{if(options.ignoreInstruction)return;options.trim&&(instruction.body=instruction.body.trim());var value={};options.instructionHasAttributes&&Object.keys(attributes).length?(value[instruction.name]={},value[instruction.name][options.attributesKey]=attributes):value[instruction.name]=instruction.body,addField("instruction",value)}}function onStartElement(name,attributes){var element;if("object"==typeof name&&(attributes=name.attributes,name=name.name),attributes=manipulateAttributes(attributes),"elementNameFn"in options&&(name=options.elementNameFn(name,currentElement)),options.compact){var key;if(element={},!options.ignoreAttributes&&attributes&&Object.keys(attributes).length)for(key in element[options.attributesKey]={},attributes)attributes.hasOwnProperty(key)&&(element[options.attributesKey][key]=attributes[key]);!(name in currentElement)&&(isArray(options.alwaysArray)?-1!==options.alwaysArray.indexOf(name):options.alwaysArray)&&(currentElement[name]=[]),currentElement[name]&&!isArray(currentElement[name])&&(currentElement[name]=[currentElement[name]]),isArray(currentElement[name])?currentElement[name].push(element):currentElement[name]=element}else currentElement[options.elementsKey]||(currentElement[options.elementsKey]=[]),(element={})[options.typeKey]="element",element[options.nameKey]=name,!options.ignoreAttributes&&attributes&&Object.keys(attributes).length&&(element[options.attributesKey]=attributes),options.alwaysChildren&&(element[options.elementsKey]=[]),currentElement[options.elementsKey].push(element);element[options.parentKey]=currentElement,currentElement=element}function onText(text){options.ignoreText||(text.trim()||options.captureSpacesBetweenElements)&&(options.trim&&(text=text.trim()),options.nativeType&&(text=nativeType(text)),options.sanitize&&(text=text.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">")),addField("text",text))}function onComment(comment){options.ignoreComment||(options.trim&&(comment=comment.trim()),addField("comment",comment))}function onEndElement(name){var parentElement=currentElement[options.parentKey];options.addParent||delete currentElement[options.parentKey],currentElement=parentElement}function onCdata(cdata){options.ignoreCdata||(options.trim&&(cdata=cdata.trim()),addField("cdata",cdata))}function onDoctype(doctype){options.ignoreDoctype||(doctype=doctype.replace(/^ /,""),options.trim&&(doctype=doctype.trim()),addField("doctype",doctype))}function onError(error){error.note=error}return xml2js$2=function(xml,userOptions){var parser=sax.parser(!0,{}),result={};if(currentElement=result,options=function validateOptions(userOptions){return options=helper.copyOptions(userOptions),helper.ensureFlagExists("ignoreDeclaration",options),helper.ensureFlagExists("ignoreInstruction",options),helper.ensureFlagExists("ignoreAttributes",options),helper.ensureFlagExists("ignoreText",options),helper.ensureFlagExists("ignoreComment",options),helper.ensureFlagExists("ignoreCdata",options),helper.ensureFlagExists("ignoreDoctype",options),helper.ensureFlagExists("compact",options),helper.ensureFlagExists("alwaysChildren",options),helper.ensureFlagExists("addParent",options),helper.ensureFlagExists("trim",options),helper.ensureFlagExists("nativeType",options),helper.ensureFlagExists("nativeTypeAttributes",options),helper.ensureFlagExists("sanitize",options),helper.ensureFlagExists("instructionHasAttributes",options),helper.ensureFlagExists("captureSpacesBetweenElements",options),helper.ensureAlwaysArrayExists(options),helper.ensureKeyExists("declaration",options),helper.ensureKeyExists("instruction",options),helper.ensureKeyExists("attributes",options),helper.ensureKeyExists("text",options),helper.ensureKeyExists("comment",options),helper.ensureKeyExists("cdata",options),helper.ensureKeyExists("doctype",options),helper.ensureKeyExists("type",options),helper.ensureKeyExists("name",options),helper.ensureKeyExists("elements",options),helper.ensureKeyExists("parent",options),helper.checkFnExists("doctype",options),helper.checkFnExists("instruction",options),helper.checkFnExists("cdata",options),helper.checkFnExists("comment",options),helper.checkFnExists("text",options),helper.checkFnExists("instructionName",options),helper.checkFnExists("elementName",options),helper.checkFnExists("attributeName",options),helper.checkFnExists("attributeValue",options),helper.checkFnExists("attributes",options),options}(userOptions),parser.opt={strictEntities:!0},parser.onopentag=onStartElement,parser.ontext=onText,parser.oncomment=onComment,parser.onclosetag=onEndElement,parser.onerror=onError,parser.oncdata=onCdata,parser.ondoctype=onDoctype,parser.onprocessinginstruction=onInstruction,parser.write(xml).close(),result[options.elementsKey]){var temp=result[options.elementsKey];delete result[options.elementsKey],result[options.elementsKey]=temp,delete result.text}return result},xml2js$2}function requireXml2json(){if(hasRequiredXml2json)return xml2json;hasRequiredXml2json=1;var helper=requireOptionsHelper(),xml2js=requireXml2js$1();return xml2json=function(xml,userOptions){var options,js,parentKey;return options=function validateOptions(userOptions){var options=helper.copyOptions(userOptions);return helper.ensureSpacesExists(options),options}(userOptions),js=xml2js(xml,options),parentKey="compact"in options&&options.compact?"_parent":"parent",("addParent"in options&&options.addParent?JSON.stringify(js,(function(k,v){return k===parentKey?"_":v}),options.spaces):JSON.stringify(js,null,options.spaces)).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}}function requireJs2xml(){if(hasRequiredJs2xml)return js2xml;hasRequiredJs2xml=1;var currentElement,currentElementName,helper=requireOptionsHelper(),isArray=requireArrayHelper().isArray;function writeIndentation(options,depth,firstLine){return(!firstLine&&options.spaces?"\n":"")+Array(depth+1).join(options.spaces)}function writeAttributes(attributes,options,depth){if(options.ignoreAttributes)return"";"attributesFn"in options&&(attributes=options.attributesFn(attributes,currentElementName,currentElement));var key,attr,attrName,quote,result=[];for(key in attributes)attributes.hasOwnProperty(key)&&null!==attributes[key]&&void 0!==attributes[key]&&(quote=options.noQuotesForNativeAttributes&&"string"!=typeof attributes[key]?"":'"',attr=(attr=""+attributes[key]).replace(/"/g,"""),attrName="attributeNameFn"in options?options.attributeNameFn(key,attr,currentElementName,currentElement):key,result.push(options.spaces&&options.indentAttributes?writeIndentation(options,depth+1,!1):" "),result.push(attrName+"="+quote+("attributeValueFn"in options?options.attributeValueFn(attr,key,currentElementName,currentElement):attr)+quote));return attributes&&Object.keys(attributes).length&&options.spaces&&options.indentAttributes&&result.push(writeIndentation(options,depth,!1)),result.join("")}function writeDeclaration(declaration,options,depth){return currentElement=declaration,currentElementName="xml",options.ignoreDeclaration?"":"<?xml"+writeAttributes(declaration[options.attributesKey],options,depth)+"?>"}function writeInstruction(instruction,options,depth){if(options.ignoreInstruction)return"";var key;for(key in instruction)if(instruction.hasOwnProperty(key))break;var instructionName="instructionNameFn"in options?options.instructionNameFn(key,instruction[key],currentElementName,currentElement):key;if("object"==typeof instruction[key])return currentElement=instruction,currentElementName=instructionName,"<?"+instructionName+writeAttributes(instruction[key][options.attributesKey],options,depth)+"?>";var instructionValue=instruction[key]?instruction[key]:"";return"instructionFn"in options&&(instructionValue=options.instructionFn(instructionValue,key,currentElementName,currentElement)),"<?"+instructionName+(instructionValue?" "+instructionValue:"")+"?>"}function writeComment(comment,options){return options.ignoreComment?"":"\x3c!--"+("commentFn"in options?options.commentFn(comment,currentElementName,currentElement):comment)+"--\x3e"}function writeCdata(cdata,options){return options.ignoreCdata?"":"<![CDATA["+("cdataFn"in options?options.cdataFn(cdata,currentElementName,currentElement):cdata.replace("]]>","]]]]><![CDATA[>"))+"]]>"}function writeDoctype(doctype,options){return options.ignoreDoctype?"":"<!DOCTYPE "+("doctypeFn"in options?options.doctypeFn(doctype,currentElementName,currentElement):doctype)+">"}function writeText(text,options){return options.ignoreText?"":(text=(text=(text=""+text).replace(/&/g,"&")).replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">"),"textFn"in options?options.textFn(text,currentElementName,currentElement):text)}function writeElements(elements,options,depth,firstLine){return elements.reduce((function(xml,element){var indent=writeIndentation(options,depth,firstLine&&!xml);switch(element.type){case"element":return xml+indent+function writeElement(element,options,depth){currentElement=element,currentElementName=element.name;var xml=[],elementName="elementNameFn"in options?options.elementNameFn(element.name,element):element.name;xml.push("<"+elementName),element[options.attributesKey]&&xml.push(writeAttributes(element[options.attributesKey],options,depth));var withClosingTag=element[options.elementsKey]&&element[options.elementsKey].length||element[options.attributesKey]&&"preserve"===element[options.attributesKey]["xml:space"];return withClosingTag||(withClosingTag="fullTagEmptyElementFn"in options?options.fullTagEmptyElementFn(element.name,element):options.fullTagEmptyElement),withClosingTag?(xml.push(">"),element[options.elementsKey]&&element[options.elementsKey].length&&(xml.push(writeElements(element[options.elementsKey],options,depth+1)),currentElement=element,currentElementName=element.name),xml.push(options.spaces&&function hasContent(element,options){var i;if(element.elements&&element.elements.length)for(i=0;i<element.elements.length;++i)switch(element.elements[i][options.typeKey]){case"text":if(options.indentText)return!0;break;case"cdata":if(options.indentCdata)return!0;break;case"instruction":if(options.indentInstruction)return!0;break;default:return!0}return!1}(element,options)?"\n"+Array(depth+1).join(options.spaces):""),xml.push("</"+elementName+">")):xml.push("/>"),xml.join("")}(element,options,depth);case"comment":return xml+indent+writeComment(element[options.commentKey],options);case"doctype":return xml+indent+writeDoctype(element[options.doctypeKey],options);case"cdata":return xml+(options.indentCdata?indent:"")+writeCdata(element[options.cdataKey],options);case"text":return xml+(options.indentText?indent:"")+writeText(element[options.textKey],options);case"instruction":var instruction={};return instruction[element[options.nameKey]]=element[options.attributesKey]?element:element[options.instructionKey],xml+(options.indentInstruction?indent:"")+writeInstruction(instruction,options,depth)}}),"")}function hasContentCompact(element,options,anyContent){var key;for(key in element)if(element.hasOwnProperty(key))switch(key){case options.parentKey:case options.attributesKey:break;case options.textKey:if(options.indentText||anyContent)return!0;break;case options.cdataKey:if(options.indentCdata||anyContent)return!0;break;case options.instructionKey:if(options.indentInstruction||anyContent)return!0;break;case options.doctypeKey:case options.commentKey:default:return!0}return!1}function writeElementCompact(element,name,options,depth,indent){currentElement=element,currentElementName=name;var elementName="elementNameFn"in options?options.elementNameFn(name,element):name;if(null==element||""===element)return"fullTagEmptyElementFn"in options&&options.fullTagEmptyElementFn(name,element)||options.fullTagEmptyElement?"<"+elementName+"></"+elementName+">":"<"+elementName+"/>";var xml=[];if(name){if(xml.push("<"+elementName),"object"!=typeof element)return xml.push(">"+writeText(element,options)+"</"+elementName+">"),xml.join("");element[options.attributesKey]&&xml.push(writeAttributes(element[options.attributesKey],options,depth));var withClosingTag=hasContentCompact(element,options,!0)||element[options.attributesKey]&&"preserve"===element[options.attributesKey]["xml:space"];if(withClosingTag||(withClosingTag="fullTagEmptyElementFn"in options?options.fullTagEmptyElementFn(name,element):options.fullTagEmptyElement),!withClosingTag)return xml.push("/>"),xml.join("");xml.push(">")}return xml.push(writeElementsCompact(element,options,depth+1,!1)),currentElement=element,currentElementName=name,name&&xml.push((indent?writeIndentation(options,depth,!1):"")+"</"+elementName+">"),xml.join("")}function writeElementsCompact(element,options,depth,firstLine){var i,key,nodes,xml=[];for(key in element)if(element.hasOwnProperty(key))for(nodes=isArray(element[key])?element[key]:[element[key]],i=0;i<nodes.length;++i){switch(key){case options.declarationKey:xml.push(writeDeclaration(nodes[i],options,depth));break;case options.instructionKey:xml.push((options.indentInstruction?writeIndentation(options,depth,firstLine):"")+writeInstruction(nodes[i],options,depth));break;case options.attributesKey:case options.parentKey:break;case options.textKey:xml.push((options.indentText?writeIndentation(options,depth,firstLine):"")+writeText(nodes[i],options));break;case options.cdataKey:xml.push((options.indentCdata?writeIndentation(options,depth,firstLine):"")+writeCdata(nodes[i],options));break;case options.doctypeKey:xml.push(writeIndentation(options,depth,firstLine)+writeDoctype(nodes[i],options));break;case options.commentKey:xml.push(writeIndentation(options,depth,firstLine)+writeComment(nodes[i],options));break;default:xml.push(writeIndentation(options,depth,firstLine)+writeElementCompact(nodes[i],key,options,depth,hasContentCompact(nodes[i],options)))}firstLine=firstLine&&!xml.length}return xml.join("")}return js2xml=function(js,options){options=function validateOptions(userOptions){var options=helper.copyOptions(userOptions);return helper.ensureFlagExists("ignoreDeclaration",options),helper.ensureFlagExists("ignoreInstruction",options),helper.ensureFlagExists("ignoreAttributes",options),helper.ensureFlagExists("ignoreText",options),helper.ensureFlagExists("ignoreComment",options),helper.ensureFlagExists("ignoreCdata",options),helper.ensureFlagExists("ignoreDoctype",options),helper.ensureFlagExists("compact",options),helper.ensureFlagExists("indentText",options),helper.ensureFlagExists("indentCdata",options),helper.ensureFlagExists("indentAttributes",options),helper.ensureFlagExists("indentInstruction",options),helper.ensureFlagExists("fullTagEmptyElement",options),helper.ensureFlagExists("noQuotesForNativeAttributes",options),helper.ensureSpacesExists(options),"number"==typeof options.spaces&&(options.spaces=Array(options.spaces+1).join(" ")),helper.ensureKeyExists("declaration",options),helper.ensureKeyExists("instruction",options),helper.ensureKeyExists("attributes",options),helper.ensureKeyExists("text",options),helper.ensureKeyExists("comment",options),helper.ensureKeyExists("cdata",options),helper.ensureKeyExists("doctype",options),helper.ensureKeyExists("type",options),helper.ensureKeyExists("name",options),helper.ensureKeyExists("elements",options),helper.checkFnExists("doctype",options),helper.checkFnExists("instruction",options),helper.checkFnExists("cdata",options),helper.checkFnExists("comment",options),helper.checkFnExists("text",options),helper.checkFnExists("instructionName",options),helper.checkFnExists("elementName",options),helper.checkFnExists("attributeName",options),helper.checkFnExists("attributeValue",options),helper.checkFnExists("attributes",options),helper.checkFnExists("fullTagEmptyElement",options),options}(options);var xml=[];return currentElement=js,currentElementName="_root_",options.compact?xml.push(writeElementsCompact(js,options,0,!0)):(js[options.declarationKey]&&xml.push(writeDeclaration(js[options.declarationKey],options,0)),js[options.elementsKey]&&js[options.elementsKey].length&&xml.push(writeElements(js[options.elementsKey],options,0,!xml.length))),xml.join("")}}function requireJson2xml(){if(hasRequiredJson2xml)return json2xml;hasRequiredJson2xml=1;var js2xml=requireJs2xml();return json2xml=function(json,options){json instanceof Buffer&&(json=json.toString());var js=null;if("string"==typeof json)try{js=JSON.parse(json)}catch(e){throw new Error("The JSON structure is invalid")}else js=json;return js2xml(js,options)}}var libExports$3=function requireLib$5(){if(hasRequiredLib$5)return lib$5;hasRequiredLib$5=1;var xml2js=requireXml2js$1(),xml2json=requireXml2json(),js2xml=requireJs2xml(),json2xml=requireJson2xml();return lib$5={xml2js:xml2js,xml2json:xml2json,js2xml:js2xml,json2xml:json2xml}}();class Json{constructor(){this.findInObj=(obj,chave)=>{if(obj.hasOwnProperty(chave))return obj[chave];for(let prop in obj)if("object"==typeof obj[prop]){const result=this.findInObj(obj[prop],chave);if(result)return result}return""}}removeJsonTextAttribute(value,parentElement){const pOpKeys=Object.keys(parentElement._parent),keyName=pOpKeys[pOpKeys.length-1],arrOfKey=parentElement._parent[keyName];if(arrOfKey.length>0){arrOfKey[arrOfKey.length-1]=value}else parentElement._parent[keyName]=value}getStatusServicoBody(jsonData){return this.findInObj(jsonData,"retConsStatServ")}getConsultaProtocoloBody(jsonData){return this.findInObj(jsonData,"retConsSitNFe")}getRecepcaoEventoBody(jsonData){return this.findInObj(jsonData,"retEnvEvento")}getDistribuicaoDFe(jsonData){return this.findInObj(jsonData,"nfeDistDFeInteresseResult")}getDistribuicaoDFeProcBody(jsonData){return this.findInObj(jsonData,"NFe")}getDistribuicaoDFeResBody(jsonData){return this.findInObj(jsonData,"resNFe")}getDistribuicaoDFeEventBody(jsonData){return this.findInObj(jsonData,"evento")}getAutorizacaoEventBody(jsonData){return this.findInObj(jsonData,"retEnviNFe")}getAutorizacaoFinalEventBody(jsonData){return this.findInObj(jsonData,"nfeProc")}getAutorizacaoRetornoEventBody(jsonData){return this.findInObj(jsonData,"protNFe")}getInutilizacaoRetornoEventBody(jsonData){return this.findInObj(jsonData,"infInut")}convertXmlToJson(xml,metodo,nsu){try{const jsonAsString=libExports$3.xml2json(xml,{compact:!0,spaces:2,ignoreAttributes:!0,ignoreDeclaration:!0,trim:!0,ignoreInstruction:!0,ignoreComment:!0,ignoreCdata:!0,ignoreDoctype:!0,textFn:this.removeJsonTextAttribute}),jsonData=JSON.parse(jsonAsString);let jsonBody;switch(metodo){case"NFEStatusServico":jsonBody=this.getStatusServicoBody(jsonData);break;case"NFEConsultaProtocolo":jsonBody=this.getConsultaProtocoloBody(jsonData);break;case"RecepcaoEvento":jsonBody=this.getRecepcaoEventoBody(jsonData);break;case"NFeDistribuicaoDFe":jsonBody=this.getDistribuicaoDFe(jsonData);break;case"NFeDistribuicaoDFe_proc":jsonBody=jsonData;break;case"NFeDistribuicaoDFe_res":jsonBody=this.getDistribuicaoDFeResBody(jsonData);break;case"NFeDistribuicaoDFe_event":jsonBody=this.getDistribuicaoDFeEventBody(jsonData);break;case"NFEAutorizacao":jsonBody=this.getAutorizacaoEventBody(jsonData);break;case"NFEAutorizacaoFinal":case"NFCEAutorizacaoFinal":jsonBody=this.getAutorizacaoFinalEventBody(jsonData);break;case"NFERetornoAutorizacao":jsonBody=this.getAutorizacaoRetornoEventBody(jsonData);break;case"NFEInutilizacao":jsonBody=this.getInutilizacaoRetornoEventBody(jsonData);break;default:throw new Error("Formato de XML desconhecido")}return jsonBody&&(nsu&&(jsonBody.nsu=nsu),jsonBody.xml=xml),jsonBody}catch(error){throw new Error(`Erro ao converter XML para Json: ${error}`)}}}function _typeof(o){return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(o){return typeof o}:function(o){return o&&"function"==typeof Symbol&&o.constructor===Symbol&&o!==Symbol.prototype?"symbol":typeof o},_typeof(o)}function toInteger(dirtyNumber){if(null===dirtyNumber||!0===dirtyNumber||!1===dirtyNumber)return NaN;var number=Number(dirtyNumber);return isNaN(number)?number:number<0?Math.ceil(number):Math.floor(number)}function requiredArgs(required,args){if(args.length<required)throw new TypeError(required+" argument"+(required>1?"s":"")+" required, but only "+args.length+" present")}function toDate(argument){requiredArgs(1,arguments);var argStr=Object.prototype.toString.call(argument);return argument instanceof Date||"object"===_typeof(argument)&&"[object Date]"===argStr?new Date(argument.getTime()):"number"==typeof argument||"[object Number]"===argStr?new Date(argument):("string"!=typeof argument&&"[object String]"!==argStr||"undefined"==typeof console||(console.warn("Starting with v2.0.0-beta.1 date-fns doesn't accept strings as date arguments. Please use `parseISO` to parse strings. See: https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#string-arguments"),console.warn((new Error).stack)),new Date(NaN))}var defaultOptions={};function getDefaultOptions(){return defaultOptions}function isValid(dirtyDate){if(requiredArgs(1,arguments),!function isDate$1(value){return requiredArgs(1,arguments),value instanceof Date||"object"===_typeof(value)&&"[object Date]"===Object.prototype.toString.call(value)}(dirtyDate)&&"number"!=typeof dirtyDate)return!1;var date=toDate(dirtyDate);return!isNaN(Number(date))}function subMilliseconds(dirtyDate,dirtyAmount){return requiredArgs(2,arguments),function addMilliseconds(dirtyDate,dirtyAmount){requiredArgs(2,arguments);var timestamp=toDate(dirtyDate).getTime(),amount=toInteger(dirtyAmount);return new Date(timestamp+amount)}(dirtyDate,-toInteger(dirtyAmount))}function startOfUTCISOWeek(dirtyDate){requiredArgs(1,arguments);var date=toDate(dirtyDate),day=date.getUTCDay(),diff=(day<1?7:0)+day-1;return date.setUTCDate(date.getUTCDate()-diff),date.setUTCHours(0,0,0,0),date}function getUTCISOWeekYear(dirtyDate){requiredArgs(1,arguments);var date=toDate(dirtyDate),year=date.getUTCFullYear(),fourthOfJanuaryOfNextYear=new Date(0);fourthOfJanuaryOfNextYear.setUTCFullYear(year+1,0,4),fourthOfJanuaryOfNextYear.setUTCHours(0,0,0,0);var startOfNextYear=startOfUTCISOWeek(fourthOfJanuaryOfNextYear),fourthOfJanuaryOfThisYear=new Date(0);fourthOfJanuaryOfThisYear.setUTCFullYear(year,0,4),fourthOfJanuaryOfThisYear.setUTCHours(0,0,0,0);var startOfThisYear=startOfUTCISOWeek(fourthOfJanuaryOfThisYear);return date.getTime()>=startOfNextYear.getTime()?year+1:date.getTime()>=startOfThisYear.getTime()?year:year-1}function getUTCISOWeek(dirtyDate){requiredArgs(1,arguments);var date=toDate(dirtyDate),diff=startOfUTCISOWeek(date).getTime()-function startOfUTCISOWeekYear(dirtyDate){requiredArgs(1,arguments);var year=getUTCISOWeekYear(dirtyDate),fourthOfJanuary=new Date(0);return fourthOfJanuary.setUTCFullYear(year,0,4),fourthOfJanuary.setUTCHours(0,0,0,0),startOfUTCISOWeek(fourthOfJanuary)}(date).getTime();return Math.round(diff/6048e5)+1}function startOfUTCWeek(dirtyDate,options){var _ref,_ref2,_ref3,_options$weekStartsOn,_options$locale,_options$locale$optio,_defaultOptions$local,_defaultOptions$local2;requiredArgs(1,arguments);var defaultOptions=getDefaultOptions(),weekStartsOn=toInteger(null!==(_ref=null!==(_ref2=null!==(_ref3=null!==(_options$weekStartsOn=null==options?void 0:options.weekStartsOn)&&void 0!==_options$weekStartsOn?_options$weekStartsOn:null==options||null===(_options$locale=options.locale)||void 0===_options$locale||null===(_options$locale$optio=_options$locale.options)||void 0===_options$locale$optio?void 0:_options$locale$optio.weekStartsOn)&&void 0!==_ref3?_ref3:defaultOptions.weekStartsOn)&&void 0!==_ref2?_ref2:null===(_defaultOptions$local=defaultOptions.locale)||void 0===_defaultOptions$local||null===(_defaultOptions$local2=_defaultOptions$local.options)||void 0===_defaultOptions$local2?void 0:_defaultOptions$local2.weekStartsOn)&&void 0!==_ref?_ref:0);if(!(weekStartsOn>=0&&weekStartsOn<=6))throw new RangeError("weekStartsOn must be between 0 and 6 inclusively");var date=toDate(dirtyDate),day=date.getUTCDay(),diff=(day<weekStartsOn?7:0)+day-weekStartsOn;return date.setUTCDate(date.getUTCDate()-diff),date.setUTCHours(0,0,0,0),date}function getUTCWeekYear(dirtyDate,options){var _ref,_ref2,_ref3,_options$firstWeekCon,_options$locale,_options$locale$optio,_defaultOptions$local,_defaultOptions$local2;requiredArgs(1,arguments);var date=toDate(dirtyDate),year=date.getUTCFullYear(),defaultOptions=getDefaultOptions(),firstWeekContainsDate=toInteger(null!==(_ref=null!==(_ref2=null!==(_ref3=null!==(_options$firstWeekCon=null==options?void 0:options.firstWeekContainsDate)&&void 0!==_options$firstWeekCon?_options$firstWeekCon:null==options||null===(_options$locale=options.locale)||void 0===_options$locale||null===(_options$locale$optio=_options$locale.options)||void 0===_options$locale$optio?void 0:_options$locale$optio.firstWeekContainsDate)&&void 0!==_ref3?_ref3:defaultOptions.firstWeekContainsDate)&&void 0!==_ref2?_ref2:null===(_defaultOptions$local=defaultOptions.locale)||void 0===_defaultOptions$local||null===(_defaultOptions$local2=_defaultOptions$local.options)||void 0===_defaultOptions$local2?void 0:_defaultOptions$local2.firstWeekContainsDate)&&void 0!==_ref?_ref:1);if(!(firstWeekContainsDate>=1&&firstWeekContainsDate<=7))throw new RangeError("firstWeekContainsDate must be between 1 and 7 inclusively");var firstWeekOfNextYear=new Date(0);firstWeekOfNextYear.setUTCFullYear(year+1,0,firstWeekContainsDate),firstWeekOfNextYear.setUTCHours(0,0,0,0);var startOfNextYear=startOfUTCWeek(firstWeekOfNextYear,options),firstWeekOfThisYear=new Date(0);firstWeekOfThisYear.setUTCFullYear(year,0,firstWeekContainsDate),firstWeekOfThisYear.setUTCHours(0,0,0,0);var startOfThisYear=startOfUTCWeek(firstWeekOfThisYear,options);return date.getTime()>=startOfNextYear.getTime()?year+1:date.getTime()>=startOfThisYear.getTime()?year:year-1}function getUTCWeek(dirtyDate,options){requiredArgs(1,arguments);var date=toDate(dirtyDate),diff=startOfUTCWeek(date,options).getTime()-function startOfUTCWeekYear(dirtyDate,options){var _ref,_ref2,_ref3,_options$firstWeekCon,_options$locale,_options$locale$optio,_defaultOptions$local,_defaultOptions$local2;requiredArgs(1,arguments);var defaultOptions=getDefaultOptions(),firstWeekContainsDate=toInteger(null!==(_ref=null!==(_ref2=null!==(_ref3=null!==(_options$firstWeekCon=null==options?void 0:options.firstWeekContainsDate)&&void 0!==_options$firstWeekCon?_options$firstWeekCon:null==options||null===(_options$locale=options.locale)||void 0===_options$locale||null===(_options$locale$optio=_options$locale.options)||void 0===_options$locale$optio?void 0:_options$locale$optio.firstWeekContainsDate)&&void 0!==_ref3?_ref3:defaultOptions.firstWeekContainsDate)&&void 0!==_ref2?_ref2:null===(_defaultOptions$local=defaultOptions.locale)||void 0===_defaultOptions$local||null===(_defaultOptions$local2=_defaultOptions$local.options)||void 0===_defaultOptions$local2?void 0:_defaultOptions$local2.firstWeekContainsDate)&&void 0!==_ref?_ref:1),year=getUTCWeekYear(dirtyDate,options),firstWeek=new Date(0);return firstWeek.setUTCFullYear(year,0,firstWeekContainsDate),firstWeek.setUTCHours(0,0,0,0),startOfUTCWeek(firstWeek,options)}(date,options).getTime();return Math.round(diff/6048e5)+1}function addLeadingZeros(number,targetLength){for(var sign=number<0?"-":"",output=Math.abs(number).toString();output.length<targetLength;)output="0"+output;return sign+output}var formatters$2={y:function y(date,token){var signedYear=date.getUTCFullYear(),year=signedYear>0?signedYear:1-signedYear;return addLeadingZeros("yy"===token?year%100:year,token.length)},M:function M(date,token){var month=date.getUTCMonth();return"M"===token?String(month+1):addLeadingZeros(month+1,2)},d:function d(date,token){return addLeadingZeros(date.getUTCDate(),token.length)},a:function a(date,token){var dayPeriodEnumValue=date.getUTCHours()/12>=1?"pm":"am";switch(token){case"a":case"aa":return dayPeriodEnumValue.toUpperCase();case"aaa":return dayPeriodEnumValue;case"aaaaa":return dayPeriodEnumValue[0];default:return"am"===dayPeriodEnumValue?"a.m.":"p.m."}},h:function h(date,token){return addLeadingZeros(date.getUTCHours()%12||12,token.length)},H:function H(date,token){return addLeadingZeros(date.getUTCHours(),token.length)},m:function m(date,token){return addLeadingZeros(date.getUTCMinutes(),token.length)},s:function s(date,token){return addLeadingZeros(date.getUTCSeconds(),token.length)},S:function S(date,token){var numberOfDigits=token.length,milliseconds=date.getUTCMilliseconds();return addLeadingZeros(Math.floor(milliseconds*Math.pow(10,numberOfDigits-3)),token.length)}},formatters$3=formatters$2,dayPeriodEnum_midnight="midnight",dayPeriodEnum_noon="noon",dayPeriodEnum_morning="morning",dayPeriodEnum_afternoon="afternoon",dayPeriodEnum_evening="evening",dayPeriodEnum_night="night",formatters={G:function G(date,token,localize){var era=date.getUTCFullYear()>0?1:0;switch(token){case"G":case"GG":case"GGG":return localize.era(era,{width:"abbreviated"});case"GGGGG":return localize.era(era,{width:"narrow"});default:return localize.era(era,{width:"wide"})}},y:function y(date,token,localize){if("yo"===token){var signedYear=date.getUTCFullYear(),year=signedYear>0?signedYear:1-signedYear;return localize.ordinalNumber(year,{unit:"year"})}return formatters$3.y(date,token)},Y:function Y(date,token,localize,options){var signedWeekYear=getUTCWeekYear(date,options),weekYear=signedWeekYear>0?signedWeekYear:1-signedWeekYear;return"YY"===token?addLeadingZeros(weekYear%100,2):"Yo"===token?localize.ordinalNumber(weekYear,{unit:"year"}):addLeadingZeros(weekYear,token.length)},R:function R(date,token){return addLeadingZeros(getUTCISOWeekYear(date),token.length)},u:function u(date,token){return addLeadingZeros(date.getUTCFullYear(),token.length)},Q:function Q(date,token,localize){var quarter=Math.ceil((date.getUTCMonth()+1)/3);switch(token){case"Q":return String(quarter);case"QQ":return addLeadingZeros(quarter,2);case"Qo":return localize.ordinalNumber(quarter,{unit:"quarter"});case"QQQ":return localize.quarter(quarter,{width:"abbreviated",context:"formatting"});case"QQQQQ":return localize.quarter(quarter,{width:"narrow",context:"formatting"});default:return localize.quarter(quarter,{width:"wide",context:"formatting"})}},q:function q(date,token,localize){var quarter=Math.ceil((date.getUTCMonth()+1)/3);switch(token){case"q":return String(quarter);case"qq":return addLeadingZeros(quarter,2);case"qo":return localize.ordinalNumber(quarter,{unit:"quarter"});case"qqq":return localize.quarter(quarter,{width:"abbreviated",context:"standalone"});case"qqqqq":return localize.quarter(quarter,{width:"narrow",context:"standalone"});default:return localize.quarter(quarter,{width:"wide",context:"standalone"})}},M:function M(date,token,localize){var month=date.getUTCMonth();switch(token){case"M":case"MM":return formatters$3.M(date,token);case"Mo":return localize.ordinalNumber(month+1,{unit:"month"});case"MMM":return localize.month(month,{width:"abbreviated",context:"formatting"});case"MMMMM":return localize.month(month,{width:"narrow",context:"formatting"});default:return localize.month(month,{width:"wide",context:"formatting"})}},L:function L(date,token,localize){var month=date.getUTCMonth();switch(token){case"L":return String(month+1);case"LL":return addLeadingZeros(month+1,2);case"Lo":return localize.ordinalNumber(month+1,{unit:"month"});case"LLL":return localize.month(month,{width:"abbreviated",context:"standalone"});case"LLLLL":return localize.month(month,{width:"narrow",context:"standalone"});default:return localize.month(month,{width:"wide",context:"standalone"})}},w:function w(date,token,localize,options){var week=getUTCWeek(date,options);return"wo"===token?localize.ordinalNumber(week,{unit:"week"}):addLeadingZeros(week,token.length)},I:function I(date,token,localize){var isoWeek=getUTCISOWeek(date);return"Io"===token?localize.ordinalNumber(isoWeek,{unit:"week"}):addLeadingZeros(isoWeek,token.length)},d:function d(date,token,localize){return"do"===token?localize.ordinalNumber(date.getUTCDate(),{unit:"date"}):formatters$3.d(date,token)},D:function D(date,token,localize){var dayOfYear=function getUTCDayOfYear(dirtyDate){requiredArgs(1,arguments);var date=toDate(dirtyDate),timestamp=date.getTime();date.setUTCMonth(0,1),date.setUTCHours(0,0,0,0);var difference=timestamp-date.getTime();return Math.floor(difference/864e5)+1}(date);return"Do"===token?localize.ordinalNumber(dayOfYear,{unit:"dayOfYear"}):addLeadingZeros(dayOfYear,token.length)},E:function E(date,token,localize){var dayOfWeek=date.getUTCDay();switch(token){case"E":case"EE":case"EEE":return localize.day(dayOfWeek,{width:"abbreviated",context:"formatting"});case"EEEEE":return localize.day(dayOfWeek,{width:"narrow",context:"formatting"});case"EEEEEE":return localize.day(dayOfWeek,{width:"short",context:"formatting"});default:return localize.day(dayOfWeek,{width:"wide",context:"formatting"})}},e:function e(date,token,localize,options){var dayOfWeek=date.getUTCDay(),localDayOfWeek=(dayOfWeek-options.weekStartsOn+8)%7||7;switch(token){case"e":return String(localDayOfWeek);case"ee":return addLeadingZeros(localDayOfWeek,2);case"eo":return localize.ordinalNumber(localDayOfWeek,{unit:"day"});case"eee":return localize.day(dayOfWeek,{width:"abbreviated",context:"formatting"});case"eeeee":return localize.day(dayOfWeek,{width:"narrow",context:"formatting"});case"eeeeee":return localize.day(dayOfWeek,{width:"short",context:"formatting"});default:return localize.day(dayOfWeek,{width:"wide",context:"formatting"})}},c:function c(date,token,localize,options){var dayOfWeek=date.getUTCDay(),localDayOfWeek=(dayOfWeek-options.weekStartsOn+8)%7||7;switch(token){case"c":return String(localDayOfWeek);case"cc":return addLeadingZeros(localDayOfWeek,token.length);case"co":return localize.ordinalNumber(localDayOfWeek,{unit:"day"});case"ccc":return localize.day(dayOfWeek,{width:"abbreviated",context:"standalone"});case"ccccc":return localize.day(dayOfWeek,{width:"narrow",context:"standalone"});case"cccccc":return localize.day(dayOfWeek,{width:"short",context:"standalone"});default:return localize.day(dayOfWeek,{width:"wide",context:"standalone"})}},i:function i(date,token,localize){var dayOfWeek=date.getUTCDay(),isoDayOfWeek=0===dayOfWeek?7:dayOfWeek;switch(token){case"i":return String(isoDayOfWeek);case"ii":return addLeadingZeros(isoDayOfWeek,token.length);case"io":return localize.ordinalNumber(isoDayOfWeek,{unit:"day"});case"iii":return localize.day(dayOfWeek,{width:"abbreviated",context:"formatting"});case"iiiii":return localize.day(dayOfWeek,{width:"narrow",context:"formatting"});case"iiiiii":return localize.day(dayOfWeek,{width:"short",context:"formatting"});default:return localize.day(dayOfWeek,{width:"wide",context:"formatting"})}},a:function a(date,token,localize){var dayPeriodEnumValue=date.getUTCHours()/12>=1?"pm":"am";switch(token){case"a":case"aa":return localize.dayPeriod(dayPeriodEnumValue,{width:"abbreviated",context:"formatting"});case"aaa":return localize.dayPeriod(dayPeriodEnumValue,{width:"abbreviated",context:"formatting"}).toLowerCase();case"aaaaa":return localize.dayPeriod(dayPeriodEnumValue,{width:"narrow",context:"formatting"});default:return localize.dayPeriod(dayPeriodEnumValue,{width:"wide",context:"formatting"})}},b:function b(date,token,localize){var dayPeriodEnumValue,hours=date.getUTCHours();switch(dayPeriodEnumValue=12===hours?dayPeriodEnum_noon:0===hours?dayPeriodEnum_midnight:hours/12>=1?"pm":"am",token){case"b":case"bb":return localize.dayPeriod(dayPeriodEnumValue,{width:"abbreviated",context:"formatting"});case"bbb":return localize.dayPeriod(dayPeriodEnumValue,{width:"abbreviated",context:"formatting"}).toLowerCase();case"bbbbb":return localize.dayPeriod(dayPeriodEnumValue,{width:"narrow",context:"formatting"});default:return localize.dayPeriod(dayPeriodEnumValue,{width:"wide",context:"formatting"})}},B:function B(date,token,localize){var dayPeriodEnumValue,hours=date.getUTCHours();switch(dayPeriodEnumValue=hours>=17?dayPeriodEnum_evening:hours>=12?dayPeriodEnum_afternoon:hours>=4?dayPeriodEnum_morning:dayPeriodEnum_night,token){case"B":case"BB":case"BBB":return localize.dayPeriod(dayPeriodEnumValue,{width:"abbreviated",context:"formatting"});case"BBBBB":return localize.dayPeriod(dayPeriodEnumValue,{width:"narrow",context:"formatting"});default:return localize.dayPeriod(dayPeriodEnumValue,{width:"wide",context:"formatting"})}},h:function h(date,token,localize){if("ho"===token){var hours=date.getUTCHours()%12;return 0===hours&&(hours=12),localize.ordinalNumber(hours,{unit:"hour"})}return formatters$3.h(date,token)},H:function H(date,token,localize){return"Ho"===token?localize.ordinalNumber(date.getUTCHours(),{unit:"hour"}):formatters$3.H(date,token)},K:function K(date,token,localize){var hours=date.getUTCHours()%12;return"Ko"===token?localize.ordinalNumber(hours,{unit:"hour"}):addLeadingZeros(hours,token.length)},k:function k(date,token,localize){var hours=date.getUTCHours();return 0===hours&&(hours=24),"ko"===token?localize.ordinalNumber(hours,{unit:"hour"}):addLeadingZeros(hours,token.length)},m:function m(date,token,localize){return"mo"===token?localize.ordinalNumber(date.getUTCMinutes(),{unit:"minute"}):formatters$3.m(date,token)},s:function s(date,token,localize){return"so"===token?localize.ordinalNumber(date.getUTCSeconds(),{unit:"second"}):formatters$3.s(date,token)},S:function S(date,token){return formatters$3.S(date,token)},X:function X(date,token,_localize,options){var timezoneOffset=(options._originalDate||date).getTimezoneOffset();if(0===timezoneOffset)return"Z";switch(token){case"X":return formatTimezoneWithOptionalMinutes(timezoneOffset);case"XXXX":case"XX":return formatTimezone(timezoneOffset);default:return formatTimezone(timezoneOffset,":")}},x:function x(date,token,_localize,options){var timezoneOffset=(options._originalDate||date).getTimezoneOffset();switch(token){case"x":return formatTimezoneWithOptionalMinutes(timezoneOffset);case"xxxx":case"xx":return formatTimezone(timezoneOffset);default:return formatTimezone(timezoneOffset,":")}},O:function O(date,token,_localize,options){var timezoneOffset=(options._originalDate||date).getTimezoneOffset();switch(token){case"O":case"OO":case"OOO":return"GMT"+formatTimezoneShort(timezoneOffset,":");default:return"GMT"+formatTimezone(timezoneOffset,":")}},z:function z(date,token,_localize,options){var timezoneOffset=(options._originalDate||date).getTimezoneOffset();switch(token){case"z":case"zz":case"zzz":return"GMT"+formatTimezoneShort(timezoneOffset,":");default:return"GMT"+formatTimezone(timezoneOffset,":")}},t:function t(date,token,_localize,options){var originalDate=options._originalDate||date;return addLeadingZeros(Math.floor(originalDate.getTime()/1e3),token.length)},T:function T(date,token,_localize,options){return addLeadingZeros((options._originalDate||date).getTime(),token.length)}};function formatTimezoneShort(offset,dirtyDelimiter){var sign=offset>0?"-":"+",absOffset=Math.abs(offset),hours=Math.floor(absOffset/60),minutes=absOffset%60;if(0===minutes)return sign+String(hours);var delimiter=dirtyDelimiter||"";return sign+String(hours)+delimiter+addLeadingZeros(minutes,2)}function formatTimezoneWithOptionalMinutes(offset,dirtyDelimiter){return offset%60==0?(offset>0?"-":"+")+addLeadingZeros(Math.abs(offset)/60,2):formatTimezone(offset,dirtyDelimiter)}function formatTimezone(offset,dirtyDelimiter){var delimiter=dirtyDelimiter||"",sign=offset>0?"-":"+",absOffset=Math.abs(offset);return sign+addLeadingZeros(Math.floor(absOffset/60),2)+delimiter+addLeadingZeros(absOffset%60,2)}var formatters$1=formatters,dateLongFormatter=function dateLongFormatter(pattern,formatLong){switch(pattern){case"P":return formatLong.date({width:"short"});case"PP":return formatLong.date({width:"medium"});case"PPP":return formatLong.date({width:"long"});default:return formatLong.date({width:"full"})}},timeLongFormatter=function timeLongFormatter(pattern,formatLong){switch(pattern){case"p":return formatLong.time({width:"short"});case"pp":return formatLong.time({width:"medium"});case"ppp":return formatLong.time({width:"long"});default:return formatLong.time({width:"full"})}},longFormatters={p:timeLongFormatter,P:function dateTimeLongFormatter(pattern,formatLong){var dateTimeFormat,matchResult=pattern.match(/(P+)(p+)?/)||[],datePattern=matchResult[1],timePattern=matchResult[2];if(!timePattern)return dateLongFormatter(pattern,formatLong);switch(datePattern){case"P":dateTimeFormat=formatLong.dateTime({width:"short"});break;case"PP":dateTimeFormat=formatLong.dateTime({width:"medium"});break;case"PPP":dateTimeFormat=formatLong.dateTime({width:"long"});break;default:dateTimeFormat=formatLong.dateTime({width:"full"})}return dateTimeFormat.replace("{{date}}",dateLongFormatter(datePattern,formatLong)).replace("{{time}}",timeLongFormatter(timePattern,formatLong))}},longFormatters$1=longFormatters,protectedDayOfYearTokens=["D","DD"],protectedWeekYearTokens=["YY","YYYY"];function throwProtectedError(token,format,input){if("YYYY"===token)throw new RangeError("Use `yyyy` instead of `YYYY` (in `".concat(format,"`) for formatting years to the input `").concat(input,"`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md"));if("YY"===token)throw new RangeError("Use `yy` instead of `YY` (in `".concat(format,"`) for formatting years to the input `").concat(input,"`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md"));if("D"===token)throw new RangeError("Use `d` instead of `D` (in `".concat(format,"`) for formatting days of the month to the input `").concat(input,"`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md"));if("DD"===token)throw new RangeError("Use `dd` instead of `DD` (in `".concat(format,"`) for formatting days of the month to the input `").concat(input,"`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md"))}var formatDistanceLocale={lessThanXSeconds:{one:"less than a second",other:"less than {{count}} seconds"},xSeconds:{one:"1 second",other:"{{count}} seconds"},halfAMinute:"half a minute",lessThanXMinutes:{one:"less than a minute",other:"less than {{count}} minutes"},xMinutes:{one:"1 minute",other:"{{count}} minutes"},aboutXHours:{one:"about 1 hour",other:"about {{count}} hours"},xHours:{one:"1 hour",other:"{{count}} hours"},xDays:{one:"1 day",other:"{{count}} days"},aboutXWeeks:{one:"about 1 week",other:"about {{count}} weeks"},xWeeks:{one:"1 week",other:"{{count}} weeks"},aboutXMonths:{one:"about 1 month",other:"about {{count}} months"},xMonths:{one:"1 month",other:"{{count}} months"},aboutXYears:{one:"about 1 year",other:"about {{count}} years"},xYears:{one:"1 year",other:"{{count}} years"},overXYears:{one:"over 1 year",other:"over {{count}} years"},almostXYears:{one:"almost 1 year",other:"almost {{count}} years"}},formatDistance$1=function formatDistance(token,count,options){var result,tokenValue=formatDistanceLocale[token];return result="string"==typeof tokenValue?tokenValue:1===count?tokenValue.one:tokenValue.other.replace("{{count}}",count.toString()),null!=options&&options.addSuffix?options.comparison&&options.comparison>0?"in "+result:result+" ago":result};function buildFormatLongFn(args){return function(){var options=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},width=options.width?String(options.width):args.defaultWidth;return args.formats[width]||args.formats[args.defaultWidth]}}var formatLong={date:buildFormatLongFn({formats:{full:"EEEE, MMMM do, y",long:"MMMM do, y",medium:"MMM d, y",short:"MM/dd/yyyy"},defaultWidth:"full"}),time:buildFormatLongFn({formats:{full:"h:mm:ss a zzzz",long:"h:mm:ss a z",medium:"h:mm:ss a",short:"h:mm a"},defaultWidth:"full"}),dateTime:buildFormatLongFn({formats:{full:"{{date}} 'at' {{time}}",long:"{{date}} 'at' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},defaultWidth:"full"})},formatRelativeLocale={lastWeek:"'last' eeee 'at' p",yesterday:"'yesterday at' p",today:"'today at' p",tomorrow:"'tomorrow at' p",nextWeek:"eeee 'at' p",other:"P"},formatRelative$1=function formatRelative(token,_date,_baseDate,_options){return formatRelativeLocale[token]};function buildLocalizeFn(args){return function(dirtyIndex,options){var valuesArray;if("formatting"===(null!=options&&options.context?String(options.context):"standalone")&&args.formattingValues){var defaultWidth=args.defaultFormattingWidth||args.defaultWidth,width=null!=options&&options.width?String(options.width):defaultWidth;valuesArray=args.formattingValues[width]||args.formattingValues[defaultWidth]}else{var _defaultWidth=args.defaultWidth,_width=null!=options&&options.width?String(options.width):args.defaultWidth;valuesArray=args.values[_width]||args.values[_defaultWidth]}return valuesArray[args.argumentCallback?args.argumentCallback(dirtyIndex):dirtyIndex]}}function buildMatchFn(args){return function(string){var options=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},width=options.width,matchPattern=width&&args.matchPatterns[width]||args.matchPatterns[args.defaultMatchWidth],matchResult=string.match(matchPattern);if(!matchResult)return null;var value,matchedString=matchResult[0],parsePatterns=width&&args.parsePatterns[width]||args.parsePatterns[args.defaultParseWidth],key=Array.isArray(parsePatterns)?function findIndex(array,predicate){for(var key=0;key<array.length;key++)if(predicate(array[key]))return key;return}(parsePatterns,(function(pattern){return pattern.test(matchedString)})):function findKey$1(object,predicate){for(var key in object)if(object.hasOwnProperty(key)&&predicate(object[key]))return key;return}(parsePatterns,(function(pattern){return pattern.test(matchedString)}));return value=args.valueCallback?args.valueCallback(key):key,{value:value=options.valueCallback?options.valueCallback(value):value,rest:string.slice(matchedString.length)}}}var defaultLocale={code:"en-US",formatDistance:formatDistance$1,formatLong:formatLong,formatRelative:formatRelative$1,localize:{ordinalNumber:function ordinalNumber(dirtyNumber,_options){var number=Number(dirtyNumber),rem100=number%100;if(rem100>20||rem100<10)switch(rem100%10){case 1:return number+"st";case 2:return number+"nd";case 3:return number+"rd"}return number+"th"},era:buildLocalizeFn({values:{narrow:["B","A"],abbreviated:["BC","AD"],wide:["Before Christ","Anno Domini"]},defaultWidth:"wide"}),quarter:buildLocalizeFn({values:{narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["1st quarter","2nd quarter","3rd quarter","4th quarter"]},defaultWidth:"wide",argumentCallback:function argumentCallback(quarter){return quarter-1}}),month:buildLocalizeFn({values:{narrow:["J","F","M","A","M","J","J","A","S","O","N","D"],abbreviated:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],wide:["January","February","March","April","May","June","July","August","September","October","November","December"]},defaultWidth:"wide"}),day:buildLocalizeFn({values:{narrow:["S","M","T","W","T","F","S"],short:["Su","Mo","Tu","We","Th","Fr","Sa"],abbreviated:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],wide:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},defaultWidth:"wide"}),dayPeriod:buildLocalizeFn({values:{narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"}},defaultWidth:"wide",formattingValues:{narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"}},defaultFormattingWidth:"wide"})},match:{ordinalNumber:function buildMatchPatternFn(args){return function(string){var options=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},matchResult=string.match(args.matchPattern);if(!matchResult)return null;var matchedString=matchResult[0],parseResult=string.match(args.parsePattern);if(!parseResult)return null;var value=args.valueCallback?args.valueCallback(parseResult[0]):parseResult[0];return{value:value=options.valueCallback?options.valueCallback(value):value,rest:string.slice(matchedString.length)}}}({matchPattern:/^(\d+)(th|st|nd|rd)?/i,parsePattern:/\d+/i,valueCallback:function valueCallback(value){return parseInt(value,10)}}),era:buildMatchFn({matchPatterns:{narrow:/^(b|a)/i,abbreviated:/^(b\.?\s?c\.?|b\.?\s?c\.?\s?e\.?|a\.?\s?d\.?|c\.?\s?e\.?)/i,wide:/^(before christ|before common era|anno domini|common era)/i},defaultMatchWidth:"wide",parsePatterns:{any:[/^b/i,/^(a|c)/i]},defaultParseWidth:"any"}),quarter:buildMatchFn({matchPatterns:{narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](th|st|nd|rd)? quarter/i},defaultMatchWidth:"wide",parsePatterns:{any:[/1/i,/2/i,/3/i,/4/i]},defaultParseWidth:"any",valueCallback:function valueCallback(index){return index+1}}),month:buildMatchFn({matchPatterns:{narrow:/^[jfmasond]/i,abbreviated:/^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,wide:/^(january|february|march|april|may|june|july|august|september|october|november|december)/i},defaultMatchWidth:"wide",parsePatterns:{narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^ja/i,/^f/i,/^mar/i,/^ap/i,/^may/i,/^jun/i,/^jul/i,/^au/i,/^s/i,/^o/i,/^n/i,/^d/i]},defaultParseWidth:"any"}),day:buildMatchFn({matchPatterns:{narrow:/^[smtwf]/i,short:/^(su|mo|tu|we|th|fr|sa)/i,abbreviated:/^(sun|mon|tue|wed|thu|fri|sat)/i,wide:/^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i},defaultMatchWidth:"wide",parsePatterns:{narrow:[/^s/i,/^m/i,/^t/i,/^w/i,/^t/i,/^f/i,/^s/i],any:[/^su/i,/^m/i,/^tu/i,/^w/i,/^th/i,/^f/i,/^sa/i]},defaultParseWidth:"any"}),dayPeriod:buildMatchFn({matchPatterns:{narrow:/^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,any:/^([ap]\.?\s?m\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i},defaultMatchWidth:"any",parsePatterns:{any:{am:/^a/i,pm:/^p/i,midnight:/^mi/i,noon:/^no/i,morning:/morning/i,afternoon:/afternoon/i,evening:/evening/i,night:/night/i}},defaultParseWidth:"any"})},options:{weekStartsOn:0,firstWeekContainsDate:1}},formattingTokensRegExp=/[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g,longFormattingTokensRegExp=/P+p+|P+|p+|''|'(''|[^'])+('|$)|./g,escapedStringRegExp=/^'([^]*?)'?$/,doubleQuoteRegExp=/''/g,unescapedLatinCharacterRegExp=/[a-zA-Z]/;function format(dirtyDate,dirtyFormatStr,options){var _ref,_options$locale,_ref2,_ref3,_ref4,_options$firstWeekCon,_options$locale2,_options$locale2$opti,_defaultOptions$local,_defaultOptions$local2,_ref5,_ref6,_ref7,_options$weekStartsOn,_options$locale3,_options$locale3$opti,_defaultOptions$local3,_defaultOptions$local4;requiredArgs(2,arguments);var formatStr=String(dirtyFormatStr),defaultOptions=getDefaultOptions(),locale=null!==(_ref=null!==(_options$locale=null==options?void 0:options.locale)&&void 0!==_options$locale?_options$locale:defaultOptions.locale)&&void 0!==_ref?_ref:defaultLocale,firstWeekContainsDate=toInteger(null!==(_ref2=null!==(_ref3=null!==(_ref4=null!==(_options$firstWeekCon=null==options?void 0:options.firstWeekContainsDate)&&void 0!==_options$firstWeekCon?_options$firstWeekCon:null==options||null===(_options$locale2=options.locale)||void 0===_options$locale2||null===(_options$locale2$opti=_options$locale2.options)||void 0===_options$locale2$opti?void 0:_options$locale2$opti.firstWeekContainsDate)&&void 0!==_ref4?_ref4:defaultOptions.firstWeekContainsDate)&&void 0!==_ref3?_ref3:null===(_defaultOptions$local=defaultOptions.locale)||void 0===_defaultOptions$local||null===(_defaultOptions$local2=_defaultOptions$local.options)||void 0===_defaultOptions$local2?void 0:_defaultOptions$local2.firstWeekContainsDate)&&void 0!==_ref2?_ref2:1);if(!(firstWeekContainsDate>=1&&firstWeekContainsDate<=7))throw new RangeError("firstWeekContainsDate must be between 1 and 7 inclusively");var weekStartsOn=toInteger(null!==(_ref5=null!==(_ref6=null!==(_ref7=null!==(_options$weekStartsOn=null==options?void 0:options.weekStartsOn)&&void 0!==_options$weekStartsOn?_options$weekStartsOn:null==options||null===(_options$locale3=options.locale)||void 0===_options$locale3||null===(_options$locale3$opti=_options$locale3.options)||void 0===_options$locale3$opti?void 0:_options$locale3$opti.weekStartsOn)&&void 0!==_ref7?_ref7:defaultOptions.weekStartsOn)&&void 0!==_ref6?_ref6:null===(_defaultOptions$local3=defaultOptions.locale)||void 0===_defaultOptions$local3||null===(_defaultOptions$local4=_defaultOptions$local3.options)||void 0===_defaultOptions$local4?void 0:_defaultOptions$local4.weekStartsOn)&&void 0!==_ref5?_ref5:0);if(!(weekStartsOn>=0&&weekStartsOn<=6))throw new RangeError("weekStartsOn must be between 0 and 6 inclusively");if(!locale.localize)throw new RangeError("locale must contain localize property");if(!locale.formatLong)throw new RangeError("locale must contain formatLong property");var originalDate=toDate(dirtyDate);if(!isValid(originalDate))throw new RangeError("Invalid time value");var timezoneOffset=function getTimezoneOffsetInMilliseconds(date){var utcDate=new Date(Date.UTC(date.getFullYear(),date.getMonth(),date.getDate(),date.getHours(),date.getMinutes(),date.getSeconds(),date.getMilliseconds()));return utcDate.setUTCFullYear(date.getFullYear()),date.getTime()-utcDate.getTime()}(originalDate),utcDate=subMilliseconds(originalDate,timezoneOffset),formatterOptions={firstWeekContainsDate:firstWeekContainsDate,weekStartsOn:weekStartsOn,locale:locale,_originalDate:originalDate};return formatStr.match(longFormattingTokensRegExp).map((function(substring){var firstCharacter=substring[0];return"p"===firstCharacter||"P"===firstCharacter?(0,longFormatters$1[firstCharacter])(substring,locale.formatLong):substring})).join("").match(formattingTokensRegExp).map((function(substring){if("''"===substring)return"'";var firstCharacter=substring[0];if("'"===firstCharacter)return function cleanEscapedString(input){var matched=input.match(escapedStringRegExp);if(!matched)return input;return matched[1].replace(doubleQuoteRegExp,"'")}(substring);var formatter=formatters$1[firstCharacter];if(formatter)return null!=options&&options.useAdditionalWeekYearTokens||!function isProtectedWeekYearToken(token){return-1!==protectedWeekYearTokens.indexOf(token)}(substring)||throwProtectedError(substring,dirtyFormatStr,String(dirtyDate)),null!=options&&options.useAdditionalDayOfYearTokens||!function isProtectedDayOfYearToken(token){return-1!==protectedDayOfYearTokens.indexOf(token)}(substring)||throwProtectedError(substring,dirtyFormatStr,String(dirtyDate)),formatter(utcDate,substring,locale.localize,formatterOptions);if(firstCharacter.match(unescapedLatinCharacterRegExp))throw new RangeError("Format string contains an unescaped latin alphabet character `"+firstCharacter+"`");return substring})).join("")}function parseISO(argument,options){var _options$additionalDi;requiredArgs(1,arguments);var additionalDigits=toInteger(null!==(_options$additionalDi=null==options?void 0:options.additionalDigits)&&void 0!==_options$additionalDi?_options$additionalDi:2);if(2!==additionalDigits&&1!==additionalDigits&&0!==additionalDigits)throw new RangeError("additionalDigits must be 0, 1 or 2");if("string"!=typeof argument&&"[object String]"!==Object.prototype.toString.call(argument))return new Date(NaN);var date,dateStrings=function splitDateString(dateString){var timeString,dateStrings={},array=dateString.split(patterns.dateTimeDelimiter);if(array.length>2)return dateStrings;/:/.test(array[0])?timeString=array[0]:(dateStrings.date=array[0],timeString=array[1],patterns.timeZoneDelimiter.test(dateStrings.date)&&(dateStrings.date=dateString.split(patterns.timeZoneDelimiter)[0],timeString=dateString.substr(dateStrings.date.length,dateString.length)));if(timeString){var token=patterns.timezone.exec(timeString);token?(dateStrings.time=timeString.replace(token[1],""),dateStrings.timezone=token[1]):dateStrings.time=timeString}return dateStrings}(argument);if(dateStrings.date){var parseYearResult=function parseYear(dateString,additionalDigits){var regex=new RegExp("^(?:(\\d{4}|[+-]\\d{"+(4+additionalDigits)+"})|(\\d{2}|[+-]\\d{"+(2+additionalDigits)+"})$)"),captures=dateString.match(regex);if(!captures)return{year:NaN,restDateString:""};var year=captures[1]?parseInt(captures[1]):null,century=captures[2]?parseInt(captures[2]):null;return{year:null===century?year:100*century,restDateString:dateString.slice((captures[1]||captures[2]).length)}}(dateStrings.date,additionalDigits);date=function parseDate(dateString,year){if(null===year)return new Date(NaN);var captures=dateString.match(dateRegex);if(!captures)return new Date(NaN);var isWeekDate=!!captures[4],dayOfYear=parseDateUnit(captures[1]),month=parseDateUnit(captures[2])-1,day=parseDateUnit(captures[3]),week=parseDateUnit(captures[4]),dayOfWeek=parseDateUnit(captures[5])-1;if(isWeekDate)return function validateWeekDate(_year,week,day){return week>=1&&week<=53&&day>=0&&day<=6}(0,week,dayOfWeek)?function dayOfISOWeekYear(isoWeekYear,week,day){var date=new Date(0);date.setUTCFullYear(isoWeekYear,0,4);var fourthOfJanuaryDay=date.getUTCDay()||7,diff=7*(week-1)+day+1-fourthOfJanuaryDay;return date.setUTCDate(date.getUTCDate()+diff),date}(year,week,dayOfWeek):new Date(NaN);var date=new Date(0);return function validateDate(year,month,date){return month>=0&&month<=11&&date>=1&&date<=(daysInMonths[month]||(isLeapYearIndex(year)?29:28))}(year,month,day)&&function validateDayOfYearDate(year,dayOfYear){return dayOfYear>=1&&dayOfYear<=(isLeapYearIndex(year)?366:365)}(year,dayOfYear)?(date.setUTCFullYear(year,month,Math.max(dayOfYear,day)),date):new Date(NaN)}(parseYearResult.restDateString,parseYearResult.year)}if(!date||isNaN(date.getTime()))return new Date(NaN);var offset,timestamp=date.getTime(),time=0;if(dateStrings.time&&(time=function parseTime(timeString){var captures=timeString.match(timeRegex);if(!captures)return NaN;var hours=parseTimeUnit(captures[1]),minutes=parseTimeUnit(captures[2]),seconds=parseTimeUnit(captures[3]);if(!function validateTime(hours,minutes,seconds){if(24===hours)return 0===minutes&&0===seconds;return seconds>=0&&seconds<60&&minutes>=0&&minutes<60&&hours>=0&&hours<25}(hours,minutes,seconds))return NaN;return 36e5*hours+6e4*minutes+1e3*seconds}(dateStrings.time),isNaN(time)))return new Date(NaN);if(!dateStrings.timezone){var dirtyDate=new Date(timestamp+time),result=new Date(0);return result.setFullYear(dirtyDate.getUTCFullYear(),dirtyDate.getUTCMonth(),dirtyDate.getUTCDate()),result.setHours(dirtyDate.getUTCHours(),dirtyDate.getUTCMinutes(),dirtyDate.getUTCSeconds(),dirtyDate.getUTCMilliseconds()),result}return offset=function parseTimezone(timezoneString){if("Z"===timezoneString)return 0;var captures=timezoneString.match(timezoneRegex);if(!captures)return 0;var sign="+"===captures[1]?-1:1,hours=parseInt(captures[2]),minutes=captures[3]&&parseInt(captures[3])||0;if(!function validateTimezone(_hours,minutes){return minutes>=0&&minutes<=59}(0,minutes))return NaN;return sign*(36e5*hours+6e4*minutes)}(dateStrings.timezone),isNaN(offset)?new Date(NaN):new Date(timestamp+time+offset)}var patterns={dateTimeDelimiter:/[T ]/,timeZoneDelimiter:/[Z ]/i,timezone:/([Z+-].*)$/},dateRegex=/^-?(?:(\d{3})|(\d{2})(?:-?(\d{2}))?|W(\d{2})(?:-?(\d{1}))?|)$/,timeRegex=/^(\d{2}(?:[.,]\d*)?)(?::?(\d{2}(?:[.,]\d*)?))?(?::?(\d{2}(?:[.,]\d*)?))?$/,timezoneRegex=/^([+-])(\d{2})(?::?(\d{2}))?$/;function parseDateUnit(value){return value?parseInt(value):1}function parseTimeUnit(value){return value&&parseFloat(value.replace(",","."))||0}var daysInMonths=[31,null,31,30,31,30,31,31,30,31,30,31];function isLeapYearIndex(year){return year%400==0||year%4==0&&year%100!=0}class BaseNFE{constructor(environment,utility,xmlBuilder,metodo,axios){this.environment=environment,this.utility=utility,this.xmlBuilder=xmlBuilder,this.metodo=metodo,this.axios=axios,this.chaveNfe=""}salvaArquivos(xmlConsulta,responseInJson,xmlRetorno,options){const config=this.environment.getConfig();let dateAndTimeInFileName=config.dfe.incluirTimestampNoNomeDosArquivos;const createFileName=prefix=>{const dtaTime=dateAndTimeInFileName?`-${format(new Date,"dd-MM-yyyy-HHmm")}`:"";return`${`${this.metodo}`}${prefix?`-${prefix}`:""}${responseInJson.chNFe?`-${responseInJson.chNFe}`:""}${dtaTime}`},salvarArquivo=(data,prefix,path,fileType)=>{const fileName=createFileName(prefix),method="xml"===fileType?"salvaXML":"salvaJSON";this.utility[method]({data:data,fileName:fileName,metodo:this.metodo,path:path})};config.dfe.armazenarXMLConsulta&&salvarArquivo(xmlConsulta,"consulta",config.dfe.pathXMLConsulta,"xml"),config.dfe.armazenarXMLRetorno&&salvarArquivo(xmlRetorno.data,"retorno",config.dfe.pathXMLRetorno,"xml"),config.dfe.armazenarRetornoEmJSON&&salvarArquivo(responseInJson,void 0,config.dfe.pathRetornoEmJSON,"json")}async gerarConsulta(xmlConsulta){try{const config=this.environment.getConfig();"validateSchemaJsBased"!==config.lib?.useForSchemaValidation?await this.utility.validateSchemaJavaBased(xmlConsulta,this.metodo):await this.utility.validateSchemaJsBased(xmlConsulta,this.metodo);const{method:method}=this.utility.getSoapInfo(config.dfe.UF,this.metodo),xmlFormated=this.xmlBuilder.buildSoapEnvelope(xmlConsulta,method),agent=this.environment.getHttpAgent();return{xmlFormated:xmlFormated,agent:agent,webServiceUrl:this.utility.getWebServiceUrl(this.metodo)}}catch(error){throw new Error(error.message)}}async Exec(data){try{const xmlConsulta=this.gerarXml(data),{xmlFormated:xmlFormated,agent:agent,webServiceUrl:webServiceUrl}=await this.gerarConsulta(xmlConsulta);this.utility.salvaConsulta(xmlConsulta,xmlFormated,this.metodo);const xmlRetorno=await this.axios.post(webServiceUrl,xmlFormated,{headers:{"Content-Type":"text/xml; charset=utf-8"},httpsAgent:agent}),responseInJson=(new Json).convertXmlToJson(xmlRetorno.data,this.metodo);if(this.utility.salvaRetorno(xmlRetorno.data,responseInJson,this.metodo),responseInJson.xMotivo.includes("Rejeição"))throw new Error(responseInJson.xMotivo);return this.salvaArquivos(xmlConsulta,responseInJson,xmlRetorno),responseInJson}catch(error){throw new Error(error.message)}}}class NFERecepcaoEvento extends BaseNFE{constructor(environment,utility,xmlBuilder,axios){super(environment,utility,xmlBuilder,"RecepcaoEvento",axios),this.tpEvento="",this.xmlEventosNacionais=[],this.xmlEventosRegionais=[],this.xMotivoPorEvento=[]}gerarXml(data){return""}getID(evento){const{tpEvento:tpEvento,chNFe:chNFe,nSeqEvento:nSeqEvento}=evento;if("string"!=typeof tpEvento||!/^\d{6}$/.test(tpEvento))throw new Error("tpEvento deve ser uma string com 6 dígitos.");if("string"!=typeof chNFe||!/^\d{44}$/.test(chNFe))throw new Error("chNFe deve ser uma string com 44 dígitos.");if(!Number.isInteger(nSeqEvento)||nSeqEvento<1||nSeqEvento>99)throw new Error("nSeqEvento deve ser um número entre 1 e 99.");const id=`ID${tpEvento}${chNFe}${nSeqEvento.toString().padStart(2,"0")}`;if(54!==id.length)throw new Error("O ID construído não tem 54 caracteres.");return id}isAmbienteNacional(tpEvento){switch(tpEvento){case"210210":case"210200":case"210220":case"210240":case"110140":return!0;default:return!1}}getTipoEventoName(tpEvento){switch(tpEvento){case"210210":return"Ciência da Operação";case"210200":return"Confirmação da Operaçã";case"210220":return"Desconhecimento da Operação";case"210240":return"Operação não Realizada";case"110110":return"Carta de Correção";case"110111":return"Cancelamento";case"110140":return"EPEC";default:return"Desconhecido"}}separaEventosPorAmbiente(evento){return{nacional:evento.filter((event=>["210210","210200","210220","210240","110140"].includes(event.tpEvento))),regional:evento.filter((event=>!["210210","210200","210220","210240","110140"].includes(event.tpEvento)))}}gerarXmlRecepcaoEvento(evento,idLote,ambienteNacional){const{nfe:{ambiente:ambiente,versaoDF:versaoDF},dfe:{UF:UF}}=this.environment.getConfig();for(let i=0;i<evento.length;i++){const eventoProps=evento[i],{tpAmb:tpAmb,cOrgao:cOrgao,tpEvento:tpEvento,chNFe:chNFe,nSeqEvento:nSeqEvento,CNPJ:CNPJ,CPF:CPF,detEvento:detEvento,dhEvento:dhEvento,verEvento:verEvento}=eventoProps,idEvento=this.getID(eventoProps),orgao=ambienteNacional?91:cOrgao;this.tpEvento=tpEvento;const eventoObject={$:{versao:"1.00",xmlns:"http://www.portalfiscal.inf.br/nfe"},infEvento:{$:{Id:idEvento},cOrgao:orgao,tpAmb:ambiente,...CNPJ?{CNPJ:CNPJ}:{CPF:CPF},chNFe:chNFe,dhEvento:dhEvento,tpEvento:tpEvento,nSeqEvento:nSeqEvento,verEvento:verEvento,detEvento:{$:{versao:"1.00"},...detEvento}}},eventoXML=this.xmlBuilder.gerarXml(eventoObject,"evento"),xmlAssinado=this.xmlBuilder.assinarXML(eventoXML,"infEvento");ambienteNacional?this.xmlEventosNacionais.push(xmlAssinado):this.xmlEventosRegionais.push(xmlAssinado)}const envEvento={$:{versao:"1.00",xmlns:"http://www.portalfiscal.inf.br/nfe"},idLote:idLote,_:"[XML]"},xml=this.xmlBuilder.gerarXml(envEvento,"envEvento");return ambienteNacional?xml.replace("[XML]",this.xmlEventosNacionais.join("")):xml.replace("[XML]",this.xmlEventosRegionais.join(""))}async gerarConsulta(xmlConsulta,ambienteNacional){try{const config=this.environment.getConfig();"validateSchemaJsBased"!==config.lib?.useForSchemaValidation?await this.utility.validateSchemaJavaBased(xmlConsulta,this.metodo):await this.utility.validateSchemaJsBased(xmlConsulta,this.metodo);const{method:method,action:action}=this.utility.getSoapInfo(config.dfe.UF,this.metodo),xmlFormated=this.xmlBuilder.buildSoapEnvelope(xmlConsulta,method),agent=this.environment.getHttpAgent();return{xmlFormated:xmlFormated,agent:agent,webServiceUrl:this.utility.getWebServiceUrl(this.metodo,ambienteNacional||this.isAmbienteNacional(this.tpEvento)),action:action}}catch(error){throw new Error(error.message)}}trataRetorno(responseInJson){const retornoEventos=this.utility.findInObj(responseInJson,"retEvento");if(retornoEventos instanceof Array){for(let i=0;i<retornoEventos.length;i++){const chNFe=retornoEventos[i].infEvento.chNFe,xMotivo=retornoEventos[i].infEvento.xMotivo,cStat=retornoEventos[i].infEvento.cStat,tipoEvento=this.getTipoEventoName(retornoEventos[i].infEvento.tpEvento);this.xMotivoPorEvento.push({chNFe:chNFe,xMotivo:xMotivo,cStat:cStat,tipoEvento:tipoEvento})}return this.xMotivoPorEvento}const chNFe=retornoEventos.infEvento.chNFe,xMotivo=retornoEventos.infEvento.xMotivo,cStat=retornoEventos.infEvento.cStat,tipoEvento=this.getTipoEventoName(retornoEventos.infEvento.tpEvento);return this.xMotivoPorEvento.push({chNFe:chNFe,xMotivo:xMotivo,cStat:cStat,tipoEvento:tipoEvento}),this.xMotivoPorEvento}async enviaEvento(evento,idLote,tipoAmbiente){try{const ambienteNacional=0===tipoAmbiente,xmlConsulta=this.gerarXmlRecepcaoEvento(evento,idLote,ambienteNacional),{xmlFormated:xmlFormated,agent:agent,webServiceUrl:webServiceUrl,action:action}=await this.gerarConsulta(xmlConsulta,ambienteNacional),fileName=ambienteNacional?"RecepcaoEvento[Nacional]-consulta":"RecepcaoEvento[Regional]-consulta";this.utility.salvaConsulta(xmlConsulta,xmlFormated,this.metodo,fileName);return(await this.axios.post(webServiceUrl,xmlFormated,{headers:{"Content-Type":"text/xml; charset=utf-8",SOAPAction:action},httpsAgent:agent})).data}catch(error){throw new Error(error.message)}}async Exec(data){try{const{evento:evento,idLote:idLote}=data,{nacional:nacional,regional:regional}=this.separaEventosPorAmbiente(evento);let responseNacionalInJson,responseRegionalInJson=null,finalResponseInJson=[];if(nacional.length>0){const retornoNacional=await this.enviaEvento(nacional,idLote,0);responseNacionalInJson=this.utility.verificaRejeicao(retornoNacional,this.metodo),this.utility.salvaRetorno(retornoNacional,responseNacionalInJson,this.metodo,"RecepcaoEvento[Nacional]-retorno"),this.trataRetorno(responseNacionalInJson),finalResponseInJson.push(responseNacionalInJson)}if(regional.length>0){const retornoRegional=await this.enviaEvento(regional,idLote,1);responseRegionalInJson=this.utility.verificaRejeicao(retornoRegional,this.metodo),this.utility.salvaRetorno(retornoRegional,responseRegionalInJson,this.metodo,"RecepcaoEvento[Regional]-retorno"),this.trataRetorno(responseRegionalInJson),finalResponseInJson.push(responseRegionalInJson)}return{success:!0,xMotivos:this.xMotivoPorEvento,response:finalResponseInJson}}catch(error){throw new Error(error.message)}}}const getCodIBGE=UF=>({RO:11,AC:12,AM:13,RR:14,PA:15,AP:16,TO:17,MA:21,PI:22,CE:23,RN:24,PB:25,PE:26,AL:27,SE:28,BA:29,MG:31,ES:32,RJ:33,SP:35,PR:41,SC:42,RS:43,MS:50,MT:51,GO:52,DF:53,AN:91}[UF]);class NFEStatusServico$1 extends BaseNFE{constructor(environment,utility,xmlBuilder,axios){super(environment,utility,xmlBuilder,"NFEStatusServico",axios)}gerarXml(){return this.gerarXmlStatusServico()}salvaArquivos(xmlConsulta,responseInJson,xmlRetorno,options){}gerarXmlStatusServico(){try{const{nfe:{ambiente:ambiente,versaoDF:versaoDF},dfe:{UF:UF}}=this.environment.getConfig(),xmlObject={$:{versao:versaoDF,xmlns:"http://www.portalfiscal.inf.br/nfe"},tpAmb:ambiente,cUF:getCodIBGE(UF),xServ:"STATUS"};return this.xmlBuilder.gerarXml(xmlObject,"consStatServ")}catch(error){throw new Error(error.message)}}}/*! pako 2.1.0 https://github.com/nodeca/pako @license (MIT AND Zlib) */function zero$1(buf){let len=buf.length;for(;--len>=0;)buf[len]=0}const extra_lbits=new Uint8Array([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0]),extra_dbits=new Uint8Array([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13]),extra_blbits=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7]),bl_order=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),static_ltree=new Array(576);zero$1(static_ltree);const static_dtree=new Array(60);zero$1(static_dtree);const _dist_code=new Array(512);zero$1(_dist_code);const _length_code=new Array(256);zero$1(_length_code);const base_length=new Array(29);zero$1(base_length);const base_dist=new Array(30);function StaticTreeDesc(static_tree,extra_bits,extra_base,elems,max_length){this.static_tree=static_tree,this.extra_bits=extra_bits,this.extra_base=extra_base,this.elems=elems,this.max_length=max_length,this.has_stree=static_tree&&static_tree.length}let static_l_desc,static_d_desc,static_bl_desc;function TreeDesc(dyn_tree,stat_desc){this.dyn_tree=dyn_tree,this.max_code=0,this.stat_desc=stat_desc}zero$1(base_dist);const d_code=dist=>dist<256?_dist_code[dist]:_dist_code[256+(dist>>>7)],put_short=(s,w)=>{s.pending_buf[s.pending++]=255&w,s.pending_buf[s.pending++]=w>>>8&255},send_bits=(s,value,length)=>{s.bi_valid>16-length?(s.bi_buf|=value<<s.bi_valid&65535,put_short(s,s.bi_buf),s.bi_buf=value>>16-s.bi_valid,s.bi_valid+=length-16):(s.bi_buf|=value<<s.bi_valid&65535,s.bi_valid+=length)},send_code=(s,c,tree)=>{send_bits(s,tree[2*c],tree[2*c+1])},bi_reverse=(code,len)=>{let res=0;do{res|=1&code,code>>>=1,res<<=1}while(--len>0);return res>>>1},gen_codes=(tree,max_code,bl_count)=>{const next_code=new Array(16);let bits,n,code=0;for(bits=1;bits<=15;bits++)code=code+bl_count[bits-1]<<1,next_code[bits]=code;for(n=0;n<=max_code;n++){let len=tree[2*n+1];0!==len&&(tree[2*n]=bi_reverse(next_code[len]++,len))}},init_block=s=>{let n;for(n=0;n<286;n++)s.dyn_ltree[2*n]=0;for(n=0;n<30;n++)s.dyn_dtree[2*n]=0;for(n=0;n<19;n++)s.bl_tree[2*n]=0;s.dyn_ltree[512]=1,s.opt_len=s.static_len=0,s.sym_next=s.matches=0},bi_windup=s=>{s.bi_valid>8?put_short(s,s.bi_buf):s.bi_valid>0&&(s.pending_buf[s.pending++]=s.bi_buf),s.bi_buf=0,s.bi_valid=0},smaller=(tree,n,m,depth)=>{const _n2=2*n,_m2=2*m;return tree[_n2]<tree[_m2]||tree[_n2]===tree[_m2]&&depth[n]<=depth[m]},pqdownheap=(s,tree,k)=>{const v=s.heap[k];let j=k<<1;for(;j<=s.heap_len&&(j<s.heap_len&&smaller(tree,s.heap[j+1],s.heap[j],s.depth)&&j++,!smaller(tree,v,s.heap[j],s.depth));)s.heap[k]=s.heap[j],k=j,j<<=1;s.heap[k]=v},compress_block=(s,ltree,dtree)=>{let dist,lc,code,extra,sx=0;if(0!==s.sym_next)do{dist=255&s.pending_buf[s.sym_buf+sx++],dist+=(255&s.pending_buf[s.sym_buf+sx++])<<8,lc=s.pending_buf[s.sym_buf+sx++],0===dist?send_code(s,lc,ltree):(code=_length_code[lc],send_code(s,code+256+1,ltree),extra=extra_lbits[code],0!==extra&&(lc-=base_length[code],send_bits(s,lc,extra)),dist--,code=d_code(dist),send_code(s,code,dtree),extra=extra_dbits[code],0!==extra&&(dist-=base_dist[code],send_bits(s,dist,extra)))}while(sx<s.sym_next);send_code(s,256,ltree)},build_tree=(s,desc)=>{const tree=desc.dyn_tree,stree=desc.stat_desc.static_tree,has_stree=desc.stat_desc.has_stree,elems=desc.stat_desc.elems;let n,m,node,max_code=-1;for(s.heap_len=0,s.heap_max=573,n=0;n<elems;n++)0!==tree[2*n]?(s.heap[++s.heap_len]=max_code=n,s.depth[n]=0):tree[2*n+1]=0;for(;s.heap_len<2;)node=s.heap[++s.heap_len]=max_code<2?++max_code:0,tree[2*node]=1,s.depth[node]=0,s.opt_len--,has_stree&&(s.static_len-=stree[2*node+1]);for(desc.max_code=max_code,n=s.heap_len>>1;n>=1;n--)pqdownheap(s,tree,n);node=elems;do{n=s.heap[1],s.heap[1]=s.heap[s.heap_len--],pqdownheap(s,tree,1),m=s.heap[1],s.heap[--s.heap_max]=n,s.heap[--s.heap_max]=m,tree[2*node]=tree[2*n]+tree[2*m],s.depth[node]=(s.depth[n]>=s.depth[m]?s.depth[n]:s.depth[m])+1,tree[2*n+1]=tree[2*m+1]=node,s.heap[1]=node++,pqdownheap(s,tree,1)}while(s.heap_len>=2);s.heap[--s.heap_max]=s.heap[1],((s,desc)=>{const tree=desc.dyn_tree,max_code=desc.max_code,stree=desc.stat_desc.static_tree,has_stree=desc.stat_desc.has_stree,extra=desc.stat_desc.extra_bits,base=desc.stat_desc.extra_base,max_length=desc.stat_desc.max_length;let h,n,m,bits,xbits,f,overflow=0;for(bits=0;bits<=15;bits++)s.bl_count[bits]=0;for(tree[2*s.heap[s.heap_max]+1]=0,h=s.heap_max+1;h<573;h++)n=s.heap[h],bits=tree[2*tree[2*n+1]+1]+1,bits>max_length&&(bits=max_length,overflow++),tree[2*n+1]=bits,n>max_code||(s.bl_count[bits]++,xbits=0,n>=base&&(xbits=extra[n-base]),f=tree[2*n],s.opt_len+=f*(bits+xbits),has_stree&&(s.static_len+=f*(stree[2*n+1]+xbits)));if(0!==overflow){do{for(bits=max_length-1;0===s.bl_count[bits];)bits--;s.bl_count[bits]--,s.bl_count[bits+1]+=2,s.bl_count[max_length]--,overflow-=2}while(overflow>0);for(bits=max_length;0!==bits;bits--)for(n=s.bl_count[bits];0!==n;)m=s.heap[--h],m>max_code||(tree[2*m+1]!==bits&&(s.opt_len+=(bits-tree[2*m+1])*tree[2*m],tree[2*m+1]=bits),n--)}})(s,desc),gen_codes(tree,max_code,s.bl_count)},scan_tree=(s,tree,max_code)=>{let n,curlen,prevlen=-1,nextlen=tree[1],count=0,max_count=7,min_count=4;for(0===nextlen&&(max_count=138,min_count=3),tree[2*(max_code+1)+1]=65535,n=0;n<=max_code;n++)curlen=nextlen,nextlen=tree[2*(n+1)+1],++count<max_count&&curlen===nextlen||(count<min_count?s.bl_tree[2*curlen]+=count:0!==curlen?(curlen!==prevlen&&s.bl_tree[2*curlen]++,s.bl_tree[32]++):count<=10?s.bl_tree[34]++:s.bl_tree[36]++,count=0,prevlen=curlen,0===nextlen?(max_count=138,min_count=3):curlen===nextlen?(max_count=6,min_count=3):(max_count=7,min_count=4))},send_tree=(s,tree,max_code)=>{let n,curlen,prevlen=-1,nextlen=tree[1],count=0,max_count=7,min_count=4;for(0===nextlen&&(max_count=138,min_count=3),n=0;n<=max_code;n++)if(curlen=nextlen,nextlen=tree[2*(n+1)+1],!(++count<max_count&&curlen===nextlen)){if(count<min_count)do{send_code(s,curlen,s.bl_tree)}while(0!=--count);else 0!==curlen?(curlen!==prevlen&&(send_code(s,curlen,s.bl_tree),count--),send_code(s,16,s.bl_tree),send_bits(s,count-3,2)):count<=10?(send_code(s,17,s.bl_tree),send_bits(s,count-3,3)):(send_code(s,18,s.bl_tree),send_bits(s,count-11,7));count=0,prevlen=curlen,0===nextlen?(max_count=138,min_count=3):curlen===nextlen?(max_count=6,min_count=3):(max_count=7,min_count=4)}};let static_init_done=!1;const _tr_stored_block$1=(s,buf,stored_len,last)=>{send_bits(s,0+(last?1:0),3),bi_windup(s),put_short(s,stored_len),put_short(s,~stored_len),stored_len&&s.pending_buf.set(s.window.subarray(buf,buf+stored_len),s.pending),s.pending+=stored_len};var _tr_init_1=s=>{static_init_done||((()=>{let n,bits,length,code,dist;const bl_count=new Array(16);for(length=0,code=0;code<28;code++)for(base_length[code]=length,n=0;n<1<<extra_lbits[code];n++)_length_code[length++]=code;for(_length_code[length-1]=code,dist=0,code=0;code<16;code++)for(base_dist[code]=dist,n=0;n<1<<extra_dbits[code];n++)_dist_code[dist++]=code;for(dist>>=7;code<30;code++)for(base_dist[code]=dist<<7,n=0;n<1<<extra_dbits[code]-7;n++)_dist_code[256+dist++]=code;for(bits=0;bits<=15;bits++)bl_count[bits]=0;for(n=0;n<=143;)static_ltree[2*n+1]=8,n++,bl_count[8]++;for(;n<=255;)static_ltree[2*n+1]=9,n++,bl_count[9]++;for(;n<=279;)static_ltree[2*n+1]=7,n++,bl_count[7]++;for(;n<=287;)static_ltree[2*n+1]=8,n++,bl_count[8]++;for(gen_codes(static_ltree,287,bl_count),n=0;n<30;n++)static_dtree[2*n+1]=5,static_dtree[2*n]=bi_reverse(n,5);static_l_desc=new StaticTreeDesc(static_ltree,extra_lbits,257,286,15),static_d_desc=new StaticTreeDesc(static_dtree,extra_dbits,0,30,15),static_bl_desc=new StaticTreeDesc(new Array(0),extra_blbits,0,19,7)})(),static_init_done=!0),s.l_desc=new TreeDesc(s.dyn_ltree,static_l_desc),s.d_desc=new TreeDesc(s.dyn_dtree,static_d_desc),s.bl_desc=new TreeDesc(s.bl_tree,static_bl_desc),s.bi_buf=0,s.bi_valid=0,init_block(s)},_tr_flush_block_1=(s,buf,stored_len,last)=>{let opt_lenb,static_lenb,max_blindex=0;s.level>0?(2===s.strm.data_type&&(s.strm.data_type=(s=>{let n,block_mask=4093624447;for(n=0;n<=31;n++,block_mask>>>=1)if(1&block_mask&&0!==s.dyn_ltree[2*n])return 0;if(0!==s.dyn_ltree[18]||0!==s.dyn_ltree[20]||0!==s.dyn_ltree[26])return 1;for(n=32;n<256;n++)if(0!==s.dyn_ltree[2*n])return 1;return 0})(s)),build_tree(s,s.l_desc),build_tree(s,s.d_desc),max_blindex=(s=>{let max_blindex;for(scan_tree(s,s.dyn_ltree,s.l_desc.max_code),scan_tree(s,s.dyn_dtree,s.d_desc.max_code),build_tree(s,s.bl_desc),max_blindex=18;max_blindex>=3&&0===s.bl_tree[2*bl_order[max_blindex]+1];max_blindex--);return s.opt_len+=3*(max_blindex+1)+5+5+4,max_blindex})(s),opt_lenb=s.opt_len+3+7>>>3,static_lenb=s.static_len+3+7>>>3,static_lenb<=opt_lenb&&(opt_lenb=static_lenb)):opt_lenb=static_lenb=stored_len+5,stored_len+4<=opt_lenb&&-1!==buf?_tr_stored_block$1(s,buf,stored_len,last):4===s.strategy||static_lenb===opt_lenb?(send_bits(s,2+(last?1:0),3),compress_block(s,static_ltree,static_dtree)):(send_bits(s,4+(last?1:0),3),((s,lcodes,dcodes,blcodes)=>{let rank;for(send_bits(s,lcodes-257,5),send_bits(s,dcodes-1,5),send_bits(s,blcodes-4,4),rank=0;rank<blcodes;rank++)send_bits(s,s.bl_tree[2*bl_order[rank]+1],3);send_tree(s,s.dyn_ltree,lcodes-1),send_tree(s,s.dyn_dtree,dcodes-1)})(s,s.l_desc.max_code+1,s.d_desc.max_code+1,max_blindex+1),compress_block(s,s.dyn_ltree,s.dyn_dtree)),init_block(s),last&&bi_windup(s)},_tr_tally_1=(s,dist,lc)=>(s.pending_buf[s.sym_buf+s.sym_next++]=dist,s.pending_buf[s.sym_buf+s.sym_next++]=dist>>8,s.pending_buf[s.sym_buf+s.sym_next++]=lc,0===dist?s.dyn_ltree[2*lc]++:(s.matches++,dist--,s.dyn_ltree[2*(_length_code[lc]+256+1)]++,s.dyn_dtree[2*d_code(dist)]++),s.sym_next===s.sym_end),trees={_tr_init:_tr_init_1,_tr_stored_block:_tr_stored_block$1,_tr_flush_block:_tr_flush_block_1,_tr_tally:_tr_tally_1,_tr_align:s=>{send_bits(s,2,3),send_code(s,256,static_ltree),(s=>{16===s.bi_valid?(put_short(s,s.bi_buf),s.bi_buf=0,s.bi_valid=0):s.bi_valid>=8&&(s.pending_buf[s.pending++]=255&s.bi_buf,s.bi_buf>>=8,s.bi_valid-=8)})(s)}};var adler32_1=(adler,buf,len,pos)=>{let s1=65535&adler,s2=adler>>>16&65535,n=0;for(;0!==len;){n=len>2e3?2e3:len,len-=n;do{s1=s1+buf[pos++]|0,s2=s2+s1|0}while(--n);s1%=65521,s2%=65521}return s1|s2<<16};const crcTable=new Uint32Array((()=>{let c,table=[];for(var n=0;n<256;n++){c=n;for(var k=0;k<8;k++)c=1&c?3988292384^c>>>1:c>>>1;table[n]=c}return table})());var crc32_1=(crc,buf,len,pos)=>{const t=crcTable,end=pos+len;crc^=-1;for(let i=pos;i<end;i++)crc=crc>>>8^t[255&(crc^buf[i])];return~crc},messages={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"},constants$2={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_MEM_ERROR:-4,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8};const{_tr_init:_tr_init,_tr_stored_block:_tr_stored_block,_tr_flush_block:_tr_flush_block,_tr_tally:_tr_tally,_tr_align:_tr_align}=trees,{Z_NO_FLUSH:Z_NO_FLUSH$2,Z_PARTIAL_FLUSH:Z_PARTIAL_FLUSH,Z_FULL_FLUSH:Z_FULL_FLUSH$1,Z_FINISH:Z_FINISH$3,Z_BLOCK:Z_BLOCK$1,Z_OK:Z_OK$3,Z_STREAM_END:Z_STREAM_END$3,Z_STREAM_ERROR:Z_STREAM_ERROR$2,Z_DATA_ERROR:Z_DATA_ERROR$2,Z_BUF_ERROR:Z_BUF_ERROR$1,Z_DEFAULT_COMPRESSION:Z_DEFAULT_COMPRESSION$1,Z_FILTERED:Z_FILTERED,Z_HUFFMAN_ONLY:Z_HUFFMAN_ONLY,Z_RLE:Z_RLE,Z_FIXED:Z_FIXED,Z_DEFAULT_STRATEGY:Z_DEFAULT_STRATEGY$1,Z_UNKNOWN:Z_UNKNOWN,Z_DEFLATED:Z_DEFLATED$2}=constants$2,err=(strm,errorCode)=>(strm.msg=messages[errorCode],errorCode),rank=f=>2*f-(f>4?9:0),zero=buf=>{let len=buf.length;for(;--len>=0;)buf[len]=0},slide_hash=s=>{let n,m,p,wsize=s.w_size;n=s.hash_size,p=n;do{m=s.head[--p],s.head[p]=m>=wsize?m-wsize:0}while(--n);n=wsize,p=n;do{m=s.prev[--p],s.prev[p]=m>=wsize?m-wsize:0}while(--n)};let HASH=(s,prev,data)=>(prev<<s.hash_shift^data)&s.hash_mask;const flush_pending=strm=>{const s=strm.state;let len=s.pending;len>strm.avail_out&&(len=strm.avail_out),0!==len&&(strm.output.set(s.pending_buf.subarray(s.pending_out,s.pending_out+len),strm.next_out),strm.next_out+=len,s.pending_out+=len,strm.total_out+=len,strm.avail_out-=len,s.pending-=len,0===s.pending&&(s.pending_out=0))},flush_block_only=(s,last)=>{_tr_flush_block(s,s.block_start>=0?s.block_start:-1,s.strstart-s.block_start,last),s.block_start=s.strstart,flush_pending(s.strm)},put_byte=(s,b)=>{s.pending_buf[s.pending++]=b},putShortMSB=(s,b)=>{s.pending_buf[s.pending++]=b>>>8&255,s.pending_buf[s.pending++]=255&b},read_buf=(strm,buf,start,size)=>{let len=strm.avail_in;return len>size&&(len=size),0===len?0:(strm.avail_in-=len,buf.set(strm.input.subarray(strm.next_in,strm.next_in+len),start),1===strm.state.wrap?strm.adler=adler32_1(strm.adler,buf,len,start):2===strm.state.wrap&&(strm.adler=crc32_1(strm.adler,buf,len,start)),strm.next_in+=len,strm.total_in+=len,len)},longest_match=(s,cur_match)=>{let match,len,chain_length=s.max_chain_length,scan=s.strstart,best_len=s.prev_length,nice_match=s.nice_match;const limit=s.strstart>s.w_size-262?s.strstart-(s.w_size-262):0,_win=s.window,wmask=s.w_mask,prev=s.prev,strend=s.strstart+258;let scan_end1=_win[scan+best_len-1],scan_end=_win[scan+best_len];s.prev_length>=s.good_match&&(chain_length>>=2),nice_match>s.lookahead&&(nice_match=s.lookahead);do{if(match=cur_match,_win[match+best_len]===scan_end&&_win[match+best_len-1]===scan_end1&&_win[match]===_win[scan]&&_win[++match]===_win[scan+1]){scan+=2,match++;do{}while(_win[++scan]===_win[++match]&&_win[++scan]===_win[++match]&&_win[++scan]===_win[++match]&&_win[++scan]===_win[++match]&&_win[++scan]===_win[++match]&&_win[++scan]===_win[++match]&&_win[++scan]===_win[++match]&&_win[++scan]===_win[++match]&&scan<strend);if(len=258-(strend-scan),scan=strend-258,len>best_len){if(s.match_start=cur_match,best_len=len,len>=nice_match)break;scan_end1=_win[scan+best_len-1],scan_end=_win[scan+best_len]}}}while((cur_match=prev[cur_match&wmask])>limit&&0!=--chain_length);return best_len<=s.lookahead?best_len:s.lookahead},fill_window=s=>{const _w_size=s.w_size;let n,more,str;do{if(more=s.window_size-s.lookahead-s.strstart,s.strstart>=_w_size+(_w_size-262)&&(s.window.set(s.window.subarray(_w_size,_w_size+_w_size-more),0),s.match_start-=_w_size,s.strstart-=_w_size,s.block_start-=_w_size,s.insert>s.strstart&&(s.insert=s.strstart),slide_hash(s),more+=_w_size),0===s.strm.avail_in)break;if(n=read_buf(s.strm,s.window,s.strstart+s.lookahead,more),s.lookahead+=n,s.lookahead+s.insert>=3)for(str=s.strstart-s.insert,s.ins_h=s.window[str],s.ins_h=HASH(s,s.ins_h,s.window[str+1]);s.insert&&(s.ins_h=HASH(s,s.ins_h,s.window[str+3-1]),s.prev[str&s.w_mask]=s.head[s.ins_h],s.head[s.ins_h]=str,str++,s.insert--,!(s.lookahead+s.insert<3)););}while(s.lookahead<262&&0!==s.strm.avail_in)},deflate_stored=(s,flush)=>{let len,left,have,min_block=s.pending_buf_size-5>s.w_size?s.w_size:s.pending_buf_size-5,last=0,used=s.strm.avail_in;do{if(len=65535,have=s.bi_valid+42>>3,s.strm.avail_out<have)break;if(have=s.strm.avail_out-have,left=s.strstart-s.block_start,len>left+s.strm.avail_in&&(len=left+s.strm.avail_in),len>have&&(len=have),len<min_block&&(0===len&&flush!==Z_FINISH$3||flush===Z_NO_FLUSH$2||len!==left+s.strm.avail_in))break;last=flush===Z_FINISH$3&&len===left+s.strm.avail_in?1:0,_tr_stored_block(s,0,0,last),s.pending_buf[s.pending-4]=len,s.pending_buf[s.pending-3]=len>>8,s.pending_buf[s.pending-2]=~len,s.pending_buf[s.pending-1]=~len>>8,flush_pending(s.strm),left&&(left>len&&(left=len),s.strm.output.set(s.window.subarray(s.block_start,s.block_start+left),s.strm.next_out),s.strm.next_out+=left,s.strm.avail_out-=left,s.strm.total_out+=left,s.block_start+=left,len-=left),len&&(read_buf(s.strm,s.strm.output,s.strm.next_out,len),s.strm.next_out+=len,s.strm.avail_out-=len,s.strm.total_out+=len)}while(0===last);return used-=s.strm.avail_in,used&&(used>=s.w_size?(s.matches=2,s.window.set(s.strm.input.subarray(s.strm.next_in-s.w_size,s.strm.next_in),0),s.strstart=s.w_size,s.insert=s.strstart):(s.window_size-s.strstart<=used&&(s.strstart-=s.w_size,s.window.set(s.window.subarray(s.w_size,s.w_size+s.strstart),0),s.matches<2&&s.matches++,s.insert>s.strstart&&(s.insert=s.strstart)),s.window.set(s.strm.input.subarray(s.strm.next_in-used,s.strm.next_in),s.strstart),s.strstart+=used,s.insert+=used>s.w_size-s.insert?s.w_size-s.insert:used),s.block_start=s.strstart),s.high_water<s.strstart&&(s.high_water=s.strstart),last?4:flush!==Z_NO_FLUSH$2&&flush!==Z_FINISH$3&&0===s.strm.avail_in&&s.strstart===s.block_start?2:(have=s.window_size-s.strstart,s.strm.avail_in>have&&s.block_start>=s.w_size&&(s.block_start-=s.w_size,s.strstart-=s.w_size,s.window.set(s.window.subarray(s.w_size,s.w_size+s.strstart),0),s.matches<2&&s.matches++,have+=s.w_size,s.insert>s.strstart&&(s.insert=s.strstart)),have>s.strm.avail_in&&(have=s.strm.avail_in),have&&(read_buf(s.strm,s.window,s.strstart,have),s.strstart+=have,s.insert+=have>s.w_size-s.insert?s.w_size-s.insert:have),s.high_water<s.strstart&&(s.high_water=s.strstart),have=s.bi_valid+42>>3,have=s.pending_buf_size-have>65535?65535:s.pending_buf_size-have,min_block=have>s.w_size?s.w_size:have,left=s.strstart-s.block_start,(left>=min_block||(left||flush===Z_FINISH$3)&&flush!==Z_NO_FLUSH$2&&0===s.strm.avail_in&&left<=have)&&(len=left>have?have:left,last=flush===Z_FINISH$3&&0===s.strm.avail_in&&len===left?1:0,_tr_stored_block(s,s.block_start,len,last),s.block_start+=len,flush_pending(s.strm)),last?3:1)},deflate_fast=(s,flush)=>{let hash_head,bflush;for(;;){if(s.lookahead<262){if(fill_window(s),s.lookahead<262&&flush===Z_NO_FLUSH$2)return 1;if(0===s.lookahead)break}if(hash_head=0,s.lookahead>=3&&(s.ins_h=HASH(s,s.ins_h,s.window[s.strstart+3-1]),hash_head=s.prev[s.strstart&s.w_mask]=s.head[s.ins_h],s.head[s.ins_h]=s.strstart),0!==hash_head&&s.strstart-hash_head<=s.w_size-262&&(s.match_length=longest_match(s,hash_head)),s.match_length>=3)if(bflush=_tr_tally(s,s.strstart-s.match_start,s.match_length-3),s.lookahead-=s.match_length,s.match_length<=s.max_lazy_match&&s.lookahead>=3){s.match_length--;do{s.strstart++,s.ins_h=HASH(s,s.ins_h,s.window[s.strstart+3-1]),hash_head=s.prev[s.strstart&s.w_mask]=s.head[s.ins_h],s.head[s.ins_h]=s.strstart}while(0!=--s.match_length);s.strstart++}else s.strstart+=s.match_length,s.match_length=0,s.ins_h=s.window[s.strstart],s.ins_h=HASH(s,s.ins_h,s.window[s.strstart+1]);else bflush=_tr_tally(s,0,s.window[s.strstart]),s.lookahead--,s.strstart++;if(bflush&&(flush_block_only(s,!1),0===s.strm.avail_out))return 1}return s.insert=s.strstart<2?s.strstart:2,flush===Z_FINISH$3?(flush_block_only(s,!0),0===s.strm.avail_out?3:4):s.sym_next&&(flush_block_only(s,!1),0===s.strm.avail_out)?1:2},deflate_slow=(s,flush)=>{let hash_head,bflush,max_insert;for(;;){if(s.lookahead<262){if(fill_window(s),s.lookahead<262&&flush===Z_NO_FLUSH$2)return 1;if(0===s.lookahead)break}if(hash_head=0,s.lookahead>=3&&(s.ins_h=HASH(s,s.ins_h,s.window[s.strstart+3-1]),hash_head=s.prev[s.strstart&s.w_mask]=s.head[s.ins_h],s.head[s.ins_h]=s.strstart),s.prev_length=s.match_length,s.prev_match=s.match_start,s.match_length=2,0!==hash_head&&s.prev_length<s.max_lazy_match&&s.strstart-hash_head<=s.w_size-262&&(s.match_length=longest_match(s,hash_head),s.match_length<=5&&(s.strategy===Z_FILTERED||3===s.match_length&&s.strstart-s.match_start>4096)&&(s.match_length=2)),s.prev_length>=3&&s.match_length<=s.prev_length){max_insert=s.strstart+s.lookahead-3,bflush=_tr_tally(s,s.strstart-1-s.prev_match,s.prev_length-3),s.lookahead-=s.prev_length-1,s.prev_length-=2;do{++s.strstart<=max_insert&&(s.ins_h=HASH(s,s.ins_h,s.window[s.strstart+3-1]),hash_head=s.prev[s.strstart&s.w_mask]=s.head[s.ins_h],s.head[s.ins_h]=s.strstart)}while(0!=--s.prev_length);if(s.match_available=0,s.match_length=2,s.strstart++,bflush&&(flush_block_only(s,!1),0===s.strm.avail_out))return 1}else if(s.match_available){if(bflush=_tr_tally(s,0,s.window[s.strstart-1]),bflush&&flush_block_only(s,!1),s.strstart++,s.lookahead--,0===s.strm.avail_out)return 1}else s.match_available=1,s.strstart++,s.lookahead--}return s.match_available&&(bflush=_tr_tally(s,0,s.window[s.strstart-1]),s.match_available=0),s.insert=s.strstart<2?s.strstart:2,flush===Z_FINISH$3?(flush_block_only(s,!0),0===s.strm.avail_out?3:4):s.sym_next&&(flush_block_only(s,!1),0===s.strm.avail_out)?1:2};function Config(good_length,max_lazy,nice_length,max_chain,func){this.good_length=good_length,this.max_lazy=max_lazy,this.nice_length=nice_length,this.max_chain=max_chain,this.func=func}const configuration_table=[new Config(0,0,0,0,deflate_stored),new Config(4,4,8,4,deflate_fast),new Config(4,5,16,8,deflate_fast),new Config(4,6,32,32,deflate_fast),new Config(4,4,16,16,deflate_slow),new Config(8,16,32,32,deflate_slow),new Config(8,16,128,128,deflate_slow),new Config(8,32,128,256,deflate_slow),new Config(32,128,258,1024,deflate_slow),new Config(32,258,258,4096,deflate_slow)];function DeflateState(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=Z_DEFLATED$2,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new Uint16Array(1146),this.dyn_dtree=new Uint16Array(122),this.bl_tree=new Uint16Array(78),zero(this.dyn_ltree),zero(this.dyn_dtree),zero(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new Uint16Array(16),this.heap=new Uint16Array(573),zero(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new Uint16Array(573),zero(this.depth),this.sym_buf=0,this.lit_bufsize=0,this.sym_next=0,this.sym_end=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}const deflateStateCheck=strm=>{if(!strm)return 1;const s=strm.state;return!s||s.strm!==strm||42!==s.status&&57!==s.status&&69!==s.status&&73!==s.status&&91!==s.status&&103!==s.status&&113!==s.status&&666!==s.status?1:0},deflateResetKeep=strm=>{if(deflateStateCheck(strm))return err(strm,Z_STREAM_ERROR$2);strm.total_in=strm.total_out=0,strm.data_type=Z_UNKNOWN;const s=strm.state;return s.pending=0,s.pending_out=0,s.wrap<0&&(s.wrap=-s.wrap),s.status=2===s.wrap?57:s.wrap?42:113,strm.adler=2===s.wrap?0:1,s.last_flush=-2,_tr_init(s),Z_OK$3},deflateReset=strm=>{const ret=deflateResetKeep(strm);var s;return ret===Z_OK$3&&((s=strm.state).window_size=2*s.w_size,zero(s.head),s.max_lazy_match=configuration_table[s.level].max_lazy,s.good_match=configuration_table[s.level].good_length,s.nice_match=configuration_table[s.level].nice_length,s.max_chain_length=configuration_table[s.level].max_chain,s.strstart=0,s.block_start=0,s.lookahead=0,s.insert=0,s.match_length=s.prev_length=2,s.match_available=0,s.ins_h=0),ret},deflateInit2=(strm,level,method,windowBits,memLevel,strategy)=>{if(!strm)return Z_STREAM_ERROR$2;let wrap=1;if(level===Z_DEFAULT_COMPRESSION$1&&(level=6),windowBits<0?(wrap=0,windowBits=-windowBits):windowBits>15&&(wrap=2,windowBits-=16),memLevel<1||memLevel>9||method!==Z_DEFLATED$2||windowBits<8||windowBits>15||level<0||level>9||strategy<0||strategy>Z_FIXED||8===windowBits&&1!==wrap)return err(strm,Z_STREAM_ERROR$2);8===windowBits&&(windowBits=9);const s=new DeflateState;return strm.state=s,s.strm=strm,s.status=42,s.wrap=wrap,s.gzhead=null,s.w_bits=windowBits,s.w_size=1<<s.w_bits,s.w_mask=s.w_size-1,s.hash_bits=memLevel+7,s.hash_size=1<<s.hash_bits,s.hash_mask=s.hash_size-1,s.hash_shift=~~((s.hash_bits+3-1)/3),s.window=new Uint8Array(2*s.w_size),s.head=new Uint16Array(s.hash_size),s.prev=new Uint16Array(s.w_size),s.lit_bufsize=1<<memLevel+6,s.pending_buf_size=4*s.lit_bufsize,s.pending_buf=new Uint8Array(s.pending_buf_size),s.sym_buf=s.lit_bufsize,s.sym_end=3*(s.lit_bufsize-1),s.level=level,s.strategy=strategy,s.method=method,deflateReset(strm)};var deflate_1$2={deflateInit:(strm,level)=>deflateInit2(strm,level,Z_DEFLATED$2,15,8,Z_DEFAULT_STRATEGY$1),deflateInit2:deflateInit2,deflateReset:deflateReset,deflateResetKeep:deflateResetKeep,deflateSetHeader:(strm,head)=>deflateStateCheck(strm)||2!==strm.state.wrap?Z_STREAM_ERROR$2:(strm.state.gzhead=head,Z_OK$3),deflate:(strm,flush)=>{if(deflateStateCheck(strm)||flush>Z_BLOCK$1||flush<0)return strm?err(strm,Z_STREAM_ERROR$2):Z_STREAM_ERROR$2;const s=strm.state;if(!strm.output||0!==strm.avail_in&&!strm.input||666===s.status&&flush!==Z_FINISH$3)return err(strm,0===strm.avail_out?Z_BUF_ERROR$1:Z_STREAM_ERROR$2);const old_flush=s.last_flush;if(s.last_flush=flush,0!==s.pending){if(flush_pending(strm),0===strm.avail_out)return s.last_flush=-1,Z_OK$3}else if(0===strm.avail_in&&rank(flush)<=rank(old_flush)&&flush!==Z_FINISH$3)return err(strm,Z_BUF_ERROR$1);if(666===s.status&&0!==strm.avail_in)return err(strm,Z_BUF_ERROR$1);if(42===s.status&&0===s.wrap&&(s.status=113),42===s.status){let header=Z_DEFLATED$2+(s.w_bits-8<<4)<<8,level_flags=-1;if(level_flags=s.strategy>=Z_HUFFMAN_ONLY||s.level<2?0:s.level<6?1:6===s.level?2:3,header|=level_flags<<6,0!==s.strstart&&(header|=32),header+=31-header%31,putShortMSB(s,header),0!==s.strstart&&(putShortMSB(s,strm.adler>>>16),putShortMSB(s,65535&strm.adler)),strm.adler=1,s.status=113,flush_pending(strm),0!==s.pending)return s.last_flush=-1,Z_OK$3}if(57===s.status)if(strm.adler=0,put_byte(s,31),put_byte(s,139),put_byte(s,8),s.gzhead)put_byte(s,(s.gzhead.text?1:0)+(s.gzhead.hcrc?2:0)+(s.gzhead.extra?4:0)+(s.gzhead.name?8:0)+(s.gzhead.comment?16:0)),put_byte(s,255&s.gzhead.time),put_byte(s,s.gzhead.time>>8&255),put_byte(s,s.gzhead.time>>16&255),put_byte(s,s.gzhead.time>>24&255),put_byte(s,9===s.level?2:s.strategy>=Z_HUFFMAN_ONLY||s.level<2?4:0),put_byte(s,255&s.gzhead.os),s.gzhead.extra&&s.gzhead.extra.length&&(put_byte(s,255&s.gzhead.extra.length),put_byte(s,s.gzhead.extra.length>>8&255)),s.gzhead.hcrc&&(strm.adler=crc32_1(strm.adler,s.pending_buf,s.pending,0)),s.gzindex=0,s.status=69;else if(put_byte(s,0),put_byte(s,0),put_byte(s,0),put_byte(s,0),put_byte(s,0),put_byte(s,9===s.level?2:s.strategy>=Z_HUFFMAN_ONLY||s.level<2?4:0),put_byte(s,3),s.status=113,flush_pending(strm),0!==s.pending)return s.last_flush=-1,Z_OK$3;if(69===s.status){if(s.gzhead.extra){let beg=s.pending,left=(65535&s.gzhead.extra.length)-s.gzindex;for(;s.pending+left>s.pending_buf_size;){let copy=s.pending_buf_size-s.pending;if(s.pending_buf.set(s.gzhead.extra.subarray(s.gzindex,s.gzindex+copy),s.pending),s.pending=s.pending_buf_size,s.gzhead.hcrc&&s.pending>beg&&(strm.adler=crc32_1(strm.adler,s.pending_buf,s.pending-beg,beg)),s.gzindex+=copy,flush_pending(strm),0!==s.pending)return s.last_flush=-1,Z_OK$3;beg=0,left-=copy}let gzhead_extra=new Uint8Array(s.gzhead.extra);s.pending_buf.set(gzhead_extra.subarray(s.gzindex,s.gzindex+left),s.pending),s.pending+=left,s.gzhead.hcrc&&s.pending>beg&&(strm.adler=crc32_1(strm.adler,s.pending_buf,s.pending-beg,beg)),s.gzindex=0}s.status=73}if(73===s.status){if(s.gzhead.name){let val,beg=s.pending;do{if(s.pending===s.pending_buf_size){if(s.gzhead.hcrc&&s.pending>beg&&(strm.adler=crc32_1(strm.adler,s.pending_buf,s.pending-beg,beg)),flush_pending(strm),0!==s.pending)return s.last_flush=-1,Z_OK$3;beg=0}val=s.gzindex<s.gzhead.name.length?255&s.gzhead.name.charCodeAt(s.gzindex++):0,put_byte(s,val)}while(0!==val);s.gzhead.hcrc&&s.pending>beg&&(strm.adler=crc32_1(strm.adler,s.pending_buf,s.pending-beg,beg)),s.gzindex=0}s.status=91}if(91===s.status){if(s.gzhead.comment){let val,beg=s.pending;do{if(s.pending===s.pending_buf_size){if(s.gzhead.hcrc&&s.pending>beg&&(strm.adler=crc32_1(strm.adler,s.pending_buf,s.pending-beg,beg)),flush_pending(strm),0!==s.pending)return s.last_flush=-1,Z_OK$3;beg=0}val=s.gzindex<s.gzhead.comment.length?255&s.gzhead.comment.charCodeAt(s.gzindex++):0,put_byte(s,val)}while(0!==val);s.gzhead.hcrc&&s.pending>beg&&(strm.adler=crc32_1(strm.adler,s.pending_buf,s.pending-beg,beg))}s.status=103}if(103===s.status){if(s.gzhead.hcrc){if(s.pending+2>s.pending_buf_size&&(flush_pending(strm),0!==s.pending))return s.last_flush=-1,Z_OK$3;put_byte(s,255&strm.adler),put_byte(s,strm.adler>>8&255),strm.adler=0}if(s.status=113,flush_pending(strm),0!==s.pending)return s.last_flush=-1,Z_OK$3}if(0!==strm.avail_in||0!==s.lookahead||flush!==Z_NO_FLUSH$2&&666!==s.status){let bstate=0===s.level?deflate_stored(s,flush):s.strategy===Z_HUFFMAN_ONLY?((s,flush)=>{let bflush;for(;;){if(0===s.lookahead&&(fill_window(s),0===s.lookahead)){if(flush===Z_NO_FLUSH$2)return 1;break}if(s.match_length=0,bflush=_tr_tally(s,0,s.window[s.strstart]),s.lookahead--,s.strstart++,bflush&&(flush_block_only(s,!1),0===s.strm.avail_out))return 1}return s.insert=0,flush===Z_FINISH$3?(flush_block_only(s,!0),0===s.strm.avail_out?3:4):s.sym_next&&(flush_block_only(s,!1),0===s.strm.avail_out)?1:2})(s,flush):s.strategy===Z_RLE?((s,flush)=>{let bflush,prev,scan,strend;const _win=s.window;for(;;){if(s.lookahead<=258){if(fill_window(s),s.lookahead<=258&&flush===Z_NO_FLUSH$2)return 1;if(0===s.lookahead)break}if(s.match_length=0,s.lookahead>=3&&s.strstart>0&&(scan=s.strstart-1,prev=_win[scan],prev===_win[++scan]&&prev===_win[++scan]&&prev===_win[++scan])){strend=s.strstart+258;do{}while(prev===_win[++scan]&&prev===_win[++scan]&&prev===_win[++scan]&&prev===_win[++scan]&&prev===_win[++scan]&&prev===_win[++scan]&&prev===_win[++scan]&&prev===_win[++scan]&&scan<strend);s.match_length=258-(strend-scan),s.match_length>s.lookahead&&(s.match_length=s.lookahead)}if(s.match_length>=3?(bflush=_tr_tally(s,1,s.match_length-3),s.lookahead-=s.match_length,s.strstart+=s.match_length,s.match_length=0):(bflush=_tr_tally(s,0,s.window[s.strstart]),s.lookahead--,s.strstart++),bflush&&(flush_block_only(s,!1),0===s.strm.avail_out))return 1}return s.insert=0,flush===Z_FINISH$3?(flush_block_only(s,!0),0===s.strm.avail_out?3:4):s.sym_next&&(flush_block_only(s,!1),0===s.strm.avail_out)?1:2})(s,flush):configuration_table[s.level].func(s,flush);if(3!==bstate&&4!==bstate||(s.status=666),1===bstate||3===bstate)return 0===strm.avail_out&&(s.last_flush=-1),Z_OK$3;if(2===bstate&&(flush===Z_PARTIAL_FLUSH?_tr_align(s):flush!==Z_BLOCK$1&&(_tr_stored_block(s,0,0,!1),flush===Z_FULL_FLUSH$1&&(zero(s.head),0===s.lookahead&&(s.strstart=0,s.block_start=0,s.insert=0))),flush_pending(strm),0===strm.avail_out))return s.last_flush=-1,Z_OK$3}return flush!==Z_FINISH$3?Z_OK$3:s.wrap<=0?Z_STREAM_END$3:(2===s.wrap?(put_byte(s,255&strm.adler),put_byte(s,strm.adler>>8&255),put_byte(s,strm.adler>>16&255),put_byte(s,strm.adler>>24&255),put_byte(s,255&strm.total_in),put_byte(s,strm.total_in>>8&255),put_byte(s,strm.total_in>>16&255),put_byte(s,strm.total_in>>24&255)):(putShortMSB(s,strm.adler>>>16),putShortMSB(s,65535&strm.adler)),flush_pending(strm),s.wrap>0&&(s.wrap=-s.wrap),0!==s.pending?Z_OK$3:Z_STREAM_END$3)},deflateEnd:strm=>{if(deflateStateCheck(strm))return Z_STREAM_ERROR$2;const status=strm.state.status;return strm.state=null,113===status?err(strm,Z_DATA_ERROR$2):Z_OK$3},deflateSetDictionary:(strm,dictionary)=>{let dictLength=dictionary.length;if(deflateStateCheck(strm))return Z_STREAM_ERROR$2;const s=strm.state,wrap=s.wrap;if(2===wrap||1===wrap&&42!==s.status||s.lookahead)return Z_STREAM_ERROR$2;if(1===wrap&&(strm.adler=adler32_1(strm.adler,dictionary,dictLength,0)),s.wrap=0,dictLength>=s.w_size){0===wrap&&(zero(s.head),s.strstart=0,s.block_start=0,s.insert=0);let tmpDict=new Uint8Array(s.w_size);tmpDict.set(dictionary.subarray(dictLength-s.w_size,dictLength),0),dictionary=tmpDict,dictLength=s.w_size}const avail=strm.avail_in,next=strm.next_in,input=strm.input;for(strm.avail_in=dictLength,strm.next_in=0,strm.input=dictionary,fill_window(s);s.lookahead>=3;){let str=s.strstart,n=s.lookahead-2;do{s.ins_h=HASH(s,s.ins_h,s.window[str+3-1]),s.prev[str&s.w_mask]=s.head[s.ins_h],s.head[s.ins_h]=str,str++}while(--n);s.strstart=str,s.lookahead=2,fill_window(s)}return s.strstart+=s.lookahead,s.block_start=s.strstart,s.insert=s.lookahead,s.lookahead=0,s.match_length=s.prev_length=2,s.match_available=0,strm.next_in=next,strm.input=input,strm.avail_in=avail,s.wrap=wrap,Z_OK$3},deflateInfo:"pako deflate (from Nodeca project)"};const _has=(obj,key)=>Object.prototype.hasOwnProperty.call(obj,key);var common$1_assign=function(obj){const sources=Array.prototype.slice.call(arguments,1);for(;sources.length;){const source=sources.shift();if(source){if("object"!=typeof source)throw new TypeError(source+"must be non-object");for(const p in source)_has(source,p)&&(obj[p]=source[p])}}return obj},common$1_flattenChunks=chunks=>{let len=0;for(let i=0,l=chunks.length;i<l;i++)len+=chunks[i].length;const result=new Uint8Array(len);for(let i=0,pos=0,l=chunks.length;i<l;i++){let chunk=chunks[i];result.set(chunk,pos),pos+=chunk.length}return result};let STR_APPLY_UIA_OK=!0;try{String.fromCharCode.apply(null,new Uint8Array(1))}catch(__){STR_APPLY_UIA_OK=!1}const _utf8len=new Uint8Array(256);for(let q=0;q<256;q++)_utf8len[q]=q>=252?6:q>=248?5:q>=240?4:q>=224?3:q>=192?2:1;_utf8len[254]=_utf8len[254]=1;var strings_string2buf=str=>{if("function"==typeof TextEncoder&&TextEncoder.prototype.encode)return(new TextEncoder).encode(str);let buf,c,c2,m_pos,i,str_len=str.length,buf_len=0;for(m_pos=0;m_pos<str_len;m_pos++)c=str.charCodeAt(m_pos),55296==(64512&c)&&m_pos+1<str_len&&(c2=str.charCodeAt(m_pos+1),56320==(64512&c2)&&(c=65536+(c-55296<<10)+(c2-56320),m_pos++)),buf_len+=c<128?1:c<2048?2:c<65536?3:4;for(buf=new Uint8Array(buf_len),i=0,m_pos=0;i<buf_len;m_pos++)c=str.charCodeAt(m_pos),55296==(64512&c)&&m_pos+1<str_len&&(c2=str.charCodeAt(m_pos+1),56320==(64512&c2)&&(c=65536+(c-55296<<10)+(c2-56320),m_pos++)),c<128?buf[i++]=c:c<2048?(buf[i++]=192|c>>>6,buf[i++]=128|63&c):c<65536?(buf[i++]=224|c>>>12,buf[i++]=128|c>>>6&63,buf[i++]=128|63&c):(buf[i++]=240|c>>>18,buf[i++]=128|c>>>12&63,buf[i++]=128|c>>>6&63,buf[i++]=128|63&c);return buf},strings_buf2string=(buf,max)=>{const len=max||buf.length;if("function"==typeof TextDecoder&&TextDecoder.prototype.decode)return(new TextDecoder).decode(buf.subarray(0,max));let i,out;const utf16buf=new Array(2*len);for(out=0,i=0;i<len;){let c=buf[i++];if(c<128){utf16buf[out++]=c;continue}let c_len=_utf8len[c];if(c_len>4)utf16buf[out++]=65533,i+=c_len-1;else{for(c&=2===c_len?31:3===c_len?15:7;c_len>1&&i<len;)c=c<<6|63&buf[i++],c_len--;c_len>1?utf16buf[out++]=65533:c<65536?utf16buf[out++]=c:(c-=65536,utf16buf[out++]=55296|c>>10&1023,utf16buf[out++]=56320|1023&c)}}return((buf,len)=>{if(len<65534&&buf.subarray&&STR_APPLY_UIA_OK)return String.fromCharCode.apply(null,buf.length===len?buf:buf.subarray(0,len));let result="";for(let i=0;i<len;i++)result+=String.fromCharCode(buf[i]);return result})(utf16buf,out)},strings_utf8border=(buf,max)=>{(max=max||buf.length)>buf.length&&(max=buf.length);let pos=max-1;for(;pos>=0&&128==(192&buf[pos]);)pos--;return pos<0||0===pos?max:pos+_utf8len[buf[pos]]>max?pos:max};var zstream=function ZStream(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0};const toString$1=Object.prototype.toString,{Z_NO_FLUSH:Z_NO_FLUSH$1,Z_SYNC_FLUSH:Z_SYNC_FLUSH,Z_FULL_FLUSH:Z_FULL_FLUSH,Z_FINISH:Z_FINISH$2,Z_OK:Z_OK$2,Z_STREAM_END:Z_STREAM_END$2,Z_DEFAULT_COMPRESSION:Z_DEFAULT_COMPRESSION,Z_DEFAULT_STRATEGY:Z_DEFAULT_STRATEGY,Z_DEFLATED:Z_DEFLATED$1}=constants$2;function Deflate$1(options){this.options=common$1_assign({level:Z_DEFAULT_COMPRESSION,method:Z_DEFLATED$1,chunkSize:16384,windowBits:15,memLevel:8,strategy:Z_DEFAULT_STRATEGY},options||{});let opt=this.options;opt.raw&&opt.windowBits>0?opt.windowBits=-opt.windowBits:opt.gzip&&opt.windowBits>0&&opt.windowBits<16&&(opt.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new zstream,this.strm.avail_out=0;let status=deflate_1$2.deflateInit2(this.strm,opt.level,opt.method,opt.windowBits,opt.memLevel,opt.strategy);if(status!==Z_OK$2)throw new Error(messages[status]);if(opt.header&&deflate_1$2.deflateSetHeader(this.strm,opt.header),opt.dictionary){let dict;if(dict="string"==typeof opt.dictionary?strings_string2buf(opt.dictionary):"[object ArrayBuffer]"===toString$1.call(opt.dictionary)?new Uint8Array(opt.dictionary):opt.dictionary,status=deflate_1$2.deflateSetDictionary(this.strm,dict),status!==Z_OK$2)throw new Error(messages[status]);this._dict_set=!0}}function deflate$1(input,options){const deflator=new Deflate$1(options);if(deflator.push(input,!0),deflator.err)throw deflator.msg||messages[deflator.err];return deflator.result}Deflate$1.prototype.push=function(data,flush_mode){const strm=this.strm,chunkSize=this.options.chunkSize;let status,_flush_mode;if(this.ended)return!1;for(_flush_mode=flush_mode===~~flush_mode?flush_mode:!0===flush_mode?Z_FINISH$2:Z_NO_FLUSH$1,"string"==typeof data?strm.input=strings_string2buf(data):"[object ArrayBuffer]"===toString$1.call(data)?strm.input=new Uint8Array(data):strm.input=data,strm.next_in=0,strm.avail_in=strm.input.length;;)if(0===strm.avail_out&&(strm.output=new Uint8Array(chunkSize),strm.next_out=0,strm.avail_out=chunkSize),(_flush_mode===Z_SYNC_FLUSH||_flush_mode===Z_FULL_FLUSH)&&strm.avail_out<=6)this.onData(strm.output.subarray(0,strm.next_out)),strm.avail_out=0;else{if(status=deflate_1$2.deflate(strm,_flush_mode),status===Z_STREAM_END$2)return strm.next_out>0&&this.onData(strm.output.subarray(0,strm.next_out)),status=deflate_1$2.deflateEnd(this.strm),this.onEnd(status),this.ended=!0,status===Z_OK$2;if(0!==strm.avail_out){if(_flush_mode>0&&strm.next_out>0)this.onData(strm.output.subarray(0,strm.next_out)),strm.avail_out=0;else if(0===strm.avail_in)break}else this.onData(strm.output)}return!0},Deflate$1.prototype.onData=function(chunk){this.chunks.push(chunk)},Deflate$1.prototype.onEnd=function(status){status===Z_OK$2&&(this.result=common$1_flattenChunks(this.chunks)),this.chunks=[],this.err=status,this.msg=this.strm.msg};var deflate_1$1={Deflate:Deflate$1,deflate:deflate$1,deflateRaw:function deflateRaw$1(input,options){return(options=options||{}).raw=!0,deflate$1(input,options)},gzip:function gzip$1(input,options){return(options=options||{}).gzip=!0,deflate$1(input,options)},constants:constants$2};var inffast=function inflate_fast(strm,start){let _in,last,_out,beg,end,dmax,wsize,whave,wnext,s_window,hold,bits,lcode,dcode,lmask,dmask,here,op,len,dist,from,from_source,input,output;const state=strm.state;_in=strm.next_in,input=strm.input,last=_in+(strm.avail_in-5),_out=strm.next_out,output=strm.output,beg=_out-(start-strm.avail_out),end=_out+(strm.avail_out-257),dmax=state.dmax,wsize=state.wsize,whave=state.whave,wnext=state.wnext,s_window=state.window,hold=state.hold,bits=state.bits,lcode=state.lencode,dcode=state.distcode,lmask=(1<<state.lenbits)-1,dmask=(1<<state.distbits)-1;top:do{bits<15&&(hold+=input[_in++]<<bits,bits+=8,hold+=input[_in++]<<bits,bits+=8),here=lcode[hold&lmask];dolen:for(;;){if(op=here>>>24,hold>>>=op,bits-=op,op=here>>>16&255,0===op)output[_out++]=65535&here;else{if(!(16&op)){if(64&op){if(32&op){state.mode=16191;break top}strm.msg="invalid literal/length code",state.mode=16209;break top}here=lcode[(65535&here)+(hold&(1<<op)-1)];continue dolen}for(len=65535&here,op&=15,op&&(bits<op&&(hold+=input[_in++]<<bits,bits+=8),len+=hold&(1<<op)-1,hold>>>=op,bits-=op),bits<15&&(hold+=input[_in++]<<bits,bits+=8,hold+=input[_in++]<<bits,bits+=8),here=dcode[hold&dmask];;){if(op=here>>>24,hold>>>=op,bits-=op,op=here>>>16&255,16&op){if(dist=65535&here,op&=15,bits<op&&(hold+=input[_in++]<<bits,bits+=8,bits<op&&(hold+=input[_in++]<<bits,bits+=8)),dist+=hold&(1<<op)-1,dist>dmax){strm.msg="invalid distance too far back",state.mode=16209;break top}if(hold>>>=op,bits-=op,op=_out-beg,dist>op){if(op=dist-op,op>whave&&state.sane){strm.msg="invalid distance too far back",state.mode=16209;break top}if(from=0,from_source=s_window,0===wnext){if(from+=wsize-op,op<len){len-=op;do{output[_out++]=s_window[from++]}while(--op);from=_out-dist,from_source=output}}else if(wnext<op){if(from+=wsize+wnext-op,op-=wnext,op<len){len-=op;do{output[_out++]=s_window[from++]}while(--op);if(from=0,wnext<len){op=wnext,len-=op;do{output[_out++]=s_window[from++]}while(--op);from=_out-dist,from_source=output}}}else if(from+=wnext-op,op<len){len-=op;do{output[_out++]=s_window[from++]}while(--op);from=_out-dist,from_source=output}for(;len>2;)output[_out++]=from_source[from++],output[_out++]=from_source[from++],output[_out++]=from_source[from++],len-=3;len&&(output[_out++]=from_source[from++],len>1&&(output[_out++]=from_source[from++]))}else{from=_out-dist;do{output[_out++]=output[from++],output[_out++]=output[from++],output[_out++]=output[from++],len-=3}while(len>2);len&&(output[_out++]=output[from++],len>1&&(output[_out++]=output[from++]))}break}if(64&op){strm.msg="invalid distance code",state.mode=16209;break top}here=dcode[(65535&here)+(hold&(1<<op)-1)]}}break}}while(_in<last&&_out<end);len=bits>>3,_in-=len,bits-=len<<3,hold&=(1<<bits)-1,strm.next_in=_in,strm.next_out=_out,strm.avail_in=_in<last?last-_in+5:5-(_in-last),strm.avail_out=_out<end?end-_out+257:257-(_out-end),state.hold=hold,state.bits=bits};const lbase=new Uint16Array([3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0]),lext=new Uint8Array([16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78]),dbase=new Uint16Array([1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0]),dext=new Uint8Array([16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64]);var inftrees=(type,lens,lens_index,codes,table,table_index,work,opts)=>{const bits=opts.bits;let incr,fill,low,mask,next,match,len=0,sym=0,min=0,max=0,root=0,curr=0,drop=0,left=0,used=0,huff=0,base=null;const count=new Uint16Array(16),offs=new Uint16Array(16);let here_bits,here_op,here_val,extra=null;for(len=0;len<=15;len++)count[len]=0;for(sym=0;sym<codes;sym++)count[lens[lens_index+sym]]++;for(root=bits,max=15;max>=1&&0===count[max];max--);if(root>max&&(root=max),0===max)return table[table_index++]=20971520,table[table_index++]=20971520,opts.bits=1,0;for(min=1;min<max&&0===count[min];min++);for(root<min&&(root=min),left=1,len=1;len<=15;len++)if(left<<=1,left-=count[len],left<0)return-1;if(left>0&&(0===type||1!==max))return-1;for(offs[1]=0,len=1;len<15;len++)offs[len+1]=offs[len]+count[len];for(sym=0;sym<codes;sym++)0!==lens[lens_index+sym]&&(work[offs[lens[lens_index+sym]]++]=sym);if(0===type?(base=extra=work,match=20):1===type?(base=lbase,extra=lext,match=257):(base=dbase,extra=dext,match=0),huff=0,sym=0,len=min,next=table_index,curr=root,drop=0,low=-1,used=1<<root,mask=used-1,1===type&&used>852||2===type&&used>592)return 1;for(;;){here_bits=len-drop,work[sym]+1<match?(here_op=0,here_val=work[sym]):work[sym]>=match?(here_op=extra[work[sym]-match],here_val=base[work[sym]-match]):(here_op=96,here_val=0),incr=1<<len-drop,fill=1<<curr,min=fill;do{fill-=incr,table[next+(huff>>drop)+fill]=here_bits<<24|here_op<<16|here_val}while(0!==fill);for(incr=1<<len-1;huff&incr;)incr>>=1;if(0!==incr?(huff&=incr-1,huff+=incr):huff=0,sym++,0==--count[len]){if(len===max)break;len=lens[lens_index+work[sym]]}if(len>root&&(huff&mask)!==low){for(0===drop&&(drop=root),next+=min,curr=len-drop,left=1<<curr;curr+drop<max&&(left-=count[curr+drop],!(left<=0));)curr++,left<<=1;if(used+=1<<curr,1===type&&used>852||2===type&&used>592)return 1;low=huff&mask,table[low]=root<<24|curr<<16|next-table_index}}return 0!==huff&&(table[next+huff]=len-drop<<24|64<<16),opts.bits=root,0};const{Z_FINISH:Z_FINISH$1,Z_BLOCK:Z_BLOCK,Z_TREES:Z_TREES,Z_OK:Z_OK$1,Z_STREAM_END:Z_STREAM_END$1,Z_NEED_DICT:Z_NEED_DICT$1,Z_STREAM_ERROR:Z_STREAM_ERROR$1,Z_DATA_ERROR:Z_DATA_ERROR$1,Z_MEM_ERROR:Z_MEM_ERROR$1,Z_BUF_ERROR:Z_BUF_ERROR,Z_DEFLATED:Z_DEFLATED}=constants$2,BAD=16209,zswap32=q=>(q>>>24&255)+(q>>>8&65280)+((65280&q)<<8)+((255&q)<<24);function InflateState(){this.strm=null,this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new Uint16Array(320),this.work=new Uint16Array(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}const inflateStateCheck=strm=>{if(!strm)return 1;const state=strm.state;return!state||state.strm!==strm||state.mode<16180||state.mode>16211?1:0},inflateResetKeep=strm=>{if(inflateStateCheck(strm))return Z_STREAM_ERROR$1;const state=strm.state;return strm.total_in=strm.total_out=state.total=0,strm.msg="",state.wrap&&(strm.adler=1&state.wrap),state.mode=16180,state.last=0,state.havedict=0,state.flags=-1,state.dmax=32768,state.head=null,state.hold=0,state.bits=0,state.lencode=state.lendyn=new Int32Array(852),state.distcode=state.distdyn=new Int32Array(592),state.sane=1,state.back=-1,Z_OK$1},inflateReset=strm=>{if(inflateStateCheck(strm))return Z_STREAM_ERROR$1;const state=strm.state;return state.wsize=0,state.whave=0,state.wnext=0,inflateResetKeep(strm)},inflateReset2=(strm,windowBits)=>{let wrap;if(inflateStateCheck(strm))return Z_STREAM_ERROR$1;const state=strm.state;return windowBits<0?(wrap=0,windowBits=-windowBits):(wrap=5+(windowBits>>4),windowBits<48&&(windowBits&=15)),windowBits&&(windowBits<8||windowBits>15)?Z_STREAM_ERROR$1:(null!==state.window&&state.wbits!==windowBits&&(state.window=null),state.wrap=wrap,state.wbits=windowBits,inflateReset(strm))},inflateInit2=(strm,windowBits)=>{if(!strm)return Z_STREAM_ERROR$1;const state=new InflateState;strm.state=state,state.strm=strm,state.window=null,state.mode=16180;const ret=inflateReset2(strm,windowBits);return ret!==Z_OK$1&&(strm.state=null),ret};let lenfix,distfix,virgin=!0;const fixedtables=state=>{if(virgin){lenfix=new Int32Array(512),distfix=new Int32Array(32);let sym=0;for(;sym<144;)state.lens[sym++]=8;for(;sym<256;)state.lens[sym++]=9;for(;sym<280;)state.lens[sym++]=7;for(;sym<288;)state.lens[sym++]=8;for(inftrees(1,state.lens,0,288,lenfix,0,state.work,{bits:9}),sym=0;sym<32;)state.lens[sym++]=5;inftrees(2,state.lens,0,32,distfix,0,state.work,{bits:5}),virgin=!1}state.lencode=lenfix,state.lenbits=9,state.distcode=distfix,state.distbits=5},updatewindow=(strm,src,end,copy)=>{let dist;const state=strm.state;return null===state.window&&(state.wsize=1<<state.wbits,state.wnext=0,state.whave=0,state.window=new Uint8Array(state.wsize)),copy>=state.wsize?(state.window.set(src.subarray(end-state.wsize,end),0),state.wnext=0,state.whave=state.wsize):(dist=state.wsize-state.wnext,dist>copy&&(dist=copy),state.window.set(src.subarray(end-copy,end-copy+dist),state.wnext),(copy-=dist)?(state.window.set(src.subarray(end-copy,end),0),state.wnext=copy,state.whave=state.wsize):(state.wnext+=dist,state.wnext===state.wsize&&(state.wnext=0),state.whave<state.wsize&&(state.whave+=dist))),0};var inflate_1$2={inflateReset:inflateReset,inflateReset2:inflateReset2,inflateResetKeep:inflateResetKeep,inflateInit:strm=>inflateInit2(strm,15),inflateInit2:inflateInit2,inflate:(strm,flush)=>{let state,input,output,next,put,have,left,hold,bits,_in,_out,copy,from,from_source,here_bits,here_op,here_val,last_bits,last_op,last_val,len,ret,here=0;const hbuf=new Uint8Array(4);let opts,n;const order=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]);if(inflateStateCheck(strm)||!strm.output||!strm.input&&0!==strm.avail_in)return Z_STREAM_ERROR$1;state=strm.state,16191===state.mode&&(state.mode=16192),put=strm.next_out,output=strm.output,left=strm.avail_out,next=strm.next_in,input=strm.input,have=strm.avail_in,hold=state.hold,bits=state.bits,_in=have,_out=left,ret=Z_OK$1;inf_leave:for(;;)switch(state.mode){case 16180:if(0===state.wrap){state.mode=16192;break}for(;bits<16;){if(0===have)break inf_leave;have--,hold+=input[next++]<<bits,bits+=8}if(2&state.wrap&&35615===hold){0===state.wbits&&(state.wbits=15),state.check=0,hbuf[0]=255&hold,hbuf[1]=hold>>>8&255,state.check=crc32_1(state.check,hbuf,2,0),hold=0,bits=0,state.mode=16181;break}if(state.head&&(state.head.done=!1),!(1&state.wrap)||(((255&hold)<<8)+(hold>>8))%31){strm.msg="incorrect header check",state.mode=BAD;break}if((15&hold)!==Z_DEFLATED){strm.msg="unknown compression method",state.mode=BAD;break}if(hold>>>=4,bits-=4,len=8+(15&hold),0===state.wbits&&(state.wbits=len),len>15||len>state.wbits){strm.msg="invalid window size",state.mode=BAD;break}state.dmax=1<<state.wbits,state.flags=0,strm.adler=state.check=1,state.mode=512&hold?16189:16191,hold=0,bits=0;break;case 16181:for(;bits<16;){if(0===have)break inf_leave;have--,hold+=input[next++]<<bits,bits+=8}if(state.flags=hold,(255&state.flags)!==Z_DEFLATED){strm.msg="unknown compression method",state.mode=BAD;break}if(57344&state.flags){strm.msg="unknown header flags set",state.mode=BAD;break}state.head&&(state.head.text=hold>>8&1),512&state.flags&&4&state.wrap&&(hbuf[0]=255&hold,hbuf[1]=hold>>>8&255,state.check=crc32_1(state.check,hbuf,2,0)),hold=0,bits=0,state.mode=16182;case 16182:for(;bits<32;){if(0===have)break inf_leave;have--,hold+=input[next++]<<bits,bits+=8}state.head&&(state.head.time=hold),512&state.flags&&4&state.wrap&&(hbuf[0]=255&hold,hbuf[1]=hold>>>8&255,hbuf[2]=hold>>>16&255,hbuf[3]=hold>>>24&255,state.check=crc32_1(state.check,hbuf,4,0)),hold=0,bits=0,state.mode=16183;case 16183:for(;bits<16;){if(0===have)break inf_leave;have--,hold+=input[next++]<<bits,bits+=8}state.head&&(state.head.xflags=255&hold,state.head.os=hold>>8),512&state.flags&&4&state.wrap&&(hbuf[0]=255&hold,hbuf[1]=hold>>>8&255,state.check=crc32_1(state.check,hbuf,2,0)),hold=0,bits=0,state.mode=16184;case 16184:if(1024&state.flags){for(;bits<16;){if(0===have)break inf_leave;have--,hold+=input[next++]<<bits,bits+=8}state.length=hold,state.head&&(state.head.extra_len=hold),512&state.flags&&4&state.wrap&&(hbuf[0]=255&hold,hbuf[1]=hold>>>8&255,state.check=crc32_1(state.check,hbuf,2,0)),hold=0,bits=0}else state.head&&(state.head.extra=null);state.mode=16185;case 16185:if(1024&state.flags&&(copy=state.length,copy>have&&(copy=have),copy&&(state.head&&(len=state.head.extra_len-state.length,state.head.extra||(state.head.extra=new Uint8Array(state.head.extra_len)),state.head.extra.set(input.subarray(next,next+copy),len)),512&state.flags&&4&state.wrap&&(state.check=crc32_1(state.check,input,copy,next)),have-=copy,next+=copy,state.length-=copy),state.length))break inf_leave;state.length=0,state.mode=16186;case 16186:if(2048&state.flags){if(0===have)break inf_leave;copy=0;do{len=input[next+copy++],state.head&&len&&state.length<65536&&(state.head.name+=String.fromCharCode(len))}while(len&©<have);if(512&state.flags&&4&state.wrap&&(state.check=crc32_1(state.check,input,copy,next)),have-=copy,next+=copy,len)break inf_leave}else state.head&&(state.head.name=null);state.length=0,state.mode=16187;case 16187:if(4096&state.flags){if(0===have)break inf_leave;copy=0;do{len=input[next+copy++],state.head&&len&&state.length<65536&&(state.head.comment+=String.fromCharCode(len))}while(len&©<have);if(512&state.flags&&4&state.wrap&&(state.check=crc32_1(state.check,input,copy,next)),have-=copy,next+=copy,len)break inf_leave}else state.head&&(state.head.comment=null);state.mode=16188;case 16188:if(512&state.flags){for(;bits<16;){if(0===have)break inf_leave;have--,hold+=input[next++]<<bits,bits+=8}if(4&state.wrap&&hold!==(65535&state.check)){strm.msg="header crc mismatch",state.mode=BAD;break}hold=0,bits=0}state.head&&(state.head.hcrc=state.flags>>9&1,state.head.done=!0),strm.adler=state.check=0,state.mode=16191;break;case 16189:for(;bits<32;){if(0===have)break inf_leave;have--,hold+=input[next++]<<bits,bits+=8}strm.adler=state.check=zswap32(hold),hold=0,bits=0,state.mode=16190;case 16190:if(0===state.havedict)return strm.next_out=put,strm.avail_out=left,strm.next_in=next,strm.avail_in=have,state.hold=hold,state.bits=bits,Z_NEED_DICT$1;strm.adler=state.check=1,state.mode=16191;case 16191:if(flush===Z_BLOCK||flush===Z_TREES)break inf_leave;case 16192:if(state.last){hold>>>=7&bits,bits-=7&bits,state.mode=16206;break}for(;bits<3;){if(0===have)break inf_leave;have--,hold+=input[next++]<<bits,bits+=8}switch(state.last=1&hold,hold>>>=1,bits-=1,3&hold){case 0:state.mode=16193;break;case 1:if(fixedtables(state),state.mode=16199,flush===Z_TREES){hold>>>=2,bits-=2;break inf_leave}break;case 2:state.mode=16196;break;case 3:strm.msg="invalid block type",state.mode=BAD}hold>>>=2,bits-=2;break;case 16193:for(hold>>>=7&bits,bits-=7&bits;bits<32;){if(0===have)break inf_leave;have--,hold+=input[next++]<<bits,bits+=8}if((65535&hold)!=(hold>>>16^65535)){strm.msg="invalid stored block lengths",state.mode=BAD;break}if(state.length=65535&hold,hold=0,bits=0,state.mode=16194,flush===Z_TREES)break inf_leave;case 16194:state.mode=16195;case 16195:if(copy=state.length,copy){if(copy>have&&(copy=have),copy>left&&(copy=left),0===copy)break inf_leave;output.set(input.subarray(next,next+copy),put),have-=copy,next+=copy,left-=copy,put+=copy,state.length-=copy;break}state.mode=16191;break;case 16196:for(;bits<14;){if(0===have)break inf_leave;have--,hold+=input[next++]<<bits,bits+=8}if(state.nlen=257+(31&hold),hold>>>=5,bits-=5,state.ndist=1+(31&hold),hold>>>=5,bits-=5,state.ncode=4+(15&hold),hold>>>=4,bits-=4,state.nlen>286||state.ndist>30){strm.msg="too many length or distance symbols",state.mode=BAD;break}state.have=0,state.mode=16197;case 16197:for(;state.have<state.ncode;){for(;bits<3;){if(0===have)break inf_leave;have--,hold+=input[next++]<<bits,bits+=8}state.lens[order[state.have++]]=7&hold,hold>>>=3,bits-=3}for(;state.have<19;)state.lens[order[state.have++]]=0;if(state.lencode=state.lendyn,state.lenbits=7,opts={bits:state.lenbits},ret=inftrees(0,state.lens,0,19,state.lencode,0,state.work,opts),state.lenbits=opts.bits,ret){strm.msg="invalid code lengths set",state.mode=BAD;break}state.have=0,state.mode=16198;case 16198:for(;state.have<state.nlen+state.ndist;){for(;here=state.lencode[hold&(1<<state.lenbits)-1],here_bits=here>>>24,here_op=here>>>16&255,here_val=65535&here,!(here_bits<=bits);){if(0===have)break inf_leave;have--,hold+=input[next++]<<bits,bits+=8}if(here_val<16)hold>>>=here_bits,bits-=here_bits,state.lens[state.have++]=here_val;else{if(16===here_val){for(n=here_bits+2;bits<n;){if(0===have)break inf_leave;have--,hold+=input[next++]<<bits,bits+=8}if(hold>>>=here_bits,bits-=here_bits,0===state.have){strm.msg="invalid bit length repeat",state.mode=BAD;break}len=state.lens[state.have-1],copy=3+(3&hold),hold>>>=2,bits-=2}else if(17===here_val){for(n=here_bits+3;bits<n;){if(0===have)break inf_leave;have--,hold+=input[next++]<<bits,bits+=8}hold>>>=here_bits,bits-=here_bits,len=0,copy=3+(7&hold),hold>>>=3,bits-=3}else{for(n=here_bits+7;bits<n;){if(0===have)break inf_leave;have--,hold+=input[next++]<<bits,bits+=8}hold>>>=here_bits,bits-=here_bits,len=0,copy=11+(127&hold),hold>>>=7,bits-=7}if(state.have+copy>state.nlen+state.ndist){strm.msg="invalid bit length repeat",state.mode=BAD;break}for(;copy--;)state.lens[state.have++]=len}}if(state.mode===BAD)break;if(0===state.lens[256]){strm.msg="invalid code -- missing end-of-block",state.mode=BAD;break}if(state.lenbits=9,opts={bits:state.lenbits},ret=inftrees(1,state.lens,0,state.nlen,state.lencode,0,state.work,opts),state.lenbits=opts.bits,ret){strm.msg="invalid literal/lengths set",state.mode=BAD;break}if(state.distbits=6,state.distcode=state.distdyn,opts={bits:state.distbits},ret=inftrees(2,state.lens,state.nlen,state.ndist,state.distcode,0,state.work,opts),state.distbits=opts.bits,ret){strm.msg="invalid distances set",state.mode=BAD;break}if(state.mode=16199,flush===Z_TREES)break inf_leave;case 16199:state.mode=16200;case 16200:if(have>=6&&left>=258){strm.next_out=put,strm.avail_out=left,strm.next_in=next,strm.avail_in=have,state.hold=hold,state.bits=bits,inffast(strm,_out),put=strm.next_out,output=strm.output,left=strm.avail_out,next=strm.next_in,input=strm.input,have=strm.avail_in,hold=state.hold,bits=state.bits,16191===state.mode&&(state.back=-1);break}for(state.back=0;here=state.lencode[hold&(1<<state.lenbits)-1],here_bits=here>>>24,here_op=here>>>16&255,here_val=65535&here,!(here_bits<=bits);){if(0===have)break inf_leave;have--,hold+=input[next++]<<bits,bits+=8}if(here_op&&!(240&here_op)){for(last_bits=here_bits,last_op=here_op,last_val=here_val;here=state.lencode[last_val+((hold&(1<<last_bits+last_op)-1)>>last_bits)],here_bits=here>>>24,here_op=here>>>16&255,here_val=65535&here,!(last_bits+here_bits<=bits);){if(0===have)break inf_leave;have--,hold+=input[next++]<<bits,bits+=8}hold>>>=last_bits,bits-=last_bits,state.back+=last_bits}if(hold>>>=here_bits,bits-=here_bits,state.back+=here_bits,state.length=here_val,0===here_op){state.mode=16205;break}if(32&here_op){state.back=-1,state.mode=16191;break}if(64&here_op){strm.msg="invalid literal/length code",state.mode=BAD;break}state.extra=15&here_op,state.mode=16201;case 16201:if(state.extra){for(n=state.extra;bits<n;){if(0===have)break inf_leave;have--,hold+=input[next++]<<bits,bits+=8}state.length+=hold&(1<<state.extra)-1,hold>>>=state.extra,bits-=state.extra,state.back+=state.extra}state.was=state.length,state.mode=16202;case 16202:for(;here=state.distcode[hold&(1<<state.distbits)-1],here_bits=here>>>24,here_op=here>>>16&255,here_val=65535&here,!(here_bits<=bits);){if(0===have)break inf_leave;have--,hold+=input[next++]<<bits,bits+=8}if(!(240&here_op)){for(last_bits=here_bits,last_op=here_op,last_val=here_val;here=state.distcode[last_val+((hold&(1<<last_bits+last_op)-1)>>last_bits)],here_bits=here>>>24,here_op=here>>>16&255,here_val=65535&here,!(last_bits+here_bits<=bits);){if(0===have)break inf_leave;have--,hold+=input[next++]<<bits,bits+=8}hold>>>=last_bits,bits-=last_bits,state.back+=last_bits}if(hold>>>=here_bits,bits-=here_bits,state.back+=here_bits,64&here_op){strm.msg="invalid distance code",state.mode=BAD;break}state.offset=here_val,state.extra=15&here_op,state.mode=16203;case 16203:if(state.extra){for(n=state.extra;bits<n;){if(0===have)break inf_leave;have--,hold+=input[next++]<<bits,bits+=8}state.offset+=hold&(1<<state.extra)-1,hold>>>=state.extra,bits-=state.extra,state.back+=state.extra}if(state.offset>state.dmax){strm.msg="invalid distance too far back",state.mode=BAD;break}state.mode=16204;case 16204:if(0===left)break inf_leave;if(copy=_out-left,state.offset>copy){if(copy=state.offset-copy,copy>state.whave&&state.sane){strm.msg="invalid distance too far back",state.mode=BAD;break}copy>state.wnext?(copy-=state.wnext,from=state.wsize-copy):from=state.wnext-copy,copy>state.length&&(copy=state.length),from_source=state.window}else from_source=output,from=put-state.offset,copy=state.length;copy>left&&(copy=left),left-=copy,state.length-=copy;do{output[put++]=from_source[from++]}while(--copy);0===state.length&&(state.mode=16200);break;case 16205:if(0===left)break inf_leave;output[put++]=state.length,left--,state.mode=16200;break;case 16206:if(state.wrap){for(;bits<32;){if(0===have)break inf_leave;have--,hold|=input[next++]<<bits,bits+=8}if(_out-=left,strm.total_out+=_out,state.total+=_out,4&state.wrap&&_out&&(strm.adler=state.check=state.flags?crc32_1(state.check,output,_out,put-_out):adler32_1(state.check,output,_out,put-_out)),_out=left,4&state.wrap&&(state.flags?hold:zswap32(hold))!==state.check){strm.msg="incorrect data check",state.mode=BAD;break}hold=0,bits=0}state.mode=16207;case 16207:if(state.wrap&&state.flags){for(;bits<32;){if(0===have)break inf_leave;have--,hold+=input[next++]<<bits,bits+=8}if(4&state.wrap&&hold!==(4294967295&state.total)){strm.msg="incorrect length check",state.mode=BAD;break}hold=0,bits=0}state.mode=16208;case 16208:ret=Z_STREAM_END$1;break inf_leave;case BAD:ret=Z_DATA_ERROR$1;break inf_leave;case 16210:return Z_MEM_ERROR$1;default:return Z_STREAM_ERROR$1}return strm.next_out=put,strm.avail_out=left,strm.next_in=next,strm.avail_in=have,state.hold=hold,state.bits=bits,(state.wsize||_out!==strm.avail_out&&state.mode<BAD&&(state.mode<16206||flush!==Z_FINISH$1))&&updatewindow(strm,strm.output,strm.next_out,_out-strm.avail_out),_in-=strm.avail_in,_out-=strm.avail_out,strm.total_in+=_in,strm.total_out+=_out,state.total+=_out,4&state.wrap&&_out&&(strm.adler=state.check=state.flags?crc32_1(state.check,output,_out,strm.next_out-_out):adler32_1(state.check,output,_out,strm.next_out-_out)),strm.data_type=state.bits+(state.last?64:0)+(16191===state.mode?128:0)+(16199===state.mode||16194===state.mode?256:0),(0===_in&&0===_out||flush===Z_FINISH$1)&&ret===Z_OK$1&&(ret=Z_BUF_ERROR),ret},inflateEnd:strm=>{if(inflateStateCheck(strm))return Z_STREAM_ERROR$1;let state=strm.state;return state.window&&(state.window=null),strm.state=null,Z_OK$1},inflateGetHeader:(strm,head)=>{if(inflateStateCheck(strm))return Z_STREAM_ERROR$1;const state=strm.state;return 2&state.wrap?(state.head=head,head.done=!1,Z_OK$1):Z_STREAM_ERROR$1},inflateSetDictionary:(strm,dictionary)=>{const dictLength=dictionary.length;let state,dictid,ret;return inflateStateCheck(strm)?Z_STREAM_ERROR$1:(state=strm.state,0!==state.wrap&&16190!==state.mode?Z_STREAM_ERROR$1:16190===state.mode&&(dictid=1,dictid=adler32_1(dictid,dictionary,dictLength,0),dictid!==state.check)?Z_DATA_ERROR$1:(ret=updatewindow(strm,dictionary,dictLength,dictLength),ret?(state.mode=16210,Z_MEM_ERROR$1):(state.havedict=1,Z_OK$1)))},inflateInfo:"pako inflate (from Nodeca project)"};var gzheader=function GZheader(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1};const toString$2=Object.prototype.toString,{Z_NO_FLUSH:Z_NO_FLUSH,Z_FINISH:Z_FINISH,Z_OK:Z_OK,Z_STREAM_END:Z_STREAM_END,Z_NEED_DICT:Z_NEED_DICT,Z_STREAM_ERROR:Z_STREAM_ERROR,Z_DATA_ERROR:Z_DATA_ERROR,Z_MEM_ERROR:Z_MEM_ERROR}=constants$2;function Inflate$1(options){this.options=common$1_assign({chunkSize:65536,windowBits:15,to:""},options||{});const opt=this.options;opt.raw&&opt.windowBits>=0&&opt.windowBits<16&&(opt.windowBits=-opt.windowBits,0===opt.windowBits&&(opt.windowBits=-15)),!(opt.windowBits>=0&&opt.windowBits<16)||options&&options.windowBits||(opt.windowBits+=32),opt.windowBits>15&&opt.windowBits<48&&(15&opt.windowBits||(opt.windowBits|=15)),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new zstream,this.strm.avail_out=0;let status=inflate_1$2.inflateInit2(this.strm,opt.windowBits);if(status!==Z_OK)throw new Error(messages[status]);if(this.header=new gzheader,inflate_1$2.inflateGetHeader(this.strm,this.header),opt.dictionary&&("string"==typeof opt.dictionary?opt.dictionary=strings_string2buf(opt.dictionary):"[object ArrayBuffer]"===toString$2.call(opt.dictionary)&&(opt.dictionary=new Uint8Array(opt.dictionary)),opt.raw&&(status=inflate_1$2.inflateSetDictionary(this.strm,opt.dictionary),status!==Z_OK)))throw new Error(messages[status])}function inflate$1(input,options){const inflator=new Inflate$1(options);if(inflator.push(input),inflator.err)throw inflator.msg||messages[inflator.err];return inflator.result}Inflate$1.prototype.push=function(data,flush_mode){const strm=this.strm,chunkSize=this.options.chunkSize,dictionary=this.options.dictionary;let status,_flush_mode,last_avail_out;if(this.ended)return!1;for(_flush_mode=flush_mode===~~flush_mode?flush_mode:!0===flush_mode?Z_FINISH:Z_NO_FLUSH,"[object ArrayBuffer]"===toString$2.call(data)?strm.input=new Uint8Array(data):strm.input=data,strm.next_in=0,strm.avail_in=strm.input.length;;){for(0===strm.avail_out&&(strm.output=new Uint8Array(chunkSize),strm.next_out=0,strm.avail_out=chunkSize),status=inflate_1$2.inflate(strm,_flush_mode),status===Z_NEED_DICT&&dictionary&&(status=inflate_1$2.inflateSetDictionary(strm,dictionary),status===Z_OK?status=inflate_1$2.inflate(strm,_flush_mode):status===Z_DATA_ERROR&&(status=Z_NEED_DICT));strm.avail_in>0&&status===Z_STREAM_END&&strm.state.wrap>0&&0!==data[strm.next_in];)inflate_1$2.inflateReset(strm),status=inflate_1$2.inflate(strm,_flush_mode);switch(status){case Z_STREAM_ERROR:case Z_DATA_ERROR:case Z_NEED_DICT:case Z_MEM_ERROR:return this.onEnd(status),this.ended=!0,!1}if(last_avail_out=strm.avail_out,strm.next_out&&(0===strm.avail_out||status===Z_STREAM_END))if("string"===this.options.to){let next_out_utf8=strings_utf8border(strm.output,strm.next_out),tail=strm.next_out-next_out_utf8,utf8str=strings_buf2string(strm.output,next_out_utf8);strm.next_out=tail,strm.avail_out=chunkSize-tail,tail&&strm.output.set(strm.output.subarray(next_out_utf8,next_out_utf8+tail),0),this.onData(utf8str)}else this.onData(strm.output.length===strm.next_out?strm.output:strm.output.subarray(0,strm.next_out));if(status!==Z_OK||0!==last_avail_out){if(status===Z_STREAM_END)return status=inflate_1$2.inflateEnd(this.strm),this.onEnd(status),this.ended=!0,!0;if(0===strm.avail_in)break}}return!0},Inflate$1.prototype.onData=function(chunk){this.chunks.push(chunk)},Inflate$1.prototype.onEnd=function(status){status===Z_OK&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=common$1_flattenChunks(this.chunks)),this.chunks=[],this.err=status,this.msg=this.strm.msg};var inflate_1$1={Inflate:Inflate$1,inflate:inflate$1,inflateRaw:function inflateRaw$1(input,options){return(options=options||{}).raw=!0,inflate$1(input,options)},ungzip:inflate$1,constants:constants$2};const{Deflate:Deflate,deflate:deflate,deflateRaw:deflateRaw,gzip:gzip}=deflate_1$1,{Inflate:Inflate,inflate:inflate,inflateRaw:inflateRaw,ungzip:ungzip}=inflate_1$1;var hasRequiredDefaults,pako={Deflate:Deflate,deflate:deflate,deflateRaw:deflateRaw,gzip:gzip,Inflate:Inflate,inflate:inflate,inflateRaw:inflateRaw,ungzip:ungzip,constants:constants$2},xml2js$1={},defaults$2={};function requireDefaults(){return hasRequiredDefaults||(hasRequiredDefaults=1,function(){defaults$2.defaults={.1:{explicitCharkey:!1,trim:!0,normalize:!0,normalizeTags:!1,attrkey:"@",charkey:"#",explicitArray:!1,ignoreAttrs:!1,mergeAttrs:!1,explicitRoot:!1,validator:null,xmlns:!1,explicitChildren:!1,childkey:"@@",charsAsChildren:!1,includeWhiteChars:!1,async:!1,strict:!0,attrNameProcessors:null,attrValueProcessors:null,tagNameProcessors:null,valueProcessors:null,emptyTag:""},.2:{explicitCharkey:!1,trim:!1,normalize:!1,normalizeTags:!1,attrkey:"$",charkey:"_",explicitArray:!0,ignoreAttrs:!1,mergeAttrs:!1,explicitRoot:!0,validator:null,xmlns:!1,explicitChildren:!1,preserveChildrenOrder:!1,childkey:"$$",charsAsChildren:!1,includeWhiteChars:!1,async:!1,strict:!0,attrNameProcessors:null,attrValueProcessors:null,tagNameProcessors:null,valueProcessors:null,rootName:"root",xmldec:{version:"1.0",encoding:"UTF-8",standalone:!0},doctype:null,renderOpts:{pretty:!0,indent:" ",newline:"\n"},headless:!1,chunkSize:1e4,emptyTag:"",cdata:!1}}}.call(defaults$2)),defaults$2}var hasRequiredUtility,builder={},lib$4={},Utility$1={};function requireUtility(){return hasRequiredUtility||(hasRequiredUtility=1,function(){var assign,getValue,isArray,isEmpty,isFunction,isObject,isPlainObject,slice=[].slice,hasProp={}.hasOwnProperty;assign=function(){var i,key,len,source,sources,target;if(target=arguments[0],sources=2<=arguments.length?slice.call(arguments,1):[],isFunction(Object.assign))Object.assign.apply(null,arguments);else for(i=0,len=sources.length;i<len;i++)if(null!=(source=sources[i]))for(key in source)hasProp.call(source,key)&&(target[key]=source[key]);return target},isFunction=function(val){return!!val&&"[object Function]"===Object.prototype.toString.call(val)},isObject=function(val){var ref;return!!val&&("function"==(ref=typeof val)||"object"===ref)},isArray=function(val){return isFunction(Array.isArray)?Array.isArray(val):"[object Array]"===Object.prototype.toString.call(val)},isEmpty=function(val){var key;if(isArray(val))return!val.length;for(key in val)if(hasProp.call(val,key))return!1;return!0},isPlainObject=function(val){var ctor,proto;return isObject(val)&&(proto=Object.getPrototypeOf(val))&&(ctor=proto.constructor)&&"function"==typeof ctor&&ctor instanceof ctor&&Function.prototype.toString.call(ctor)===Function.prototype.toString.call(Object)},getValue=function(obj){return isFunction(obj.valueOf)?obj.valueOf():obj},Utility$1.assign=assign,Utility$1.isFunction=isFunction,Utility$1.isObject=isObject,Utility$1.isArray=isArray,Utility$1.isEmpty=isEmpty,Utility$1.isPlainObject=isPlainObject,Utility$1.getValue=getValue}.call(Utility$1)),Utility$1}var hasRequiredXMLDOMImplementation,XMLDOMImplementation$1={exports:{}},XMLDOMImplementation=XMLDOMImplementation$1.exports;function requireXMLDOMImplementation(){return hasRequiredXMLDOMImplementation||(hasRequiredXMLDOMImplementation=1,function(){XMLDOMImplementation$1.exports=function(){function XMLDOMImplementation(){}return XMLDOMImplementation.prototype.hasFeature=function(feature,version){return!0},XMLDOMImplementation.prototype.createDocumentType=function(qualifiedName,publicId,systemId){throw new Error("This DOM method is not implemented.")},XMLDOMImplementation.prototype.createDocument=function(namespaceURI,qualifiedName,doctype){throw new Error("This DOM method is not implemented.")},XMLDOMImplementation.prototype.createHTMLDocument=function(title){throw new Error("This DOM method is not implemented.")},XMLDOMImplementation.prototype.getFeature=function(feature,version){throw new Error("This DOM method is not implemented.")},XMLDOMImplementation}()}.call(XMLDOMImplementation)),XMLDOMImplementation$1.exports}var hasRequiredXMLDOMErrorHandler,XMLDocument$1={exports:{}},XMLDOMConfiguration$1={exports:{}},XMLDOMErrorHandler$1={exports:{}},XMLDOMErrorHandler=XMLDOMErrorHandler$1.exports;function requireXMLDOMErrorHandler(){return hasRequiredXMLDOMErrorHandler||(hasRequiredXMLDOMErrorHandler=1,function(){XMLDOMErrorHandler$1.exports=function(){function XMLDOMErrorHandler(){}return XMLDOMErrorHandler.prototype.handleError=function(error){throw new Error(error)},XMLDOMErrorHandler}()}.call(XMLDOMErrorHandler)),XMLDOMErrorHandler$1.exports}var hasRequiredXMLDOMStringList,XMLDOMStringList$1={exports:{}},XMLDOMStringList=XMLDOMStringList$1.exports;function requireXMLDOMStringList(){return hasRequiredXMLDOMStringList||(hasRequiredXMLDOMStringList=1,function(){XMLDOMStringList$1.exports=function(){function XMLDOMStringList(arr){this.arr=arr||[]}return Object.defineProperty(XMLDOMStringList.prototype,"length",{get:function(){return this.arr.length}}),XMLDOMStringList.prototype.item=function(index){return this.arr[index]||null},XMLDOMStringList.prototype.contains=function(str){return-1!==this.arr.indexOf(str)},XMLDOMStringList}()}.call(XMLDOMStringList)),XMLDOMStringList$1.exports}var hasRequiredXMLDOMConfiguration,XMLDOMConfiguration=XMLDOMConfiguration$1.exports;function requireXMLDOMConfiguration(){return hasRequiredXMLDOMConfiguration||(hasRequiredXMLDOMConfiguration=1,function(){var XMLDOMErrorHandler,XMLDOMStringList;XMLDOMErrorHandler=requireXMLDOMErrorHandler(),XMLDOMStringList=requireXMLDOMStringList(),XMLDOMConfiguration$1.exports=function(){function XMLDOMConfiguration(){this.defaultParams={"canonical-form":!1,"cdata-sections":!1,comments:!1,"datatype-normalization":!1,"element-content-whitespace":!0,entities:!0,"error-handler":new XMLDOMErrorHandler,infoset:!0,"validate-if-schema":!1,namespaces:!0,"namespace-declarations":!0,"normalize-characters":!1,"schema-location":"","schema-type":"","split-cdata-sections":!0,validate:!1,"well-formed":!0},this.params=Object.create(this.defaultParams)}return Object.defineProperty(XMLDOMConfiguration.prototype,"parameterNames",{get:function(){return new XMLDOMStringList(Object.keys(this.defaultParams))}}),XMLDOMConfiguration.prototype.getParameter=function(name){return this.params.hasOwnProperty(name)?this.params[name]:null},XMLDOMConfiguration.prototype.canSetParameter=function(name,value){return!0},XMLDOMConfiguration.prototype.setParameter=function(name,value){return null!=value?this.params[name]=value:delete this.params[name]},XMLDOMConfiguration}()}.call(XMLDOMConfiguration)),XMLDOMConfiguration$1.exports}var hasRequiredNodeType,XMLNode$1={exports:{}},XMLElement$1={exports:{}},NodeType$1={exports:{}},NodeType=NodeType$1.exports;function requireNodeType(){return hasRequiredNodeType||(hasRequiredNodeType=1,function(){NodeType$1.exports={Element:1,Attribute:2,Text:3,CData:4,EntityReference:5,EntityDeclaration:6,ProcessingInstruction:7,Comment:8,Document:9,DocType:10,DocumentFragment:11,NotationDeclaration:12,Declaration:201,Raw:202,AttributeDeclaration:203,ElementDeclaration:204,Dummy:205}}.call(NodeType)),NodeType$1.exports}var hasRequiredXMLAttribute,XMLAttribute$1={exports:{}},XMLAttribute=XMLAttribute$1.exports;function requireXMLAttribute(){return hasRequiredXMLAttribute||(hasRequiredXMLAttribute=1,function(){var NodeType;NodeType=requireNodeType(),requireXMLNode(),XMLAttribute$1.exports=function(){function XMLAttribute(parent,name,value){if(this.parent=parent,this.parent&&(this.options=this.parent.options,this.stringify=this.parent.stringify),null==name)throw new Error("Missing attribute name. "+this.debugInfo(name));this.name=this.stringify.name(name),this.value=this.stringify.attValue(value),this.type=NodeType.Attribute,this.isId=!1,this.schemaTypeInfo=null}return Object.defineProperty(XMLAttribute.prototype,"nodeType",{get:function(){return this.type}}),Object.defineProperty(XMLAttribute.prototype,"ownerElement",{get:function(){return this.parent}}),Object.defineProperty(XMLAttribute.prototype,"textContent",{get:function(){return this.value},set:function(value){return this.value=value||""}}),Object.defineProperty(XMLAttribute.prototype,"namespaceURI",{get:function(){return""}}),Object.defineProperty(XMLAttribute.prototype,"prefix",{get:function(){return""}}),Object.defineProperty(XMLAttribute.prototype,"localName",{get:function(){return this.name}}),Object.defineProperty(XMLAttribute.prototype,"specified",{get:function(){return!0}}),XMLAttribute.prototype.clone=function(){return Object.create(this)},XMLAttribute.prototype.toString=function(options){return this.options.writer.attribute(this,this.options.writer.filterOptions(options))},XMLAttribute.prototype.debugInfo=function(name){return null==(name=name||this.name)?"parent: <"+this.parent.name+">":"attribute: {"+name+"}, parent: <"+this.parent.name+">"},XMLAttribute.prototype.isEqualNode=function(node){return node.namespaceURI===this.namespaceURI&&(node.prefix===this.prefix&&(node.localName===this.localName&&node.value===this.value))},XMLAttribute}()}.call(XMLAttribute)),XMLAttribute$1.exports}var hasRequiredXMLNamedNodeMap,XMLNamedNodeMap$1={exports:{}},XMLNamedNodeMap=XMLNamedNodeMap$1.exports;function requireXMLNamedNodeMap(){return hasRequiredXMLNamedNodeMap||(hasRequiredXMLNamedNodeMap=1,function(){XMLNamedNodeMap$1.exports=function(){function XMLNamedNodeMap(nodes){this.nodes=nodes}return Object.defineProperty(XMLNamedNodeMap.prototype,"length",{get:function(){return Object.keys(this.nodes).length||0}}),XMLNamedNodeMap.prototype.clone=function(){return this.nodes=null},XMLNamedNodeMap.prototype.getNamedItem=function(name){return this.nodes[name]},XMLNamedNodeMap.prototype.setNamedItem=function(node){var oldNode;return oldNode=this.nodes[node.nodeName],this.nodes[node.nodeName]=node,oldNode||null},XMLNamedNodeMap.prototype.removeNamedItem=function(name){var oldNode;return oldNode=this.nodes[name],delete this.nodes[name],oldNode||null},XMLNamedNodeMap.prototype.item=function(index){return this.nodes[Object.keys(this.nodes)[index]]||null},XMLNamedNodeMap.prototype.getNamedItemNS=function(namespaceURI,localName){throw new Error("This DOM method is not implemented.")},XMLNamedNodeMap.prototype.setNamedItemNS=function(node){throw new Error("This DOM method is not implemented.")},XMLNamedNodeMap.prototype.removeNamedItemNS=function(namespaceURI,localName){throw new Error("This DOM method is not implemented.")},XMLNamedNodeMap}()}.call(XMLNamedNodeMap)),XMLNamedNodeMap$1.exports}var hasRequiredXMLElement,XMLElement=XMLElement$1.exports;function requireXMLElement(){return hasRequiredXMLElement||(hasRequiredXMLElement=1,function(){var NodeType,XMLAttribute,XMLNamedNodeMap,XMLNode,getValue,isFunction,isObject,ref,hasProp={}.hasOwnProperty;ref=requireUtility(),isObject=ref.isObject,isFunction=ref.isFunction,getValue=ref.getValue,XMLNode=requireXMLNode(),NodeType=requireNodeType(),XMLAttribute=requireXMLAttribute(),XMLNamedNodeMap=requireXMLNamedNodeMap(),XMLElement$1.exports=function(superClass){function XMLElement(parent,name,attributes){var child,j,len,ref1;if(XMLElement.__super__.constructor.call(this,parent),null==name)throw new Error("Missing element name. "+this.debugInfo());if(this.name=this.stringify.name(name),this.type=NodeType.Element,this.attribs={},this.schemaTypeInfo=null,null!=attributes&&this.attribute(attributes),parent.type===NodeType.Document&&(this.isRoot=!0,this.documentObject=parent,parent.rootObject=this,parent.children))for(j=0,len=(ref1=parent.children).length;j<len;j++)if((child=ref1[j]).type===NodeType.DocType){child.name=this.name;break}}return function(child,parent){for(var key in parent)hasProp.call(parent,key)&&(child[key]=parent[key]);function ctor(){this.constructor=child}ctor.prototype=parent.prototype,child.prototype=new ctor,child.__super__=parent.prototype}(XMLElement,superClass),Object.defineProperty(XMLElement.prototype,"tagName",{get:function(){return this.name}}),Object.defineProperty(XMLElement.prototype,"namespaceURI",{get:function(){return""}}),Object.defineProperty(XMLElement.prototype,"prefix",{get:function(){return""}}),Object.defineProperty(XMLElement.prototype,"localName",{get:function(){return this.name}}),Object.defineProperty(XMLElement.prototype,"id",{get:function(){throw new Error("This DOM method is not implemented."+this.debugInfo())}}),Object.defineProperty(XMLElement.prototype,"className",{get:function(){throw new Error("This DOM method is not implemented."+this.debugInfo())}}),Object.defineProperty(XMLElement.prototype,"classList",{get:function(){throw new Error("This DOM method is not implemented."+this.debugInfo())}}),Object.defineProperty(XMLElement.prototype,"attributes",{get:function(){return this.attributeMap&&this.attributeMap.nodes||(this.attributeMap=new XMLNamedNodeMap(this.attribs)),this.attributeMap}}),XMLElement.prototype.clone=function(){var att,attName,clonedSelf,ref1;for(attName in(clonedSelf=Object.create(this)).isRoot&&(clonedSelf.documentObject=null),clonedSelf.attribs={},ref1=this.attribs)hasProp.call(ref1,attName)&&(att=ref1[attName],clonedSelf.attribs[attName]=att.clone());return clonedSelf.children=[],this.children.forEach((function(child){var clonedChild;return(clonedChild=child.clone()).parent=clonedSelf,clonedSelf.children.push(clonedChild)})),clonedSelf},XMLElement.prototype.attribute=function(name,value){var attName,attValue;if(null!=name&&(name=getValue(name)),isObject(name))for(attName in name)hasProp.call(name,attName)&&(attValue=name[attName],this.attribute(attName,attValue));else isFunction(value)&&(value=value.apply()),this.options.keepNullAttributes&&null==value?this.attribs[name]=new XMLAttribute(this,name,""):null!=value&&(this.attribs[name]=new XMLAttribute(this,name,value));return this},XMLElement.prototype.removeAttribute=function(name){var attName,j,len;if(null==name)throw new Error("Missing attribute name. "+this.debugInfo());if(name=getValue(name),Array.isArray(name))for(j=0,len=name.length;j<len;j++)attName=name[j],delete this.attribs[attName];else delete this.attribs[name];return this},XMLElement.prototype.toString=function(options){return this.options.writer.element(this,this.options.writer.filterOptions(options))},XMLElement.prototype.att=function(name,value){return this.attribute(name,value)},XMLElement.prototype.a=function(name,value){return this.attribute(name,value)},XMLElement.prototype.getAttribute=function(name){return this.attribs.hasOwnProperty(name)?this.attribs[name].value:null},XMLElement.prototype.setAttribute=function(name,value){throw new Error("This DOM method is not implemented."+this.debugInfo())},XMLElement.prototype.getAttributeNode=function(name){return this.attribs.hasOwnProperty(name)?this.attribs[name]:null},XMLElement.prototype.setAttributeNode=function(newAttr){throw new Error("This DOM method is not implemented."+this.debugInfo())},XMLElement.prototype.removeAttributeNode=function(oldAttr){throw new Error("This DOM method is not implemented."+this.debugInfo())},XMLElement.prototype.getElementsByTagName=function(name){throw new Error("This DOM method is not implemented."+this.debugInfo())},XMLElement.prototype.getAttributeNS=function(namespaceURI,localName){throw new Error("This DOM method is not implemented."+this.debugInfo())},XMLElement.prototype.setAttributeNS=function(namespaceURI,qualifiedName,value){throw new Error("This DOM method is not implemented."+this.debugInfo())},XMLElement.prototype.removeAttributeNS=function(namespaceURI,localName){throw new Error("This DOM method is not implemented."+this.debugInfo())},XMLElement.prototype.getAttributeNodeNS=function(namespaceURI,localName){throw new Error("This DOM method is not implemented."+this.debugInfo())},XMLElement.prototype.setAttributeNodeNS=function(newAttr){throw new Error("This DOM method is not implemented."+this.debugInfo())},XMLElement.prototype.getElementsByTagNameNS=function(namespaceURI,localName){throw new Error("This DOM method is not implemented."+this.debugInfo())},XMLElement.prototype.hasAttribute=function(name){return this.attribs.hasOwnProperty(name)},XMLElement.prototype.hasAttributeNS=function(namespaceURI,localName){throw new Error("This DOM method is not implemented."+this.debugInfo())},XMLElement.prototype.setIdAttribute=function(name,isId){return this.attribs.hasOwnProperty(name)?this.attribs[name].isId:isId},XMLElement.prototype.setIdAttributeNS=function(namespaceURI,localName,isId){throw new Error("This DOM method is not implemented."+this.debugInfo())},XMLElement.prototype.setIdAttributeNode=function(idAttr,isId){throw new Error("This DOM method is not implemented."+this.debugInfo())},XMLElement.prototype.getElementsByTagName=function(tagname){throw new Error("This DOM method is not implemented."+this.debugInfo())},XMLElement.prototype.getElementsByTagNameNS=function(namespaceURI,localName){throw new Error("This DOM method is not implemented."+this.debugInfo())},XMLElement.prototype.getElementsByClassName=function(classNames){throw new Error("This DOM method is not implemented."+this.debugInfo())},XMLElement.prototype.isEqualNode=function(node){var i,j,ref1;if(!XMLElement.__super__.isEqualNode.apply(this,arguments).isEqualNode(node))return!1;if(node.namespaceURI!==this.namespaceURI)return!1;if(node.prefix!==this.prefix)return!1;if(node.localName!==this.localName)return!1;if(node.attribs.length!==this.attribs.length)return!1;for(i=j=0,ref1=this.attribs.length-1;0<=ref1?j<=ref1:j>=ref1;i=0<=ref1?++j:--j)if(!this.attribs[i].isEqualNode(node.attribs[i]))return!1;return!0},XMLElement}(XMLNode)}.call(XMLElement)),XMLElement$1.exports}var hasRequiredXMLCharacterData,XMLCData$1={exports:{}},XMLCharacterData$1={exports:{}},XMLCharacterData=XMLCharacterData$1.exports;function requireXMLCharacterData(){return hasRequiredXMLCharacterData||(hasRequiredXMLCharacterData=1,function(){var XMLNode,hasProp={}.hasOwnProperty;XMLNode=requireXMLNode(),XMLCharacterData$1.exports=function(superClass){function XMLCharacterData(parent){XMLCharacterData.__super__.constructor.call(this,parent),this.value=""}return function(child,parent){for(var key in parent)hasProp.call(parent,key)&&(child[key]=parent[key]);function ctor(){this.constructor=child}ctor.prototype=parent.prototype,child.prototype=new ctor,child.__super__=parent.prototype}(XMLCharacterData,superClass),Object.defineProperty(XMLCharacterData.prototype,"data",{get:function(){return this.value},set:function(value){return this.value=value||""}}),Object.defineProperty(XMLCharacterData.prototype,"length",{get:function(){return this.value.length}}),Object.defineProperty(XMLCharacterData.prototype,"textContent",{get:function(){return this.value},set:function(value){return this.value=value||""}}),XMLCharacterData.prototype.clone=function(){return Object.create(this)},XMLCharacterData.prototype.substringData=function(offset,count){throw new Error("This DOM method is not implemented."+this.debugInfo())},XMLCharacterData.prototype.appendData=function(arg){throw new Error("This DOM method is not implemented."+this.debugInfo())},XMLCharacterData.prototype.insertData=function(offset,arg){throw new Error("This DOM method is not implemented."+this.debugInfo())},XMLCharacterData.prototype.deleteData=function(offset,count){throw new Error("This DOM method is not implemented."+this.debugInfo())},XMLCharacterData.prototype.replaceData=function(offset,count,arg){throw new Error("This DOM method is not implemented."+this.debugInfo())},XMLCharacterData.prototype.isEqualNode=function(node){return!!XMLCharacterData.__super__.isEqualNode.apply(this,arguments).isEqualNode(node)&&node.data===this.data},XMLCharacterData}(XMLNode)}.call(XMLCharacterData)),XMLCharacterData$1.exports}var hasRequiredXMLCData,XMLCData=XMLCData$1.exports;function requireXMLCData(){return hasRequiredXMLCData||(hasRequiredXMLCData=1,function(){var NodeType,XMLCharacterData,hasProp={}.hasOwnProperty;NodeType=requireNodeType(),XMLCharacterData=requireXMLCharacterData(),XMLCData$1.exports=function(superClass){function XMLCData(parent,text){if(XMLCData.__super__.constructor.call(this,parent),null==text)throw new Error("Missing CDATA text. "+this.debugInfo());this.name="#cdata-section",this.type=NodeType.CData,this.value=this.stringify.cdata(text)}return function(child,parent){for(var key in parent)hasProp.call(parent,key)&&(child[key]=parent[key]);function ctor(){this.constructor=child}ctor.prototype=parent.prototype,child.prototype=new ctor,child.__super__=parent.prototype}(XMLCData,superClass),XMLCData.prototype.clone=function(){return Object.create(this)},XMLCData.prototype.toString=function(options){return this.options.writer.cdata(this,this.options.writer.filterOptions(options))},XMLCData}(XMLCharacterData)}.call(XMLCData)),XMLCData$1.exports}var hasRequiredXMLComment,XMLComment$1={exports:{}},XMLComment=XMLComment$1.exports;function requireXMLComment(){return hasRequiredXMLComment||(hasRequiredXMLComment=1,function(){var NodeType,XMLCharacterData,hasProp={}.hasOwnProperty;NodeType=requireNodeType(),XMLCharacterData=requireXMLCharacterData(),XMLComment$1.exports=function(superClass){function XMLComment(parent,text){if(XMLComment.__super__.constructor.call(this,parent),null==text)throw new Error("Missing comment text. "+this.debugInfo());this.name="#comment",this.type=NodeType.Comment,this.value=this.stringify.comment(text)}return function(child,parent){for(var key in parent)hasProp.call(parent,key)&&(child[key]=parent[key]);function ctor(){this.constructor=child}ctor.prototype=parent.prototype,child.prototype=new ctor,child.__super__=parent.prototype}(XMLComment,superClass),XMLComment.prototype.clone=function(){return Object.create(this)},XMLComment.prototype.toString=function(options){return this.options.writer.comment(this,this.options.writer.filterOptions(options))},XMLComment}(XMLCharacterData)}.call(XMLComment)),XMLComment$1.exports}var hasRequiredXMLDeclaration,XMLDeclaration$1={exports:{}},XMLDeclaration=XMLDeclaration$1.exports;function requireXMLDeclaration(){return hasRequiredXMLDeclaration||(hasRequiredXMLDeclaration=1,function(){var NodeType,XMLNode,isObject,hasProp={}.hasOwnProperty;isObject=requireUtility().isObject,XMLNode=requireXMLNode(),NodeType=requireNodeType(),XMLDeclaration$1.exports=function(superClass){function XMLDeclaration(parent,version,encoding,standalone){var ref;XMLDeclaration.__super__.constructor.call(this,parent),isObject(version)&&(version=(ref=version).version,encoding=ref.encoding,standalone=ref.standalone),version||(version="1.0"),this.type=NodeType.Declaration,this.version=this.stringify.xmlVersion(version),null!=encoding&&(this.encoding=this.stringify.xmlEncoding(encoding)),null!=standalone&&(this.standalone=this.stringify.xmlStandalone(standalone))}return function(child,parent){for(var key in parent)hasProp.call(parent,key)&&(child[key]=parent[key]);function ctor(){this.constructor=child}ctor.prototype=parent.prototype,child.prototype=new ctor,child.__super__=parent.prototype}(XMLDeclaration,superClass),XMLDeclaration.prototype.toString=function(options){return this.options.writer.declaration(this,this.options.writer.filterOptions(options))},XMLDeclaration}(XMLNode)}.call(XMLDeclaration)),XMLDeclaration$1.exports}var hasRequiredXMLDTDAttList,XMLDocType$1={exports:{}},XMLDTDAttList$1={exports:{}},XMLDTDAttList=XMLDTDAttList$1.exports;function requireXMLDTDAttList(){return hasRequiredXMLDTDAttList||(hasRequiredXMLDTDAttList=1,function(){var NodeType,XMLNode,hasProp={}.hasOwnProperty;XMLNode=requireXMLNode(),NodeType=requireNodeType(),XMLDTDAttList$1.exports=function(superClass){function XMLDTDAttList(parent,elementName,attributeName,attributeType,defaultValueType,defaultValue){if(XMLDTDAttList.__super__.constructor.call(this,parent),null==elementName)throw new Error("Missing DTD element name. "+this.debugInfo());if(null==attributeName)throw new Error("Missing DTD attribute name. "+this.debugInfo(elementName));if(!attributeType)throw new Error("Missing DTD attribute type. "+this.debugInfo(elementName));if(!defaultValueType)throw new Error("Missing DTD attribute default. "+this.debugInfo(elementName));if(0!==defaultValueType.indexOf("#")&&(defaultValueType="#"+defaultValueType),!defaultValueType.match(/^(#REQUIRED|#IMPLIED|#FIXED|#DEFAULT)$/))throw new Error("Invalid default value type; expected: #REQUIRED, #IMPLIED, #FIXED or #DEFAULT. "+this.debugInfo(elementName));if(defaultValue&&!defaultValueType.match(/^(#FIXED|#DEFAULT)$/))throw new Error("Default value only applies to #FIXED or #DEFAULT. "+this.debugInfo(elementName));this.elementName=this.stringify.name(elementName),this.type=NodeType.AttributeDeclaration,this.attributeName=this.stringify.name(attributeName),this.attributeType=this.stringify.dtdAttType(attributeType),defaultValue&&(this.defaultValue=this.stringify.dtdAttDefault(defaultValue)),this.defaultValueType=defaultValueType}return function(child,parent){for(var key in parent)hasProp.call(parent,key)&&(child[key]=parent[key]);function ctor(){this.constructor=child}ctor.prototype=parent.prototype,child.prototype=new ctor,child.__super__=parent.prototype}(XMLDTDAttList,superClass),XMLDTDAttList.prototype.toString=function(options){return this.options.writer.dtdAttList(this,this.options.writer.filterOptions(options))},XMLDTDAttList}(XMLNode)}.call(XMLDTDAttList)),XMLDTDAttList$1.exports}var hasRequiredXMLDTDEntity,XMLDTDEntity$1={exports:{}},XMLDTDEntity=XMLDTDEntity$1.exports;function requireXMLDTDEntity(){return hasRequiredXMLDTDEntity||(hasRequiredXMLDTDEntity=1,function(){var NodeType,XMLNode,isObject,hasProp={}.hasOwnProperty;isObject=requireUtility().isObject,XMLNode=requireXMLNode(),NodeType=requireNodeType(),XMLDTDEntity$1.exports=function(superClass){function XMLDTDEntity(parent,pe,name,value){if(XMLDTDEntity.__super__.constructor.call(this,parent),null==name)throw new Error("Missing DTD entity name. "+this.debugInfo(name));if(null==value)throw new Error("Missing DTD entity value. "+this.debugInfo(name));if(this.pe=!!pe,this.name=this.stringify.name(name),this.type=NodeType.EntityDeclaration,isObject(value)){if(!value.pubID&&!value.sysID)throw new Error("Public and/or system identifiers are required for an external entity. "+this.debugInfo(name));if(value.pubID&&!value.sysID)throw new Error("System identifier is required for a public external entity. "+this.debugInfo(name));if(this.internal=!1,null!=value.pubID&&(this.pubID=this.stringify.dtdPubID(value.pubID)),null!=value.sysID&&(this.sysID=this.stringify.dtdSysID(value.sysID)),null!=value.nData&&(this.nData=this.stringify.dtdNData(value.nData)),this.pe&&this.nData)throw new Error("Notation declaration is not allowed in a parameter entity. "+this.debugInfo(name))}else this.value=this.stringify.dtdEntityValue(value),this.internal=!0}return function(child,parent){for(var key in parent)hasProp.call(parent,key)&&(child[key]=parent[key]);function ctor(){this.constructor=child}ctor.prototype=parent.prototype,child.prototype=new ctor,child.__super__=parent.prototype}(XMLDTDEntity,superClass),Object.defineProperty(XMLDTDEntity.prototype,"publicId",{get:function(){return this.pubID}}),Object.defineProperty(XMLDTDEntity.prototype,"systemId",{get:function(){return this.sysID}}),Object.defineProperty(XMLDTDEntity.prototype,"notationName",{get:function(){return this.nData||null}}),Object.defineProperty(XMLDTDEntity.prototype,"inputEncoding",{get:function(){return null}}),Object.defineProperty(XMLDTDEntity.prototype,"xmlEncoding",{get:function(){return null}}),Object.defineProperty(XMLDTDEntity.prototype,"xmlVersion",{get:function(){return null}}),XMLDTDEntity.prototype.toString=function(options){return this.options.writer.dtdEntity(this,this.options.writer.filterOptions(options))},XMLDTDEntity}(XMLNode)}.call(XMLDTDEntity)),XMLDTDEntity$1.exports}var hasRequiredXMLDTDElement,XMLDTDElement$1={exports:{}},XMLDTDElement=XMLDTDElement$1.exports;function requireXMLDTDElement(){return hasRequiredXMLDTDElement||(hasRequiredXMLDTDElement=1,function(){var NodeType,XMLNode,hasProp={}.hasOwnProperty;XMLNode=requireXMLNode(),NodeType=requireNodeType(),XMLDTDElement$1.exports=function(superClass){function XMLDTDElement(parent,name,value){if(XMLDTDElement.__super__.constructor.call(this,parent),null==name)throw new Error("Missing DTD element name. "+this.debugInfo());value||(value="(#PCDATA)"),Array.isArray(value)&&(value="("+value.join(",")+")"),this.name=this.stringify.name(name),this.type=NodeType.ElementDeclaration,this.value=this.stringify.dtdElementValue(value)}return function(child,parent){for(var key in parent)hasProp.call(parent,key)&&(child[key]=parent[key]);function ctor(){this.constructor=child}ctor.prototype=parent.prototype,child.prototype=new ctor,child.__super__=parent.prototype}(XMLDTDElement,superClass),XMLDTDElement.prototype.toString=function(options){return this.options.writer.dtdElement(this,this.options.writer.filterOptions(options))},XMLDTDElement}(XMLNode)}.call(XMLDTDElement)),XMLDTDElement$1.exports}var hasRequiredXMLDTDNotation,XMLDTDNotation$1={exports:{}},XMLDTDNotation=XMLDTDNotation$1.exports;function requireXMLDTDNotation(){return hasRequiredXMLDTDNotation||(hasRequiredXMLDTDNotation=1,function(){var NodeType,XMLNode,hasProp={}.hasOwnProperty;XMLNode=requireXMLNode(),NodeType=requireNodeType(),XMLDTDNotation$1.exports=function(superClass){function XMLDTDNotation(parent,name,value){if(XMLDTDNotation.__super__.constructor.call(this,parent),null==name)throw new Error("Missing DTD notation name. "+this.debugInfo(name));if(!value.pubID&&!value.sysID)throw new Error("Public or system identifiers are required for an external entity. "+this.debugInfo(name));this.name=this.stringify.name(name),this.type=NodeType.NotationDeclaration,null!=value.pubID&&(this.pubID=this.stringify.dtdPubID(value.pubID)),null!=value.sysID&&(this.sysID=this.stringify.dtdSysID(value.sysID))}return function(child,parent){for(var key in parent)hasProp.call(parent,key)&&(child[key]=parent[key]);function ctor(){this.constructor=child}ctor.prototype=parent.prototype,child.prototype=new ctor,child.__super__=parent.prototype}(XMLDTDNotation,superClass),Object.defineProperty(XMLDTDNotation.prototype,"publicId",{get:function(){return this.pubID}}),Object.defineProperty(XMLDTDNotation.prototype,"systemId",{get:function(){return this.sysID}}),XMLDTDNotation.prototype.toString=function(options){return this.options.writer.dtdNotation(this,this.options.writer.filterOptions(options))},XMLDTDNotation}(XMLNode)}.call(XMLDTDNotation)),XMLDTDNotation$1.exports}var hasRequiredXMLDocType,XMLDocType=XMLDocType$1.exports;function requireXMLDocType(){return hasRequiredXMLDocType||(hasRequiredXMLDocType=1,function(){var NodeType,XMLDTDAttList,XMLDTDElement,XMLDTDEntity,XMLDTDNotation,XMLNamedNodeMap,XMLNode,isObject,hasProp={}.hasOwnProperty;isObject=requireUtility().isObject,XMLNode=requireXMLNode(),NodeType=requireNodeType(),XMLDTDAttList=requireXMLDTDAttList(),XMLDTDEntity=requireXMLDTDEntity(),XMLDTDElement=requireXMLDTDElement(),XMLDTDNotation=requireXMLDTDNotation(),XMLNamedNodeMap=requireXMLNamedNodeMap(),XMLDocType$1.exports=function(superClass){function XMLDocType(parent,pubID,sysID){var child,i,len,ref,ref1,ref2;if(XMLDocType.__super__.constructor.call(this,parent),this.type=NodeType.DocType,parent.children)for(i=0,len=(ref=parent.children).length;i<len;i++)if((child=ref[i]).type===NodeType.Element){this.name=child.name;break}this.documentObject=parent,isObject(pubID)&&(pubID=(ref1=pubID).pubID,sysID=ref1.sysID),null==sysID&&(sysID=(ref2=[pubID,sysID])[0],pubID=ref2[1]),null!=pubID&&(this.pubID=this.stringify.dtdPubID(pubID)),null!=sysID&&(this.sysID=this.stringify.dtdSysID(sysID))}return function(child,parent){for(var key in parent)hasProp.call(parent,key)&&(child[key]=parent[key]);function ctor(){this.constructor=child}ctor.prototype=parent.prototype,child.prototype=new ctor,child.__super__=parent.prototype}(XMLDocType,superClass),Object.defineProperty(XMLDocType.prototype,"entities",{get:function(){var child,i,len,nodes,ref;for(nodes={},i=0,len=(ref=this.children).length;i<len;i++)(child=ref[i]).type!==NodeType.EntityDeclaration||child.pe||(nodes[child.name]=child);return new XMLNamedNodeMap(nodes)}}),Object.defineProperty(XMLDocType.prototype,"notations",{get:function(){var child,i,len,nodes,ref;for(nodes={},i=0,len=(ref=this.children).length;i<len;i++)(child=ref[i]).type===NodeType.NotationDeclaration&&(nodes[child.name]=child);return new XMLNamedNodeMap(nodes)}}),Object.defineProperty(XMLDocType.prototype,"publicId",{get:function(){return this.pubID}}),Object.defineProperty(XMLDocType.prototype,"systemId",{get:function(){return this.sysID}}),Object.defineProperty(XMLDocType.prototype,"internalSubset",{get:function(){throw new Error("This DOM method is not implemented."+this.debugInfo())}}),XMLDocType.prototype.element=function(name,value){var child;return child=new XMLDTDElement(this,name,value),this.children.push(child),this},XMLDocType.prototype.attList=function(elementName,attributeName,attributeType,defaultValueType,defaultValue){var child;return child=new XMLDTDAttList(this,elementName,attributeName,attributeType,defaultValueType,defaultValue),this.children.push(child),this},XMLDocType.prototype.entity=function(name,value){var child;return child=new XMLDTDEntity(this,!1,name,value),this.children.push(child),this},XMLDocType.prototype.pEntity=function(name,value){var child;return child=new XMLDTDEntity(this,!0,name,value),this.children.push(child),this},XMLDocType.prototype.notation=function(name,value){var child;return child=new XMLDTDNotation(this,name,value),this.children.push(child),this},XMLDocType.prototype.toString=function(options){return this.options.writer.docType(this,this.options.writer.filterOptions(options))},XMLDocType.prototype.ele=function(name,value){return this.element(name,value)},XMLDocType.prototype.att=function(elementName,attributeName,attributeType,defaultValueType,defaultValue){return this.attList(elementName,attributeName,attributeType,defaultValueType,defaultValue)},XMLDocType.prototype.ent=function(name,value){return this.entity(name,value)},XMLDocType.prototype.pent=function(name,value){return this.pEntity(name,value)},XMLDocType.prototype.not=function(name,value){return this.notation(name,value)},XMLDocType.prototype.up=function(){return this.root()||this.documentObject},XMLDocType.prototype.isEqualNode=function(node){return!!XMLDocType.__super__.isEqualNode.apply(this,arguments).isEqualNode(node)&&(node.name===this.name&&(node.publicId===this.publicId&&node.systemId===this.systemId))},XMLDocType}(XMLNode)}.call(XMLDocType)),XMLDocType$1.exports}var hasRequiredXMLRaw,XMLRaw$1={exports:{}},XMLRaw=XMLRaw$1.exports;function requireXMLRaw(){return hasRequiredXMLRaw||(hasRequiredXMLRaw=1,function(){var NodeType,XMLNode,hasProp={}.hasOwnProperty;NodeType=requireNodeType(),XMLNode=requireXMLNode(),XMLRaw$1.exports=function(superClass){function XMLRaw(parent,text){if(XMLRaw.__super__.constructor.call(this,parent),null==text)throw new Error("Missing raw text. "+this.debugInfo());this.type=NodeType.Raw,this.value=this.stringify.raw(text)}return function(child,parent){for(var key in parent)hasProp.call(parent,key)&&(child[key]=parent[key]);function ctor(){this.constructor=child}ctor.prototype=parent.prototype,child.prototype=new ctor,child.__super__=parent.prototype}(XMLRaw,superClass),XMLRaw.prototype.clone=function(){return Object.create(this)},XMLRaw.prototype.toString=function(options){return this.options.writer.raw(this,this.options.writer.filterOptions(options))},XMLRaw}(XMLNode)}.call(XMLRaw)),XMLRaw$1.exports}var hasRequiredXMLText,XMLText$1={exports:{}},XMLText=XMLText$1.exports;function requireXMLText(){return hasRequiredXMLText||(hasRequiredXMLText=1,function(){var NodeType,XMLCharacterData,hasProp={}.hasOwnProperty;NodeType=requireNodeType(),XMLCharacterData=requireXMLCharacterData(),XMLText$1.exports=function(superClass){function XMLText(parent,text){if(XMLText.__super__.constructor.call(this,parent),null==text)throw new Error("Missing element text. "+this.debugInfo());this.name="#text",this.type=NodeType.Text,this.value=this.stringify.text(text)}return function(child,parent){for(var key in parent)hasProp.call(parent,key)&&(child[key]=parent[key]);function ctor(){this.constructor=child}ctor.prototype=parent.prototype,child.prototype=new ctor,child.__super__=parent.prototype}(XMLText,superClass),Object.defineProperty(XMLText.prototype,"isElementContentWhitespace",{get:function(){throw new Error("This DOM method is not implemented."+this.debugInfo())}}),Object.defineProperty(XMLText.prototype,"wholeText",{get:function(){var next,prev,str;for(str="",prev=this.previousSibling;prev;)str=prev.data+str,prev=prev.previousSibling;for(str+=this.data,next=this.nextSibling;next;)str+=next.data,next=next.nextSibling;return str}}),XMLText.prototype.clone=function(){return Object.create(this)},XMLText.prototype.toString=function(options){return this.options.writer.text(this,this.options.writer.filterOptions(options))},XMLText.prototype.splitText=function(offset){throw new Error("This DOM method is not implemented."+this.debugInfo())},XMLText.prototype.replaceWholeText=function(content){throw new Error("This DOM method is not implemented."+this.debugInfo())},XMLText}(XMLCharacterData)}.call(XMLText)),XMLText$1.exports}var hasRequiredXMLProcessingInstruction,XMLProcessingInstruction$1={exports:{}},XMLProcessingInstruction=XMLProcessingInstruction$1.exports;function requireXMLProcessingInstruction(){return hasRequiredXMLProcessingInstruction||(hasRequiredXMLProcessingInstruction=1,function(){var NodeType,XMLCharacterData,hasProp={}.hasOwnProperty;NodeType=requireNodeType(),XMLCharacterData=requireXMLCharacterData(),XMLProcessingInstruction$1.exports=function(superClass){function XMLProcessingInstruction(parent,target,value){if(XMLProcessingInstruction.__super__.constructor.call(this,parent),null==target)throw new Error("Missing instruction target. "+this.debugInfo());this.type=NodeType.ProcessingInstruction,this.target=this.stringify.insTarget(target),this.name=this.target,value&&(this.value=this.stringify.insValue(value))}return function(child,parent){for(var key in parent)hasProp.call(parent,key)&&(child[key]=parent[key]);function ctor(){this.constructor=child}ctor.prototype=parent.prototype,child.prototype=new ctor,child.__super__=parent.prototype}(XMLProcessingInstruction,superClass),XMLProcessingInstruction.prototype.clone=function(){return Object.create(this)},XMLProcessingInstruction.prototype.toString=function(options){return this.options.writer.processingInstruction(this,this.options.writer.filterOptions(options))},XMLProcessingInstruction.prototype.isEqualNode=function(node){return!!XMLProcessingInstruction.__super__.isEqualNode.apply(this,arguments).isEqualNode(node)&&node.target===this.target},XMLProcessingInstruction}(XMLCharacterData)}.call(XMLProcessingInstruction)),XMLProcessingInstruction$1.exports}var hasRequiredXMLDummy,XMLDummy$1={exports:{}},XMLDummy=XMLDummy$1.exports;function requireXMLDummy(){return hasRequiredXMLDummy||(hasRequiredXMLDummy=1,function(){var NodeType,XMLNode,hasProp={}.hasOwnProperty;XMLNode=requireXMLNode(),NodeType=requireNodeType(),XMLDummy$1.exports=function(superClass){function XMLDummy(parent){XMLDummy.__super__.constructor.call(this,parent),this.type=NodeType.Dummy}return function(child,parent){for(var key in parent)hasProp.call(parent,key)&&(child[key]=parent[key]);function ctor(){this.constructor=child}ctor.prototype=parent.prototype,child.prototype=new ctor,child.__super__=parent.prototype}(XMLDummy,superClass),XMLDummy.prototype.clone=function(){return Object.create(this)},XMLDummy.prototype.toString=function(options){return""},XMLDummy}(XMLNode)}.call(XMLDummy)),XMLDummy$1.exports}var hasRequiredXMLNodeList,XMLNodeList$1={exports:{}},XMLNodeList=XMLNodeList$1.exports;function requireXMLNodeList(){return hasRequiredXMLNodeList||(hasRequiredXMLNodeList=1,function(){XMLNodeList$1.exports=function(){function XMLNodeList(nodes){this.nodes=nodes}return Object.defineProperty(XMLNodeList.prototype,"length",{get:function(){return this.nodes.length||0}}),XMLNodeList.prototype.clone=function(){return this.nodes=null},XMLNodeList.prototype.item=function(index){return this.nodes[index]||null},XMLNodeList}()}.call(XMLNodeList)),XMLNodeList$1.exports}var hasRequiredDocumentPosition,DocumentPosition$1={exports:{}},DocumentPosition=DocumentPosition$1.exports;function requireDocumentPosition(){return hasRequiredDocumentPosition||(hasRequiredDocumentPosition=1,function(){DocumentPosition$1.exports={Disconnected:1,Preceding:2,Following:4,Contains:8,ContainedBy:16,ImplementationSpecific:32}}.call(DocumentPosition)),DocumentPosition$1.exports}var hasRequiredXMLNode,XMLNode=XMLNode$1.exports;function requireXMLNode(){return hasRequiredXMLNode||(hasRequiredXMLNode=1,function(){var DocumentPosition,NodeType,XMLCData,XMLComment,XMLDeclaration,XMLDocType,XMLDummy,XMLElement,XMLNodeList,XMLProcessingInstruction,XMLRaw,XMLText,getValue,isEmpty,isFunction,isObject,ref1,hasProp={}.hasOwnProperty;ref1=requireUtility(),isObject=ref1.isObject,isFunction=ref1.isFunction,isEmpty=ref1.isEmpty,getValue=ref1.getValue,XMLElement=null,XMLCData=null,XMLComment=null,XMLDeclaration=null,XMLDocType=null,XMLRaw=null,XMLText=null,XMLProcessingInstruction=null,XMLDummy=null,NodeType=null,XMLNodeList=null,DocumentPosition=null,XMLNode$1.exports=function(){function XMLNode(parent1){this.parent=parent1,this.parent&&(this.options=this.parent.options,this.stringify=this.parent.stringify),this.value=null,this.children=[],this.baseURI=null,XMLElement||(XMLElement=requireXMLElement(),XMLCData=requireXMLCData(),XMLComment=requireXMLComment(),XMLDeclaration=requireXMLDeclaration(),XMLDocType=requireXMLDocType(),XMLRaw=requireXMLRaw(),XMLText=requireXMLText(),XMLProcessingInstruction=requireXMLProcessingInstruction(),XMLDummy=requireXMLDummy(),NodeType=requireNodeType(),XMLNodeList=requireXMLNodeList(),requireXMLNamedNodeMap(),DocumentPosition=requireDocumentPosition())}return Object.defineProperty(XMLNode.prototype,"nodeName",{get:function(){return this.name}}),Object.defineProperty(XMLNode.prototype,"nodeType",{get:function(){return this.type}}),Object.defineProperty(XMLNode.prototype,"nodeValue",{get:function(){return this.value}}),Object.defineProperty(XMLNode.prototype,"parentNode",{get:function(){return this.parent}}),Object.defineProperty(XMLNode.prototype,"childNodes",{get:function(){return this.childNodeList&&this.childNodeList.nodes||(this.childNodeList=new XMLNodeList(this.children)),this.childNodeList}}),Object.defineProperty(XMLNode.prototype,"firstChild",{get:function(){return this.children[0]||null}}),Object.defineProperty(XMLNode.prototype,"lastChild",{get:function(){return this.children[this.children.length-1]||null}}),Object.defineProperty(XMLNode.prototype,"previousSibling",{get:function(){var i;return i=this.parent.children.indexOf(this),this.parent.children[i-1]||null}}),Object.defineProperty(XMLNode.prototype,"nextSibling",{get:function(){var i;return i=this.parent.children.indexOf(this),this.parent.children[i+1]||null}}),Object.defineProperty(XMLNode.prototype,"ownerDocument",{get:function(){return this.document()||null}}),Object.defineProperty(XMLNode.prototype,"textContent",{get:function(){var child,j,len,ref2,str;if(this.nodeType===NodeType.Element||this.nodeType===NodeType.DocumentFragment){for(str="",j=0,len=(ref2=this.children).length;j<len;j++)(child=ref2[j]).textContent&&(str+=child.textContent);return str}return null},set:function(value){throw new Error("This DOM method is not implemented."+this.debugInfo())}}),XMLNode.prototype.setParent=function(parent){var child,j,len,ref2,results;for(this.parent=parent,parent&&(this.options=parent.options,this.stringify=parent.stringify),results=[],j=0,len=(ref2=this.children).length;j<len;j++)child=ref2[j],results.push(child.setParent(this));return results},XMLNode.prototype.element=function(name,attributes,text){var childNode,item,j,k,key,lastChild,len,len1,ref2,ref3,val;if(lastChild=null,null===attributes&&null==text&&(attributes=(ref2=[{},null])[0],text=ref2[1]),null==attributes&&(attributes={}),attributes=getValue(attributes),isObject(attributes)||(text=(ref3=[attributes,text])[0],attributes=ref3[1]),null!=name&&(name=getValue(name)),Array.isArray(name))for(j=0,len=name.length;j<len;j++)item=name[j],lastChild=this.element(item);else if(isFunction(name))lastChild=this.element(name.apply());else if(isObject(name)){for(key in name)if(hasProp.call(name,key))if(val=name[key],isFunction(val)&&(val=val.apply()),!this.options.ignoreDecorators&&this.stringify.convertAttKey&&0===key.indexOf(this.stringify.convertAttKey))lastChild=this.attribute(key.substr(this.stringify.convertAttKey.length),val);else if(!this.options.separateArrayItems&&Array.isArray(val)&&isEmpty(val))lastChild=this.dummy();else if(isObject(val)&&isEmpty(val))lastChild=this.element(key);else if(this.options.keepNullNodes||null!=val)if(!this.options.separateArrayItems&&Array.isArray(val))for(k=0,len1=val.length;k<len1;k++)item=val[k],(childNode={})[key]=item,lastChild=this.element(childNode);else isObject(val)?!this.options.ignoreDecorators&&this.stringify.convertTextKey&&0===key.indexOf(this.stringify.convertTextKey)?lastChild=this.element(val):(lastChild=this.element(key)).element(val):lastChild=this.element(key,val);else lastChild=this.dummy()}else lastChild=this.options.keepNullNodes||null!==text?!this.options.ignoreDecorators&&this.stringify.convertTextKey&&0===name.indexOf(this.stringify.convertTextKey)?this.text(text):!this.options.ignoreDecorators&&this.stringify.convertCDataKey&&0===name.indexOf(this.stringify.convertCDataKey)?this.cdata(text):!this.options.ignoreDecorators&&this.stringify.convertCommentKey&&0===name.indexOf(this.stringify.convertCommentKey)?this.comment(text):!this.options.ignoreDecorators&&this.stringify.convertRawKey&&0===name.indexOf(this.stringify.convertRawKey)?this.raw(text):!this.options.ignoreDecorators&&this.stringify.convertPIKey&&0===name.indexOf(this.stringify.convertPIKey)?this.instruction(name.substr(this.stringify.convertPIKey.length),text):this.node(name,attributes,text):this.dummy();if(null==lastChild)throw new Error("Could not create any elements with: "+name+". "+this.debugInfo());return lastChild},XMLNode.prototype.insertBefore=function(name,attributes,text){var child,i,newChild,refChild,removed;if(null!=name?name.type:void 0)return refChild=attributes,(newChild=name).setParent(this),refChild?(i=children.indexOf(refChild),removed=children.splice(i),children.push(newChild),Array.prototype.push.apply(children,removed)):children.push(newChild),newChild;if(this.isRoot)throw new Error("Cannot insert elements at root level. "+this.debugInfo(name));return i=this.parent.children.indexOf(this),removed=this.parent.children.splice(i),child=this.parent.element(name,attributes,text),Array.prototype.push.apply(this.parent.children,removed),child},XMLNode.prototype.insertAfter=function(name,attributes,text){var child,i,removed;if(this.isRoot)throw new Error("Cannot insert elements at root level. "+this.debugInfo(name));return i=this.parent.children.indexOf(this),removed=this.parent.children.splice(i+1),child=this.parent.element(name,attributes,text),Array.prototype.push.apply(this.parent.children,removed),child},XMLNode.prototype.remove=function(){var i;if(this.isRoot)throw new Error("Cannot remove the root element. "+this.debugInfo());return i=this.parent.children.indexOf(this),[].splice.apply(this.parent.children,[i,i-i+1].concat([])),this.parent},XMLNode.prototype.node=function(name,attributes,text){var child,ref2;return null!=name&&(name=getValue(name)),attributes||(attributes={}),attributes=getValue(attributes),isObject(attributes)||(text=(ref2=[attributes,text])[0],attributes=ref2[1]),child=new XMLElement(this,name,attributes),null!=text&&child.text(text),this.children.push(child),child},XMLNode.prototype.text=function(value){var child;return isObject(value)&&this.element(value),child=new XMLText(this,value),this.children.push(child),this},XMLNode.prototype.cdata=function(value){var child;return child=new XMLCData(this,value),this.children.push(child),this},XMLNode.prototype.comment=function(value){var child;return child=new XMLComment(this,value),this.children.push(child),this},XMLNode.prototype.commentBefore=function(value){var i,removed;return i=this.parent.children.indexOf(this),removed=this.parent.children.splice(i),this.parent.comment(value),Array.prototype.push.apply(this.parent.children,removed),this},XMLNode.prototype.commentAfter=function(value){var i,removed;return i=this.parent.children.indexOf(this),removed=this.parent.children.splice(i+1),this.parent.comment(value),Array.prototype.push.apply(this.parent.children,removed),this},XMLNode.prototype.raw=function(value){var child;return child=new XMLRaw(this,value),this.children.push(child),this},XMLNode.prototype.dummy=function(){return new XMLDummy(this)},XMLNode.prototype.instruction=function(target,value){var insTarget,insValue,instruction,j,len;if(null!=target&&(target=getValue(target)),null!=value&&(value=getValue(value)),Array.isArray(target))for(j=0,len=target.length;j<len;j++)insTarget=target[j],this.instruction(insTarget);else if(isObject(target))for(insTarget in target)hasProp.call(target,insTarget)&&(insValue=target[insTarget],this.instruction(insTarget,insValue));else isFunction(value)&&(value=value.apply()),instruction=new XMLProcessingInstruction(this,target,value),this.children.push(instruction);return this},XMLNode.prototype.instructionBefore=function(target,value){var i,removed;return i=this.parent.children.indexOf(this),removed=this.parent.children.splice(i),this.parent.instruction(target,value),Array.prototype.push.apply(this.parent.children,removed),this},XMLNode.prototype.instructionAfter=function(target,value){var i,removed;return i=this.parent.children.indexOf(this),removed=this.parent.children.splice(i+1),this.parent.instruction(target,value),Array.prototype.push.apply(this.parent.children,removed),this},XMLNode.prototype.declaration=function(version,encoding,standalone){var doc,xmldec;return doc=this.document(),xmldec=new XMLDeclaration(doc,version,encoding,standalone),0===doc.children.length?doc.children.unshift(xmldec):doc.children[0].type===NodeType.Declaration?doc.children[0]=xmldec:doc.children.unshift(xmldec),doc.root()||doc},XMLNode.prototype.dtd=function(pubID,sysID){var doc,doctype,i,j,k,len,len1,ref2,ref3;for(doc=this.document(),doctype=new XMLDocType(doc,pubID,sysID),i=j=0,len=(ref2=doc.children).length;j<len;i=++j)if(ref2[i].type===NodeType.DocType)return doc.children[i]=doctype,doctype;for(i=k=0,len1=(ref3=doc.children).length;k<len1;i=++k)if(ref3[i].isRoot)return doc.children.splice(i,0,doctype),doctype;return doc.children.push(doctype),doctype},XMLNode.prototype.up=function(){if(this.isRoot)throw new Error("The root node has no parent. Use doc() if you need to get the document object.");return this.parent},XMLNode.prototype.root=function(){var node;for(node=this;node;){if(node.type===NodeType.Document)return node.rootObject;if(node.isRoot)return node;node=node.parent}},XMLNode.prototype.document=function(){var node;for(node=this;node;){if(node.type===NodeType.Document)return node;node=node.parent}},XMLNode.prototype.end=function(options){return this.document().end(options)},XMLNode.prototype.prev=function(){var i;if((i=this.parent.children.indexOf(this))<1)throw new Error("Already at the first node. "+this.debugInfo());return this.parent.children[i-1]},XMLNode.prototype.next=function(){var i;if(-1===(i=this.parent.children.indexOf(this))||i===this.parent.children.length-1)throw new Error("Already at the last node. "+this.debugInfo());return this.parent.children[i+1]},XMLNode.prototype.importDocument=function(doc){var clonedRoot;return(clonedRoot=doc.root().clone()).parent=this,clonedRoot.isRoot=!1,this.children.push(clonedRoot),this},XMLNode.prototype.debugInfo=function(name){var ref2,ref3;return null!=(name=name||this.name)||(null!=(ref2=this.parent)?ref2.name:void 0)?null==name?"parent: <"+this.parent.name+">":(null!=(ref3=this.parent)?ref3.name:void 0)?"node: <"+name+">, parent: <"+this.parent.name+">":"node: <"+name+">":""},XMLNode.prototype.ele=function(name,attributes,text){return this.element(name,attributes,text)},XMLNode.prototype.nod=function(name,attributes,text){return this.node(name,attributes,text)},XMLNode.prototype.txt=function(value){return this.text(value)},XMLNode.prototype.dat=function(value){return this.cdata(value)},XMLNode.prototype.com=function(value){return this.comment(value)},XMLNode.prototype.ins=function(target,value){return this.instruction(target,value)},XMLNode.prototype.doc=function(){return this.document()},XMLNode.prototype.dec=function(version,encoding,standalone){return this.declaration(version,encoding,standalone)},XMLNode.prototype.e=function(name,attributes,text){return this.element(name,attributes,text)},XMLNode.prototype.n=function(name,attributes,text){return this.node(name,attributes,text)},XMLNode.prototype.t=function(value){return this.text(value)},XMLNode.prototype.d=function(value){return this.cdata(value)},XMLNode.prototype.c=function(value){return this.comment(value)},XMLNode.prototype.r=function(value){return this.raw(value)},XMLNode.prototype.i=function(target,value){return this.instruction(target,value)},XMLNode.prototype.u=function(){return this.up()},XMLNode.prototype.importXMLBuilder=function(doc){return this.importDocument(doc)},XMLNode.prototype.replaceChild=function(newChild,oldChild){throw new Error("This DOM method is not implemented."+this.debugInfo())},XMLNode.prototype.removeChild=function(oldChild){throw new Error("This DOM method is not implemented."+this.debugInfo())},XMLNode.prototype.appendChild=function(newChild){throw new Error("This DOM method is not implemented."+this.debugInfo())},XMLNode.prototype.hasChildNodes=function(){return 0!==this.children.length},XMLNode.prototype.cloneNode=function(deep){throw new Error("This DOM method is not implemented."+this.debugInfo())},XMLNode.prototype.normalize=function(){throw new Error("This DOM method is not implemented."+this.debugInfo())},XMLNode.prototype.isSupported=function(feature,version){return!0},XMLNode.prototype.hasAttributes=function(){return 0!==this.attribs.length},XMLNode.prototype.compareDocumentPosition=function(other){var res;return this===other?0:this.document()!==other.document()?(res=DocumentPosition.Disconnected|DocumentPosition.ImplementationSpecific,Math.random()<.5?res|=DocumentPosition.Preceding:res|=DocumentPosition.Following,res):this.isAncestor(other)?DocumentPosition.Contains|DocumentPosition.Preceding:this.isDescendant(other)?DocumentPosition.Contains|DocumentPosition.Following:this.isPreceding(other)?DocumentPosition.Preceding:DocumentPosition.Following},XMLNode.prototype.isSameNode=function(other){throw new Error("This DOM method is not implemented."+this.debugInfo())},XMLNode.prototype.lookupPrefix=function(namespaceURI){throw new Error("This DOM method is not implemented."+this.debugInfo())},XMLNode.prototype.isDefaultNamespace=function(namespaceURI){throw new Error("This DOM method is not implemented."+this.debugInfo())},XMLNode.prototype.lookupNamespaceURI=function(prefix){throw new Error("This DOM method is not implemented."+this.debugInfo())},XMLNode.prototype.isEqualNode=function(node){var i,j,ref2;if(node.nodeType!==this.nodeType)return!1;if(node.children.length!==this.children.length)return!1;for(i=j=0,ref2=this.children.length-1;0<=ref2?j<=ref2:j>=ref2;i=0<=ref2?++j:--j)if(!this.children[i].isEqualNode(node.children[i]))return!1;return!0},XMLNode.prototype.getFeature=function(feature,version){throw new Error("This DOM method is not implemented."+this.debugInfo())},XMLNode.prototype.setUserData=function(key,data,handler){throw new Error("This DOM method is not implemented."+this.debugInfo())},XMLNode.prototype.getUserData=function(key){throw new Error("This DOM method is not implemented."+this.debugInfo())},XMLNode.prototype.contains=function(other){return!!other&&(other===this||this.isDescendant(other))},XMLNode.prototype.isDescendant=function(node){var child,j,len,ref2;for(j=0,len=(ref2=this.children).length;j<len;j++){if(node===(child=ref2[j]))return!0;if(child.isDescendant(node))return!0}return!1},XMLNode.prototype.isAncestor=function(node){return node.isDescendant(this)},XMLNode.prototype.isPreceding=function(node){var nodePos,thisPos;return nodePos=this.treePosition(node),thisPos=this.treePosition(this),-1!==nodePos&&-1!==thisPos&&nodePos<thisPos},XMLNode.prototype.isFollowing=function(node){var nodePos,thisPos;return nodePos=this.treePosition(node),thisPos=this.treePosition(this),-1!==nodePos&&-1!==thisPos&&nodePos>thisPos},XMLNode.prototype.treePosition=function(node){var found,pos;return pos=0,found=!1,this.foreachTreeNode(this.document(),(function(childNode){if(pos++,!found&&childNode===node)return found=!0})),found?pos:-1},XMLNode.prototype.foreachTreeNode=function(node,func){var child,j,len,ref2,res;for(node||(node=this.document()),j=0,len=(ref2=node.children).length;j<len;j++){if(res=func(child=ref2[j]))return res;if(res=this.foreachTreeNode(child,func))return res}},XMLNode}()}.call(XMLNode)),XMLNode$1.exports}var hasRequiredXMLStringifier,XMLStringifier$1={exports:{}},XMLStringifier=XMLStringifier$1.exports;function requireXMLStringifier(){return hasRequiredXMLStringifier||(hasRequiredXMLStringifier=1,function(){var bind=function(fn,me){return function(){return fn.apply(me,arguments)}},hasProp={}.hasOwnProperty;XMLStringifier$1.exports=function(){function XMLStringifier(options){var key,ref,value;for(key in this.assertLegalName=bind(this.assertLegalName,this),this.assertLegalChar=bind(this.assertLegalChar,this),options||(options={}),this.options=options,this.options.version||(this.options.version="1.0"),ref=options.stringify||{})hasProp.call(ref,key)&&(value=ref[key],this[key]=value)}return XMLStringifier.prototype.name=function(val){return this.options.noValidation?val:this.assertLegalName(""+val||"")},XMLStringifier.prototype.text=function(val){return this.options.noValidation?val:this.assertLegalChar(this.textEscape(""+val||""))},XMLStringifier.prototype.cdata=function(val){return this.options.noValidation?val:(val=(val=""+val||"").replace("]]>","]]]]><![CDATA[>"),this.assertLegalChar(val))},XMLStringifier.prototype.comment=function(val){if(this.options.noValidation)return val;if((val=""+val||"").match(/--/))throw new Error("Comment text cannot contain double-hypen: "+val);return this.assertLegalChar(val)},XMLStringifier.prototype.raw=function(val){return this.options.noValidation?val:""+val||""},XMLStringifier.prototype.attValue=function(val){return this.options.noValidation?val:this.assertLegalChar(this.attEscape(val=""+val||""))},XMLStringifier.prototype.insTarget=function(val){return this.options.noValidation?val:this.assertLegalChar(""+val||"")},XMLStringifier.prototype.insValue=function(val){if(this.options.noValidation)return val;if((val=""+val||"").match(/\?>/))throw new Error("Invalid processing instruction value: "+val);return this.assertLegalChar(val)},XMLStringifier.prototype.xmlVersion=function(val){if(this.options.noValidation)return val;if(!(val=""+val||"").match(/1\.[0-9]+/))throw new Error("Invalid version number: "+val);return val},XMLStringifier.prototype.xmlEncoding=function(val){if(this.options.noValidation)return val;if(!(val=""+val||"").match(/^[A-Za-z](?:[A-Za-z0-9._-])*$/))throw new Error("Invalid encoding: "+val);return this.assertLegalChar(val)},XMLStringifier.prototype.xmlStandalone=function(val){return this.options.noValidation?val:val?"yes":"no"},XMLStringifier.prototype.dtdPubID=function(val){return this.options.noValidation?val:this.assertLegalChar(""+val||"")},XMLStringifier.prototype.dtdSysID=function(val){return this.options.noValidation?val:this.assertLegalChar(""+val||"")},XMLStringifier.prototype.dtdElementValue=function(val){return this.options.noValidation?val:this.assertLegalChar(""+val||"")},XMLStringifier.prototype.dtdAttType=function(val){return this.options.noValidation?val:this.assertLegalChar(""+val||"")},XMLStringifier.prototype.dtdAttDefault=function(val){return this.options.noValidation?val:this.assertLegalChar(""+val||"")},XMLStringifier.prototype.dtdEntityValue=function(val){return this.options.noValidation?val:this.assertLegalChar(""+val||"")},XMLStringifier.prototype.dtdNData=function(val){return this.options.noValidation?val:this.assertLegalChar(""+val||"")},XMLStringifier.prototype.convertAttKey="@",XMLStringifier.prototype.convertPIKey="?",XMLStringifier.prototype.convertTextKey="#text",XMLStringifier.prototype.convertCDataKey="#cdata",XMLStringifier.prototype.convertCommentKey="#comment",XMLStringifier.prototype.convertRawKey="#raw",XMLStringifier.prototype.assertLegalChar=function(str){var regex,res;if(this.options.noValidation)return str;if(regex="","1.0"===this.options.version){if(regex=/[\0-\x08\x0B\f\x0E-\x1F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,res=str.match(regex))throw new Error("Invalid character in string: "+str+" at index "+res.index)}else if("1.1"===this.options.version&&(regex=/[\0\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,res=str.match(regex)))throw new Error("Invalid character in string: "+str+" at index "+res.index);return str},XMLStringifier.prototype.assertLegalName=function(str){var regex;if(this.options.noValidation)return str;if(this.assertLegalChar(str),regex=/^([:A-Z_a-z\xC0-\xD6\xD8-\xF6\xF8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]|[\uD800-\uDB7F][\uDC00-\uDFFF])([\x2D\.0-:A-Z_a-z\xB7\xC0-\xD6\xD8-\xF6\xF8-\u037D\u037F-\u1FFF\u200C\u200D\u203F\u2040\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]|[\uD800-\uDB7F][\uDC00-\uDFFF])*$/,!str.match(regex))throw new Error("Invalid character in name");return str},XMLStringifier.prototype.textEscape=function(str){var ampregex;return this.options.noValidation?str:(ampregex=this.options.noDoubleEncoding?/(?!&\S+;)&/g:/&/g,str.replace(ampregex,"&").replace(/</g,"<").replace(/>/g,">").replace(/\r/g,"
"))},XMLStringifier.prototype.attEscape=function(str){var ampregex;return this.options.noValidation?str:(ampregex=this.options.noDoubleEncoding?/(?!&\S+;)&/g:/&/g,str.replace(ampregex,"&").replace(/</g,"<").replace(/"/g,""").replace(/\t/g,"	").replace(/\n/g,"
").replace(/\r/g,"
"))},XMLStringifier}()}.call(XMLStringifier)),XMLStringifier$1.exports}var hasRequiredWriterState,XMLStringWriter$1={exports:{}},XMLWriterBase$1={exports:{}},WriterState$1={exports:{}},WriterState=WriterState$1.exports;function requireWriterState(){return hasRequiredWriterState||(hasRequiredWriterState=1,function(){WriterState$1.exports={None:0,OpenTag:1,InsideTag:2,CloseTag:3}}.call(WriterState)),WriterState$1.exports}var hasRequiredXMLWriterBase,XMLWriterBase=XMLWriterBase$1.exports;function requireXMLWriterBase(){return hasRequiredXMLWriterBase||(hasRequiredXMLWriterBase=1,function(){var NodeType,WriterState,assign,hasProp={}.hasOwnProperty;assign=requireUtility().assign,NodeType=requireNodeType(),requireXMLDeclaration(),requireXMLDocType(),requireXMLCData(),requireXMLComment(),requireXMLElement(),requireXMLRaw(),requireXMLText(),requireXMLProcessingInstruction(),requireXMLDummy(),requireXMLDTDAttList(),requireXMLDTDElement(),requireXMLDTDEntity(),requireXMLDTDNotation(),WriterState=requireWriterState(),XMLWriterBase$1.exports=function(){function XMLWriterBase(options){var key,ref,value;for(key in options||(options={}),this.options=options,ref=options.writer||{})hasProp.call(ref,key)&&(value=ref[key],this["_"+key]=this[key],this[key]=value)}return XMLWriterBase.prototype.filterOptions=function(options){var filteredOptions,ref,ref1,ref2,ref3,ref4,ref5,ref6;return options||(options={}),options=assign({},this.options,options),(filteredOptions={writer:this}).pretty=options.pretty||!1,filteredOptions.allowEmpty=options.allowEmpty||!1,filteredOptions.indent=null!=(ref=options.indent)?ref:" ",filteredOptions.newline=null!=(ref1=options.newline)?ref1:"\n",filteredOptions.offset=null!=(ref2=options.offset)?ref2:0,filteredOptions.dontPrettyTextNodes=null!=(ref3=null!=(ref4=options.dontPrettyTextNodes)?ref4:options.dontprettytextnodes)?ref3:0,filteredOptions.spaceBeforeSlash=null!=(ref5=null!=(ref6=options.spaceBeforeSlash)?ref6:options.spacebeforeslash)?ref5:"",!0===filteredOptions.spaceBeforeSlash&&(filteredOptions.spaceBeforeSlash=" "),filteredOptions.suppressPrettyCount=0,filteredOptions.user={},filteredOptions.state=WriterState.None,filteredOptions},XMLWriterBase.prototype.indent=function(node,options,level){var indentLevel;return!options.pretty||options.suppressPrettyCount?"":options.pretty&&(indentLevel=(level||0)+options.offset+1)>0?new Array(indentLevel).join(options.indent):""},XMLWriterBase.prototype.endline=function(node,options,level){return!options.pretty||options.suppressPrettyCount?"":options.newline},XMLWriterBase.prototype.attribute=function(att,options,level){var r;return this.openAttribute(att,options,level),r=" "+att.name+'="'+att.value+'"',this.closeAttribute(att,options,level),r},XMLWriterBase.prototype.cdata=function(node,options,level){var r;return this.openNode(node,options,level),options.state=WriterState.OpenTag,r=this.indent(node,options,level)+"<![CDATA[",options.state=WriterState.InsideTag,r+=node.value,options.state=WriterState.CloseTag,r+="]]>"+this.endline(node,options,level),options.state=WriterState.None,this.closeNode(node,options,level),r},XMLWriterBase.prototype.comment=function(node,options,level){var r;return this.openNode(node,options,level),options.state=WriterState.OpenTag,r=this.indent(node,options,level)+"\x3c!-- ",options.state=WriterState.InsideTag,r+=node.value,options.state=WriterState.CloseTag,r+=" --\x3e"+this.endline(node,options,level),options.state=WriterState.None,this.closeNode(node,options,level),r},XMLWriterBase.prototype.declaration=function(node,options,level){var r;return this.openNode(node,options,level),options.state=WriterState.OpenTag,r=this.indent(node,options,level)+"<?xml",options.state=WriterState.InsideTag,r+=' version="'+node.version+'"',null!=node.encoding&&(r+=' encoding="'+node.encoding+'"'),null!=node.standalone&&(r+=' standalone="'+node.standalone+'"'),options.state=WriterState.CloseTag,r+=options.spaceBeforeSlash+"?>",r+=this.endline(node,options,level),options.state=WriterState.None,this.closeNode(node,options,level),r},XMLWriterBase.prototype.docType=function(node,options,level){var child,i,len,r,ref;if(level||(level=0),this.openNode(node,options,level),options.state=WriterState.OpenTag,r=this.indent(node,options,level),r+="<!DOCTYPE "+node.root().name,node.pubID&&node.sysID?r+=' PUBLIC "'+node.pubID+'" "'+node.sysID+'"':node.sysID&&(r+=' SYSTEM "'+node.sysID+'"'),node.children.length>0){for(r+=" [",r+=this.endline(node,options,level),options.state=WriterState.InsideTag,i=0,len=(ref=node.children).length;i<len;i++)child=ref[i],r+=this.writeChildNode(child,options,level+1);options.state=WriterState.CloseTag,r+="]"}return options.state=WriterState.CloseTag,r+=options.spaceBeforeSlash+">",r+=this.endline(node,options,level),options.state=WriterState.None,this.closeNode(node,options,level),r},XMLWriterBase.prototype.element=function(node,options,level){var att,child,childNodeCount,firstChildNode,i,j,len,len1,name,prettySuppressed,r,ref,ref1,ref2;for(name in level||(level=0),prettySuppressed=!1,r="",this.openNode(node,options,level),options.state=WriterState.OpenTag,r+=this.indent(node,options,level)+"<"+node.name,ref=node.attribs)hasProp.call(ref,name)&&(att=ref[name],r+=this.attribute(att,options,level));if(firstChildNode=0===(childNodeCount=node.children.length)?null:node.children[0],0===childNodeCount||node.children.every((function(e){return(e.type===NodeType.Text||e.type===NodeType.Raw)&&""===e.value})))options.allowEmpty?(r+=">",options.state=WriterState.CloseTag,r+="</"+node.name+">"+this.endline(node,options,level)):(options.state=WriterState.CloseTag,r+=options.spaceBeforeSlash+"/>"+this.endline(node,options,level));else if(!options.pretty||1!==childNodeCount||firstChildNode.type!==NodeType.Text&&firstChildNode.type!==NodeType.Raw||null==firstChildNode.value){if(options.dontPrettyTextNodes)for(i=0,len=(ref1=node.children).length;i<len;i++)if(((child=ref1[i]).type===NodeType.Text||child.type===NodeType.Raw)&&null!=child.value){options.suppressPrettyCount++,prettySuppressed=!0;break}for(r+=">"+this.endline(node,options,level),options.state=WriterState.InsideTag,j=0,len1=(ref2=node.children).length;j<len1;j++)child=ref2[j],r+=this.writeChildNode(child,options,level+1);options.state=WriterState.CloseTag,r+=this.indent(node,options,level)+"</"+node.name+">",prettySuppressed&&options.suppressPrettyCount--,r+=this.endline(node,options,level),options.state=WriterState.None}else r+=">",options.state=WriterState.InsideTag,options.suppressPrettyCount++,prettySuppressed=!0,r+=this.writeChildNode(firstChildNode,options,level+1),options.suppressPrettyCount--,prettySuppressed=!1,options.state=WriterState.CloseTag,r+="</"+node.name+">"+this.endline(node,options,level);return this.closeNode(node,options,level),r},XMLWriterBase.prototype.writeChildNode=function(node,options,level){switch(node.type){case NodeType.CData:return this.cdata(node,options,level);case NodeType.Comment:return this.comment(node,options,level);case NodeType.Element:return this.element(node,options,level);case NodeType.Raw:return this.raw(node,options,level);case NodeType.Text:return this.text(node,options,level);case NodeType.ProcessingInstruction:return this.processingInstruction(node,options,level);case NodeType.Dummy:return"";case NodeType.Declaration:return this.declaration(node,options,level);case NodeType.DocType:return this.docType(node,options,level);case NodeType.AttributeDeclaration:return this.dtdAttList(node,options,level);case NodeType.ElementDeclaration:return this.dtdElement(node,options,level);case NodeType.EntityDeclaration:return this.dtdEntity(node,options,level);case NodeType.NotationDeclaration:return this.dtdNotation(node,options,level);default:throw new Error("Unknown XML node type: "+node.constructor.name)}},XMLWriterBase.prototype.processingInstruction=function(node,options,level){var r;return this.openNode(node,options,level),options.state=WriterState.OpenTag,r=this.indent(node,options,level)+"<?",options.state=WriterState.InsideTag,r+=node.target,node.value&&(r+=" "+node.value),options.state=WriterState.CloseTag,r+=options.spaceBeforeSlash+"?>",r+=this.endline(node,options,level),options.state=WriterState.None,this.closeNode(node,options,level),r},XMLWriterBase.prototype.raw=function(node,options,level){var r;return this.openNode(node,options,level),options.state=WriterState.OpenTag,r=this.indent(node,options,level),options.state=WriterState.InsideTag,r+=node.value,options.state=WriterState.CloseTag,r+=this.endline(node,options,level),options.state=WriterState.None,this.closeNode(node,options,level),r},XMLWriterBase.prototype.text=function(node,options,level){var r;return this.openNode(node,options,level),options.state=WriterState.OpenTag,r=this.indent(node,options,level),options.state=WriterState.InsideTag,r+=node.value,options.state=WriterState.CloseTag,r+=this.endline(node,options,level),options.state=WriterState.None,this.closeNode(node,options,level),r},XMLWriterBase.prototype.dtdAttList=function(node,options,level){var r;return this.openNode(node,options,level),options.state=WriterState.OpenTag,r=this.indent(node,options,level)+"<!ATTLIST",options.state=WriterState.InsideTag,r+=" "+node.elementName+" "+node.attributeName+" "+node.attributeType,"#DEFAULT"!==node.defaultValueType&&(r+=" "+node.defaultValueType),node.defaultValue&&(r+=' "'+node.defaultValue+'"'),options.state=WriterState.CloseTag,r+=options.spaceBeforeSlash+">"+this.endline(node,options,level),options.state=WriterState.None,this.closeNode(node,options,level),r},XMLWriterBase.prototype.dtdElement=function(node,options,level){var r;return this.openNode(node,options,level),options.state=WriterState.OpenTag,r=this.indent(node,options,level)+"<!ELEMENT",options.state=WriterState.InsideTag,r+=" "+node.name+" "+node.value,options.state=WriterState.CloseTag,r+=options.spaceBeforeSlash+">"+this.endline(node,options,level),options.state=WriterState.None,this.closeNode(node,options,level),r},XMLWriterBase.prototype.dtdEntity=function(node,options,level){var r;return this.openNode(node,options,level),options.state=WriterState.OpenTag,r=this.indent(node,options,level)+"<!ENTITY",options.state=WriterState.InsideTag,node.pe&&(r+=" %"),r+=" "+node.name,node.value?r+=' "'+node.value+'"':(node.pubID&&node.sysID?r+=' PUBLIC "'+node.pubID+'" "'+node.sysID+'"':node.sysID&&(r+=' SYSTEM "'+node.sysID+'"'),node.nData&&(r+=" NDATA "+node.nData)),options.state=WriterState.CloseTag,r+=options.spaceBeforeSlash+">"+this.endline(node,options,level),options.state=WriterState.None,this.closeNode(node,options,level),r},XMLWriterBase.prototype.dtdNotation=function(node,options,level){var r;return this.openNode(node,options,level),options.state=WriterState.OpenTag,r=this.indent(node,options,level)+"<!NOTATION",options.state=WriterState.InsideTag,r+=" "+node.name,node.pubID&&node.sysID?r+=' PUBLIC "'+node.pubID+'" "'+node.sysID+'"':node.pubID?r+=' PUBLIC "'+node.pubID+'"':node.sysID&&(r+=' SYSTEM "'+node.sysID+'"'),options.state=WriterState.CloseTag,r+=options.spaceBeforeSlash+">"+this.endline(node,options,level),options.state=WriterState.None,this.closeNode(node,options,level),r},XMLWriterBase.prototype.openNode=function(node,options,level){},XMLWriterBase.prototype.closeNode=function(node,options,level){},XMLWriterBase.prototype.openAttribute=function(att,options,level){},XMLWriterBase.prototype.closeAttribute=function(att,options,level){},XMLWriterBase}()}.call(XMLWriterBase)),XMLWriterBase$1.exports}var hasRequiredXMLStringWriter,XMLStringWriter=XMLStringWriter$1.exports;function requireXMLStringWriter(){return hasRequiredXMLStringWriter||(hasRequiredXMLStringWriter=1,function(){var XMLWriterBase,hasProp={}.hasOwnProperty;XMLWriterBase=requireXMLWriterBase(),XMLStringWriter$1.exports=function(superClass){function XMLStringWriter(options){XMLStringWriter.__super__.constructor.call(this,options)}return function(child,parent){for(var key in parent)hasProp.call(parent,key)&&(child[key]=parent[key]);function ctor(){this.constructor=child}ctor.prototype=parent.prototype,child.prototype=new ctor,child.__super__=parent.prototype}(XMLStringWriter,superClass),XMLStringWriter.prototype.document=function(doc,options){var child,i,len,r,ref;for(options=this.filterOptions(options),r="",i=0,len=(ref=doc.children).length;i<len;i++)child=ref[i],r+=this.writeChildNode(child,options,0);return options.pretty&&r.slice(-options.newline.length)===options.newline&&(r=r.slice(0,-options.newline.length)),r},XMLStringWriter}(XMLWriterBase)}.call(XMLStringWriter)),XMLStringWriter$1.exports}var hasRequiredXMLDocument,XMLDocument=XMLDocument$1.exports;function requireXMLDocument(){return hasRequiredXMLDocument||(hasRequiredXMLDocument=1,function(){var NodeType,XMLDOMConfiguration,XMLDOMImplementation,XMLNode,XMLStringWriter,XMLStringifier,isPlainObject,hasProp={}.hasOwnProperty;isPlainObject=requireUtility().isPlainObject,XMLDOMImplementation=requireXMLDOMImplementation(),XMLDOMConfiguration=requireXMLDOMConfiguration(),XMLNode=requireXMLNode(),NodeType=requireNodeType(),XMLStringifier=requireXMLStringifier(),XMLStringWriter=requireXMLStringWriter(),XMLDocument$1.exports=function(superClass){function XMLDocument(options){XMLDocument.__super__.constructor.call(this,null),this.name="#document",this.type=NodeType.Document,this.documentURI=null,this.domConfig=new XMLDOMConfiguration,options||(options={}),options.writer||(options.writer=new XMLStringWriter),this.options=options,this.stringify=new XMLStringifier(options)}return function(child,parent){for(var key in parent)hasProp.call(parent,key)&&(child[key]=parent[key]);function ctor(){this.constructor=child}ctor.prototype=parent.prototype,child.prototype=new ctor,child.__super__=parent.prototype}(XMLDocument,superClass),Object.defineProperty(XMLDocument.prototype,"implementation",{value:new XMLDOMImplementation}),Object.defineProperty(XMLDocument.prototype,"doctype",{get:function(){var child,i,len,ref;for(i=0,len=(ref=this.children).length;i<len;i++)if((child=ref[i]).type===NodeType.DocType)return child;return null}}),Object.defineProperty(XMLDocument.prototype,"documentElement",{get:function(){return this.rootObject||null}}),Object.defineProperty(XMLDocument.prototype,"inputEncoding",{get:function(){return null}}),Object.defineProperty(XMLDocument.prototype,"strictErrorChecking",{get:function(){return!1}}),Object.defineProperty(XMLDocument.prototype,"xmlEncoding",{get:function(){return 0!==this.children.length&&this.children[0].type===NodeType.Declaration?this.children[0].encoding:null}}),Object.defineProperty(XMLDocument.prototype,"xmlStandalone",{get:function(){return 0!==this.children.length&&this.children[0].type===NodeType.Declaration&&"yes"===this.children[0].standalone}}),Object.defineProperty(XMLDocument.prototype,"xmlVersion",{get:function(){return 0!==this.children.length&&this.children[0].type===NodeType.Declaration?this.children[0].version:"1.0"}}),Object.defineProperty(XMLDocument.prototype,"URL",{get:function(){return this.documentURI}}),Object.defineProperty(XMLDocument.prototype,"origin",{get:function(){return null}}),Object.defineProperty(XMLDocument.prototype,"compatMode",{get:function(){return null}}),Object.defineProperty(XMLDocument.prototype,"characterSet",{get:function(){return null}}),Object.defineProperty(XMLDocument.prototype,"contentType",{get:function(){return null}}),XMLDocument.prototype.end=function(writer){var writerOptions;return writerOptions={},writer?isPlainObject(writer)&&(writerOptions=writer,writer=this.options.writer):writer=this.options.writer,writer.document(this,writer.filterOptions(writerOptions))},XMLDocument.prototype.toString=function(options){return this.options.writer.document(this,this.options.writer.filterOptions(options))},XMLDocument.prototype.createElement=function(tagName){throw new Error("This DOM method is not implemented."+this.debugInfo())},XMLDocument.prototype.createDocumentFragment=function(){throw new Error("This DOM method is not implemented."+this.debugInfo())},XMLDocument.prototype.createTextNode=function(data){throw new Error("This DOM method is not implemented."+this.debugInfo())},XMLDocument.prototype.createComment=function(data){throw new Error("This DOM method is not implemented."+this.debugInfo())},XMLDocument.prototype.createCDATASection=function(data){throw new Error("This DOM method is not implemented."+this.debugInfo())},XMLDocument.prototype.createProcessingInstruction=function(target,data){throw new Error("This DOM method is not implemented."+this.debugInfo())},XMLDocument.prototype.createAttribute=function(name){throw new Error("This DOM method is not implemented."+this.debugInfo())},XMLDocument.prototype.createEntityReference=function(name){throw new Error("This DOM method is not implemented."+this.debugInfo())},XMLDocument.prototype.getElementsByTagName=function(tagname){throw new Error("This DOM method is not implemented."+this.debugInfo())},XMLDocument.prototype.importNode=function(importedNode,deep){throw new Error("This DOM method is not implemented."+this.debugInfo())},XMLDocument.prototype.createElementNS=function(namespaceURI,qualifiedName){throw new Error("This DOM method is not implemented."+this.debugInfo())},XMLDocument.prototype.createAttributeNS=function(namespaceURI,qualifiedName){throw new Error("This DOM method is not implemented."+this.debugInfo())},XMLDocument.prototype.getElementsByTagNameNS=function(namespaceURI,localName){throw new Error("This DOM method is not implemented."+this.debugInfo())},XMLDocument.prototype.getElementById=function(elementId){throw new Error("This DOM method is not implemented."+this.debugInfo())},XMLDocument.prototype.adoptNode=function(source){throw new Error("This DOM method is not implemented."+this.debugInfo())},XMLDocument.prototype.normalizeDocument=function(){throw new Error("This DOM method is not implemented."+this.debugInfo())},XMLDocument.prototype.renameNode=function(node,namespaceURI,qualifiedName){throw new Error("This DOM method is not implemented."+this.debugInfo())},XMLDocument.prototype.getElementsByClassName=function(classNames){throw new Error("This DOM method is not implemented."+this.debugInfo())},XMLDocument.prototype.createEvent=function(eventInterface){throw new Error("This DOM method is not implemented."+this.debugInfo())},XMLDocument.prototype.createRange=function(){throw new Error("This DOM method is not implemented."+this.debugInfo())},XMLDocument.prototype.createNodeIterator=function(root,whatToShow,filter){throw new Error("This DOM method is not implemented."+this.debugInfo())},XMLDocument.prototype.createTreeWalker=function(root,whatToShow,filter){throw new Error("This DOM method is not implemented."+this.debugInfo())},XMLDocument}(XMLNode)}.call(XMLDocument)),XMLDocument$1.exports}var hasRequiredXMLDocumentCB,XMLDocumentCB$1={exports:{}},XMLDocumentCB=XMLDocumentCB$1.exports;function requireXMLDocumentCB(){return hasRequiredXMLDocumentCB||(hasRequiredXMLDocumentCB=1,function(){var NodeType,WriterState,XMLAttribute,XMLCData,XMLComment,XMLDTDAttList,XMLDTDElement,XMLDTDEntity,XMLDTDNotation,XMLDeclaration,XMLDocType,XMLDocument,XMLElement,XMLProcessingInstruction,XMLRaw,XMLStringWriter,XMLStringifier,XMLText,getValue,isFunction,isObject,isPlainObject,ref,hasProp={}.hasOwnProperty;ref=requireUtility(),isObject=ref.isObject,isFunction=ref.isFunction,isPlainObject=ref.isPlainObject,getValue=ref.getValue,NodeType=requireNodeType(),XMLDocument=requireXMLDocument(),XMLElement=requireXMLElement(),XMLCData=requireXMLCData(),XMLComment=requireXMLComment(),XMLRaw=requireXMLRaw(),XMLText=requireXMLText(),XMLProcessingInstruction=requireXMLProcessingInstruction(),XMLDeclaration=requireXMLDeclaration(),XMLDocType=requireXMLDocType(),XMLDTDAttList=requireXMLDTDAttList(),XMLDTDEntity=requireXMLDTDEntity(),XMLDTDElement=requireXMLDTDElement(),XMLDTDNotation=requireXMLDTDNotation(),XMLAttribute=requireXMLAttribute(),XMLStringifier=requireXMLStringifier(),XMLStringWriter=requireXMLStringWriter(),WriterState=requireWriterState(),XMLDocumentCB$1.exports=function(){function XMLDocumentCB(options,onData,onEnd){var writerOptions;this.name="?xml",this.type=NodeType.Document,options||(options={}),writerOptions={},options.writer?isPlainObject(options.writer)&&(writerOptions=options.writer,options.writer=new XMLStringWriter):options.writer=new XMLStringWriter,this.options=options,this.writer=options.writer,this.writerOptions=this.writer.filterOptions(writerOptions),this.stringify=new XMLStringifier(options),this.onDataCallback=onData||function(){},this.onEndCallback=onEnd||function(){},this.currentNode=null,this.currentLevel=-1,this.openTags={},this.documentStarted=!1,this.documentCompleted=!1,this.root=null}return XMLDocumentCB.prototype.createChildNode=function(node){var att,attName,attributes,child,i,len,ref1,ref2;switch(node.type){case NodeType.CData:this.cdata(node.value);break;case NodeType.Comment:this.comment(node.value);break;case NodeType.Element:for(attName in attributes={},ref1=node.attribs)hasProp.call(ref1,attName)&&(att=ref1[attName],attributes[attName]=att.value);this.node(node.name,attributes);break;case NodeType.Dummy:this.dummy();break;case NodeType.Raw:this.raw(node.value);break;case NodeType.Text:this.text(node.value);break;case NodeType.ProcessingInstruction:this.instruction(node.target,node.value);break;default:throw new Error("This XML node type is not supported in a JS object: "+node.constructor.name)}for(i=0,len=(ref2=node.children).length;i<len;i++)child=ref2[i],this.createChildNode(child),child.type===NodeType.Element&&this.up();return this},XMLDocumentCB.prototype.dummy=function(){return this},XMLDocumentCB.prototype.node=function(name,attributes,text){var ref1;if(null==name)throw new Error("Missing node name.");if(this.root&&-1===this.currentLevel)throw new Error("Document can only have one root node. "+this.debugInfo(name));return this.openCurrent(),name=getValue(name),null==attributes&&(attributes={}),attributes=getValue(attributes),isObject(attributes)||(text=(ref1=[attributes,text])[0],attributes=ref1[1]),this.currentNode=new XMLElement(this,name,attributes),this.currentNode.children=!1,this.currentLevel++,this.openTags[this.currentLevel]=this.currentNode,null!=text&&this.text(text),this},XMLDocumentCB.prototype.element=function(name,attributes,text){var child,i,len,oldValidationFlag,ref1,root;if(this.currentNode&&this.currentNode.type===NodeType.DocType)this.dtdElement.apply(this,arguments);else if(Array.isArray(name)||isObject(name)||isFunction(name))for(oldValidationFlag=this.options.noValidation,this.options.noValidation=!0,(root=new XMLDocument(this.options).element("TEMP_ROOT")).element(name),this.options.noValidation=oldValidationFlag,i=0,len=(ref1=root.children).length;i<len;i++)child=ref1[i],this.createChildNode(child),child.type===NodeType.Element&&this.up();else this.node(name,attributes,text);return this},XMLDocumentCB.prototype.attribute=function(name,value){var attName,attValue;if(!this.currentNode||this.currentNode.children)throw new Error("att() can only be used immediately after an ele() call in callback mode. "+this.debugInfo(name));if(null!=name&&(name=getValue(name)),isObject(name))for(attName in name)hasProp.call(name,attName)&&(attValue=name[attName],this.attribute(attName,attValue));else isFunction(value)&&(value=value.apply()),this.options.keepNullAttributes&&null==value?this.currentNode.attribs[name]=new XMLAttribute(this,name,""):null!=value&&(this.currentNode.attribs[name]=new XMLAttribute(this,name,value));return this},XMLDocumentCB.prototype.text=function(value){var node;return this.openCurrent(),node=new XMLText(this,value),this.onData(this.writer.text(node,this.writerOptions,this.currentLevel+1),this.currentLevel+1),this},XMLDocumentCB.prototype.cdata=function(value){var node;return this.openCurrent(),node=new XMLCData(this,value),this.onData(this.writer.cdata(node,this.writerOptions,this.currentLevel+1),this.currentLevel+1),this},XMLDocumentCB.prototype.comment=function(value){var node;return this.openCurrent(),node=new XMLComment(this,value),this.onData(this.writer.comment(node,this.writerOptions,this.currentLevel+1),this.currentLevel+1),this},XMLDocumentCB.prototype.raw=function(value){var node;return this.openCurrent(),node=new XMLRaw(this,value),this.onData(this.writer.raw(node,this.writerOptions,this.currentLevel+1),this.currentLevel+1),this},XMLDocumentCB.prototype.instruction=function(target,value){var i,insTarget,insValue,len,node;if(this.openCurrent(),null!=target&&(target=getValue(target)),null!=value&&(value=getValue(value)),Array.isArray(target))for(i=0,len=target.length;i<len;i++)insTarget=target[i],this.instruction(insTarget);else if(isObject(target))for(insTarget in target)hasProp.call(target,insTarget)&&(insValue=target[insTarget],this.instruction(insTarget,insValue));else isFunction(value)&&(value=value.apply()),node=new XMLProcessingInstruction(this,target,value),this.onData(this.writer.processingInstruction(node,this.writerOptions,this.currentLevel+1),this.currentLevel+1);return this},XMLDocumentCB.prototype.declaration=function(version,encoding,standalone){var node;if(this.openCurrent(),this.documentStarted)throw new Error("declaration() must be the first node.");return node=new XMLDeclaration(this,version,encoding,standalone),this.onData(this.writer.declaration(node,this.writerOptions,this.currentLevel+1),this.currentLevel+1),this},XMLDocumentCB.prototype.doctype=function(root,pubID,sysID){if(this.openCurrent(),null==root)throw new Error("Missing root node name.");if(this.root)throw new Error("dtd() must come before the root node.");return this.currentNode=new XMLDocType(this,pubID,sysID),this.currentNode.rootNodeName=root,this.currentNode.children=!1,this.currentLevel++,this.openTags[this.currentLevel]=this.currentNode,this},XMLDocumentCB.prototype.dtdElement=function(name,value){var node;return this.openCurrent(),node=new XMLDTDElement(this,name,value),this.onData(this.writer.dtdElement(node,this.writerOptions,this.currentLevel+1),this.currentLevel+1),this},XMLDocumentCB.prototype.attList=function(elementName,attributeName,attributeType,defaultValueType,defaultValue){var node;return this.openCurrent(),node=new XMLDTDAttList(this,elementName,attributeName,attributeType,defaultValueType,defaultValue),this.onData(this.writer.dtdAttList(node,this.writerOptions,this.currentLevel+1),this.currentLevel+1),this},XMLDocumentCB.prototype.entity=function(name,value){var node;return this.openCurrent(),node=new XMLDTDEntity(this,!1,name,value),this.onData(this.writer.dtdEntity(node,this.writerOptions,this.currentLevel+1),this.currentLevel+1),this},XMLDocumentCB.prototype.pEntity=function(name,value){var node;return this.openCurrent(),node=new XMLDTDEntity(this,!0,name,value),this.onData(this.writer.dtdEntity(node,this.writerOptions,this.currentLevel+1),this.currentLevel+1),this},XMLDocumentCB.prototype.notation=function(name,value){var node;return this.openCurrent(),node=new XMLDTDNotation(this,name,value),this.onData(this.writer.dtdNotation(node,this.writerOptions,this.currentLevel+1),this.currentLevel+1),this},XMLDocumentCB.prototype.up=function(){if(this.currentLevel<0)throw new Error("The document node has no parent.");return this.currentNode?(this.currentNode.children?this.closeNode(this.currentNode):this.openNode(this.currentNode),this.currentNode=null):this.closeNode(this.openTags[this.currentLevel]),delete this.openTags[this.currentLevel],this.currentLevel--,this},XMLDocumentCB.prototype.end=function(){for(;this.currentLevel>=0;)this.up();return this.onEnd()},XMLDocumentCB.prototype.openCurrent=function(){if(this.currentNode)return this.currentNode.children=!0,this.openNode(this.currentNode)},XMLDocumentCB.prototype.openNode=function(node){var att,chunk,name,ref1;if(!node.isOpen){if(this.root||0!==this.currentLevel||node.type!==NodeType.Element||(this.root=node),chunk="",node.type===NodeType.Element){for(name in this.writerOptions.state=WriterState.OpenTag,chunk=this.writer.indent(node,this.writerOptions,this.currentLevel)+"<"+node.name,ref1=node.attribs)hasProp.call(ref1,name)&&(att=ref1[name],chunk+=this.writer.attribute(att,this.writerOptions,this.currentLevel));chunk+=(node.children?">":"/>")+this.writer.endline(node,this.writerOptions,this.currentLevel),this.writerOptions.state=WriterState.InsideTag}else this.writerOptions.state=WriterState.OpenTag,chunk=this.writer.indent(node,this.writerOptions,this.currentLevel)+"<!DOCTYPE "+node.rootNodeName,node.pubID&&node.sysID?chunk+=' PUBLIC "'+node.pubID+'" "'+node.sysID+'"':node.sysID&&(chunk+=' SYSTEM "'+node.sysID+'"'),node.children?(chunk+=" [",this.writerOptions.state=WriterState.InsideTag):(this.writerOptions.state=WriterState.CloseTag,chunk+=">"),chunk+=this.writer.endline(node,this.writerOptions,this.currentLevel);return this.onData(chunk,this.currentLevel),node.isOpen=!0}},XMLDocumentCB.prototype.closeNode=function(node){var chunk;if(!node.isClosed)return chunk="",this.writerOptions.state=WriterState.CloseTag,chunk=node.type===NodeType.Element?this.writer.indent(node,this.writerOptions,this.currentLevel)+"</"+node.name+">"+this.writer.endline(node,this.writerOptions,this.currentLevel):this.writer.indent(node,this.writerOptions,this.currentLevel)+"]>"+this.writer.endline(node,this.writerOptions,this.currentLevel),this.writerOptions.state=WriterState.None,this.onData(chunk,this.currentLevel),node.isClosed=!0},XMLDocumentCB.prototype.onData=function(chunk,level){return this.documentStarted=!0,this.onDataCallback(chunk,level+1)},XMLDocumentCB.prototype.onEnd=function(){return this.documentCompleted=!0,this.onEndCallback()},XMLDocumentCB.prototype.debugInfo=function(name){return null==name?"":"node: <"+name+">"},XMLDocumentCB.prototype.ele=function(){return this.element.apply(this,arguments)},XMLDocumentCB.prototype.nod=function(name,attributes,text){return this.node(name,attributes,text)},XMLDocumentCB.prototype.txt=function(value){return this.text(value)},XMLDocumentCB.prototype.dat=function(value){return this.cdata(value)},XMLDocumentCB.prototype.com=function(value){return this.comment(value)},XMLDocumentCB.prototype.ins=function(target,value){return this.instruction(target,value)},XMLDocumentCB.prototype.dec=function(version,encoding,standalone){return this.declaration(version,encoding,standalone)},XMLDocumentCB.prototype.dtd=function(root,pubID,sysID){return this.doctype(root,pubID,sysID)},XMLDocumentCB.prototype.e=function(name,attributes,text){return this.element(name,attributes,text)},XMLDocumentCB.prototype.n=function(name,attributes,text){return this.node(name,attributes,text)},XMLDocumentCB.prototype.t=function(value){return this.text(value)},XMLDocumentCB.prototype.d=function(value){return this.cdata(value)},XMLDocumentCB.prototype.c=function(value){return this.comment(value)},XMLDocumentCB.prototype.r=function(value){return this.raw(value)},XMLDocumentCB.prototype.i=function(target,value){return this.instruction(target,value)},XMLDocumentCB.prototype.att=function(){return this.currentNode&&this.currentNode.type===NodeType.DocType?this.attList.apply(this,arguments):this.attribute.apply(this,arguments)},XMLDocumentCB.prototype.a=function(){return this.currentNode&&this.currentNode.type===NodeType.DocType?this.attList.apply(this,arguments):this.attribute.apply(this,arguments)},XMLDocumentCB.prototype.ent=function(name,value){return this.entity(name,value)},XMLDocumentCB.prototype.pent=function(name,value){return this.pEntity(name,value)},XMLDocumentCB.prototype.not=function(name,value){return this.notation(name,value)},XMLDocumentCB}()}.call(XMLDocumentCB)),XMLDocumentCB$1.exports}var hasRequiredXMLStreamWriter,hasRequiredLib$4,hasRequiredBuilder,XMLStreamWriter$1={exports:{}},XMLStreamWriter=XMLStreamWriter$1.exports;function requireXMLStreamWriter(){return hasRequiredXMLStreamWriter||(hasRequiredXMLStreamWriter=1,function(){var NodeType,WriterState,XMLWriterBase,hasProp={}.hasOwnProperty;NodeType=requireNodeType(),XMLWriterBase=requireXMLWriterBase(),WriterState=requireWriterState(),XMLStreamWriter$1.exports=function(superClass){function XMLStreamWriter(stream,options){this.stream=stream,XMLStreamWriter.__super__.constructor.call(this,options)}return function(child,parent){for(var key in parent)hasProp.call(parent,key)&&(child[key]=parent[key]);function ctor(){this.constructor=child}ctor.prototype=parent.prototype,child.prototype=new ctor,child.__super__=parent.prototype}(XMLStreamWriter,superClass),XMLStreamWriter.prototype.endline=function(node,options,level){return node.isLastRootNode&&options.state===WriterState.CloseTag?"":XMLStreamWriter.__super__.endline.call(this,node,options,level)},XMLStreamWriter.prototype.document=function(doc,options){var child,i,j,k,len,len1,ref,ref1,results;for(i=j=0,len=(ref=doc.children).length;j<len;i=++j)(child=ref[i]).isLastRootNode=i===doc.children.length-1;for(options=this.filterOptions(options),results=[],k=0,len1=(ref1=doc.children).length;k<len1;k++)child=ref1[k],results.push(this.writeChildNode(child,options,0));return results},XMLStreamWriter.prototype.attribute=function(att,options,level){return this.stream.write(XMLStreamWriter.__super__.attribute.call(this,att,options,level))},XMLStreamWriter.prototype.cdata=function(node,options,level){return this.stream.write(XMLStreamWriter.__super__.cdata.call(this,node,options,level))},XMLStreamWriter.prototype.comment=function(node,options,level){return this.stream.write(XMLStreamWriter.__super__.comment.call(this,node,options,level))},XMLStreamWriter.prototype.declaration=function(node,options,level){return this.stream.write(XMLStreamWriter.__super__.declaration.call(this,node,options,level))},XMLStreamWriter.prototype.docType=function(node,options,level){var child,j,len,ref;if(level||(level=0),this.openNode(node,options,level),options.state=WriterState.OpenTag,this.stream.write(this.indent(node,options,level)),this.stream.write("<!DOCTYPE "+node.root().name),node.pubID&&node.sysID?this.stream.write(' PUBLIC "'+node.pubID+'" "'+node.sysID+'"'):node.sysID&&this.stream.write(' SYSTEM "'+node.sysID+'"'),node.children.length>0){for(this.stream.write(" ["),this.stream.write(this.endline(node,options,level)),options.state=WriterState.InsideTag,j=0,len=(ref=node.children).length;j<len;j++)child=ref[j],this.writeChildNode(child,options,level+1);options.state=WriterState.CloseTag,this.stream.write("]")}return options.state=WriterState.CloseTag,this.stream.write(options.spaceBeforeSlash+">"),this.stream.write(this.endline(node,options,level)),options.state=WriterState.None,this.closeNode(node,options,level)},XMLStreamWriter.prototype.element=function(node,options,level){var att,child,childNodeCount,firstChildNode,j,len,name,ref,ref1;for(name in level||(level=0),this.openNode(node,options,level),options.state=WriterState.OpenTag,this.stream.write(this.indent(node,options,level)+"<"+node.name),ref=node.attribs)hasProp.call(ref,name)&&(att=ref[name],this.attribute(att,options,level));if(firstChildNode=0===(childNodeCount=node.children.length)?null:node.children[0],0===childNodeCount||node.children.every((function(e){return(e.type===NodeType.Text||e.type===NodeType.Raw)&&""===e.value})))options.allowEmpty?(this.stream.write(">"),options.state=WriterState.CloseTag,this.stream.write("</"+node.name+">")):(options.state=WriterState.CloseTag,this.stream.write(options.spaceBeforeSlash+"/>"));else if(!options.pretty||1!==childNodeCount||firstChildNode.type!==NodeType.Text&&firstChildNode.type!==NodeType.Raw||null==firstChildNode.value){for(this.stream.write(">"+this.endline(node,options,level)),options.state=WriterState.InsideTag,j=0,len=(ref1=node.children).length;j<len;j++)child=ref1[j],this.writeChildNode(child,options,level+1);options.state=WriterState.CloseTag,this.stream.write(this.indent(node,options,level)+"</"+node.name+">")}else this.stream.write(">"),options.state=WriterState.InsideTag,options.suppressPrettyCount++,this.writeChildNode(firstChildNode,options,level+1),options.suppressPrettyCount--,options.state=WriterState.CloseTag,this.stream.write("</"+node.name+">");return this.stream.write(this.endline(node,options,level)),options.state=WriterState.None,this.closeNode(node,options,level)},XMLStreamWriter.prototype.processingInstruction=function(node,options,level){return this.stream.write(XMLStreamWriter.__super__.processingInstruction.call(this,node,options,level))},XMLStreamWriter.prototype.raw=function(node,options,level){return this.stream.write(XMLStreamWriter.__super__.raw.call(this,node,options,level))},XMLStreamWriter.prototype.text=function(node,options,level){return this.stream.write(XMLStreamWriter.__super__.text.call(this,node,options,level))},XMLStreamWriter.prototype.dtdAttList=function(node,options,level){return this.stream.write(XMLStreamWriter.__super__.dtdAttList.call(this,node,options,level))},XMLStreamWriter.prototype.dtdElement=function(node,options,level){return this.stream.write(XMLStreamWriter.__super__.dtdElement.call(this,node,options,level))},XMLStreamWriter.prototype.dtdEntity=function(node,options,level){return this.stream.write(XMLStreamWriter.__super__.dtdEntity.call(this,node,options,level))},XMLStreamWriter.prototype.dtdNotation=function(node,options,level){return this.stream.write(XMLStreamWriter.__super__.dtdNotation.call(this,node,options,level))},XMLStreamWriter}(XMLWriterBase)}.call(XMLStreamWriter)),XMLStreamWriter$1.exports}function requireBuilder(){return hasRequiredBuilder||(hasRequiredBuilder=1,function(){var builder$1,defaults,escapeCDATA,requiresCDATA,wrapCDATA,hasProp={}.hasOwnProperty;builder$1=function requireLib$4(){return hasRequiredLib$4||(hasRequiredLib$4=1,function(){var NodeType,WriterState,XMLDOMImplementation,XMLDocument,XMLDocumentCB,XMLStreamWriter,XMLStringWriter,assign,isFunction,ref;ref=requireUtility(),assign=ref.assign,isFunction=ref.isFunction,XMLDOMImplementation=requireXMLDOMImplementation(),XMLDocument=requireXMLDocument(),XMLDocumentCB=requireXMLDocumentCB(),XMLStringWriter=requireXMLStringWriter(),XMLStreamWriter=requireXMLStreamWriter(),NodeType=requireNodeType(),WriterState=requireWriterState(),lib$4.create=function(name,xmldec,doctype,options){var doc,root;if(null==name)throw new Error("Root element needs a name.");return options=assign({},xmldec,doctype,options),root=(doc=new XMLDocument(options)).element(name),options.headless||(doc.declaration(options),null==options.pubID&&null==options.sysID||doc.dtd(options)),root},lib$4.begin=function(options,onData,onEnd){var ref1;return isFunction(options)&&(onData=(ref1=[options,onData])[0],onEnd=ref1[1],options={}),onData?new XMLDocumentCB(options,onData,onEnd):new XMLDocument(options)},lib$4.stringWriter=function(options){return new XMLStringWriter(options)},lib$4.streamWriter=function(stream,options){return new XMLStreamWriter(stream,options)},lib$4.implementation=new XMLDOMImplementation,lib$4.nodeType=NodeType,lib$4.writerState=WriterState}.call(lib$4)),lib$4}(),defaults=requireDefaults().defaults,requiresCDATA=function(entry){return"string"==typeof entry&&(entry.indexOf("&")>=0||entry.indexOf(">")>=0||entry.indexOf("<")>=0)},wrapCDATA=function(entry){return"<![CDATA["+escapeCDATA(entry)+"]]>"},escapeCDATA=function(entry){return entry.replace("]]>","]]]]><![CDATA[>")},builder.Builder=function(){function Builder(opts){var key,ref,value;for(key in this.options={},ref=defaults[.2])hasProp.call(ref,key)&&(value=ref[key],this.options[key]=value);for(key in opts)hasProp.call(opts,key)&&(value=opts[key],this.options[key]=value)}return Builder.prototype.buildObject=function(rootObj){var attrkey,charkey,render,rootElement,rootName,_this;return attrkey=this.options.attrkey,charkey=this.options.charkey,1===Object.keys(rootObj).length&&this.options.rootName===defaults[.2].rootName?rootObj=rootObj[rootName=Object.keys(rootObj)[0]]:rootName=this.options.rootName,_this=this,render=function(element,obj){var attr,child,entry,index,key,value;if("object"!=typeof obj)_this.options.cdata&&requiresCDATA(obj)?element.raw(wrapCDATA(obj)):element.txt(obj);else if(Array.isArray(obj)){for(index in obj)if(hasProp.call(obj,index))for(key in child=obj[index])entry=child[key],element=render(element.ele(key),entry).up()}else for(key in obj)if(hasProp.call(obj,key))if(child=obj[key],key===attrkey){if("object"==typeof child)for(attr in child)value=child[attr],element=element.att(attr,value)}else if(key===charkey)element=_this.options.cdata&&requiresCDATA(child)?element.raw(wrapCDATA(child)):element.txt(child);else if(Array.isArray(child))for(index in child)hasProp.call(child,index)&&(element="string"==typeof(entry=child[index])?_this.options.cdata&&requiresCDATA(entry)?element.ele(key).raw(wrapCDATA(entry)).up():element.ele(key,entry).up():render(element.ele(key),entry).up());else"object"==typeof child?element=render(element.ele(key),child).up():"string"==typeof child&&_this.options.cdata&&requiresCDATA(child)?element=element.ele(key).raw(wrapCDATA(child)).up():(null==child&&(child=""),element=element.ele(key,child.toString()).up());return element},rootElement=builder$1.create(rootName,this.options.xmldec,this.options.doctype,{headless:this.options.headless,allowSurrogateChars:this.options.allowSurrogateChars}),render(rootElement,rootObj).end(this.options.renderOpts)},Builder}()}.call(builder)),builder}var hasRequiredBom,parser$1={},bom={};function requireBom(){return hasRequiredBom||(hasRequiredBom=1,function(){bom.stripBOM=function(str){return"\ufeff"===str[0]?str.substring(1):str}}.call(bom)),bom}var hasRequiredProcessors,hasRequiredParser$1,hasRequiredXml2js,processors={};function requireProcessors(){return hasRequiredProcessors||(hasRequiredProcessors=1,function(){var prefixMatch;prefixMatch=new RegExp(/(?!xmlns)^.*:/),processors.normalize=function(str){return str.toLowerCase()},processors.firstCharLowerCase=function(str){return str.charAt(0).toLowerCase()+str.slice(1)},processors.stripPrefix=function(str){return str.replace(prefixMatch,"")},processors.parseNumbers=function(str){return isNaN(str)||(str=str%1==0?parseInt(str,10):parseFloat(str)),str},processors.parseBooleans=function(str){return/^(?:true|false)$/i.test(str)&&(str="true"===str.toLowerCase()),str}}.call(processors)),processors}function requireParser$1(){return hasRequiredParser$1||(hasRequiredParser$1=1,function(exports){(function(){var bom,defaults,defineProperty,events,isEmpty,processItem,processors,sax,setImmediate,bind=function(fn,me){return function(){return fn.apply(me,arguments)}},hasProp={}.hasOwnProperty;sax=requireSax$1(),events=require$$0__default.default,bom=requireBom(),processors=requireProcessors(),setImmediate=require$$4__default.default.setImmediate,defaults=requireDefaults().defaults,isEmpty=function(thing){return"object"==typeof thing&&null!=thing&&0===Object.keys(thing).length},processItem=function(processors,item,key){var i,len;for(i=0,len=processors.length;i<len;i++)item=(0,processors[i])(item,key);return item},defineProperty=function(obj,key,value){var descriptor;return(descriptor=Object.create(null)).value=value,descriptor.writable=!0,descriptor.enumerable=!0,descriptor.configurable=!0,Object.defineProperty(obj,key,descriptor)},exports.Parser=function(superClass){function Parser(opts){var key,ref,value;if(this.parseStringPromise=bind(this.parseStringPromise,this),this.parseString=bind(this.parseString,this),this.reset=bind(this.reset,this),this.assignOrPush=bind(this.assignOrPush,this),this.processAsync=bind(this.processAsync,this),!(this instanceof exports.Parser))return new exports.Parser(opts);for(key in this.options={},ref=defaults[.2])hasProp.call(ref,key)&&(value=ref[key],this.options[key]=value);for(key in opts)hasProp.call(opts,key)&&(value=opts[key],this.options[key]=value);this.options.xmlns&&(this.options.xmlnskey=this.options.attrkey+"ns"),this.options.normalizeTags&&(this.options.tagNameProcessors||(this.options.tagNameProcessors=[]),this.options.tagNameProcessors.unshift(processors.normalize)),this.reset()}return function(child,parent){for(var key in parent)hasProp.call(parent,key)&&(child[key]=parent[key]);function ctor(){this.constructor=child}ctor.prototype=parent.prototype,child.prototype=new ctor,child.__super__=parent.prototype}(Parser,superClass),Parser.prototype.processAsync=function(){var chunk,err;try{return this.remaining.length<=this.options.chunkSize?(chunk=this.remaining,this.remaining="",this.saxParser=this.saxParser.write(chunk),this.saxParser.close()):(chunk=this.remaining.substr(0,this.options.chunkSize),this.remaining=this.remaining.substr(this.options.chunkSize,this.remaining.length),this.saxParser=this.saxParser.write(chunk),setImmediate(this.processAsync))}catch(error1){if(err=error1,!this.saxParser.errThrown)return this.saxParser.errThrown=!0,this.emit(err)}},Parser.prototype.assignOrPush=function(obj,key,newValue){return key in obj?(obj[key]instanceof Array||defineProperty(obj,key,[obj[key]]),obj[key].push(newValue)):this.options.explicitArray?defineProperty(obj,key,[newValue]):defineProperty(obj,key,newValue)},Parser.prototype.reset=function(){var attrkey,charkey,ontext,stack,_this;return this.removeAllListeners(),this.saxParser=sax.parser(this.options.strict,{trim:!1,normalize:!1,xmlns:this.options.xmlns}),this.saxParser.errThrown=!1,this.saxParser.onerror=(_this=this,function(error){if(_this.saxParser.resume(),!_this.saxParser.errThrown)return _this.saxParser.errThrown=!0,_this.emit("error",error)}),this.saxParser.onend=function(_this){return function(){if(!_this.saxParser.ended)return _this.saxParser.ended=!0,_this.emit("end",_this.resultObject)}}(this),this.saxParser.ended=!1,this.EXPLICIT_CHARKEY=this.options.explicitCharkey,this.resultObject=null,stack=[],attrkey=this.options.attrkey,charkey=this.options.charkey,this.saxParser.onopentag=function(_this){return function(node){var key,newValue,obj,processedKey,ref;if((obj={})[charkey]="",!_this.options.ignoreAttrs)for(key in ref=node.attributes)hasProp.call(ref,key)&&(attrkey in obj||_this.options.mergeAttrs||(obj[attrkey]={}),newValue=_this.options.attrValueProcessors?processItem(_this.options.attrValueProcessors,node.attributes[key],key):node.attributes[key],processedKey=_this.options.attrNameProcessors?processItem(_this.options.attrNameProcessors,key):key,_this.options.mergeAttrs?_this.assignOrPush(obj,processedKey,newValue):defineProperty(obj[attrkey],processedKey,newValue));return obj["#name"]=_this.options.tagNameProcessors?processItem(_this.options.tagNameProcessors,node.name):node.name,_this.options.xmlns&&(obj[_this.options.xmlnskey]={uri:node.uri,local:node.local}),stack.push(obj)}}(this),this.saxParser.onclosetag=function(_this){return function(){var cdata,emptyStr,key,node,nodeName,obj,objClone,old,s,xpath;if(obj=stack.pop(),nodeName=obj["#name"],_this.options.explicitChildren&&_this.options.preserveChildrenOrder||delete obj["#name"],!0===obj.cdata&&(cdata=obj.cdata,delete obj.cdata),s=stack[stack.length-1],obj[charkey].match(/^\s*$/)&&!cdata?(emptyStr=obj[charkey],delete obj[charkey]):(_this.options.trim&&(obj[charkey]=obj[charkey].trim()),_this.options.normalize&&(obj[charkey]=obj[charkey].replace(/\s{2,}/g," ").trim()),obj[charkey]=_this.options.valueProcessors?processItem(_this.options.valueProcessors,obj[charkey],nodeName):obj[charkey],1===Object.keys(obj).length&&charkey in obj&&!_this.EXPLICIT_CHARKEY&&(obj=obj[charkey])),isEmpty(obj)&&(obj="function"==typeof _this.options.emptyTag?_this.options.emptyTag():""!==_this.options.emptyTag?_this.options.emptyTag:emptyStr),null!=_this.options.validator&&(xpath="/"+function(){var i,len,results;for(results=[],i=0,len=stack.length;i<len;i++)node=stack[i],results.push(node["#name"]);return results}().concat(nodeName).join("/"),function(){var err;try{return obj=_this.options.validator(xpath,s&&s[nodeName],obj)}catch(error1){return err=error1,_this.emit("error",err)}}()),_this.options.explicitChildren&&!_this.options.mergeAttrs&&"object"==typeof obj)if(_this.options.preserveChildrenOrder){if(s){for(key in s[_this.options.childkey]=s[_this.options.childkey]||[],objClone={},obj)hasProp.call(obj,key)&&defineProperty(objClone,key,obj[key]);s[_this.options.childkey].push(objClone),delete obj["#name"],1===Object.keys(obj).length&&charkey in obj&&!_this.EXPLICIT_CHARKEY&&(obj=obj[charkey])}}else node={},_this.options.attrkey in obj&&(node[_this.options.attrkey]=obj[_this.options.attrkey],delete obj[_this.options.attrkey]),!_this.options.charsAsChildren&&_this.options.charkey in obj&&(node[_this.options.charkey]=obj[_this.options.charkey],delete obj[_this.options.charkey]),Object.getOwnPropertyNames(obj).length>0&&(node[_this.options.childkey]=obj),obj=node;return stack.length>0?_this.assignOrPush(s,nodeName,obj):(_this.options.explicitRoot&&(old=obj,defineProperty(obj={},nodeName,old)),_this.resultObject=obj,_this.saxParser.ended=!0,_this.emit("end",_this.resultObject))}}(this),ontext=function(_this){return function(text){var charChild,s;if(s=stack[stack.length-1])return s[charkey]+=text,_this.options.explicitChildren&&_this.options.preserveChildrenOrder&&_this.options.charsAsChildren&&(_this.options.includeWhiteChars||""!==text.replace(/\\n/g,"").trim())&&(s[_this.options.childkey]=s[_this.options.childkey]||[],(charChild={"#name":"__text__"})[charkey]=text,_this.options.normalize&&(charChild[charkey]=charChild[charkey].replace(/\s{2,}/g," ").trim()),s[_this.options.childkey].push(charChild)),s}}(this),this.saxParser.ontext=ontext,this.saxParser.oncdata=function(text){var s;if(s=ontext(text))return s.cdata=!0}},Parser.prototype.parseString=function(str,cb){var err;null!=cb&&"function"==typeof cb&&(this.on("end",(function(result){return this.reset(),cb(null,result)})),this.on("error",(function(err){return this.reset(),cb(err)})));try{return""===(str=str.toString()).trim()?(this.emit("end",null),!0):(str=bom.stripBOM(str),this.options.async?(this.remaining=str,setImmediate(this.processAsync),this.saxParser):this.saxParser.write(str).close())}catch(error1){if(err=error1,!this.saxParser.errThrown&&!this.saxParser.ended)return this.emit("error",err),this.saxParser.errThrown=!0;if(this.saxParser.ended)throw err}},Parser.prototype.parseStringPromise=function(str){return new Promise((_this=this,function(resolve,reject){return _this.parseString(str,(function(err,value){return err?reject(err):resolve(value)}))}));var _this},Parser}(events),exports.parseString=function(str,a,b){var cb,options;return null!=b?("function"==typeof b&&(cb=b),"object"==typeof a&&(options=a)):("function"==typeof a&&(cb=a),options={}),new exports.Parser(options).parseString(str,cb)},exports.parseStringPromise=function(str,a){var options;return"object"==typeof a&&(options=a),new exports.Parser(options).parseStringPromise(str)}}).call(parser$1)}(parser$1)),parser$1}var xml2jsExports=function requireXml2js(){return hasRequiredXml2js||(hasRequiredXml2js=1,function(){var builder,defaults,parser,processors,hasProp={}.hasOwnProperty;defaults=requireDefaults(),builder=requireBuilder(),parser=requireParser$1(),processors=requireProcessors(),xml2js$1.defaults=defaults.defaults,xml2js$1.processors=processors,xml2js$1.ValidationError=function(){function ValidationError(message){this.message=message}return function(child,parent){for(var key in parent)hasProp.call(parent,key)&&(child[key]=parent[key]);function ctor(){this.constructor=child}ctor.prototype=parent.prototype,child.prototype=new ctor,child.__super__=parent.prototype}(ValidationError,Error),ValidationError}(),xml2js$1.Builder=builder.Builder,xml2js$1.Parser=parser.Parser,xml2js$1.parseString=parser.parseString,xml2js$1.parseStringPromise=parser.parseStringPromise}.call(xml2js$1)),xml2js$1}(),xml2js=getDefaultExportFromCjs(xml2jsExports);class DistribuicaoHandler{constructor(environment,utility,metodo){this.utility=utility,this.environment=environment,this.metodo=metodo}salvaArquivos(XMLDistribuicaoInJson,XMLDistribuicao,chNFe){const{pathXMLDistribuicao:pathXMLDistribuicao,baixarXMLDistribuicao:baixarXMLDistribuicao,armazenarRetornoEmJSON:armazenarRetornoEmJSON}=this.environment.config.dfe;baixarXMLDistribuicao&&(this.utility.salvaXML({data:XMLDistribuicao,fileName:chNFe,metodo:this.metodo,path:pathXMLDistribuicao}),armazenarRetornoEmJSON&&this.utility.salvaJSON({data:XMLDistribuicaoInJson,fileName:chNFe,metodo:this.metodo,path:pathXMLDistribuicao}))}deCompressDFeXML(loteDistDFeInt,metodo,xmlConsulta){try{const json=new Json,files=[];return xml2js.parseString(loteDistDFeInt,((err,result)=>{if(err)throw new Error(`Erro ao descomprimir o XML: ${err}`);this.utility.findInObj(result,"docZip").forEach((docZip=>{const xmlString=this.decodeDocZip(docZip),cleanedXml=this.removeSignatureTag(xmlString),parsedResult=this.parseXml(cleanedXml);if(!parsedResult)return;let chNFe=this.getChNFe(parsedResult),tipo=this.getTipo(parsedResult);const nsu=docZip.$.NSU;if(parsedResult.procEventoNFe){chNFe=`${chNFe}-event-${this.utility.findInObj(parsedResult,"tpEvento")}`,tipo="event"}const xmlDistribuicaoInJson=json.convertXmlToJson(cleanedXml,`${metodo}_${tipo}`,nsu);this.handleResponse(xmlDistribuicaoInJson,cleanedXml,chNFe),files.push(chNFe)}))})),files}catch(error){throw new Error(error.message)}}decodeDocZip(docZip){const base64String=docZip._;let binaryString=atob(base64String),bytes=new Uint8Array(binaryString.length);for(let i=0;i<binaryString.length;i++)bytes[i]=binaryString.charCodeAt(i);let decompressedData=pako.inflate(bytes);return new TextDecoder("utf-8").decode(decompressedData)}removeSignatureTag(xmlString){return xmlString.replace(/<Signature.*?<\/Signature>/gs,"")}parseXml(xmlString){let parsedResult;return xml2js.parseString(xmlString,((err,result)=>{err?(console.error("Erro ao parsear o XML decomprimido:",err),parsedResult=null):parsedResult=result})),parsedResult}getChNFe(parsedResult){return this.utility.findInObj(parsedResult,"chNFe")}getTipo(parsedResult){return this.utility.findInObj(parsedResult,"resNFe")?"res":parsedResult.procEventoNFe?"event":"proc"}handleResponse(XMLDistribuicaoInJson,XMLDistribuicao,chNFe){const xMotivo=this.utility.findInObj(XMLDistribuicaoInJson,"xMotivo");if(xMotivo&&(xMotivo.includes("Rejeição")||xMotivo.includes("Rejeicao")))throw new Error(XMLDistribuicaoInJson.xMotivo);this.salvaArquivos(XMLDistribuicaoInJson,XMLDistribuicao,chNFe)}}class NFEDistribuicaoDFe extends BaseNFE{constructor(environment,utility,xmlBuilder,axios){super(environment,utility,xmlBuilder,"NFeDistribuicaoDFe",axios)}gerarXml(data){return this.gerarXmlNFeDistribuicaoDFe(data)}gerarXmlNFeDistribuicaoDFe(data){const{nfe:{ambiente:ambiente}}=this.environment.getConfig(),xmlObject={$:{versao:"1.01",xmlns:"http://www.portalfiscal.inf.br/nfe"},tpAmb:ambiente,...data};return this.xmlBuilder.gerarXml(xmlObject,"distDFeInt")}async gerarConsulta(xmlConsulta){try{const config=this.environment.getConfig();"validateSchemaJsBased"!==config.lib?.useForSchemaValidation?await this.utility.validateSchemaJavaBased(xmlConsulta,this.metodo):await this.utility.validateSchemaJsBased(xmlConsulta,this.metodo);const{method:method,action:action}=this.utility.getSoapInfo(config.dfe.UF,this.metodo),rootTagObj={tag:"nfeDistDFeInteresse",namespace:method},xmlFormated=this.xmlBuilder.buildSoapEnvelope(xmlConsulta,method,"soap12",rootTagObj),agent=this.environment.getHttpAgent();return{xmlFormated:xmlFormated,agent:agent,webServiceUrl:this.utility.getWebServiceUrl(this.metodo,!0,"1.01"),action:action}}catch(error){throw new Error(error.message)}}async Exec(data){try{const xmlConsulta=this.gerarXmlNFeDistribuicaoDFe(data),{xmlFormated:xmlFormated,agent:agent,webServiceUrl:webServiceUrl,action:action}=await this.gerarConsulta(xmlConsulta);this.utility.salvaConsulta(xmlConsulta,xmlFormated,this.metodo);const xmlRetorno=await this.axios.post(webServiceUrl,xmlFormated,{headers:{"Content-Type":"text/xml; charset=utf-8",SOAPAction:action},httpsAgent:agent}),responseInJson=this.utility.verificaRejeicao(xmlRetorno.data,this.metodo);this.utility.salvaRetorno(xmlRetorno.data,responseInJson,this.metodo);const filesList=new DistribuicaoHandler(this.environment,this.utility,this.metodo).deCompressDFeXML(xmlRetorno.data,this.metodo,xmlConsulta);return{data:responseInJson,xMotivo:this.utility.findInObj(responseInJson,"xMotivo"),filesList:filesList}}catch(error){throw new Error(error.message)}}}class NFEConsultaProtocolo$1 extends BaseNFE{constructor(environment,utility,xmlBuilder,axios){super(environment,utility,xmlBuilder,"NFEConsultaProtocolo",axios)}gerarXml(chave){return this.gerarXmlConsultaProtocolo(chave)}salvaArquivos(xmlConsulta,responseInJson,xmlRetorno,options){}gerarXmlConsultaProtocolo(chave){try{const{nfe:{ambiente:ambiente,versaoDF:versaoDF},dfe:{UF:UF}}=this.environment.getConfig(),xmlObject={$:{versao:versaoDF,xmlns:"http://www.portalfiscal.inf.br/nfe"},tpAmb:ambiente,xServ:"CONSULTAR",chNFe:chave};return this.xmlBuilder.gerarXml(xmlObject,"consSitNFe")}catch(error){throw new Error(error.message)}}}var NFeServicosUrl={NFe_AC_P:{Usar:"NFe_SVRS_P"},NFe_AC_H:{Usar:"NFe_SVRS_H"},NFe_AL_P:{Usar:"NFe_SVRS_P"},NFe_AL_H:{Usar:"NFe_SVRS_H"},NFe_AP_P:{Usar:"NFe_SVRS_P"},NFe_AP_H:{Usar:"NFe_SVRS_H"},NFe_AM_P:{"RecepcaoEvento_1.00":"https://nfe.sefaz.am.gov.br/services2/services/RecepcaoEvento","NfeRecepcao_2.00":"https://nfe.sefaz.am.gov.br/services2/services/NfeRecepcao2","NfeRetRecepcao_2.00":"https://nfe.sefaz.am.gov.br/services2/services/NfeRetRecepcao2","NfeInutilizacao_2.00":"https://nfe.sefaz.am.gov.br/services2/services/NfeInutilizacao2","NfeInutilizacao_3.10":"https://nfe.sefaz.am.gov.br/services2/services/NfeInutilizacao2","NFEConsultaProtocolo_2.00":"https://nfe.sefaz.am.gov.br/services2/services/NfeConsulta2","NFEConsultaProtocolo_3.10":"https://nfe.sefaz.am.gov.br/services2/services/NfeConsulta2","NFEStatusServico_2.00":"https://nfe.sefaz.am.gov.br/services2/services/NfeStatusServico2","NFEStatusServico_3.10":"https://nfe.sefaz.am.gov.br/services2/services/NfeStatusServico2","NfeConsultaCadastro_2.00":"https://nfe.sefaz.am.gov.br/services2/services/cadconsultacadastro2","NfeConsultaCadastro_3.10":"https://nfe.sefaz.am.gov.br/services2/services/cadconsultacadastro2","NFEAutorizacao_3.10":"https://nfe.sefaz.am.gov.br/services2/services/NfeAutorizacao","NFERetornoAutorizacao_3.10":"https://nfe.sefaz.am.gov.br/services2/services/NfeRetAutorizacao","NFEConsultaProtocolo_4.00":"https://nfe.sefaz.am.gov.br/services2/services/NfeConsulta4","NFEStatusServico_4.00":"https://nfe.sefaz.am.gov.br/services2/services/NfeStatusServico4","NFEInutilizacao_4.00":"https://nfe.sefaz.am.gov.br/services2/services/NfeInutilizacao4","NFEAutorizacao_4.00":"https://nfe.sefaz.am.gov.br/services2/services/NFeAutorizacao4","NFERetornoAutorizacao_4.00":"https://nfe.sefaz.am.gov.br/services2/services/NfeRetAutorizacao4","RecepcaoEvento_4.00":"https://nfe.sefaz.am.gov.br/services2/services/RecepcaoEvento4"},NFe_AM_H:{"RecepcaoEvento_1.00":"https://homnfe.sefaz.am.gov.br/services2/services/RecepcaoEvento","NfeRecepcao_2.00":"https://homnfe.sefaz.am.gov.br/services2/services/NfeRecepcao2","NfeRetRecepcao_2.00":"https://homnfe.sefaz.am.gov.br/services2/services/NfeRetRecepcao2","NfeInutilizacao_2.00":"https://homnfe.sefaz.am.gov.br/services2/services/NfeInutilizacao2","NfeInutilizacao_3.10":"https://homnfe.sefaz.am.gov.br/services2/services/NfeInutilizacao2","NFEConsultaProtocolo_2.00":"https://homnfe.sefaz.am.gov.br/services2/services/NfeConsulta2","NFEConsultaProtocolo_3.10":"https://homnfe.sefaz.am.gov.br/services2/services/NfeConsulta2","NFEStatusServico_2.00":"https://homnfe.sefaz.am.gov.br/services2/services/NfeStatusServico2","NFEStatusServico_3.10":"https://homnfe.sefaz.am.gov.br/services2/services/NfeStatusServico2","NfeConsultaCadastro_2.00":"https://homnfe.sefaz.am.gov.br/services2/services/cadconsultacadastro2","NfeConsultaCadastro_3.10":"https://homnfe.sefaz.am.gov.br/services2/services/cadconsultacadastro2","NFEAutorizacao_3.10":"https://homnfe.sefaz.am.gov.br/services2/services/NfeAutorizacao","NFERetornoAutorizacao_3.10":"https://homnfe.sefaz.am.gov.br/services2/services/NfeRetAutorizacao","NFEConsultaProtocolo_4.00":"https://homnfe.sefaz.am.gov.br/services2/services/NfeConsulta4","NFEStatusServico_4.00":"https://homnfe.sefaz.am.gov.br/services2/services/NfeStatusServico4","NFEInutilizacao_4.00":"https://homnfe.sefaz.am.gov.br/services2/services/NfeInutilizacao4","NFEAutorizacao_4.00":"https://homnfe.sefaz.am.gov.br/services2/services/NFeAutorizacao4","NFERetornoAutorizacao_4.00":"https://homnfe.sefaz.am.gov.br/services2/services/NfeRetAutorizacao4","RecepcaoEvento_4.00":"https://homnfe.sefaz.am.gov.br/services2/services/RecepcaoEvento4"},NFe_BA_P:{"NfeRecepcao_2.00":"https://nfe.sefaz.ba.gov.br/webservices/nfenw/NfeRecepcao2.asmx","NfeRetRecepcao_2.00":"https://nfe.sefaz.ba.gov.br/webservices/nfenw/NfeRetRecepcao2.asmx","NfeInutilizacao_2.00":"https://nfe.sefaz.ba.gov.br/webservices/nfenw/nfeinutilizacao2.asmx","NFEConsultaProtocolo_2.00":"https://nfe.sefaz.ba.gov.br/webservices/nfenw/nfeconsulta2.asmx","NFEStatusServico_2.00":"https://nfe.sefaz.ba.gov.br/webservices/nfenw/NfeStatusServico2.asmx","NfeConsultaCadastro_2.00":"https://nfe.sefaz.ba.gov.br/webservices/nfenw/CadConsultaCadastro2.asmx","RecepcaoEvento_1.00":"https://nfe.sefaz.ba.gov.br/webservices/sre/recepcaoevento.asmx","NfeInutilizacao_3.10":"https://nfe.sefaz.ba.gov.br/webservices/NfeInutilizacao/NfeInutilizacao.asmx","NFEConsultaProtocolo_3.10":"https://nfe.sefaz.ba.gov.br/webservices/NfeConsulta/NfeConsulta.asmx","NFEStatusServico_3.10":"https://nfe.sefaz.ba.gov.br/webservices/NfeStatusServico/NfeStatusServico.asmx","NFEAutorizacao_3.10":"https://nfe.sefaz.ba.gov.br/webservices/NfeAutorizacao/NfeAutorizacao.asmx","NFERetornoAutorizacao_3.10":"https://nfe.sefaz.ba.gov.br/webservices/NfeRetAutorizacao/NfeRetAutorizacao.asmx","NFEInutilizacao_4.00":"https://nfe.sefaz.ba.gov.br/webservices/NFeInutilizacao4/NFeInutilizacao4.asmx","NFEConsultaProtocolo_4.00":"https://nfe.sefaz.ba.gov.br/webservices/nfeconsultaprotocolo4/nfeconsultaprotocolo4.asmx","NFEStatusServico_4.00":"https://nfe.sefaz.ba.gov.br/webservices/NFeStatusServico4/NFeStatusServico4.asmx","NfeConsultaCadastro_4.00":"https://nfe.sefaz.ba.gov.br/webservices/CadConsultaCadastro4/CadConsultaCadastro4.asmx","RecepcaoEvento_4.00":"https://nfe.sefaz.ba.gov.br/webservices/NFeRecepcaoEvento4/NFeRecepcaoEvento4.asmx","NFEAutorizacao_4.00":"https://nfe.sefaz.ba.gov.br/webservices/NFeAutorizacao4/NFeAutorizacao4.asmx","NFERetornoAutorizacao_4.00":"https://nfe.sefaz.ba.gov.br/webservices/NFeRetAutorizacao4/NFeRetAutorizacao4.asmx",SoapAction:"SOAP_V4_BA"},NFe_BA_H:{"NfeRecepcao_2.00":"https://hnfe.sefaz.ba.gov.br/webservices/nfenw/NfeRecepcao2.asmx","NfeRetRecepcao_2.00":"https://hnfe.sefaz.ba.gov.br/webservices/nfenw/NfeRetRecepcao2.asmx","NfeInutilizacao_2.00":"https://hnfe.sefaz.ba.gov.br/webservices/nfenw/nfeinutilizacao2.asmx","NFEConsultaProtocolo_2.00":"https://hnfe.sefaz.ba.gov.br/webservices/nfenw/nfeconsulta2.asmx","NFEStatusServico_2.00":"https://hnfe.sefaz.ba.gov.br/webservices/nfenw/NfeStatusServico2.asmx","NfeConsultaCadastro_2.00":"https://hnfe.sefaz.ba.gov.br/webservices/nfenw/CadConsultaCadastro2.asmx","RecepcaoEvento_1.00":"https://hnfe.sefaz.ba.gov.br/webservices/sre/recepcaoevento.asmx","NfeInutilizacao_3.10":"https://hnfe.sefaz.ba.gov.br/webservices/NfeInutilizacao/NfeInutilizacao.asmx","NFEConsultaProtocolo_3.10":"https://hnfe.sefaz.ba.gov.br/webservices/NfeConsulta/NfeConsulta.asmx","NFEStatusServico_3.10":"https://hnfe.sefaz.ba.gov.br/webservices/NfeStatusServico/NfeStatusServico.asmx","NFEAutorizacao_3.10":"https://hnfe.sefaz.ba.gov.br/webservices/NfeAutorizacao/NfeAutorizacao.asmx","NFERetornoAutorizacao_3.10":"https://hnfe.sefaz.ba.gov.br/webservices/NfeRetAutorizacao/NfeRetAutorizacao.asmx","NFEAutorizacao_4.00":"https://hnfe.sefaz.ba.gov.br/webservices/NFeAutorizacao4/NFeAutorizacao4.asmx","NFEConsultaProtocolo_4.00":"https://hnfe.sefaz.ba.gov.br/webservices/nfeconsultaprotocolo4/nfeconsultaprotocolo4.asmx","NFEInutilizacao_4.00":"https://hnfe.sefaz.ba.gov.br/webservices/NFeInutilizacao4/NFeInutilizacao4.asmx","NFERetornoAutorizacao_4.00":"https://hnfe.sefaz.ba.gov.br/webservices/NFeRetAutorizacao4/NFeRetAutorizacao4.asmx","NFEStatusServico_4.00":"https://hnfe.sefaz.ba.gov.br/webservices/NFeStatusServico4/NFeStatusServico4.asmx","RecepcaoEvento_4.00":"https://hnfe.sefaz.ba.gov.br/webservices/NFeRecepcaoEvento4/NFeRecepcaoEvento4.asmx","NfeConsultaCadastro_4.00":"https://hnfe.sefaz.ba.gov.br/webservices/CadConsultaCadastro4/CadConsultaCadastro4.asmx",SoapAction:"SOAP_V4_BA"},NFe_CE_P:{Usar:"NFe_SVRS_P"},NFe_CE_H:{Usar:"NFe_SVRS_H"},NFe_DF_P:{Usar:"NFe_SVRS_P"},NFe_DF_H:{Usar:"NFe_SVRS_H"},NFe_ES_P:{Usar:"NFe_SVRS_P"},NFe_ES_H:{Usar:"NFe_SVRS_H"},NFe_GO_P:{"RecepcaoEvento_1.00":"https://nfe.sefaz.go.gov.br/nfe/services/v2/RecepcaoEvento?wsdl","NfeRecepcao_2.00":"https://nfe.sefaz.go.gov.br/nfe/services/v2/NfeRecepcao2?wsdl","NfeRetRecepcao_2.00":"https://nfe.sefaz.go.gov.br/nfe/services/v2/NfeRetRecepcao2?wsdl","NfeInutilizacao_2.00":"https://nfe.sefaz.go.gov.br/nfe/services/v2/NfeInutilizacao2?wsdl","NfeInutilizacao_3.10":"https://nfe.sefaz.go.gov.br/nfe/services/v2/NfeInutilizacao2?wsdl","NFEConsultaProtocolo_2.00":"https://nfe.sefaz.go.gov.br/nfe/services/v2/NfeConsulta2?wsdl","NFEConsultaProtocolo_3.10":"https://nfe.sefaz.go.gov.br/nfe/services/v2/NfeConsulta2?wsdl","NFEStatusServico_2.00":"https://nfe.sefaz.go.gov.br/nfe/services/v2/NfeStatusServico2?wsdl","NFEStatusServico_3.10":"https://nfe.sefaz.go.gov.br/nfe/services/v2/NfeStatusServico2?wsdl","NfeConsultaCadastro_2.00":"https://nfe.sefaz.go.gov.br/nfe/services/v2/CadConsultaCadastro2?wsdl","NfeConsultaCadastro_3.10":"https://nfe.sefaz.go.gov.br/nfe/services/v2/CadConsultaCadastro2?wsdl","NFEAutorizacao_3.10":"https://nfe.sefaz.go.gov.br/nfe/services/v2/NfeAutorizacao?wsdl","NFERetornoAutorizacao_3.10":"https://nfe.sefaz.go.gov.br/nfe/services/v2/NfeRetAutorizacao?wsdl","NFEInutilizacao_4.00":"https://nfe.sefaz.go.gov.br/nfe/services/NFeInutilizacao4?wsdl","NFEConsultaProtocolo_4.00":"https://nfe.sefaz.go.gov.br/nfe/services/nfeconsultaprotocolo4?wsdl","NFEStatusServico_4.00":"https://nfe.sefaz.go.gov.br/nfe/services/NFeStatusServico4?wsdl","NfeConsultaCadastro_4.00":"https://nfe.sefaz.go.gov.br/nfe/services/CadConsultaCadastro4?wsdl","RecepcaoEvento_4.00":"https://nfe.sefaz.go.gov.br/nfe/services/NFeRecepcaoEvento4?wsdl","NFEAutorizacao_4.00":"https://nfe.sefaz.go.gov.br/nfe/services/NFeAutorizacao4?wsdl","NFERetornoAutorizacao_4.00":"https://nfe.sefaz.go.gov.br/nfe/services/NFeRetAutorizacao4?wsdl"},NFe_GO_H:{"RecepcaoEvento_1.00":"https://homolog.sefaz.go.gov.br/nfe/services/v2/RecepcaoEvento?wsdl","NfeRecepcao_2.00":"https://homolog.sefaz.go.gov.br/nfe/services/v2/NfeRecepcao2?wsdl","NfeRetRecepcao_2.00":"https://homolog.sefaz.go.gov.br/nfe/services/v2/NfeRetRecepcao2?wsdl","NfeInutilizacao_2.00":"https://homolog.sefaz.go.gov.br/nfe/services/v2/NfeInutilizacao2?wsdl","NfeInutilizacao_3.10":"https://homolog.sefaz.go.gov.br/nfe/services/v2/NfeInutilizacao2?wsdl","NFEConsultaProtocolo_2.00":"https://homolog.sefaz.go.gov.br/nfe/services/v2/NfeConsulta2?wsdl","NFEConsultaProtocolo_3.10":"https://homolog.sefaz.go.gov.br/nfe/services/v2/NfeConsulta2?wsdl","NFEStatusServico_2.00":"https://homolog.sefaz.go.gov.br/nfe/services/v2/NfeStatusServico2?wsdl","NFEStatusServico_3.10":"https://homolog.sefaz.go.gov.br/nfe/services/v2/NfeStatusServico2?wsdl","NfeConsultaCadastro_2.00":"https://homolog.sefaz.go.gov.br/nfe/services/v2/CadConsultaCadastro2?wsdl","NfeConsultaCadastro_3.10":"https://homolog.sefaz.go.gov.br/nfe/services/v2/CadConsultaCadastro2?wsdl","NFEAutorizacao_3.10":"https://homolog.sefaz.go.gov.br/nfe/services/v2/NfeAutorizacao?wsdl","NFERetornoAutorizacao_3.10":"https://homolog.sefaz.go.gov.br/nfe/services/v2/NfeRetAutorizacao?wsdl","RecepcaoEvento_4.00":"https://homolog.sefaz.go.gov.br/nfe/services/NFeRecepcaoEvento4?wsdl","NFEInutilizacao_4.00":"https://homolog.sefaz.go.gov.br/nfe/services/NFeInutilizacao4?wsdl","NFEConsultaProtocolo_4.00":"https://homolog.sefaz.go.gov.br/nfe/services/nfeconsultaprotocolo4?wsdl","NFEStatusServico_4.00":"https://homolog.sefaz.go.gov.br/nfe/services/NFeStatusServico4?wsdl","NfeConsultaCadastro_4.00":"https://homolog.sefaz.go.gov.br/nfe/services/CadConsultaCadastro4?wsdl","NFEAutorizacao_4.00":"https://homolog.sefaz.go.gov.br/nfe/services/NFeAutorizacao4?wsdl","NFERetornoAutorizacao_4.00":"https://homolog.sefaz.go.gov.br/nfe/services/NFeRetAutorizacao4?wsdl"},NFe_MA_P:{Usar:"NFe_SVAN_P","NfeConsultaCadastro_2.00":"https://sistemas.sefaz.ma.gov.br/wscadastro/CadConsultaCadastro2?wsdl"},NFe_MA_H:{Usar:"NFe_SVAN_H","NfeConsultaCadastro_2.0":"https://sistemas.sefaz.ma.gov.br/wscadastro/CadConsultaCadastro2?wsdl"},NFe_MG_P:{"NfeRecepcao_2.00":"https://nfe.fazenda.mg.gov.br/nfe2/services/NfeRecepcao2","NfeRetRecepcao_2.00":"https://nfe.fazenda.mg.gov.br/nfe2/services/NfeRetRecepcao2","NfeInutilizacao_2.00":"https://nfe.fazenda.mg.gov.br/nfe2/services/NfeInutilizacao2","NFEConsultaProtocolo_2.00":"https://nfe.fazenda.mg.gov.br/nfe2/services/NfeConsulta2","NFEStatusServico_2.00":"https://nfe.fazenda.mg.gov.br/nfe2/services/NfeStatus2","NfeConsultaCadastro_2.00":"https://nfe.fazenda.mg.gov.br/nfe2/services/cadconsultacadastro2","RecepcaoEvento_1.00":"https://nfe.fazenda.mg.gov.br/nfe2/services/RecepcaoEvento","NFEAutorizacao_3.10":"https://nfe.fazenda.mg.gov.br/nfe2/services/NfeAutorizacao","NFERetornoAutorizacao_3.10":"https://nfe.fazenda.mg.gov.br/nfe2/services/NfeRetAutorizacao","NFEInutilizacao_4.00":"https://nfe.fazenda.mg.gov.br/nfe2/services/NFeInutilizacao4","NFEConsultaProtocolo_4.00":"https://nfe.fazenda.mg.gov.br/nfe2/services/nfeconsultaprotocolo4","NFEStatusServico_4.00":"https://nfe.fazenda.mg.gov.br/nfe2/services/NFeStatusServico4","NFEAutorizacao_4.00":"https://nfe.fazenda.mg.gov.br/nfe2/services/NFeAutorizacao4","NFERetornoAutorizacao_4.00":"https://nfe.fazenda.mg.gov.br/nfe2/services/NFeRetAutorizacao4","RecepcaoEvento_4.00":"https://nfe.fazenda.mg.gov.br/nfe2/services/NFeRecepcaoEvento4","NfeConsultaCadastro_4.00":"https://nfe.fazenda.mg.gov.br/nfe2/services/CadConsultaCadastro4"},NFe_MG_H:{"RecepcaoEvento_1.00":"https://hnfe.fazenda.mg.gov.br/nfe2/services/RecepcaoEvento","NfeRecepcao_2.00":"https://hnfe.fazenda.mg.gov.br/nfe2/services/NfeRecepcao2","NfeRetRecepcao_2.00":"https://hnfe.fazenda.mg.gov.br/nfe2/services/NfeRetRecepcao2","NfeInutilizacao_2.00":"https://hnfe.fazenda.mg.gov.br/nfe2/services/NfeInutilizacao2","NfeInutilizacao_3.10":"https://hnfe.fazenda.mg.gov.br/nfe2/services/NfeInutilizacao2","NFEConsultaProtocolo_2.00":"https://hnfe.fazenda.mg.gov.br/nfe2/services/NfeConsulta2","NFEConsultaProtocolo_3.10":"https://hnfe.fazenda.mg.gov.br/nfe2/services/NfeConsulta2","NFEStatusServico_2.00":"https://hnfe.fazenda.mg.gov.br/nfe2/services/NfeStatusServico2","NFEStatusServico_3.10":"https://hnfe.fazenda.mg.gov.br/nfe2/services/NfeStatusServico2","NfeConsultaCadastro_2.00":"https://hnfe.fazenda.mg.gov.br/nfe2/services/cadconsultacadastro2","NfeConsultaCadastro_3.10":"https://hnfe.fazenda.mg.gov.br/nfe2/services/cadconsultacadastro2","NFEAutorizacao_3.10":"https://hnfe.fazenda.mg.gov.br/nfe2/services/NfeAutorizacao","NFERetornoAutorizacao_3.10":"https://hnfe.fazenda.mg.gov.br/nfe2/services/NfeRetAutorizacao","NFEAutorizacao_4.00":"https://hnfe.fazenda.mg.gov.br/nfe2/services/NFeAutorizacao4","NFEConsultaProtocolo_4.00":"https://hnfe.fazenda.mg.gov.br/nfe2/services/nfeconsultaprotocolo4","NFEInutilizacao_4.00":"https://hnfe.fazenda.mg.gov.br/nfe2/services/NFeInutilizacao4","NFERetornoAutorizacao_4.00":"https://hnfe.fazenda.mg.gov.br/nfe2/services/NFeRetAutorizacao4","NFEStatusServico_4.00":"https://hnfe.fazenda.mg.gov.br/nfe2/services/NFeStatusServico4","RecepcaoEvento_4.00":"https://hnfe.fazenda.mg.gov.br/nfe2/services/NFeRecepcaoEvento4","NfeConsultaCadastro_4.00":"https://hnfe.fazenda.mg.gov.br/nfe2/services/CadConsultaCadastro4"},NFe_MS_P:{"RecepcaoEvento_1.00":"https://nfe.fazenda.ms.gov.br/producao/services2/RecepcaoEvento","NfeRecepcao_2.00":"https://nfe.fazenda.ms.gov.br/producao/services2/NfeRecepcao2","NfeRetRecepcao_2.00":"https://nfe.fazenda.ms.gov.br/producao/services2/NfeRetRecepcao2","NfeConsultaCadastro_2.00":"https://nfe.fazenda.ms.gov.br/producao/services2/CadConsultaCadastro2","NfeInutilizacao_2.00":"https://nfe.fazenda.ms.gov.br/producao/services2/NfeInutilizacao2","NfeInutilizacao_3.10":"https://nfe.fazenda.ms.gov.br/producao/services2/NfeInutilizacao2","NFEConsultaProtocolo_2.00":"https://nfe.fazenda.ms.gov.br/producao/services2/NfeConsulta2","NFEConsultaProtocolo_3.10":"https://nfe.fazenda.ms.gov.br/producao/services2/NfeConsulta2","NFEStatusServico_2.00":"https://nfe.fazenda.ms.gov.br/producao/services2/NfeStatusServico2","NFEStatusServico_3.10":"https://nfe.fazenda.ms.gov.br/producao/services2/NfeStatusServico2","NFEAutorizacao_3.10":"https://nfe.fazenda.ms.gov.br/producao/services2/NfeAutorizacao","NFERetornoAutorizacao_3.10":"https://nfe.fazenda.ms.gov.br/producao/services2/NfeRetAutorizacao","NFEInutilizacao_4.00":"https://nfe.sefaz.ms.gov.br/ws/NFeInutilizacao4","NFEConsultaProtocolo_4.00":"https://nfe.sefaz.ms.gov.br/ws/nfeconsultaprotocolo4","NFEStatusServico_4.00":"https://nfe.sefaz.ms.gov.br/ws/NFeStatusServico4","NfeConsultaCadastro_4.00":"https://nfe.sefaz.ms.gov.br/ws/CadConsultaCadastro4","RecepcaoEvento_4.00":"https://nfe.sefaz.ms.gov.br/ws/NFeRecepcaoEvento4","NFEAutorizacao_4.00":"https://nfe.sefaz.ms.gov.br/ws/NFeAutorizacao4","NFERetornoAutorizacao_4.00":"https://nfe.sefaz.ms.gov.br/ws/NFeRetAutorizacao4"},NFe_MS_H:{"RecepcaoEvento_1.00":"https://homologacao.nfe.ms.gov.br/homologacao/services2/RecepcaoEvento","NfeRecepcao_2.00":"https://homologacao.nfe.ms.gov.br/homologacao/services2/NfeRecepcao2","NfeRetRecepcao_2.00":"https://homologacao.nfe.ms.gov.br/homologacao/services2/NfeRetRecepcao2","NfeConsultaCadastro_2.00":"https://homologacao.nfe.ms.gov.br/homologacao/services2/CadConsultaCadastro2","NfeInutilizacao_2.00":"https://homologacao.nfe.ms.gov.br/homologacao/services2/NfeInutilizacao2","NfeInutilizacao_3.10":"https://homologacao.nfe.ms.gov.br/homologacao/services2/NfeInutilizacao2","NFEConsultaProtocolo_2.00":"https://homologacao.nfe.ms.gov.br/homologacao/services2/NfeConsulta2","NFEConsultaProtocolo_3.10":"https://homologacao.nfe.ms.gov.br/homologacao/services2/NfeConsulta2","NFEStatusServico_2.00":"https://homologacao.nfe.ms.gov.br/homologacao/services2/NfeStatusServico2","NFEStatusServico_3.10":"https://homologacao.nfe.ms.gov.br/homologacao/services2/NfeStatusServico2","NFEAutorizacao_3.10":"https://homologacao.nfe.ms.gov.br/homologacao/services2/NfeAutorizacao","NFERetornoAutorizacao_3.10":"https://homologacao.nfe.ms.gov.br/homologacao/services2/NfeRetAutorizacao","NFEAutorizacao_4.00":"https://hom.nfe.sefaz.ms.gov.br/ws/NFeAutorizacao4","NFERetornoAutorizacao_4.00":"https://hom.nfe.sefaz.ms.gov.br/ws/NFeRetAutorizacao4","NFEConsultaProtocolo_4.00":"https://hom.nfe.sefaz.ms.gov.br/ws/nfeconsultaprotocolo4","NFEStatusServico_4.00":"https://hom.nfe.sefaz.ms.gov.br/ws/NFeStatusServico4","NFEInutilizacao_4.00":"https://hom.nfe.sefaz.ms.gov.br/ws/NFeInutilizacao4","RecepcaoEvento_4.00":"https://hom.nfe.sefaz.ms.gov.br/ws/NFeRecepcaoEvento4","NfeConsultaCadastro_4.00":"https://hom.nfe.sefaz.ms.gov.br/ws/CadConsultaCadastro4"},NFe_MT_P:{"NfeRecepcao_2.00":"https://nfe.sefaz.mt.gov.br/nfews/v2/services/NfeRecepcao2?wsdl","NfeRetRecepcao_2.00":"https://nfe.sefaz.mt.gov.br/nfews/v2/services/NfeRetRecepcao2?wsdl","NfeInutilizacao_2.00":"https://nfe.sefaz.mt.gov.br/nfews/v2/services/NfeInutilizacao2?wsdl","NfeInutilizacao_3.10":"https://nfe.sefaz.mt.gov.br/nfews/v2/services/NfeInutilizacao2?wsdl","NFEConsultaProtocolo_2.00":"https://nfe.sefaz.mt.gov.br/nfews/v2/services/NfeConsulta2?wsdl","NFEConsultaProtocolo_3.10":"https://nfe.sefaz.mt.gov.br/nfews/v2/services/NfeConsulta2?wsdl","NFEStatusServico_2.00":"https://nfe.sefaz.mt.gov.br/nfews/v2/services/NfeStatusServico2?wsdl","NFEStatusServico_3.10":"https://nfe.sefaz.mt.gov.br/nfews/v2/services/NfeStatusServico2?wsdl","NfeConsultaCadastro_2.00":"https://nfe.sefaz.mt.gov.br/nfews/v2/services/CadConsultaCadastro2?wsdl","RecepcaoEvento_1.00":"https://nfe.sefaz.mt.gov.br/nfews/v2/services/RecepcaoEvento?wsdl","NFEAutorizacao_3.10":"https://nfe.sefaz.mt.gov.br/nfews/v2/services/NfeAutorizacao?wsdl","NFERetornoAutorizacao_3.10":"https://nfe.sefaz.mt.gov.br/nfews/v2/services/NfeRetAutorizacao?wsdl","NFEInutilizacao_4.00":"https://nfe.sefaz.mt.gov.br/nfews/v2/services/NfeInutilizacao4?wsdl","NFEConsultaProtocolo_4.00":"https://nfe.sefaz.mt.gov.br/nfews/v2/services/NfeConsulta4?wsdl","NFEStatusServico_4.00":"https://nfe.sefaz.mt.gov.br/nfews/v2/services/NfeStatusServico4?wsdl","NfeConsultaCadastro_4.00":"https://nfe.sefaz.mt.gov.br/nfews/v2/services/CadConsultaCadastro4?wsdl","RecepcaoEvento_4.00":"https://nfe.sefaz.mt.gov.br/nfews/v2/services/RecepcaoEvento4?wsdl","NFEAutorizacao_4.00":"https://nfe.sefaz.mt.gov.br/nfews/v2/services/NFeAutorizacao4?wsdl","NFERetornoAutorizacao_4.00":"https://nfe.sefaz.mt.gov.br/nfews/v2/services/NfeRetAutorizacao4?wsdl"},NFe_MT_H:{"NfeRecepcao_2.00":"https://homologacao.sefaz.mt.gov.br/nfews/v2/services/NfeRecepcao2?wsdl","NfeRetRecepcao_2.00":"https://homologacao.sefaz.mt.gov.br/nfews/v2/services/NfeRetRecepcao2?wsdl","NfeInutilizacao_2.00":"https://homologacao.sefaz.mt.gov.br/nfews/v2/services/NfeInutilizacao2?wsdl","NFEConsultaProtocolo_2.00":"https://homologacao.sefaz.mt.gov.br/nfews/v2/services/NfeConsulta2?wsdl","NFEStatusServico_2.00":"https://homologacao.sefaz.mt.gov.br/nfews/v2/services/NfeStatusServico2?wsdl","RecepcaoEvento_1.00":"https://homologacao.sefaz.mt.gov.br/nfews/v2/services/RecepcaoEvento?wsdl","NfeConsultaCadastro_2.00":"https://homologacao.sefaz.mt.gov.br/nfews/v2/services/CadConsultaCadastro2?wsdl","NFEAutorizacao_3.10":"https://homologacao.sefaz.mt.gov.br/nfews/v2/services/NfeAutorizacao?wsdl","NFERetornoAutorizacao_3.10":"https://homologacao.sefaz.mt.gov.br/nfews/v2/services/NfeRetAutorizacao?wsdl","NFERetornoAutorizacao_4.00":"https://homologacao.sefaz.mt.gov.br/nfews/v2/services/NfeRetAutorizacao4","RecepcaoEvento_4.00":"https://homologacao.sefaz.mt.gov.br/nfews/v2/services/RecepcaoEvento4","NFEConsultaProtocolo_4.00":"https://homologacao.sefaz.mt.gov.br/nfews/v2/services/NfeConsulta4","NFEAutorizacao_4.00":"https://homologacao.sefaz.mt.gov.br/nfews/v2/services/NFeAutorizacao4","NFEInutilizacao_4.00":"https://homologacao.sefaz.mt.gov.br/nfews/v2/services/NfeInutilizacao4","NfeConsultaCadastro_4.00":"https://homologacao.sefaz.mt.gov.br/nfews/v2/services/CadConsultaCadastro4","NFEStatusServico_4.00":"https://homologacao.sefaz.mt.gov.br/nfews/v2/services/NfeStatusServico4"},NFe_PA_P:{Usar:"NFe_SVRS_P"},NFe_PA_H:{Usar:"NFe_SVRS_H"},NFe_PB_P:{Usar:"NFe_SVRS_P"},NFe_PB_H:{Usar:"NFe_SVRS_H"},NFe_PE_P:{"RecepcaoEvento_1.00":"https://nfe.sefaz.pe.gov.br/nfe-service/services/RecepcaoEvento","NfeRecepcao_2.00":"https://nfe.sefaz.pe.gov.br/nfe-service/services/NfeRecepcao2","NfeRetRecepcao_2.00":"https://nfe.sefaz.pe.gov.br/nfe-service/services/NfeRetRecepcao2","NfeInutilizacao_2.00":"https://nfe.sefaz.pe.gov.br/nfe-service/services/NfeInutilizacao2","NfeInutilizacao_3.10":"https://nfe.sefaz.pe.gov.br/nfe-service/services/NfeInutilizacao2","NFEConsultaProtocolo_2.00":"https://nfe.sefaz.pe.gov.br/nfe-service/services/NfeConsulta2","NFEConsultaProtocolo_3.10":"https://nfe.sefaz.pe.gov.br/nfe-service/services/NfeConsulta2","NFEStatusServico_2.00":"https://nfe.sefaz.pe.gov.br/nfe-service/services/NfeStatusServico2","NFEStatusServico_3.10":"https://nfe.sefaz.pe.gov.br/nfe-service/services/NfeStatusServico2","NfeConsultaCadastro_2.00":"https://nfe.sefaz.pe.gov.br/nfe-service/services/CadConsultaCadastro2","NfeConsultaCadastro_3.10":"https://nfe.sefaz.pe.gov.br/nfe-service/services/CadConsultaCadastro2","NFEAutorizacao_3.10":"https://nfe.sefaz.pe.gov.br/nfe-service/services/NfeAutorizacao?wsdl","NFERetornoAutorizacao_3.10":"https://nfe.sefaz.pe.gov.br/nfe-service/services/NfeRetAutorizacao?wsdl","NFEInutilizacao_4.00":"https://nfe.sefaz.pe.gov.br/nfe-service/services/NFeInutilizacao4","NFEConsultaProtocolo_4.00":"https://nfe.sefaz.pe.gov.br/nfe-service/services/nfeconsultaprotocolo4","NFEStatusServico_4.00":"https://nfe.sefaz.pe.gov.br/nfe-service/services/NFeStatusServico4","RecepcaoEvento_4.00":"https://nfe.sefaz.pe.gov.br/nfe-service/services/NFeRecepcaoEvento4","NFEAutorizacao_4.00":"https://nfe.sefaz.pe.gov.br/nfe-service/services/NFeAutorizacao4","NFERetornoAutorizacao_4.00":"https://nfe.sefaz.pe.gov.br/nfe-service/services/NFeRetAutorizacao4","NfeConsultaCadastro_4.00":"https://nfe.sefaz.pe.gov.br/nfe-service/services/CadConsultaCadastro4"},NFe_PE_H:{"RecepcaoEvento_1.00":"https://nfehomolog.sefaz.pe.gov.br/nfe-service/services/RecepcaoEvento","NfeRecepcao_2.00":"https://nfehomolog.sefaz.pe.gov.br/nfe-service/services/NfeRecepcao2","NfeRetRecepcao_2.00":"https://nfehomolog.sefaz.pe.gov.br/nfe-service/services/NfeRetRecepcao2","NfeInutilizacao_2.00":"https://nfehomolog.sefaz.pe.gov.br/nfe-service/services/NfeInutilizacao2","NfeInutilizacao_3.10":"https://nfehomolog.sefaz.pe.gov.br/nfe-service/services/NfeInutilizacao2","NFEConsultaProtocolo_2.00":"https://nfehomolog.sefaz.pe.gov.br/nfe-service/services/NfeConsulta2","NFEConsultaProtocolo_3.10":"https://nfehomolog.sefaz.pe.gov.br/nfe-service/services/NfeConsulta2","NFEStatusServico_2.00":"https://nfehomolog.sefaz.pe.gov.br/nfe-service/services/NfeStatusServico2","NFEStatusServico_3.10":"https://nfehomolog.sefaz.pe.gov.br/nfe-service/services/NfeStatusServico2","NFEAutorizacao_3.10":"https://nfehomolog.sefaz.pe.gov.br/nfe-service/services/NfeAutorizacao?wsdl","NFERetornoAutorizacao_3.10":"https://nfehomolog.sefaz.pe.gov.br/nfe-service/services/NfeRetAutorizacao?wsdl","NFEInutilizacao_4.00":"https://nfehomolog.sefaz.pe.gov.br/nfe-service/services/NFeInutilizacao4?wsdl","NFEConsultaProtocolo_4.00":"https://nfehomolog.sefaz.pe.gov.br/nfe-service/services/nfeconsultaprotocolo4?wsdl","NFEStatusServico_4.00":"https://nfehomolog.sefaz.pe.gov.br/nfe-service/services/NFeStatusServico4?wsdl","NfeConsultaCadastro_4.00":"https://nfehomolog.sefaz.pe.gov.br/nfe-service/services/CadConsultaCadastro4?wsdl","RecepcaoEvento_4.00":"https://nfehomolog.sefaz.pe.gov.br/nfe-service/services/NFeRecepcaoEvento4?wsdl","NFEAutorizacao_4.00":"https://nfehomolog.sefaz.pe.gov.br/nfe-service/services/NFeAutorizacao4?wsdl","NFERetornoAutorizacao_4.00":"https://nfehomolog.sefaz.pe.gov.br/nfe-service/services/NFeRetAutorizacao4?wsdl"},NFe_PI_P:{Usar:"NFe_SVRS_P"},NFe_PI_H:{Usar:"NFe_SVRS_H"},NFe_PR_P:{"RecepcaoEvento_1.00":"https://nfe.fazenda.pr.gov.br/nfe/NFeRecepcaoEvento?wsdl","NfeInutilizacao_3.10":"https://nfe.fazenda.pr.gov.br/nfe/NFeInutilizacao3?wsdl","NFEConsultaProtocolo_3.10":"https://nfe.fazenda.pr.gov.br/nfe/NFeConsulta3?wsdl","NFEStatusServico_3.10":"https://nfe.fazenda.pr.gov.br/nfe/NFeStatusServico3?wsdl","NfeConsultaCadastro_2.00":"https://nfe.fazenda.pr.gov.br/nfe/CadConsultaCadastro2?wsdl","NFEAutorizacao_3.10":"https://nfe.fazenda.pr.gov.br/nfe/NFeAutorizacao3?wsdl","NFERetornoAutorizacao_3.10":"https://nfe.fazenda.pr.gov.br/nfe/NFeRetAutorizacao3?wsdl","NFEInutilizacao_4.00":"https://nfe.sefa.pr.gov.br/nfe/NFeInutilizacao4?wsdl","NFEConsultaProtocolo_4.00":"https://nfe.sefa.pr.gov.br/nfe/nfeconsultaprotocolo4?wsdl","NFEStatusServico_4.00":"https://nfe.sefa.pr.gov.br/nfe/NFeStatusServico4?wsdl","NfeConsultaCadastro_4.00":"https://nfe.sefa.pr.gov.br/nfe/CadConsultaCadastro4?wsdl","RecepcaoEvento_4.00":"https://nfe.sefa.pr.gov.br/nfe/NFeRecepcaoEvento4?wsdl","NFEAutorizacao_4.00":"https://nfe.sefa.pr.gov.br/nfe/NFeAutorizacao4?wsdl","NFERetornoAutorizacao_4.00":"https://nfe.sefa.pr.gov.br/nfe/NFeRetAutorizacao4?wsdl"},NFe_PR_H:{"RecepcaoEvento_1.00":"https://homologacao.nfe.fazenda.pr.gov.br/nfe/NFeRecepcaoEvento?wsdl","NfeInutilizacao_3.10":"https://homologacao.nfe.fazenda.pr.gov.br/nfe/NFeInutilizacao3?wsdl","NFEConsultaProtocolo_3.10":"https://homologacao.nfe.fazenda.pr.gov.br/nfe/NFeConsulta3?wsdl","NFEStatusServico_3.10":"https://homologacao.nfe.fazenda.pr.gov.br/nfe/NFeStatusServico3?wsdl","NfeConsultaCadastro_2.00":"https://homologacao.nfe.fazenda.pr.gov.br/nfe/CadConsultaCadastro2?wsdl","NFEAutorizacao_3.10":"https://homologacao.nfe.fazenda.pr.gov.br/nfe/NFeAutorizacao3?wsdl","NFERetornoAutorizacao_3.10":"https://homologacao.nfe.fazenda.pr.gov.br/nfe/NFeRetAutorizacao3?wsdl","RecepcaoEvento_4.00":"https://homologacao.nfe.sefa.pr.gov.br/nfe/NFeRecepcaoEvento4?wsdl","NFEInutilizacao_4.00":"https://homologacao.nfe.sefa.pr.gov.br/nfe/NFeInutilizacao4?wsdl","NFEConsultaProtocolo_4.00":"https://homologacao.nfe.sefa.pr.gov.br/nfe/nfeconsultaprotocolo4?wsdl","NFEStatusServico_4.00":"https://homologacao.nfe.sefa.pr.gov.br/nfe/NFeStatusServico4?wsdl","NfeConsultaCadastro_4.00":"https://homologacao.nfe.sefa.pr.gov.br/nfe/CadConsultaCadastro4?wsdl","NFEAutorizacao_4.00":"https://homologacao.nfe.sefa.pr.gov.br/nfe/NFeAutorizacao4?wsdl","NFERetornoAutorizacao_4.00":"https://homologacao.nfe.sefa.pr.gov.br/nfe/NFeRetAutorizacao4?wsdl"},NFe_RJ_P:{Usar:"NFe_SVRS_P"},NFe_RJ_H:{Usar:"NFe_SVRS_H"},NFe_RN_P:{Usar:"NFe_SVRS_P"},NFe_RN_H:{Usar:"NFe_SVRS_H"},NFe_RO_P:{Usar:"NFe_SVRS_P"},NFe_RO_H:{Usar:"NFe_SVRS_H"},NFe_RS_P:{"NFEAutorizacao_3.10":"https://nfe.sefazrs.rs.gov.br/ws/NfeAutorizacao/NFeAutorizacao.asmx","NFERetornoAutorizacao_3.10":"https://nfe.sefazrs.rs.gov.br/ws/NfeRetAutorizacao/NFeRetAutorizacao.asmx","NfeInutilizacao_2.00":"https://nfe.sefazrs.rs.gov.br/ws/NfeInutilizacao/NfeInutilizacao2.asmx","NfeInutilizacao_3.10":"https://nfe.sefazrs.rs.gov.br/ws/NfeInutilizacao/NfeInutilizacao2.asmx","NFEConsultaProtocolo_2.00":"https://nfe.sefazrs.rs.gov.br/ws/NfeConsulta/NfeConsulta2.asmx","NFEConsultaProtocolo_3.10":"https://nfe.sefazrs.rs.gov.br/ws/NfeConsulta/NfeConsulta2.asmx","NFEStatusServico_2.00":"https://nfe.sefazrs.rs.gov.br/ws/NfeStatusServico/NfeStatusServico2.asmx","NFEStatusServico_3.10":"https://nfe.sefazrs.rs.gov.br/ws/NfeStatusServico/NfeStatusServico2.asmx","RecepcaoEvento_1.00":"https://nfe.sefazrs.rs.gov.br/ws/recepcaoevento/recepcaoevento.asmx","NfeConsultaCadastro_2.00":"https://cad.sefazrs.rs.gov.br/ws/cadconsultacadastro/cadconsultacadastro2.asmx","NFEInutilizacao_4.00":"https://nfe.sefazrs.rs.gov.br/ws/nfeinutilizacao/nfeinutilizacao4.asmx","NFEConsultaProtocolo_4.00":"https://nfe.sefazrs.rs.gov.br/ws/NfeConsulta/NfeConsulta4.asmx","NFEStatusServico_4.00":"https://nfe.sefazrs.rs.gov.br/ws/NfeStatusServico/NfeStatusServico4.asmx","RecepcaoEvento_4.00":"https://nfe.sefazrs.rs.gov.br/ws/recepcaoevento/recepcaoevento4.asmx","NFEAutorizacao_4.00":"https://nfe.sefazrs.rs.gov.br/ws/NfeAutorizacao/NFeAutorizacao4.asmx","NFERetornoAutorizacao_4.00":"https://nfe.sefazrs.rs.gov.br/ws/NfeRetAutorizacao/NFeRetAutorizacao4.asmx","NfeConsultaCadastro_4.00":"https://cad.sefazrs.rs.gov.br/ws/cadconsultacadastro/cadconsultacadastro4.asmx"},NFe_RS_H:{"NFEAutorizacao_3.10":"https://nfe-homologacao.sefazrs.rs.gov.br/ws/NfeAutorizacao/NFeAutorizacao.asmx","NFERetornoAutorizacao_3.10":"https://nfe-homologacao.sefazrs.rs.gov.br/ws/NfeRetAutorizacao/NFeRetAutorizacao.asmx","NfeInutilizacao_2.00":"https://nfe-homologacao.sefazrs.rs.gov.br/ws/nfeinutilizacao/nfeinutilizacao2.asmx","NfeInutilizacao_3.10":"https://nfe-homologacao.sefazrs.rs.gov.br/ws/nfeinutilizacao/nfeinutilizacao2.asmx","NFEConsultaProtocolo_2.00":"https://nfe-homologacao.sefazrs.rs.gov.br/ws/NfeConsulta/NfeConsulta2.asmx","NFEConsultaProtocolo_3.10":"https://nfe-homologacao.sefazrs.rs.gov.br/ws/NfeConsulta/NfeConsulta2.asmx","NFEStatusServico_2.00":"https://nfe-homologacao.sefazrs.rs.gov.br/ws/NfeStatusServico/NfeStatusServico2.asmx","NFEStatusServico_3.10":"https://nfe-homologacao.sefazrs.rs.gov.br/ws/NfeStatusServico/NfeStatusServico2.asmx","RecepcaoEvento_1.00":"https://nfe-homologacao.sefazrs.rs.gov.br/ws/recepcaoevento/recepcaoevento.asmx","NfeConsultaCadastro_2.00":"https://cad.sefazrs.rs.gov.br/ws/cadconsultacadastro/cadconsultacadastro2.asmx","NFEInutilizacao_4.00":"https://nfe-homologacao.sefazrs.rs.gov.br/ws/nfeinutilizacao/nfeinutilizacao4.asmx","NFEConsultaProtocolo_4.00":"https://nfe-homologacao.sefazrs.rs.gov.br/ws/NfeConsulta/NfeConsulta4.asmx","NFEStatusServico_4.00":"https://nfe-homologacao.sefazrs.rs.gov.br/ws/NfeStatusServico/NfeStatusServico4.asmx","RecepcaoEvento_4.00":"https://nfe-homologacao.sefazrs.rs.gov.br/ws/recepcaoevento/recepcaoevento4.asmx","NFEAutorizacao_4.00":"https://nfe-homologacao.sefazrs.rs.gov.br/ws/NfeAutorizacao/NFeAutorizacao4.asmx","NFERetornoAutorizacao_4.00":"https://nfe-homologacao.sefazrs.rs.gov.br/ws/NfeRetAutorizacao/NFeRetAutorizacao4.asmx","NfeConsultaCadastro_4.00":"https://cad.sefazrs.rs.gov.br/ws/cadconsultacadastro/cadconsultacadastro4.asmx"},NFe_RR_P:{Usar:"NFe_SVRS_P"},NFe_RR_H:{Usar:"NFe_SVRS_H"},NFe_SC_P:{Usar:"NFe_SVRS_P"},NFe_SC_H:{Usar:"NFe_SVRS_H"},NFe_SE_P:{Usar:"NFe_SVRS_P"},NFe_SE_H:{Usar:"NFe_SVRS_H"},NFe_SP_P:{"NfeRecepcao_2.00":"https://nfe.fazenda.sp.gov.br/nfeweb/services/nferecepcao2.asmx","NfeRetRecepcao_2.00":"https://nfe.fazenda.sp.gov.br/nfeweb/services/nferetrecepcao2.asmx","NfeInutilizacao_2.00":"https://nfe.fazenda.sp.gov.br/nfeweb/services/nfeinutilizacao2.asmx","NFEConsultaProtocolo_2.00":"https://nfe.fazenda.sp.gov.br/nfeweb/services/nfeconsulta2.asmx","NFEStatusServico_2.00":"https://nfe.fazenda.sp.gov.br/nfeweb/services/nfestatusservico2.asmx","NfeConsultaCadastro_2.00":"https://nfe.fazenda.sp.gov.br/ws/cadconsultacadastro2.asmx","RecepcaoEvento_1.00":"https://nfe.fazenda.sp.gov.br/ws/RecepcaoEvento.asmx","NfeInutilizacao_3.10":"https://nfe.fazenda.sp.gov.br/ws/nfeinutilizacao2.asmx","NFEConsultaProtocolo_3.10":"https://nfe.fazenda.sp.gov.br/ws/nfeconsulta2.asmx","NFEStatusServico_3.10":"https://nfe.fazenda.sp.gov.br/ws/nfestatusservico2.asmx","NFEAutorizacao_3.10":"https://nfe.fazenda.sp.gov.br/ws/nfeautorizacao.asmx","NFERetornoAutorizacao_3.10":"https://nfe.fazenda.sp.gov.br/ws/nferetautorizacao.asmx","NFEInutilizacao_4.00":"https://nfe.fazenda.sp.gov.br/ws/nfeinutilizacao4.asmx","NFEConsultaProtocolo_4.00":"https://nfe.fazenda.sp.gov.br/ws/nfeconsultaprotocolo4.asmx","NFEStatusServico_4.00":"https://nfe.fazenda.sp.gov.br/ws/nfestatusservico4.asmx","NfeConsultaCadastro_4.00":"https://nfe.fazenda.sp.gov.br/ws/cadconsultacadastro4.asmx","RecepcaoEvento_4.00":"https://nfe.fazenda.sp.gov.br/ws/nferecepcaoevento4.asmx","NFEAutorizacao_4.00":"https://nfe.fazenda.sp.gov.br/ws/nfeautorizacao4.asmx","NFERetornoAutorizacao_4.00":"https://nfe.fazenda.sp.gov.br/ws/nferetautorizacao4.asmx"},NFe_SP_H:{"NfeRecepcao_2.00":"https://homologacao.nfe.fazenda.sp.gov.br/nfeweb/services/NfeRecepcao2.asmx","NfeRetRecepcao_2.00":"https://homologacao.nfe.fazenda.sp.gov.br/nfeweb/services/NfeRetRecepcao2.asmx","NfeInutilizacao_2.00":"https://homologacao.nfe.fazenda.sp.gov.br/nfeweb/services/nfeinutilizacao2.asmx","NFEConsultaProtocolo_2.00":"https://homologacao.nfe.fazenda.sp.gov.br/nfeweb/services/nfeconsulta2.asmx","NFEStatusServico_2.00":"https://homologacao.nfe.fazenda.sp.gov.br/nfeweb/services/nfestatusservico2.asmx","NfeConsultaCadastro_2.00":"https://homologacao.nfe.fazenda.sp.gov.br/ws/cadconsultacadastro2.asmx","RecepcaoEvento_1.00":"https://homologacao.nfe.fazenda.sp.gov.br/ws/RecepcaoEvento.asmx","NfeInutilizacao_3.10":"https://homologacao.nfe.fazenda.sp.gov.br/ws/nfeinutilizacao2.asmx","NFEConsultaProtocolo_3.10":"https://homologacao.nfe.fazenda.sp.gov.br/ws/nfeconsulta2.asmx","NFEStatusServico_3.10":"https://homologacao.nfe.fazenda.sp.gov.br/ws/nfestatusservico2.asmx","NFEAutorizacao_3.10":"https://homologacao.nfe.fazenda.sp.gov.br/ws/nfeautorizacao.asmx","NFERetornoAutorizacao_3.10":"https://homologacao.nfe.fazenda.sp.gov.br/ws/nferetautorizacao.asmx","NFEInutilizacao_4.00":"https://homologacao.nfe.fazenda.sp.gov.br/ws/nfeinutilizacao4.asmx","NFEConsultaProtocolo_4.00":"https://homologacao.nfe.fazenda.sp.gov.br/ws/nfeconsultaprotocolo4.asmx","NFEStatusServico_4.00":"https://homologacao.nfe.fazenda.sp.gov.br/ws/nfestatusservico4.asmx","NFEAutorizacao_4.00":"https://homologacao.nfe.fazenda.sp.gov.br/ws/nfeautorizacao4.asmx","NFERetornoAutorizacao_4.00":"https://homologacao.nfe.fazenda.sp.gov.br/ws/nferetautorizacao4.asmx","NfeConsultaCadastro_4.00":"https://homologacao.nfe.fazenda.sp.gov.br/ws/cadconsultacadastro4.asmx","RecepcaoEvento_4.00":"https://homologacao.nfe.fazenda.sp.gov.br/ws/nferecepcaoevento4.asmx"},NFe_TO_P:{Usar:"NFe_SVRS_P"},NFe_TO_H:{Usar:"NFe_SVRS_H"},NFe_SVAN_P:{"RecepcaoEvento_1.00":"https://www.sefazvirtual.fazenda.gov.br/RecepcaoEvento/RecepcaoEvento.asmx","NfeRecepcao_2.00":"https://www.sefazvirtual.fazenda.gov.br/NfeRecepcao2/NfeRecepcao2.asmx","NfeRetRecepcao_2.00":"https://www.sefazvirtual.fazenda.gov.br/NfeRetRecepcao2/NfeRetRecepcao2.asmx","NfeInutilizacao_2.00":"https://www.sefazvirtual.fazenda.gov.br/NfeInutilizacao2/NfeInutilizacao2.asmx","NfeInutilizacao_3.10":"https://www.sefazvirtual.fazenda.gov.br/NfeInutilizacao2/NfeInutilizacao2.asmx","NFEConsultaProtocolo_2.00":"https://www.sefazvirtual.fazenda.gov.br/NfeConsulta2/NfeConsulta2.asmx","NFEConsultaProtocolo_3.10":"https://www.sefazvirtual.fazenda.gov.br/NfeConsulta2/NfeConsulta2.asmx","NFEStatusServico_2.00":"https://www.sefazvirtual.fazenda.gov.br/NfeStatusServico2/NfeStatusServico2.asmx","NFEStatusServico_3.10":"https://www.sefazvirtual.fazenda.gov.br/NfeStatusServico2/NfeStatusServico2.asmx","NfeDownloadNF_1.00":"https://www.sefazvirtual.fazenda.gov.br/NfeDownloadNF/NfeDownloadNF.asmx","NFEAutorizacao_3.10":"https://www.sefazvirtual.fazenda.gov.br/NfeAutorizacao/NfeAutorizacao.asmx","NFERetornoAutorizacao_3.10":"https://www.sefazvirtual.fazenda.gov.br/NfeRetAutorizacao/NfeRetAutorizacao.asmx","RecepcaoEvento_4.00":"https://www.sefazvirtual.fazenda.gov.br/NFeRecepcaoEvento4/NFeRecepcaoEvento4.asmx","NFEInutilizacao_4.00":"https://www.sefazvirtual.fazenda.gov.br/NFeInutilizacao4/NFeInutilizacao4.asmx","NFEConsultaProtocolo_4.00":"https://www.sefazvirtual.fazenda.gov.br/nfeconsultaprotocolo4/nfeconsultaprotocolo4.asmx","NFEStatusServico_4.00":"https://www.sefazvirtual.fazenda.gov.br/NFeStatusServico4/NFeStatusServico4.asmx","NFEAutorizacao_4.00":"https://www.sefazvirtual.fazenda.gov.br/NFeAutorizacao4/NFeAutorizacao4.asmx","NFERetornoAutorizacao_4.00":"https://www.sefazvirtual.fazenda.gov.br/NFeRetAutorizacao4/NFeRetAutorizacao4.asmx"},NFe_SVAN_H:{"RecepcaoEvento_1.00":"https://hom.sefazvirtual.fazenda.gov.br/RecepcaoEvento/RecepcaoEvento.asmx","NfeRecepcao_2.00":"https://hom.sefazvirtual.fazenda.gov.br/NfeRecepcao2/NfeRecepcao2.asmx","NfeRetRecepcao_2.00":"https://hom.sefazvirtual.fazenda.gov.br/NfeRetRecepcao2/NfeRetRecepcao2.asmx","NfeInutilizacao_2.00":"https://hom.sefazvirtual.fazenda.gov.br/NfeInutilizacao2/NfeInutilizacao2.asmx","NfeInutilizacao_3.10":"https://hom.sefazvirtual.fazenda.gov.br/NfeInutilizacao2/NfeInutilizacao2.asmx","NFEConsultaProtocolo_2.00":"https://hom.sefazvirtual.fazenda.gov.br/NfeConsulta2/NfeConsulta2.asmx","NFEConsultaProtocolo_3.10":"https://hom.sefazvirtual.fazenda.gov.br/NfeConsulta2/NfeConsulta2.asmx","NFEStatusServico_2.00":"https://hom.sefazvirtual.fazenda.gov.br/NfeStatusServico2/NfeStatusServico2.asmx","NFEStatusServico_3.10":"https://hom.sefazvirtual.fazenda.gov.br/NfeStatusServico2/NfeStatusServico2.asmx","NfeDownloadNF_1.00":"https://hom.sefazvirtual.fazenda.gov.br/NfeDownloadNF/NfeDownloadNF.asmx","NFEAutorizacao_3.10":"https://hom.sefazvirtual.fazenda.gov.br/NfeAutorizacao/NfeAutorizacao.asmx","NFERetornoAutorizacao_3.10":"https://hom.sefazvirtual.fazenda.gov.br/NfeRetAutorizacao/NfeRetAutorizacao.asmx","NFEInutilizacao_4.00":"https://hom.sefazvirtual.fazenda.gov.br/NFeInutilizacao4/NFeInutilizacao4.asmx","NFEConsultaProtocolo_4.00":"https://hom.sefazvirtual.fazenda.gov.br/nfeconsultaprotocolo4/nfeconsultaprotocolo4.asmx","NFEStatusServico_4.00":"https://hom.sefazvirtual.fazenda.gov.br/NFeStatusServico4/NFeStatusServico4.asmx","RecepcaoEvento_4.00":"https://hom.sefazvirtual.fazenda.gov.br/NFeRecepcaoEvento4/NFeRecepcaoEvento4.asmx","NFEAutorizacao_4.00":"https://hom.sefazvirtual.fazenda.gov.br/NFeAutorizacao4/NFeAutorizacao4.asmx","NFERetornoAutorizacao_4.00":"https://hom.sefazvirtual.fazenda.gov.br/NFeRetAutorizacao4/NFeRetAutorizacao4.asmx"},NFe_SVRS_P:{"NFEAutorizacao_3.10":"https://nfe.svrs.rs.gov.br/ws/NfeAutorizacao/NFeAutorizacao.asmx","NFERetornoAutorizacao_3.10":"https://nfe.svrs.rs.gov.br/ws/NfeRetAutorizacao/NFeRetAutorizacao.asmx","NfeInutilizacao_2.00":"https://nfe.svrs.rs.gov.br/ws/nfeinutilizacao/nfeinutilizacao2.asmx","NfeInutilizacao_3.10":"https://nfe.svrs.rs.gov.br/ws/nfeinutilizacao/nfeinutilizacao2.asmx","NFEConsultaProtocolo_2.00":"https://nfe.svrs.rs.gov.br/ws/NfeConsulta/NfeConsulta2.asmx","NFEConsultaProtocolo_3.10":"https://nfe.svrs.rs.gov.br/ws/NfeConsulta/NfeConsulta2.asmx","NFEStatusServico_2.00":"https://nfe.svrs.rs.gov.br/ws/NfeStatusServico/NfeStatusServico2.asmx","NFEStatusServico_3.10":"https://nfe.svrs.rs.gov.br/ws/NfeStatusServico/NfeStatusServico2.asmx","RecepcaoEvento_1.00":"https://nfe.svrs.rs.gov.br/ws/recepcaoevento/recepcaoevento.asmx","NfeConsultaCadastro_2.00":"https://cad.svrs.rs.gov.br/ws/cadconsultacadastro/cadconsultacadastro2.asmx","NFEAutorizacao_4.00":"https://nfe.svrs.rs.gov.br/ws/NfeAutorizacao/NFeAutorizacao4.asmx","NFERetornoAutorizacao_4.00":"https://nfe.svrs.rs.gov.br/ws/NfeRetAutorizacao/NFeRetAutorizacao4.asmx","NFEInutilizacao_4.00":"https://nfe.svrs.rs.gov.br/ws/nfeinutilizacao/nfeinutilizacao4.asmx","NFEConsultaProtocolo_4.00":"https://nfe.svrs.rs.gov.br/ws/NfeConsulta/NfeConsulta4.asmx","NFEStatusServico_4.00":"https://nfe.svrs.rs.gov.br/ws/NfeStatusServico/NfeStatusServico4.asmx","RecepcaoEvento_4.00":"https://nfe.svrs.rs.gov.br/ws/recepcaoevento/recepcaoevento4.asmx","NfeConsultaCadastro_4.00":"https://cad.svrs.rs.gov.br/ws/cadconsultacadastro/cadconsultacadastro4.asmx"},NFe_SVRS_H:{"NFEAutorizacao_3.10":"https://nfe-homologacao.svrs.rs.gov.br/ws/NfeAutorizacao/NFeAutorizacao.asmx","NFERetornoAutorizacao_3.10":"https://nfe-homologacao.svrs.rs.gov.br/ws/NfeRetAutorizacao/NFeRetAutorizacao.asmx","NfeInutilizacao_2.00":"https://nfe-homologacao.svrs.rs.gov.br/ws/nfeinutilizacao/nfeinutilizacao2.asmx","NfeInutilizacao_3.10":"https://nfe-homologacao.svrs.rs.gov.br/ws/nfeinutilizacao/nfeinutilizacao2.asmx","NFEConsultaProtocolo_2.00":"https://nfe-homologacao.svrs.rs.gov.br/ws/NfeConsulta/NfeConsulta2.asmx","NFEConsultaProtocolo_3.10":"https://nfe-homologacao.svrs.rs.gov.br/ws/NfeConsulta/NfeConsulta2.asmx","NFEStatusServico_2.00":"https://nfe-homologacao.svrs.rs.gov.br/ws/NfeStatusServico/NfeStatusServico2.asmx","NFEStatusServico_3.10":"https://nfe-homologacao.svrs.rs.gov.br/ws/NfeStatusServico/NfeStatusServico2.asmx","RecepcaoEvento_1.00":"https://nfe-homologacao.svrs.rs.gov.br/ws/recepcaoevento/recepcaoevento.asmx","NfeConsultaCadastro_2.00":"https://cad-homologacao.svrs.rs.gov.br/ws/cadconsultacadastro/cadconsultacadastro2.asmx","NFEInutilizacao_4.00":"https://nfe-homologacao.svrs.rs.gov.br/ws/nfeinutilizacao/nfeinutilizacao4.asmx","NFEConsultaProtocolo_4.00":"https://nfe-homologacao.svrs.rs.gov.br/ws/NfeConsulta/NfeConsulta4.asmx","NFEStatusServico_4.00":"https://nfe-homologacao.svrs.rs.gov.br/ws/NfeStatusServico/NfeStatusServico4.asmx","RecepcaoEvento_4.00":"https://nfe-homologacao.svrs.rs.gov.br/ws/recepcaoevento/recepcaoevento4.asmx","NFEAutorizacao_4.00":"https://nfe-homologacao.svrs.rs.gov.br/ws/NfeAutorizacao/NFeAutorizacao4.asmx","NFERetornoAutorizacao_4.00":"https://nfe-homologacao.svrs.rs.gov.br/ws/NfeRetAutorizacao/NFeRetAutorizacao4.asmx","NfeConsultaCadastro_4.00":"https://cad-homologacao.svrs.rs.gov.br/ws/cadconsultacadastro/cadconsultacadastro4.asmx"},"NFe_SVC-AN_P":{"RecepcaoEvento_1.00":"https://www.svc.fazenda.gov.br/RecepcaoEvento/RecepcaoEvento.asmx","NfeRecepcao_2.00":"https://www.svc.fazenda.gov.br/NfeRecepcao2/NfeRecepcao2.asmx","NfeRetRecepcao_2.00":"https://www.svc.fazenda.gov.br/NfeRetRecepcao2/NfeRetRecepcao2.asmx","NFEConsultaProtocolo_2.00":"https://www.svc.fazenda.gov.br/NfeConsulta2/NfeConsulta2.asmx","NFEConsultaProtocolo_3.10":"https://www.svc.fazenda.gov.br/NfeConsulta2/NfeConsulta2.asmx","NFEStatusServico_2.00":"https://www.svc.fazenda.gov.br/NfeStatusServico2/NfeStatusServico2.asmx","NFEStatusServico_3.10":"https://www.svc.fazenda.gov.br/NfeStatusServico2/NfeStatusServico2.asmx","NFEAutorizacao_3.10":"https://www.svc.fazenda.gov.br/NfeAutorizacao/NfeAutorizacao.asmx","NFERetornoAutorizacao_3.10":"https://www.svc.fazenda.gov.br/NfeRetAutorizacao/NfeRetAutorizacao.asmx","NFEConsultaProtocolo_4.00":"https://www.svc.fazenda.gov.br/nfeconsultaprotocolo4/nfeconsultaprotocolo4.asmx","NFEStatusServico_4.00":"https://www.svc.fazenda.gov.br/NFeStatusServico4/NFeStatusServico4.asmx","RecepcaoEvento_4.00":"https://www.svc.fazenda.gov.br/NFeRecepcaoEvento4/NFeRecepcaoEvento4.asmx","NFEAutorizacao_4.00":"https://www.svc.fazenda.gov.br/NFeAutorizacao4/NFeAutorizacao4.asmx","NFERetornoAutorizacao_4.00":"https://www.svc.fazenda.gov.br/NFeRetAutorizacao4/NFeRetAutorizacao4.asmx"},"NFe_SVC-AN_H":{"RecepcaoEvento_1.00":"https://hom.svc.fazenda.gov.br/RecepcaoEvento/RecepcaoEvento.asmx","NfeRecepcao_2.00":"https://hom.svc.fazenda.gov.br/NfeRecepcao2/NfeRecepcao2.asmx","NfeRetRecepcao_2.00":"https://hom.svc.fazenda.gov.br/NfeRetRecepcao2/NfeRetRecepcao2.asmx","NFEConsultaProtocolo_2.00":"https://hom.svc.fazenda.gov.br/NfeConsulta2/NfeConsulta2.asmx","NFEConsultaProtocolo_3.10":"https://hom.svc.fazenda.gov.br/NfeConsulta2/NfeConsulta2.asmx","NFEStatusServico_2.00":"https://hom.svc.fazenda.gov.br/NfeStatusServico2/NfeStatusServico2.asmx","NFEStatusServico_3.10":"https://hom.svc.fazenda.gov.br/NfeStatusServico2/NfeStatusServico2.asmx","NFEAutorizacao_3.10":"https://hom.svc.fazenda.gov.br/NfeAutorizacao/NfeAutorizacao.asmx","NFERetornoAutorizacao_3.10":"https://hom.svc.fazenda.gov.br/NfeRetAutorizacao/NfeRetAutorizacao.asmx","NFEConsultaProtocolo_4.00":"https://hom.svc.fazenda.gov.br/nfeconsultaprotocolo4/nfeconsultaprotocolo4.asmx","NFEStatusServico_4.00":"https://hom.svc.fazenda.gov.br/NFeStatusServico4/NFeStatusServico4.asmx","RecepcaoEvento_4.00":"https://hom.svc.fazenda.gov.br/NFeRecepcaoEvento4/NFeRecepcaoEvento4.asmx","NFEAutorizacao_4.00":"https://hom.svc.fazenda.gov.br/NFeAutorizacao4/NFeAutorizacao4.asmx","NFERetornoAutorizacao_4.00":"https://hom.svc.fazenda.gov.br/NFeRetAutorizacao4/NFeRetAutorizacao4.asmx"},"NFe_SVC-RS_P":{"NFEAutorizacao_3.10":"https://nfe.svrs.rs.gov.br/ws/NfeAutorizacao/NFeAutorizacao.asmx","NFERetornoAutorizacao_3.10":"https://nfe.svrs.rs.gov.br/ws/NfeRetAutorizacao/NFeRetAutorizacao.asmx","NfeInutilizacao_3.10":"https://nfe.svrs.rs.gov.br/ws/nfeinutilizacao/nfeinutilizacao2.asmx","NFEConsultaProtocolo_3.10":"https://nfe.svrs.rs.gov.br/ws/NfeConsulta/NfeConsulta2.asmx","NFEStatusServico_3.10":"https://nfe.svrs.rs.gov.br/ws/NfeStatusServico/NfeStatusServico2.asmx","RecepcaoEvento_1.00":"https://nfe.svrs.rs.gov.br/ws/recepcaoevento/recepcaoevento.asmx","NFEInutilizacao_4.00":"https://nfe.svrs.rs.gov.br/ws/nfeinutilizacao/nfeinutilizacao4.asmx","NFEConsultaProtocolo_4.00":"https://nfe.svrs.rs.gov.br/ws/NfeConsulta/NfeConsulta4.asmx","NFEStatusServico_4.00":"https://nfe.svrs.rs.gov.br/ws/NfeStatusServico/NfeStatusServico4.asmx","RecepcaoEvento_4.00":"https://nfe.svrs.rs.gov.br/ws/recepcaoevento/recepcaoevento4.asmx","NFEAutorizacao_4.00":"https://nfe.svrs.rs.gov.br/ws/NfeAutorizacao/NFeAutorizacao4.asmx","NFERetornoAutorizacao_4.00":"https://nfe.svrs.rs.gov.br/ws/NfeRetAutorizacao/NFeRetAutorizacao4.asmx"},"NFe_SVC-RS_H":{"NFEAutorizacao_3.10":"https://nfe-homologacao.svrs.rs.gov.br/ws/NfeAutorizacao/NFeAutorizacao.asmx","NFERetornoAutorizacao_3.10":"https://nfe-homologacao.svrs.rs.gov.br/ws/NfeRetAutorizacao/NFeRetAutorizacao.asmx","NfeInutilizacao_3.10":"https://nfe-homologacao.svrs.rs.gov.br/ws/nfeinutilizacao/nfeinutilizacao2.asmx","NFEConsultaProtocolo_3.10":"https://nfe-homologacao.svrs.rs.gov.br/ws/NfeConsulta/NfeConsulta2.asmx","NFEStatusServico_3.10":"https://nfe-homologacao.svrs.rs.gov.br/ws/NfeStatusServico/NfeStatusServico2.asmx","RecepcaoEvento_1.00":"https://nfe-homologacao.svrs.rs.gov.br/ws/recepcaoevento/recepcaoevento.asmx","NFEConsultaProtocolo_4.00":"https://nfe-homologacao.svrs.rs.gov.br/ws/NfeConsulta/NfeConsulta4.asmx","NFEStatusServico_4.00":"https://nfe-homologacao.svrs.rs.gov.br/ws/NfeStatusServico/NfeStatusServico4.asmx","RecepcaoEvento_4.00":"https://nfe-homologacao.svrs.rs.gov.br/ws/recepcaoevento/recepcaoevento4.asmx","NFEAutorizacao_4.00":"https://nfe-homologacao.svrs.rs.gov.br/ws/NfeAutorizacao/NFeAutorizacao4.asmx","NFERetornoAutorizacao_4.00":"https://nfe-homologacao.svrs.rs.gov.br/ws/NfeRetAutorizacao/NFeRetAutorizacao4.asmx"},NFe_AN_P:{"RecepcaoEvento_1.00":"https://www.nfe.fazenda.gov.br/RecepcaoEvento/RecepcaoEvento.asmx","NFeDistribuicaoDFe_1.01":"https://www1.nfe.fazenda.gov.br/NFeDistribuicaoDFe/NFeDistribuicaoDFe.asmx","RecepcaoEvento_4.00":"https://www.nfe.fazenda.gov.br/NFeRecepcaoEvento4/NFeRecepcaoEvento4.asmx"},NFe_AN_H:{"RecepcaoEvento_1.00":"https://hom.nfe.fazenda.gov.br/RecepcaoEvento/RecepcaoEvento.asmx","NFeDistribuicaoDFe_1.01":"https://hom1.nfe.fazenda.gov.br/NFeDistribuicaoDFe/NFeDistribuicaoDFe.asmx","RecepcaoEvento_4.00":"https://hom1.nfe.fazenda.gov.br/NFeRecepcaoEvento4/NFeRecepcaoEvento4.asmx"},NFCe_AC_P:{Usar:"NFCe_SVRS_P","URL-QRCode":"http://www.sefaznet.ac.gov.br/nfce/qrcode","URL-ConsultaNFCe":"http://www.sefaznet.ac.gov.br/nfce/","URL-ConsultaNFCe_2.00":"www.sefaznet.ac.gov.br/nfce/consulta"},NFCe_AC_H:{Usar:"NFCe_SVRS_H","URL-QRCode":"http://www.hml.sefaznet.ac.gov.br/nfce/qrcode","URL-ConsultaNFCe":"http://hml.sefaznet.ac.gov.br/nfce/","URL-ConsultaNFCe_2.00":"www.sefaznet.ac.gov.br/nfce/consulta"},NFCe_AL_P:{Usar:"NFCe_SVRS_P","URL-QRCode":"http://nfce.sefaz.al.gov.br/QRCode/consultarNFCe.jsp","URL-ConsultaNFCe":"http://nfce.sefaz.al.gov.br/consultaNFCe.htm","URL-ConsultaNFCe_2.00":"www.sefaz.al.gov.br/nfce/consulta"},NFCe_AL_H:{Usar:"NFCe_SVRS_H","URL-QRCode":"http://nfce.sefaz.al.gov.br/QRCode/consultarNFCe.jsp","URL-ConsultaNFCe":"http://nfce.sefaz.al.gov.br/consultaNFCe.htm","URL-ConsultaNFCe_2.00":"www.sefaz.al.gov.br/nfce/consulta"},NFCe_AP_P:{Usar:"NFCe_SVRS_P","URL-QRCode":"https://www.sefaz.ap.gov.br/nfce/nfcep.php","URL-ConsultaNFCe":"https://www.sefaz.ap.gov.br/sate/seg/SEGf_AcessarFuncao.jsp?cdFuncao=FIS_1261","URL-ConsultaNFCe_2.00":"www.sefaz.ap.gov.br/nfce/consulta"},NFCe_AP_H:{Usar:"NFCe_SVRS_H","URL-QRCode":"https://www.sefaz.ap.gov.br/nfcehml/nfce.php","URL-ConsultaNFCe":"https://www.sefaz.ap.gov.br/sate1/seg/SEGf_AcessarFuncao.jsp?cdFuncao=FIS_1261","URL-ConsultaNFCe_2.00":"www.sefaz.ap.gov.br/nfce/consulta"},NFCe_AM_P:{"NFEAutorizacao_3.10":"https://nfce.sefaz.am.gov.br/nfce-services/services/NfeAutorizacao","NFERetornoAutorizacao_3.10":"https://nfce.sefaz.am.gov.br/nfce-services/services/NfeRetAutorizacao","NFEConsultaProtocolo_3.10":"https://nfce.sefaz.am.gov.br/nfce-services/services/NfeConsulta2","NfeRecepcao_3.10":"https://nfce.sefaz.am.gov.br/nfce-services/services/NfeRecepcao2","RecepcaoEvento_1.00":"https://nfce.sefaz.am.gov.br/nfce-services/services/RecepcaoEvento","NFEStatusServico_3.10":"https://nfce.sefaz.am.gov.br/nfce-services/services/NfeStatusServico2","NfeRetRecepcao_3.10":"https://nfce.sefaz.am.gov.br/nfce-services/services/NfeRetRecepcao2","NfeInutilizacao_3.10":"https://nfce.sefaz.am.gov.br/nfce-services/services/NfeInutilizacao2","AdministrarCSCNFCe_1.00":"https://nfce.sefaz.am.gov.br/nfce-services/services/CscNFCe","NFEConsultaProtocolo_4.00":"https://nfce.sefaz.am.gov.br/nfce-services/services/NfeConsulta4","NFEStatusServico_4.00":"https://nfce.sefaz.am.gov.br/nfce-services/services/NfeStatusServico4","NFEInutilizacao_4.00":"https://nfce.sefaz.am.gov.br/nfce-services/services/NfeInutilizacao4","NFEAutorizacao_4.00":"https://nfce.sefaz.am.gov.br/nfce-services/services/NFeAutorizacao4","NFERetornoAutorizacao_4.00":"https://nfce.sefaz.am.gov.br/nfce-services/services/NfeRetAutorizacao4","RecepcaoEvento_4.00":"https://nfce.sefaz.am.gov.br/nfce-services/services/RecepcaoEvento4","URL-QRCode":"http://sistemas.sefaz.am.gov.br/nfceweb/consultarNFCe.jsp","URL-ConsultaNFCe":"http://sistemas.sefaz.am.gov.br/nfceweb/formConsulta.do","URL-ConsultaNFCe_2.00":"www.sefaz.am.gov.br/nfce/consulta"},NFCe_AM_H:{"NFEAutorizacao_3.10":"https://homnfce.sefaz.am.gov.br/nfce-services-nac/services/NfeAutorizacao","NFERetornoAutorizacao_3.10":"https://homnfce.sefaz.am.gov.br/nfce-services-nac/services/NfeRetAutorizacao","NFEConsultaProtocolo_3.10":"https://homnfce.sefaz.am.gov.br/nfce-services-nac/services/NfeConsulta2","NfeRecepcao_3.10":"https://homnfce.sefaz.am.gov.br/nfce-services-nac/services/NfeRecepcao2","RecepcaoEvento_1.00":"https://homnfce.sefaz.am.gov.br/nfce-services-nac/services/RecepcaoEvento","NFEStatusServico_3.10":"https://homnfce.sefaz.am.gov.br/nfce-services-nac/services/NfeStatusServico2","NfeRetRecepcao_3.10":"https://homnfce.sefaz.am.gov.br/nfce-services-nac/services/NfeRetRecepcao2","NfeInutilizacao_3.10":"https://homnfce.sefaz.am.gov.br/nfce-services-nac/services/NfeInutilizacao2","AdministrarCSCNFCe_1.00":"https://homnfce.sefaz.am.gov.br/nfce-services/services/CscNFCe","NFEConsultaProtocolo_4.00":"https://homnfce.sefaz.am.gov.br/nfce-services-nac/services/NfeConsulta4","NFEStatusServico_4.00":"https://homnfce.sefaz.am.gov.br/nfce-services-nac/services/NfeStatusServico4","NFEInutilizacao_4.00":"https://homnfce.sefaz.am.gov.br/nfce-services-nac/services/NfeInutilizacao4","NFEAutorizacao_4.00":"https://homnfce.sefaz.am.gov.br/nfce-services-nac/services/NFeAutorizacao4","NFERetornoAutorizacao_4.00":"https://homnfce.sefaz.am.gov.br/nfce-services-nac/services/NfeRetAutorizacao4","RecepcaoEvento_4.00":"https://homnfce.sefaz.am.gov.br/nfce-services-nac/services/RecepcaoEvento4","URL-QRCode":"http://homnfce.sefaz.am.gov.br/nfceweb/consultarNFCe.jsp","URL-ConsultaNFCe":"http://homnfce.sefaz.am.gov.br/nfceweb/formConsulta.do","URL-ConsultaNFCe_2.00":"www.sefaz.am.gov.br/nfce/consulta"},NFCe_BA_P:{Usar:"NFCe_SVRS_P","URL-QRCode":"http://nfe.sefaz.ba.gov.br/servicos/nfce/modulos/geral/NFCEC_consulta_chave_acesso.aspx","URL-ConsultaNFCe":"http://nfe.sefaz.ba.gov.br/servicos/nfce/default.aspx","URL-ConsultaNFCe_2.00":"http://www.sefaz.ba.gov.br/nfce/consulta","URL-QRCode_1.00":"http://nfe.sefaz.ba.gov.br/servicos/nfce/qrcode.aspx","URL-ConsultaNFCe_1.00":"www.sefaz.ba.gov.br/nfce/consulta"},NFCe_BA_H:{Usar:"NFCe_SVRS_H","URL-QRCode":"http://hnfe.sefaz.ba.gov.br/servicos/nfce/modulos/geral/NFCEC_consulta_chave_acesso.aspx","URL-ConsultaNFCe":"http://nfe.sefaz.ba.gov.br/servicos/nfce/default.aspx","URL-ConsultaNFCe_2.00":"http://hinternet.sefaz.ba.gov.br/nfce/consulta","URL-QRCode_1.00":"http://hnfe.sefaz.ba.gov.br/servicos/nfce/qrcode.aspx","URL-ConsultaNFCe_1.00":"http://hinternet.sefaz.ba.gov.br/nfce/consulta"},NFCe_CE_P:{"NFEAutorizacao_3.10":"https://nfce.sefaz.ce.gov.br/nfce/services/NfeAutorizacao?WSDL","NFERetornoAutorizacao_3.10":"https://nfce.sefaz.ce.gov.br/nfce/services/NfeRetAutorizacao?WSDL","NFEConsultaProtocolo_3.10":"https://nfce.sefaz.ce.gov.br/nfce/services/NfeConsulta2?WSDL","NfeInutilizacao_3.10":"https://nfce.sefaz.ce.gov.br/nfce/services/NfeInutilizacao2?WSDL","NFEStatusServico_3.10":"https://nfce.sefaz.ce.gov.br/nfce/services/NfeStatusServico2?WSDL","NfeConsultaCadastro_3.10":"https://nfce.sefaz.ce.gov.br/nfce/services/CadConsultaCadastro2?WSDL","RecepcaoEvento_1.00":"https://nfce.sefaz.ce.gov.br/nfce/services/RecepcaoEvento?WSDL","NFEAutorizacao_4.00":"https://nfce.sefaz.ce.gov.br/nfce4/services/NFeAutorizacao4?WSDL","NFERetornoAutorizacao_4.00":"https://nfce.sefaz.ce.gov.br/nfce4/services/NFeRetAutorizacao4?WSDL","NFEConsultaProtocolo_4.00":"https://nfce.sefaz.ce.gov.br/nfce4/services/nfeconsultaprotocolo4?WSDL","NFEInutilizacao_4.00":"https://nfce.sefaz.ce.gov.br/nfce4/services/NFeInutilizacao4?WSDL","NFEStatusServico_4.00":"https://nfce.sefaz.ce.gov.br/nfce4/services/NFeStatusServico4?WSDL","NfeConsultaCadastro_4.00":"https://nfce.sefaz.ce.gov.br/nfce4/services/CadConsultaCadastro4?WSDL","RecepcaoEvento_4.00":"https://nfce.sefaz.ce.gov.br/nfce4/services/NFeRecepcaoEvento4?WSDL","URL-QRCode":"http://nfce.sefaz.ce.gov.br/pages/ShowNFCe.html","URL-ConsultaNFCe":"http://nfce.sefaz.ce.gov.br/pages/consultaChaveAcesso.jsf","URL-ConsultaNFCe_2.00":"www.sefaz.ce.gov.br/nfce/consulta"},NFCe_CE_H:{"NFEAutorizacao_3.10":"https://nfceh.sefaz.ce.gov.br/nfce/services/NfeAutorizacao?wsdl","NFERetornoAutorizacao_3.10":"https://nfceh.sefaz.ce.gov.br/nfce/services/NfeRetAutorizacao?wsdl","NFEConsultaProtocolo_3.10":"https://nfceh.sefaz.ce.gov.br/nfce/services/NfeConsulta2?wsdl","NfeInutilizacao_3.10":"https://nfceh.sefaz.ce.gov.br/nfce/services/NfeInutilizacao2?wsdl","NFEStatusServico_3.10":"https://nfceh.sefaz.ce.gov.br/nfce/services/NfeStatusServico2?wsdl","NfeConsultaCadastro_3.10":"https://nfceh.sefaz.ce.gov.br/nfce/services/CadConsultaCadastro2?wsdl","RecepcaoEvento_1.00":"https://nfceh.sefaz.ce.gov.br/nfce/services/RecepcaoEvento?wsdl","NFEAutorizacao_4.00":"https://nfceh.sefaz.ce.gov.br/nfce4/services/NFeAutorizacao4?WSDL","NFERetornoAutorizacao_4.00":"https://nfceh.sefaz.ce.gov.br/nfce4/services/NFeRetAutorizacao4?WSDL","NFEConsultaProtocolo_4.00":"https://nfceh.sefaz.ce.gov.br/nfce4/services/nfeconsultaprotocolo4?WSDL","NFEInutilizacao_4.00":"https://nfceh.sefaz.ce.gov.br/nfce4/services/NFeInutilizacao4?WSDL","NFEStatusServico_4.00":"https://nfceh.sefaz.ce.gov.br/nfce4/services/NFeStatusServico4?WSDL","NfeConsultaCadastro_4.00":"https://nfceh.sefaz.ce.gov.br/nfce4/services/CadConsultaCadastro4?WSDL","RecepcaoEvento_4.00":"https://nfceh.sefaz.ce.gov.br/nfce4/services/NFeRecepcaoEvento4?WSDL","URL-QRCode":"http://nfceh.sefaz.ce.gov.br/pages/ShowNFCe.html","URL-ConsultaNFCe":"http://nfceh.sefaz.ce.gov.br/pages/consultaChaveAcesso.jsf","URL-ConsultaNFCe_2.00":"www.sefaz.ce.gov.br/nfce/consulta"},NFCe_DF_P:{Usar:"NFCe_SVRS_P","URL-QRCode":"http://www.fazenda.df.gov.br/nfce/qrcode","URL-ConsultaNFCe":"http://dec.fazenda.df.gov.br/nfce","URL-ConsultaNFCe_2.00":"www.fazenda.df.gov.br/nfce/consulta"},NFCe_DF_H:{Usar:"NFCe_SVRS_H","URL-QRCode":"http://dec.fazenda.df.gov.br/ConsultarNFCe.aspx","URL-ConsultaNFCe":"http://dec.fazenda.df.gov.br/nfce","URL-ConsultaNFCe_2.00":"www.fazenda.df.gov.br/nfce/consulta"},NFCe_ES_P:{Usar:"NFCe_SVRS_P","URL-QRCode":"http://app.sefaz.es.gov.br/ConsultaNFCe/qrcode.aspx","URL-ConsultaNFCe":"http://app.sefaz.es.gov.br/ConsultaNFCe","URL-ConsultaNFCe_2.00":"www.sefaz.es.gov.br/nfce/consulta"},NFCe_ES_H:{Usar:"NFCe_SVRS_H","URL-QRCode":"http://homologacao.sefaz.es.gov.br/ConsultaNFCe/qrcode.aspx","URL-ConsultaNFCe":"http://app.sefaz.es.gov.br/ConsultaNFCe","URL-ConsultaNFCe_2.00":"www.sefaz.es.gov.br/nfce/consulta"},NFCe_GO_P:{"RecepcaoEvento_1.00":"https://nfe.sefaz.go.gov.br/nfe/services/v2/RecepcaoEvento?wsdl","NfeRecepcao_2.00":"https://nfe.sefaz.go.gov.br/nfe/services/v2/NfeRecepcao2?wsdl","NfeRetRecepcao_2.00":"https://nfe.sefaz.go.gov.br/nfe/services/v2/NfeRetRecepcao2?wsdl","NfeInutilizacao_2.00":"https://nfe.sefaz.go.gov.br/nfe/services/v2/NfeInutilizacao2?wsdl","NfeInutilizacao_3.10":"https://nfe.sefaz.go.gov.br/nfe/services/v2/NfeInutilizacao2?wsdl","NFEConsultaProtocolo_2.00":"https://nfe.sefaz.go.gov.br/nfe/services/v2/NfeConsulta2?wsdl","NFEConsultaProtocolo_3.10":"https://nfe.sefaz.go.gov.br/nfe/services/v2/NfeConsulta2?wsdl","NFEStatusServico_2.00":"https://nfe.sefaz.go.gov.br/nfe/services/v2/NfeStatusServico2?wsdl","NFEStatusServico_3.10":"https://nfe.sefaz.go.gov.br/nfe/services/v2/NfeStatusServico2?wsdl","NfeConsultaCadastro_2.00":"https://nfe.sefaz.go.gov.br/nfe/services/v2/CadConsultaCadastro2?wsdl","NfeConsultaCadastro_3.10":"https://nfe.sefaz.go.gov.br/nfe/services/v2/CadConsultaCadastro2?wsdl","NFEAutorizacao_3.10":"https://nfe.sefaz.go.gov.br/nfe/services/v2/NfeAutorizacao?wsdl","NFERetornoAutorizacao_3.10":"https://nfe.sefaz.go.gov.br/nfe/services/v2/NfeRetAutorizacao?wsdl","AdministrarCSCNFCe_1.00":"https://nfe.sefaz.go.gov.br/nfe/services/v2/CscNFCe?wsdl","RecepcaoEvento_4.00":"https://nfe.sefaz.go.gov.br/nfe/services/NFeRecepcaoEvento4?wsdl","NFEInutilizacao_4.00":"https://nfe.sefaz.go.gov.br/nfe/services/NFeInutilizacao4?wsdl","NFEConsultaProtocolo_4.00":"https://nfe.sefaz.go.gov.br/nfe/services/nfeconsultaprotocolo4?wsdl","NFEStatusServico_4.00":"https://nfe.sefaz.go.gov.br/nfe/services/NFeStatusServico4?wsdl","NfeConsultaCadastro_4.00":"https://nfe.sefaz.go.gov.br/nfe/services/CadConsultaCadastro4?wsdl","NFEAutorizacao_4.00":"https://nfe.sefaz.go.gov.br/nfe/services/NFeAutorizacao4?wsdl","NFERetornoAutorizacao_4.00":"https://nfe.sefaz.go.gov.br/nfe/services/NFeRetAutorizacao4?wsdl","URL-QRCode":"http://nfe.sefaz.go.gov.br/nfeweb/sites/nfce/danfeNFCe","URL-ConsultaNFCe":"http://nfe.sefaz.go.gov.br/nfeweb/jsp/ConsultaDANFENFCe.jsf","URL-ConsultaNFCe_1.00":"http://www.nfce.go.gov.br/post/ver/214344/consulta-nfce","URL-ConsultaNFCe_2.00":"http://www.sefaz.go.gov.br/nfce/consulta"},NFCe_GO_H:{"RecepcaoEvento_1.00":"https://homolog.sefaz.go.gov.br/nfe/services/v2/RecepcaoEvento?wsdl","NfeRecepcao_2.00":"https://homolog.sefaz.go.gov.br/nfe/services/v2/NfeRecepcao2?wsdl","NfeRetRecepcao_2.00":"https://homolog.sefaz.go.gov.br/nfe/services/v2/NfeRetRecepcao2?wsdl","NfeInutilizacao_2.00":"https://homolog.sefaz.go.gov.br/nfe/services/v2/NfeInutilizacao2?wsdl","NfeInutilizacao_3.10":"https://homolog.sefaz.go.gov.br/nfe/services/v2/NfeInutilizacao2?wsdl","NFEConsultaProtocolo_2.00":"https://homolog.sefaz.go.gov.br/nfe/services/v2/NfeConsulta2?wsdl","NFEConsultaProtocolo_3.10":"https://homolog.sefaz.go.gov.br/nfe/services/v2/NfeConsulta2?wsdl","NFEStatusServico_2.00":"https://homolog.sefaz.go.gov.br/nfe/services/v2/NfeStatusServico2?wsdl","NFEStatusServico_3.10":"https://homolog.sefaz.go.gov.br/nfe/services/v2/NfeStatusServico2?wsdl","NfeConsultaCadastro_2.00":"https://homolog.sefaz.go.gov.br/nfe/services/v2/CadConsultaCadastro2?wsdl","NfeConsultaCadastro_3.10":"https://homolog.sefaz.go.gov.br/nfe/services/v2/CadConsultaCadastro2?wsdl","NFEAutorizacao_3.10":"https://homolog.sefaz.go.gov.br/nfe/services/v2/NfeAutorizacao?wsdl","NFERetornoAutorizacao_3.10":"https://homolog.sefaz.go.gov.br/nfe/services/v2/NfeRetAutorizacao?wsdl","AdministrarCSCNFCe_1.00":"https://homolog.sefaz.go.gov.br/nfe/services/v2/CscNFCe?wsdl","RecepcaoEvento_4.00":"https://homolog.sefaz.go.gov.br/nfe/services/NFeRecepcaoEvento4?wsdl","NFEInutilizacao_4.00":"https://homolog.sefaz.go.gov.br/nfe/services/NFeInutilizacao4?wsdl","NFEConsultaProtocolo_4.00":"https://homolog.sefaz.go.gov.br/nfe/services/nfeconsultaprotocolo4?wsdl","NFEStatusServico_4.00":"https://homolog.sefaz.go.gov.br/nfe/services/NFeStatusServico4?wsdl","NfeConsultaCadastro_4.00":"https://homolog.sefaz.go.gov.br/nfe/services/CadConsultaCadastro4?wsdl","NFEAutorizacao_4.00":"https://homolog.sefaz.go.gov.br/nfe/services/NFeAutorizacao4?wsdl","NFERetornoAutorizacao_4.00":"https://homolog.sefaz.go.gov.br/nfe/services/NFeRetAutorizacao4?wsdl","URL-QRCode":"http://homolog.sefaz.go.gov.br/nfeweb/sites/nfce/danfeNFCe","URL-ConsultaNFCe":"http://homolog.sefaz.go.gov.br/nfeweb/jsp/ConsultaDANFENFCe.jsf","URL-ConsultaNFCe_1.00":"http://www.nfce.go.gov.br/post/ver/214413/consulta-nfc-e-homologacao","URL-ConsultaNFCe_2.00":"http://www.nfce.go.gov.br/post/ver/214413/consulta-nfc-e-homologacao"},NFCe_MA_P:{Usar:"NFCe_SVRS_P","URL-QRCode":"http://www.nfce.sefaz.ma.gov.br/portal/consultarNFCe.jsp","URL-ConsultaNFCe":"http://www.nfce.sefaz.ma.gov.br/portal/consultaNFe.do","URL-ConsultaNFCe_2.00":"www.sefaz.ma.gov.br/nfce/consulta"},NFCe_MA_H:{Usar:"NFCe_SVRS_H","URL-QRCode":"http://www.hom.nfce.sefaz.ma.gov.br/portal/consultarNFCe.jsp","URL-ConsultaNFCe":"http://www.hom.nfce.sefaz.ma.gov.br/portal/consultaNFe.do","URL-ConsultaNFCe_2.00":"www.sefaz.ma.gov.br/nfce/consulta"},NFCe_MG_P:{"NFEAutorizacao_4.00":"https://nfce.fazenda.mg.gov.br/nfce/services/NFeAutorizacao4","NFERetornoAutorizacao_4.00":"https://nfce.fazenda.mg.gov.br/nfce/services/NFeRetAutorizacao4","RecepcaoEvento_4.00":"https://nfce.fazenda.mg.gov.br/nfce/services/NFeRecepcaoEvento4","NFEInutilizacao_4.00":"https://nfce.fazenda.mg.gov.br/nfce/services/NFeInutilizacao4","NFEConsultaProtocolo_4.00":"https://nfce.fazenda.mg.gov.br/nfce/services/nfeconsultaprotocolo4","NFEStatusServico_4.00":"https://nfce.fazenda.mg.gov.br/nfce/services/NFeStatusServico4","NfeConsultaCadastro_4.00":"","URL-QRCode_2.00":"https://portalsped.fazenda.mg.gov.br/portalnfce/sistema/qrcode.xhtml","URL-ConsultaNFCe_2.00":"http://nfce.fazenda.mg.gov.br/portalnfce"},NFCe_MG_H:{"NFEAutorizacao_4.00":"https://hnfce.fazenda.mg.gov.br/nfce/services/NFeAutorizacao4","NFERetornoAutorizacao_4.00":"https://hnfce.fazenda.mg.gov.br/nfce/services/NFeRetAutorizacao4","RecepcaoEvento_4.00":"https://hnfce.fazenda.mg.gov.br/nfce/services/NFeRecepcaoEvento4","NFEInutilizacao_4.00":"https://hnfce.fazenda.mg.gov.br/nfce/services/NFeInutilizacao4","NFEConsultaProtocolo_4.00":"https://hnfce.fazenda.mg.gov.br/nfce/services/nfeconsultaprotocolo4","NFEStatusServico_4.00":"https://hnfce.fazenda.mg.gov.br/nfce/services/NFeStatusServico4","NfeConsultaCadastro_4.00":"","URL-QRCode_2.00":"https://portalsped.fazenda.mg.gov.br/portalnfce/sistema/qrcode.xhtml","URL-ConsultaNFCe_2.00":"http://hnfce.fazenda.mg.gov.br/portalnfce"},NFCe_MS_P:{"NFEAutorizacao_3.10":"https://nfce.fazenda.ms.gov.br/producao/services2/NfeAutorizacao","NFERetornoAutorizacao_3.10":"https://nfce.fazenda.ms.gov.br/producao/services2/NfeRetAutorizacao","RecepcaoEvento_1.00":"https://nfce.fazenda.ms.gov.br/producao/services2/RecepcaoEvento","NfeInutilizacao_3.10":"https://nfce.fazenda.ms.gov.br/producao/services2/NfeInutilizacao2","NFEConsultaProtocolo_3.10":"https://nfce.fazenda.ms.gov.br/producao/services2/NfeConsulta2","NFEStatusServico_3.10":"https://nfce.fazenda.ms.gov.br/producao/services2/NfeStatusServico2","NfeConsultaCadastro_3.10":"https://nfe.fazenda.ms.gov.br/producao/services2/CadConsultaCadastro2","NFEAutorizacao_4.00":"https://nfce.sefaz.ms.gov.br/ws/NFeAutorizacao4","NFERetornoAutorizacao_4.00":"https://nfce.sefaz.ms.gov.br/ws/NFeRetAutorizacao4","RecepcaoEvento_4.00":"https://nfce.sefaz.ms.gov.br/ws/NFeRecepcaoEvento4","NFEInutilizacao_4.00":"https://nfce.sefaz.ms.gov.br/ws/NFeInutilizacao4","NFEConsultaProtocolo_4.00":"https://nfce.sefaz.ms.gov.br/ws/nfeconsultaprotocolo4","NFEStatusServico_4.00":"https://nfce.sefaz.ms.gov.br/ws/NFeStatusServico4","NfeConsultaCadastro_4.00":"https://nfe.sefaz.ms.gov.br/ws/CadConsultaCadastro4","URL-QRCode":"http://www.dfe.ms.gov.br/nfce/qrcode","URL-ConsultaNFCe":"http://www.dfe.ms.gov.br/nfce","URL-ConsultaNFCe_2.00":"http://www.dfe.ms.gov.br/nfce/consulta"},NFCe_MS_H:{"NFEAutorizacao_3.10":"https://homologacao.nfce.fazenda.ms.gov.br/homologacao/services2/NfeAutorizacao","NFERetornoAutorizacao_3.10":"https://homologacao.nfce.fazenda.ms.gov.br/homologacao/services2/NfeRetAutorizacao","RecepcaoEvento_1.00":"https://homologacao.nfce.fazenda.ms.gov.br/homologacao/services2/RecepcaoEvento","NfeInutilizacao_3.10":"https://homologacao.nfce.fazenda.ms.gov.br/homologacao/services2/NfeInutilizacao2","NFEConsultaProtocolo_3.10":"https://homologacao.nfce.fazenda.ms.gov.br/homologacao/services2/NfeConsulta2","NFEStatusServico_3.10":"https://homologacao.nfce.fazenda.ms.gov.br/homologacao/services2/NfeStatusServico2","NfeConsultaCadastro_3.10":"https://homologacao.nfce.fazenda.ms.gov.br/homologacao/services2/CadConsultaCadastro2","NFEAutorizacao_4.00":"https://hom.nfce.sefaz.ms.gov.br/ws/NFeAutorizacao4","NFERetornoAutorizacao_4.00":"https://hom.nfce.sefaz.ms.gov.br/ws/NFeRetAutorizacao4","NFEConsultaProtocolo_4.00":"https://hom.nfce.sefaz.ms.gov.br/ws/nfeconsultaprotocolo4","NFEInutilizacao_4.00":"https://hom.nfce.sefaz.ms.gov.br/ws/NFeInutilizacao4","NFEStatusServico_4.00":"https://hom.nfce.sefaz.ms.gov.br/ws/NFeStatusServico4","RecepcaoEvento_4.00":"https://hom.nfce.sefaz.ms.gov.br/ws/NFeRecepcaoEvento4","NfeConsultaCadastro_4.00":"https://hom.nfe.sefaz.ms.gov.br/ws/CadConsultaCadastro4","URL-QRCode":"http://www.dfe.ms.gov.br/nfce/qrcode","URL-ConsultaNFCe":"http://www.dfe.ms.gov.br/nfce","URL-ConsultaNFCe_2.00":"http://www.dfe.ms.gov.br/nfce/consulta"},NFCe_MT_P:{"NFEAutorizacao_3.10":"https://nfce.sefaz.mt.gov.br/nfcews/services/NfeAutorizacao?wsdl","NFERetornoAutorizacao_3.10":"https://nfce.sefaz.mt.gov.br/nfcews/services/NfeRetAutorizacao?wsdl","NfeInutilizacao_3.10":"https://nfce.sefaz.mt.gov.br/nfcews/services/NfeInutilizacao2?wsdl","RecepcaoEvento_1.00":"https://nfce.sefaz.mt.gov.br/nfcews/services/RecepcaoEvento?wsdl","NFEStatusServico_3.10":"https://nfce.sefaz.mt.gov.br/nfcews/services/NfeStatusServico2?wsdl","NFEConsultaProtocolo_3.10":"https://nfce.sefaz.mt.gov.br/nfcews/services/NfeConsulta2?wsdl","NFEAutorizacao_4.00":"https://nfce.sefaz.mt.gov.br/nfcews/services/NFeAutorizacao4","NFERetornoAutorizacao_4.00":"https://nfce.sefaz.mt.gov.br/nfcews/services/NfeRetAutorizacao4","NFEInutilizacao_4.00":"https://nfce.sefaz.mt.gov.br/nfcews/services/NfeInutilizacao4","NFEConsultaProtocolo_4.00":"https://nfce.sefaz.mt.gov.br/nfcews/services/NfeConsulta4","NFEStatusServico_4.00":"https://nfce.sefaz.mt.gov.br/nfcews/services/NfeStatusServico4","RecepcaoEvento_4.00":"https://nfce.sefaz.mt.gov.br/nfcews/services/RecepcaoEvento4","URL-QRCode":"http://www.sefaz.mt.gov.br/nfce/consultanfce","URL-ConsultaNFCe":"http://www.sefaz.mt.gov.br/nfce/consultanfce","URL-ConsultaNFCe_2.00":"http://www.sefaz.mt.gov.br/nfce/consultanfce"},NFCe_MT_H:{"NFEAutorizacao_3.10":"https://homologacao.sefaz.mt.gov.br/nfcews/services/NfeAutorizacao?wsdl","NFERetornoAutorizacao_3.10":"https://homologacao.sefaz.mt.gov.br/nfcews/services/NfeRetAutorizacao?wsdl","NfeInutilizacao_3.10":"https://homologacao.sefaz.mt.gov.br/nfcews/services/NfeInutilizacao2?wsdl","RecepcaoEvento_1.00":"https://homologacao.sefaz.mt.gov.br/nfcews/services/RecepcaoEvento?wsdl","NFEStatusServico_3.10":"https://homologacao.sefaz.mt.gov.br/nfcews/services/NfeStatusServico2?wsdl","NFEConsultaProtocolo_3.10":"https://homologacao.sefaz.mt.gov.br/nfcews/services/NfeConsulta2?wsdl","NFEAutorizacao_4.00":"https://homologacao.sefaz.mt.gov.br/nfcews/services/NFeAutorizacao4","NFERetornoAutorizacao_4.00":"https://homologacao.sefaz.mt.gov.br/nfcews/services/NfeRetAutorizacao4","NFEInutilizacao_4.00":"https://homologacao.sefaz.mt.gov.br/nfcews/services/NfeInutilizacao4","NFEConsultaProtocolo_4.00":"https://homologacao.sefaz.mt.gov.br/nfcews/services/NfeConsulta4","NFEStatusServico_4.00":"https://homologacao.sefaz.mt.gov.br/nfcews/services/NfeStatusServico4","RecepcaoEvento_4.00":"https://homologacao.sefaz.mt.gov.br/nfcews/services/RecepcaoEvento4","URL-QRCode":"http://homologacao.sefaz.mt.gov.br/nfce/consultanfce","URL-ConsultaNFCe":"http://homologacao.sefaz.mt.gov.br/nfce/consultanfce","URL-ConsultaNFCe_2.00":"http://homologacao.sefaz.mt.gov.br/nfce/consultanfce"},NFCe_PA_P:{Usar:"NFCe_SVRS_P","URL-QRCode":"https://appnfc.sefa.pa.gov.br/portal/view/consultas/nfce/nfceForm.seam","URL-ConsultaNFCe":"https://appnfc.sefa.pa.gov.br/portal/view/consultas/nfce/consultanfce.seam","URL-ConsultaNFCe_2.00":"www.sefa.pa.gov.br/nfce/consulta"},NFCe_PA_H:{Usar:"NFCe_SVRS_H","URL-QRCode":"https://appnfc.sefa.pa.gov.br/portal-homologacao/view/consultas/nfce/nfceForm.seam","URL-ConsultaNFCe":"https://appnfc.sefa.pa.gov.br/portal-homologacao/view/consultas/nfce/consultanfce.seam","URL-ConsultaNFCe_2.00":"www.sefa.pa.gov.br/nfce/consulta"},NFCe_PB_P:{Usar:"NFCe_SVRS_P","URL-QRCode":"http://www.sefaz.pb.gov.br/nfce","URL-ConsultaNFCe":"http://www.receita.pb.gov.br/nfce","URL-ConsultaNFCe_2.00":"www.sefaz.pb.gov.br/nfce/consulta"},NFCe_PB_H:{Usar:"NFCe_SVRS_H","URL-QRCode":"http://www.sefaz.pb.gov.br/nfcehom","URL-ConsultaNFCe":"http://www.receita.pb.gov.br/nfcehom","URL-ConsultaNFCe_2.00":"www.receita.pb.gov.br/nfcehom"},NFCe_PE_P:{Usar:"NFCe_SVRS_P","URL-QRCode":"http://nfce.sefaz.pe.gov.br/nfce-web/consultarNFCe","URL-ConsultaNFCe":"http://nfce.sefaz.pe.gov.br/nfce-web/consultarNFCe","URL-ConsultaNFCe_2.00":"nfce.sefaz.pe.gov.br/nfce/consulta"},NFCe_PE_H:{Usar:"NFCe_SVRS_H","URL-QRCode":"http://nfcehomolog.sefaz.pe.gov.br/nfce-web/consultarNFCe","URL-ConsultaNFCe":"http://nfcehomolog.sefaz.pe.gov.br/nfce-web/consultarNFCe","URL-ConsultaNFCe_2.00":"nfce.sefaz.pe.gov.br/nfce/consulta"},NFCe_PI_P:{Usar:"NFCe_SVRS_P","URL-QRCode":"http://webas.sefaz.pi.gov.br/nfceweb/consultarNFCe.jsf","URL-ConsultaNFCe":"http://webas.sefaz.pi.gov.br/nfceweb/consultarNFCe.jsf","URL-QRCode_2.00":"http://www.sefaz.pi.gov.br/nfce/qrcode","URL-ConsultaNFCe_2.00":"www.sefaz.pi.gov.br/nfce/consulta"},NFCe_PI_H:{Usar:"NFCe_SVRS_H","URL-QRCode":"http://webas.sefaz.pi.gov.br/nfceweb-homologacao/consultarNFCe.jsf","URL-ConsultaNFCe":"http://webas.sefaz.pi.gov.br/nfceweb-homologacao/consultarNFCe.jsf","URL-QRCode_2.00":"http://www.sefaz.pi.gov.br/nfce/qrcode","URL-ConsultaNFCe_2.00":"www.sefaz.pi.gov.br/nfce/consulta"},NFCe_PR_P:{"NFEAutorizacao_3.10":"https://nfce.fazenda.pr.gov.br/nfce/NFeAutorizacao3","NFERetornoAutorizacao_3.10":"https://nfce.fazenda.pr.gov.br/nfce/NFeRetAutorizacao3","NFEConsultaProtocolo_3.10":"https://nfce.fazenda.pr.gov.br/nfce/NFeConsulta3","NfeInutilizacao_3.10":"https://nfce.fazenda.pr.gov.br/nfce/NFeInutilizacao3","NFEStatusServico_3.10":"https://nfce.fazenda.pr.gov.br/nfce/NFeStatusServico3","RecepcaoEvento_1.00":"https://nfce.fazenda.pr.gov.br/nfce/NFeRecepcaoEvento","NFEAutorizacao_4.00":"https://nfce.sefa.pr.gov.br/nfce/NFeAutorizacao4","NFERetornoAutorizacao_4.00":"https://nfce.sefa.pr.gov.br/nfce/NFeRetAutorizacao4","NFEConsultaProtocolo_4.00":"https://nfce.sefa.pr.gov.br/nfce/nfeconsultaprotocolo4","NFEInutilizacao_4.00":"https://nfce.sefa.pr.gov.br/nfce/NFeInutilizacao4","NFEStatusServico_4.00":"https://nfce.sefa.pr.gov.br/nfce/NFeStatusServico4","RecepcaoEvento_4.00":"https://nfce.sefa.pr.gov.br/nfce/NFeRecepcaoEvento4","NfeConsultaCadastro_4.00":"https://nfce.sefa.pr.gov.br/nfce/CadConsultaCadastro4","URL-QRCode":"http://www.dfeportal.fazenda.pr.gov.br/dfe-portal/rest/servico/consultaNFCe","URL-ConsultaNFCe":"http://www.fazenda.pr.gov.br/","URL-QRCode_2.00":"http://www.fazenda.pr.gov.br/nfce/qrcode","URL-ConsultaNFCe_2.00":"http://www.fazenda.pr.gov.br/nfce/consulta","URL-QRCode_1.00":"http://www.fazenda.pr.gov.br/nfce/qrcode/","URL-ConsultaNFCe_1.00":"http://www.fazenda.pr.gov.br"},NFCe_PR_H:{"NFEAutorizacao_3.10":"https://homologacao.nfce.fazenda.pr.gov.br/nfce/NFeAutorizacao3","NFERetornoAutorizacao_3.10":"https://homologacao.nfce.fazenda.pr.gov.br/nfce/NFeRetAutorizacao3","NFEConsultaProtocolo_3.10":"https://homologacao.nfce.fazenda.pr.gov.br/nfce/NFeConsulta3","NfeInutilizacao_3.10":"https://homologacao.nfce.fazenda.pr.gov.br/nfce/NFeInutilizacao3","NFEStatusServico_3.10":"https://homologacao.nfce.fazenda.pr.gov.br/nfce/NFeStatusServico3","RecepcaoEvento_1.00":"https://homologacao.nfce.fazenda.pr.gov.br/nfce/NFeRecepcaoEvento","NFEAutorizacao_4.00":"https://homologacao.nfce.sefa.pr.gov.br/nfce/NFeAutorizacao4","NFERetornoAutorizacao_4.00":"https://homologacao.nfce.sefa.pr.gov.br/nfce/NFeRetAutorizacao4","NFEConsultaProtocolo_4.00":"https://homologacao.nfce.sefa.pr.gov.br/nfce/nfeconsultaprotocolo4","NFEInutilizacao_4.00":"https://homologacao.nfce.sefa.pr.gov.br/nfce/NFeInutilizacao4","NFEStatusServico_4.00":"https://homologacao.nfce.sefa.pr.gov.br/nfce/NFeStatusServico4","RecepcaoEvento_4.00":"https://homologacao.nfce.sefa.pr.gov.br/nfce/NFeRecepcaoEvento4","NfeConsultaCadastro_4.00":"https://homologacao.nfce.sefa.pr.gov.br/nfce/CadConsultaCadastro4","URL-QRCode":"http://www.dfeportal.fazenda.pr.gov.br/dfe-portal/rest/servico/consultaNFCe","URL-ConsultaNFCe":"http://www.fazenda.pr.gov.br/","URL-QRCode_2.00":"http://www.fazenda.pr.gov.br/nfce/qrcode","URL-ConsultaNFCe_2.00":"http://www.fazenda.pr.gov.br/nfce/consulta","URL-QRCode_1.00":"http://www.fazenda.pr.gov.br/nfce/qrcode/","URL-ConsultaNFCe_1.00":"http://www.fazenda.pr.gov.br"},NFCe_RJ_P:{Usar:"NFCe_SVRS_P","URL-QRCode":"http://www4.fazenda.rj.gov.br/consultaNFCe/QRCode","URL-ConsultaNFCe":"http://nfce.fazenda.rj.gov.br/consulta","URL-ConsultaNFCe_2.00":"www.fazenda.rj.gov.br/nfce/consulta"},NFCe_RJ_H:{Usar:"NFCe_SVRS_H","URL-QRCode":"http://www4.fazenda.rj.gov.br/consultaNFCe/QRCode","URL-ConsultaNFCe":"http://nfce.fazenda.rj.gov.br/consulta","URL-ConsultaNFCe_2.00":"www.fazenda.rj.gov.br/nfce/consulta"},NFCe_RN_P:{Usar:"NFCe_SVRS_P","URL-QRCode":"http://nfce.set.rn.gov.br/consultarNFCe.aspx","URL-ConsultaNFCe":"http://nfce.set.rn.gov.br/portalDFE/NFCe/ConsultaNFCe.aspx","URL-ConsultaNFCe_2.00":"www.set.rn.gov.br/nfce/consulta"},NFCe_RN_H:{Usar:"NFCe_SVRS_H","URL-QRCode":"http://hom.nfce.set.rn.gov.br/consultarNFCe.aspx","URL-ConsultaNFCe":"http://hom.nfce.set.rn.gov.br/portalDFE/NFCe/ConsultaNFCe.aspx","URL-ConsultaNFCe_2.00":"www.set.rn.gov.br/nfce/consulta"},NFCe_RO_P:{Usar:"NFCe_SVRS_P","URL-QRCode":"http://www.nfce.sefin.ro.gov.br/consultanfce/consulta.jsp","URL-ConsultaNFCe":"http://www.nfce.sefin.ro.gov.br","URL-ConsultaNFCe_2.00":"www.sefin.ro.gov.br/nfce/consulta"},NFCe_RO_H:{Usar:"NFCe_SVRS_H","URL-QRCode":"http://www.nfce.sefin.ro.gov.br/consultanfce/consulta.jsp","URL-ConsultaNFCe":"http://www.nfce.sefin.ro.gov.br/consultaAmbHomologacao.jsp","URL-ConsultaNFCe_2.00":"www.sefin.ro.gov.br/nfce/consulta"},NFCe_RS_P:{"NFEAutorizacao_3.10":"https://nfce.sefazrs.rs.gov.br/ws/NfeAutorizacao/NFeAutorizacao.asmx","NFERetornoAutorizacao_3.10":"https://nfce.sefazrs.rs.gov.br/ws/NfeRetAutorizacao/NFeRetAutorizacao.asmx","NFEConsultaProtocolo_3.10":"https://nfce.sefazrs.rs.gov.br/ws/NfeConsulta/NfeConsulta2.asmx","NfeInutilizacao_3.10":"https://nfce.sefazrs.rs.gov.br/ws/nfeinutilizacao/nfeinutilizacao2.asmx","NFEStatusServico_3.10":"https://nfce.sefazrs.rs.gov.br/ws/NfeStatusServico/NfeStatusServico2.asmx","RecepcaoEvento_1.00":"https://nfce.sefazrs.rs.gov.br/ws/recepcaoevento/recepcaoevento.asmx","NFEInutilizacao_4.00":"https://nfce.sefazrs.rs.gov.br/ws/nfeinutilizacao/nfeinutilizacao4.asmx","NFEConsultaProtocolo_4.00":"https://nfce.sefazrs.rs.gov.br/ws/NfeConsulta/NfeConsulta4.asmx","NFEStatusServico_4.00":"https://nfce.sefazrs.rs.gov.br/ws/NfeStatusServico/NfeStatusServico4.asmx","RecepcaoEvento_4.00":"https://nfce.sefazrs.rs.gov.br/ws/recepcaoevento/recepcaoevento4.asmx","NFEAutorizacao_4.00":"https://nfce.sefazrs.rs.gov.br/ws/NfeAutorizacao/NFeAutorizacao4.asmx","NFERetornoAutorizacao_4.00":"https://nfce.sefazrs.rs.gov.br/ws/NfeRetAutorizacao/NFeRetAutorizacao4.asmx","URL-QRCode":"https://www.sefaz.rs.gov.br/NFCE/NFCE-COM.aspx","URL-ConsultaNFCe":"https://www.sefaz.rs.gov.br/NFE/NFE-NFC.aspx","URL-ConsultaNFCe_2.00":"www.sefaz.rs.gov.br/nfce/consulta"},NFCe_RS_H:{"NFEAutorizacao_3.10":"https://nfce-homologacao.sefazrs.rs.gov.br/ws/NfeAutorizacao/NFeAutorizacao.asmx","NFERetornoAutorizacao_3.10":"https://nfce-homologacao.sefazrs.rs.gov.br/ws/NfeRetAutorizacao/NFeRetAutorizacao.asmx","NFEConsultaProtocolo_3.10":"https://nfce-homologacao.sefazrs.rs.gov.br/ws/NfeConsulta/NfeConsulta2.asmx","NfeInutilizacao_3.10":"https://nfce-homologacao.sefazrs.rs.gov.br/ws/nfeinutilizacao/nfeinutilizacao2.asmx","NFEStatusServico_3.10":"https://nfce-homologacao.sefazrs.rs.gov.br/ws/NfeStatusServico/NfeStatusServico2.asmx","RecepcaoEvento_1.00":"https://nfce-homologacao.sefazrs.rs.gov.br/ws/recepcaoevento/recepcaoevento.asmx","RecepcaoEvento_4.00":"https://nfce-homologacao.sefazrs.rs.gov.br/ws/recepcaoevento/recepcaoevento4.asmx","NFEInutilizacao_4.00":"https://nfce-homologacao.sefazrs.rs.gov.br/ws/nfeinutilizacao/nfeinutilizacao4.asmx","NFEConsultaProtocolo_4.00":"https://nfce-homologacao.sefazrs.rs.gov.br/ws/NfeConsulta/NfeConsulta4.asmx","NFEStatusServico_4.00":"https://nfce-homologacao.sefazrs.rs.gov.br/ws/NfeStatusServico/NfeStatusServico4.asmx","NFEAutorizacao_4.00":"https://nfce-homologacao.sefazrs.rs.gov.br/ws/NfeAutorizacao/NFeAutorizacao4.asmx","NFERetornoAutorizacao_4.00":"https://nfce-homologacao.sefazrs.rs.gov.br/ws/NfeRetAutorizacao/NFeRetAutorizacao4.asmx","URL-QRCode":"https://www.sefaz.rs.gov.br/NFCE/NFCE-COM.aspx","URL-ConsultaNFCe":"https://www.sefaz.rs.gov.br/NFE/NFE-NFC.aspx","URL-ConsultaNFCe_2.00":"www.sefaz.rs.gov.br/nfce/consulta"},NFCe_RR_P:{Usar:"NFCe_SVRS_P","URL-QRCode":"https://www.sefaz.rr.gov.br/nfce/servlet/qrcode","URL-ConsultaNFCe":"https://www.sefaz.rr.gov.br/nfce/servlet/wp_consulta_nfce","URL-ConsultaNFCe_2.00":"www.sefaz.rr.gov.br/nfce/consulta"},NFCe_RR_H:{Usar:"NFCe_SVRS_H","URL-QRCode":"http://200.174.88.103:8080/nfce/servlet/qrcode","URL-ConsultaNFCe":"http://200.174.88.103:8080/nfce/servlet/wp_consulta_nfce","URL-ConsultaNFCe_2.00":"www.sefaz.rr.gov.br/nfce/consulta"},NFCe_SC_P:{Usar:"NFCe_SVRS_P","URL-QRCode":"https://sat.sef.sc.gov.br/nfce/consulta?p=","URL-ConsultaNFCe":"https://sat.sef.sc.gov.br/nfce/consulta","URL-ConsultaNFCe_2.00":"https://sat.sef.sc.gov.br/nfce/consulta"},NFCe_SC_H:{Usar:"NFCe_SP_H","URL-QRCode":"https://hom.sat.sef.sc.gov.br/nfce/consulta?p=","URL-ConsultaNFCe":"https://hom.sat.sef.sc.gov.br/nfce/consulta","URL-ConsultaNFCe_2.00":"https://hom.sat.sef.sc.gov.br/nfce/consulta"},NFCe_SE_P:{Usar:"NFCe_SVRS_P","URL-QRCode":"http://www.nfce.se.gov.br/portal/consultarNFCe.jsp","URL-ConsultaNFCe":"http://www.nfce.se.gov.br/portal/consultarNFCe.jsp","URL-ConsultaNFCe_2.00":"http://www.nfce.se.gov.br/nfce/consulta"},NFCe_SE_H:{Usar:"NFCe_SVRS_H","URL-QRCode":"http://www.hom.nfe.se.gov.br/portal/consultarNFCe.jsp","URL-ConsultaNFCe":"http://www.hom.nfe.se.gov.br/portal/consultarNFCe.jsp","URL-ConsultaNFCe_2.00":"http://www.hom.nfe.se.gov.br/nfce/consulta"},NFCe_SP_P:{"NfeInutilizacao_3.10":"https://nfce.fazenda.sp.gov.br/ws/nfeinutilizacao2.asmx","NFEConsultaProtocolo_3.10":"https://nfce.fazenda.sp.gov.br/ws/nfeconsulta2.asmx","NFEStatusServico_3.10":"https://nfce.fazenda.sp.gov.br/ws/nfestatusservico2.asmx","NfeConsultaCadastro_3.10":"https://nfe.fazenda.sp.gov.br/ws/cadconsultacadastro2.asmx","RecepcaoEvento_1.00":"https://nfce.fazenda.sp.gov.br/ws/recepcaoevento.asmx","NFEAutorizacao_3.10":"https://nfce.fazenda.sp.gov.br/ws/nfeautorizacao.asmx","NFERetornoAutorizacao_3.10":"https://nfce.fazenda.sp.gov.br/ws/nferetautorizacao.asmx","EventoEPEC_1.00":"https://nfce.epec.fazenda.sp.gov.br/EPECws/RecepcaoEPEC.asmx","NFEAutorizacao_4.00":"https://nfce.fazenda.sp.gov.br/ws/NFeAutorizacao4.asmx","NFERetornoAutorizacao_4.00":"https://nfce.fazenda.sp.gov.br/ws/NFeRetAutorizacao4.asmx","NFEInutilizacao_4.00":"https://nfce.fazenda.sp.gov.br/ws/NFeInutilizacao4.asmx","NFEConsultaProtocolo_4.00":"https://nfce.fazenda.sp.gov.br/ws/nfeconsultaprotocolo4.asmx","RecepcaoEvento_4.00":"https://nfce.fazenda.sp.gov.br/ws/NFeRecepcaoEvento4.asmx","NFEStatusServico_4.00":"https://nfce.fazenda.sp.gov.br/ws/NFeStatusServico4.asmx","URL-QRCode":"https://www.nfce.fazenda.sp.gov.br/NFCeConsultaPublica/Paginas/ConsultaQRCode.aspx","URL-ConsultaNFCe":"https://www.nfce.fazenda.sp.gov.br/NFCeConsultaPublica/Paginas/ConsultaPublica.aspx","URL-QRCode_1.00":"https://www.nfce.fazenda.sp.gov.br/qrcode","URL-ConsultaNFCe_1.00":"https://www.nfce.fazenda.sp.gov.br/consulta"},NFCe_SP_H:{"NfeInutilizacao_3.10":"https://homologacao.nfce.fazenda.sp.gov.br/ws/nfeinutilizacao2.asmx","NFEConsultaProtocolo_3.10":"https://homologacao.nfce.fazenda.sp.gov.br/ws/nfeconsulta2.asmx","NFEStatusServico_3.10":"https://homologacao.nfce.fazenda.sp.gov.br/ws/nfestatusservico2.asmx","NfeConsultaCadastro_3.10":"https://homologacao.nfe.fazenda.sp.gov.br/ws/cadconsultacadastro2.asmx","RecepcaoEvento_1.00":"https://homologacao.nfce.fazenda.sp.gov.br/ws/recepcaoevento.asmx","NFEAutorizacao_3.10":"https://homologacao.nfce.fazenda.sp.gov.br/ws/nfeautorizacao.asmx","NFERetornoAutorizacao_3.10":"https://homologacao.nfce.fazenda.sp.gov.br/ws/nferetautorizacao.asmx","EventoEPEC_1.00":"https://homologacao.nfce.epec.fazenda.sp.gov.br/EPECws/RecepcaoEPEC.asmx","NFEAutorizacao_4.00":"https://homologacao.nfce.fazenda.sp.gov.br/ws/NFeAutorizacao4.asmx","NFERetornoAutorizacao_4.00":"https://homologacao.nfce.fazenda.sp.gov.br/ws/NFeRetAutorizacao4.asmx","NFEInutilizacao_4.00":"https://homologacao.nfce.fazenda.sp.gov.br/ws/NFeInutilizacao4.asmx","NFEConsultaProtocolo_4.00":"https://homologacao.nfce.fazenda.sp.gov.br/ws/nfeconsultaprotocolo4.asmx","RecepcaoEvento_4.00":"https://homologacao.nfce.fazenda.sp.gov.br/ws/NFeRecepcaoEvento4.asmx","NFEStatusServico_4.00":"https://homologacao.nfce.fazenda.sp.gov.br/ws/NFeStatusServico4.asmx","URL-QRCode":"https://www.homologacao.nfce.fazenda.sp.gov.br/NFCeConsultaPublica/Paginas/ConsultaQRCode.aspx","URL-ConsultaNFCe":"https://www.homologacao.nfce.fazenda.sp.gov.br/NFCeConsultaPublica/Paginas/ConsultaPublica.aspx","URL-QRCode_1.00":"https://www.homologacao.nfce.fazenda.sp.gov.br/qrcode","URL-ConsultaNFCe_1.00":"https://www.homologacao.nfce.fazenda.sp.gov.br/consulta"},NFCe_TO_P:{Usar:"NFCe_SVRS_P","URL-QRCode":"http://apps.sefaz.to.gov.br/portal-nfce/qrcodeNFCe","URL-ConsultaNFCe":"http://apps.sefaz.to.gov.br/portal-nfce/consultarNFCe.jsf","URL-QRCode_2.00":"http://www.sefaz.to.gov.br/nfce/qrcode","URL-ConsultaNFCe_2.00":"www.sefaz.to.gov.br/nfce/consulta"},NFCe_TO_H:{Usar:"NFCe_SVRS_H","URL-QRCode":"http://apps.sefaz.to.gov.br/portal-nfce-homologacao/qrcodeNFCe","URL-ConsultaNFCe":"http://apps.sefaz.to.gov.br/portal-nfce-homologacao/consultarNFCe.jsf","URL-QRCode_2.00":"http://homologacao.sefaz.to.gov.br/nfce/qrcode","URL-ConsultaNFCe_2.00":"http://homologacao.sefaz.to.gov.br/nfce/consulta.jsf"},NFCe_SVAN_P:{},NFCe_SVAN_H:{},NFCe_SVRS_P:{"NFEAutorizacao_3.10":"https://nfce.svrs.rs.gov.br/ws/NfeAutorizacao/NFeAutorizacao.asmx","NFERetornoAutorizacao_3.10":"https://nfce.svrs.rs.gov.br/ws/NfeRetAutorizacao/NFeRetAutorizacao.asmx","NfeInutilizacao_3.10":"https://nfce.svrs.rs.gov.br/ws/nfeinutilizacao/nfeinutilizacao2.asmx","NFEConsultaProtocolo_3.10":"https://nfce.svrs.rs.gov.br/ws/NfeConsulta/NfeConsulta2.asmx","NFEStatusServico_3.10":"https://nfce.svrs.rs.gov.br/ws/NfeStatusServico/NfeStatusServico2.asmx","RecepcaoEvento_1.00":"https://nfce.svrs.rs.gov.br/ws/recepcaoevento/recepcaoevento.asmx","RecepcaoEvento_4.00":"https://nfce.svrs.rs.gov.br/ws/recepcaoevento/recepcaoevento4.asmx","NFEInutilizacao_4.00":"https://nfce.svrs.rs.gov.br/ws/nfeinutilizacao/nfeinutilizacao4.asmx","NFEConsultaProtocolo_4.00":"https://nfce.svrs.rs.gov.br/ws/NfeConsulta/NfeConsulta4.asmx","NFEStatusServico_4.00":"https://nfce.svrs.rs.gov.br/ws/NfeStatusServico/NfeStatusServico4.asmx","NFEAutorizacao_4.00":"https://nfce.svrs.rs.gov.br/ws/NfeAutorizacao/NFeAutorizacao4.asmx","NFERetornoAutorizacao_4.00":"https://nfce.svrs.rs.gov.br/ws/NfeRetAutorizacao/NFeRetAutorizacao4.asmx"},NFCe_SVRS_H:{"NFEAutorizacao_3.10":"https://nfce-homologacao.svrs.rs.gov.br/ws/NfeAutorizacao/NFeAutorizacao.asmx","NFERetornoAutorizacao_3.10":"https://nfce-homologacao.svrs.rs.gov.br/ws/NfeRetAutorizacao/NFeRetAutorizacao.asmx","NfeInutilizacao_3.10":"https://nfce-homologacao.svrs.rs.gov.br/ws/nfeinutilizacao/nfeinutilizacao2.asmx","NFEConsultaProtocolo_3.10":"https://nfce-homologacao.svrs.rs.gov.br/ws/NfeConsulta/NfeConsulta2.asmx","NFEStatusServico_3.10":"https://nfce-homologacao.svrs.rs.gov.br/ws/NfeStatusServico/NfeStatusServico2.asmx","RecepcaoEvento_1.00":"https://nfce-homologacao.svrs.rs.gov.br/ws/recepcaoevento/recepcaoevento.asmx","RecepcaoEvento_4.00":"https://nfce-homologacao.svrs.rs.gov.br/ws/recepcaoevento/recepcaoevento4.asmx","NFEInutilizacao_4.00":"https://nfce-homologacao.svrs.rs.gov.br/ws/nfeinutilizacao/nfeinutilizacao4.asmx","NFEConsultaProtocolo_4.00":"https://nfce-homologacao.svrs.rs.gov.br/ws/NfeConsulta/NfeConsulta4.asmx","NFEStatusServico_4.00":"https://nfce-homologacao.svrs.rs.gov.br/ws/NfeStatusServico/NfeStatusServico4.asmx","NFEAutorizacao_4.00":"https://nfce-homologacao.svrs.rs.gov.br/ws/NfeAutorizacao/NFeAutorizacao4.asmx","NFERetornoAutorizacao_4.00":"https://nfce-homologacao.svrs.rs.gov.br/ws/NfeRetAutorizacao/NFeRetAutorizacao4.asmx"},WSDL_V4:{"NFEAutorizacao_4.00":"http://www.portalfiscal.inf.br/nfe/wsdl/NFeAutorizacao4","NFERetornoAutorizacao_4.00":"http://www.portalfiscal.inf.br/nfe/wsdl/NFeRetAutorizacao4","NFEInutilizacao_4.00":"http://www.portalfiscal.inf.br/nfe/wsdl/NFeInutilizacao4","NFEConsultaProtocolo_4.00":"http://www.portalfiscal.inf.br/nfe/wsdl/NFeConsultaProtocolo4","NFEStatusServico_4.00":"http://www.portalfiscal.inf.br/nfe/wsdl/NFeStatusServico4","RecepcaoEvento_4.00":"http://www.portalfiscal.inf.br/nfe/wsdl/NFeRecepcaoEvento4","CadConsultaCadastro_4.00":"http://www.portalfiscal.inf.br/nfe/wsdl/CadConsultaCadastro4","NFeDistribuicaoDFe_1.00":"http://www.portalfiscal.inf.br/nfe/wsdl/NFeDistribuicaoDFe"},SOAP_V4:{"NFEAutorizacao_4.00":"http://www.portalfiscal.inf.br/nfe/wsdl/NFeAutorizacao4/nfeAutorizacaoLote","NFERetornoAutorizacao_4.00":"http://www.portalfiscal.inf.br/nfe/wsdl/NFeRetAutorizacao4/nfeRetAutorizacaoLote","NFEInutilizacao_4.00":"http://www.portalfiscal.inf.br/nfe/wsdl/NFeInutilizacao4/nfeInutilizacaoNF","NFEConsultaProtocolo_4.00":"http://www.portalfiscal.inf.br/nfe/wsdl/NFeConsultaProtocolo4/nfeConsultaNF","NFEStatusServico_4.00":"http://www.portalfiscal.inf.br/nfe/wsdl/NFeStatusServico4/nfeStatusServicoNF","RecepcaoEvento_4.00":"http://www.portalfiscal.inf.br/nfe/wsdl/NFeRecepcaoEvento4/nfeRecepcaoEvento","CadConsultaCadastro_4.00":"http://www.portalfiscal.inf.br/nfe/wsdl/CadConsultaCadastro4/consultaCadastro","NFeDistribuicaoDFe_1.00":"http://www.portalfiscal.inf.br/nfe/wsdl/NFeDistribuicaoDFe/nfeDistDFeInteresse"},WSDL_V4_SP:{"NFEAutorizacao_4.00":"http://www.portalfiscal.inf.br/nfe/wsdl/NFeAutorizacao4","NFERetornoAutorizacao_4.00":"http://www.portalfiscal.inf.br/nfe/wsdl/NFeRetAutorizacao4","NFEInutilizacao_4.00":"http://www.portalfiscal.inf.br/nfe/wsdl/NFeInutilizacao4","NFEConsultaProtocolo_4.00":"http://www.portalfiscal.inf.br/nfe/wsdl/NFeConsultaProtocolo4","NFEStatusServico_4.00":"http://www.portalfiscal.inf.br/nfe/wsdl/NFeStatusServico4","RecepcaoEvento_4.00":"http://www.portalfiscal.inf.br/nfe/wsdl/NFeRecepcaoEvento4","CadConsultaCadastro_4.00":"http://www.portalfiscal.inf.br/nfe/wsdl/CadConsultaCadastro4","NFeDistribuicaoDFe_1.00":"http://www.portalfiscal.inf.br/nfe/wsdl/NFeDistribuicaoDFe"},SOAP_V4_SP:{"NFEAutorizacao_4.00":"http://www.portalfiscal.inf.br/nfe/wsdl/NFeAutorizacao4/nfeAutorizacaoLote","NFERetornoAutorizacao_4.00":"http://www.portalfiscal.inf.br/nfe/wsdl/NFeRetAutorizacao4/nfeRetAutorizacaoLote","NFEInutilizacao_4.00":"http://www.portalfiscal.inf.br/nfe/wsdl/NFeInutilizacao4/nfeInutilizacaoNF","NFEConsultaProtocolo_4.00":"http://www.portalfiscal.inf.br/nfe/wsdl/NFeConsultaProtocolo4/nfeConsultaNF","NFEStatusServico_4.00":"http://www.portalfiscal.inf.br/nfe/wsdl/NFeStatusServico4/nfeStatusServicoNF","RecepcaoEvento_4.00":"http://www.portalfiscal.inf.br/nfe/wsdl/NFeRecepcaoEvento4/nfeRecepcaoEventoNF","CadConsultaCadastro_4.00":"http://www.portalfiscal.inf.br/nfe/wsdl/CadConsultaCadastro4/consultaCadastro","NFeDistribuicaoDFe_1.00":"http://www.portalfiscal.inf.br/nfe/wsdl/NFeDistribuicaoDFe/nfeDistDFeInteresse"},SOAP_V4_BA:{"NFEAutorizacao_4.00":"http://www.portalfiscal.inf.br/nfe/wsdl/NFeAutorizacao4/nfeAutorizacaoLote","NFERetornoAutorizacao_4.00":"http://www.portalfiscal.inf.br/nfe/wsdl/NFeRetAutorizacao4/nfeRetAutorizacaoLote","NFEInutilizacao_4.00":"http://www.portalfiscal.inf.br/nfe/wsdl/NFeInutilizacao4/nfeInutilizacaoNF","NFEConsultaProtocolo_4.00":"http://www.portalfiscal.inf.br/nfe/wsdl/NFeConsulta4/nfeConsultaNF","NFEStatusServico_4.00":"http://www.portalfiscal.inf.br/nfe/wsdl/NFeStatusServico4/nfeStatusServicoNF","RecepcaoEvento_4.00":"http://www.portalfiscal.inf.br/nfe/wsdl/NFeRecepcaoEvento4/nfeRecepcaoEventoNF","CadConsultaCadastro_4.00":"http://www.portalfiscal.inf.br/nfe/wsdl/CadConsultaCadastro4/consultaCadastro","NFeDistribuicaoDFe_1.00":"http://www.portalfiscal.inf.br/nfe/wsdl/NFeDistribuicaoDFe/nfeDistDFeInteresse"}},soapMethod={NFEStatusServico:{method:"http://www.portalfiscal.inf.br/nfe/wsdl/NFeStatusServico4",action:""},NFeDistribuicaoDFe:{method:"http://www.portalfiscal.inf.br/nfe/wsdl/NFeDistribuicaoDFe",action:"http://www.portalfiscal.inf.br/nfe/wsdl/NFeDistribuicaoDFe/nfeDistDFeInteresse"},NFEAutorizacao:{method:"http://www.portalfiscal.inf.br/nfe/wsdl/NFeAutorizacao4",action:"http://www.portalfiscal.inf.br/nfe/wsdl/NFeAutorizacao4/nfeAutorizacaoLote"},NFERetornoAutorizacao:{method:"http://www.portalfiscal.inf.br/nfe/wsdl/NFeRetAutorizacao4",action:"http://www.portalfiscal.inf.br/nfe/wsdl/NFeRetAutorizacao4/nfeRetAutorizacaoLote"},consultarStatusServico:{method:"http://www.portalfiscal.inf.br/nfe/wsdl/NFeStatusServico4",action:"http://www.portalfiscal.inf.br/nfe/wsdl/NFeStatusServico4/nfeStatusServicoNF"},NFEInutilizacao:{method:"http://www.portalfiscal.inf.br/nfe/wsdl/NFeInutilizacao4",action:"http://www.portalfiscal.inf.br/nfe/wsdl/NFeInutilizacao4/nfeInutilizacaoNF"},NFEConsultaProtocolo:{method:"http://www.portalfiscal.inf.br/nfe/wsdl/NFeConsultaProtocolo4",action:"http://www.portalfiscal.inf.br/nfe/wsdl/NFeConsultaProtocolo4/nfeConsultaNF"},consultarCadastro:{method:"http://www.portalfiscal.inf.br/nfe/wsdl/CadConsultaCadastro4/",action:"http://www.portalfiscal.inf.br/nfe/wsdl/CadConsultaCadastro4/consultaCadastro"},RecepcaoEvento:{method:"http://www.portalfiscal.inf.br/nfe/wsdl/NFeRecepcaoEvento4",action:"http://www.portalfiscal.inf.br/nfe/wsdl/NFeRecepcaoEvento4/nfeRecepcaoEventoNF"}};const baseDir$3=path__default.default.dirname(require$$0$3.fileURLToPath("undefined"==typeof document?new(require("url").URL)("file:"+__filename).href:document.currentScript&&"SCRIPT"===document.currentScript.tagName.toUpperCase()&&document.currentScript.src||new URL("index.js",document.baseURI).href)),getSchema=metodo=>{const pathSchemas=path__default.default.resolve(baseDir$3,"schemas"),schema={NFEStatusServico:`${pathSchemas}/consStatServ_v4.00.xsd`,NFEConsultaProtocolo:`${pathSchemas}/consSitNFe_v4.00.xsd`,RecepcaoEvento:`${pathSchemas}/envEvento_v1.00.xsd`,NFeDistribuicaoDFe:`${pathSchemas}/distDFeInt_v1.01.xsd`,NFEAutorizacao:`${pathSchemas}/enviNFe_v4.00.xsd`,NFEInutilizacao:`${pathSchemas}/inutNFe_v4.00.xsd`,NFERetornoAutorizacao:`${pathSchemas}/consReciNFe_v4.00.xsd`};try{return{basePath:pathSchemas,schemaPath:schema[metodo]}}catch(error){throw new Error(error.message)}};var cjs,hasRequiredCjs;var forge$1,hasRequiredForge,xsdAssembler=getDefaultExportFromCjs(function requireCjs(){if(hasRequiredCjs)return cjs;hasRequiredCjs=1;var e=path__default.default,t=fs__default.default;class s{constructor(e,t,s){this.loader=e,this.resolver=t,this.merger=s}async assemble(t){const s=await this.resolver.resolveIncludes(t,!0,e.dirname(t));return this.merger.mergeProperties(s)}}class r{constructor(){this.schemaAttributes={}}extractSchemaAttributes(e){const t=e.match(/<xs:schema([^>]*)>/i);if(t){const e=t[1].trim().split(/\s+/);for(const t of e){const[e,s]=t.split("=");e&&s&&!this.schemaAttributes[e]&&(this.schemaAttributes[e]=s)}}}mergeSchemaAttributes(e){const t=e.match(/<xs:schema([^>]*)>/i);if(t){const e=t[1].trim().split(/\s+/);for(const t of e){const[e,s]=t.split("=");e&&s&&!this.schemaAttributes[e]&&(this.schemaAttributes[e]=s)}}}getSchemaAttributes(){return this.schemaAttributes}async load(e,s){return new Promise(((r,i)=>{t.readFile(e,"utf8",((e,t)=>{if(e)return i(e);s?this.extractSchemaAttributes(t):this.mergeSchemaAttributes(t),s||(t=t.replace(/<\?xml.*?\?>\s*/i,"")),s||(t=t.replace(/<xs:schema[^>]*>/i,"").replace(/<\/xs:schema>/i,"")),r(t)}))}))}}class i{constructor(e){this.loader=e}applySchemaAttributes(e){const t=this.loader.getSchemaAttributes(),s=e.match(/<xs:schema[^>]*>/i);if(s){const r=`<xs:schema ${Object.entries(t).map((([e,t])=>`${e}=${t}`)).join(" ")}>`;return e.replace(s[0],r)}return e}async resolveIncludes(t,s=!0,r="."){let i=await this.loader.load(t,s);const c=/<xs:include\s+schemaLocation="([^"]+)"\s*\/?>/g;let a;for(;null!==(a=c.exec(i));){const t=e.resolve(r,a[1]),s=await this.resolveIncludes(t,!1,r);i=i.replace(a[0],s)}return s?this.applySchemaAttributes(i):i}}class c{constructor(e){this.strategy=e}mergeProperties(e){return e}}class a{merge(e,t){return`${t}`}}const o=new class{constructor(){this.loader=new r,this.resolver=new i(this.loader),this.setMergeStrategy(new a)}setMergeStrategy(e){return this.merger=new c(e),this}assemble(e){if(!this.merger)throw new Error("Merge strategy must be set before building XSDAssembler.");return new s(this.loader,this.resolver,this.merger).assemble(e)}};return cjs=o}());class Utility{constructor(environment){this.findInObj=(obj,chave)=>{if(obj.hasOwnProperty(chave))return obj[chave];for(let prop in obj)if("object"==typeof obj[prop]){const result=this.findInObj(obj[prop],chave);if(result)return result}return""},this.environment=environment,this.json=new Json}createDir(path){fs__default.default.existsSync(path)||fs__default.default.mkdirSync(path,{recursive:!0})}createFile(path,fileName,file,extension){"json"===extension.toLowerCase()?fs__default.default.writeFileSync(`${path}/${fileName}.${extension}`,JSON.stringify(file)):fs__default.default.writeFileSync(`${path}/${fileName}.${extension}`,file)}salvaJSON(props){const{fileName:fileName,metodo:metodo,path:path,data:data}=props;try{let pathJson=path;pathJson&&""!==pathJson.trim()||(pathJson=`../tmp/${metodo}/`),this.createDir(pathJson),this.createFile(pathJson,fileName,data,"json")}catch(error){throw new Error(error.message)}}salvaXMLFromJson(config,xmlInJson,fileName="",metodo=""){try{let pathXml=config.dfe.pathXMLRetorno;pathXml&&""!==pathXml.trim()||(pathXml=`../tmp/${metodo}/`);const{xml:xml}=xmlInJson,chNFe=this.findInObj(xmlInJson,"chNFe");this.createDir(pathXml),this.createFile(pathXml,fileName||chNFe,xml,"xml")}catch(error){throw new Error(error.message)}}salvaXML(props){const{fileName:fileName,metodo:metodo,path:path,data:data}=props;try{let pathXml=path;pathXml&&""!==pathXml.trim()||(pathXml=`../tmp/${metodo}/`),this.createDir(pathXml),this.createFile(pathXml,fileName,data,"xml")}catch(error){throw new Error(error.message)}}getSoapInfo1(uf,metodo){const methodInfo=soapMethod[metodo];if(!methodInfo)throw new Error("Método não encontrado no arquivo de configuração SOAP.");return{method:methodInfo.method,action:methodInfo.action}}getSoapInfo(uf,method){const servicos=NFeServicosUrl;let chaveMethod="",chaveSoap="";switch(uf){case"SP":chaveSoap="SOAP_V4_SP";break;case"BA":chaveSoap="SOAP_V4_BA";break;default:chaveSoap="SOAP_V4"}if("SP"===uf)chaveMethod="WSDL_V4_SP";else chaveMethod="WSDL_V4";const methodServices=servicos[chaveMethod],methodUrl=this.getLatestURLConsulta(methodServices,method),soapServices=servicos[chaveSoap],soapUrl=this.getLatestURLConsulta(soapServices,method);if(!methodUrl||!soapUrl)throw new Error("Método não encontrado no arquivo de configuração SOAP.");return{method:methodUrl,action:soapUrl}}getLatestURLConsulta(data,metodo){const keys=Object.keys(data),prefix=`${metodo}_`,versions=keys.map((key=>{const match=key.match(new RegExp(`^${prefix}(\\d+\\.\\d+)$`));return match?parseFloat(match[1]):null})).filter((version=>null!==version)).sort(((a,b)=>b-a));for(let version of versions){const key=`${prefix}${version.toFixed(2)}`;if(data[key])return data[key]}return data[metodo]||null}setAmbiente(metodo,ambienteNacional=!1,versao,mod){const config=this.environment.getConfig(),ambiente=2===config.nfe.ambiente?"H":"P",versaoDF=""!==versao?versao:config.nfe.versaoDF;if(ambienteNacional){return{chaveMae:`${mod}_AN_${ambiente}`,chaveFilha:`${metodo}_${versaoDF}`}}return{chaveMae:`${mod}_${config.dfe.UF}_${ambiente}`,chaveFilha:`${metodo}_${versaoDF}`}}getWebServiceUrl(metodo,ambienteNacional=!1,versao="",mod="NFe"){let{chaveMae:chaveMae,chaveFilha:chaveFilha}=this.setAmbiente(metodo,ambienteNacional,versao,mod);const urls=NFeServicosUrl;"Usar"in urls[chaveMae]&&(chaveMae=urls[chaveMae].Usar);const url=urls[chaveMae]&&urls[chaveMae][chaveFilha];if(!url)throw new Error(`Não foi possível recuperar a url para o webservice: ${chaveFilha}`);return url}getUrlNFCe(metodo,ambienteNacional=!1,versao=""){let{chaveMae:chaveMae}=this.setAmbiente(metodo,ambienteNacional,versao,"NFCe");const urls=NFeServicosUrl;"Usar"in urls[chaveMae]&&(chaveMae=urls[chaveMae].Usar);const chaveFilha=this.getLatestURLConsulta(urls[chaveMae],metodo),url=urls[chaveMae]&&this.getLatestURLConsulta(urls[chaveMae],metodo);if(!url)throw new Error(`Não foi possível recuperar a url para consulta de NFCe: ${chaveFilha}`);return url}formatErrorMessage(message){const match=message.match(/\[error\]\s(.+?)\:\s(.+?)\s\((\d+):(\d+)\)/);if(match){const[_,errorCode,errorDescription,line,column]=match;return`Erro na Validação do XML: ${errorCode} na linha ${line}, coluna ${column}. Descrição: ${errorDescription}`}return`Erro Não Identificado na Validação do XML: ${message}`}validateSchemaJsBased(xml,metodo){return new Promise((async(resolve,reject)=>{try{const{basePath:basePath,schemaPath:schemaPath}=getSchema(metodo),completeXSD=await xsdAssembler.assemble(schemaPath),xmlDoc=libxmljs__default.default.parseXml(xml),xsdDoc=libxmljs__default.default.parseXml(completeXSD,{baseUrl:`${basePath}/`});xmlDoc.validate(xsdDoc)?resolve({success:!0,message:"XML válido."}):reject({success:!1,message:this.formatErrorMessage(xmlDoc.validationErrors[0].message)})}catch(error){reject({success:!1,message:this.formatErrorMessage(error.message)})}}))}validateSchemaJavaBased(xml,metodo){return new Promise((async(resolve,reject)=>{try{const{schemaPath:schemaPath}=getSchema(metodo);xsdValidator__default.default.validateXML(xml,schemaPath,((err,validationResult)=>{err?reject({success:!1,message:this.formatErrorMessage(err.message)}):validationResult.valid?resolve({success:!0,message:"XML válido."}):reject({success:!1,message:this.formatErrorMessage(validationResult.messages[0])})}))}catch(error){reject({success:!1,message:this.formatErrorMessage(error.message)})}}))}verificaRejeicao(data,metodo,name){const responseInJson=this.json.convertXmlToJson(data,metodo),xMotivo=this.findInObj(responseInJson,"xMotivo"),infProt=this.findInObj(responseInJson,"infProt");if(this.salvaRetorno(data,responseInJson,metodo,name),xMotivo&&(xMotivo.includes("Rejeição")||xMotivo.includes("Rejeicao")))throw new Error(xMotivo);if(infProt&&(infProt?.xMotivo.includes("Rejeição")||infProt?.xMotivo.includes("Rejeicao")))throw new Error(infProt?.xMotivo);return responseInJson}getProtNFe(xmlRetorno){let protNFe,nRec="";return xml2js.parseString(xmlRetorno,((err,result)=>{if(err)console.error("Erro ao parsear o XML para captura do nRec e protNFe:",err);else{const nRecTag=this.findInObj(result,"nRec");nRec=nRecTag[0];const protNFeTag=this.findInObj(result,"protNFe");protNFe=protNFeTag}})),{protNFe:protNFe,nRec:nRec}}getRequestLogFileName(metodo,tipo){switch(metodo){case"NFEStatusServico":return`NFeStatusServico-${tipo}`;case"NFEConsultaProtocolo":return`NFeConsultaProtocolo-${tipo}`;case"NFeDistribuicaoDFe":return`NFeDistribuicaoDFe-${tipo}`;case"RecepcaoEvento":return`RecepcaoEvento-${tipo}`;case"NFECancelamento":return`NFECancelamento-${tipo}`;case"NFEInutilizacao":return`NFEInutilizacao-${tipo}`;case"NFEAutorizacao":return`NFEAutorizacao-${tipo}`;case"NFCEAutorizacao":return`NFCEAutorizacao-${tipo}`;case"NFERetornoAutorizacao":return`NFERetornoAutorizacao-${tipo}`;default:throw new Error("Erro: Requisição de nome para método não implementado.")}}salvaConsulta(xmlConsulta,xmlFormated,metodo,name){try{const fileName=name||this.getRequestLogFileName(metodo,"consulta"),{armazenarXMLConsulta:armazenarXMLConsulta,pathXMLConsulta:pathXMLConsulta,armazenarXMLConsultaComTagSoap:armazenarXMLConsultaComTagSoap}=this.environment.config.dfe,xmlConsultaASalvar=armazenarXMLConsultaComTagSoap?xmlFormated:xmlConsulta;armazenarXMLConsulta&&this.salvaXML({data:xmlConsultaASalvar,fileName:fileName,metodo:metodo,path:pathXMLConsulta})}catch(error){throw new Error(error.message)}}salvaRetorno(xmlRetorno,responseInJson,metodo,name){try{const fileName=name||this.getRequestLogFileName(metodo,"retorno"),{armazenarXMLRetorno:armazenarXMLRetorno,pathXMLRetorno:pathXMLRetorno,armazenarRetornoEmJSON:armazenarRetornoEmJSON}=this.environment.config.dfe;armazenarXMLRetorno&&(this.salvaXML({data:xmlRetorno,fileName:fileName,metodo:metodo,path:pathXMLRetorno}),armazenarRetornoEmJSON&&this.salvaJSON({data:responseInJson,fileName:fileName,metodo:metodo,path:pathXMLRetorno}))}catch(error){throw new Error(error.message)}}}function requireForge(){return hasRequiredForge?forge$1:(hasRequiredForge=1,forge$1={options:{usePureJavaScript:!1}})}var baseN,hasRequiredBaseN,hasRequiredUtil,cipher,hasRequiredCipher,util={exports:{}};function requireBaseN(){if(hasRequiredBaseN)return baseN;hasRequiredBaseN=1;var api={};baseN=api;var _reverseAlphabets={};return api.encode=function(input,alphabet,maxline){if("string"!=typeof alphabet)throw new TypeError('"alphabet" must be a string.');if(void 0!==maxline&&"number"!=typeof maxline)throw new TypeError('"maxline" must be a number.');var output="";if(input instanceof Uint8Array){var i=0,base=alphabet.length,first=alphabet.charAt(0),digits=[0];for(i=0;i<input.length;++i){for(var j=0,carry=input[i];j<digits.length;++j)carry+=digits[j]<<8,digits[j]=carry%base,carry=carry/base|0;for(;carry>0;)digits.push(carry%base),carry=carry/base|0}for(i=0;0===input[i]&&i<input.length-1;++i)output+=first;for(i=digits.length-1;i>=0;--i)output+=alphabet[digits[i]]}else output=function _encodeWithByteBuffer(input,alphabet){var i=0,base=alphabet.length,first=alphabet.charAt(0),digits=[0];for(i=0;i<input.length();++i){for(var j=0,carry=input.at(i);j<digits.length;++j)carry+=digits[j]<<8,digits[j]=carry%base,carry=carry/base|0;for(;carry>0;)digits.push(carry%base),carry=carry/base|0}var output="";for(i=0;0===input.at(i)&&i<input.length()-1;++i)output+=first;for(i=digits.length-1;i>=0;--i)output+=alphabet[digits[i]];return output}(input,alphabet);if(maxline){var regex=new RegExp(".{1,"+maxline+"}","g");output=output.match(regex).join("\r\n")}return output},api.decode=function(input,alphabet){if("string"!=typeof input)throw new TypeError('"input" must be a string.');if("string"!=typeof alphabet)throw new TypeError('"alphabet" must be a string.');var table=_reverseAlphabets[alphabet];if(!table){table=_reverseAlphabets[alphabet]=[];for(var i=0;i<alphabet.length;++i)table[alphabet.charCodeAt(i)]=i}input=input.replace(/\s/g,"");var base=alphabet.length,first=alphabet.charAt(0),bytes=[0];for(i=0;i<input.length;i++){var value=table[input.charCodeAt(i)];if(void 0===value)return;for(var j=0,carry=value;j<bytes.length;++j)carry+=bytes[j]*base,bytes[j]=255&carry,carry>>=8;for(;carry>0;)bytes.push(255&carry),carry>>=8}for(var k=0;input[k]===first&&k<input.length-1;++k)bytes.push(0);return"undefined"!=typeof Buffer?Buffer.from(bytes.reverse()):new Uint8Array(bytes.reverse())},baseN}function requireUtil(){if(hasRequiredUtil)return util.exports;hasRequiredUtil=1;var forge=requireForge(),baseN=requireBaseN(),util$1=util.exports=forge.util=forge.util||{};function _checkBitsParam(n){if(8!==n&&16!==n&&24!==n&&32!==n)throw new Error("Only 8, 16, 24, or 32 bits supported: "+n)}function ByteStringBuffer(b){if(this.data="",this.read=0,"string"==typeof b)this.data=b;else if(util$1.isArrayBuffer(b)||util$1.isArrayBufferView(b))if("undefined"!=typeof Buffer&&b instanceof Buffer)this.data=b.toString("binary");else{var arr=new Uint8Array(b);try{this.data=String.fromCharCode.apply(null,arr)}catch(e){for(var i=0;i<arr.length;++i)this.putByte(arr[i])}}else(b instanceof ByteStringBuffer||"object"==typeof b&&"string"==typeof b.data&&"number"==typeof b.read)&&(this.data=b.data,this.read=b.read);this._constructedStringLength=0}!function(){if("undefined"!=typeof process&&process.nextTick&&!process.browser)return util$1.nextTick=process.nextTick,void("function"==typeof setImmediate?util$1.setImmediate=setImmediate:util$1.setImmediate=util$1.nextTick);if("function"==typeof setImmediate)return util$1.setImmediate=function(){return setImmediate.apply(void 0,arguments)},void(util$1.nextTick=function(callback){return setImmediate(callback)});if(util$1.setImmediate=function(callback){setTimeout(callback,0)},"undefined"!=typeof window&&"function"==typeof window.postMessage){var msg="forge.setImmediate",callbacks=[];function handler(event){if(event.source===window&&event.data===msg){event.stopPropagation();var copy=callbacks.slice();callbacks.length=0,copy.forEach((function(callback){callback()}))}}util$1.setImmediate=function(callback){callbacks.push(callback),1===callbacks.length&&window.postMessage(msg,"*")},window.addEventListener("message",handler,!0)}if("undefined"!=typeof MutationObserver){var now=Date.now(),attr=!0,div=document.createElement("div");callbacks=[];new MutationObserver((function(){var copy=callbacks.slice();callbacks.length=0,copy.forEach((function(callback){callback()}))})).observe(div,{attributes:!0});var oldSetImmediate=util$1.setImmediate;util$1.setImmediate=function(callback){Date.now()-now>15?(now=Date.now(),oldSetImmediate(callback)):(callbacks.push(callback),1===callbacks.length&&div.setAttribute("a",attr=!attr))}}util$1.nextTick=util$1.setImmediate}(),util$1.isNodejs="undefined"!=typeof process&&process.versions&&process.versions.node,util$1.globalScope=util$1.isNodejs?commonjsGlobal:"undefined"==typeof self?window:self,util$1.isArray=Array.isArray||function(x){return"[object Array]"===Object.prototype.toString.call(x)},util$1.isArrayBuffer=function(x){return"undefined"!=typeof ArrayBuffer&&x instanceof ArrayBuffer},util$1.isArrayBufferView=function(x){return x&&util$1.isArrayBuffer(x.buffer)&&void 0!==x.byteLength},util$1.ByteBuffer=ByteStringBuffer,util$1.ByteStringBuffer=ByteStringBuffer;util$1.ByteStringBuffer.prototype._optimizeConstructedString=function(x){this._constructedStringLength+=x,this._constructedStringLength>4096&&(this.data.substr(0,1),this._constructedStringLength=0)},util$1.ByteStringBuffer.prototype.length=function(){return this.data.length-this.read},util$1.ByteStringBuffer.prototype.isEmpty=function(){return this.length()<=0},util$1.ByteStringBuffer.prototype.putByte=function(b){return this.putBytes(String.fromCharCode(b))},util$1.ByteStringBuffer.prototype.fillWithByte=function(b,n){b=String.fromCharCode(b);for(var d=this.data;n>0;)1&n&&(d+=b),(n>>>=1)>0&&(b+=b);return this.data=d,this._optimizeConstructedString(n),this},util$1.ByteStringBuffer.prototype.putBytes=function(bytes){return this.data+=bytes,this._optimizeConstructedString(bytes.length),this},util$1.ByteStringBuffer.prototype.putString=function(str){return this.putBytes(util$1.encodeUtf8(str))},util$1.ByteStringBuffer.prototype.putInt16=function(i){return this.putBytes(String.fromCharCode(i>>8&255)+String.fromCharCode(255&i))},util$1.ByteStringBuffer.prototype.putInt24=function(i){return this.putBytes(String.fromCharCode(i>>16&255)+String.fromCharCode(i>>8&255)+String.fromCharCode(255&i))},util$1.ByteStringBuffer.prototype.putInt32=function(i){return this.putBytes(String.fromCharCode(i>>24&255)+String.fromCharCode(i>>16&255)+String.fromCharCode(i>>8&255)+String.fromCharCode(255&i))},util$1.ByteStringBuffer.prototype.putInt16Le=function(i){return this.putBytes(String.fromCharCode(255&i)+String.fromCharCode(i>>8&255))},util$1.ByteStringBuffer.prototype.putInt24Le=function(i){return this.putBytes(String.fromCharCode(255&i)+String.fromCharCode(i>>8&255)+String.fromCharCode(i>>16&255))},util$1.ByteStringBuffer.prototype.putInt32Le=function(i){return this.putBytes(String.fromCharCode(255&i)+String.fromCharCode(i>>8&255)+String.fromCharCode(i>>16&255)+String.fromCharCode(i>>24&255))},util$1.ByteStringBuffer.prototype.putInt=function(i,n){_checkBitsParam(n);var bytes="";do{n-=8,bytes+=String.fromCharCode(i>>n&255)}while(n>0);return this.putBytes(bytes)},util$1.ByteStringBuffer.prototype.putSignedInt=function(i,n){return i<0&&(i+=2<<n-1),this.putInt(i,n)},util$1.ByteStringBuffer.prototype.putBuffer=function(buffer){return this.putBytes(buffer.getBytes())},util$1.ByteStringBuffer.prototype.getByte=function(){return this.data.charCodeAt(this.read++)},util$1.ByteStringBuffer.prototype.getInt16=function(){var rval=this.data.charCodeAt(this.read)<<8^this.data.charCodeAt(this.read+1);return this.read+=2,rval},util$1.ByteStringBuffer.prototype.getInt24=function(){var rval=this.data.charCodeAt(this.read)<<16^this.data.charCodeAt(this.read+1)<<8^this.data.charCodeAt(this.read+2);return this.read+=3,rval},util$1.ByteStringBuffer.prototype.getInt32=function(){var rval=this.data.charCodeAt(this.read)<<24^this.data.charCodeAt(this.read+1)<<16^this.data.charCodeAt(this.read+2)<<8^this.data.charCodeAt(this.read+3);return this.read+=4,rval},util$1.ByteStringBuffer.prototype.getInt16Le=function(){var rval=this.data.charCodeAt(this.read)^this.data.charCodeAt(this.read+1)<<8;return this.read+=2,rval},util$1.ByteStringBuffer.prototype.getInt24Le=function(){var rval=this.data.charCodeAt(this.read)^this.data.charCodeAt(this.read+1)<<8^this.data.charCodeAt(this.read+2)<<16;return this.read+=3,rval},util$1.ByteStringBuffer.prototype.getInt32Le=function(){var rval=this.data.charCodeAt(this.read)^this.data.charCodeAt(this.read+1)<<8^this.data.charCodeAt(this.read+2)<<16^this.data.charCodeAt(this.read+3)<<24;return this.read+=4,rval},util$1.ByteStringBuffer.prototype.getInt=function(n){_checkBitsParam(n);var rval=0;do{rval=(rval<<8)+this.data.charCodeAt(this.read++),n-=8}while(n>0);return rval},util$1.ByteStringBuffer.prototype.getSignedInt=function(n){var x=this.getInt(n),max=2<<n-2;return x>=max&&(x-=max<<1),x},util$1.ByteStringBuffer.prototype.getBytes=function(count){var rval;return count?(count=Math.min(this.length(),count),rval=this.data.slice(this.read,this.read+count),this.read+=count):0===count?rval="":(rval=0===this.read?this.data:this.data.slice(this.read),this.clear()),rval},util$1.ByteStringBuffer.prototype.bytes=function(count){return void 0===count?this.data.slice(this.read):this.data.slice(this.read,this.read+count)},util$1.ByteStringBuffer.prototype.at=function(i){return this.data.charCodeAt(this.read+i)},util$1.ByteStringBuffer.prototype.setAt=function(i,b){return this.data=this.data.substr(0,this.read+i)+String.fromCharCode(b)+this.data.substr(this.read+i+1),this},util$1.ByteStringBuffer.prototype.last=function(){return this.data.charCodeAt(this.data.length-1)},util$1.ByteStringBuffer.prototype.copy=function(){var c=util$1.createBuffer(this.data);return c.read=this.read,c},util$1.ByteStringBuffer.prototype.compact=function(){return this.read>0&&(this.data=this.data.slice(this.read),this.read=0),this},util$1.ByteStringBuffer.prototype.clear=function(){return this.data="",this.read=0,this},util$1.ByteStringBuffer.prototype.truncate=function(count){var len=Math.max(0,this.length()-count);return this.data=this.data.substr(this.read,len),this.read=0,this},util$1.ByteStringBuffer.prototype.toHex=function(){for(var rval="",i=this.read;i<this.data.length;++i){var b=this.data.charCodeAt(i);b<16&&(rval+="0"),rval+=b.toString(16)}return rval},util$1.ByteStringBuffer.prototype.toString=function(){return util$1.decodeUtf8(this.bytes())},util$1.DataBuffer=function DataBuffer(b,options){options=options||{},this.read=options.readOffset||0,this.growSize=options.growSize||1024;var isArrayBuffer=util$1.isArrayBuffer(b),isArrayBufferView=util$1.isArrayBufferView(b);if(isArrayBuffer||isArrayBufferView)return this.data=isArrayBuffer?new DataView(b):new DataView(b.buffer,b.byteOffset,b.byteLength),void(this.write="writeOffset"in options?options.writeOffset:this.data.byteLength);this.data=new DataView(new ArrayBuffer(0)),this.write=0,null!=b&&this.putBytes(b),"writeOffset"in options&&(this.write=options.writeOffset)},util$1.DataBuffer.prototype.length=function(){return this.write-this.read},util$1.DataBuffer.prototype.isEmpty=function(){return this.length()<=0},util$1.DataBuffer.prototype.accommodate=function(amount,growSize){if(this.length()>=amount)return this;growSize=Math.max(growSize||this.growSize,amount);var src=new Uint8Array(this.data.buffer,this.data.byteOffset,this.data.byteLength),dst=new Uint8Array(this.length()+growSize);return dst.set(src),this.data=new DataView(dst.buffer),this},util$1.DataBuffer.prototype.putByte=function(b){return this.accommodate(1),this.data.setUint8(this.write++,b),this},util$1.DataBuffer.prototype.fillWithByte=function(b,n){this.accommodate(n);for(var i=0;i<n;++i)this.data.setUint8(b);return this},util$1.DataBuffer.prototype.putBytes=function(bytes,encoding){if(util$1.isArrayBufferView(bytes)){var len=(src=new Uint8Array(bytes.buffer,bytes.byteOffset,bytes.byteLength)).byteLength-src.byteOffset;return this.accommodate(len),new Uint8Array(this.data.buffer,this.write).set(src),this.write+=len,this}if(util$1.isArrayBuffer(bytes)){var src=new Uint8Array(bytes);return this.accommodate(src.byteLength),new Uint8Array(this.data.buffer).set(src,this.write),this.write+=src.byteLength,this}if(bytes instanceof util$1.DataBuffer||"object"==typeof bytes&&"number"==typeof bytes.read&&"number"==typeof bytes.write&&util$1.isArrayBufferView(bytes.data)){src=new Uint8Array(bytes.data.byteLength,bytes.read,bytes.length());return this.accommodate(src.byteLength),new Uint8Array(bytes.data.byteLength,this.write).set(src),this.write+=src.byteLength,this}if(bytes instanceof util$1.ByteStringBuffer&&(bytes=bytes.data,encoding="binary"),encoding=encoding||"binary","string"==typeof bytes){var view;if("hex"===encoding)return this.accommodate(Math.ceil(bytes.length/2)),view=new Uint8Array(this.data.buffer,this.write),this.write+=util$1.binary.hex.decode(bytes,view,this.write),this;if("base64"===encoding)return this.accommodate(3*Math.ceil(bytes.length/4)),view=new Uint8Array(this.data.buffer,this.write),this.write+=util$1.binary.base64.decode(bytes,view,this.write),this;if("utf8"===encoding&&(bytes=util$1.encodeUtf8(bytes),encoding="binary"),"binary"===encoding||"raw"===encoding)return this.accommodate(bytes.length),view=new Uint8Array(this.data.buffer,this.write),this.write+=util$1.binary.raw.decode(view),this;if("utf16"===encoding)return this.accommodate(2*bytes.length),view=new Uint16Array(this.data.buffer,this.write),this.write+=util$1.text.utf16.encode(view),this;throw new Error("Invalid encoding: "+encoding)}throw Error("Invalid parameter: "+bytes)},util$1.DataBuffer.prototype.putBuffer=function(buffer){return this.putBytes(buffer),buffer.clear(),this},util$1.DataBuffer.prototype.putString=function(str){return this.putBytes(str,"utf16")},util$1.DataBuffer.prototype.putInt16=function(i){return this.accommodate(2),this.data.setInt16(this.write,i),this.write+=2,this},util$1.DataBuffer.prototype.putInt24=function(i){return this.accommodate(3),this.data.setInt16(this.write,i>>8&65535),this.data.setInt8(this.write,i>>16&255),this.write+=3,this},util$1.DataBuffer.prototype.putInt32=function(i){return this.accommodate(4),this.data.setInt32(this.write,i),this.write+=4,this},util$1.DataBuffer.prototype.putInt16Le=function(i){return this.accommodate(2),this.data.setInt16(this.write,i,!0),this.write+=2,this},util$1.DataBuffer.prototype.putInt24Le=function(i){return this.accommodate(3),this.data.setInt8(this.write,i>>16&255),this.data.setInt16(this.write,i>>8&65535,!0),this.write+=3,this},util$1.DataBuffer.prototype.putInt32Le=function(i){return this.accommodate(4),this.data.setInt32(this.write,i,!0),this.write+=4,this},util$1.DataBuffer.prototype.putInt=function(i,n){_checkBitsParam(n),this.accommodate(n/8);do{n-=8,this.data.setInt8(this.write++,i>>n&255)}while(n>0);return this},util$1.DataBuffer.prototype.putSignedInt=function(i,n){return _checkBitsParam(n),this.accommodate(n/8),i<0&&(i+=2<<n-1),this.putInt(i,n)},util$1.DataBuffer.prototype.getByte=function(){return this.data.getInt8(this.read++)},util$1.DataBuffer.prototype.getInt16=function(){var rval=this.data.getInt16(this.read);return this.read+=2,rval},util$1.DataBuffer.prototype.getInt24=function(){var rval=this.data.getInt16(this.read)<<8^this.data.getInt8(this.read+2);return this.read+=3,rval},util$1.DataBuffer.prototype.getInt32=function(){var rval=this.data.getInt32(this.read);return this.read+=4,rval},util$1.DataBuffer.prototype.getInt16Le=function(){var rval=this.data.getInt16(this.read,!0);return this.read+=2,rval},util$1.DataBuffer.prototype.getInt24Le=function(){var rval=this.data.getInt8(this.read)^this.data.getInt16(this.read+1,!0)<<8;return this.read+=3,rval},util$1.DataBuffer.prototype.getInt32Le=function(){var rval=this.data.getInt32(this.read,!0);return this.read+=4,rval},util$1.DataBuffer.prototype.getInt=function(n){_checkBitsParam(n);var rval=0;do{rval=(rval<<8)+this.data.getInt8(this.read++),n-=8}while(n>0);return rval},util$1.DataBuffer.prototype.getSignedInt=function(n){var x=this.getInt(n),max=2<<n-2;return x>=max&&(x-=max<<1),x},util$1.DataBuffer.prototype.getBytes=function(count){var rval;return count?(count=Math.min(this.length(),count),rval=this.data.slice(this.read,this.read+count),this.read+=count):0===count?rval="":(rval=0===this.read?this.data:this.data.slice(this.read),this.clear()),rval},util$1.DataBuffer.prototype.bytes=function(count){return void 0===count?this.data.slice(this.read):this.data.slice(this.read,this.read+count)},util$1.DataBuffer.prototype.at=function(i){return this.data.getUint8(this.read+i)},util$1.DataBuffer.prototype.setAt=function(i,b){return this.data.setUint8(i,b),this},util$1.DataBuffer.prototype.last=function(){return this.data.getUint8(this.write-1)},util$1.DataBuffer.prototype.copy=function(){return new util$1.DataBuffer(this)},util$1.DataBuffer.prototype.compact=function(){if(this.read>0){var src=new Uint8Array(this.data.buffer,this.read),dst=new Uint8Array(src.byteLength);dst.set(src),this.data=new DataView(dst),this.write-=this.read,this.read=0}return this},util$1.DataBuffer.prototype.clear=function(){return this.data=new DataView(new ArrayBuffer(0)),this.read=this.write=0,this},util$1.DataBuffer.prototype.truncate=function(count){return this.write=Math.max(0,this.length()-count),this.read=Math.min(this.read,this.write),this},util$1.DataBuffer.prototype.toHex=function(){for(var rval="",i=this.read;i<this.data.byteLength;++i){var b=this.data.getUint8(i);b<16&&(rval+="0"),rval+=b.toString(16)}return rval},util$1.DataBuffer.prototype.toString=function(encoding){var view=new Uint8Array(this.data,this.read,this.length());if("binary"===(encoding=encoding||"utf8")||"raw"===encoding)return util$1.binary.raw.encode(view);if("hex"===encoding)return util$1.binary.hex.encode(view);if("base64"===encoding)return util$1.binary.base64.encode(view);if("utf8"===encoding)return util$1.text.utf8.decode(view);if("utf16"===encoding)return util$1.text.utf16.decode(view);throw new Error("Invalid encoding: "+encoding)},util$1.createBuffer=function(input,encoding){return encoding=encoding||"raw",void 0!==input&&"utf8"===encoding&&(input=util$1.encodeUtf8(input)),new util$1.ByteBuffer(input)},util$1.fillString=function(c,n){for(var s="";n>0;)1&n&&(s+=c),(n>>>=1)>0&&(c+=c);return s},util$1.xorBytes=function(s1,s2,n){for(var s3="",b="",t="",i=0,c=0;n>0;--n,++i)b=s1.charCodeAt(i)^s2.charCodeAt(i),c>=10&&(s3+=t,t="",c=0),t+=String.fromCharCode(b),++c;return s3+=t},util$1.hexToBytes=function(hex){var rval="",i=0;for(!0&hex.length&&(i=1,rval+=String.fromCharCode(parseInt(hex[0],16)));i<hex.length;i+=2)rval+=String.fromCharCode(parseInt(hex.substr(i,2),16));return rval},util$1.bytesToHex=function(bytes){return util$1.createBuffer(bytes).toHex()},util$1.int32ToBytes=function(i){return String.fromCharCode(i>>24&255)+String.fromCharCode(i>>16&255)+String.fromCharCode(i>>8&255)+String.fromCharCode(255&i)};var _base64="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",_base64Idx=[62,-1,-1,-1,63,52,53,54,55,56,57,58,59,60,61,-1,-1,-1,64,-1,-1,-1,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,-1,-1,-1,-1,-1,-1,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51],_base58="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";util$1.encode64=function(input,maxline){for(var chr1,chr2,chr3,line="",output="",i=0;i<input.length;)chr1=input.charCodeAt(i++),chr2=input.charCodeAt(i++),chr3=input.charCodeAt(i++),line+=_base64.charAt(chr1>>2),line+=_base64.charAt((3&chr1)<<4|chr2>>4),isNaN(chr2)?line+="==":(line+=_base64.charAt((15&chr2)<<2|chr3>>6),line+=isNaN(chr3)?"=":_base64.charAt(63&chr3)),maxline&&line.length>maxline&&(output+=line.substr(0,maxline)+"\r\n",line=line.substr(maxline));return output+=line},util$1.decode64=function(input){input=input.replace(/[^A-Za-z0-9\+\/\=]/g,"");for(var enc1,enc2,enc3,enc4,output="",i=0;i<input.length;)enc1=_base64Idx[input.charCodeAt(i++)-43],enc2=_base64Idx[input.charCodeAt(i++)-43],enc3=_base64Idx[input.charCodeAt(i++)-43],enc4=_base64Idx[input.charCodeAt(i++)-43],output+=String.fromCharCode(enc1<<2|enc2>>4),64!==enc3&&(output+=String.fromCharCode((15&enc2)<<4|enc3>>2),64!==enc4&&(output+=String.fromCharCode((3&enc3)<<6|enc4)));return output},util$1.encodeUtf8=function(str){return unescape(encodeURIComponent(str))},util$1.decodeUtf8=function(str){return decodeURIComponent(escape(str))},util$1.binary={raw:{},hex:{},base64:{},base58:{},baseN:{encode:baseN.encode,decode:baseN.decode}},util$1.binary.raw.encode=function(bytes){return String.fromCharCode.apply(null,bytes)},util$1.binary.raw.decode=function(str,output,offset){var out=output;out||(out=new Uint8Array(str.length));for(var j=offset=offset||0,i=0;i<str.length;++i)out[j++]=str.charCodeAt(i);return output?j-offset:out},util$1.binary.hex.encode=util$1.bytesToHex,util$1.binary.hex.decode=function(hex,output,offset){var out=output;out||(out=new Uint8Array(Math.ceil(hex.length/2)));var i=0,j=offset=offset||0;for(1&hex.length&&(i=1,out[j++]=parseInt(hex[0],16));i<hex.length;i+=2)out[j++]=parseInt(hex.substr(i,2),16);return output?j-offset:out},util$1.binary.base64.encode=function(input,maxline){for(var chr1,chr2,chr3,line="",output="",i=0;i<input.byteLength;)chr1=input[i++],chr2=input[i++],chr3=input[i++],line+=_base64.charAt(chr1>>2),line+=_base64.charAt((3&chr1)<<4|chr2>>4),isNaN(chr2)?line+="==":(line+=_base64.charAt((15&chr2)<<2|chr3>>6),line+=isNaN(chr3)?"=":_base64.charAt(63&chr3)),maxline&&line.length>maxline&&(output+=line.substr(0,maxline)+"\r\n",line=line.substr(maxline));return output+=line},util$1.binary.base64.decode=function(input,output,offset){var enc1,enc2,enc3,enc4,out=output;out||(out=new Uint8Array(3*Math.ceil(input.length/4))),input=input.replace(/[^A-Za-z0-9\+\/\=]/g,"");for(var i=0,j=offset=offset||0;i<input.length;)enc1=_base64Idx[input.charCodeAt(i++)-43],enc2=_base64Idx[input.charCodeAt(i++)-43],enc3=_base64Idx[input.charCodeAt(i++)-43],enc4=_base64Idx[input.charCodeAt(i++)-43],out[j++]=enc1<<2|enc2>>4,64!==enc3&&(out[j++]=(15&enc2)<<4|enc3>>2,64!==enc4&&(out[j++]=(3&enc3)<<6|enc4));return output?j-offset:out.subarray(0,j)},util$1.binary.base58.encode=function(input,maxline){return util$1.binary.baseN.encode(input,_base58,maxline)},util$1.binary.base58.decode=function(input,maxline){return util$1.binary.baseN.decode(input,_base58,maxline)},util$1.text={utf8:{},utf16:{}},util$1.text.utf8.encode=function(str,output,offset){str=util$1.encodeUtf8(str);var out=output;out||(out=new Uint8Array(str.length));for(var j=offset=offset||0,i=0;i<str.length;++i)out[j++]=str.charCodeAt(i);return output?j-offset:out},util$1.text.utf8.decode=function(bytes){return util$1.decodeUtf8(String.fromCharCode.apply(null,bytes))},util$1.text.utf16.encode=function(str,output,offset){var out=output;out||(out=new Uint8Array(2*str.length));for(var view=new Uint16Array(out.buffer),j=offset=offset||0,k=offset,i=0;i<str.length;++i)view[k++]=str.charCodeAt(i),j+=2;return output?j-offset:out},util$1.text.utf16.decode=function(bytes){return String.fromCharCode.apply(null,new Uint16Array(bytes.buffer))},util$1.deflate=function(api,bytes,raw){if(bytes=util$1.decode64(api.deflate(util$1.encode64(bytes)).rval),raw){var start=2;32&bytes.charCodeAt(1)&&(start=6),bytes=bytes.substring(start,bytes.length-4)}return bytes},util$1.inflate=function(api,bytes,raw){var rval=api.inflate(util$1.encode64(bytes)).rval;return null===rval?null:util$1.decode64(rval)};var _setStorageObject=function(api,id,obj){if(!api)throw new Error("WebStorage not available.");var rval;if(null===obj?rval=api.removeItem(id):(obj=util$1.encode64(JSON.stringify(obj)),rval=api.setItem(id,obj)),void 0!==rval&&!0!==rval.rval){var error=new Error(rval.error.message);throw error.id=rval.error.id,error.name=rval.error.name,error}},_getStorageObject=function(api,id){if(!api)throw new Error("WebStorage not available.");var rval=api.getItem(id);if(api.init)if(null===rval.rval){if(rval.error){var error=new Error(rval.error.message);throw error.id=rval.error.id,error.name=rval.error.name,error}rval=null}else rval=rval.rval;return null!==rval&&(rval=JSON.parse(util$1.decode64(rval))),rval},_setItem=function(api,id,key,data){var obj=_getStorageObject(api,id);null===obj&&(obj={}),obj[key]=data,_setStorageObject(api,id,obj)},_getItem=function(api,id,key){var rval=_getStorageObject(api,id);return null!==rval&&(rval=key in rval?rval[key]:null),rval},_removeItem=function(api,id,key){var obj=_getStorageObject(api,id);if(null!==obj&&key in obj){delete obj[key];var empty=!0;for(var prop in obj){empty=!1;break}empty&&(obj=null),_setStorageObject(api,id,obj)}},_clearItems=function(api,id){_setStorageObject(api,id,null)},_callStorageFunction=function(func,args,location){var type,rval=null;void 0===location&&(location=["web","flash"]);var done=!1,exception=null;for(var idx in location){type=location[idx];try{if("flash"===type||"both"===type){if(null===args[0])throw new Error("Flash local storage not available.");rval=func.apply(this,args),done="flash"===type}"web"!==type&&"both"!==type||(args[0]=localStorage,rval=func.apply(this,args),done=!0)}catch(ex){exception=ex}if(done)break}if(!done)throw exception;return rval};return util$1.setItem=function(api,id,key,data,location){_callStorageFunction(_setItem,arguments,location)},util$1.getItem=function(api,id,key,location){return _callStorageFunction(_getItem,arguments,location)},util$1.removeItem=function(api,id,key,location){_callStorageFunction(_removeItem,arguments,location)},util$1.clearItems=function(api,id,location){_callStorageFunction(_clearItems,arguments,location)},util$1.isEmpty=function(obj){for(var prop in obj)if(obj.hasOwnProperty(prop))return!1;return!0},util$1.format=function(format){for(var match,part,re=/%./g,argi=0,parts=[],last=0;match=re.exec(format);){(part=format.substring(last,re.lastIndex-2)).length>0&&parts.push(part),last=re.lastIndex;var code=match[0][1];switch(code){case"s":case"o":argi<arguments.length?parts.push(arguments[1+argi++]):parts.push("<?>");break;case"%":parts.push("%");break;default:parts.push("<%"+code+"?>")}}return parts.push(format.substring(last)),parts.join("")},util$1.formatNumber=function(number,decimals,dec_point,thousands_sep){var n=number,c=isNaN(decimals=Math.abs(decimals))?2:decimals,d=void 0===dec_point?",":dec_point,t=void 0===thousands_sep?".":thousands_sep,s=n<0?"-":"",i=parseInt(n=Math.abs(+n||0).toFixed(c),10)+"",j=i.length>3?i.length%3:0;return s+(j?i.substr(0,j)+t:"")+i.substr(j).replace(/(\d{3})(?=\d)/g,"$1"+t)+(c?d+Math.abs(n-i).toFixed(c).slice(2):"")},util$1.formatSize=function(size){return size=size>=1073741824?util$1.formatNumber(size/1073741824,2,".","")+" GiB":size>=1048576?util$1.formatNumber(size/1048576,2,".","")+" MiB":size>=1024?util$1.formatNumber(size/1024,0)+" KiB":util$1.formatNumber(size,0)+" bytes"},util$1.bytesFromIP=function(ip){return-1!==ip.indexOf(".")?util$1.bytesFromIPv4(ip):-1!==ip.indexOf(":")?util$1.bytesFromIPv6(ip):null},util$1.bytesFromIPv4=function(ip){if(4!==(ip=ip.split(".")).length)return null;for(var b=util$1.createBuffer(),i=0;i<ip.length;++i){var num=parseInt(ip[i],10);if(isNaN(num))return null;b.putByte(num)}return b.getBytes()},util$1.bytesFromIPv6=function(ip){for(var blanks=0,zeros=2*(8-(ip=ip.split(":").filter((function(e){return 0===e.length&&++blanks,!0}))).length+blanks),b=util$1.createBuffer(),i=0;i<8;++i)if(ip[i]&&0!==ip[i].length){var bytes=util$1.hexToBytes(ip[i]);bytes.length<2&&b.putByte(0),b.putBytes(bytes)}else b.fillWithByte(0,zeros),zeros=0;return b.getBytes()},util$1.bytesToIP=function(bytes){return 4===bytes.length?util$1.bytesToIPv4(bytes):16===bytes.length?util$1.bytesToIPv6(bytes):null},util$1.bytesToIPv4=function(bytes){if(4!==bytes.length)return null;for(var ip=[],i=0;i<bytes.length;++i)ip.push(bytes.charCodeAt(i));return ip.join(".")},util$1.bytesToIPv6=function(bytes){if(16!==bytes.length)return null;for(var ip=[],zeroGroups=[],zeroMaxGroup=0,i=0;i<bytes.length;i+=2){for(var hex=util$1.bytesToHex(bytes[i]+bytes[i+1]);"0"===hex[0]&&"0"!==hex;)hex=hex.substr(1);if("0"===hex){var last=zeroGroups[zeroGroups.length-1],idx=ip.length;last&&idx===last.end+1?(last.end=idx,last.end-last.start>zeroGroups[zeroMaxGroup].end-zeroGroups[zeroMaxGroup].start&&(zeroMaxGroup=zeroGroups.length-1)):zeroGroups.push({start:idx,end:idx})}ip.push(hex)}if(zeroGroups.length>0){var group=zeroGroups[zeroMaxGroup];group.end-group.start>0&&(ip.splice(group.start,group.end-group.start+1,""),0===group.start&&ip.unshift(""),7===group.end&&ip.push(""))}return ip.join(":")},util$1.estimateCores=function(options,callback){if("function"==typeof options&&(callback=options,options={}),options=options||{},"cores"in util$1&&!options.update)return callback(null,util$1.cores);if("undefined"!=typeof navigator&&"hardwareConcurrency"in navigator&&navigator.hardwareConcurrency>0)return util$1.cores=navigator.hardwareConcurrency,callback(null,util$1.cores);if("undefined"==typeof Worker)return util$1.cores=1,callback(null,util$1.cores);if("undefined"==typeof Blob)return util$1.cores=2,callback(null,util$1.cores);var blobUrl=URL.createObjectURL(new Blob(["(",function(){self.addEventListener("message",(function(e){var st=Date.now(),et=st+4;self.postMessage({st:st,et:et})}))}.toString(),")()"],{type:"application/javascript"}));!function sample(max,samples,numWorkers){if(0===samples){var avg=Math.floor(max.reduce((function(avg,x){return avg+x}),0)/max.length);return util$1.cores=Math.max(1,avg),URL.revokeObjectURL(blobUrl),callback(null,util$1.cores)}!function map(numWorkers,callback){for(var workers=[],results=[],i=0;i<numWorkers;++i){var worker=new Worker(blobUrl);worker.addEventListener("message",(function(e){if(results.push(e.data),results.length===numWorkers){for(var i=0;i<numWorkers;++i)workers[i].terminate();callback(null,results)}})),workers.push(worker)}for(i=0;i<numWorkers;++i)workers[i].postMessage(i)}(numWorkers,(function(err,results){max.push(function reduce(numWorkers,results){for(var overlaps=[],n=0;n<numWorkers;++n)for(var r1=results[n],overlap=overlaps[n]=[],i=0;i<numWorkers;++i)if(n!==i){var r2=results[i];(r1.st>r2.st&&r1.st<r2.et||r2.st>r1.st&&r2.st<r1.et)&&overlap.push(i)}return overlaps.reduce((function(max,overlap){return Math.max(max,overlap.length)}),0)}(numWorkers,results)),sample(max,samples-1,numWorkers)}))}([],5,16)},util.exports}function requireCipher(){if(hasRequiredCipher)return cipher;hasRequiredCipher=1;var forge=requireForge();requireUtil(),cipher=forge.cipher=forge.cipher||{},forge.cipher.algorithms=forge.cipher.algorithms||{},forge.cipher.createCipher=function(algorithm,key){var api=algorithm;if("string"==typeof api&&(api=forge.cipher.getAlgorithm(api))&&(api=api()),!api)throw new Error("Unsupported algorithm: "+algorithm);return new forge.cipher.BlockCipher({algorithm:api,key:key,decrypt:!1})},forge.cipher.createDecipher=function(algorithm,key){var api=algorithm;if("string"==typeof api&&(api=forge.cipher.getAlgorithm(api))&&(api=api()),!api)throw new Error("Unsupported algorithm: "+algorithm);return new forge.cipher.BlockCipher({algorithm:api,key:key,decrypt:!0})},forge.cipher.registerAlgorithm=function(name,algorithm){name=name.toUpperCase(),forge.cipher.algorithms[name]=algorithm},forge.cipher.getAlgorithm=function(name){return(name=name.toUpperCase())in forge.cipher.algorithms?forge.cipher.algorithms[name]:null};var BlockCipher=forge.cipher.BlockCipher=function(options){this.algorithm=options.algorithm,this.mode=this.algorithm.mode,this.blockSize=this.mode.blockSize,this._finish=!1,this._input=null,this.output=null,this._op=options.decrypt?this.mode.decrypt:this.mode.encrypt,this._decrypt=options.decrypt,this.algorithm.initialize(options)};return BlockCipher.prototype.start=function(options){options=options||{};var opts={};for(var key in options)opts[key]=options[key];opts.decrypt=this._decrypt,this._finish=!1,this._input=forge.util.createBuffer(),this.output=options.output||forge.util.createBuffer(),this.mode.start(opts)},BlockCipher.prototype.update=function(input){for(input&&this._input.putBuffer(input);!this._op.call(this.mode,this._input,this.output,this._finish)&&!this._finish;);this._input.compact()},BlockCipher.prototype.finish=function(pad){!pad||"ECB"!==this.mode.name&&"CBC"!==this.mode.name||(this.mode.pad=function(input){return pad(this.blockSize,input,!1)},this.mode.unpad=function(output){return pad(this.blockSize,output,!0)});var options={};return options.decrypt=this._decrypt,options.overflow=this._input.length()%this.blockSize,!(!this._decrypt&&this.mode.pad&&!this.mode.pad(this._input,options))&&(this._finish=!0,this.update(),!(this._decrypt&&this.mode.unpad&&!this.mode.unpad(this.output,options))&&!(this.mode.afterFinish&&!this.mode.afterFinish(this.output,options)))},cipher}var hasRequiredCipherModes,aes,hasRequiredAes,cipherModes={exports:{}};function requireCipherModes(){if(hasRequiredCipherModes)return cipherModes.exports;hasRequiredCipherModes=1;var forge=requireForge();requireUtil(),forge.cipher=forge.cipher||{};var modes=cipherModes.exports=forge.cipher.modes=forge.cipher.modes||{};function transformIV(iv,blockSize){if("string"==typeof iv&&(iv=forge.util.createBuffer(iv)),forge.util.isArray(iv)&&iv.length>4){var tmp=iv;iv=forge.util.createBuffer();for(var i=0;i<tmp.length;++i)iv.putByte(tmp[i])}if(iv.length()<blockSize)throw new Error("Invalid IV length; got "+iv.length()+" bytes and expected "+blockSize+" bytes.");if(!forge.util.isArray(iv)){var ints=[],blocks=blockSize/4;for(i=0;i<blocks;++i)ints.push(iv.getInt32());iv=ints}return iv}function inc32(block){block[block.length-1]=block[block.length-1]+1&4294967295}function from64To32(num){return[num/4294967296|0,4294967295&num]}return modes.ecb=function(options){options=options||{},this.name="ECB",this.cipher=options.cipher,this.blockSize=options.blockSize||16,this._ints=this.blockSize/4,this._inBlock=new Array(this._ints),this._outBlock=new Array(this._ints)},modes.ecb.prototype.start=function(options){},modes.ecb.prototype.encrypt=function(input,output,finish){if(input.length()<this.blockSize&&!(finish&&input.length()>0))return!0;for(var i=0;i<this._ints;++i)this._inBlock[i]=input.getInt32();this.cipher.encrypt(this._inBlock,this._outBlock);for(i=0;i<this._ints;++i)output.putInt32(this._outBlock[i])},modes.ecb.prototype.decrypt=function(input,output,finish){if(input.length()<this.blockSize&&!(finish&&input.length()>0))return!0;for(var i=0;i<this._ints;++i)this._inBlock[i]=input.getInt32();this.cipher.decrypt(this._inBlock,this._outBlock);for(i=0;i<this._ints;++i)output.putInt32(this._outBlock[i])},modes.ecb.prototype.pad=function(input,options){var padding=input.length()===this.blockSize?this.blockSize:this.blockSize-input.length();return input.fillWithByte(padding,padding),!0},modes.ecb.prototype.unpad=function(output,options){if(options.overflow>0)return!1;var len=output.length(),count=output.at(len-1);return!(count>this.blockSize<<2)&&(output.truncate(count),!0)},modes.cbc=function(options){options=options||{},this.name="CBC",this.cipher=options.cipher,this.blockSize=options.blockSize||16,this._ints=this.blockSize/4,this._inBlock=new Array(this._ints),this._outBlock=new Array(this._ints)},modes.cbc.prototype.start=function(options){if(null===options.iv){if(!this._prev)throw new Error("Invalid IV parameter.");this._iv=this._prev.slice(0)}else{if(!("iv"in options))throw new Error("Invalid IV parameter.");this._iv=transformIV(options.iv,this.blockSize),this._prev=this._iv.slice(0)}},modes.cbc.prototype.encrypt=function(input,output,finish){if(input.length()<this.blockSize&&!(finish&&input.length()>0))return!0;for(var i=0;i<this._ints;++i)this._inBlock[i]=this._prev[i]^input.getInt32();this.cipher.encrypt(this._inBlock,this._outBlock);for(i=0;i<this._ints;++i)output.putInt32(this._outBlock[i]);this._prev=this._outBlock},modes.cbc.prototype.decrypt=function(input,output,finish){if(input.length()<this.blockSize&&!(finish&&input.length()>0))return!0;for(var i=0;i<this._ints;++i)this._inBlock[i]=input.getInt32();this.cipher.decrypt(this._inBlock,this._outBlock);for(i=0;i<this._ints;++i)output.putInt32(this._prev[i]^this._outBlock[i]);this._prev=this._inBlock.slice(0)},modes.cbc.prototype.pad=function(input,options){var padding=input.length()===this.blockSize?this.blockSize:this.blockSize-input.length();return input.fillWithByte(padding,padding),!0},modes.cbc.prototype.unpad=function(output,options){if(options.overflow>0)return!1;var len=output.length(),count=output.at(len-1);return!(count>this.blockSize<<2)&&(output.truncate(count),!0)},modes.cfb=function(options){options=options||{},this.name="CFB",this.cipher=options.cipher,this.blockSize=options.blockSize||16,this._ints=this.blockSize/4,this._inBlock=null,this._outBlock=new Array(this._ints),this._partialBlock=new Array(this._ints),this._partialOutput=forge.util.createBuffer(),this._partialBytes=0},modes.cfb.prototype.start=function(options){if(!("iv"in options))throw new Error("Invalid IV parameter.");this._iv=transformIV(options.iv,this.blockSize),this._inBlock=this._iv.slice(0),this._partialBytes=0},modes.cfb.prototype.encrypt=function(input,output,finish){var inputLength=input.length();if(0===inputLength)return!0;if(this.cipher.encrypt(this._inBlock,this._outBlock),0===this._partialBytes&&inputLength>=this.blockSize)for(var i=0;i<this._ints;++i)this._inBlock[i]=input.getInt32()^this._outBlock[i],output.putInt32(this._inBlock[i]);else{var partialBytes=(this.blockSize-inputLength)%this.blockSize;partialBytes>0&&(partialBytes=this.blockSize-partialBytes),this._partialOutput.clear();for(i=0;i<this._ints;++i)this._partialBlock[i]=input.getInt32()^this._outBlock[i],this._partialOutput.putInt32(this._partialBlock[i]);if(partialBytes>0)input.read-=this.blockSize;else for(i=0;i<this._ints;++i)this._inBlock[i]=this._partialBlock[i];if(this._partialBytes>0&&this._partialOutput.getBytes(this._partialBytes),partialBytes>0&&!finish)return output.putBytes(this._partialOutput.getBytes(partialBytes-this._partialBytes)),this._partialBytes=partialBytes,!0;output.putBytes(this._partialOutput.getBytes(inputLength-this._partialBytes)),this._partialBytes=0}},modes.cfb.prototype.decrypt=function(input,output,finish){var inputLength=input.length();if(0===inputLength)return!0;if(this.cipher.encrypt(this._inBlock,this._outBlock),0===this._partialBytes&&inputLength>=this.blockSize)for(var i=0;i<this._ints;++i)this._inBlock[i]=input.getInt32(),output.putInt32(this._inBlock[i]^this._outBlock[i]);else{var partialBytes=(this.blockSize-inputLength)%this.blockSize;partialBytes>0&&(partialBytes=this.blockSize-partialBytes),this._partialOutput.clear();for(i=0;i<this._ints;++i)this._partialBlock[i]=input.getInt32(),this._partialOutput.putInt32(this._partialBlock[i]^this._outBlock[i]);if(partialBytes>0)input.read-=this.blockSize;else for(i=0;i<this._ints;++i)this._inBlock[i]=this._partialBlock[i];if(this._partialBytes>0&&this._partialOutput.getBytes(this._partialBytes),partialBytes>0&&!finish)return output.putBytes(this._partialOutput.getBytes(partialBytes-this._partialBytes)),this._partialBytes=partialBytes,!0;output.putBytes(this._partialOutput.getBytes(inputLength-this._partialBytes)),this._partialBytes=0}},modes.ofb=function(options){options=options||{},this.name="OFB",this.cipher=options.cipher,this.blockSize=options.blockSize||16,this._ints=this.blockSize/4,this._inBlock=null,this._outBlock=new Array(this._ints),this._partialOutput=forge.util.createBuffer(),this._partialBytes=0},modes.ofb.prototype.start=function(options){if(!("iv"in options))throw new Error("Invalid IV parameter.");this._iv=transformIV(options.iv,this.blockSize),this._inBlock=this._iv.slice(0),this._partialBytes=0},modes.ofb.prototype.encrypt=function(input,output,finish){var inputLength=input.length();if(0===input.length())return!0;if(this.cipher.encrypt(this._inBlock,this._outBlock),0===this._partialBytes&&inputLength>=this.blockSize)for(var i=0;i<this._ints;++i)output.putInt32(input.getInt32()^this._outBlock[i]),this._inBlock[i]=this._outBlock[i];else{var partialBytes=(this.blockSize-inputLength)%this.blockSize;partialBytes>0&&(partialBytes=this.blockSize-partialBytes),this._partialOutput.clear();for(i=0;i<this._ints;++i)this._partialOutput.putInt32(input.getInt32()^this._outBlock[i]);if(partialBytes>0)input.read-=this.blockSize;else for(i=0;i<this._ints;++i)this._inBlock[i]=this._outBlock[i];if(this._partialBytes>0&&this._partialOutput.getBytes(this._partialBytes),partialBytes>0&&!finish)return output.putBytes(this._partialOutput.getBytes(partialBytes-this._partialBytes)),this._partialBytes=partialBytes,!0;output.putBytes(this._partialOutput.getBytes(inputLength-this._partialBytes)),this._partialBytes=0}},modes.ofb.prototype.decrypt=modes.ofb.prototype.encrypt,modes.ctr=function(options){options=options||{},this.name="CTR",this.cipher=options.cipher,this.blockSize=options.blockSize||16,this._ints=this.blockSize/4,this._inBlock=null,this._outBlock=new Array(this._ints),this._partialOutput=forge.util.createBuffer(),this._partialBytes=0},modes.ctr.prototype.start=function(options){if(!("iv"in options))throw new Error("Invalid IV parameter.");this._iv=transformIV(options.iv,this.blockSize),this._inBlock=this._iv.slice(0),this._partialBytes=0},modes.ctr.prototype.encrypt=function(input,output,finish){var inputLength=input.length();if(0===inputLength)return!0;if(this.cipher.encrypt(this._inBlock,this._outBlock),0===this._partialBytes&&inputLength>=this.blockSize)for(var i=0;i<this._ints;++i)output.putInt32(input.getInt32()^this._outBlock[i]);else{var partialBytes=(this.blockSize-inputLength)%this.blockSize;partialBytes>0&&(partialBytes=this.blockSize-partialBytes),this._partialOutput.clear();for(i=0;i<this._ints;++i)this._partialOutput.putInt32(input.getInt32()^this._outBlock[i]);if(partialBytes>0&&(input.read-=this.blockSize),this._partialBytes>0&&this._partialOutput.getBytes(this._partialBytes),partialBytes>0&&!finish)return output.putBytes(this._partialOutput.getBytes(partialBytes-this._partialBytes)),this._partialBytes=partialBytes,!0;output.putBytes(this._partialOutput.getBytes(inputLength-this._partialBytes)),this._partialBytes=0}inc32(this._inBlock)},modes.ctr.prototype.decrypt=modes.ctr.prototype.encrypt,modes.gcm=function(options){options=options||{},this.name="GCM",this.cipher=options.cipher,this.blockSize=options.blockSize||16,this._ints=this.blockSize/4,this._inBlock=new Array(this._ints),this._outBlock=new Array(this._ints),this._partialOutput=forge.util.createBuffer(),this._partialBytes=0,this._R=3774873600},modes.gcm.prototype.start=function(options){if(!("iv"in options))throw new Error("Invalid IV parameter.");var additionalData,iv=forge.util.createBuffer(options.iv);if(this._cipherLength=0,additionalData="additionalData"in options?forge.util.createBuffer(options.additionalData):forge.util.createBuffer(),this._tagLength="tagLength"in options?options.tagLength:128,this._tag=null,options.decrypt&&(this._tag=forge.util.createBuffer(options.tag).getBytes(),this._tag.length!==this._tagLength/8))throw new Error("Authentication tag does not match tag length.");this._hashBlock=new Array(this._ints),this.tag=null,this._hashSubkey=new Array(this._ints),this.cipher.encrypt([0,0,0,0],this._hashSubkey),this.componentBits=4,this._m=this.generateHashTable(this._hashSubkey,this.componentBits);var ivLength=iv.length();if(12===ivLength)this._j0=[iv.getInt32(),iv.getInt32(),iv.getInt32(),1];else{for(this._j0=[0,0,0,0];iv.length()>0;)this._j0=this.ghash(this._hashSubkey,this._j0,[iv.getInt32(),iv.getInt32(),iv.getInt32(),iv.getInt32()]);this._j0=this.ghash(this._hashSubkey,this._j0,[0,0].concat(from64To32(8*ivLength)))}this._inBlock=this._j0.slice(0),inc32(this._inBlock),this._partialBytes=0,additionalData=forge.util.createBuffer(additionalData),this._aDataLength=from64To32(8*additionalData.length());var overflow=additionalData.length()%this.blockSize;for(overflow&&additionalData.fillWithByte(0,this.blockSize-overflow),this._s=[0,0,0,0];additionalData.length()>0;)this._s=this.ghash(this._hashSubkey,this._s,[additionalData.getInt32(),additionalData.getInt32(),additionalData.getInt32(),additionalData.getInt32()])},modes.gcm.prototype.encrypt=function(input,output,finish){var inputLength=input.length();if(0===inputLength)return!0;if(this.cipher.encrypt(this._inBlock,this._outBlock),0===this._partialBytes&&inputLength>=this.blockSize){for(var i=0;i<this._ints;++i)output.putInt32(this._outBlock[i]^=input.getInt32());this._cipherLength+=this.blockSize}else{var partialBytes=(this.blockSize-inputLength)%this.blockSize;partialBytes>0&&(partialBytes=this.blockSize-partialBytes),this._partialOutput.clear();for(i=0;i<this._ints;++i)this._partialOutput.putInt32(input.getInt32()^this._outBlock[i]);if(partialBytes<=0||finish){if(finish){var overflow=inputLength%this.blockSize;this._cipherLength+=overflow,this._partialOutput.truncate(this.blockSize-overflow)}else this._cipherLength+=this.blockSize;for(i=0;i<this._ints;++i)this._outBlock[i]=this._partialOutput.getInt32();this._partialOutput.read-=this.blockSize}if(this._partialBytes>0&&this._partialOutput.getBytes(this._partialBytes),partialBytes>0&&!finish)return input.read-=this.blockSize,output.putBytes(this._partialOutput.getBytes(partialBytes-this._partialBytes)),this._partialBytes=partialBytes,!0;output.putBytes(this._partialOutput.getBytes(inputLength-this._partialBytes)),this._partialBytes=0}this._s=this.ghash(this._hashSubkey,this._s,this._outBlock),inc32(this._inBlock)},modes.gcm.prototype.decrypt=function(input,output,finish){var inputLength=input.length();if(inputLength<this.blockSize&&!(finish&&inputLength>0))return!0;this.cipher.encrypt(this._inBlock,this._outBlock),inc32(this._inBlock),this._hashBlock[0]=input.getInt32(),this._hashBlock[1]=input.getInt32(),this._hashBlock[2]=input.getInt32(),this._hashBlock[3]=input.getInt32(),this._s=this.ghash(this._hashSubkey,this._s,this._hashBlock);for(var i=0;i<this._ints;++i)output.putInt32(this._outBlock[i]^this._hashBlock[i]);inputLength<this.blockSize?this._cipherLength+=inputLength%this.blockSize:this._cipherLength+=this.blockSize},modes.gcm.prototype.afterFinish=function(output,options){var rval=!0;options.decrypt&&options.overflow&&output.truncate(this.blockSize-options.overflow),this.tag=forge.util.createBuffer();var lengths=this._aDataLength.concat(from64To32(8*this._cipherLength));this._s=this.ghash(this._hashSubkey,this._s,lengths);var tag=[];this.cipher.encrypt(this._j0,tag);for(var i=0;i<this._ints;++i)this.tag.putInt32(this._s[i]^tag[i]);return this.tag.truncate(this.tag.length()%(this._tagLength/8)),options.decrypt&&this.tag.bytes()!==this._tag&&(rval=!1),rval},modes.gcm.prototype.multiply=function(x,y){for(var z_i=[0,0,0,0],v_i=y.slice(0),i=0;i<128;++i){x[i/32|0]&1<<31-i%32&&(z_i[0]^=v_i[0],z_i[1]^=v_i[1],z_i[2]^=v_i[2],z_i[3]^=v_i[3]),this.pow(v_i,v_i)}return z_i},modes.gcm.prototype.pow=function(x,out){for(var lsb=1&x[3],i=3;i>0;--i)out[i]=x[i]>>>1|(1&x[i-1])<<31;out[0]=x[0]>>>1,lsb&&(out[0]^=this._R)},modes.gcm.prototype.tableMultiply=function(x){for(var z=[0,0,0,0],i=0;i<32;++i){var x_i=x[i/8|0]>>>4*(7-i%8)&15,ah=this._m[i][x_i];z[0]^=ah[0],z[1]^=ah[1],z[2]^=ah[2],z[3]^=ah[3]}return z},modes.gcm.prototype.ghash=function(h,y,x){return y[0]^=x[0],y[1]^=x[1],y[2]^=x[2],y[3]^=x[3],this.tableMultiply(y)},modes.gcm.prototype.generateHashTable=function(h,bits){for(var multiplier=8/bits,perInt=4*multiplier,size=16*multiplier,m=new Array(size),i=0;i<size;++i){var tmp=[0,0,0,0],shft=(perInt-1-i%perInt)*bits;tmp[i/perInt|0]=1<<bits-1<<shft,m[i]=this.generateSubHashTable(this.multiply(tmp,h),bits)}return m},modes.gcm.prototype.generateSubHashTable=function(mid,bits){var size=1<<bits,half=size>>>1,m=new Array(size);m[half]=mid.slice(0);for(var i=half>>>1;i>0;)this.pow(m[2*i],m[i]=[]),i>>=1;for(i=2;i<half;){for(var j=1;j<i;++j){var m_i=m[i],m_j=m[j];m[i+j]=[m_i[0]^m_j[0],m_i[1]^m_j[1],m_i[2]^m_j[2],m_i[3]^m_j[3]]}i*=2}for(m[0]=[0,0,0,0],i=half+1;i<size;++i){var c=m[i^half];m[i]=[mid[0]^c[0],mid[1]^c[1],mid[2]^c[2],mid[3]^c[3]]}return m},cipherModes.exports}function requireAes(){if(hasRequiredAes)return aes;hasRequiredAes=1;var forge=requireForge();function registerAlgorithm(name,mode){forge.cipher.registerAlgorithm(name,(function(){return new forge.aes.Algorithm(name,mode)}))}requireCipher(),requireCipherModes(),requireUtil(),aes=forge.aes=forge.aes||{},forge.aes.startEncrypting=function(key,iv,output,mode){var cipher=_createCipher({key:key,output:output,decrypt:!1,mode:mode});return cipher.start(iv),cipher},forge.aes.createEncryptionCipher=function(key,mode){return _createCipher({key:key,output:null,decrypt:!1,mode:mode})},forge.aes.startDecrypting=function(key,iv,output,mode){var cipher=_createCipher({key:key,output:output,decrypt:!0,mode:mode});return cipher.start(iv),cipher},forge.aes.createDecryptionCipher=function(key,mode){return _createCipher({key:key,output:null,decrypt:!0,mode:mode})},forge.aes.Algorithm=function(name,mode){init||initialize();var self=this;self.name=name,self.mode=new mode({blockSize:16,cipher:{encrypt:function(inBlock,outBlock){return _updateBlock(self._w,inBlock,outBlock,!1)},decrypt:function(inBlock,outBlock){return _updateBlock(self._w,inBlock,outBlock,!0)}}}),self._init=!1},forge.aes.Algorithm.prototype.initialize=function(options){if(!this._init){var tmp,key=options.key;if("string"!=typeof key||16!==key.length&&24!==key.length&&32!==key.length){if(forge.util.isArray(key)&&(16===key.length||24===key.length||32===key.length)){tmp=key,key=forge.util.createBuffer();for(var i=0;i<tmp.length;++i)key.putByte(tmp[i])}}else key=forge.util.createBuffer(key);if(!forge.util.isArray(key)){tmp=key,key=[];var len=tmp.length();if(16===len||24===len||32===len){len>>>=2;for(i=0;i<len;++i)key.push(tmp.getInt32())}}if(!forge.util.isArray(key)||4!==key.length&&6!==key.length&&8!==key.length)throw new Error("Invalid key parameter.");var mode=this.mode.name,encryptOp=-1!==["CFB","OFB","CTR","GCM"].indexOf(mode);this._w=_expandKey(key,options.decrypt&&!encryptOp),this._init=!0}},forge.aes._expandKey=function(key,decrypt){return init||initialize(),_expandKey(key,decrypt)},forge.aes._updateBlock=_updateBlock,registerAlgorithm("AES-ECB",forge.cipher.modes.ecb),registerAlgorithm("AES-CBC",forge.cipher.modes.cbc),registerAlgorithm("AES-CFB",forge.cipher.modes.cfb),registerAlgorithm("AES-OFB",forge.cipher.modes.ofb),registerAlgorithm("AES-CTR",forge.cipher.modes.ctr),registerAlgorithm("AES-GCM",forge.cipher.modes.gcm);var sbox,isbox,rcon,mix,imix,init=!1,Nb=4;function initialize(){init=!0,rcon=[0,1,2,4,8,16,32,64,128,27,54];for(var xtime=new Array(256),i=0;i<128;++i)xtime[i]=i<<1,xtime[i+128]=i+128<<1^283;sbox=new Array(256),isbox=new Array(256),mix=new Array(4),imix=new Array(4);for(i=0;i<4;++i)mix[i]=new Array(256),imix[i]=new Array(256);var e2,e4,e8,sx,sx2,me,ime,e=0,ei=0;for(i=0;i<256;++i){sx=(sx=ei^ei<<1^ei<<2^ei<<3^ei<<4)>>8^255&sx^99,sbox[e]=sx,isbox[sx]=e,me=(sx2=xtime[sx])<<24^sx<<16^sx<<8^sx^sx2,ime=((e2=xtime[e])^(e4=xtime[e2])^(e8=xtime[e4]))<<24^(e^e8)<<16^(e^e4^e8)<<8^e^e2^e8;for(var n=0;n<4;++n)mix[n][e]=me,imix[n][sx]=ime,me=me<<24|me>>>8,ime=ime<<24|ime>>>8;0===e?e=ei=1:(e=e2^xtime[xtime[xtime[e2^e8]]],ei^=xtime[xtime[ei]])}}function _expandKey(key,decrypt){for(var temp,w=key.slice(0),iNk=1,Nk=w.length,end=Nb*(Nk+6+1),i=Nk;i<end;++i)temp=w[i-1],i%Nk==0?(temp=sbox[temp>>>16&255]<<24^sbox[temp>>>8&255]<<16^sbox[255&temp]<<8^sbox[temp>>>24]^rcon[iNk]<<24,iNk++):Nk>6&&i%Nk==4&&(temp=sbox[temp>>>24]<<24^sbox[temp>>>16&255]<<16^sbox[temp>>>8&255]<<8^sbox[255&temp]),w[i]=w[i-Nk]^temp;if(decrypt){for(var tmp,m0=imix[0],m1=imix[1],m2=imix[2],m3=imix[3],wnew=w.slice(0),wi=(i=0,(end=w.length)-Nb);i<end;i+=Nb,wi-=Nb)if(0===i||i===end-Nb)wnew[i]=w[wi],wnew[i+1]=w[wi+3],wnew[i+2]=w[wi+2],wnew[i+3]=w[wi+1];else for(var n=0;n<Nb;++n)tmp=w[wi+n],wnew[i+(3&-n)]=m0[sbox[tmp>>>24]]^m1[sbox[tmp>>>16&255]]^m2[sbox[tmp>>>8&255]]^m3[sbox[255&tmp]];w=wnew}return w}function _updateBlock(w,input,output,decrypt){var m0,m1,m2,m3,sub,a,b,c,d,a2,b2,c2,Nr=w.length/4-1;decrypt?(m0=imix[0],m1=imix[1],m2=imix[2],m3=imix[3],sub=isbox):(m0=mix[0],m1=mix[1],m2=mix[2],m3=mix[3],sub=sbox),a=input[0]^w[0],b=input[decrypt?3:1]^w[1],c=input[2]^w[2],d=input[decrypt?1:3]^w[3];for(var i=3,round=1;round<Nr;++round)a2=m0[a>>>24]^m1[b>>>16&255]^m2[c>>>8&255]^m3[255&d]^w[++i],b2=m0[b>>>24]^m1[c>>>16&255]^m2[d>>>8&255]^m3[255&a]^w[++i],c2=m0[c>>>24]^m1[d>>>16&255]^m2[a>>>8&255]^m3[255&b]^w[++i],d=m0[d>>>24]^m1[a>>>16&255]^m2[b>>>8&255]^m3[255&c]^w[++i],a=a2,b=b2,c=c2;output[0]=sub[a>>>24]<<24^sub[b>>>16&255]<<16^sub[c>>>8&255]<<8^sub[255&d]^w[++i],output[decrypt?3:1]=sub[b>>>24]<<24^sub[c>>>16&255]<<16^sub[d>>>8&255]<<8^sub[255&a]^w[++i],output[2]=sub[c>>>24]<<24^sub[d>>>16&255]<<16^sub[a>>>8&255]<<8^sub[255&b]^w[++i],output[decrypt?1:3]=sub[d>>>24]<<24^sub[a>>>16&255]<<16^sub[b>>>8&255]<<8^sub[255&c]^w[++i]}function _createCipher(options){var cipher,algorithm="AES-"+((options=options||{}).mode||"CBC").toUpperCase(),start=(cipher=options.decrypt?forge.cipher.createDecipher(algorithm,options.key):forge.cipher.createCipher(algorithm,options.key)).start;return cipher.start=function(iv,options){var output=null;options instanceof forge.util.ByteBuffer&&(output=options,options={}),(options=options||{}).output=output,options.iv=iv,start.call(cipher,options)},cipher}return aes}var hasRequiredOids,hasRequiredAsn1,aesCipherSuites={exports:{}},asn1={exports:{}},oids={exports:{}};function requireOids(){if(hasRequiredOids)return oids.exports;hasRequiredOids=1;var forge=requireForge();forge.pki=forge.pki||{};var oids$1=oids.exports=forge.pki.oids=forge.oids=forge.oids||{};function _IN(id,name){oids$1[id]=name,oids$1[name]=id}function _I_(id,name){oids$1[id]=name}return _IN("1.2.840.113549.1.1.1","rsaEncryption"),_IN("1.2.840.113549.1.1.4","md5WithRSAEncryption"),_IN("1.2.840.113549.1.1.5","sha1WithRSAEncryption"),_IN("1.2.840.113549.1.1.7","RSAES-OAEP"),_IN("1.2.840.113549.1.1.8","mgf1"),_IN("1.2.840.113549.1.1.9","pSpecified"),_IN("1.2.840.113549.1.1.10","RSASSA-PSS"),_IN("1.2.840.113549.1.1.11","sha256WithRSAEncryption"),_IN("1.2.840.113549.1.1.12","sha384WithRSAEncryption"),_IN("1.2.840.113549.1.1.13","sha512WithRSAEncryption"),_IN("1.3.101.112","EdDSA25519"),_IN("1.2.840.10040.4.3","dsa-with-sha1"),_IN("1.3.14.3.2.7","desCBC"),_IN("1.3.14.3.2.26","sha1"),_IN("1.3.14.3.2.29","sha1WithRSASignature"),_IN("2.16.840.1.101.3.4.2.1","sha256"),_IN("2.16.840.1.101.3.4.2.2","sha384"),_IN("2.16.840.1.101.3.4.2.3","sha512"),_IN("2.16.840.1.101.3.4.2.4","sha224"),_IN("2.16.840.1.101.3.4.2.5","sha512-224"),_IN("2.16.840.1.101.3.4.2.6","sha512-256"),_IN("1.2.840.113549.2.2","md2"),_IN("1.2.840.113549.2.5","md5"),_IN("1.2.840.113549.1.7.1","data"),_IN("1.2.840.113549.1.7.2","signedData"),_IN("1.2.840.113549.1.7.3","envelopedData"),_IN("1.2.840.113549.1.7.4","signedAndEnvelopedData"),_IN("1.2.840.113549.1.7.5","digestedData"),_IN("1.2.840.113549.1.7.6","encryptedData"),_IN("1.2.840.113549.1.9.1","emailAddress"),_IN("1.2.840.113549.1.9.2","unstructuredName"),_IN("1.2.840.113549.1.9.3","contentType"),_IN("1.2.840.113549.1.9.4","messageDigest"),_IN("1.2.840.113549.1.9.5","signingTime"),_IN("1.2.840.113549.1.9.6","counterSignature"),_IN("1.2.840.113549.1.9.7","challengePassword"),_IN("1.2.840.113549.1.9.8","unstructuredAddress"),_IN("1.2.840.113549.1.9.14","extensionRequest"),_IN("1.2.840.113549.1.9.20","friendlyName"),_IN("1.2.840.113549.1.9.21","localKeyId"),_IN("1.2.840.113549.1.9.22.1","x509Certificate"),_IN("1.2.840.113549.1.12.10.1.1","keyBag"),_IN("1.2.840.113549.1.12.10.1.2","pkcs8ShroudedKeyBag"),_IN("1.2.840.113549.1.12.10.1.3","certBag"),_IN("1.2.840.113549.1.12.10.1.4","crlBag"),_IN("1.2.840.113549.1.12.10.1.5","secretBag"),_IN("1.2.840.113549.1.12.10.1.6","safeContentsBag"),_IN("1.2.840.113549.1.5.13","pkcs5PBES2"),_IN("1.2.840.113549.1.5.12","pkcs5PBKDF2"),_IN("1.2.840.113549.1.12.1.1","pbeWithSHAAnd128BitRC4"),_IN("1.2.840.113549.1.12.1.2","pbeWithSHAAnd40BitRC4"),_IN("1.2.840.113549.1.12.1.3","pbeWithSHAAnd3-KeyTripleDES-CBC"),_IN("1.2.840.113549.1.12.1.4","pbeWithSHAAnd2-KeyTripleDES-CBC"),_IN("1.2.840.113549.1.12.1.5","pbeWithSHAAnd128BitRC2-CBC"),_IN("1.2.840.113549.1.12.1.6","pbewithSHAAnd40BitRC2-CBC"),_IN("1.2.840.113549.2.7","hmacWithSHA1"),_IN("1.2.840.113549.2.8","hmacWithSHA224"),_IN("1.2.840.113549.2.9","hmacWithSHA256"),_IN("1.2.840.113549.2.10","hmacWithSHA384"),_IN("1.2.840.113549.2.11","hmacWithSHA512"),_IN("1.2.840.113549.3.7","des-EDE3-CBC"),_IN("2.16.840.1.101.3.4.1.2","aes128-CBC"),_IN("2.16.840.1.101.3.4.1.22","aes192-CBC"),_IN("2.16.840.1.101.3.4.1.42","aes256-CBC"),_IN("2.5.4.3","commonName"),_IN("2.5.4.4","surname"),_IN("2.5.4.5","serialNumber"),_IN("2.5.4.6","countryName"),_IN("2.5.4.7","localityName"),_IN("2.5.4.8","stateOrProvinceName"),_IN("2.5.4.9","streetAddress"),_IN("2.5.4.10","organizationName"),_IN("2.5.4.11","organizationalUnitName"),_IN("2.5.4.12","title"),_IN("2.5.4.13","description"),_IN("2.5.4.15","businessCategory"),_IN("2.5.4.17","postalCode"),_IN("2.5.4.42","givenName"),_IN("1.3.6.1.4.1.311.60.2.1.2","jurisdictionOfIncorporationStateOrProvinceName"),_IN("1.3.6.1.4.1.311.60.2.1.3","jurisdictionOfIncorporationCountryName"),_IN("2.16.840.1.113730.1.1","nsCertType"),_IN("2.16.840.1.113730.1.13","nsComment"),_I_("2.5.29.1","authorityKeyIdentifier"),_I_("2.5.29.2","keyAttributes"),_I_("2.5.29.3","certificatePolicies"),_I_("2.5.29.4","keyUsageRestriction"),_I_("2.5.29.5","policyMapping"),_I_("2.5.29.6","subtreesConstraint"),_I_("2.5.29.7","subjectAltName"),_I_("2.5.29.8","issuerAltName"),_I_("2.5.29.9","subjectDirectoryAttributes"),_I_("2.5.29.10","basicConstraints"),_I_("2.5.29.11","nameConstraints"),_I_("2.5.29.12","policyConstraints"),_I_("2.5.29.13","basicConstraints"),_IN("2.5.29.14","subjectKeyIdentifier"),_IN("2.5.29.15","keyUsage"),_I_("2.5.29.16","privateKeyUsagePeriod"),_IN("2.5.29.17","subjectAltName"),_IN("2.5.29.18","issuerAltName"),_IN("2.5.29.19","basicConstraints"),_I_("2.5.29.20","cRLNumber"),_I_("2.5.29.21","cRLReason"),_I_("2.5.29.22","expirationDate"),_I_("2.5.29.23","instructionCode"),_I_("2.5.29.24","invalidityDate"),_I_("2.5.29.25","cRLDistributionPoints"),_I_("2.5.29.26","issuingDistributionPoint"),_I_("2.5.29.27","deltaCRLIndicator"),_I_("2.5.29.28","issuingDistributionPoint"),_I_("2.5.29.29","certificateIssuer"),_I_("2.5.29.30","nameConstraints"),_IN("2.5.29.31","cRLDistributionPoints"),_IN("2.5.29.32","certificatePolicies"),_I_("2.5.29.33","policyMappings"),_I_("2.5.29.34","policyConstraints"),_IN("2.5.29.35","authorityKeyIdentifier"),_I_("2.5.29.36","policyConstraints"),_IN("2.5.29.37","extKeyUsage"),_I_("2.5.29.46","freshestCRL"),_I_("2.5.29.54","inhibitAnyPolicy"),_IN("1.3.6.1.4.1.11129.2.4.2","timestampList"),_IN("1.3.6.1.5.5.7.1.1","authorityInfoAccess"),_IN("1.3.6.1.5.5.7.3.1","serverAuth"),_IN("1.3.6.1.5.5.7.3.2","clientAuth"),_IN("1.3.6.1.5.5.7.3.3","codeSigning"),_IN("1.3.6.1.5.5.7.3.4","emailProtection"),_IN("1.3.6.1.5.5.7.3.8","timeStamping"),oids.exports}function requireAsn1(){if(hasRequiredAsn1)return asn1.exports;hasRequiredAsn1=1;var forge=requireForge();requireUtil(),requireOids();var asn1$1=asn1.exports=forge.asn1=forge.asn1||{};function _checkBufferLength(bytes,remaining,n){if(n>remaining){var error=new Error("Too few bytes to parse DER.");throw error.available=bytes.length(),error.remaining=remaining,error.requested=n,error}}asn1$1.Class={UNIVERSAL:0,APPLICATION:64,CONTEXT_SPECIFIC:128,PRIVATE:192},asn1$1.Type={NONE:0,BOOLEAN:1,INTEGER:2,BITSTRING:3,OCTETSTRING:4,NULL:5,OID:6,ODESC:7,EXTERNAL:8,REAL:9,ENUMERATED:10,EMBEDDED:11,UTF8:12,ROID:13,SEQUENCE:16,SET:17,PRINTABLESTRING:19,IA5STRING:22,UTCTIME:23,GENERALIZEDTIME:24,BMPSTRING:30},asn1$1.create=function(tagClass,type,constructed,value,options){if(forge.util.isArray(value)){for(var tmp=[],i=0;i<value.length;++i)void 0!==value[i]&&tmp.push(value[i]);value=tmp}var obj={tagClass:tagClass,type:type,constructed:constructed,composed:constructed||forge.util.isArray(value),value:value};return options&&"bitStringContents"in options&&(obj.bitStringContents=options.bitStringContents,obj.original=asn1$1.copy(obj)),obj},asn1$1.copy=function(obj,options){var copy;if(forge.util.isArray(obj)){copy=[];for(var i=0;i<obj.length;++i)copy.push(asn1$1.copy(obj[i],options));return copy}return"string"==typeof obj?obj:(copy={tagClass:obj.tagClass,type:obj.type,constructed:obj.constructed,composed:obj.composed,value:asn1$1.copy(obj.value,options)},options&&!options.excludeBitStringContents&&(copy.bitStringContents=obj.bitStringContents),copy)},asn1$1.equals=function(obj1,obj2,options){if(forge.util.isArray(obj1)){if(!forge.util.isArray(obj2))return!1;if(obj1.length!==obj2.length)return!1;for(var i=0;i<obj1.length;++i)if(!asn1$1.equals(obj1[i],obj2[i]))return!1;return!0}if(typeof obj1!=typeof obj2)return!1;if("string"==typeof obj1)return obj1===obj2;var equal=obj1.tagClass===obj2.tagClass&&obj1.type===obj2.type&&obj1.constructed===obj2.constructed&&obj1.composed===obj2.composed&&asn1$1.equals(obj1.value,obj2.value);return options&&options.includeBitStringContents&&(equal=equal&&obj1.bitStringContents===obj2.bitStringContents),equal},asn1$1.getBerValueLength=function(b){var b2=b.getByte();if(128!==b2)return 128&b2?b.getInt((127&b2)<<3):b2};function _fromDer(bytes,remaining,depth,options){var start;_checkBufferLength(bytes,remaining,2);var b1=bytes.getByte();remaining--;var tagClass=192&b1,type=31&b1;start=bytes.length();var value,bitStringContents,length=function(bytes,remaining){var b2=bytes.getByte();if(remaining--,128!==b2){var length;if(128&b2){var longFormBytes=127&b2;_checkBufferLength(bytes,remaining,longFormBytes),length=bytes.getInt(longFormBytes<<3)}else length=b2;if(length<0)throw new Error("Negative length: "+length);return length}}(bytes,remaining);if(remaining-=start-bytes.length(),void 0!==length&&length>remaining){if(options.strict){var error=new Error("Too few bytes to read ASN.1 value.");throw error.available=bytes.length(),error.remaining=remaining,error.requested=length,error}length=remaining}var constructed=!(32&~b1);if(constructed)if(value=[],void 0===length)for(;;){if(_checkBufferLength(bytes,remaining,2),bytes.bytes(2)===String.fromCharCode(0,0)){bytes.getBytes(2),remaining-=2;break}start=bytes.length(),value.push(_fromDer(bytes,remaining,depth+1,options)),remaining-=start-bytes.length()}else for(;length>0;)start=bytes.length(),value.push(_fromDer(bytes,length,depth+1,options)),remaining-=start-bytes.length(),length-=start-bytes.length();if(void 0===value&&tagClass===asn1$1.Class.UNIVERSAL&&type===asn1$1.Type.BITSTRING&&(bitStringContents=bytes.bytes(length)),void 0===value&&options.decodeBitStrings&&tagClass===asn1$1.Class.UNIVERSAL&&type===asn1$1.Type.BITSTRING&&length>1){var savedRead=bytes.read,savedRemaining=remaining,unused=0;if(type===asn1$1.Type.BITSTRING&&(_checkBufferLength(bytes,remaining,1),unused=bytes.getByte(),remaining--),0===unused)try{start=bytes.length();var composed=_fromDer(bytes,remaining,depth+1,{strict:!0,decodeBitStrings:!0}),used=start-bytes.length();remaining-=used,type==asn1$1.Type.BITSTRING&&used++;var tc=composed.tagClass;used!==length||tc!==asn1$1.Class.UNIVERSAL&&tc!==asn1$1.Class.CONTEXT_SPECIFIC||(value=[composed])}catch(ex){}void 0===value&&(bytes.read=savedRead,remaining=savedRemaining)}if(void 0===value){if(void 0===length){if(options.strict)throw new Error("Non-constructed ASN.1 object of indefinite length.");length=remaining}if(type===asn1$1.Type.BMPSTRING)for(value="";length>0;length-=2)_checkBufferLength(bytes,remaining,2),value+=String.fromCharCode(bytes.getInt16()),remaining-=2;else value=bytes.getBytes(length),remaining-=length}var asn1Options=void 0===bitStringContents?null:{bitStringContents:bitStringContents};return asn1$1.create(tagClass,type,constructed,value,asn1Options)}asn1$1.fromDer=function(bytes,options){void 0===options&&(options={strict:!0,parseAllBytes:!0,decodeBitStrings:!0}),"boolean"==typeof options&&(options={strict:options,parseAllBytes:!0,decodeBitStrings:!0}),"strict"in options||(options.strict=!0),"parseAllBytes"in options||(options.parseAllBytes=!0),"decodeBitStrings"in options||(options.decodeBitStrings=!0),"string"==typeof bytes&&(bytes=forge.util.createBuffer(bytes));var byteCount=bytes.length(),value=_fromDer(bytes,bytes.length(),0,options);if(options.parseAllBytes&&0!==bytes.length()){var error=new Error("Unparsed DER bytes remain after ASN.1 parsing.");throw error.byteCount=byteCount,error.remaining=bytes.length(),error}return value},asn1$1.toDer=function(obj){var bytes=forge.util.createBuffer(),b1=obj.tagClass|obj.type,value=forge.util.createBuffer(),useBitStringContents=!1;if("bitStringContents"in obj&&(useBitStringContents=!0,obj.original&&(useBitStringContents=asn1$1.equals(obj,obj.original))),useBitStringContents)value.putBytes(obj.bitStringContents);else if(obj.composed){obj.constructed?b1|=32:value.putByte(0);for(var i=0;i<obj.value.length;++i)void 0!==obj.value[i]&&value.putBuffer(asn1$1.toDer(obj.value[i]))}else if(obj.type===asn1$1.Type.BMPSTRING)for(i=0;i<obj.value.length;++i)value.putInt16(obj.value.charCodeAt(i));else!(obj.type===asn1$1.Type.INTEGER&&obj.value.length>1)||(0!==obj.value.charCodeAt(0)||128&obj.value.charCodeAt(1))&&(255!==obj.value.charCodeAt(0)||128&~obj.value.charCodeAt(1))?value.putBytes(obj.value):value.putBytes(obj.value.substr(1));if(bytes.putByte(b1),value.length()<=127)bytes.putByte(127&value.length());else{var len=value.length(),lenBytes="";do{lenBytes+=String.fromCharCode(255&len),len>>>=8}while(len>0);bytes.putByte(128|lenBytes.length);for(i=lenBytes.length-1;i>=0;--i)bytes.putByte(lenBytes.charCodeAt(i))}return bytes.putBuffer(value),bytes},asn1$1.oidToDer=function(oid){var last,valueBytes,value,b,values=oid.split("."),bytes=forge.util.createBuffer();bytes.putByte(40*parseInt(values[0],10)+parseInt(values[1],10));for(var i=2;i<values.length;++i){last=!0,valueBytes=[],value=parseInt(values[i],10);do{b=127&value,value>>>=7,last||(b|=128),valueBytes.push(b),last=!1}while(value>0);for(var n=valueBytes.length-1;n>=0;--n)bytes.putByte(valueBytes[n])}return bytes},asn1$1.derToOid=function(bytes){var oid;"string"==typeof bytes&&(bytes=forge.util.createBuffer(bytes));var b=bytes.getByte();oid=Math.floor(b/40)+"."+b%40;for(var value=0;bytes.length()>0;)value<<=7,128&(b=bytes.getByte())?value+=127&b:(oid+="."+(value+b),value=0);return oid},asn1$1.utcTimeToDate=function(utc){var date=new Date,year=parseInt(utc.substr(0,2),10);year=year>=50?1900+year:2e3+year;var MM=parseInt(utc.substr(2,2),10)-1,DD=parseInt(utc.substr(4,2),10),hh=parseInt(utc.substr(6,2),10),mm=parseInt(utc.substr(8,2),10),ss=0;if(utc.length>11){var c=utc.charAt(10),end=10;"+"!==c&&"-"!==c&&(ss=parseInt(utc.substr(10,2),10),end+=2)}if(date.setUTCFullYear(year,MM,DD),date.setUTCHours(hh,mm,ss,0),end&&("+"===(c=utc.charAt(end))||"-"===c)){var offset=60*parseInt(utc.substr(end+1,2),10)+parseInt(utc.substr(end+4,2),10);offset*=6e4,"+"===c?date.setTime(+date-offset):date.setTime(+date+offset)}return date},asn1$1.generalizedTimeToDate=function(gentime){var date=new Date,YYYY=parseInt(gentime.substr(0,4),10),MM=parseInt(gentime.substr(4,2),10)-1,DD=parseInt(gentime.substr(6,2),10),hh=parseInt(gentime.substr(8,2),10),mm=parseInt(gentime.substr(10,2),10),ss=parseInt(gentime.substr(12,2),10),fff=0,offset=0,isUTC=!1;"Z"===gentime.charAt(gentime.length-1)&&(isUTC=!0);var end=gentime.length-5,c=gentime.charAt(end);"+"!==c&&"-"!==c||(offset=60*parseInt(gentime.substr(end+1,2),10)+parseInt(gentime.substr(end+4,2),10),offset*=6e4,"+"===c&&(offset*=-1),isUTC=!0);return"."===gentime.charAt(14)&&(fff=1e3*parseFloat(gentime.substr(14),10)),isUTC?(date.setUTCFullYear(YYYY,MM,DD),date.setUTCHours(hh,mm,ss,fff),date.setTime(+date+offset)):(date.setFullYear(YYYY,MM,DD),date.setHours(hh,mm,ss,fff)),date},asn1$1.dateToUtcTime=function(date){if("string"==typeof date)return date;var rval="",format=[];format.push((""+date.getUTCFullYear()).substr(2)),format.push(""+(date.getUTCMonth()+1)),format.push(""+date.getUTCDate()),format.push(""+date.getUTCHours()),format.push(""+date.getUTCMinutes()),format.push(""+date.getUTCSeconds());for(var i=0;i<format.length;++i)format[i].length<2&&(rval+="0"),rval+=format[i];return rval+="Z"},asn1$1.dateToGeneralizedTime=function(date){if("string"==typeof date)return date;var rval="",format=[];format.push(""+date.getUTCFullYear()),format.push(""+(date.getUTCMonth()+1)),format.push(""+date.getUTCDate()),format.push(""+date.getUTCHours()),format.push(""+date.getUTCMinutes()),format.push(""+date.getUTCSeconds());for(var i=0;i<format.length;++i)format[i].length<2&&(rval+="0"),rval+=format[i];return rval+="Z"},asn1$1.integerToDer=function(x){var rval=forge.util.createBuffer();if(x>=-128&&x<128)return rval.putSignedInt(x,8);if(x>=-32768&&x<32768)return rval.putSignedInt(x,16);if(x>=-8388608&&x<8388608)return rval.putSignedInt(x,24);if(x>=-2147483648&&x<2147483648)return rval.putSignedInt(x,32);var error=new Error("Integer too large; max is 32-bits.");throw error.integer=x,error},asn1$1.derToInteger=function(bytes){"string"==typeof bytes&&(bytes=forge.util.createBuffer(bytes));var n=8*bytes.length();if(n>32)throw new Error("Integer too large; max is 32-bits.");return bytes.getSignedInt(n)},asn1$1.validate=function(obj,v,capture,errors){var rval=!1;if(obj.tagClass!==v.tagClass&&void 0!==v.tagClass||obj.type!==v.type&&void 0!==v.type)errors&&(obj.tagClass!==v.tagClass&&errors.push("["+v.name+'] Expected tag class "'+v.tagClass+'", got "'+obj.tagClass+'"'),obj.type!==v.type&&errors.push("["+v.name+'] Expected type "'+v.type+'", got "'+obj.type+'"'));else if(obj.constructed===v.constructed||void 0===v.constructed){if(rval=!0,v.value&&forge.util.isArray(v.value))for(var j=0,i=0;rval&&i<v.value.length;++i)rval=v.value[i].optional||!1,obj.value[j]&&((rval=asn1$1.validate(obj.value[j],v.value[i],capture,errors))?++j:v.value[i].optional&&(rval=!0)),!rval&&errors&&errors.push("["+v.name+'] Tag class "'+v.tagClass+'", type "'+v.type+'" expected value length "'+v.value.length+'", got "'+obj.value.length+'"');if(rval&&capture&&(v.capture&&(capture[v.capture]=obj.value),v.captureAsn1&&(capture[v.captureAsn1]=obj),v.captureBitStringContents&&"bitStringContents"in obj&&(capture[v.captureBitStringContents]=obj.bitStringContents),v.captureBitStringValue&&"bitStringContents"in obj))if(obj.bitStringContents.length<2)capture[v.captureBitStringValue]="";else{if(0!==obj.bitStringContents.charCodeAt(0))throw new Error("captureBitStringValue only supported for zero unused bits");capture[v.captureBitStringValue]=obj.bitStringContents.slice(1)}}else errors&&errors.push("["+v.name+'] Expected constructed "'+v.constructed+'", got "'+obj.constructed+'"');return rval};var _nonLatinRegex=/[^\\u0000-\\u00ff]/;return asn1$1.prettyPrint=function(obj,level,indentation){var rval="";indentation=indentation||2,(level=level||0)>0&&(rval+="\n");for(var indent="",i=0;i<level*indentation;++i)indent+=" ";switch(rval+=indent+"Tag: ",obj.tagClass){case asn1$1.Class.UNIVERSAL:rval+="Universal:";break;case asn1$1.Class.APPLICATION:rval+="Application:";break;case asn1$1.Class.CONTEXT_SPECIFIC:rval+="Context-Specific:";break;case asn1$1.Class.PRIVATE:rval+="Private:"}if(obj.tagClass===asn1$1.Class.UNIVERSAL)switch(rval+=obj.type,obj.type){case asn1$1.Type.NONE:rval+=" (None)";break;case asn1$1.Type.BOOLEAN:rval+=" (Boolean)";break;case asn1$1.Type.INTEGER:rval+=" (Integer)";break;case asn1$1.Type.BITSTRING:rval+=" (Bit string)";break;case asn1$1.Type.OCTETSTRING:rval+=" (Octet string)";break;case asn1$1.Type.NULL:rval+=" (Null)";break;case asn1$1.Type.OID:rval+=" (Object Identifier)";break;case asn1$1.Type.ODESC:rval+=" (Object Descriptor)";break;case asn1$1.Type.EXTERNAL:rval+=" (External or Instance of)";break;case asn1$1.Type.REAL:rval+=" (Real)";break;case asn1$1.Type.ENUMERATED:rval+=" (Enumerated)";break;case asn1$1.Type.EMBEDDED:rval+=" (Embedded PDV)";break;case asn1$1.Type.UTF8:rval+=" (UTF8)";break;case asn1$1.Type.ROID:rval+=" (Relative Object Identifier)";break;case asn1$1.Type.SEQUENCE:rval+=" (Sequence)";break;case asn1$1.Type.SET:rval+=" (Set)";break;case asn1$1.Type.PRINTABLESTRING:rval+=" (Printable String)";break;case asn1$1.Type.IA5String:rval+=" (IA5String (ASCII))";break;case asn1$1.Type.UTCTIME:rval+=" (UTC time)";break;case asn1$1.Type.GENERALIZEDTIME:rval+=" (Generalized time)";break;case asn1$1.Type.BMPSTRING:rval+=" (BMP String)"}else rval+=obj.type;if(rval+="\n",rval+=indent+"Constructed: "+obj.constructed+"\n",obj.composed){var subvalues=0,sub="";for(i=0;i<obj.value.length;++i)void 0!==obj.value[i]&&(subvalues+=1,sub+=asn1$1.prettyPrint(obj.value[i],level+1,indentation),i+1<obj.value.length&&(sub+=","));rval+=indent+"Sub values: "+subvalues+sub}else{if(rval+=indent+"Value: ",obj.type===asn1$1.Type.OID){var oid=asn1$1.derToOid(obj.value);rval+=oid,forge.pki&&forge.pki.oids&&oid in forge.pki.oids&&(rval+=" ("+forge.pki.oids[oid]+") ")}if(obj.type===asn1$1.Type.INTEGER)try{rval+=asn1$1.derToInteger(obj.value)}catch(ex){rval+="0x"+forge.util.bytesToHex(obj.value)}else if(obj.type===asn1$1.Type.BITSTRING){if(obj.value.length>1?rval+="0x"+forge.util.bytesToHex(obj.value.slice(1)):rval+="(none)",obj.value.length>0){var unused=obj.value.charCodeAt(0);1==unused?rval+=" (1 unused bit shown)":unused>1&&(rval+=" ("+unused+" unused bits shown)")}}else if(obj.type===asn1$1.Type.OCTETSTRING)_nonLatinRegex.test(obj.value)||(rval+="("+obj.value+") "),rval+="0x"+forge.util.bytesToHex(obj.value);else if(obj.type===asn1$1.Type.UTF8)try{rval+=forge.util.decodeUtf8(obj.value)}catch(e){if("URI malformed"!==e.message)throw e;rval+="0x"+forge.util.bytesToHex(obj.value)+" (malformed UTF8)"}else obj.type===asn1$1.Type.PRINTABLESTRING||obj.type===asn1$1.Type.IA5String?rval+=obj.value:_nonLatinRegex.test(obj.value)?rval+="0x"+forge.util.bytesToHex(obj.value):0===obj.value.length?rval+="[null]":rval+=obj.value}return rval},asn1.exports}var md,hasRequiredMd,hasRequiredHmac,hmac={exports:{}};function requireMd(){if(hasRequiredMd)return md;hasRequiredMd=1;var forge=requireForge();return md=forge.md=forge.md||{},forge.md.algorithms=forge.md.algorithms||{},md}function requireHmac(){if(hasRequiredHmac)return hmac.exports;hasRequiredHmac=1;var forge=requireForge();return requireMd(),requireUtil(),(hmac.exports=forge.hmac=forge.hmac||{}).create=function(){var _key=null,_md=null,_ipadding=null,_opadding=null,ctx={start:function(md,key){if(null!==md)if("string"==typeof md){if(!((md=md.toLowerCase())in forge.md.algorithms))throw new Error('Unknown hash algorithm "'+md+'"');_md=forge.md.algorithms[md].create()}else _md=md;if(null===key)key=_key;else{if("string"==typeof key)key=forge.util.createBuffer(key);else if(forge.util.isArray(key)){var tmp=key;key=forge.util.createBuffer();for(var i=0;i<tmp.length;++i)key.putByte(tmp[i])}var keylen=key.length();keylen>_md.blockLength&&(_md.start(),_md.update(key.bytes()),key=_md.digest()),_ipadding=forge.util.createBuffer(),_opadding=forge.util.createBuffer(),keylen=key.length();for(i=0;i<keylen;++i){tmp=key.at(i);_ipadding.putByte(54^tmp),_opadding.putByte(92^tmp)}if(keylen<_md.blockLength)for(tmp=_md.blockLength-keylen,i=0;i<tmp;++i)_ipadding.putByte(54),_opadding.putByte(92);_key=key,_ipadding=_ipadding.bytes(),_opadding=_opadding.bytes()}_md.start(),_md.update(_ipadding)},update:function(bytes){_md.update(bytes)},getMac:function(){var inner=_md.digest().bytes();return _md.start(),_md.update(_opadding),_md.update(inner),_md.digest()}};return ctx.digest=ctx.getMac,ctx},hmac.exports}var hasRequiredMd5,md5={exports:{}};function requireMd5(){if(hasRequiredMd5)return md5.exports;hasRequiredMd5=1;var forge=requireForge();requireMd(),requireUtil();var md5$1=md5.exports=forge.md5=forge.md5||{};forge.md.md5=forge.md.algorithms.md5=md5$1,md5$1.create=function(){_initialized||function _init(){_padding=String.fromCharCode(128),_padding+=forge.util.fillString(String.fromCharCode(0),64),_g=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,1,6,11,0,5,10,15,4,9,14,3,8,13,2,7,12,5,8,11,14,1,4,7,10,13,0,3,6,9,12,15,2,0,7,14,5,12,3,10,1,8,15,6,13,4,11,2,9],_r=[7,12,17,22,7,12,17,22,7,12,17,22,7,12,17,22,5,9,14,20,5,9,14,20,5,9,14,20,5,9,14,20,4,11,16,23,4,11,16,23,4,11,16,23,4,11,16,23,6,10,15,21,6,10,15,21,6,10,15,21,6,10,15,21],_k=new Array(64);for(var i=0;i<64;++i)_k[i]=Math.floor(4294967296*Math.abs(Math.sin(i+1)));_initialized=!0}();var _state=null,_input=forge.util.createBuffer(),_w=new Array(16),md={algorithm:"md5",blockLength:64,digestLength:16,messageLength:0,fullMessageLength:null,messageLengthSize:8,start:function(){md.messageLength=0,md.fullMessageLength=md.messageLength64=[];for(var int32s=md.messageLengthSize/4,i=0;i<int32s;++i)md.fullMessageLength.push(0);return _input=forge.util.createBuffer(),_state={h0:1732584193,h1:4023233417,h2:2562383102,h3:271733878},md}};return md.start(),md.update=function(msg,encoding){"utf8"===encoding&&(msg=forge.util.encodeUtf8(msg));var len=msg.length;md.messageLength+=len,len=[len/4294967296>>>0,len>>>0];for(var i=md.fullMessageLength.length-1;i>=0;--i)md.fullMessageLength[i]+=len[1],len[1]=len[0]+(md.fullMessageLength[i]/4294967296>>>0),md.fullMessageLength[i]=md.fullMessageLength[i]>>>0,len[0]=len[1]/4294967296>>>0;return _input.putBytes(msg),_update(_state,_w,_input),(_input.read>2048||0===_input.length())&&_input.compact(),md},md.digest=function(){var finalBlock=forge.util.createBuffer();finalBlock.putBytes(_input.bytes());var overflow=md.fullMessageLength[md.fullMessageLength.length-1]+md.messageLengthSize&md.blockLength-1;finalBlock.putBytes(_padding.substr(0,md.blockLength-overflow));for(var bits,carry=0,i=md.fullMessageLength.length-1;i>=0;--i)carry=(bits=8*md.fullMessageLength[i]+carry)/4294967296>>>0,finalBlock.putInt32Le(bits>>>0);var s2={h0:_state.h0,h1:_state.h1,h2:_state.h2,h3:_state.h3};_update(s2,_w,finalBlock);var rval=forge.util.createBuffer();return rval.putInt32Le(s2.h0),rval.putInt32Le(s2.h1),rval.putInt32Le(s2.h2),rval.putInt32Le(s2.h3),rval},md};var _padding=null,_g=null,_r=null,_k=null,_initialized=!1;function _update(s,w,bytes){for(var t,a,b,c,d,r,i,len=bytes.length();len>=64;){for(a=s.h0,b=s.h1,c=s.h2,d=s.h3,i=0;i<16;++i)w[i]=bytes.getInt32Le(),t=a+(d^b&(c^d))+_k[i]+w[i],a=d,d=c,c=b,b+=t<<(r=_r[i])|t>>>32-r;for(;i<32;++i)t=a+(c^d&(b^c))+_k[i]+w[_g[i]],a=d,d=c,c=b,b+=t<<(r=_r[i])|t>>>32-r;for(;i<48;++i)t=a+(b^c^d)+_k[i]+w[_g[i]],a=d,d=c,c=b,b+=t<<(r=_r[i])|t>>>32-r;for(;i<64;++i)t=a+(c^(b|~d))+_k[i]+w[_g[i]],a=d,d=c,c=b,b+=t<<(r=_r[i])|t>>>32-r;s.h0=s.h0+a|0,s.h1=s.h1+b|0,s.h2=s.h2+c|0,s.h3=s.h3+d|0,len-=64}}return md5.exports}var hasRequiredPem,pem={exports:{}};function requirePem(){if(hasRequiredPem)return pem.exports;hasRequiredPem=1;var forge=requireForge();requireUtil();var pem$1=pem.exports=forge.pem=forge.pem||{};function foldHeader(header){for(var rval=header.name+": ",values=[],insertSpace=function(match,$1){return" "+$1},i=0;i<header.values.length;++i)values.push(header.values[i].replace(/^(\S+\r\n)/,insertSpace));rval+=values.join(",")+"\r\n";var length=0,candidate=-1;for(i=0;i<rval.length;++i,++length)if(length>65&&-1!==candidate){var insert=rval[candidate];","===insert?(++candidate,rval=rval.substr(0,candidate)+"\r\n "+rval.substr(candidate)):rval=rval.substr(0,candidate)+"\r\n"+insert+rval.substr(candidate+1),length=i-candidate-1,candidate=-1,++i}else" "!==rval[i]&&"\t"!==rval[i]&&","!==rval[i]||(candidate=i);return rval}function ltrim(str){return str.replace(/^\s+/,"")}return pem$1.encode=function(msg,options){options=options||{};var header,rval="-----BEGIN "+msg.type+"-----\r\n";if(msg.procType&&(rval+=foldHeader(header={name:"Proc-Type",values:[String(msg.procType.version),msg.procType.type]})),msg.contentDomain&&(rval+=foldHeader(header={name:"Content-Domain",values:[msg.contentDomain]})),msg.dekInfo&&(header={name:"DEK-Info",values:[msg.dekInfo.algorithm]},msg.dekInfo.parameters&&header.values.push(msg.dekInfo.parameters),rval+=foldHeader(header)),msg.headers)for(var i=0;i<msg.headers.length;++i)rval+=foldHeader(msg.headers[i]);return msg.procType&&(rval+="\r\n"),rval+=forge.util.encode64(msg.body,options.maxline||64)+"\r\n",rval+="-----END "+msg.type+"-----\r\n"},pem$1.decode=function(str){for(var match,rval=[],rMessage=/\s*-----BEGIN ([A-Z0-9- ]+)-----\r?\n?([\x21-\x7e\s]+?(?:\r?\n\r?\n))?([:A-Za-z0-9+\/=\s]+?)-----END \1-----/g,rHeader=/([\x21-\x7e]+):\s*([\x21-\x7e\s^:]+)/,rCRLF=/\r?\n/;match=rMessage.exec(str);){var type=match[1];"NEW CERTIFICATE REQUEST"===type&&(type="CERTIFICATE REQUEST");var msg={type:type,procType:null,contentDomain:null,dekInfo:null,headers:[],body:forge.util.decode64(match[3])};if(rval.push(msg),match[2]){for(var lines=match[2].split(rCRLF),li=0;match&&li<lines.length;){for(var line=lines[li].replace(/\s+$/,""),nl=li+1;nl<lines.length;++nl){var next=lines[nl];if(!/\s/.test(next[0]))break;line+=next,li=nl}if(match=line.match(rHeader)){for(var header={name:match[1],values:[]},values=match[2].split(","),vi=0;vi<values.length;++vi)header.values.push(ltrim(values[vi]));if(msg.procType)if(msg.contentDomain||"Content-Domain"!==header.name)if(msg.dekInfo||"DEK-Info"!==header.name)msg.headers.push(header);else{if(0===header.values.length)throw new Error('Invalid PEM formatted message. The "DEK-Info" header must have at least one subfield.');msg.dekInfo={algorithm:values[0],parameters:values[1]||null}}else msg.contentDomain=values[0]||"";else{if("Proc-Type"!==header.name)throw new Error('Invalid PEM formatted message. The first encapsulated header must be "Proc-Type".');if(2!==header.values.length)throw new Error('Invalid PEM formatted message. The "Proc-Type" header must have two subfields.');msg.procType={version:values[0],type:values[1]}}}++li}if("ENCRYPTED"===msg.procType&&!msg.dekInfo)throw new Error('Invalid PEM formatted message. The "DEK-Info" header must be present if "Proc-Type" is "ENCRYPTED".')}}if(0===rval.length)throw new Error("Invalid PEM formatted message.");return rval},pem.exports}var des,hasRequiredDes,pbkdf2,hasRequiredPbkdf2,pki={exports:{}};function requireDes(){if(hasRequiredDes)return des;hasRequiredDes=1;var forge=requireForge();function registerAlgorithm(name,mode){forge.cipher.registerAlgorithm(name,(function(){return new forge.des.Algorithm(name,mode)}))}requireCipher(),requireCipherModes(),requireUtil(),des=forge.des=forge.des||{},forge.des.startEncrypting=function(key,iv,output,mode){var cipher=_createCipher({key:key,output:output,decrypt:!1,mode:mode||(null===iv?"ECB":"CBC")});return cipher.start(iv),cipher},forge.des.createEncryptionCipher=function(key,mode){return _createCipher({key:key,output:null,decrypt:!1,mode:mode})},forge.des.startDecrypting=function(key,iv,output,mode){var cipher=_createCipher({key:key,output:output,decrypt:!0,mode:mode||(null===iv?"ECB":"CBC")});return cipher.start(iv),cipher},forge.des.createDecryptionCipher=function(key,mode){return _createCipher({key:key,output:null,decrypt:!0,mode:mode})},forge.des.Algorithm=function(name,mode){var self=this;self.name=name,self.mode=new mode({blockSize:8,cipher:{encrypt:function(inBlock,outBlock){return _updateBlock(self._keys,inBlock,outBlock,!1)},decrypt:function(inBlock,outBlock){return _updateBlock(self._keys,inBlock,outBlock,!0)}}}),self._init=!1},forge.des.Algorithm.prototype.initialize=function(options){if(!this._init){var key=forge.util.createBuffer(options.key);if(0===this.name.indexOf("3DES")&&24!==key.length())throw new Error("Invalid Triple-DES key size: "+8*key.length());this._keys=function _createKeys(key){for(var tmp,pc2bytes0=[0,4,536870912,536870916,65536,65540,536936448,536936452,512,516,536871424,536871428,66048,66052,536936960,536936964],pc2bytes1=[0,1,1048576,1048577,67108864,67108865,68157440,68157441,256,257,1048832,1048833,67109120,67109121,68157696,68157697],pc2bytes2=[0,8,2048,2056,16777216,16777224,16779264,16779272,0,8,2048,2056,16777216,16777224,16779264,16779272],pc2bytes3=[0,2097152,134217728,136314880,8192,2105344,134225920,136323072,131072,2228224,134348800,136445952,139264,2236416,134356992,136454144],pc2bytes4=[0,262144,16,262160,0,262144,16,262160,4096,266240,4112,266256,4096,266240,4112,266256],pc2bytes5=[0,1024,32,1056,0,1024,32,1056,33554432,33555456,33554464,33555488,33554432,33555456,33554464,33555488],pc2bytes6=[0,268435456,524288,268959744,2,268435458,524290,268959746,0,268435456,524288,268959744,2,268435458,524290,268959746],pc2bytes7=[0,65536,2048,67584,536870912,536936448,536872960,536938496,131072,196608,133120,198656,537001984,537067520,537004032,537069568],pc2bytes8=[0,262144,0,262144,2,262146,2,262146,33554432,33816576,33554432,33816576,33554434,33816578,33554434,33816578],pc2bytes9=[0,268435456,8,268435464,0,268435456,8,268435464,1024,268436480,1032,268436488,1024,268436480,1032,268436488],pc2bytes10=[0,32,0,32,1048576,1048608,1048576,1048608,8192,8224,8192,8224,1056768,1056800,1056768,1056800],pc2bytes11=[0,16777216,512,16777728,2097152,18874368,2097664,18874880,67108864,83886080,67109376,83886592,69206016,85983232,69206528,85983744],pc2bytes12=[0,4096,134217728,134221824,524288,528384,134742016,134746112,16,4112,134217744,134221840,524304,528400,134742032,134746128],pc2bytes13=[0,4,256,260,0,4,256,260,1,5,257,261,1,5,257,261],iterations=key.length()>8?3:1,keys=[],shifts=[0,0,1,1,1,1,1,1,0,1,1,1,1,1,1,0],n=0,j=0;j<iterations;j++){var left=key.getInt32(),right=key.getInt32();left^=(tmp=252645135&(left>>>4^right))<<4,left^=tmp=65535&((right^=tmp)>>>-16^left),left^=(tmp=858993459&(left>>>2^(right^=tmp<<-16)))<<2,left^=tmp=65535&((right^=tmp)>>>-16^left),left^=(tmp=1431655765&(left>>>1^(right^=tmp<<-16)))<<1,left^=tmp=16711935&((right^=tmp)>>>8^left),tmp=(left^=(tmp=1431655765&(left>>>1^(right^=tmp<<8)))<<1)<<8|(right^=tmp)>>>20&240,left=right<<24|right<<8&16711680|right>>>8&65280|right>>>24&240,right=tmp;for(var i=0;i<shifts.length;++i){shifts[i]?(left=left<<2|left>>>26,right=right<<2|right>>>26):(left=left<<1|left>>>27,right=right<<1|right>>>27),right&=-15;var lefttmp=pc2bytes0[(left&=-15)>>>28]|pc2bytes1[left>>>24&15]|pc2bytes2[left>>>20&15]|pc2bytes3[left>>>16&15]|pc2bytes4[left>>>12&15]|pc2bytes5[left>>>8&15]|pc2bytes6[left>>>4&15],righttmp=pc2bytes7[right>>>28]|pc2bytes8[right>>>24&15]|pc2bytes9[right>>>20&15]|pc2bytes10[right>>>16&15]|pc2bytes11[right>>>12&15]|pc2bytes12[right>>>8&15]|pc2bytes13[right>>>4&15];tmp=65535&(righttmp>>>16^lefttmp),keys[n++]=lefttmp^tmp,keys[n++]=righttmp^tmp<<16}}return keys}(key),this._init=!0}},registerAlgorithm("DES-ECB",forge.cipher.modes.ecb),registerAlgorithm("DES-CBC",forge.cipher.modes.cbc),registerAlgorithm("DES-CFB",forge.cipher.modes.cfb),registerAlgorithm("DES-OFB",forge.cipher.modes.ofb),registerAlgorithm("DES-CTR",forge.cipher.modes.ctr),registerAlgorithm("3DES-ECB",forge.cipher.modes.ecb),registerAlgorithm("3DES-CBC",forge.cipher.modes.cbc),registerAlgorithm("3DES-CFB",forge.cipher.modes.cfb),registerAlgorithm("3DES-OFB",forge.cipher.modes.ofb),registerAlgorithm("3DES-CTR",forge.cipher.modes.ctr);var spfunction1=[16843776,0,65536,16843780,16842756,66564,4,65536,1024,16843776,16843780,1024,16778244,16842756,16777216,4,1028,16778240,16778240,66560,66560,16842752,16842752,16778244,65540,16777220,16777220,65540,0,1028,66564,16777216,65536,16843780,4,16842752,16843776,16777216,16777216,1024,16842756,65536,66560,16777220,1024,4,16778244,66564,16843780,65540,16842752,16778244,16777220,1028,66564,16843776,1028,16778240,16778240,0,65540,66560,0,16842756],spfunction2=[-2146402272,-2147450880,32768,1081376,1048576,32,-2146435040,-2147450848,-2147483616,-2146402272,-2146402304,-2147483648,-2147450880,1048576,32,-2146435040,1081344,1048608,-2147450848,0,-2147483648,32768,1081376,-2146435072,1048608,-2147483616,0,1081344,32800,-2146402304,-2146435072,32800,0,1081376,-2146435040,1048576,-2147450848,-2146435072,-2146402304,32768,-2146435072,-2147450880,32,-2146402272,1081376,32,32768,-2147483648,32800,-2146402304,1048576,-2147483616,1048608,-2147450848,-2147483616,1048608,1081344,0,-2147450880,32800,-2147483648,-2146435040,-2146402272,1081344],spfunction3=[520,134349312,0,134348808,134218240,0,131592,134218240,131080,134217736,134217736,131072,134349320,131080,134348800,520,134217728,8,134349312,512,131584,134348800,134348808,131592,134218248,131584,131072,134218248,8,134349320,512,134217728,134349312,134217728,131080,520,131072,134349312,134218240,0,512,131080,134349320,134218240,134217736,512,0,134348808,134218248,131072,134217728,134349320,8,131592,131584,134217736,134348800,134218248,520,134348800,131592,8,134348808,131584],spfunction4=[8396801,8321,8321,128,8396928,8388737,8388609,8193,0,8396800,8396800,8396929,129,0,8388736,8388609,1,8192,8388608,8396801,128,8388608,8193,8320,8388737,1,8320,8388736,8192,8396928,8396929,129,8388736,8388609,8396800,8396929,129,0,0,8396800,8320,8388736,8388737,1,8396801,8321,8321,128,8396929,129,1,8192,8388609,8193,8396928,8388737,8193,8320,8388608,8396801,128,8388608,8192,8396928],spfunction5=[256,34078976,34078720,1107296512,524288,256,1073741824,34078720,1074266368,524288,33554688,1074266368,1107296512,1107820544,524544,1073741824,33554432,1074266112,1074266112,0,1073742080,1107820800,1107820800,33554688,1107820544,1073742080,0,1107296256,34078976,33554432,1107296256,524544,524288,1107296512,256,33554432,1073741824,34078720,1107296512,1074266368,33554688,1073741824,1107820544,34078976,1074266368,256,33554432,1107820544,1107820800,524544,1107296256,1107820800,34078720,0,1074266112,1107296256,524544,33554688,1073742080,524288,0,1074266112,34078976,1073742080],spfunction6=[536870928,541065216,16384,541081616,541065216,16,541081616,4194304,536887296,4210704,4194304,536870928,4194320,536887296,536870912,16400,0,4194320,536887312,16384,4210688,536887312,16,541065232,541065232,0,4210704,541081600,16400,4210688,541081600,536870912,536887296,16,541065232,4210688,541081616,4194304,16400,536870928,4194304,536887296,536870912,16400,536870928,541081616,4210688,541065216,4210704,541081600,0,541065232,16,16384,541065216,4210704,16384,4194320,536887312,0,541081600,536870912,4194320,536887312],spfunction7=[2097152,69206018,67110914,0,2048,67110914,2099202,69208064,69208066,2097152,0,67108866,2,67108864,69206018,2050,67110912,2099202,2097154,67110912,67108866,69206016,69208064,2097154,69206016,2048,2050,69208066,2099200,2,67108864,2099200,67108864,2099200,2097152,67110914,67110914,69206018,69206018,2,2097154,67108864,67110912,2097152,69208064,2050,2099202,69208064,2050,67108866,69208066,69206016,2099200,0,2,69208066,0,2099202,69206016,2048,67108866,67110912,2048,2097154],spfunction8=[268439616,4096,262144,268701760,268435456,268439616,64,268435456,262208,268697600,268701760,266240,268701696,266304,4096,64,268697600,268435520,268439552,4160,266240,262208,268697664,268701696,4160,0,0,268697664,268435520,268439552,266304,262144,266304,262144,268701696,4096,64,268697664,4096,266304,268439552,64,268435520,268697600,268697664,268435456,262144,268439616,0,268701760,262208,268435520,268697600,268439552,268439616,0,268701760,266240,266240,4160,4160,262208,268435456,268701696];function _updateBlock(keys,input,output,decrypt){var looping,tmp,iterations=32===keys.length?3:9;looping=3===iterations?decrypt?[30,-2,-2]:[0,32,2]:decrypt?[94,62,-2,32,64,2,30,-2,-2]:[0,32,2,62,30,-2,64,96,2];var left=input[0],right=input[1];left^=(tmp=252645135&(left>>>4^right))<<4,left^=(tmp=65535&(left>>>16^(right^=tmp)))<<16,left^=tmp=858993459&((right^=tmp)>>>2^left),left^=tmp=16711935&((right^=tmp<<2)>>>8^left),left=(left^=(tmp=1431655765&(left>>>1^(right^=tmp<<8)))<<1)<<1|left>>>31,right=(right^=tmp)<<1|right>>>31;for(var j=0;j<iterations;j+=3){for(var endloop=looping[j+1],loopinc=looping[j+2],i=looping[j];i!=endloop;i+=loopinc){var right1=right^keys[i],right2=(right>>>4|right<<28)^keys[i+1];tmp=left,left=right,right=tmp^(spfunction2[right1>>>24&63]|spfunction4[right1>>>16&63]|spfunction6[right1>>>8&63]|spfunction8[63&right1]|spfunction1[right2>>>24&63]|spfunction3[right2>>>16&63]|spfunction5[right2>>>8&63]|spfunction7[63&right2])}tmp=left,left=right,right=tmp}right=right>>>1|right<<31,right^=tmp=1431655765&((left=left>>>1|left<<31)>>>1^right),right^=(tmp=16711935&(right>>>8^(left^=tmp<<1)))<<8,right^=(tmp=858993459&(right>>>2^(left^=tmp)))<<2,right^=tmp=65535&((left^=tmp)>>>16^right),right^=tmp=252645135&((left^=tmp<<16)>>>4^right),left^=tmp<<4,output[0]=left,output[1]=right}function _createCipher(options){var cipher,algorithm="DES-"+((options=options||{}).mode||"CBC").toUpperCase(),start=(cipher=options.decrypt?forge.cipher.createDecipher(algorithm,options.key):forge.cipher.createCipher(algorithm,options.key)).start;return cipher.start=function(iv,options){var output=null;options instanceof forge.util.ByteBuffer&&(output=options,options={}),(options=options||{}).output=output,options.iv=iv,start.call(cipher,options)},cipher}return des}function requirePbkdf2(){if(hasRequiredPbkdf2)return pbkdf2;hasRequiredPbkdf2=1;var forge=requireForge();requireHmac(),requireMd(),requireUtil();var crypto,pkcs5=forge.pkcs5=forge.pkcs5||{};return forge.util.isNodejs&&!forge.options.usePureJavaScript&&(crypto=require$$0__default$1.default),pbkdf2=forge.pbkdf2=pkcs5.pbkdf2=function(p,s,c,dkLen,md,callback){if("function"==typeof md&&(callback=md,md=null),forge.util.isNodejs&&!forge.options.usePureJavaScript&&crypto.pbkdf2&&(null===md||"object"!=typeof md)&&(crypto.pbkdf2Sync.length>4||!md||"sha1"===md))return"string"!=typeof md&&(md="sha1"),p=Buffer.from(p,"binary"),s=Buffer.from(s,"binary"),callback?4===crypto.pbkdf2Sync.length?crypto.pbkdf2(p,s,c,dkLen,(function(err,key){if(err)return callback(err);callback(null,key.toString("binary"))})):crypto.pbkdf2(p,s,c,dkLen,md,(function(err,key){if(err)return callback(err);callback(null,key.toString("binary"))})):4===crypto.pbkdf2Sync.length?crypto.pbkdf2Sync(p,s,c,dkLen).toString("binary"):crypto.pbkdf2Sync(p,s,c,dkLen,md).toString("binary");if(null==md&&(md="sha1"),"string"==typeof md){if(!(md in forge.md.algorithms))throw new Error("Unknown hash algorithm: "+md);md=forge.md[md].create()}var hLen=md.digestLength;if(dkLen>4294967295*hLen){var err=new Error("Derived key is too long.");if(callback)return callback(err);throw err}var len=Math.ceil(dkLen/hLen),r=dkLen-(len-1)*hLen,prf=forge.hmac.create();prf.start(md,p);var xor,u_c,u_c1,dk="";if(!callback){for(var i=1;i<=len;++i){prf.start(null,null),prf.update(s),prf.update(forge.util.int32ToBytes(i)),xor=u_c1=prf.digest().getBytes();for(var j=2;j<=c;++j)prf.start(null,null),prf.update(u_c1),u_c=prf.digest().getBytes(),xor=forge.util.xorBytes(xor,u_c,hLen),u_c1=u_c;dk+=i<len?xor:xor.substr(0,r)}return dk}i=1;function outer(){if(i>len)return callback(null,dk);prf.start(null,null),prf.update(s),prf.update(forge.util.int32ToBytes(i)),xor=u_c1=prf.digest().getBytes(),j=2,inner()}function inner(){if(j<=c)return prf.start(null,null),prf.update(u_c1),u_c=prf.digest().getBytes(),xor=forge.util.xorBytes(xor,u_c,hLen),u_c1=u_c,++j,forge.util.setImmediate(inner);dk+=i<len?xor:xor.substr(0,r),++i,outer()}outer()},pbkdf2}var hasRequiredSha256,random={exports:{}},sha256={exports:{}};function requireSha256(){if(hasRequiredSha256)return sha256.exports;hasRequiredSha256=1;var forge=requireForge();requireMd(),requireUtil();var sha256$1=sha256.exports=forge.sha256=forge.sha256||{};forge.md.sha256=forge.md.algorithms.sha256=sha256$1,sha256$1.create=function(){_initialized||function _init(){_padding=String.fromCharCode(128),_padding+=forge.util.fillString(String.fromCharCode(0),64),_k=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298],_initialized=!0}();var _state=null,_input=forge.util.createBuffer(),_w=new Array(64),md={algorithm:"sha256",blockLength:64,digestLength:32,messageLength:0,fullMessageLength:null,messageLengthSize:8,start:function(){md.messageLength=0,md.fullMessageLength=md.messageLength64=[];for(var int32s=md.messageLengthSize/4,i=0;i<int32s;++i)md.fullMessageLength.push(0);return _input=forge.util.createBuffer(),_state={h0:1779033703,h1:3144134277,h2:1013904242,h3:2773480762,h4:1359893119,h5:2600822924,h6:528734635,h7:1541459225},md}};return md.start(),md.update=function(msg,encoding){"utf8"===encoding&&(msg=forge.util.encodeUtf8(msg));var len=msg.length;md.messageLength+=len,len=[len/4294967296>>>0,len>>>0];for(var i=md.fullMessageLength.length-1;i>=0;--i)md.fullMessageLength[i]+=len[1],len[1]=len[0]+(md.fullMessageLength[i]/4294967296>>>0),md.fullMessageLength[i]=md.fullMessageLength[i]>>>0,len[0]=len[1]/4294967296>>>0;return _input.putBytes(msg),_update(_state,_w,_input),(_input.read>2048||0===_input.length())&&_input.compact(),md},md.digest=function(){var finalBlock=forge.util.createBuffer();finalBlock.putBytes(_input.bytes());var next,overflow=md.fullMessageLength[md.fullMessageLength.length-1]+md.messageLengthSize&md.blockLength-1;finalBlock.putBytes(_padding.substr(0,md.blockLength-overflow));for(var bits=8*md.fullMessageLength[0],i=0;i<md.fullMessageLength.length-1;++i)bits+=(next=8*md.fullMessageLength[i+1])/4294967296>>>0,finalBlock.putInt32(bits>>>0),bits=next>>>0;finalBlock.putInt32(bits);var s2={h0:_state.h0,h1:_state.h1,h2:_state.h2,h3:_state.h3,h4:_state.h4,h5:_state.h5,h6:_state.h6,h7:_state.h7};_update(s2,_w,finalBlock);var rval=forge.util.createBuffer();return rval.putInt32(s2.h0),rval.putInt32(s2.h1),rval.putInt32(s2.h2),rval.putInt32(s2.h3),rval.putInt32(s2.h4),rval.putInt32(s2.h5),rval.putInt32(s2.h6),rval.putInt32(s2.h7),rval},md};var _padding=null,_initialized=!1,_k=null;function _update(s,w,bytes){for(var t1,t2,s0,maj,i,a,b,c,d,e,f,g,h,len=bytes.length();len>=64;){for(i=0;i<16;++i)w[i]=bytes.getInt32();for(;i<64;++i)t1=((t1=w[i-2])>>>17|t1<<15)^(t1>>>19|t1<<13)^t1>>>10,t2=((t2=w[i-15])>>>7|t2<<25)^(t2>>>18|t2<<14)^t2>>>3,w[i]=t1+w[i-7]+t2+w[i-16]|0;for(a=s.h0,b=s.h1,c=s.h2,d=s.h3,e=s.h4,f=s.h5,g=s.h6,h=s.h7,i=0;i<64;++i)s0=(a>>>2|a<<30)^(a>>>13|a<<19)^(a>>>22|a<<10),maj=a&b|c&(a^b),t1=h+((e>>>6|e<<26)^(e>>>11|e<<21)^(e>>>25|e<<7))+(g^e&(f^g))+_k[i]+w[i],h=g,g=f,f=e,e=d+t1>>>0,d=c,c=b,b=a,a=t1+(t2=s0+maj)>>>0;s.h0=s.h0+a|0,s.h1=s.h1+b|0,s.h2=s.h2+c|0,s.h3=s.h3+d|0,s.h4=s.h4+e|0,s.h5=s.h5+f|0,s.h6=s.h6+g|0,s.h7=s.h7+h|0,len-=64}}return sha256.exports}var hasRequiredPrng,hasRequiredRandom,rc2,hasRequiredRc2,jsbn,hasRequiredJsbn,prng={exports:{}};function requirePrng(){if(hasRequiredPrng)return prng.exports;hasRequiredPrng=1;var forge=requireForge();requireUtil();var _crypto=null;return!forge.util.isNodejs||forge.options.usePureJavaScript||process.versions["node-webkit"]||(_crypto=require$$0__default$1.default),(prng.exports=forge.prng=forge.prng||{}).create=function(plugin){for(var ctx={plugin:plugin,key:null,seed:null,time:null,reseeds:0,generated:0,keyBytes:""},md=plugin.md,pools=new Array(32),i=0;i<32;++i)pools[i]=md.create();function _reseedSync(){if(ctx.pools[0].messageLength>=32)return _seed();var needed=32-ctx.pools[0].messageLength<<5;ctx.collect(ctx.seedFileSync(needed)),_seed()}function _seed(){ctx.reseeds=4294967295===ctx.reseeds?0:ctx.reseeds+1;var md=ctx.plugin.md.create();md.update(ctx.keyBytes);for(var _2powK=1,k=0;k<32;++k)ctx.reseeds%_2powK==0&&(md.update(ctx.pools[k].digest().getBytes()),ctx.pools[k].start()),_2powK<<=1;ctx.keyBytes=md.digest().getBytes(),md.start(),md.update(ctx.keyBytes);var seedBytes=md.digest().getBytes();ctx.key=ctx.plugin.formatKey(ctx.keyBytes),ctx.seed=ctx.plugin.formatSeed(seedBytes),ctx.generated=0}function defaultSeedFile(needed){var getRandomValues=null,globalScope=forge.util.globalScope,_crypto=globalScope.crypto||globalScope.msCrypto;_crypto&&_crypto.getRandomValues&&(getRandomValues=function(arr){return _crypto.getRandomValues(arr)});var b=forge.util.createBuffer();if(getRandomValues)for(;b.length()<needed;){var count=Math.max(1,Math.min(needed-b.length(),65536)/4),entropy=new Uint32Array(Math.floor(count));try{getRandomValues(entropy);for(var i=0;i<entropy.length;++i)b.putInt32(entropy[i])}catch(e){if(!("undefined"!=typeof QuotaExceededError&&e instanceof QuotaExceededError))throw e}}if(b.length()<needed)for(var hi,lo,next,seed=Math.floor(65536*Math.random());b.length()<needed;){lo=16807*(65535&seed),lo+=(32767&(hi=16807*(seed>>16)))<<16,seed=4294967295&(lo=(2147483647&(lo+=hi>>15))+(lo>>31));for(i=0;i<3;++i)next=seed>>>(i<<3),next^=Math.floor(256*Math.random()),b.putByte(255&next)}return b.getBytes(needed)}return ctx.pools=pools,ctx.pool=0,ctx.generate=function(count,callback){if(!callback)return ctx.generateSync(count);var cipher=ctx.plugin.cipher,increment=ctx.plugin.increment,formatKey=ctx.plugin.formatKey,formatSeed=ctx.plugin.formatSeed,b=forge.util.createBuffer();ctx.key=null,function generate(err){if(err)return callback(err);if(b.length()>=count)return callback(null,b.getBytes(count));ctx.generated>1048575&&(ctx.key=null);if(null===ctx.key)return forge.util.nextTick((function(){!function _reseed(callback){if(ctx.pools[0].messageLength>=32)return _seed(),callback();var needed=32-ctx.pools[0].messageLength<<5;ctx.seedFile(needed,(function(err,bytes){if(err)return callback(err);ctx.collect(bytes),_seed(),callback()}))}(generate)}));var bytes=cipher(ctx.key,ctx.seed);ctx.generated+=bytes.length,b.putBytes(bytes),ctx.key=formatKey(cipher(ctx.key,increment(ctx.seed))),ctx.seed=formatSeed(cipher(ctx.key,ctx.seed)),forge.util.setImmediate(generate)}()},ctx.generateSync=function(count){var cipher=ctx.plugin.cipher,increment=ctx.plugin.increment,formatKey=ctx.plugin.formatKey,formatSeed=ctx.plugin.formatSeed;ctx.key=null;for(var b=forge.util.createBuffer();b.length()<count;){ctx.generated>1048575&&(ctx.key=null),null===ctx.key&&_reseedSync();var bytes=cipher(ctx.key,ctx.seed);ctx.generated+=bytes.length,b.putBytes(bytes),ctx.key=formatKey(cipher(ctx.key,increment(ctx.seed))),ctx.seed=formatSeed(cipher(ctx.key,ctx.seed))}return b.getBytes(count)},_crypto?(ctx.seedFile=function(needed,callback){_crypto.randomBytes(needed,(function(err,bytes){if(err)return callback(err);callback(null,bytes.toString())}))},ctx.seedFileSync=function(needed){return _crypto.randomBytes(needed).toString()}):(ctx.seedFile=function(needed,callback){try{callback(null,defaultSeedFile(needed))}catch(e){callback(e)}},ctx.seedFileSync=defaultSeedFile),ctx.collect=function(bytes){for(var count=bytes.length,i=0;i<count;++i)ctx.pools[ctx.pool].update(bytes.substr(i,1)),ctx.pool=31===ctx.pool?0:ctx.pool+1},ctx.collectInt=function(i,n){for(var bytes="",x=0;x<n;x+=8)bytes+=String.fromCharCode(i>>x&255);ctx.collect(bytes)},ctx.registerWorker=function(worker){if(worker===self)ctx.seedFile=function(needed,callback){self.addEventListener("message",(function listener(e){var data=e.data;data.forge&&data.forge.prng&&(self.removeEventListener("message",listener),callback(data.forge.prng.err,data.forge.prng.bytes))})),self.postMessage({forge:{prng:{needed:needed}}})};else{worker.addEventListener("message",(function(e){var data=e.data;data.forge&&data.forge.prng&&ctx.seedFile(data.forge.prng.needed,(function(err,bytes){worker.postMessage({forge:{prng:{err:err,bytes:bytes}}})}))}))}},ctx},prng.exports}function requireRandom(){if(hasRequiredRandom)return random.exports;hasRequiredRandom=1;var forge=requireForge();return requireAes(),requireSha256(),requirePrng(),requireUtil(),forge.random&&forge.random.getBytes?random.exports=forge.random:function(jQuery){var prng_aes={},_prng_aes_output=new Array(4),_prng_aes_buffer=forge.util.createBuffer();function spawnPrng(){var ctx=forge.prng.create(prng_aes);return ctx.getBytes=function(count,callback){return ctx.generate(count,callback)},ctx.getBytesSync=function(count){return ctx.generate(count)},ctx}prng_aes.formatKey=function(key){var tmp=forge.util.createBuffer(key);return(key=new Array(4))[0]=tmp.getInt32(),key[1]=tmp.getInt32(),key[2]=tmp.getInt32(),key[3]=tmp.getInt32(),forge.aes._expandKey(key,!1)},prng_aes.formatSeed=function(seed){var tmp=forge.util.createBuffer(seed);return(seed=new Array(4))[0]=tmp.getInt32(),seed[1]=tmp.getInt32(),seed[2]=tmp.getInt32(),seed[3]=tmp.getInt32(),seed},prng_aes.cipher=function(key,seed){return forge.aes._updateBlock(key,seed,_prng_aes_output,!1),_prng_aes_buffer.putInt32(_prng_aes_output[0]),_prng_aes_buffer.putInt32(_prng_aes_output[1]),_prng_aes_buffer.putInt32(_prng_aes_output[2]),_prng_aes_buffer.putInt32(_prng_aes_output[3]),_prng_aes_buffer.getBytes()},prng_aes.increment=function(seed){return++seed[3],seed},prng_aes.md=forge.md.sha256;var _ctx=spawnPrng(),getRandomValues=null,globalScope=forge.util.globalScope,_crypto=globalScope.crypto||globalScope.msCrypto;if(_crypto&&_crypto.getRandomValues&&(getRandomValues=function(arr){return _crypto.getRandomValues(arr)}),forge.options.usePureJavaScript||!forge.util.isNodejs&&!getRandomValues){if(_ctx.collectInt(+new Date,32),"undefined"!=typeof navigator){var _navBytes="";for(var key in navigator)try{"string"==typeof navigator[key]&&(_navBytes+=navigator[key])}catch(e){}_ctx.collect(_navBytes),_navBytes=null}jQuery&&(jQuery().mousemove((function(e){_ctx.collectInt(e.clientX,16),_ctx.collectInt(e.clientY,16)})),jQuery().keypress((function(e){_ctx.collectInt(e.charCode,8)})))}if(forge.random)for(var key in _ctx)forge.random[key]=_ctx[key];else forge.random=_ctx;forge.random.createInstance=spawnPrng,random.exports=forge.random}("undefined"!=typeof jQuery?jQuery:null),random.exports}function requireRc2(){if(hasRequiredRc2)return rc2;hasRequiredRc2=1;var forge=requireForge();requireUtil();var piTable=[217,120,249,196,25,221,181,237,40,233,253,121,74,160,216,157,198,126,55,131,43,118,83,142,98,76,100,136,68,139,251,162,23,154,89,245,135,179,79,19,97,69,109,141,9,129,125,50,189,143,64,235,134,183,123,11,240,149,33,34,92,107,78,130,84,214,101,147,206,96,178,28,115,86,192,20,167,140,241,220,18,117,202,31,59,190,228,209,66,61,212,48,163,60,182,38,111,191,14,218,70,105,7,87,39,242,29,155,188,148,67,3,248,17,199,246,144,239,62,231,6,195,213,47,200,102,30,215,8,232,234,222,128,82,238,247,132,170,114,172,53,77,106,42,150,26,210,113,90,21,73,116,75,159,208,94,4,24,164,236,194,224,65,110,15,81,203,204,36,145,175,80,161,244,112,57,153,124,58,133,35,184,180,122,252,2,54,91,37,85,151,49,45,93,250,152,227,138,146,174,5,223,41,16,103,108,186,201,211,0,230,207,225,158,168,44,99,22,1,63,88,226,137,169,13,56,52,27,171,51,255,176,187,72,12,95,185,177,205,46,197,243,219,71,229,165,156,119,10,166,32,104,254,127,193,173],s=[1,2,3,5],rol=function(word,bits){return word<<bits&65535|(65535&word)>>16-bits},ror=function(word,bits){return(65535&word)>>bits|word<<16-bits&65535};rc2=forge.rc2=forge.rc2||{},forge.rc2.expandKey=function(key,effKeyBits){"string"==typeof key&&(key=forge.util.createBuffer(key)),effKeyBits=effKeyBits||128;var i,L=key,T=key.length(),T1=effKeyBits,T8=Math.ceil(T1/8),TM=255>>(7&T1);for(i=T;i<128;i++)L.putByte(piTable[L.at(i-1)+L.at(i-T)&255]);for(L.setAt(128-T8,piTable[L.at(128-T8)&TM]),i=127-T8;i>=0;i--)L.setAt(i,piTable[L.at(i+1)^L.at(i+T8)]);return L};var createCipher=function(key,bits,encrypt){var mixRound,mashRound,i,j,_finish=!1,_input=null,_output=null,_iv=null,K=[];for(key=forge.rc2.expandKey(key,bits),i=0;i<64;i++)K.push(key.getInt16Le());encrypt?(mixRound=function(R){for(i=0;i<4;i++)R[i]+=K[j]+(R[(i+3)%4]&R[(i+2)%4])+(~R[(i+3)%4]&R[(i+1)%4]),R[i]=rol(R[i],s[i]),j++},mashRound=function(R){for(i=0;i<4;i++)R[i]+=K[63&R[(i+3)%4]]}):(mixRound=function(R){for(i=3;i>=0;i--)R[i]=ror(R[i],s[i]),R[i]-=K[j]+(R[(i+3)%4]&R[(i+2)%4])+(~R[(i+3)%4]&R[(i+1)%4]),j--},mashRound=function(R){for(i=3;i>=0;i--)R[i]-=K[63&R[(i+3)%4]]});var runPlan=function(plan){var R=[];for(i=0;i<4;i++){var val=_input.getInt16Le();null!==_iv&&(encrypt?val^=_iv.getInt16Le():_iv.putInt16Le(val)),R.push(65535&val)}j=encrypt?0:63;for(var ptr=0;ptr<plan.length;ptr++)for(var ctr=0;ctr<plan[ptr][0];ctr++)plan[ptr][1](R);for(i=0;i<4;i++)null!==_iv&&(encrypt?_iv.putInt16Le(R[i]):R[i]^=_iv.getInt16Le()),_output.putInt16Le(R[i])},cipher=null;return cipher={start:function(iv,output){iv&&"string"==typeof iv&&(iv=forge.util.createBuffer(iv)),_finish=!1,_input=forge.util.createBuffer(),_output=output||new forge.util.createBuffer,_iv=iv,cipher.output=_output},update:function(input){for(_finish||_input.putBuffer(input);_input.length()>=8;)runPlan([[5,mixRound],[1,mashRound],[6,mixRound],[1,mashRound],[5,mixRound]])},finish:function(pad){var rval=!0;if(encrypt)if(pad)rval=pad(8,_input,!encrypt);else{var padding=8===_input.length()?8:8-_input.length();_input.fillWithByte(padding,padding)}if(rval&&(_finish=!0,cipher.update()),!encrypt&&(rval=0===_input.length()))if(pad)rval=pad(8,_output,!encrypt);else{var len=_output.length(),count=_output.at(len-1);count>len?rval=!1:_output.truncate(count)}return rval}}};return forge.rc2.startEncrypting=function(key,iv,output){var cipher=forge.rc2.createEncryptionCipher(key,128);return cipher.start(iv,output),cipher},forge.rc2.createEncryptionCipher=function(key,bits){return createCipher(key,bits,!0)},forge.rc2.startDecrypting=function(key,iv,output){var cipher=forge.rc2.createDecryptionCipher(key,128);return cipher.start(iv,output),cipher},forge.rc2.createDecryptionCipher=function(key,bits){return createCipher(key,bits,!1)},rc2}function requireJsbn(){if(hasRequiredJsbn)return jsbn;hasRequiredJsbn=1;var dbits,forge=requireForge();function BigInteger(a,b,c){this.data=[],null!=a&&("number"==typeof a?this.fromNumber(a,b,c):null==b&&"string"!=typeof a?this.fromString(a,256):this.fromString(a,b))}function nbi(){return new BigInteger(null)}function am3(i,x,w,j,c,n){for(var xl=16383&x,xh=x>>14;--n>=0;){var l=16383&this.data[i],h=this.data[i++]>>14,m=xh*l+h*xl;c=((l=xl*l+((16383&m)<<14)+w.data[j]+c)>>28)+(m>>14)+xh*h,w.data[j++]=268435455&l}return c}jsbn=forge.jsbn=forge.jsbn||{},forge.jsbn.BigInteger=BigInteger,"undefined"==typeof navigator?(BigInteger.prototype.am=am3,dbits=28):"Microsoft Internet Explorer"==navigator.appName?(BigInteger.prototype.am=function am2(i,x,w,j,c,n){for(var xl=32767&x,xh=x>>15;--n>=0;){var l=32767&this.data[i],h=this.data[i++]>>15,m=xh*l+h*xl;c=((l=xl*l+((32767&m)<<15)+w.data[j]+(1073741823&c))>>>30)+(m>>>15)+xh*h+(c>>>30),w.data[j++]=1073741823&l}return c},dbits=30):"Netscape"!=navigator.appName?(BigInteger.prototype.am=function am1(i,x,w,j,c,n){for(;--n>=0;){var v=x*this.data[i++]+w.data[j]+c;c=Math.floor(v/67108864),w.data[j++]=67108863&v}return c},dbits=26):(BigInteger.prototype.am=am3,dbits=28),BigInteger.prototype.DB=dbits,BigInteger.prototype.DM=(1<<dbits)-1,BigInteger.prototype.DV=1<<dbits;BigInteger.prototype.FV=Math.pow(2,52),BigInteger.prototype.F1=52-dbits,BigInteger.prototype.F2=2*dbits-52;var rr,vv,BI_RC=new Array;for(rr="0".charCodeAt(0),vv=0;vv<=9;++vv)BI_RC[rr++]=vv;for(rr="a".charCodeAt(0),vv=10;vv<36;++vv)BI_RC[rr++]=vv;for(rr="A".charCodeAt(0),vv=10;vv<36;++vv)BI_RC[rr++]=vv;function int2char(n){return"0123456789abcdefghijklmnopqrstuvwxyz".charAt(n)}function intAt(s,i){var c=BI_RC[s.charCodeAt(i)];return null==c?-1:c}function nbv(i){var r=nbi();return r.fromInt(i),r}function nbits(x){var t,r=1;return 0!=(t=x>>>16)&&(x=t,r+=16),0!=(t=x>>8)&&(x=t,r+=8),0!=(t=x>>4)&&(x=t,r+=4),0!=(t=x>>2)&&(x=t,r+=2),0!=(t=x>>1)&&(x=t,r+=1),r}function Classic(m){this.m=m}function Montgomery(m){this.m=m,this.mp=m.invDigit(),this.mpl=32767&this.mp,this.mph=this.mp>>15,this.um=(1<<m.DB-15)-1,this.mt2=2*m.t}function op_and(x,y){return x&y}function op_or(x,y){return x|y}function op_xor(x,y){return x^y}function op_andnot(x,y){return x&~y}function lbit(x){if(0==x)return-1;var r=0;return 65535&x||(x>>=16,r+=16),255&x||(x>>=8,r+=8),15&x||(x>>=4,r+=4),3&x||(x>>=2,r+=2),1&x||++r,r}function cbit(x){for(var r=0;0!=x;)x&=x-1,++r;return r}function NullExp(){}function nNop(x){return x}function Barrett(m){this.r2=nbi(),this.q3=nbi(),BigInteger.ONE.dlShiftTo(2*m.t,this.r2),this.mu=this.r2.divide(m),this.m=m}Classic.prototype.convert=function cConvert(x){return x.s<0||x.compareTo(this.m)>=0?x.mod(this.m):x},Classic.prototype.revert=function cRevert(x){return x},Classic.prototype.reduce=function cReduce(x){x.divRemTo(this.m,null,x)},Classic.prototype.mulTo=function cMulTo(x,y,r){x.multiplyTo(y,r),this.reduce(r)},Classic.prototype.sqrTo=function cSqrTo(x,r){x.squareTo(r),this.reduce(r)},Montgomery.prototype.convert=function montConvert(x){var r=nbi();return x.abs().dlShiftTo(this.m.t,r),r.divRemTo(this.m,null,r),x.s<0&&r.compareTo(BigInteger.ZERO)>0&&this.m.subTo(r,r),r},Montgomery.prototype.revert=function montRevert(x){var r=nbi();return x.copyTo(r),this.reduce(r),r},Montgomery.prototype.reduce=function montReduce(x){for(;x.t<=this.mt2;)x.data[x.t++]=0;for(var i=0;i<this.m.t;++i){var j=32767&x.data[i],u0=j*this.mpl+((j*this.mph+(x.data[i]>>15)*this.mpl&this.um)<<15)&x.DM;for(j=i+this.m.t,x.data[j]+=this.m.am(0,u0,x,i,0,this.m.t);x.data[j]>=x.DV;)x.data[j]-=x.DV,x.data[++j]++}x.clamp(),x.drShiftTo(this.m.t,x),x.compareTo(this.m)>=0&&x.subTo(this.m,x)},Montgomery.prototype.mulTo=function montMulTo(x,y,r){x.multiplyTo(y,r),this.reduce(r)},Montgomery.prototype.sqrTo=function montSqrTo(x,r){x.squareTo(r),this.reduce(r)},BigInteger.prototype.copyTo=function bnpCopyTo(r){for(var i=this.t-1;i>=0;--i)r.data[i]=this.data[i];r.t=this.t,r.s=this.s},BigInteger.prototype.fromInt=function bnpFromInt(x){this.t=1,this.s=x<0?-1:0,x>0?this.data[0]=x:x<-1?this.data[0]=x+this.DV:this.t=0},BigInteger.prototype.fromString=function bnpFromString(s,b){var k;if(16==b)k=4;else if(8==b)k=3;else if(256==b)k=8;else if(2==b)k=1;else if(32==b)k=5;else{if(4!=b)return void this.fromRadix(s,b);k=2}this.t=0,this.s=0;for(var i=s.length,mi=!1,sh=0;--i>=0;){var x=8==k?255&s[i]:intAt(s,i);x<0?"-"==s.charAt(i)&&(mi=!0):(mi=!1,0==sh?this.data[this.t++]=x:sh+k>this.DB?(this.data[this.t-1]|=(x&(1<<this.DB-sh)-1)<<sh,this.data[this.t++]=x>>this.DB-sh):this.data[this.t-1]|=x<<sh,(sh+=k)>=this.DB&&(sh-=this.DB))}8==k&&128&s[0]&&(this.s=-1,sh>0&&(this.data[this.t-1]|=(1<<this.DB-sh)-1<<sh)),this.clamp(),mi&&BigInteger.ZERO.subTo(this,this)},BigInteger.prototype.clamp=function bnpClamp(){for(var c=this.s&this.DM;this.t>0&&this.data[this.t-1]==c;)--this.t},BigInteger.prototype.dlShiftTo=function bnpDLShiftTo(n,r){var i;for(i=this.t-1;i>=0;--i)r.data[i+n]=this.data[i];for(i=n-1;i>=0;--i)r.data[i]=0;r.t=this.t+n,r.s=this.s},BigInteger.prototype.drShiftTo=function bnpDRShiftTo(n,r){for(var i=n;i<this.t;++i)r.data[i-n]=this.data[i];r.t=Math.max(this.t-n,0),r.s=this.s},BigInteger.prototype.lShiftTo=function bnpLShiftTo(n,r){var i,bs=n%this.DB,cbs=this.DB-bs,bm=(1<<cbs)-1,ds=Math.floor(n/this.DB),c=this.s<<bs&this.DM;for(i=this.t-1;i>=0;--i)r.data[i+ds+1]=this.data[i]>>cbs|c,c=(this.data[i]&bm)<<bs;for(i=ds-1;i>=0;--i)r.data[i]=0;r.data[ds]=c,r.t=this.t+ds+1,r.s=this.s,r.clamp()},BigInteger.prototype.rShiftTo=function bnpRShiftTo(n,r){r.s=this.s;var ds=Math.floor(n/this.DB);if(ds>=this.t)r.t=0;else{var bs=n%this.DB,cbs=this.DB-bs,bm=(1<<bs)-1;r.data[0]=this.data[ds]>>bs;for(var i=ds+1;i<this.t;++i)r.data[i-ds-1]|=(this.data[i]&bm)<<cbs,r.data[i-ds]=this.data[i]>>bs;bs>0&&(r.data[this.t-ds-1]|=(this.s&bm)<<cbs),r.t=this.t-ds,r.clamp()}},BigInteger.prototype.subTo=function bnpSubTo(a,r){for(var i=0,c=0,m=Math.min(a.t,this.t);i<m;)c+=this.data[i]-a.data[i],r.data[i++]=c&this.DM,c>>=this.DB;if(a.t<this.t){for(c-=a.s;i<this.t;)c+=this.data[i],r.data[i++]=c&this.DM,c>>=this.DB;c+=this.s}else{for(c+=this.s;i<a.t;)c-=a.data[i],r.data[i++]=c&this.DM,c>>=this.DB;c-=a.s}r.s=c<0?-1:0,c<-1?r.data[i++]=this.DV+c:c>0&&(r.data[i++]=c),r.t=i,r.clamp()},BigInteger.prototype.multiplyTo=function bnpMultiplyTo(a,r){var x=this.abs(),y=a.abs(),i=x.t;for(r.t=i+y.t;--i>=0;)r.data[i]=0;for(i=0;i<y.t;++i)r.data[i+x.t]=x.am(0,y.data[i],r,i,0,x.t);r.s=0,r.clamp(),this.s!=a.s&&BigInteger.ZERO.subTo(r,r)},BigInteger.prototype.squareTo=function bnpSquareTo(r){for(var x=this.abs(),i=r.t=2*x.t;--i>=0;)r.data[i]=0;for(i=0;i<x.t-1;++i){var c=x.am(i,x.data[i],r,2*i,0,1);(r.data[i+x.t]+=x.am(i+1,2*x.data[i],r,2*i+1,c,x.t-i-1))>=x.DV&&(r.data[i+x.t]-=x.DV,r.data[i+x.t+1]=1)}r.t>0&&(r.data[r.t-1]+=x.am(i,x.data[i],r,2*i,0,1)),r.s=0,r.clamp()},BigInteger.prototype.divRemTo=function bnpDivRemTo(m,q,r){var pm=m.abs();if(!(pm.t<=0)){var pt=this.abs();if(pt.t<pm.t)return null!=q&&q.fromInt(0),void(null!=r&&this.copyTo(r));null==r&&(r=nbi());var y=nbi(),ts=this.s,ms=m.s,nsh=this.DB-nbits(pm.data[pm.t-1]);nsh>0?(pm.lShiftTo(nsh,y),pt.lShiftTo(nsh,r)):(pm.copyTo(y),pt.copyTo(r));var ys=y.t,y0=y.data[ys-1];if(0!=y0){var yt=y0*(1<<this.F1)+(ys>1?y.data[ys-2]>>this.F2:0),d1=this.FV/yt,d2=(1<<this.F1)/yt,e=1<<this.F2,i=r.t,j=i-ys,t=null==q?nbi():q;for(y.dlShiftTo(j,t),r.compareTo(t)>=0&&(r.data[r.t++]=1,r.subTo(t,r)),BigInteger.ONE.dlShiftTo(ys,t),t.subTo(y,y);y.t<ys;)y.data[y.t++]=0;for(;--j>=0;){var qd=r.data[--i]==y0?this.DM:Math.floor(r.data[i]*d1+(r.data[i-1]+e)*d2);if((r.data[i]+=y.am(0,qd,r,j,0,ys))<qd)for(y.dlShiftTo(j,t),r.subTo(t,r);r.data[i]<--qd;)r.subTo(t,r)}null!=q&&(r.drShiftTo(ys,q),ts!=ms&&BigInteger.ZERO.subTo(q,q)),r.t=ys,r.clamp(),nsh>0&&r.rShiftTo(nsh,r),ts<0&&BigInteger.ZERO.subTo(r,r)}}},BigInteger.prototype.invDigit=function bnpInvDigit(){if(this.t<1)return 0;var x=this.data[0];if(!(1&x))return 0;var y=3&x;return(y=(y=(y=(y=y*(2-(15&x)*y)&15)*(2-(255&x)*y)&255)*(2-((65535&x)*y&65535))&65535)*(2-x*y%this.DV)%this.DV)>0?this.DV-y:-y},BigInteger.prototype.isEven=function bnpIsEven(){return 0==(this.t>0?1&this.data[0]:this.s)},BigInteger.prototype.exp=function bnpExp(e,z){if(e>4294967295||e<1)return BigInteger.ONE;var r=nbi(),r2=nbi(),g=z.convert(this),i=nbits(e)-1;for(g.copyTo(r);--i>=0;)if(z.sqrTo(r,r2),(e&1<<i)>0)z.mulTo(r2,g,r);else{var t=r;r=r2,r2=t}return z.revert(r)},BigInteger.prototype.toString=function bnToString(b){if(this.s<0)return"-"+this.negate().toString(b);var k;if(16==b)k=4;else if(8==b)k=3;else if(2==b)k=1;else if(32==b)k=5;else{if(4!=b)return this.toRadix(b);k=2}var d,km=(1<<k)-1,m=!1,r="",i=this.t,p=this.DB-i*this.DB%k;if(i-- >0)for(p<this.DB&&(d=this.data[i]>>p)>0&&(m=!0,r=int2char(d));i>=0;)p<k?(d=(this.data[i]&(1<<p)-1)<<k-p,d|=this.data[--i]>>(p+=this.DB-k)):(d=this.data[i]>>(p-=k)&km,p<=0&&(p+=this.DB,--i)),d>0&&(m=!0),m&&(r+=int2char(d));return m?r:"0"},BigInteger.prototype.negate=function bnNegate(){var r=nbi();return BigInteger.ZERO.subTo(this,r),r},BigInteger.prototype.abs=function bnAbs(){return this.s<0?this.negate():this},BigInteger.prototype.compareTo=function bnCompareTo(a){var r=this.s-a.s;if(0!=r)return r;var i=this.t;if(0!=(r=i-a.t))return this.s<0?-r:r;for(;--i>=0;)if(0!=(r=this.data[i]-a.data[i]))return r;return 0},BigInteger.prototype.bitLength=function bnBitLength(){return this.t<=0?0:this.DB*(this.t-1)+nbits(this.data[this.t-1]^this.s&this.DM)},BigInteger.prototype.mod=function bnMod(a){var r=nbi();return this.abs().divRemTo(a,null,r),this.s<0&&r.compareTo(BigInteger.ZERO)>0&&a.subTo(r,r),r},BigInteger.prototype.modPowInt=function bnModPowInt(e,m){var z;return z=e<256||m.isEven()?new Classic(m):new Montgomery(m),this.exp(e,z)},BigInteger.ZERO=nbv(0),BigInteger.ONE=nbv(1),NullExp.prototype.convert=nNop,NullExp.prototype.revert=nNop,NullExp.prototype.mulTo=function nMulTo(x,y,r){x.multiplyTo(y,r)},NullExp.prototype.sqrTo=function nSqrTo(x,r){x.squareTo(r)},Barrett.prototype.convert=function barrettConvert(x){if(x.s<0||x.t>2*this.m.t)return x.mod(this.m);if(x.compareTo(this.m)<0)return x;var r=nbi();return x.copyTo(r),this.reduce(r),r},Barrett.prototype.revert=function barrettRevert(x){return x},Barrett.prototype.reduce=function barrettReduce(x){for(x.drShiftTo(this.m.t-1,this.r2),x.t>this.m.t+1&&(x.t=this.m.t+1,x.clamp()),this.mu.multiplyUpperTo(this.r2,this.m.t+1,this.q3),this.m.multiplyLowerTo(this.q3,this.m.t+1,this.r2);x.compareTo(this.r2)<0;)x.dAddOffset(1,this.m.t+1);for(x.subTo(this.r2,x);x.compareTo(this.m)>=0;)x.subTo(this.m,x)},Barrett.prototype.mulTo=function barrettMulTo(x,y,r){x.multiplyTo(y,r),this.reduce(r)},Barrett.prototype.sqrTo=function barrettSqrTo(x,r){x.squareTo(r),this.reduce(r)};var lowprimes=[2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,107,109,113,127,131,137,139,149,151,157,163,167,173,179,181,191,193,197,199,211,223,227,229,233,239,241,251,257,263,269,271,277,281,283,293,307,311,313,317,331,337,347,349,353,359,367,373,379,383,389,397,401,409,419,421,431,433,439,443,449,457,461,463,467,479,487,491,499,503,509],lplim=(1<<26)/lowprimes[lowprimes.length-1];return BigInteger.prototype.chunkSize=function bnpChunkSize(r){return Math.floor(Math.LN2*this.DB/Math.log(r))},BigInteger.prototype.toRadix=function bnpToRadix(b){if(null==b&&(b=10),0==this.signum()||b<2||b>36)return"0";var cs=this.chunkSize(b),a=Math.pow(b,cs),d=nbv(a),y=nbi(),z=nbi(),r="";for(this.divRemTo(d,y,z);y.signum()>0;)r=(a+z.intValue()).toString(b).substr(1)+r,y.divRemTo(d,y,z);return z.intValue().toString(b)+r},BigInteger.prototype.fromRadix=function bnpFromRadix(s,b){this.fromInt(0),null==b&&(b=10);for(var cs=this.chunkSize(b),d=Math.pow(b,cs),mi=!1,j=0,w=0,i=0;i<s.length;++i){var x=intAt(s,i);x<0?"-"==s.charAt(i)&&0==this.signum()&&(mi=!0):(w=b*w+x,++j>=cs&&(this.dMultiply(d),this.dAddOffset(w,0),j=0,w=0))}j>0&&(this.dMultiply(Math.pow(b,j)),this.dAddOffset(w,0)),mi&&BigInteger.ZERO.subTo(this,this)},BigInteger.prototype.fromNumber=function bnpFromNumber(a,b,c){if("number"==typeof b)if(a<2)this.fromInt(1);else for(this.fromNumber(a,c),this.testBit(a-1)||this.bitwiseTo(BigInteger.ONE.shiftLeft(a-1),op_or,this),this.isEven()&&this.dAddOffset(1,0);!this.isProbablePrime(b);)this.dAddOffset(2,0),this.bitLength()>a&&this.subTo(BigInteger.ONE.shiftLeft(a-1),this);else{var x=new Array,t=7&a;x.length=1+(a>>3),b.nextBytes(x),t>0?x[0]&=(1<<t)-1:x[0]=0,this.fromString(x,256)}},BigInteger.prototype.bitwiseTo=function bnpBitwiseTo(a,op,r){var i,f,m=Math.min(a.t,this.t);for(i=0;i<m;++i)r.data[i]=op(this.data[i],a.data[i]);if(a.t<this.t){for(f=a.s&this.DM,i=m;i<this.t;++i)r.data[i]=op(this.data[i],f);r.t=this.t}else{for(f=this.s&this.DM,i=m;i<a.t;++i)r.data[i]=op(f,a.data[i]);r.t=a.t}r.s=op(this.s,a.s),r.clamp()},BigInteger.prototype.changeBit=function bnpChangeBit(n,op){var r=BigInteger.ONE.shiftLeft(n);return this.bitwiseTo(r,op,r),r},BigInteger.prototype.addTo=function bnpAddTo(a,r){for(var i=0,c=0,m=Math.min(a.t,this.t);i<m;)c+=this.data[i]+a.data[i],r.data[i++]=c&this.DM,c>>=this.DB;if(a.t<this.t){for(c+=a.s;i<this.t;)c+=this.data[i],r.data[i++]=c&this.DM,c>>=this.DB;c+=this.s}else{for(c+=this.s;i<a.t;)c+=a.data[i],r.data[i++]=c&this.DM,c>>=this.DB;c+=a.s}r.s=c<0?-1:0,c>0?r.data[i++]=c:c<-1&&(r.data[i++]=this.DV+c),r.t=i,r.clamp()},BigInteger.prototype.dMultiply=function bnpDMultiply(n){this.data[this.t]=this.am(0,n-1,this,0,0,this.t),++this.t,this.clamp()},BigInteger.prototype.dAddOffset=function bnpDAddOffset(n,w){if(0!=n){for(;this.t<=w;)this.data[this.t++]=0;for(this.data[w]+=n;this.data[w]>=this.DV;)this.data[w]-=this.DV,++w>=this.t&&(this.data[this.t++]=0),++this.data[w]}},BigInteger.prototype.multiplyLowerTo=function bnpMultiplyLowerTo(a,n,r){var j,i=Math.min(this.t+a.t,n);for(r.s=0,r.t=i;i>0;)r.data[--i]=0;for(j=r.t-this.t;i<j;++i)r.data[i+this.t]=this.am(0,a.data[i],r,i,0,this.t);for(j=Math.min(a.t,n);i<j;++i)this.am(0,a.data[i],r,i,0,n-i);r.clamp()},BigInteger.prototype.multiplyUpperTo=function bnpMultiplyUpperTo(a,n,r){--n;var i=r.t=this.t+a.t-n;for(r.s=0;--i>=0;)r.data[i]=0;for(i=Math.max(n-this.t,0);i<a.t;++i)r.data[this.t+i-n]=this.am(n-i,a.data[i],r,0,0,this.t+i-n);r.clamp(),r.drShiftTo(1,r)},BigInteger.prototype.modInt=function bnpModInt(n){if(n<=0)return 0;var d=this.DV%n,r=this.s<0?n-1:0;if(this.t>0)if(0==d)r=this.data[0]%n;else for(var i=this.t-1;i>=0;--i)r=(d*r+this.data[i])%n;return r},BigInteger.prototype.millerRabin=function bnpMillerRabin(t){var n1=this.subtract(BigInteger.ONE),k=n1.getLowestSetBit();if(k<=0)return!1;for(var a,r=n1.shiftRight(k),prng=function bnGetPrng(){return{nextBytes:function(x){for(var i=0;i<x.length;++i)x[i]=Math.floor(256*Math.random())}}}(),i=0;i<t;++i){do{a=new BigInteger(this.bitLength(),prng)}while(a.compareTo(BigInteger.ONE)<=0||a.compareTo(n1)>=0);var y=a.modPow(r,this);if(0!=y.compareTo(BigInteger.ONE)&&0!=y.compareTo(n1)){for(var j=1;j++<k&&0!=y.compareTo(n1);)if(0==(y=y.modPowInt(2,this)).compareTo(BigInteger.ONE))return!1;if(0!=y.compareTo(n1))return!1}}return!0},BigInteger.prototype.clone=function bnClone(){var r=nbi();return this.copyTo(r),r},BigInteger.prototype.intValue=function bnIntValue(){if(this.s<0){if(1==this.t)return this.data[0]-this.DV;if(0==this.t)return-1}else{if(1==this.t)return this.data[0];if(0==this.t)return 0}return(this.data[1]&(1<<32-this.DB)-1)<<this.DB|this.data[0]},BigInteger.prototype.byteValue=function bnByteValue(){return 0==this.t?this.s:this.data[0]<<24>>24},BigInteger.prototype.shortValue=function bnShortValue(){return 0==this.t?this.s:this.data[0]<<16>>16},BigInteger.prototype.signum=function bnSigNum(){return this.s<0?-1:this.t<=0||1==this.t&&this.data[0]<=0?0:1},BigInteger.prototype.toByteArray=function bnToByteArray(){var i=this.t,r=new Array;r[0]=this.s;var d,p=this.DB-i*this.DB%8,k=0;if(i-- >0)for(p<this.DB&&(d=this.data[i]>>p)!=(this.s&this.DM)>>p&&(r[k++]=d|this.s<<this.DB-p);i>=0;)p<8?(d=(this.data[i]&(1<<p)-1)<<8-p,d|=this.data[--i]>>(p+=this.DB-8)):(d=this.data[i]>>(p-=8)&255,p<=0&&(p+=this.DB,--i)),128&d&&(d|=-256),0==k&&(128&this.s)!=(128&d)&&++k,(k>0||d!=this.s)&&(r[k++]=d);return r},BigInteger.prototype.equals=function bnEquals(a){return 0==this.compareTo(a)},BigInteger.prototype.min=function bnMin(a){return this.compareTo(a)<0?this:a},BigInteger.prototype.max=function bnMax(a){return this.compareTo(a)>0?this:a},BigInteger.prototype.and=function bnAnd(a){var r=nbi();return this.bitwiseTo(a,op_and,r),r},BigInteger.prototype.or=function bnOr(a){var r=nbi();return this.bitwiseTo(a,op_or,r),r},BigInteger.prototype.xor=function bnXor(a){var r=nbi();return this.bitwiseTo(a,op_xor,r),r},BigInteger.prototype.andNot=function bnAndNot(a){var r=nbi();return this.bitwiseTo(a,op_andnot,r),r},BigInteger.prototype.not=function bnNot(){for(var r=nbi(),i=0;i<this.t;++i)r.data[i]=this.DM&~this.data[i];return r.t=this.t,r.s=~this.s,r},BigInteger.prototype.shiftLeft=function bnShiftLeft(n){var r=nbi();return n<0?this.rShiftTo(-n,r):this.lShiftTo(n,r),r},BigInteger.prototype.shiftRight=function bnShiftRight(n){var r=nbi();return n<0?this.lShiftTo(-n,r):this.rShiftTo(n,r),r},BigInteger.prototype.getLowestSetBit=function bnGetLowestSetBit(){for(var i=0;i<this.t;++i)if(0!=this.data[i])return i*this.DB+lbit(this.data[i]);return this.s<0?this.t*this.DB:-1},BigInteger.prototype.bitCount=function bnBitCount(){for(var r=0,x=this.s&this.DM,i=0;i<this.t;++i)r+=cbit(this.data[i]^x);return r},BigInteger.prototype.testBit=function bnTestBit(n){var j=Math.floor(n/this.DB);return j>=this.t?0!=this.s:!!(this.data[j]&1<<n%this.DB)},BigInteger.prototype.setBit=function bnSetBit(n){return this.changeBit(n,op_or)},BigInteger.prototype.clearBit=function bnClearBit(n){return this.changeBit(n,op_andnot)},BigInteger.prototype.flipBit=function bnFlipBit(n){return this.changeBit(n,op_xor)},BigInteger.prototype.add=function bnAdd(a){var r=nbi();return this.addTo(a,r),r},BigInteger.prototype.subtract=function bnSubtract(a){var r=nbi();return this.subTo(a,r),r},BigInteger.prototype.multiply=function bnMultiply(a){var r=nbi();return this.multiplyTo(a,r),r},BigInteger.prototype.divide=function bnDivide(a){var r=nbi();return this.divRemTo(a,r,null),r},BigInteger.prototype.remainder=function bnRemainder(a){var r=nbi();return this.divRemTo(a,null,r),r},BigInteger.prototype.divideAndRemainder=function bnDivideAndRemainder(a){var q=nbi(),r=nbi();return this.divRemTo(a,q,r),new Array(q,r)},BigInteger.prototype.modPow=function bnModPow(e,m){var k,z,i=e.bitLength(),r=nbv(1);if(i<=0)return r;k=i<18?1:i<48?3:i<144?4:i<768?5:6,z=i<8?new Classic(m):m.isEven()?new Barrett(m):new Montgomery(m);var g=new Array,n=3,k1=k-1,km=(1<<k)-1;if(g[1]=z.convert(this),k>1){var g2=nbi();for(z.sqrTo(g[1],g2);n<=km;)g[n]=nbi(),z.mulTo(g2,g[n-2],g[n]),n+=2}var w,t,j=e.t-1,is1=!0,r2=nbi();for(i=nbits(e.data[j])-1;j>=0;){for(i>=k1?w=e.data[j]>>i-k1&km:(w=(e.data[j]&(1<<i+1)-1)<<k1-i,j>0&&(w|=e.data[j-1]>>this.DB+i-k1)),n=k;!(1&w);)w>>=1,--n;if((i-=n)<0&&(i+=this.DB,--j),is1)g[w].copyTo(r),is1=!1;else{for(;n>1;)z.sqrTo(r,r2),z.sqrTo(r2,r),n-=2;n>0?z.sqrTo(r,r2):(t=r,r=r2,r2=t),z.mulTo(r2,g[w],r)}for(;j>=0&&!(e.data[j]&1<<i);)z.sqrTo(r,r2),t=r,r=r2,r2=t,--i<0&&(i=this.DB-1,--j)}return z.revert(r)},BigInteger.prototype.modInverse=function bnModInverse(m){var ac=m.isEven();if(this.isEven()&&ac||0==m.signum())return BigInteger.ZERO;for(var u=m.clone(),v=this.clone(),a=nbv(1),b=nbv(0),c=nbv(0),d=nbv(1);0!=u.signum();){for(;u.isEven();)u.rShiftTo(1,u),ac?(a.isEven()&&b.isEven()||(a.addTo(this,a),b.subTo(m,b)),a.rShiftTo(1,a)):b.isEven()||b.subTo(m,b),b.rShiftTo(1,b);for(;v.isEven();)v.rShiftTo(1,v),ac?(c.isEven()&&d.isEven()||(c.addTo(this,c),d.subTo(m,d)),c.rShiftTo(1,c)):d.isEven()||d.subTo(m,d),d.rShiftTo(1,d);u.compareTo(v)>=0?(u.subTo(v,u),ac&&a.subTo(c,a),b.subTo(d,b)):(v.subTo(u,v),ac&&c.subTo(a,c),d.subTo(b,d))}return 0!=v.compareTo(BigInteger.ONE)?BigInteger.ZERO:d.compareTo(m)>=0?d.subtract(m):d.signum()<0?(d.addTo(m,d),d.signum()<0?d.add(m):d):d},BigInteger.prototype.pow=function bnPow(e){return this.exp(e,new NullExp)},BigInteger.prototype.gcd=function bnGCD(a){var x=this.s<0?this.negate():this.clone(),y=a.s<0?a.negate():a.clone();if(x.compareTo(y)<0){var t=x;x=y,y=t}var i=x.getLowestSetBit(),g=y.getLowestSetBit();if(g<0)return x;for(i<g&&(g=i),g>0&&(x.rShiftTo(g,x),y.rShiftTo(g,y));x.signum()>0;)(i=x.getLowestSetBit())>0&&x.rShiftTo(i,x),(i=y.getLowestSetBit())>0&&y.rShiftTo(i,y),x.compareTo(y)>=0?(x.subTo(y,x),x.rShiftTo(1,x)):(y.subTo(x,y),y.rShiftTo(1,y));return g>0&&y.lShiftTo(g,y),y},BigInteger.prototype.isProbablePrime=function bnIsProbablePrime(t){var i,x=this.abs();if(1==x.t&&x.data[0]<=lowprimes[lowprimes.length-1]){for(i=0;i<lowprimes.length;++i)if(x.data[0]==lowprimes[i])return!0;return!1}if(x.isEven())return!1;for(i=1;i<lowprimes.length;){for(var m=lowprimes[i],j=i+1;j<lowprimes.length&&m<lplim;)m*=lowprimes[j++];for(m=x.modInt(m);i<j;)if(m%lowprimes[i++]==0)return!1}return x.millerRabin(t)},jsbn}var hasRequiredSha1$1,hasRequiredPkcs1,pkcs1={exports:{}},sha1$2={exports:{}};function requireSha1$1(){if(hasRequiredSha1$1)return sha1$2.exports;hasRequiredSha1$1=1;var forge=requireForge();requireMd(),requireUtil();var sha1=sha1$2.exports=forge.sha1=forge.sha1||{};forge.md.sha1=forge.md.algorithms.sha1=sha1,sha1.create=function(){_initialized||function _init(){_padding=String.fromCharCode(128),_padding+=forge.util.fillString(String.fromCharCode(0),64),_initialized=!0}();var _state=null,_input=forge.util.createBuffer(),_w=new Array(80),md={algorithm:"sha1",blockLength:64,digestLength:20,messageLength:0,fullMessageLength:null,messageLengthSize:8,start:function(){md.messageLength=0,md.fullMessageLength=md.messageLength64=[];for(var int32s=md.messageLengthSize/4,i=0;i<int32s;++i)md.fullMessageLength.push(0);return _input=forge.util.createBuffer(),_state={h0:1732584193,h1:4023233417,h2:2562383102,h3:271733878,h4:3285377520},md}};return md.start(),md.update=function(msg,encoding){"utf8"===encoding&&(msg=forge.util.encodeUtf8(msg));var len=msg.length;md.messageLength+=len,len=[len/4294967296>>>0,len>>>0];for(var i=md.fullMessageLength.length-1;i>=0;--i)md.fullMessageLength[i]+=len[1],len[1]=len[0]+(md.fullMessageLength[i]/4294967296>>>0),md.fullMessageLength[i]=md.fullMessageLength[i]>>>0,len[0]=len[1]/4294967296>>>0;return _input.putBytes(msg),_update(_state,_w,_input),(_input.read>2048||0===_input.length())&&_input.compact(),md},md.digest=function(){var finalBlock=forge.util.createBuffer();finalBlock.putBytes(_input.bytes());var next,overflow=md.fullMessageLength[md.fullMessageLength.length-1]+md.messageLengthSize&md.blockLength-1;finalBlock.putBytes(_padding.substr(0,md.blockLength-overflow));for(var bits=8*md.fullMessageLength[0],i=0;i<md.fullMessageLength.length-1;++i)bits+=(next=8*md.fullMessageLength[i+1])/4294967296>>>0,finalBlock.putInt32(bits>>>0),bits=next>>>0;finalBlock.putInt32(bits);var s2={h0:_state.h0,h1:_state.h1,h2:_state.h2,h3:_state.h3,h4:_state.h4};_update(s2,_w,finalBlock);var rval=forge.util.createBuffer();return rval.putInt32(s2.h0),rval.putInt32(s2.h1),rval.putInt32(s2.h2),rval.putInt32(s2.h3),rval.putInt32(s2.h4),rval},md};var _padding=null,_initialized=!1;function _update(s,w,bytes){for(var t,a,b,c,d,e,i,len=bytes.length();len>=64;){for(a=s.h0,b=s.h1,c=s.h2,d=s.h3,e=s.h4,i=0;i<16;++i)t=bytes.getInt32(),w[i]=t,t=(a<<5|a>>>27)+(d^b&(c^d))+e+1518500249+t,e=d,d=c,c=(b<<30|b>>>2)>>>0,b=a,a=t;for(;i<20;++i)t=(t=w[i-3]^w[i-8]^w[i-14]^w[i-16])<<1|t>>>31,w[i]=t,t=(a<<5|a>>>27)+(d^b&(c^d))+e+1518500249+t,e=d,d=c,c=(b<<30|b>>>2)>>>0,b=a,a=t;for(;i<32;++i)t=(t=w[i-3]^w[i-8]^w[i-14]^w[i-16])<<1|t>>>31,w[i]=t,t=(a<<5|a>>>27)+(b^c^d)+e+1859775393+t,e=d,d=c,c=(b<<30|b>>>2)>>>0,b=a,a=t;for(;i<40;++i)t=(t=w[i-6]^w[i-16]^w[i-28]^w[i-32])<<2|t>>>30,w[i]=t,t=(a<<5|a>>>27)+(b^c^d)+e+1859775393+t,e=d,d=c,c=(b<<30|b>>>2)>>>0,b=a,a=t;for(;i<60;++i)t=(t=w[i-6]^w[i-16]^w[i-28]^w[i-32])<<2|t>>>30,w[i]=t,t=(a<<5|a>>>27)+(b&c|d&(b^c))+e+2400959708+t,e=d,d=c,c=(b<<30|b>>>2)>>>0,b=a,a=t;for(;i<80;++i)t=(t=w[i-6]^w[i-16]^w[i-28]^w[i-32])<<2|t>>>30,w[i]=t,t=(a<<5|a>>>27)+(b^c^d)+e+3395469782+t,e=d,d=c,c=(b<<30|b>>>2)>>>0,b=a,a=t;s.h0=s.h0+a|0,s.h1=s.h1+b|0,s.h2=s.h2+c|0,s.h3=s.h3+d|0,s.h4=s.h4+e|0,len-=64}}return sha1$2.exports}function requirePkcs1(){if(hasRequiredPkcs1)return pkcs1.exports;hasRequiredPkcs1=1;var forge=requireForge();requireUtil(),requireRandom(),requireSha1$1();var pkcs1$1=pkcs1.exports=forge.pkcs1=forge.pkcs1||{};function rsa_mgf1(seed,maskLength,hash){hash||(hash=forge.md.sha1.create());for(var t="",count=Math.ceil(maskLength/hash.digestLength),i=0;i<count;++i){var c=String.fromCharCode(i>>24&255,i>>16&255,i>>8&255,255&i);hash.start(),hash.update(seed+c),t+=hash.digest().getBytes()}return t.substring(0,maskLength)}return pkcs1$1.encode_rsa_oaep=function(key,message,options){var label,seed,md,mgf1Md;"string"==typeof options?(label=options,seed=arguments[3]||void 0,md=arguments[4]||void 0):options&&(label=options.label||void 0,seed=options.seed||void 0,md=options.md||void 0,options.mgf1&&options.mgf1.md&&(mgf1Md=options.mgf1.md)),md?md.start():md=forge.md.sha1.create(),mgf1Md||(mgf1Md=md);var keyLength=Math.ceil(key.n.bitLength()/8),maxLength=keyLength-2*md.digestLength-2;if(message.length>maxLength)throw(error=new Error("RSAES-OAEP input message length is too long.")).length=message.length,error.maxLength=maxLength,error;label||(label=""),md.update(label,"raw");for(var lHash=md.digest(),PS="",PS_length=maxLength-message.length,i=0;i<PS_length;i++)PS+="\0";var DB=lHash.getBytes()+PS+""+message;if(seed){if(seed.length!==md.digestLength){var error;throw(error=new Error("Invalid RSAES-OAEP seed. The seed length must match the digest length.")).seedLength=seed.length,error.digestLength=md.digestLength,error}}else seed=forge.random.getBytes(md.digestLength);var dbMask=rsa_mgf1(seed,keyLength-md.digestLength-1,mgf1Md),maskedDB=forge.util.xorBytes(DB,dbMask,DB.length),seedMask=rsa_mgf1(maskedDB,md.digestLength,mgf1Md);return"\0"+forge.util.xorBytes(seed,seedMask,seed.length)+maskedDB},pkcs1$1.decode_rsa_oaep=function(key,em,options){var label,md,mgf1Md;"string"==typeof options?(label=options,md=arguments[3]||void 0):options&&(label=options.label||void 0,md=options.md||void 0,options.mgf1&&options.mgf1.md&&(mgf1Md=options.mgf1.md));var keyLength=Math.ceil(key.n.bitLength()/8);if(em.length!==keyLength)throw(error=new Error("RSAES-OAEP encoded message length is invalid.")).length=em.length,error.expectedLength=keyLength,error;if(void 0===md?md=forge.md.sha1.create():md.start(),mgf1Md||(mgf1Md=md),keyLength<2*md.digestLength+2)throw new Error("RSAES-OAEP key is too short for the hash function.");label||(label=""),md.update(label,"raw");for(var lHash=md.digest().getBytes(),y=em.charAt(0),maskedSeed=em.substring(1,md.digestLength+1),maskedDB=em.substring(1+md.digestLength),seedMask=rsa_mgf1(maskedDB,md.digestLength,mgf1Md),dbMask=rsa_mgf1(forge.util.xorBytes(maskedSeed,seedMask,maskedSeed.length),keyLength-md.digestLength-1,mgf1Md),db=forge.util.xorBytes(maskedDB,dbMask,maskedDB.length),lHashPrime=db.substring(0,md.digestLength),error="\0"!==y,i=0;i<md.digestLength;++i)error|=lHash.charAt(i)!==lHashPrime.charAt(i);for(var in_ps=1,index=md.digestLength,j=md.digestLength;j<db.length;j++){var code=db.charCodeAt(j);error|=code&(in_ps?65534:0),index+=in_ps&=1&code^1}if(error||1!==db.charCodeAt(index))throw new Error("Invalid RSAES-OAEP padding.");return db.substring(index+1)},pkcs1.exports}var hasRequiredPrime,rsa,hasRequiredRsa,pbe,hasRequiredPbe,prime={exports:{}};function requirePrime(){if(hasRequiredPrime)return prime.exports;hasRequiredPrime=1;var forge=requireForge();return requireUtil(),requireJsbn(),requireRandom(),function(){if(forge.prime)prime.exports=forge.prime;else{var prime$1=prime.exports=forge.prime=forge.prime||{},BigInteger=forge.jsbn.BigInteger,GCD_30_DELTA=[6,4,2,4,2,4,6,2],THIRTY=new BigInteger(null);THIRTY.fromInt(30);var op_or=function(x,y){return x|y};prime$1.generateProbablePrime=function(bits,options,callback){"function"==typeof options&&(callback=options,options={});var algorithm=(options=options||{}).algorithm||"PRIMEINC";"string"==typeof algorithm&&(algorithm={name:algorithm}),algorithm.options=algorithm.options||{};var prng=options.prng||forge.random,rng={nextBytes:function(x){for(var b=prng.getBytesSync(x.length),i=0;i<x.length;++i)x[i]=b.charCodeAt(i)}};if("PRIMEINC"===algorithm.name)return function primeincFindPrime(bits,rng,options,callback){if("workers"in options)return function primeincFindPrimeWithWorkers(bits,rng,options,callback){if("undefined"==typeof Worker)return primeincFindPrimeWithoutWorkers(bits,rng,options,callback);var num=generateRandom(bits,rng),numWorkers=options.workers,workLoad=options.workLoad||100,range=30*workLoad/8,workerScript=options.workerScript||"forge/prime.worker.js";if(-1===numWorkers)return forge.util.estimateCores((function(err,cores){err&&(cores=2),numWorkers=cores-1,generate()}));function generate(){numWorkers=Math.max(1,numWorkers);for(var workers=[],i=0;i<numWorkers;++i)workers[i]=new Worker(workerScript);for(i=0;i<numWorkers;++i)workers[i].addEventListener("message",workerMessage);var found=!1;function workerMessage(e){if(!found){var data=e.data;if(data.found){for(var i=0;i<workers.length;++i)workers[i].terminate();return found=!0,callback(null,new BigInteger(data.prime,16))}num.bitLength()>bits&&(num=generateRandom(bits,rng));var hex=num.toString(16);e.target.postMessage({hex:hex,workLoad:workLoad}),num.dAddOffset(range,0)}}}generate()}(bits,rng,options,callback);return primeincFindPrimeWithoutWorkers(bits,rng,options,callback)}(bits,rng,algorithm.options,callback);throw new Error("Invalid prime generation algorithm: "+algorithm.name)}}function primeincFindPrimeWithoutWorkers(bits,rng,options,callback){var num=generateRandom(bits,rng),mrTests=function getMillerRabinTests(bits){return bits<=100?27:bits<=150?18:bits<=200?15:bits<=250?12:bits<=300?9:bits<=350?8:bits<=400?7:bits<=500?6:bits<=600?5:bits<=800?4:bits<=1250?3:2}(num.bitLength());"millerRabinTests"in options&&(mrTests=options.millerRabinTests);var maxBlockTime=10;"maxBlockTime"in options&&(maxBlockTime=options.maxBlockTime),_primeinc(num,bits,rng,0,mrTests,maxBlockTime,callback)}function _primeinc(num,bits,rng,deltaIdx,mrTests,maxBlockTime,callback){var start=+new Date;do{if(num.bitLength()>bits&&(num=generateRandom(bits,rng)),num.isProbablePrime(mrTests))return callback(null,num);num.dAddOffset(GCD_30_DELTA[deltaIdx++%8],0)}while(maxBlockTime<0||+new Date-start<maxBlockTime);forge.util.setImmediate((function(){_primeinc(num,bits,rng,deltaIdx,mrTests,maxBlockTime,callback)}))}function generateRandom(bits,rng){var num=new BigInteger(bits,rng),bits1=bits-1;return num.testBit(bits1)||num.bitwiseTo(BigInteger.ONE.shiftLeft(bits1),op_or,num),num.dAddOffset(31-num.mod(THIRTY).byteValue(),0),num}}(),prime.exports}function requireRsa(){if(hasRequiredRsa)return rsa;hasRequiredRsa=1;var forge=requireForge();if(requireAsn1(),requireJsbn(),requireOids(),requirePkcs1(),requirePrime(),requireRandom(),requireUtil(),void 0===BigInteger)var BigInteger=forge.jsbn.BigInteger;var _crypto=forge.util.isNodejs?require$$0__default$1.default:null,asn1=forge.asn1,util=forge.util;forge.pki=forge.pki||{},rsa=forge.pki.rsa=forge.rsa=forge.rsa||{};var pki=forge.pki,GCD_30_DELTA=[6,4,2,4,2,4,6,2],privateKeyValidator={name:"PrivateKeyInfo",tagClass:asn1.Class.UNIVERSAL,type:asn1.Type.SEQUENCE,constructed:!0,value:[{name:"PrivateKeyInfo.version",tagClass:asn1.Class.UNIVERSAL,type:asn1.Type.INTEGER,constructed:!1,capture:"privateKeyVersion"},{name:"PrivateKeyInfo.privateKeyAlgorithm",tagClass:asn1.Class.UNIVERSAL,type:asn1.Type.SEQUENCE,constructed:!0,value:[{name:"AlgorithmIdentifier.algorithm",tagClass:asn1.Class.UNIVERSAL,type:asn1.Type.OID,constructed:!1,capture:"privateKeyOid"}]},{name:"PrivateKeyInfo",tagClass:asn1.Class.UNIVERSAL,type:asn1.Type.OCTETSTRING,constructed:!1,capture:"privateKey"}]},rsaPrivateKeyValidator={name:"RSAPrivateKey",tagClass:asn1.Class.UNIVERSAL,type:asn1.Type.SEQUENCE,constructed:!0,value:[{name:"RSAPrivateKey.version",tagClass:asn1.Class.UNIVERSAL,type:asn1.Type.INTEGER,constructed:!1,capture:"privateKeyVersion"},{name:"RSAPrivateKey.modulus",tagClass:asn1.Class.UNIVERSAL,type:asn1.Type.INTEGER,constructed:!1,capture:"privateKeyModulus"},{name:"RSAPrivateKey.publicExponent",tagClass:asn1.Class.UNIVERSAL,type:asn1.Type.INTEGER,constructed:!1,capture:"privateKeyPublicExponent"},{name:"RSAPrivateKey.privateExponent",tagClass:asn1.Class.UNIVERSAL,type:asn1.Type.INTEGER,constructed:!1,capture:"privateKeyPrivateExponent"},{name:"RSAPrivateKey.prime1",tagClass:asn1.Class.UNIVERSAL,type:asn1.Type.INTEGER,constructed:!1,capture:"privateKeyPrime1"},{name:"RSAPrivateKey.prime2",tagClass:asn1.Class.UNIVERSAL,type:asn1.Type.INTEGER,constructed:!1,capture:"privateKeyPrime2"},{name:"RSAPrivateKey.exponent1",tagClass:asn1.Class.UNIVERSAL,type:asn1.Type.INTEGER,constructed:!1,capture:"privateKeyExponent1"},{name:"RSAPrivateKey.exponent2",tagClass:asn1.Class.UNIVERSAL,type:asn1.Type.INTEGER,constructed:!1,capture:"privateKeyExponent2"},{name:"RSAPrivateKey.coefficient",tagClass:asn1.Class.UNIVERSAL,type:asn1.Type.INTEGER,constructed:!1,capture:"privateKeyCoefficient"}]},rsaPublicKeyValidator={name:"RSAPublicKey",tagClass:asn1.Class.UNIVERSAL,type:asn1.Type.SEQUENCE,constructed:!0,value:[{name:"RSAPublicKey.modulus",tagClass:asn1.Class.UNIVERSAL,type:asn1.Type.INTEGER,constructed:!1,capture:"publicKeyModulus"},{name:"RSAPublicKey.exponent",tagClass:asn1.Class.UNIVERSAL,type:asn1.Type.INTEGER,constructed:!1,capture:"publicKeyExponent"}]},publicKeyValidator=forge.pki.rsa.publicKeyValidator={name:"SubjectPublicKeyInfo",tagClass:asn1.Class.UNIVERSAL,type:asn1.Type.SEQUENCE,constructed:!0,captureAsn1:"subjectPublicKeyInfo",value:[{name:"SubjectPublicKeyInfo.AlgorithmIdentifier",tagClass:asn1.Class.UNIVERSAL,type:asn1.Type.SEQUENCE,constructed:!0,value:[{name:"AlgorithmIdentifier.algorithm",tagClass:asn1.Class.UNIVERSAL,type:asn1.Type.OID,constructed:!1,capture:"publicKeyOid"}]},{name:"SubjectPublicKeyInfo.subjectPublicKey",tagClass:asn1.Class.UNIVERSAL,type:asn1.Type.BITSTRING,constructed:!1,value:[{name:"SubjectPublicKeyInfo.subjectPublicKey.RSAPublicKey",tagClass:asn1.Class.UNIVERSAL,type:asn1.Type.SEQUENCE,constructed:!0,optional:!0,captureAsn1:"rsaPublicKey"}]}]},digestInfoValidator={name:"DigestInfo",tagClass:asn1.Class.UNIVERSAL,type:asn1.Type.SEQUENCE,constructed:!0,value:[{name:"DigestInfo.DigestAlgorithm",tagClass:asn1.Class.UNIVERSAL,type:asn1.Type.SEQUENCE,constructed:!0,value:[{name:"DigestInfo.DigestAlgorithm.algorithmIdentifier",tagClass:asn1.Class.UNIVERSAL,type:asn1.Type.OID,constructed:!1,capture:"algorithmIdentifier"},{name:"DigestInfo.DigestAlgorithm.parameters",tagClass:asn1.Class.UNIVERSAL,type:asn1.Type.NULL,capture:"parameters",optional:!0,constructed:!1}]},{name:"DigestInfo.digest",tagClass:asn1.Class.UNIVERSAL,type:asn1.Type.OCTETSTRING,constructed:!1,capture:"digest"}]},emsaPkcs1v15encode=function(md){var oid;if(!(md.algorithm in pki.oids)){var error=new Error("Unknown message digest algorithm.");throw error.algorithm=md.algorithm,error}oid=pki.oids[md.algorithm];var oidBytes=asn1.oidToDer(oid).getBytes(),digestInfo=asn1.create(asn1.Class.UNIVERSAL,asn1.Type.SEQUENCE,!0,[]),digestAlgorithm=asn1.create(asn1.Class.UNIVERSAL,asn1.Type.SEQUENCE,!0,[]);digestAlgorithm.value.push(asn1.create(asn1.Class.UNIVERSAL,asn1.Type.OID,!1,oidBytes)),digestAlgorithm.value.push(asn1.create(asn1.Class.UNIVERSAL,asn1.Type.NULL,!1,""));var digest=asn1.create(asn1.Class.UNIVERSAL,asn1.Type.OCTETSTRING,!1,md.digest().getBytes());return digestInfo.value.push(digestAlgorithm),digestInfo.value.push(digest),asn1.toDer(digestInfo).getBytes()},_modPow=function(x,key,pub){if(pub)return x.modPow(key.e,key.n);if(!key.p||!key.q)return x.modPow(key.d,key.n);var r;key.dP||(key.dP=key.d.mod(key.p.subtract(BigInteger.ONE))),key.dQ||(key.dQ=key.d.mod(key.q.subtract(BigInteger.ONE))),key.qInv||(key.qInv=key.q.modInverse(key.p));do{r=new BigInteger(forge.util.bytesToHex(forge.random.getBytes(key.n.bitLength()/8)),16)}while(r.compareTo(key.n)>=0||!r.gcd(key.n).equals(BigInteger.ONE));for(var xp=(x=x.multiply(r.modPow(key.e,key.n)).mod(key.n)).mod(key.p).modPow(key.dP,key.p),xq=x.mod(key.q).modPow(key.dQ,key.q);xp.compareTo(xq)<0;)xp=xp.add(key.p);var y=xp.subtract(xq).multiply(key.qInv).mod(key.p).multiply(key.q).add(xq);return y=y.multiply(r.modInverse(key.n)).mod(key.n)};function _encodePkcs1_v1_5(m,key,bt){var eb=forge.util.createBuffer(),k=Math.ceil(key.n.bitLength()/8);if(m.length>k-11){var error=new Error("Message is too long for PKCS#1 v1.5 padding.");throw error.length=m.length,error.max=k-11,error}eb.putByte(0),eb.putByte(bt);var padByte,padNum=k-3-m.length;if(0===bt||1===bt){padByte=0===bt?0:255;for(var i=0;i<padNum;++i)eb.putByte(padByte)}else for(;padNum>0;){var numZeros=0,padBytes=forge.random.getBytes(padNum);for(i=0;i<padNum;++i)0===(padByte=padBytes.charCodeAt(i))?++numZeros:eb.putByte(padByte);padNum=numZeros}return eb.putByte(0),eb.putBytes(m),eb}function _decodePkcs1_v1_5(em,key,pub,ml){var k=Math.ceil(key.n.bitLength()/8),eb=forge.util.createBuffer(em),first=eb.getByte(),bt=eb.getByte();if(0!==first||pub&&0!==bt&&1!==bt||!pub&&2!=bt||pub&&0===bt&&void 0===ml)throw new Error("Encryption block is invalid.");var padNum=0;if(0===bt){padNum=k-3-ml;for(var i=0;i<padNum;++i)if(0!==eb.getByte())throw new Error("Encryption block is invalid.")}else if(1===bt)for(padNum=0;eb.length()>1;){if(255!==eb.getByte()){--eb.read;break}++padNum}else if(2===bt)for(padNum=0;eb.length()>1;){if(0===eb.getByte()){--eb.read;break}++padNum}if(0!==eb.getByte()||padNum!==k-3-eb.length())throw new Error("Encryption block is invalid.");return eb.getBytes()}function _bnToBytes(b){var hex=b.toString(16);hex[0]>="8"&&(hex="00"+hex);var bytes=forge.util.hexToBytes(hex);return!(bytes.length>1)||(0!==bytes.charCodeAt(0)||128&bytes.charCodeAt(1))&&(255!==bytes.charCodeAt(0)||128&~bytes.charCodeAt(1))?bytes:bytes.substr(1)}function _getMillerRabinTests(bits){return bits<=100?27:bits<=150?18:bits<=200?15:bits<=250?12:bits<=300?9:bits<=350?8:bits<=400?7:bits<=500?6:bits<=600?5:bits<=800?4:bits<=1250?3:2}function _detectNodeCrypto(fn){return forge.util.isNodejs&&"function"==typeof _crypto[fn]}function _detectSubtleCrypto(fn){return void 0!==util.globalScope&&"object"==typeof util.globalScope.crypto&&"object"==typeof util.globalScope.crypto.subtle&&"function"==typeof util.globalScope.crypto.subtle[fn]}function _detectSubtleMsCrypto(fn){return void 0!==util.globalScope&&"object"==typeof util.globalScope.msCrypto&&"object"==typeof util.globalScope.msCrypto.subtle&&"function"==typeof util.globalScope.msCrypto.subtle[fn]}function _intToUint8Array(x){for(var bytes=forge.util.hexToBytes(x.toString(16)),buffer=new Uint8Array(bytes.length),i=0;i<bytes.length;++i)buffer[i]=bytes.charCodeAt(i);return buffer}return pki.rsa.encrypt=function(m,key,bt){var eb,pub=bt,k=Math.ceil(key.n.bitLength()/8);!1!==bt&&!0!==bt?(pub=2===bt,eb=_encodePkcs1_v1_5(m,key,bt)):(eb=forge.util.createBuffer()).putBytes(m);for(var x=new BigInteger(eb.toHex(),16),yhex=_modPow(x,key,pub).toString(16),ed=forge.util.createBuffer(),zeros=k-Math.ceil(yhex.length/2);zeros>0;)ed.putByte(0),--zeros;return ed.putBytes(forge.util.hexToBytes(yhex)),ed.getBytes()},pki.rsa.decrypt=function(ed,key,pub,ml){var k=Math.ceil(key.n.bitLength()/8);if(ed.length!==k){var error=new Error("Encrypted message length is invalid.");throw error.length=ed.length,error.expected=k,error}var y=new BigInteger(forge.util.createBuffer(ed).toHex(),16);if(y.compareTo(key.n)>=0)throw new Error("Encrypted message is invalid.");for(var xhex=_modPow(y,key,pub).toString(16),eb=forge.util.createBuffer(),zeros=k-Math.ceil(xhex.length/2);zeros>0;)eb.putByte(0),--zeros;return eb.putBytes(forge.util.hexToBytes(xhex)),!1!==ml?_decodePkcs1_v1_5(eb.getBytes(),key,pub):eb.getBytes()},pki.rsa.createKeyPairGenerationState=function(bits,e,options){"string"==typeof bits&&(bits=parseInt(bits,10)),bits=bits||2048;var rval,prng=(options=options||{}).prng||forge.random,rng={nextBytes:function(x){for(var b=prng.getBytesSync(x.length),i=0;i<x.length;++i)x[i]=b.charCodeAt(i)}},algorithm=options.algorithm||"PRIMEINC";if("PRIMEINC"!==algorithm)throw new Error("Invalid key generation algorithm: "+algorithm);return(rval={algorithm:algorithm,state:0,bits:bits,rng:rng,eInt:e||65537,e:new BigInteger(null),p:null,q:null,qBits:bits>>1,pBits:bits-(bits>>1),pqState:0,num:null,keys:null}).e.fromInt(rval.eInt),rval},pki.rsa.stepKeyPairGenerationState=function(state,n){"algorithm"in state||(state.algorithm="PRIMEINC");var THIRTY=new BigInteger(null);THIRTY.fromInt(30);for(var t2,deltaIdx=0,op_or=function(x,y){return x|y},t1=+new Date,total=0;null===state.keys&&(n<=0||total<n);){if(0===state.state){var bits=null===state.p?state.pBits:state.qBits,bits1=bits-1;0===state.pqState?(state.num=new BigInteger(bits,state.rng),state.num.testBit(bits1)||state.num.bitwiseTo(BigInteger.ONE.shiftLeft(bits1),op_or,state.num),state.num.dAddOffset(31-state.num.mod(THIRTY).byteValue(),0),deltaIdx=0,++state.pqState):1===state.pqState?state.num.bitLength()>bits?state.pqState=0:state.num.isProbablePrime(_getMillerRabinTests(state.num.bitLength()))?++state.pqState:state.num.dAddOffset(GCD_30_DELTA[deltaIdx++%8],0):2===state.pqState?state.pqState=0===state.num.subtract(BigInteger.ONE).gcd(state.e).compareTo(BigInteger.ONE)?3:0:3===state.pqState&&(state.pqState=0,null===state.p?state.p=state.num:state.q=state.num,null!==state.p&&null!==state.q&&++state.state,state.num=null)}else if(1===state.state)state.p.compareTo(state.q)<0&&(state.num=state.p,state.p=state.q,state.q=state.num),++state.state;else if(2===state.state)state.p1=state.p.subtract(BigInteger.ONE),state.q1=state.q.subtract(BigInteger.ONE),state.phi=state.p1.multiply(state.q1),++state.state;else if(3===state.state)0===state.phi.gcd(state.e).compareTo(BigInteger.ONE)?++state.state:(state.p=null,state.q=null,state.state=0);else if(4===state.state)state.n=state.p.multiply(state.q),state.n.bitLength()===state.bits?++state.state:(state.q=null,state.state=0);else if(5===state.state){var d=state.e.modInverse(state.phi);state.keys={privateKey:pki.rsa.setPrivateKey(state.n,state.e,d,state.p,state.q,d.mod(state.p1),d.mod(state.q1),state.q.modInverse(state.p)),publicKey:pki.rsa.setPublicKey(state.n,state.e)}}total+=(t2=+new Date)-t1,t1=t2}return null!==state.keys},pki.rsa.generateKeyPair=function(bits,e,options,callback){if(1===arguments.length?"object"==typeof bits?(options=bits,bits=void 0):"function"==typeof bits&&(callback=bits,bits=void 0):2===arguments.length?"number"==typeof bits?"function"==typeof e?(callback=e,e=void 0):"number"!=typeof e&&(options=e,e=void 0):(options=bits,callback=e,bits=void 0,e=void 0):3===arguments.length&&("number"==typeof e?"function"==typeof options&&(callback=options,options=void 0):(callback=options,options=e,e=void 0)),options=options||{},void 0===bits&&(bits=options.bits||2048),void 0===e&&(e=options.e||65537),!forge.options.usePureJavaScript&&!options.prng&&bits>=256&&bits<=16384&&(65537===e||3===e))if(callback){if(_detectNodeCrypto("generateKeyPair"))return _crypto.generateKeyPair("rsa",{modulusLength:bits,publicExponent:e,publicKeyEncoding:{type:"spki",format:"pem"},privateKeyEncoding:{type:"pkcs8",format:"pem"}},(function(err,pub,priv){if(err)return callback(err);callback(null,{privateKey:pki.privateKeyFromPem(priv),publicKey:pki.publicKeyFromPem(pub)})}));if(_detectSubtleCrypto("generateKey")&&_detectSubtleCrypto("exportKey"))return util.globalScope.crypto.subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:bits,publicExponent:_intToUint8Array(e),hash:{name:"SHA-256"}},!0,["sign","verify"]).then((function(pair){return util.globalScope.crypto.subtle.exportKey("pkcs8",pair.privateKey)})).then(void 0,(function(err){callback(err)})).then((function(pkcs8){if(pkcs8){var privateKey=pki.privateKeyFromAsn1(asn1.fromDer(forge.util.createBuffer(pkcs8)));callback(null,{privateKey:privateKey,publicKey:pki.setRsaPublicKey(privateKey.n,privateKey.e)})}}));if(_detectSubtleMsCrypto("generateKey")&&_detectSubtleMsCrypto("exportKey")){var genOp=util.globalScope.msCrypto.subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:bits,publicExponent:_intToUint8Array(e),hash:{name:"SHA-256"}},!0,["sign","verify"]);return genOp.oncomplete=function(e){var pair=e.target.result,exportOp=util.globalScope.msCrypto.subtle.exportKey("pkcs8",pair.privateKey);exportOp.oncomplete=function(e){var pkcs8=e.target.result,privateKey=pki.privateKeyFromAsn1(asn1.fromDer(forge.util.createBuffer(pkcs8)));callback(null,{privateKey:privateKey,publicKey:pki.setRsaPublicKey(privateKey.n,privateKey.e)})},exportOp.onerror=function(err){callback(err)}},void(genOp.onerror=function(err){callback(err)})}}else if(_detectNodeCrypto("generateKeyPairSync")){var keypair=_crypto.generateKeyPairSync("rsa",{modulusLength:bits,publicExponent:e,publicKeyEncoding:{type:"spki",format:"pem"},privateKeyEncoding:{type:"pkcs8",format:"pem"}});return{privateKey:pki.privateKeyFromPem(keypair.privateKey),publicKey:pki.publicKeyFromPem(keypair.publicKey)}}var state=pki.rsa.createKeyPairGenerationState(bits,e,options);if(!callback)return pki.rsa.stepKeyPairGenerationState(state,0),state.keys;!function _generateKeyPair(state,options,callback){"function"==typeof options&&(callback=options,options={});options=options||{};var opts={algorithm:{name:options.algorithm||"PRIMEINC",options:{workers:options.workers||2,workLoad:options.workLoad||100,workerScript:options.workerScript}}};"prng"in options&&(opts.prng=options.prng);function generate(){getPrime(state.pBits,(function(err,num){return err?callback(err):(state.p=num,null!==state.q?finish(err,state.q):void getPrime(state.qBits,finish))}))}function getPrime(bits,callback){forge.prime.generateProbablePrime(bits,opts,callback)}function finish(err,num){if(err)return callback(err);if(state.q=num,state.p.compareTo(state.q)<0){var tmp=state.p;state.p=state.q,state.q=tmp}if(0!==state.p.subtract(BigInteger.ONE).gcd(state.e).compareTo(BigInteger.ONE))return state.p=null,void generate();if(0!==state.q.subtract(BigInteger.ONE).gcd(state.e).compareTo(BigInteger.ONE))return state.q=null,void getPrime(state.qBits,finish);if(state.p1=state.p.subtract(BigInteger.ONE),state.q1=state.q.subtract(BigInteger.ONE),state.phi=state.p1.multiply(state.q1),0!==state.phi.gcd(state.e).compareTo(BigInteger.ONE))return state.p=state.q=null,void generate();if(state.n=state.p.multiply(state.q),state.n.bitLength()!==state.bits)return state.q=null,void getPrime(state.qBits,finish);var d=state.e.modInverse(state.phi);state.keys={privateKey:pki.rsa.setPrivateKey(state.n,state.e,d,state.p,state.q,d.mod(state.p1),d.mod(state.q1),state.q.modInverse(state.p)),publicKey:pki.rsa.setPublicKey(state.n,state.e)},callback(null,state.keys)}generate()}(state,options,callback)},pki.setRsaPublicKey=pki.rsa.setPublicKey=function(n,e){var key={n:n,e:e,encrypt:function(data,scheme,schemeOptions){if("string"==typeof scheme?scheme=scheme.toUpperCase():void 0===scheme&&(scheme="RSAES-PKCS1-V1_5"),"RSAES-PKCS1-V1_5"===scheme)scheme={encode:function(m,key,pub){return _encodePkcs1_v1_5(m,key,2).getBytes()}};else if("RSA-OAEP"===scheme||"RSAES-OAEP"===scheme)scheme={encode:function(m,key){return forge.pkcs1.encode_rsa_oaep(key,m,schemeOptions)}};else if(-1!==["RAW","NONE","NULL",null].indexOf(scheme))scheme={encode:function(e){return e}};else if("string"==typeof scheme)throw new Error('Unsupported encryption scheme: "'+scheme+'".');var e=scheme.encode(data,key,!0);return pki.rsa.encrypt(e,key,!0)},verify:function(digest,signature,scheme,options){"string"==typeof scheme?scheme=scheme.toUpperCase():void 0===scheme&&(scheme="RSASSA-PKCS1-V1_5"),void 0===options&&(options={_parseAllDigestBytes:!0}),"_parseAllDigestBytes"in options||(options._parseAllDigestBytes=!0),"RSASSA-PKCS1-V1_5"===scheme?scheme={verify:function(digest,d){d=_decodePkcs1_v1_5(d,key,!0);var obj=asn1.fromDer(d,{parseAllBytes:options._parseAllDigestBytes}),capture={},errors=[];if(!asn1.validate(obj,digestInfoValidator,capture,errors))throw(error=new Error("ASN.1 object does not contain a valid RSASSA-PKCS1-v1_5 DigestInfo value.")).errors=errors,error;var error,oid=asn1.derToOid(capture.algorithmIdentifier);if(oid!==forge.oids.md2&&oid!==forge.oids.md5&&oid!==forge.oids.sha1&&oid!==forge.oids.sha224&&oid!==forge.oids.sha256&&oid!==forge.oids.sha384&&oid!==forge.oids.sha512&&oid!==forge.oids["sha512-224"]&&oid!==forge.oids["sha512-256"])throw(error=new Error("Unknown RSASSA-PKCS1-v1_5 DigestAlgorithm identifier.")).oid=oid,error;if((oid===forge.oids.md2||oid===forge.oids.md5)&&!("parameters"in capture))throw new Error("ASN.1 object does not contain a valid RSASSA-PKCS1-v1_5 DigestInfo value. Missing algorithm identifer NULL parameters.");return digest===capture.digest}}:"NONE"!==scheme&&"NULL"!==scheme&&null!==scheme||(scheme={verify:function(digest,d){return digest===(d=_decodePkcs1_v1_5(d,key,!0))}});var d=pki.rsa.decrypt(signature,key,!0,!1);return scheme.verify(digest,d,key.n.bitLength())}};return key},pki.setRsaPrivateKey=pki.rsa.setPrivateKey=function(n,e,d,p,q,dP,dQ,qInv){var key={n:n,e:e,d:d,p:p,q:q,dP:dP,dQ:dQ,qInv:qInv,decrypt:function(data,scheme,schemeOptions){"string"==typeof scheme?scheme=scheme.toUpperCase():void 0===scheme&&(scheme="RSAES-PKCS1-V1_5");var d=pki.rsa.decrypt(data,key,!1,!1);if("RSAES-PKCS1-V1_5"===scheme)scheme={decode:_decodePkcs1_v1_5};else if("RSA-OAEP"===scheme||"RSAES-OAEP"===scheme)scheme={decode:function(d,key){return forge.pkcs1.decode_rsa_oaep(key,d,schemeOptions)}};else{if(-1===["RAW","NONE","NULL",null].indexOf(scheme))throw new Error('Unsupported encryption scheme: "'+scheme+'".');scheme={decode:function(d){return d}}}return scheme.decode(d,key,!1)},sign:function(md,scheme){var bt=!1;"string"==typeof scheme&&(scheme=scheme.toUpperCase()),void 0===scheme||"RSASSA-PKCS1-V1_5"===scheme?(scheme={encode:emsaPkcs1v15encode},bt=1):"NONE"!==scheme&&"NULL"!==scheme&&null!==scheme||(scheme={encode:function(){return md}},bt=1);var d=scheme.encode(md,key.n.bitLength());return pki.rsa.encrypt(d,key,bt)}};return key},pki.wrapRsaPrivateKey=function(rsaKey){return asn1.create(asn1.Class.UNIVERSAL,asn1.Type.SEQUENCE,!0,[asn1.create(asn1.Class.UNIVERSAL,asn1.Type.INTEGER,!1,asn1.integerToDer(0).getBytes()),asn1.create(asn1.Class.UNIVERSAL,asn1.Type.SEQUENCE,!0,[asn1.create(asn1.Class.UNIVERSAL,asn1.Type.OID,!1,asn1.oidToDer(pki.oids.rsaEncryption).getBytes()),asn1.create(asn1.Class.UNIVERSAL,asn1.Type.NULL,!1,"")]),asn1.create(asn1.Class.UNIVERSAL,asn1.Type.OCTETSTRING,!1,asn1.toDer(rsaKey).getBytes())])},pki.privateKeyFromAsn1=function(obj){var n,e,d,p,q,dP,dQ,qInv,capture={},errors=[];if(asn1.validate(obj,privateKeyValidator,capture,errors)&&(obj=asn1.fromDer(forge.util.createBuffer(capture.privateKey))),capture={},errors=[],!asn1.validate(obj,rsaPrivateKeyValidator,capture,errors)){var error=new Error("Cannot read private key. ASN.1 object does not contain an RSAPrivateKey.");throw error.errors=errors,error}return n=forge.util.createBuffer(capture.privateKeyModulus).toHex(),e=forge.util.createBuffer(capture.privateKeyPublicExponent).toHex(),d=forge.util.createBuffer(capture.privateKeyPrivateExponent).toHex(),p=forge.util.createBuffer(capture.privateKeyPrime1).toHex(),q=forge.util.createBuffer(capture.privateKeyPrime2).toHex(),dP=forge.util.createBuffer(capture.privateKeyExponent1).toHex(),dQ=forge.util.createBuffer(capture.privateKeyExponent2).toHex(),qInv=forge.util.createBuffer(capture.privateKeyCoefficient).toHex(),pki.setRsaPrivateKey(new BigInteger(n,16),new BigInteger(e,16),new BigInteger(d,16),new BigInteger(p,16),new BigInteger(q,16),new BigInteger(dP,16),new BigInteger(dQ,16),new BigInteger(qInv,16))},pki.privateKeyToAsn1=pki.privateKeyToRSAPrivateKey=function(key){return asn1.create(asn1.Class.UNIVERSAL,asn1.Type.SEQUENCE,!0,[asn1.create(asn1.Class.UNIVERSAL,asn1.Type.INTEGER,!1,asn1.integerToDer(0).getBytes()),asn1.create(asn1.Class.UNIVERSAL,asn1.Type.INTEGER,!1,_bnToBytes(key.n)),asn1.create(asn1.Class.UNIVERSAL,asn1.Type.INTEGER,!1,_bnToBytes(key.e)),asn1.create(asn1.Class.UNIVERSAL,asn1.Type.INTEGER,!1,_bnToBytes(key.d)),asn1.create(asn1.Class.UNIVERSAL,asn1.Type.INTEGER,!1,_bnToBytes(key.p)),asn1.create(asn1.Class.UNIVERSAL,asn1.Type.INTEGER,!1,_bnToBytes(key.q)),asn1.create(asn1.Class.UNIVERSAL,asn1.Type.INTEGER,!1,_bnToBytes(key.dP)),asn1.create(asn1.Class.UNIVERSAL,asn1.Type.INTEGER,!1,_bnToBytes(key.dQ)),asn1.create(asn1.Class.UNIVERSAL,asn1.Type.INTEGER,!1,_bnToBytes(key.qInv))])},pki.publicKeyFromAsn1=function(obj){var capture={},errors=[];if(asn1.validate(obj,publicKeyValidator,capture,errors)){var error,oid=asn1.derToOid(capture.publicKeyOid);if(oid!==pki.oids.rsaEncryption)throw(error=new Error("Cannot read public key. Unknown OID.")).oid=oid,error;obj=capture.rsaPublicKey}if(errors=[],!asn1.validate(obj,rsaPublicKeyValidator,capture,errors))throw(error=new Error("Cannot read public key. ASN.1 object does not contain an RSAPublicKey.")).errors=errors,error;var n=forge.util.createBuffer(capture.publicKeyModulus).toHex(),e=forge.util.createBuffer(capture.publicKeyExponent).toHex();return pki.setRsaPublicKey(new BigInteger(n,16),new BigInteger(e,16))},pki.publicKeyToAsn1=pki.publicKeyToSubjectPublicKeyInfo=function(key){return asn1.create(asn1.Class.UNIVERSAL,asn1.Type.SEQUENCE,!0,[asn1.create(asn1.Class.UNIVERSAL,asn1.Type.SEQUENCE,!0,[asn1.create(asn1.Class.UNIVERSAL,asn1.Type.OID,!1,asn1.oidToDer(pki.oids.rsaEncryption).getBytes()),asn1.create(asn1.Class.UNIVERSAL,asn1.Type.NULL,!1,"")]),asn1.create(asn1.Class.UNIVERSAL,asn1.Type.BITSTRING,!1,[pki.publicKeyToRSAPublicKey(key)])])},pki.publicKeyToRSAPublicKey=function(key){return asn1.create(asn1.Class.UNIVERSAL,asn1.Type.SEQUENCE,!0,[asn1.create(asn1.Class.UNIVERSAL,asn1.Type.INTEGER,!1,_bnToBytes(key.n)),asn1.create(asn1.Class.UNIVERSAL,asn1.Type.INTEGER,!1,_bnToBytes(key.e))])},rsa}function requirePbe(){if(hasRequiredPbe)return pbe;hasRequiredPbe=1;var forge=requireForge();if(requireAes(),requireAsn1(),requireDes(),requireMd(),requireOids(),requirePbkdf2(),requirePem(),requireRandom(),requireRc2(),requireRsa(),requireUtil(),void 0===BigInteger)var BigInteger=forge.jsbn.BigInteger;var asn1=forge.asn1,pki=forge.pki=forge.pki||{};pbe=pki.pbe=forge.pbe=forge.pbe||{};var oids=pki.oids,encryptedPrivateKeyValidator={name:"EncryptedPrivateKeyInfo",tagClass:asn1.Class.UNIVERSAL,type:asn1.Type.SEQUENCE,constructed:!0,value:[{name:"EncryptedPrivateKeyInfo.encryptionAlgorithm",tagClass:asn1.Class.UNIVERSAL,type:asn1.Type.SEQUENCE,constructed:!0,value:[{name:"AlgorithmIdentifier.algorithm",tagClass:asn1.Class.UNIVERSAL,type:asn1.Type.OID,constructed:!1,capture:"encryptionOid"},{name:"AlgorithmIdentifier.parameters",tagClass:asn1.Class.UNIVERSAL,type:asn1.Type.SEQUENCE,constructed:!0,captureAsn1:"encryptionParams"}]},{name:"EncryptedPrivateKeyInfo.encryptedData",tagClass:asn1.Class.UNIVERSAL,type:asn1.Type.OCTETSTRING,constructed:!1,capture:"encryptedData"}]},PBES2AlgorithmsValidator={name:"PBES2Algorithms",tagClass:asn1.Class.UNIVERSAL,type:asn1.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.keyDerivationFunc",tagClass:asn1.Class.UNIVERSAL,type:asn1.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.keyDerivationFunc.oid",tagClass:asn1.Class.UNIVERSAL,type:asn1.Type.OID,constructed:!1,capture:"kdfOid"},{name:"PBES2Algorithms.params",tagClass:asn1.Class.UNIVERSAL,type:asn1.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.params.salt",tagClass:asn1.Class.UNIVERSAL,type:asn1.Type.OCTETSTRING,constructed:!1,capture:"kdfSalt"},{name:"PBES2Algorithms.params.iterationCount",tagClass:asn1.Class.UNIVERSAL,type:asn1.Type.INTEGER,constructed:!1,capture:"kdfIterationCount"},{name:"PBES2Algorithms.params.keyLength",tagClass:asn1.Class.UNIVERSAL,type:asn1.Type.INTEGER,constructed:!1,optional:!0,capture:"keyLength"},{name:"PBES2Algorithms.params.prf",tagClass:asn1.Class.UNIVERSAL,type:asn1.Type.SEQUENCE,constructed:!0,optional:!0,value:[{name:"PBES2Algorithms.params.prf.algorithm",tagClass:asn1.Class.UNIVERSAL,type:asn1.Type.OID,constructed:!1,capture:"prfOid"}]}]}]},{name:"PBES2Algorithms.encryptionScheme",tagClass:asn1.Class.UNIVERSAL,type:asn1.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.encryptionScheme.oid",tagClass:asn1.Class.UNIVERSAL,type:asn1.Type.OID,constructed:!1,capture:"encOid"},{name:"PBES2Algorithms.encryptionScheme.iv",tagClass:asn1.Class.UNIVERSAL,type:asn1.Type.OCTETSTRING,constructed:!1,capture:"encIv"}]}]},pkcs12PbeParamsValidator={name:"pkcs-12PbeParams",tagClass:asn1.Class.UNIVERSAL,type:asn1.Type.SEQUENCE,constructed:!0,value:[{name:"pkcs-12PbeParams.salt",tagClass:asn1.Class.UNIVERSAL,type:asn1.Type.OCTETSTRING,constructed:!1,capture:"salt"},{name:"pkcs-12PbeParams.iterations",tagClass:asn1.Class.UNIVERSAL,type:asn1.Type.INTEGER,constructed:!1,capture:"iterations"}]};function hash(md,bytes){return md.start().update(bytes).digest().getBytes()}function prfOidToMessageDigest(prfOid){var prfAlgorithm;if(prfOid){if(!(prfAlgorithm=pki.oids[asn1.derToOid(prfOid)])){var error=new Error("Unsupported PRF OID.");throw error.oid=prfOid,error.supported=["hmacWithSHA1","hmacWithSHA224","hmacWithSHA256","hmacWithSHA384","hmacWithSHA512"],error}}else prfAlgorithm="hmacWithSHA1";return prfAlgorithmToMessageDigest(prfAlgorithm)}function prfAlgorithmToMessageDigest(prfAlgorithm){var factory=forge.md;switch(prfAlgorithm){case"hmacWithSHA224":factory=forge.md.sha512;case"hmacWithSHA1":case"hmacWithSHA256":case"hmacWithSHA384":case"hmacWithSHA512":prfAlgorithm=prfAlgorithm.substr(8).toLowerCase();break;default:var error=new Error("Unsupported PRF algorithm.");throw error.algorithm=prfAlgorithm,error.supported=["hmacWithSHA1","hmacWithSHA224","hmacWithSHA256","hmacWithSHA384","hmacWithSHA512"],error}if(!factory||!(prfAlgorithm in factory))throw new Error("Unknown hash algorithm: "+prfAlgorithm);return factory[prfAlgorithm].create()}return pki.encryptPrivateKeyInfo=function(obj,password,options){(options=options||{}).saltSize=options.saltSize||8,options.count=options.count||2048,options.algorithm=options.algorithm||"aes128",options.prfAlgorithm=options.prfAlgorithm||"sha1";var dkLen,encryptionAlgorithm,encryptedData,salt=forge.random.getBytesSync(options.saltSize),count=options.count,countBytes=asn1.integerToDer(count);if(0===options.algorithm.indexOf("aes")||"des"===options.algorithm){var ivLen,encOid,cipherFn;switch(options.algorithm){case"aes128":dkLen=16,ivLen=16,encOid=oids["aes128-CBC"],cipherFn=forge.aes.createEncryptionCipher;break;case"aes192":dkLen=24,ivLen=16,encOid=oids["aes192-CBC"],cipherFn=forge.aes.createEncryptionCipher;break;case"aes256":dkLen=32,ivLen=16,encOid=oids["aes256-CBC"],cipherFn=forge.aes.createEncryptionCipher;break;case"des":dkLen=8,ivLen=8,encOid=oids.desCBC,cipherFn=forge.des.createEncryptionCipher;break;default:throw(error=new Error("Cannot encrypt private key. Unknown encryption algorithm.")).algorithm=options.algorithm,error}var prfAlgorithm="hmacWith"+options.prfAlgorithm.toUpperCase(),md=prfAlgorithmToMessageDigest(prfAlgorithm),dk=forge.pkcs5.pbkdf2(password,salt,count,dkLen,md),iv=forge.random.getBytesSync(ivLen);(cipher=cipherFn(dk)).start(iv),cipher.update(asn1.toDer(obj)),cipher.finish(),encryptedData=cipher.output.getBytes();var params=function createPbkdf2Params(salt,countBytes,dkLen,prfAlgorithm){var params=asn1.create(asn1.Class.UNIVERSAL,asn1.Type.SEQUENCE,!0,[asn1.create(asn1.Class.UNIVERSAL,asn1.Type.OCTETSTRING,!1,salt),asn1.create(asn1.Class.UNIVERSAL,asn1.Type.INTEGER,!1,countBytes.getBytes())]);"hmacWithSHA1"!==prfAlgorithm&¶ms.value.push(asn1.create(asn1.Class.UNIVERSAL,asn1.Type.INTEGER,!1,forge.util.hexToBytes(dkLen.toString(16))),asn1.create(asn1.Class.UNIVERSAL,asn1.Type.SEQUENCE,!0,[asn1.create(asn1.Class.UNIVERSAL,asn1.Type.OID,!1,asn1.oidToDer(pki.oids[prfAlgorithm]).getBytes()),asn1.create(asn1.Class.UNIVERSAL,asn1.Type.NULL,!1,"")]));return params}(salt,countBytes,dkLen,prfAlgorithm);encryptionAlgorithm=asn1.create(asn1.Class.UNIVERSAL,asn1.Type.SEQUENCE,!0,[asn1.create(asn1.Class.UNIVERSAL,asn1.Type.OID,!1,asn1.oidToDer(oids.pkcs5PBES2).getBytes()),asn1.create(asn1.Class.UNIVERSAL,asn1.Type.SEQUENCE,!0,[asn1.create(asn1.Class.UNIVERSAL,asn1.Type.SEQUENCE,!0,[asn1.create(asn1.Class.UNIVERSAL,asn1.Type.OID,!1,asn1.oidToDer(oids.pkcs5PBKDF2).getBytes()),params]),asn1.create(asn1.Class.UNIVERSAL,asn1.Type.SEQUENCE,!0,[asn1.create(asn1.Class.UNIVERSAL,asn1.Type.OID,!1,asn1.oidToDer(encOid).getBytes()),asn1.create(asn1.Class.UNIVERSAL,asn1.Type.OCTETSTRING,!1,iv)])])])}else{var error;if("3des"!==options.algorithm)throw(error=new Error("Cannot encrypt private key. Unknown encryption algorithm.")).algorithm=options.algorithm,error;dkLen=24;var cipher,saltBytes=new forge.util.ByteBuffer(salt);dk=pki.pbe.generatePkcs12Key(password,saltBytes,1,count,dkLen),iv=pki.pbe.generatePkcs12Key(password,saltBytes,2,count,dkLen);(cipher=forge.des.createEncryptionCipher(dk)).start(iv),cipher.update(asn1.toDer(obj)),cipher.finish(),encryptedData=cipher.output.getBytes(),encryptionAlgorithm=asn1.create(asn1.Class.UNIVERSAL,asn1.Type.SEQUENCE,!0,[asn1.create(asn1.Class.UNIVERSAL,asn1.Type.OID,!1,asn1.oidToDer(oids["pbeWithSHAAnd3-KeyTripleDES-CBC"]).getBytes()),asn1.create(asn1.Class.UNIVERSAL,asn1.Type.SEQUENCE,!0,[asn1.create(asn1.Class.UNIVERSAL,asn1.Type.OCTETSTRING,!1,salt),asn1.create(asn1.Class.UNIVERSAL,asn1.Type.INTEGER,!1,countBytes.getBytes())])])}return asn1.create(asn1.Class.UNIVERSAL,asn1.Type.SEQUENCE,!0,[encryptionAlgorithm,asn1.create(asn1.Class.UNIVERSAL,asn1.Type.OCTETSTRING,!1,encryptedData)])},pki.decryptPrivateKeyInfo=function(obj,password){var rval=null,capture={},errors=[];if(!asn1.validate(obj,encryptedPrivateKeyValidator,capture,errors)){var error=new Error("Cannot read encrypted private key. ASN.1 object is not a supported EncryptedPrivateKeyInfo.");throw error.errors=errors,error}var oid=asn1.derToOid(capture.encryptionOid),cipher=pki.pbe.getCipher(oid,capture.encryptionParams,password),encrypted=forge.util.createBuffer(capture.encryptedData);return cipher.update(encrypted),cipher.finish()&&(rval=asn1.fromDer(cipher.output)),rval},pki.encryptedPrivateKeyToPem=function(epki,maxline){var msg={type:"ENCRYPTED PRIVATE KEY",body:asn1.toDer(epki).getBytes()};return forge.pem.encode(msg,{maxline:maxline})},pki.encryptedPrivateKeyFromPem=function(pem){var msg=forge.pem.decode(pem)[0];if("ENCRYPTED PRIVATE KEY"!==msg.type){var error=new Error('Could not convert encrypted private key from PEM; PEM header type is "ENCRYPTED PRIVATE KEY".');throw error.headerType=msg.type,error}if(msg.procType&&"ENCRYPTED"===msg.procType.type)throw new Error("Could not convert encrypted private key from PEM; PEM is encrypted.");return asn1.fromDer(msg.body)},pki.encryptRsaPrivateKey=function(rsaKey,password,options){if(!(options=options||{}).legacy){var rval=pki.wrapRsaPrivateKey(pki.privateKeyToAsn1(rsaKey));return rval=pki.encryptPrivateKeyInfo(rval,password,options),pki.encryptedPrivateKeyToPem(rval)}var algorithm,iv,dkLen,cipherFn;switch(options.algorithm){case"aes128":algorithm="AES-128-CBC",dkLen=16,iv=forge.random.getBytesSync(16),cipherFn=forge.aes.createEncryptionCipher;break;case"aes192":algorithm="AES-192-CBC",dkLen=24,iv=forge.random.getBytesSync(16),cipherFn=forge.aes.createEncryptionCipher;break;case"aes256":algorithm="AES-256-CBC",dkLen=32,iv=forge.random.getBytesSync(16),cipherFn=forge.aes.createEncryptionCipher;break;case"3des":algorithm="DES-EDE3-CBC",dkLen=24,iv=forge.random.getBytesSync(8),cipherFn=forge.des.createEncryptionCipher;break;case"des":algorithm="DES-CBC",dkLen=8,iv=forge.random.getBytesSync(8),cipherFn=forge.des.createEncryptionCipher;break;default:var error=new Error('Could not encrypt RSA private key; unsupported encryption algorithm "'+options.algorithm+'".');throw error.algorithm=options.algorithm,error}var cipher=cipherFn(forge.pbe.opensslDeriveBytes(password,iv.substr(0,8),dkLen));cipher.start(iv),cipher.update(asn1.toDer(pki.privateKeyToAsn1(rsaKey))),cipher.finish();var msg={type:"RSA PRIVATE KEY",procType:{version:"4",type:"ENCRYPTED"},dekInfo:{algorithm:algorithm,parameters:forge.util.bytesToHex(iv).toUpperCase()},body:cipher.output.getBytes()};return forge.pem.encode(msg)},pki.decryptRsaPrivateKey=function(pem,password){var rval=null,msg=forge.pem.decode(pem)[0];if("ENCRYPTED PRIVATE KEY"!==msg.type&&"PRIVATE KEY"!==msg.type&&"RSA PRIVATE KEY"!==msg.type)throw(error=new Error('Could not convert private key from PEM; PEM header type is not "ENCRYPTED PRIVATE KEY", "PRIVATE KEY", or "RSA PRIVATE KEY".')).headerType=error,error;if(msg.procType&&"ENCRYPTED"===msg.procType.type){var dkLen,cipherFn;switch(msg.dekInfo.algorithm){case"DES-CBC":dkLen=8,cipherFn=forge.des.createDecryptionCipher;break;case"DES-EDE3-CBC":dkLen=24,cipherFn=forge.des.createDecryptionCipher;break;case"AES-128-CBC":dkLen=16,cipherFn=forge.aes.createDecryptionCipher;break;case"AES-192-CBC":dkLen=24,cipherFn=forge.aes.createDecryptionCipher;break;case"AES-256-CBC":dkLen=32,cipherFn=forge.aes.createDecryptionCipher;break;case"RC2-40-CBC":dkLen=5,cipherFn=function(key){return forge.rc2.createDecryptionCipher(key,40)};break;case"RC2-64-CBC":dkLen=8,cipherFn=function(key){return forge.rc2.createDecryptionCipher(key,64)};break;case"RC2-128-CBC":dkLen=16,cipherFn=function(key){return forge.rc2.createDecryptionCipher(key,128)};break;default:var error;throw(error=new Error('Could not decrypt private key; unsupported encryption algorithm "'+msg.dekInfo.algorithm+'".')).algorithm=msg.dekInfo.algorithm,error}var iv=forge.util.hexToBytes(msg.dekInfo.parameters),cipher=cipherFn(forge.pbe.opensslDeriveBytes(password,iv.substr(0,8),dkLen));if(cipher.start(iv),cipher.update(forge.util.createBuffer(msg.body)),!cipher.finish())return rval;rval=cipher.output.getBytes()}else rval=msg.body;return null!==(rval="ENCRYPTED PRIVATE KEY"===msg.type?pki.decryptPrivateKeyInfo(asn1.fromDer(rval),password):asn1.fromDer(rval))&&(rval=pki.privateKeyFromAsn1(rval)),rval},pki.pbe.generatePkcs12Key=function(password,salt,id,iter,n,md){var j,l;if(null==md){if(!("sha1"in forge.md))throw new Error('"sha1" hash algorithm unavailable.');md=forge.md.sha1.create()}var u=md.digestLength,v=md.blockLength,result=new forge.util.ByteBuffer,passBuf=new forge.util.ByteBuffer;if(null!=password){for(l=0;l<password.length;l++)passBuf.putInt16(password.charCodeAt(l));passBuf.putInt16(0)}var p=passBuf.length(),s=salt.length(),D=new forge.util.ByteBuffer;D.fillWithByte(id,v);var Slen=v*Math.ceil(s/v),S=new forge.util.ByteBuffer;for(l=0;l<Slen;l++)S.putByte(salt.at(l%s));var Plen=v*Math.ceil(p/v),P=new forge.util.ByteBuffer;for(l=0;l<Plen;l++)P.putByte(passBuf.at(l%p));var I=S;I.putBuffer(P);for(var c=Math.ceil(n/u),i=1;i<=c;i++){var buf=new forge.util.ByteBuffer;buf.putBytes(D.bytes()),buf.putBytes(I.bytes());for(var round=0;round<iter;round++)md.start(),md.update(buf.getBytes()),buf=md.digest();var B=new forge.util.ByteBuffer;for(l=0;l<v;l++)B.putByte(buf.at(l%u));var k=Math.ceil(s/v)+Math.ceil(p/v),Inew=new forge.util.ByteBuffer;for(j=0;j<k;j++){var chunk=new forge.util.ByteBuffer(I.getBytes(v)),x=511;for(l=B.length()-1;l>=0;l--)x>>=8,x+=B.at(l)+chunk.at(l),chunk.setAt(l,255&x);Inew.putBuffer(chunk)}I=Inew,result.putBuffer(buf)}return result.truncate(result.length()-n),result},pki.pbe.getCipher=function(oid,params,password){switch(oid){case pki.oids.pkcs5PBES2:return pki.pbe.getCipherForPBES2(oid,params,password);case pki.oids["pbeWithSHAAnd3-KeyTripleDES-CBC"]:case pki.oids["pbewithSHAAnd40BitRC2-CBC"]:return pki.pbe.getCipherForPKCS12PBE(oid,params,password);default:var error=new Error("Cannot read encrypted PBE data block. Unsupported OID.");throw error.oid=oid,error.supportedOids=["pkcs5PBES2","pbeWithSHAAnd3-KeyTripleDES-CBC","pbewithSHAAnd40BitRC2-CBC"],error}},pki.pbe.getCipherForPBES2=function(oid,params,password){var error,capture={},errors=[];if(!asn1.validate(params,PBES2AlgorithmsValidator,capture,errors))throw(error=new Error("Cannot read password-based-encryption algorithm parameters. ASN.1 object is not a supported EncryptedPrivateKeyInfo.")).errors=errors,error;if((oid=asn1.derToOid(capture.kdfOid))!==pki.oids.pkcs5PBKDF2)throw(error=new Error("Cannot read encrypted private key. Unsupported key derivation function OID.")).oid=oid,error.supportedOids=["pkcs5PBKDF2"],error;if((oid=asn1.derToOid(capture.encOid))!==pki.oids["aes128-CBC"]&&oid!==pki.oids["aes192-CBC"]&&oid!==pki.oids["aes256-CBC"]&&oid!==pki.oids["des-EDE3-CBC"]&&oid!==pki.oids.desCBC)throw(error=new Error("Cannot read encrypted private key. Unsupported encryption scheme OID.")).oid=oid,error.supportedOids=["aes128-CBC","aes192-CBC","aes256-CBC","des-EDE3-CBC","desCBC"],error;var dkLen,cipherFn,salt=capture.kdfSalt,count=forge.util.createBuffer(capture.kdfIterationCount);switch(count=count.getInt(count.length()<<3),pki.oids[oid]){case"aes128-CBC":dkLen=16,cipherFn=forge.aes.createDecryptionCipher;break;case"aes192-CBC":dkLen=24,cipherFn=forge.aes.createDecryptionCipher;break;case"aes256-CBC":dkLen=32,cipherFn=forge.aes.createDecryptionCipher;break;case"des-EDE3-CBC":dkLen=24,cipherFn=forge.des.createDecryptionCipher;break;case"desCBC":dkLen=8,cipherFn=forge.des.createDecryptionCipher}var md=prfOidToMessageDigest(capture.prfOid),dk=forge.pkcs5.pbkdf2(password,salt,count,dkLen,md),iv=capture.encIv,cipher=cipherFn(dk);return cipher.start(iv),cipher},pki.pbe.getCipherForPKCS12PBE=function(oid,params,password){var capture={},errors=[];if(!asn1.validate(params,pkcs12PbeParamsValidator,capture,errors))throw(error=new Error("Cannot read password-based-encryption algorithm parameters. ASN.1 object is not a supported EncryptedPrivateKeyInfo.")).errors=errors,error;var dkLen,dIvLen,cipherFn,salt=forge.util.createBuffer(capture.salt),count=forge.util.createBuffer(capture.iterations);switch(count=count.getInt(count.length()<<3),oid){case pki.oids["pbeWithSHAAnd3-KeyTripleDES-CBC"]:dkLen=24,dIvLen=8,cipherFn=forge.des.startDecrypting;break;case pki.oids["pbewithSHAAnd40BitRC2-CBC"]:dkLen=5,dIvLen=8,cipherFn=function(key,iv){var cipher=forge.rc2.createDecryptionCipher(key,40);return cipher.start(iv,null),cipher};break;default:var error;throw(error=new Error("Cannot read PKCS #12 PBE data block. Unsupported OID.")).oid=oid,error}var md=prfOidToMessageDigest(capture.prfOid),key=pki.pbe.generatePkcs12Key(password,salt,1,count,dkLen,md);return md.start(),cipherFn(key,pki.pbe.generatePkcs12Key(password,salt,2,count,dIvLen,md))},pki.pbe.opensslDeriveBytes=function(password,salt,dkLen,md){if(null==md){if(!("md5"in forge.md))throw new Error('"md5" hash algorithm unavailable.');md=forge.md.md5.create()}null===salt&&(salt="");for(var digests=[hash(md,password+salt)],length=16,i=1;length<dkLen;++i,length+=16)digests.push(hash(md,digests[i-1]+password+salt));return digests.join("").substr(0,dkLen)},pbe}var hasRequiredPkcs7asn1,pkcs12={exports:{}},pkcs7asn1={exports:{}};function requirePkcs7asn1(){if(hasRequiredPkcs7asn1)return pkcs7asn1.exports;hasRequiredPkcs7asn1=1;var forge=requireForge();requireAsn1(),requireUtil();var asn1=forge.asn1,p7v=pkcs7asn1.exports=forge.pkcs7asn1=forge.pkcs7asn1||{};forge.pkcs7=forge.pkcs7||{},forge.pkcs7.asn1=p7v;var contentInfoValidator={name:"ContentInfo",tagClass:asn1.Class.UNIVERSAL,type:asn1.Type.SEQUENCE,constructed:!0,value:[{name:"ContentInfo.ContentType",tagClass:asn1.Class.UNIVERSAL,type:asn1.Type.OID,constructed:!1,capture:"contentType"},{name:"ContentInfo.content",tagClass:asn1.Class.CONTEXT_SPECIFIC,type:0,constructed:!0,optional:!0,captureAsn1:"content"}]};p7v.contentInfoValidator=contentInfoValidator;var encryptedContentInfoValidator={name:"EncryptedContentInfo",tagClass:asn1.Class.UNIVERSAL,type:asn1.Type.SEQUENCE,constructed:!0,value:[{name:"EncryptedContentInfo.contentType",tagClass:asn1.Class.UNIVERSAL,type:asn1.Type.OID,constructed:!1,capture:"contentType"},{name:"EncryptedContentInfo.contentEncryptionAlgorithm",tagClass:asn1.Class.UNIVERSAL,type:asn1.Type.SEQUENCE,constructed:!0,value:[{name:"EncryptedContentInfo.contentEncryptionAlgorithm.algorithm",tagClass:asn1.Class.UNIVERSAL,type:asn1.Type.OID,constructed:!1,capture:"encAlgorithm"},{name:"EncryptedContentInfo.contentEncryptionAlgorithm.parameter",tagClass:asn1.Class.UNIVERSAL,captureAsn1:"encParameter"}]},{name:"EncryptedContentInfo.encryptedContent",tagClass:asn1.Class.CONTEXT_SPECIFIC,type:0,capture:"encryptedContent",captureAsn1:"encryptedContentAsn1"}]};p7v.envelopedDataValidator={name:"EnvelopedData",tagClass:asn1.Class.UNIVERSAL,type:asn1.Type.SEQUENCE,constructed:!0,value:[{name:"EnvelopedData.Version",tagClass:asn1.Class.UNIVERSAL,type:asn1.Type.INTEGER,constructed:!1,capture:"version"},{name:"EnvelopedData.RecipientInfos",tagClass:asn1.Class.UNIVERSAL,type:asn1.Type.SET,constructed:!0,captureAsn1:"recipientInfos"}].concat(encryptedContentInfoValidator)},p7v.encryptedDataValidator={name:"EncryptedData",tagClass:asn1.Class.UNIVERSAL,type:asn1.Type.SEQUENCE,constructed:!0,value:[{name:"EncryptedData.Version",tagClass:asn1.Class.UNIVERSAL,type:asn1.Type.INTEGER,constructed:!1,capture:"version"}].concat(encryptedContentInfoValidator)};var signerValidator={name:"SignerInfo",tagClass:asn1.Class.UNIVERSAL,type:asn1.Type.SEQUENCE,constructed:!0,value:[{name:"SignerInfo.version",tagClass:asn1.Class.UNIVERSAL,type:asn1.Type.INTEGER,constructed:!1},{name:"SignerInfo.issuerAndSerialNumber",tagClass:asn1.Class.UNIVERSAL,type:asn1.Type.SEQUENCE,constructed:!0,value:[{name:"SignerInfo.issuerAndSerialNumber.issuer",tagClass:asn1.Class.UNIVERSAL,type:asn1.Type.SEQUENCE,constructed:!0,captureAsn1:"issuer"},{name:"SignerInfo.issuerAndSerialNumber.serialNumber",tagClass:asn1.Class.UNIVERSAL,type:asn1.Type.INTEGER,constructed:!1,capture:"serial"}]},{name:"SignerInfo.digestAlgorithm",tagClass:asn1.Class.UNIVERSAL,type:asn1.Type.SEQUENCE,constructed:!0,value:[{name:"SignerInfo.digestAlgorithm.algorithm",tagClass:asn1.Class.UNIVERSAL,type:asn1.Type.OID,constructed:!1,capture:"digestAlgorithm"},{name:"SignerInfo.digestAlgorithm.parameter",tagClass:asn1.Class.UNIVERSAL,constructed:!1,captureAsn1:"digestParameter",optional:!0}]},{name:"SignerInfo.authenticatedAttributes",tagClass:asn1.Class.CONTEXT_SPECIFIC,type:0,constructed:!0,optional:!0,capture:"authenticatedAttributes"},{name:"SignerInfo.digestEncryptionAlgorithm",tagClass:asn1.Class.UNIVERSAL,type:asn1.Type.SEQUENCE,constructed:!0,capture:"signatureAlgorithm"},{name:"SignerInfo.encryptedDigest",tagClass:asn1.Class.UNIVERSAL,type:asn1.Type.OCTETSTRING,constructed:!1,capture:"signature"},{name:"SignerInfo.unauthenticatedAttributes",tagClass:asn1.Class.CONTEXT_SPECIFIC,type:1,constructed:!0,optional:!0,capture:"unauthenticatedAttributes"}]};return p7v.signedDataValidator={name:"SignedData",tagClass:asn1.Class.UNIVERSAL,type:asn1.Type.SEQUENCE,constructed:!0,value:[{name:"SignedData.Version",tagClass:asn1.Class.UNIVERSAL,type:asn1.Type.INTEGER,constructed:!1,capture:"version"},{name:"SignedData.DigestAlgorithms",tagClass:asn1.Class.UNIVERSAL,type:asn1.Type.SET,constructed:!0,captureAsn1:"digestAlgorithms"},contentInfoValidator,{name:"SignedData.Certificates",tagClass:asn1.Class.CONTEXT_SPECIFIC,type:0,optional:!0,captureAsn1:"certificates"},{name:"SignedData.CertificateRevocationLists",tagClass:asn1.Class.CONTEXT_SPECIFIC,type:1,optional:!0,captureAsn1:"crls"},{name:"SignedData.SignerInfos",tagClass:asn1.Class.UNIVERSAL,type:asn1.Type.SET,capture:"signerInfos",optional:!0,value:[signerValidator]}]},p7v.recipientInfoValidator={name:"RecipientInfo",tagClass:asn1.Class.UNIVERSAL,type:asn1.Type.SEQUENCE,constructed:!0,value:[{name:"RecipientInfo.version",tagClass:asn1.Class.UNIVERSAL,type:asn1.Type.INTEGER,constructed:!1,capture:"version"},{name:"RecipientInfo.issuerAndSerial",tagClass:asn1.Class.UNIVERSAL,type:asn1.Type.SEQUENCE,constructed:!0,value:[{name:"RecipientInfo.issuerAndSerial.issuer",tagClass:asn1.Class.UNIVERSAL,type:asn1.Type.SEQUENCE,constructed:!0,captureAsn1:"issuer"},{name:"RecipientInfo.issuerAndSerial.serialNumber",tagClass:asn1.Class.UNIVERSAL,type:asn1.Type.INTEGER,constructed:!1,capture:"serial"}]},{name:"RecipientInfo.keyEncryptionAlgorithm",tagClass:asn1.Class.UNIVERSAL,type:asn1.Type.SEQUENCE,constructed:!0,value:[{name:"RecipientInfo.keyEncryptionAlgorithm.algorithm",tagClass:asn1.Class.UNIVERSAL,type:asn1.Type.OID,constructed:!1,capture:"encAlgorithm"},{name:"RecipientInfo.keyEncryptionAlgorithm.parameter",tagClass:asn1.Class.UNIVERSAL,constructed:!1,captureAsn1:"encParameter",optional:!0}]},{name:"RecipientInfo.encryptedKey",tagClass:asn1.Class.UNIVERSAL,type:asn1.Type.OCTETSTRING,constructed:!1,capture:"encKey"}]},pkcs7asn1.exports}var hasRequiredMgf1,mgf,hasRequiredMgf,x509={exports:{}},mgf1={exports:{}};function requireMgf1(){if(hasRequiredMgf1)return mgf1.exports;hasRequiredMgf1=1;var forge=requireForge();return requireUtil(),forge.mgf=forge.mgf||{},(mgf1.exports=forge.mgf.mgf1=forge.mgf1=forge.mgf1||{}).create=function(md){return{generate:function(seed,maskLen){for(var t=new forge.util.ByteBuffer,len=Math.ceil(maskLen/md.digestLength),i=0;i<len;i++){var c=new forge.util.ByteBuffer;c.putInt32(i),md.start(),md.update(seed+c.getBytes()),t.putBuffer(md.digest())}return t.truncate(t.length()-maskLen),t.getBytes()}}},mgf1.exports}var hasRequiredPss,hasRequiredX509,hasRequiredPkcs12,hasRequiredPki,tls_1,hasRequiredTls,hasRequiredAesCipherSuites,pss={exports:{}};function requirePss(){if(hasRequiredPss)return pss.exports;hasRequiredPss=1;var forge=requireForge();return requireRandom(),requireUtil(),(pss.exports=forge.pss=forge.pss||{}).create=function(options){3===arguments.length&&(options={md:arguments[0],mgf:arguments[1],saltLength:arguments[2]});var sLen,hash=options.md,mgf=options.mgf,hLen=hash.digestLength,salt_=options.salt||null;if("string"==typeof salt_&&(salt_=forge.util.createBuffer(salt_)),"saltLength"in options)sLen=options.saltLength;else{if(null===salt_)throw new Error("Salt length not specified or specific salt not given.");sLen=salt_.length()}if(null!==salt_&&salt_.length()!==sLen)throw new Error("Given salt length does not match length of given salt.");var prng=options.prng||forge.random,pssobj={encode:function(md,modBits){var i,salt,emBits=modBits-1,emLen=Math.ceil(emBits/8),mHash=md.digest().getBytes();if(emLen<hLen+sLen+2)throw new Error("Message is too long to encrypt.");salt=null===salt_?prng.getBytesSync(sLen):salt_.bytes();var m_=new forge.util.ByteBuffer;m_.fillWithByte(0,8),m_.putBytes(mHash),m_.putBytes(salt),hash.start(),hash.update(m_.getBytes());var h=hash.digest().getBytes(),ps=new forge.util.ByteBuffer;ps.fillWithByte(0,emLen-sLen-hLen-2),ps.putByte(1),ps.putBytes(salt);var db=ps.getBytes(),maskLen=emLen-hLen-1,dbMask=mgf.generate(h,maskLen),maskedDB="";for(i=0;i<maskLen;i++)maskedDB+=String.fromCharCode(db.charCodeAt(i)^dbMask.charCodeAt(i));var mask=65280>>8*emLen-emBits&255;return(maskedDB=String.fromCharCode(maskedDB.charCodeAt(0)&~mask)+maskedDB.substr(1))+h+String.fromCharCode(188)},verify:function(mHash,em,modBits){var i,emBits=modBits-1,emLen=Math.ceil(emBits/8);if(em=em.substr(-emLen),emLen<hLen+sLen+2)throw new Error("Inconsistent parameters to PSS signature verification.");if(188!==em.charCodeAt(emLen-1))throw new Error("Encoded message does not end in 0xBC.");var maskLen=emLen-hLen-1,maskedDB=em.substr(0,maskLen),h=em.substr(maskLen,hLen),mask=65280>>8*emLen-emBits&255;if(maskedDB.charCodeAt(0)&mask)throw new Error("Bits beyond keysize not zero as expected.");var dbMask=mgf.generate(h,maskLen),db="";for(i=0;i<maskLen;i++)db+=String.fromCharCode(maskedDB.charCodeAt(i)^dbMask.charCodeAt(i));db=String.fromCharCode(db.charCodeAt(0)&~mask)+db.substr(1);var checkLen=emLen-hLen-sLen-2;for(i=0;i<checkLen;i++)if(0!==db.charCodeAt(i))throw new Error("Leftmost octets not zero as expected");if(1!==db.charCodeAt(checkLen))throw new Error("Inconsistent PSS signature, 0x01 marker not found");var salt=db.substr(-sLen),m_=new forge.util.ByteBuffer;return m_.fillWithByte(0,8),m_.putBytes(mHash),m_.putBytes(salt),hash.start(),hash.update(m_.getBytes()),h===hash.digest().getBytes()}};return pssobj},pss.exports}function requireX509(){if(hasRequiredX509)return x509.exports;hasRequiredX509=1;var forge=requireForge();requireAes(),requireAsn1(),requireDes(),requireMd(),function requireMgf(){if(hasRequiredMgf)return mgf;hasRequiredMgf=1;var forge=requireForge();return requireMgf1(),mgf=forge.mgf=forge.mgf||{},forge.mgf.mgf1=forge.mgf1,mgf}(),requireOids(),requirePem(),requirePss(),requireRsa(),requireUtil();var asn1=forge.asn1,pki=x509.exports=forge.pki=forge.pki||{},oids=pki.oids,_shortNames={};_shortNames.CN=oids.commonName,_shortNames.commonName="CN",_shortNames.C=oids.countryName,_shortNames.countryName="C",_shortNames.L=oids.localityName,_shortNames.localityName="L",_shortNames.ST=oids.stateOrProvinceName,_shortNames.stateOrProvinceName="ST",_shortNames.O=oids.organizationName,_shortNames.organizationName="O",_shortNames.OU=oids.organizationalUnitName,_shortNames.organizationalUnitName="OU",_shortNames.E=oids.emailAddress,_shortNames.emailAddress="E";var publicKeyValidator=forge.pki.rsa.publicKeyValidator,x509CertificateValidator={name:"Certificate",tagClass:asn1.Class.UNIVERSAL,type:asn1.Type.SEQUENCE,constructed:!0,value:[{name:"Certificate.TBSCertificate",tagClass:asn1.Class.UNIVERSAL,type:asn1.Type.SEQUENCE,constructed:!0,captureAsn1:"tbsCertificate",value:[{name:"Certificate.TBSCertificate.version",tagClass:asn1.Class.CONTEXT_SPECIFIC,type:0,constructed:!0,optional:!0,value:[{name:"Certificate.TBSCertificate.version.integer",tagClass:asn1.Class.UNIVERSAL,type:asn1.Type.INTEGER,constructed:!1,capture:"certVersion"}]},{name:"Certificate.TBSCertificate.serialNumber",tagClass:asn1.Class.UNIVERSAL,type:asn1.Type.INTEGER,constructed:!1,capture:"certSerialNumber"},{name:"Certificate.TBSCertificate.signature",tagClass:asn1.Class.UNIVERSAL,type:asn1.Type.SEQUENCE,constructed:!0,value:[{name:"Certificate.TBSCertificate.signature.algorithm",tagClass:asn1.Class.UNIVERSAL,type:asn1.Type.OID,constructed:!1,capture:"certinfoSignatureOid"},{name:"Certificate.TBSCertificate.signature.parameters",tagClass:asn1.Class.UNIVERSAL,optional:!0,captureAsn1:"certinfoSignatureParams"}]},{name:"Certificate.TBSCertificate.issuer",tagClass:asn1.Class.UNIVERSAL,type:asn1.Type.SEQUENCE,constructed:!0,captureAsn1:"certIssuer"},{name:"Certificate.TBSCertificate.validity",tagClass:asn1.Class.UNIVERSAL,type:asn1.Type.SEQUENCE,constructed:!0,value:[{name:"Certificate.TBSCertificate.validity.notBefore (utc)",tagClass:asn1.Class.UNIVERSAL,type:asn1.Type.UTCTIME,constructed:!1,optional:!0,capture:"certValidity1UTCTime"},{name:"Certificate.TBSCertificate.validity.notBefore (generalized)",tagClass:asn1.Class.UNIVERSAL,type:asn1.Type.GENERALIZEDTIME,constructed:!1,optional:!0,capture:"certValidity2GeneralizedTime"},{name:"Certificate.TBSCertificate.validity.notAfter (utc)",tagClass:asn1.Class.UNIVERSAL,type:asn1.Type.UTCTIME,constructed:!1,optional:!0,capture:"certValidity3UTCTime"},{name:"Certificate.TBSCertificate.validity.notAfter (generalized)",tagClass:asn1.Class.UNIVERSAL,type:asn1.Type.GENERALIZEDTIME,constructed:!1,optional:!0,capture:"certValidity4GeneralizedTime"}]},{name:"Certificate.TBSCertificate.subject",tagClass:asn1.Class.UNIVERSAL,type:asn1.Type.SEQUENCE,constructed:!0,captureAsn1:"certSubject"},publicKeyValidator,{name:"Certificate.TBSCertificate.issuerUniqueID",tagClass:asn1.Class.CONTEXT_SPECIFIC,type:1,constructed:!0,optional:!0,value:[{name:"Certificate.TBSCertificate.issuerUniqueID.id",tagClass:asn1.Class.UNIVERSAL,type:asn1.Type.BITSTRING,constructed:!1,captureBitStringValue:"certIssuerUniqueId"}]},{name:"Certificate.TBSCertificate.subjectUniqueID",tagClass:asn1.Class.CONTEXT_SPECIFIC,type:2,constructed:!0,optional:!0,value:[{name:"Certificate.TBSCertificate.subjectUniqueID.id",tagClass:asn1.Class.UNIVERSAL,type:asn1.Type.BITSTRING,constructed:!1,captureBitStringValue:"certSubjectUniqueId"}]},{name:"Certificate.TBSCertificate.extensions",tagClass:asn1.Class.CONTEXT_SPECIFIC,type:3,constructed:!0,captureAsn1:"certExtensions",optional:!0}]},{name:"Certificate.signatureAlgorithm",tagClass:asn1.Class.UNIVERSAL,type:asn1.Type.SEQUENCE,constructed:!0,value:[{name:"Certificate.signatureAlgorithm.algorithm",tagClass:asn1.Class.UNIVERSAL,type:asn1.Type.OID,constructed:!1,capture:"certSignatureOid"},{name:"Certificate.TBSCertificate.signature.parameters",tagClass:asn1.Class.UNIVERSAL,optional:!0,captureAsn1:"certSignatureParams"}]},{name:"Certificate.signatureValue",tagClass:asn1.Class.UNIVERSAL,type:asn1.Type.BITSTRING,constructed:!1,captureBitStringValue:"certSignature"}]},rsassaPssParameterValidator={name:"rsapss",tagClass:asn1.Class.UNIVERSAL,type:asn1.Type.SEQUENCE,constructed:!0,value:[{name:"rsapss.hashAlgorithm",tagClass:asn1.Class.CONTEXT_SPECIFIC,type:0,constructed:!0,value:[{name:"rsapss.hashAlgorithm.AlgorithmIdentifier",tagClass:asn1.Class.UNIVERSAL,type:asn1.Class.SEQUENCE,constructed:!0,optional:!0,value:[{name:"rsapss.hashAlgorithm.AlgorithmIdentifier.algorithm",tagClass:asn1.Class.UNIVERSAL,type:asn1.Type.OID,constructed:!1,capture:"hashOid"}]}]},{name:"rsapss.maskGenAlgorithm",tagClass:asn1.Class.CONTEXT_SPECIFIC,type:1,constructed:!0,value:[{name:"rsapss.maskGenAlgorithm.AlgorithmIdentifier",tagClass:asn1.Class.UNIVERSAL,type:asn1.Class.SEQUENCE,constructed:!0,optional:!0,value:[{name:"rsapss.maskGenAlgorithm.AlgorithmIdentifier.algorithm",tagClass:asn1.Class.UNIVERSAL,type:asn1.Type.OID,constructed:!1,capture:"maskGenOid"},{name:"rsapss.maskGenAlgorithm.AlgorithmIdentifier.params",tagClass:asn1.Class.UNIVERSAL,type:asn1.Type.SEQUENCE,constructed:!0,value:[{name:"rsapss.maskGenAlgorithm.AlgorithmIdentifier.params.algorithm",tagClass:asn1.Class.UNIVERSAL,type:asn1.Type.OID,constructed:!1,capture:"maskGenHashOid"}]}]}]},{name:"rsapss.saltLength",tagClass:asn1.Class.CONTEXT_SPECIFIC,type:2,optional:!0,value:[{name:"rsapss.saltLength.saltLength",tagClass:asn1.Class.UNIVERSAL,type:asn1.Class.INTEGER,constructed:!1,capture:"saltLength"}]},{name:"rsapss.trailerField",tagClass:asn1.Class.CONTEXT_SPECIFIC,type:3,optional:!0,value:[{name:"rsapss.trailer.trailer",tagClass:asn1.Class.UNIVERSAL,type:asn1.Class.INTEGER,constructed:!1,capture:"trailer"}]}]},certificationRequestInfoValidator={name:"CertificationRequestInfo",tagClass:asn1.Class.UNIVERSAL,type:asn1.Type.SEQUENCE,constructed:!0,captureAsn1:"certificationRequestInfo",value:[{name:"CertificationRequestInfo.integer",tagClass:asn1.Class.UNIVERSAL,type:asn1.Type.INTEGER,constructed:!1,capture:"certificationRequestInfoVersion"},{name:"CertificationRequestInfo.subject",tagClass:asn1.Class.UNIVERSAL,type:asn1.Type.SEQUENCE,constructed:!0,captureAsn1:"certificationRequestInfoSubject"},publicKeyValidator,{name:"CertificationRequestInfo.attributes",tagClass:asn1.Class.CONTEXT_SPECIFIC,type:0,constructed:!0,optional:!0,capture:"certificationRequestInfoAttributes",value:[{name:"CertificationRequestInfo.attributes",tagClass:asn1.Class.UNIVERSAL,type:asn1.Type.SEQUENCE,constructed:!0,value:[{name:"CertificationRequestInfo.attributes.type",tagClass:asn1.Class.UNIVERSAL,type:asn1.Type.OID,constructed:!1},{name:"CertificationRequestInfo.attributes.value",tagClass:asn1.Class.UNIVERSAL,type:asn1.Type.SET,constructed:!0}]}]}]},certificationRequestValidator={name:"CertificationRequest",tagClass:asn1.Class.UNIVERSAL,type:asn1.Type.SEQUENCE,constructed:!0,captureAsn1:"csr",value:[certificationRequestInfoValidator,{name:"CertificationRequest.signatureAlgorithm",tagClass:asn1.Class.UNIVERSAL,type:asn1.Type.SEQUENCE,constructed:!0,value:[{name:"CertificationRequest.signatureAlgorithm.algorithm",tagClass:asn1.Class.UNIVERSAL,type:asn1.Type.OID,constructed:!1,capture:"csrSignatureOid"},{name:"CertificationRequest.signatureAlgorithm.parameters",tagClass:asn1.Class.UNIVERSAL,optional:!0,captureAsn1:"csrSignatureParams"}]},{name:"CertificationRequest.signature",tagClass:asn1.Class.UNIVERSAL,type:asn1.Type.BITSTRING,constructed:!1,captureBitStringValue:"csrSignature"}]};function _getAttribute(obj,options){"string"==typeof options&&(options={shortName:options});for(var attr,rval=null,i=0;null===rval&&i<obj.attributes.length;++i)attr=obj.attributes[i],(options.type&&options.type===attr.type||options.name&&options.name===attr.name||options.shortName&&options.shortName===attr.shortName)&&(rval=attr);return rval}pki.RDNAttributesAsArray=function(rdn,md){for(var set,attr,obj,rval=[],si=0;si<rdn.value.length;++si){set=rdn.value[si];for(var i=0;i<set.value.length;++i)obj={},attr=set.value[i],obj.type=asn1.derToOid(attr.value[0].value),obj.value=attr.value[1].value,obj.valueTagClass=attr.value[1].type,obj.type in oids&&(obj.name=oids[obj.type],obj.name in _shortNames&&(obj.shortName=_shortNames[obj.name])),md&&(md.update(obj.type),md.update(obj.value)),rval.push(obj)}return rval},pki.CRIAttributesAsArray=function(attributes){for(var rval=[],si=0;si<attributes.length;++si)for(var seq=attributes[si],type=asn1.derToOid(seq.value[0].value),values=seq.value[1].value,vi=0;vi<values.length;++vi){var obj={};if(obj.type=type,obj.value=values[vi].value,obj.valueTagClass=values[vi].type,obj.type in oids&&(obj.name=oids[obj.type],obj.name in _shortNames&&(obj.shortName=_shortNames[obj.name])),obj.type===oids.extensionRequest){obj.extensions=[];for(var ei=0;ei<obj.value.length;++ei)obj.extensions.push(pki.certificateExtensionFromAsn1(obj.value[ei]))}rval.push(obj)}return rval};var _readSignatureParameters=function(oid,obj,fillDefaults){var params={};if(oid!==oids["RSASSA-PSS"])return params;fillDefaults&&(params={hash:{algorithmOid:oids.sha1},mgf:{algorithmOid:oids.mgf1,hash:{algorithmOid:oids.sha1}},saltLength:20});var capture={},errors=[];if(!asn1.validate(obj,rsassaPssParameterValidator,capture,errors)){var error=new Error("Cannot read RSASSA-PSS parameter block.");throw error.errors=errors,error}return void 0!==capture.hashOid&&(params.hash=params.hash||{},params.hash.algorithmOid=asn1.derToOid(capture.hashOid)),void 0!==capture.maskGenOid&&(params.mgf=params.mgf||{},params.mgf.algorithmOid=asn1.derToOid(capture.maskGenOid),params.mgf.hash=params.mgf.hash||{},params.mgf.hash.algorithmOid=asn1.derToOid(capture.maskGenHashOid)),void 0!==capture.saltLength&&(params.saltLength=capture.saltLength.charCodeAt(0)),params},_createSignatureDigest=function(options){switch(oids[options.signatureOid]){case"sha1WithRSAEncryption":case"sha1WithRSASignature":return forge.md.sha1.create();case"md5WithRSAEncryption":return forge.md.md5.create();case"sha256WithRSAEncryption":case"RSASSA-PSS":return forge.md.sha256.create();case"sha384WithRSAEncryption":return forge.md.sha384.create();case"sha512WithRSAEncryption":return forge.md.sha512.create();default:var error=new Error("Could not compute "+options.type+" digest. Unknown signature OID.");throw error.signatureOid=options.signatureOid,error}},_verifySignature=function(options){var scheme,cert=options.certificate;switch(cert.signatureOid){case oids.sha1WithRSAEncryption:case oids.sha1WithRSASignature:break;case oids["RSASSA-PSS"]:var hash,mgf,error;if(void 0===(hash=oids[cert.signatureParameters.mgf.hash.algorithmOid])||void 0===forge.md[hash])throw(error=new Error("Unsupported MGF hash function.")).oid=cert.signatureParameters.mgf.hash.algorithmOid,error.name=hash,error;if(void 0===(mgf=oids[cert.signatureParameters.mgf.algorithmOid])||void 0===forge.mgf[mgf])throw(error=new Error("Unsupported MGF function.")).oid=cert.signatureParameters.mgf.algorithmOid,error.name=mgf,error;if(mgf=forge.mgf[mgf].create(forge.md[hash].create()),void 0===(hash=oids[cert.signatureParameters.hash.algorithmOid])||void 0===forge.md[hash])throw(error=new Error("Unsupported RSASSA-PSS hash function.")).oid=cert.signatureParameters.hash.algorithmOid,error.name=hash,error;scheme=forge.pss.create(forge.md[hash].create(),mgf,cert.signatureParameters.saltLength)}return cert.publicKey.verify(options.md.digest().getBytes(),options.signature,scheme)};function _dnToAsn1(obj){for(var attr,set,rval=asn1.create(asn1.Class.UNIVERSAL,asn1.Type.SEQUENCE,!0,[]),attrs=obj.attributes,i=0;i<attrs.length;++i){var value=(attr=attrs[i]).value,valueTagClass=asn1.Type.PRINTABLESTRING;"valueTagClass"in attr&&(valueTagClass=attr.valueTagClass)===asn1.Type.UTF8&&(value=forge.util.encodeUtf8(value)),set=asn1.create(asn1.Class.UNIVERSAL,asn1.Type.SET,!0,[asn1.create(asn1.Class.UNIVERSAL,asn1.Type.SEQUENCE,!0,[asn1.create(asn1.Class.UNIVERSAL,asn1.Type.OID,!1,asn1.oidToDer(attr.type).getBytes()),asn1.create(asn1.Class.UNIVERSAL,valueTagClass,!1,value)])]),rval.value.push(set)}return rval}function _fillMissingFields(attrs){for(var attr,i=0;i<attrs.length;++i){if(void 0===(attr=attrs[i]).name&&(attr.type&&attr.type in pki.oids?attr.name=pki.oids[attr.type]:attr.shortName&&attr.shortName in _shortNames&&(attr.name=pki.oids[_shortNames[attr.shortName]])),void 0===attr.type){if(!attr.name||!(attr.name in pki.oids))throw(error=new Error("Attribute type not specified.")).attribute=attr,error;attr.type=pki.oids[attr.name]}if(void 0===attr.shortName&&attr.name&&attr.name in _shortNames&&(attr.shortName=_shortNames[attr.name]),attr.type===oids.extensionRequest&&(attr.valueConstructed=!0,attr.valueTagClass=asn1.Type.SEQUENCE,!attr.value&&attr.extensions)){attr.value=[];for(var ei=0;ei<attr.extensions.length;++ei)attr.value.push(pki.certificateExtensionToAsn1(_fillMissingExtensionFields(attr.extensions[ei])))}var error;if(void 0===attr.value)throw(error=new Error("Attribute value not specified.")).attribute=attr,error}}function _fillMissingExtensionFields(e,options){if(options=options||{},void 0===e.name&&e.id&&e.id in pki.oids&&(e.name=pki.oids[e.id]),void 0===e.id){if(!e.name||!(e.name in pki.oids))throw(error=new Error("Extension ID not specified.")).extension=e,error;e.id=pki.oids[e.name]}if(void 0!==e.value)return e;if("keyUsage"===e.name){var unused=0,b2=0,b3=0;e.digitalSignature&&(b2|=128,unused=7),e.nonRepudiation&&(b2|=64,unused=6),e.keyEncipherment&&(b2|=32,unused=5),e.dataEncipherment&&(b2|=16,unused=4),e.keyAgreement&&(b2|=8,unused=3),e.keyCertSign&&(b2|=4,unused=2),e.cRLSign&&(b2|=2,unused=1),e.encipherOnly&&(b2|=1,unused=0),e.decipherOnly&&(b3|=128,unused=7);var value=String.fromCharCode(unused);0!==b3?value+=String.fromCharCode(b2)+String.fromCharCode(b3):0!==b2&&(value+=String.fromCharCode(b2)),e.value=asn1.create(asn1.Class.UNIVERSAL,asn1.Type.BITSTRING,!1,value)}else if("basicConstraints"===e.name)e.value=asn1.create(asn1.Class.UNIVERSAL,asn1.Type.SEQUENCE,!0,[]),e.cA&&e.value.value.push(asn1.create(asn1.Class.UNIVERSAL,asn1.Type.BOOLEAN,!1,String.fromCharCode(255))),"pathLenConstraint"in e&&e.value.value.push(asn1.create(asn1.Class.UNIVERSAL,asn1.Type.INTEGER,!1,asn1.integerToDer(e.pathLenConstraint).getBytes()));else if("extKeyUsage"===e.name){e.value=asn1.create(asn1.Class.UNIVERSAL,asn1.Type.SEQUENCE,!0,[]);var seq=e.value.value;for(var key in e)!0===e[key]&&(key in oids?seq.push(asn1.create(asn1.Class.UNIVERSAL,asn1.Type.OID,!1,asn1.oidToDer(oids[key]).getBytes())):-1!==key.indexOf(".")&&seq.push(asn1.create(asn1.Class.UNIVERSAL,asn1.Type.OID,!1,asn1.oidToDer(key).getBytes())))}else if("nsCertType"===e.name){unused=0,b2=0;e.client&&(b2|=128,unused=7),e.server&&(b2|=64,unused=6),e.email&&(b2|=32,unused=5),e.objsign&&(b2|=16,unused=4),e.reserved&&(b2|=8,unused=3),e.sslCA&&(b2|=4,unused=2),e.emailCA&&(b2|=2,unused=1),e.objCA&&(b2|=1,unused=0);value=String.fromCharCode(unused);0!==b2&&(value+=String.fromCharCode(b2)),e.value=asn1.create(asn1.Class.UNIVERSAL,asn1.Type.BITSTRING,!1,value)}else if("subjectAltName"===e.name||"issuerAltName"===e.name){e.value=asn1.create(asn1.Class.UNIVERSAL,asn1.Type.SEQUENCE,!0,[]);for(var n=0;n<e.altNames.length;++n){value=(altName=e.altNames[n]).value;if(7===altName.type&&altName.ip){if(null===(value=forge.util.bytesFromIP(altName.ip)))throw(error=new Error('Extension "ip" value is not a valid IPv4 or IPv6 address.')).extension=e,error}else 8===altName.type&&(value=altName.oid?asn1.oidToDer(asn1.oidToDer(altName.oid)):asn1.oidToDer(value));e.value.value.push(asn1.create(asn1.Class.CONTEXT_SPECIFIC,altName.type,!1,value))}}else if("nsComment"===e.name&&options.cert){if(!/^[\x00-\x7F]*$/.test(e.comment)||e.comment.length<1||e.comment.length>128)throw new Error('Invalid "nsComment" content.');e.value=asn1.create(asn1.Class.UNIVERSAL,asn1.Type.IA5STRING,!1,e.comment)}else if("subjectKeyIdentifier"===e.name&&options.cert){var ski=options.cert.generateSubjectKeyIdentifier();e.subjectKeyIdentifier=ski.toHex(),e.value=asn1.create(asn1.Class.UNIVERSAL,asn1.Type.OCTETSTRING,!1,ski.getBytes())}else if("authorityKeyIdentifier"===e.name&&options.cert){e.value=asn1.create(asn1.Class.UNIVERSAL,asn1.Type.SEQUENCE,!0,[]);seq=e.value.value;if(e.keyIdentifier){var keyIdentifier=!0===e.keyIdentifier?options.cert.generateSubjectKeyIdentifier().getBytes():e.keyIdentifier;seq.push(asn1.create(asn1.Class.CONTEXT_SPECIFIC,0,!1,keyIdentifier))}if(e.authorityCertIssuer){var authorityCertIssuer=[asn1.create(asn1.Class.CONTEXT_SPECIFIC,4,!0,[_dnToAsn1(!0===e.authorityCertIssuer?options.cert.issuer:e.authorityCertIssuer)])];seq.push(asn1.create(asn1.Class.CONTEXT_SPECIFIC,1,!0,authorityCertIssuer))}if(e.serialNumber){var serialNumber=forge.util.hexToBytes(!0===e.serialNumber?options.cert.serialNumber:e.serialNumber);seq.push(asn1.create(asn1.Class.CONTEXT_SPECIFIC,2,!1,serialNumber))}}else if("cRLDistributionPoints"===e.name){e.value=asn1.create(asn1.Class.UNIVERSAL,asn1.Type.SEQUENCE,!0,[]);seq=e.value.value;var altName,subSeq=asn1.create(asn1.Class.UNIVERSAL,asn1.Type.SEQUENCE,!0,[]),fullNameGeneralNames=asn1.create(asn1.Class.CONTEXT_SPECIFIC,0,!0,[]);for(n=0;n<e.altNames.length;++n){value=(altName=e.altNames[n]).value;if(7===altName.type&&altName.ip){if(null===(value=forge.util.bytesFromIP(altName.ip)))throw(error=new Error('Extension "ip" value is not a valid IPv4 or IPv6 address.')).extension=e,error}else 8===altName.type&&(value=altName.oid?asn1.oidToDer(asn1.oidToDer(altName.oid)):asn1.oidToDer(value));fullNameGeneralNames.value.push(asn1.create(asn1.Class.CONTEXT_SPECIFIC,altName.type,!1,value))}subSeq.value.push(asn1.create(asn1.Class.CONTEXT_SPECIFIC,0,!0,[fullNameGeneralNames])),seq.push(subSeq)}var error;if(void 0===e.value)throw(error=new Error("Extension value not specified.")).extension=e,error;return e}function _signatureParametersToAsn1(oid,params){if(oid===oids["RSASSA-PSS"]){var parts=[];return void 0!==params.hash.algorithmOid&&parts.push(asn1.create(asn1.Class.CONTEXT_SPECIFIC,0,!0,[asn1.create(asn1.Class.UNIVERSAL,asn1.Type.SEQUENCE,!0,[asn1.create(asn1.Class.UNIVERSAL,asn1.Type.OID,!1,asn1.oidToDer(params.hash.algorithmOid).getBytes()),asn1.create(asn1.Class.UNIVERSAL,asn1.Type.NULL,!1,"")])])),void 0!==params.mgf.algorithmOid&&parts.push(asn1.create(asn1.Class.CONTEXT_SPECIFIC,1,!0,[asn1.create(asn1.Class.UNIVERSAL,asn1.Type.SEQUENCE,!0,[asn1.create(asn1.Class.UNIVERSAL,asn1.Type.OID,!1,asn1.oidToDer(params.mgf.algorithmOid).getBytes()),asn1.create(asn1.Class.UNIVERSAL,asn1.Type.SEQUENCE,!0,[asn1.create(asn1.Class.UNIVERSAL,asn1.Type.OID,!1,asn1.oidToDer(params.mgf.hash.algorithmOid).getBytes()),asn1.create(asn1.Class.UNIVERSAL,asn1.Type.NULL,!1,"")])])])),void 0!==params.saltLength&&parts.push(asn1.create(asn1.Class.CONTEXT_SPECIFIC,2,!0,[asn1.create(asn1.Class.UNIVERSAL,asn1.Type.INTEGER,!1,asn1.integerToDer(params.saltLength).getBytes())])),asn1.create(asn1.Class.UNIVERSAL,asn1.Type.SEQUENCE,!0,parts)}return asn1.create(asn1.Class.UNIVERSAL,asn1.Type.NULL,!1,"")}function _CRIAttributesToAsn1(csr){var rval=asn1.create(asn1.Class.CONTEXT_SPECIFIC,0,!0,[]);if(0===csr.attributes.length)return rval;for(var attrs=csr.attributes,i=0;i<attrs.length;++i){var attr=attrs[i],value=attr.value,valueTagClass=asn1.Type.UTF8;"valueTagClass"in attr&&(valueTagClass=attr.valueTagClass),valueTagClass===asn1.Type.UTF8&&(value=forge.util.encodeUtf8(value));var valueConstructed=!1;"valueConstructed"in attr&&(valueConstructed=attr.valueConstructed);var seq=asn1.create(asn1.Class.UNIVERSAL,asn1.Type.SEQUENCE,!0,[asn1.create(asn1.Class.UNIVERSAL,asn1.Type.OID,!1,asn1.oidToDer(attr.type).getBytes()),asn1.create(asn1.Class.UNIVERSAL,asn1.Type.SET,!0,[asn1.create(asn1.Class.UNIVERSAL,valueTagClass,valueConstructed,value)])]);rval.value.push(seq)}return rval}pki.certificateFromPem=function(pem,computeHash,strict){var msg=forge.pem.decode(pem)[0];if("CERTIFICATE"!==msg.type&&"X509 CERTIFICATE"!==msg.type&&"TRUSTED CERTIFICATE"!==msg.type){var error=new Error('Could not convert certificate from PEM; PEM header type is not "CERTIFICATE", "X509 CERTIFICATE", or "TRUSTED CERTIFICATE".');throw error.headerType=msg.type,error}if(msg.procType&&"ENCRYPTED"===msg.procType.type)throw new Error("Could not convert certificate from PEM; PEM is encrypted.");var obj=asn1.fromDer(msg.body,strict);return pki.certificateFromAsn1(obj,computeHash)},pki.certificateToPem=function(cert,maxline){var msg={type:"CERTIFICATE",body:asn1.toDer(pki.certificateToAsn1(cert)).getBytes()};return forge.pem.encode(msg,{maxline:maxline})},pki.publicKeyFromPem=function(pem){var msg=forge.pem.decode(pem)[0];if("PUBLIC KEY"!==msg.type&&"RSA PUBLIC KEY"!==msg.type){var error=new Error('Could not convert public key from PEM; PEM header type is not "PUBLIC KEY" or "RSA PUBLIC KEY".');throw error.headerType=msg.type,error}if(msg.procType&&"ENCRYPTED"===msg.procType.type)throw new Error("Could not convert public key from PEM; PEM is encrypted.");var obj=asn1.fromDer(msg.body);return pki.publicKeyFromAsn1(obj)},pki.publicKeyToPem=function(key,maxline){var msg={type:"PUBLIC KEY",body:asn1.toDer(pki.publicKeyToAsn1(key)).getBytes()};return forge.pem.encode(msg,{maxline:maxline})},pki.publicKeyToRSAPublicKeyPem=function(key,maxline){var msg={type:"RSA PUBLIC KEY",body:asn1.toDer(pki.publicKeyToRSAPublicKey(key)).getBytes()};return forge.pem.encode(msg,{maxline:maxline})},pki.getPublicKeyFingerprint=function(key,options){var bytes,md=(options=options||{}).md||forge.md.sha1.create();switch(options.type||"RSAPublicKey"){case"RSAPublicKey":bytes=asn1.toDer(pki.publicKeyToRSAPublicKey(key)).getBytes();break;case"SubjectPublicKeyInfo":bytes=asn1.toDer(pki.publicKeyToAsn1(key)).getBytes();break;default:throw new Error('Unknown fingerprint type "'+options.type+'".')}md.start(),md.update(bytes);var digest=md.digest();if("hex"===options.encoding){var hex=digest.toHex();return options.delimiter?hex.match(/.{2}/g).join(options.delimiter):hex}if("binary"===options.encoding)return digest.getBytes();if(options.encoding)throw new Error('Unknown encoding "'+options.encoding+'".');return digest},pki.certificationRequestFromPem=function(pem,computeHash,strict){var msg=forge.pem.decode(pem)[0];if("CERTIFICATE REQUEST"!==msg.type){var error=new Error('Could not convert certification request from PEM; PEM header type is not "CERTIFICATE REQUEST".');throw error.headerType=msg.type,error}if(msg.procType&&"ENCRYPTED"===msg.procType.type)throw new Error("Could not convert certification request from PEM; PEM is encrypted.");var obj=asn1.fromDer(msg.body,strict);return pki.certificationRequestFromAsn1(obj,computeHash)},pki.certificationRequestToPem=function(csr,maxline){var msg={type:"CERTIFICATE REQUEST",body:asn1.toDer(pki.certificationRequestToAsn1(csr)).getBytes()};return forge.pem.encode(msg,{maxline:maxline})},pki.createCertificate=function(){var cert={version:2,serialNumber:"00",signatureOid:null,signature:null,siginfo:{}};return cert.siginfo.algorithmOid=null,cert.validity={},cert.validity.notBefore=new Date,cert.validity.notAfter=new Date,cert.issuer={},cert.issuer.getField=function(sn){return _getAttribute(cert.issuer,sn)},cert.issuer.addField=function(attr){_fillMissingFields([attr]),cert.issuer.attributes.push(attr)},cert.issuer.attributes=[],cert.issuer.hash=null,cert.subject={},cert.subject.getField=function(sn){return _getAttribute(cert.subject,sn)},cert.subject.addField=function(attr){_fillMissingFields([attr]),cert.subject.attributes.push(attr)},cert.subject.attributes=[],cert.subject.hash=null,cert.extensions=[],cert.publicKey=null,cert.md=null,cert.setSubject=function(attrs,uniqueId){_fillMissingFields(attrs),cert.subject.attributes=attrs,delete cert.subject.uniqueId,uniqueId&&(cert.subject.uniqueId=uniqueId),cert.subject.hash=null},cert.setIssuer=function(attrs,uniqueId){_fillMissingFields(attrs),cert.issuer.attributes=attrs,delete cert.issuer.uniqueId,uniqueId&&(cert.issuer.uniqueId=uniqueId),cert.issuer.hash=null},cert.setExtensions=function(exts){for(var i=0;i<exts.length;++i)_fillMissingExtensionFields(exts[i],{cert:cert});cert.extensions=exts},cert.getExtension=function(options){"string"==typeof options&&(options={name:options});for(var ext,rval=null,i=0;null===rval&&i<cert.extensions.length;++i)ext=cert.extensions[i],(options.id&&ext.id===options.id||options.name&&ext.name===options.name)&&(rval=ext);return rval},cert.sign=function(key,md){cert.md=md||forge.md.sha1.create();var algorithmOid=oids[cert.md.algorithm+"WithRSAEncryption"];if(!algorithmOid){var error=new Error("Could not compute certificate digest. Unknown message digest algorithm OID.");throw error.algorithm=cert.md.algorithm,error}cert.signatureOid=cert.siginfo.algorithmOid=algorithmOid,cert.tbsCertificate=pki.getTBSCertificate(cert);var bytes=asn1.toDer(cert.tbsCertificate);cert.md.update(bytes.getBytes()),cert.signature=key.sign(cert.md)},cert.verify=function(child){var rval=!1;if(!cert.issued(child)){var issuer=child.issuer,subject=cert.subject,error=new Error("The parent certificate did not issue the given child certificate; the child certificate's issuer does not match the parent's subject.");throw error.expectedIssuer=subject.attributes,error.actualIssuer=issuer.attributes,error}var md=child.md;if(null===md){md=_createSignatureDigest({signatureOid:child.signatureOid,type:"certificate"});var tbsCertificate=child.tbsCertificate||pki.getTBSCertificate(child),bytes=asn1.toDer(tbsCertificate);md.update(bytes.getBytes())}return null!==md&&(rval=_verifySignature({certificate:cert,md:md,signature:child.signature})),rval},cert.isIssuer=function(parent){var rval=!1,i=cert.issuer,s=parent.subject;if(i.hash&&s.hash)rval=i.hash===s.hash;else if(i.attributes.length===s.attributes.length){var iattr,sattr;rval=!0;for(var n=0;rval&&n<i.attributes.length;++n)iattr=i.attributes[n],sattr=s.attributes[n],iattr.type===sattr.type&&iattr.value===sattr.value||(rval=!1)}return rval},cert.issued=function(child){return child.isIssuer(cert)},cert.generateSubjectKeyIdentifier=function(){return pki.getPublicKeyFingerprint(cert.publicKey,{type:"RSAPublicKey"})},cert.verifySubjectKeyIdentifier=function(){for(var oid=oids.subjectKeyIdentifier,i=0;i<cert.extensions.length;++i){var ext=cert.extensions[i];if(ext.id===oid){var ski=cert.generateSubjectKeyIdentifier().getBytes();return forge.util.hexToBytes(ext.subjectKeyIdentifier)===ski}}return!1},cert},pki.certificateFromAsn1=function(obj,computeHash){var capture={},errors=[];if(!asn1.validate(obj,x509CertificateValidator,capture,errors)){var error=new Error("Cannot read X.509 certificate. ASN.1 object is not an X509v3 Certificate.");throw error.errors=errors,error}if(asn1.derToOid(capture.publicKeyOid)!==pki.oids.rsaEncryption)throw new Error("Cannot read public key. OID is not RSA.");var cert=pki.createCertificate();cert.version=capture.certVersion?capture.certVersion.charCodeAt(0):0;var serial=forge.util.createBuffer(capture.certSerialNumber);cert.serialNumber=serial.toHex(),cert.signatureOid=forge.asn1.derToOid(capture.certSignatureOid),cert.signatureParameters=_readSignatureParameters(cert.signatureOid,capture.certSignatureParams,!0),cert.siginfo.algorithmOid=forge.asn1.derToOid(capture.certinfoSignatureOid),cert.siginfo.parameters=_readSignatureParameters(cert.siginfo.algorithmOid,capture.certinfoSignatureParams,!1),cert.signature=capture.certSignature;var validity=[];if(void 0!==capture.certValidity1UTCTime&&validity.push(asn1.utcTimeToDate(capture.certValidity1UTCTime)),void 0!==capture.certValidity2GeneralizedTime&&validity.push(asn1.generalizedTimeToDate(capture.certValidity2GeneralizedTime)),void 0!==capture.certValidity3UTCTime&&validity.push(asn1.utcTimeToDate(capture.certValidity3UTCTime)),void 0!==capture.certValidity4GeneralizedTime&&validity.push(asn1.generalizedTimeToDate(capture.certValidity4GeneralizedTime)),validity.length>2)throw new Error("Cannot read notBefore/notAfter validity times; more than two times were provided in the certificate.");if(validity.length<2)throw new Error("Cannot read notBefore/notAfter validity times; they were not provided as either UTCTime or GeneralizedTime.");if(cert.validity.notBefore=validity[0],cert.validity.notAfter=validity[1],cert.tbsCertificate=capture.tbsCertificate,computeHash){cert.md=_createSignatureDigest({signatureOid:cert.signatureOid,type:"certificate"});var bytes=asn1.toDer(cert.tbsCertificate);cert.md.update(bytes.getBytes())}var imd=forge.md.sha1.create(),ibytes=asn1.toDer(capture.certIssuer);imd.update(ibytes.getBytes()),cert.issuer.getField=function(sn){return _getAttribute(cert.issuer,sn)},cert.issuer.addField=function(attr){_fillMissingFields([attr]),cert.issuer.attributes.push(attr)},cert.issuer.attributes=pki.RDNAttributesAsArray(capture.certIssuer),capture.certIssuerUniqueId&&(cert.issuer.uniqueId=capture.certIssuerUniqueId),cert.issuer.hash=imd.digest().toHex();var smd=forge.md.sha1.create(),sbytes=asn1.toDer(capture.certSubject);return smd.update(sbytes.getBytes()),cert.subject.getField=function(sn){return _getAttribute(cert.subject,sn)},cert.subject.addField=function(attr){_fillMissingFields([attr]),cert.subject.attributes.push(attr)},cert.subject.attributes=pki.RDNAttributesAsArray(capture.certSubject),capture.certSubjectUniqueId&&(cert.subject.uniqueId=capture.certSubjectUniqueId),cert.subject.hash=smd.digest().toHex(),capture.certExtensions?cert.extensions=pki.certificateExtensionsFromAsn1(capture.certExtensions):cert.extensions=[],cert.publicKey=pki.publicKeyFromAsn1(capture.subjectPublicKeyInfo),cert},pki.certificateExtensionsFromAsn1=function(exts){for(var rval=[],i=0;i<exts.value.length;++i)for(var extseq=exts.value[i],ei=0;ei<extseq.value.length;++ei)rval.push(pki.certificateExtensionFromAsn1(extseq.value[ei]));return rval},pki.certificateExtensionFromAsn1=function(ext){var e={};if(e.id=asn1.derToOid(ext.value[0].value),e.critical=!1,ext.value[1].type===asn1.Type.BOOLEAN?(e.critical=0!==ext.value[1].value.charCodeAt(0),e.value=ext.value[2].value):e.value=ext.value[1].value,e.id in oids)if(e.name=oids[e.id],"keyUsage"===e.name){var b2=0,b3=0;(ev=asn1.fromDer(e.value)).value.length>1&&(b2=ev.value.charCodeAt(1),b3=ev.value.length>2?ev.value.charCodeAt(2):0),e.digitalSignature=!(128&~b2),e.nonRepudiation=!(64&~b2),e.keyEncipherment=!(32&~b2),e.dataEncipherment=!(16&~b2),e.keyAgreement=!(8&~b2),e.keyCertSign=!(4&~b2),e.cRLSign=!(2&~b2),e.encipherOnly=!(1&~b2),e.decipherOnly=!(128&~b3)}else if("basicConstraints"===e.name){(ev=asn1.fromDer(e.value)).value.length>0&&ev.value[0].type===asn1.Type.BOOLEAN?e.cA=0!==ev.value[0].value.charCodeAt(0):e.cA=!1;var value=null;ev.value.length>0&&ev.value[0].type===asn1.Type.INTEGER?value=ev.value[0].value:ev.value.length>1&&(value=ev.value[1].value),null!==value&&(e.pathLenConstraint=asn1.derToInteger(value))}else if("extKeyUsage"===e.name)for(var ev=asn1.fromDer(e.value),vi=0;vi<ev.value.length;++vi){var oid=asn1.derToOid(ev.value[vi].value);oid in oids?e[oids[oid]]=!0:e[oid]=!0}else if("nsCertType"===e.name){b2=0;(ev=asn1.fromDer(e.value)).value.length>1&&(b2=ev.value.charCodeAt(1)),e.client=!(128&~b2),e.server=!(64&~b2),e.email=!(32&~b2),e.objsign=!(16&~b2),e.reserved=!(8&~b2),e.sslCA=!(4&~b2),e.emailCA=!(2&~b2),e.objCA=!(1&~b2)}else if("subjectAltName"===e.name||"issuerAltName"===e.name){var gn;e.altNames=[];ev=asn1.fromDer(e.value);for(var n=0;n<ev.value.length;++n){var altName={type:(gn=ev.value[n]).type,value:gn.value};switch(e.altNames.push(altName),gn.type){case 1:case 2:case 6:break;case 7:altName.ip=forge.util.bytesToIP(gn.value);break;case 8:altName.oid=asn1.derToOid(gn.value)}}}else if("subjectKeyIdentifier"===e.name){ev=asn1.fromDer(e.value);e.subjectKeyIdentifier=forge.util.bytesToHex(ev.value)}return e},pki.certificationRequestFromAsn1=function(obj,computeHash){var capture={},errors=[];if(!asn1.validate(obj,certificationRequestValidator,capture,errors)){var error=new Error("Cannot read PKCS#10 certificate request. ASN.1 object is not a PKCS#10 CertificationRequest.");throw error.errors=errors,error}if(asn1.derToOid(capture.publicKeyOid)!==pki.oids.rsaEncryption)throw new Error("Cannot read public key. OID is not RSA.");var csr=pki.createCertificationRequest();if(csr.version=capture.csrVersion?capture.csrVersion.charCodeAt(0):0,csr.signatureOid=forge.asn1.derToOid(capture.csrSignatureOid),csr.signatureParameters=_readSignatureParameters(csr.signatureOid,capture.csrSignatureParams,!0),csr.siginfo.algorithmOid=forge.asn1.derToOid(capture.csrSignatureOid),csr.siginfo.parameters=_readSignatureParameters(csr.siginfo.algorithmOid,capture.csrSignatureParams,!1),csr.signature=capture.csrSignature,csr.certificationRequestInfo=capture.certificationRequestInfo,computeHash){csr.md=_createSignatureDigest({signatureOid:csr.signatureOid,type:"certification request"});var bytes=asn1.toDer(csr.certificationRequestInfo);csr.md.update(bytes.getBytes())}var smd=forge.md.sha1.create();return csr.subject.getField=function(sn){return _getAttribute(csr.subject,sn)},csr.subject.addField=function(attr){_fillMissingFields([attr]),csr.subject.attributes.push(attr)},csr.subject.attributes=pki.RDNAttributesAsArray(capture.certificationRequestInfoSubject,smd),csr.subject.hash=smd.digest().toHex(),csr.publicKey=pki.publicKeyFromAsn1(capture.subjectPublicKeyInfo),csr.getAttribute=function(sn){return _getAttribute(csr,sn)},csr.addAttribute=function(attr){_fillMissingFields([attr]),csr.attributes.push(attr)},csr.attributes=pki.CRIAttributesAsArray(capture.certificationRequestInfoAttributes||[]),csr},pki.createCertificationRequest=function(){var csr={version:0,signatureOid:null,signature:null,siginfo:{}};return csr.siginfo.algorithmOid=null,csr.subject={},csr.subject.getField=function(sn){return _getAttribute(csr.subject,sn)},csr.subject.addField=function(attr){_fillMissingFields([attr]),csr.subject.attributes.push(attr)},csr.subject.attributes=[],csr.subject.hash=null,csr.publicKey=null,csr.attributes=[],csr.getAttribute=function(sn){return _getAttribute(csr,sn)},csr.addAttribute=function(attr){_fillMissingFields([attr]),csr.attributes.push(attr)},csr.md=null,csr.setSubject=function(attrs){_fillMissingFields(attrs),csr.subject.attributes=attrs,csr.subject.hash=null},csr.setAttributes=function(attrs){_fillMissingFields(attrs),csr.attributes=attrs},csr.sign=function(key,md){csr.md=md||forge.md.sha1.create();var algorithmOid=oids[csr.md.algorithm+"WithRSAEncryption"];if(!algorithmOid){var error=new Error("Could not compute certification request digest. Unknown message digest algorithm OID.");throw error.algorithm=csr.md.algorithm,error}csr.signatureOid=csr.siginfo.algorithmOid=algorithmOid,csr.certificationRequestInfo=pki.getCertificationRequestInfo(csr);var bytes=asn1.toDer(csr.certificationRequestInfo);csr.md.update(bytes.getBytes()),csr.signature=key.sign(csr.md)},csr.verify=function(){var rval=!1,md=csr.md;if(null===md){md=_createSignatureDigest({signatureOid:csr.signatureOid,type:"certification request"});var cri=csr.certificationRequestInfo||pki.getCertificationRequestInfo(csr),bytes=asn1.toDer(cri);md.update(bytes.getBytes())}return null!==md&&(rval=_verifySignature({certificate:csr,md:md,signature:csr.signature})),rval},csr};var jan_1_1950=new Date("1950-01-01T00:00:00Z"),jan_1_2050=new Date("2050-01-01T00:00:00Z");function _dateToAsn1(date){return date>=jan_1_1950&&date<jan_1_2050?asn1.create(asn1.Class.UNIVERSAL,asn1.Type.UTCTIME,!1,asn1.dateToUtcTime(date)):asn1.create(asn1.Class.UNIVERSAL,asn1.Type.GENERALIZEDTIME,!1,asn1.dateToGeneralizedTime(date))}return pki.getTBSCertificate=function(cert){var notBefore=_dateToAsn1(cert.validity.notBefore),notAfter=_dateToAsn1(cert.validity.notAfter),tbs=asn1.create(asn1.Class.UNIVERSAL,asn1.Type.SEQUENCE,!0,[asn1.create(asn1.Class.CONTEXT_SPECIFIC,0,!0,[asn1.create(asn1.Class.UNIVERSAL,asn1.Type.INTEGER,!1,asn1.integerToDer(cert.version).getBytes())]),asn1.create(asn1.Class.UNIVERSAL,asn1.Type.INTEGER,!1,forge.util.hexToBytes(cert.serialNumber)),asn1.create(asn1.Class.UNIVERSAL,asn1.Type.SEQUENCE,!0,[asn1.create(asn1.Class.UNIVERSAL,asn1.Type.OID,!1,asn1.oidToDer(cert.siginfo.algorithmOid).getBytes()),_signatureParametersToAsn1(cert.siginfo.algorithmOid,cert.siginfo.parameters)]),_dnToAsn1(cert.issuer),asn1.create(asn1.Class.UNIVERSAL,asn1.Type.SEQUENCE,!0,[notBefore,notAfter]),_dnToAsn1(cert.subject),pki.publicKeyToAsn1(cert.publicKey)]);return cert.issuer.uniqueId&&tbs.value.push(asn1.create(asn1.Class.CONTEXT_SPECIFIC,1,!0,[asn1.create(asn1.Class.UNIVERSAL,asn1.Type.BITSTRING,!1,String.fromCharCode(0)+cert.issuer.uniqueId)])),cert.subject.uniqueId&&tbs.value.push(asn1.create(asn1.Class.CONTEXT_SPECIFIC,2,!0,[asn1.create(asn1.Class.UNIVERSAL,asn1.Type.BITSTRING,!1,String.fromCharCode(0)+cert.subject.uniqueId)])),cert.extensions.length>0&&tbs.value.push(pki.certificateExtensionsToAsn1(cert.extensions)),tbs},pki.getCertificationRequestInfo=function(csr){return asn1.create(asn1.Class.UNIVERSAL,asn1.Type.SEQUENCE,!0,[asn1.create(asn1.Class.UNIVERSAL,asn1.Type.INTEGER,!1,asn1.integerToDer(csr.version).getBytes()),_dnToAsn1(csr.subject),pki.publicKeyToAsn1(csr.publicKey),_CRIAttributesToAsn1(csr)])},pki.distinguishedNameToAsn1=function(dn){return _dnToAsn1(dn)},pki.certificateToAsn1=function(cert){var tbsCertificate=cert.tbsCertificate||pki.getTBSCertificate(cert);return asn1.create(asn1.Class.UNIVERSAL,asn1.Type.SEQUENCE,!0,[tbsCertificate,asn1.create(asn1.Class.UNIVERSAL,asn1.Type.SEQUENCE,!0,[asn1.create(asn1.Class.UNIVERSAL,asn1.Type.OID,!1,asn1.oidToDer(cert.signatureOid).getBytes()),_signatureParametersToAsn1(cert.signatureOid,cert.signatureParameters)]),asn1.create(asn1.Class.UNIVERSAL,asn1.Type.BITSTRING,!1,String.fromCharCode(0)+cert.signature)])},pki.certificateExtensionsToAsn1=function(exts){var rval=asn1.create(asn1.Class.CONTEXT_SPECIFIC,3,!0,[]),seq=asn1.create(asn1.Class.UNIVERSAL,asn1.Type.SEQUENCE,!0,[]);rval.value.push(seq);for(var i=0;i<exts.length;++i)seq.value.push(pki.certificateExtensionToAsn1(exts[i]));return rval},pki.certificateExtensionToAsn1=function(ext){var extseq=asn1.create(asn1.Class.UNIVERSAL,asn1.Type.SEQUENCE,!0,[]);extseq.value.push(asn1.create(asn1.Class.UNIVERSAL,asn1.Type.OID,!1,asn1.oidToDer(ext.id).getBytes())),ext.critical&&extseq.value.push(asn1.create(asn1.Class.UNIVERSAL,asn1.Type.BOOLEAN,!1,String.fromCharCode(255)));var value=ext.value;return"string"!=typeof ext.value&&(value=asn1.toDer(value).getBytes()),extseq.value.push(asn1.create(asn1.Class.UNIVERSAL,asn1.Type.OCTETSTRING,!1,value)),extseq},pki.certificationRequestToAsn1=function(csr){var cri=csr.certificationRequestInfo||pki.getCertificationRequestInfo(csr);return asn1.create(asn1.Class.UNIVERSAL,asn1.Type.SEQUENCE,!0,[cri,asn1.create(asn1.Class.UNIVERSAL,asn1.Type.SEQUENCE,!0,[asn1.create(asn1.Class.UNIVERSAL,asn1.Type.OID,!1,asn1.oidToDer(csr.signatureOid).getBytes()),_signatureParametersToAsn1(csr.signatureOid,csr.signatureParameters)]),asn1.create(asn1.Class.UNIVERSAL,asn1.Type.BITSTRING,!1,String.fromCharCode(0)+csr.signature)])},pki.createCaStore=function(certs){var caStore={certs:{}};function getBySubject(subject){return ensureSubjectHasHash(subject),caStore.certs[subject.hash]||null}function ensureSubjectHasHash(subject){if(!subject.hash){var md=forge.md.sha1.create();subject.attributes=pki.RDNAttributesAsArray(_dnToAsn1(subject),md),subject.hash=md.digest().toHex()}}if(caStore.getIssuer=function(cert){return getBySubject(cert.issuer)},caStore.addCertificate=function(cert){if("string"==typeof cert&&(cert=forge.pki.certificateFromPem(cert)),ensureSubjectHasHash(cert.subject),!caStore.hasCertificate(cert))if(cert.subject.hash in caStore.certs){var tmp=caStore.certs[cert.subject.hash];forge.util.isArray(tmp)||(tmp=[tmp]),tmp.push(cert),caStore.certs[cert.subject.hash]=tmp}else caStore.certs[cert.subject.hash]=cert},caStore.hasCertificate=function(cert){"string"==typeof cert&&(cert=forge.pki.certificateFromPem(cert));var match=getBySubject(cert.subject);if(!match)return!1;forge.util.isArray(match)||(match=[match]);for(var der1=asn1.toDer(pki.certificateToAsn1(cert)).getBytes(),i=0;i<match.length;++i){if(der1===asn1.toDer(pki.certificateToAsn1(match[i])).getBytes())return!0}return!1},caStore.listAllCertificates=function(){var certList=[];for(var hash in caStore.certs)if(caStore.certs.hasOwnProperty(hash)){var value=caStore.certs[hash];if(forge.util.isArray(value))for(var i=0;i<value.length;++i)certList.push(value[i]);else certList.push(value)}return certList},caStore.removeCertificate=function(cert){var result;if("string"==typeof cert&&(cert=forge.pki.certificateFromPem(cert)),ensureSubjectHasHash(cert.subject),!caStore.hasCertificate(cert))return null;var match=getBySubject(cert.subject);if(!forge.util.isArray(match))return result=caStore.certs[cert.subject.hash],delete caStore.certs[cert.subject.hash],result;for(var der1=asn1.toDer(pki.certificateToAsn1(cert)).getBytes(),i=0;i<match.length;++i){der1===asn1.toDer(pki.certificateToAsn1(match[i])).getBytes()&&(result=match[i],match.splice(i,1))}return 0===match.length&&delete caStore.certs[cert.subject.hash],result},certs)for(var i=0;i<certs.length;++i){var cert=certs[i];caStore.addCertificate(cert)}return caStore},pki.certificateError={bad_certificate:"forge.pki.BadCertificate",unsupported_certificate:"forge.pki.UnsupportedCertificate",certificate_revoked:"forge.pki.CertificateRevoked",certificate_expired:"forge.pki.CertificateExpired",certificate_unknown:"forge.pki.CertificateUnknown",unknown_ca:"forge.pki.UnknownCertificateAuthority"},pki.verifyCertificateChain=function(caStore,chain,options){"function"==typeof options&&(options={verify:options}),options=options||{};var certs=(chain=chain.slice(0)).slice(0),validityCheckDate=options.validityCheckDate;void 0===validityCheckDate&&(validityCheckDate=new Date);var first=!0,error=null,depth=0;do{var cert=chain.shift(),parent=null,selfSigned=!1;if(validityCheckDate&&(validityCheckDate<cert.validity.notBefore||validityCheckDate>cert.validity.notAfter)&&(error={message:"Certificate is not valid yet or has expired.",error:pki.certificateError.certificate_expired,notBefore:cert.validity.notBefore,notAfter:cert.validity.notAfter,now:validityCheckDate}),null===error){if(null===(parent=chain[0]||caStore.getIssuer(cert))&&cert.isIssuer(cert)&&(selfSigned=!0,parent=cert),parent){var parents=parent;forge.util.isArray(parents)||(parents=[parents]);for(var verified=!1;!verified&&parents.length>0;){parent=parents.shift();try{verified=parent.verify(cert)}catch(ex){}}verified||(error={message:"Certificate signature is invalid.",error:pki.certificateError.bad_certificate})}null!==error||parent&&!selfSigned||caStore.hasCertificate(cert)||(error={message:"Certificate is not trusted.",error:pki.certificateError.unknown_ca})}if(null===error&&parent&&!cert.isIssuer(parent)&&(error={message:"Certificate issuer is invalid.",error:pki.certificateError.bad_certificate}),null===error)for(var se={keyUsage:!0,basicConstraints:!0},i=0;null===error&&i<cert.extensions.length;++i){var ext=cert.extensions[i];ext.critical&&!(ext.name in se)&&(error={message:"Certificate has an unsupported critical extension.",error:pki.certificateError.unsupported_certificate})}if(null===error&&(!first||0===chain.length&&(!parent||selfSigned))){var bcExt=cert.getExtension("basicConstraints"),keyUsageExt=cert.getExtension("keyUsage");if(null!==keyUsageExt&&(keyUsageExt.keyCertSign&&null!==bcExt||(error={message:"Certificate keyUsage or basicConstraints conflict or indicate that the certificate is not a CA. If the certificate is the only one in the chain or isn't the first then the certificate must be a valid CA.",error:pki.certificateError.bad_certificate})),null!==error||null===bcExt||bcExt.cA||(error={message:"Certificate basicConstraints indicates the certificate is not a CA.",error:pki.certificateError.bad_certificate}),null===error&&null!==keyUsageExt&&"pathLenConstraint"in bcExt)depth-1>bcExt.pathLenConstraint&&(error={message:"Certificate basicConstraints pathLenConstraint violated.",error:pki.certificateError.bad_certificate})}var vfd=null===error||error.error,ret=options.verify?options.verify(vfd,depth,certs):vfd;if(!0!==ret)throw!0===vfd&&(error={message:"The application rejected the certificate.",error:pki.certificateError.bad_certificate}),(ret||0===ret)&&("object"!=typeof ret||forge.util.isArray(ret)?"string"==typeof ret&&(error.error=ret):(ret.message&&(error.message=ret.message),ret.error&&(error.error=ret.error))),error;error=null,first=!1,++depth}while(chain.length>0);return!0},x509.exports}function requirePkcs12(){if(hasRequiredPkcs12)return pkcs12.exports;hasRequiredPkcs12=1;var forge=requireForge();requireAsn1(),requireHmac(),requireOids(),requirePkcs7asn1(),requirePbe(),requireRandom(),requireRsa(),requireSha1$1(),requireUtil(),requireX509();var asn1=forge.asn1,pki=forge.pki,p12=pkcs12.exports=forge.pkcs12=forge.pkcs12||{},contentInfoValidator={name:"ContentInfo",tagClass:asn1.Class.UNIVERSAL,type:asn1.Type.SEQUENCE,constructed:!0,value:[{name:"ContentInfo.contentType",tagClass:asn1.Class.UNIVERSAL,type:asn1.Type.OID,constructed:!1,capture:"contentType"},{name:"ContentInfo.content",tagClass:asn1.Class.CONTEXT_SPECIFIC,constructed:!0,captureAsn1:"content"}]},pfxValidator={name:"PFX",tagClass:asn1.Class.UNIVERSAL,type:asn1.Type.SEQUENCE,constructed:!0,value:[{name:"PFX.version",tagClass:asn1.Class.UNIVERSAL,type:asn1.Type.INTEGER,constructed:!1,capture:"version"},contentInfoValidator,{name:"PFX.macData",tagClass:asn1.Class.UNIVERSAL,type:asn1.Type.SEQUENCE,constructed:!0,optional:!0,captureAsn1:"mac",value:[{name:"PFX.macData.mac",tagClass:asn1.Class.UNIVERSAL,type:asn1.Type.SEQUENCE,constructed:!0,value:[{name:"PFX.macData.mac.digestAlgorithm",tagClass:asn1.Class.UNIVERSAL,type:asn1.Type.SEQUENCE,constructed:!0,value:[{name:"PFX.macData.mac.digestAlgorithm.algorithm",tagClass:asn1.Class.UNIVERSAL,type:asn1.Type.OID,constructed:!1,capture:"macAlgorithm"},{name:"PFX.macData.mac.digestAlgorithm.parameters",tagClass:asn1.Class.UNIVERSAL,captureAsn1:"macAlgorithmParameters"}]},{name:"PFX.macData.mac.digest",tagClass:asn1.Class.UNIVERSAL,type:asn1.Type.OCTETSTRING,constructed:!1,capture:"macDigest"}]},{name:"PFX.macData.macSalt",tagClass:asn1.Class.UNIVERSAL,type:asn1.Type.OCTETSTRING,constructed:!1,capture:"macSalt"},{name:"PFX.macData.iterations",tagClass:asn1.Class.UNIVERSAL,type:asn1.Type.INTEGER,constructed:!1,optional:!0,capture:"macIterations"}]}]},safeBagValidator={name:"SafeBag",tagClass:asn1.Class.UNIVERSAL,type:asn1.Type.SEQUENCE,constructed:!0,value:[{name:"SafeBag.bagId",tagClass:asn1.Class.UNIVERSAL,type:asn1.Type.OID,constructed:!1,capture:"bagId"},{name:"SafeBag.bagValue",tagClass:asn1.Class.CONTEXT_SPECIFIC,constructed:!0,captureAsn1:"bagValue"},{name:"SafeBag.bagAttributes",tagClass:asn1.Class.UNIVERSAL,type:asn1.Type.SET,constructed:!0,optional:!0,capture:"bagAttributes"}]},attributeValidator={name:"Attribute",tagClass:asn1.Class.UNIVERSAL,type:asn1.Type.SEQUENCE,constructed:!0,value:[{name:"Attribute.attrId",tagClass:asn1.Class.UNIVERSAL,type:asn1.Type.OID,constructed:!1,capture:"oid"},{name:"Attribute.attrValues",tagClass:asn1.Class.UNIVERSAL,type:asn1.Type.SET,constructed:!0,capture:"values"}]},certBagValidator={name:"CertBag",tagClass:asn1.Class.UNIVERSAL,type:asn1.Type.SEQUENCE,constructed:!0,value:[{name:"CertBag.certId",tagClass:asn1.Class.UNIVERSAL,type:asn1.Type.OID,constructed:!1,capture:"certId"},{name:"CertBag.certValue",tagClass:asn1.Class.CONTEXT_SPECIFIC,constructed:!0,value:[{name:"CertBag.certValue[0]",tagClass:asn1.Class.UNIVERSAL,type:asn1.Class.OCTETSTRING,constructed:!1,capture:"cert"}]}]};function _getBagsByAttribute(safeContents,attrName,attrValue,bagType){for(var result=[],i=0;i<safeContents.length;i++)for(var j=0;j<safeContents[i].safeBags.length;j++){var bag=safeContents[i].safeBags[j];void 0!==bagType&&bag.type!==bagType||(null!==attrName?void 0!==bag.attributes[attrName]&&bag.attributes[attrName].indexOf(attrValue)>=0&&result.push(bag):result.push(bag))}return result}function _decodePkcs7Data(data){if(data.composed||data.constructed){for(var value=forge.util.createBuffer(),i=0;i<data.value.length;++i)value.putBytes(data.value[i].value);data.composed=data.constructed=!1,data.value=value.getBytes()}return data}function _decryptSafeContents(data,password){var capture={},errors=[];if(!asn1.validate(data,forge.pkcs7.asn1.encryptedDataValidator,capture,errors))throw(error=new Error("Cannot read EncryptedContentInfo.")).errors=errors,error;var error,oid=asn1.derToOid(capture.contentType);if(oid!==pki.oids.data)throw(error=new Error("PKCS#12 EncryptedContentInfo ContentType is not Data.")).oid=oid,error;oid=asn1.derToOid(capture.encAlgorithm);var cipher=pki.pbe.getCipher(oid,capture.encParameter,password),encryptedContentAsn1=_decodePkcs7Data(capture.encryptedContentAsn1),encrypted=forge.util.createBuffer(encryptedContentAsn1.value);if(cipher.update(encrypted),!cipher.finish())throw new Error("Failed to decrypt PKCS#12 SafeContents.");return cipher.output.getBytes()}function _decodeSafeContents(safeContents,strict,password){if(!strict&&0===safeContents.length)return[];if((safeContents=asn1.fromDer(safeContents,strict)).tagClass!==asn1.Class.UNIVERSAL||safeContents.type!==asn1.Type.SEQUENCE||!0!==safeContents.constructed)throw new Error("PKCS#12 SafeContents expected to be a SEQUENCE OF SafeBag.");for(var res=[],i=0;i<safeContents.value.length;i++){var safeBag=safeContents.value[i],capture={},errors=[];if(!asn1.validate(safeBag,safeBagValidator,capture,errors))throw(error=new Error("Cannot read SafeBag.")).errors=errors,error;var validator,decoder,bag={type:asn1.derToOid(capture.bagId),attributes:_decodeBagAttributes(capture.bagAttributes)};res.push(bag);var bagAsn1=capture.bagValue.value[0];switch(bag.type){case pki.oids.pkcs8ShroudedKeyBag:if(null===(bagAsn1=pki.decryptPrivateKeyInfo(bagAsn1,password)))throw new Error("Unable to decrypt PKCS#8 ShroudedKeyBag, wrong password?");case pki.oids.keyBag:try{bag.key=pki.privateKeyFromAsn1(bagAsn1)}catch(e){bag.key=null,bag.asn1=bagAsn1}continue;case pki.oids.certBag:validator=certBagValidator,decoder=function(){if(asn1.derToOid(capture.certId)!==pki.oids.x509Certificate){var error=new Error("Unsupported certificate type, only X.509 supported.");throw error.oid=asn1.derToOid(capture.certId),error}var certAsn1=asn1.fromDer(capture.cert,strict);try{bag.cert=pki.certificateFromAsn1(certAsn1,!0)}catch(e){bag.cert=null,bag.asn1=certAsn1}};break;default:var error;throw(error=new Error("Unsupported PKCS#12 SafeBag type.")).oid=bag.type,error}if(void 0!==validator&&!asn1.validate(bagAsn1,validator,capture,errors))throw(error=new Error("Cannot read PKCS#12 "+validator.name)).errors=errors,error;decoder()}return res}function _decodeBagAttributes(attributes){var decodedAttrs={};if(void 0!==attributes)for(var i=0;i<attributes.length;++i){var capture={},errors=[];if(!asn1.validate(attributes[i],attributeValidator,capture,errors)){var error=new Error("Cannot read PKCS#12 BagAttribute.");throw error.errors=errors,error}var oid=asn1.derToOid(capture.oid);if(void 0!==pki.oids[oid]){decodedAttrs[pki.oids[oid]]=[];for(var j=0;j<capture.values.length;++j)decodedAttrs[pki.oids[oid]].push(capture.values[j].value)}}return decodedAttrs}return p12.pkcs12FromAsn1=function(obj,strict,password){"string"==typeof strict?(password=strict,strict=!0):void 0===strict&&(strict=!0);var capture={};if(!asn1.validate(obj,pfxValidator,capture,[]))throw(error=new Error("Cannot read PKCS#12 PFX. ASN.1 object is not an PKCS#12 PFX.")).errors=error,error;var error,pfx={version:capture.version.charCodeAt(0),safeContents:[],getBags:function(filter){var localKeyId,rval={};return"localKeyId"in filter?localKeyId=filter.localKeyId:"localKeyIdHex"in filter&&(localKeyId=forge.util.hexToBytes(filter.localKeyIdHex)),void 0===localKeyId&&!("friendlyName"in filter)&&"bagType"in filter&&(rval[filter.bagType]=_getBagsByAttribute(pfx.safeContents,null,null,filter.bagType)),void 0!==localKeyId&&(rval.localKeyId=_getBagsByAttribute(pfx.safeContents,"localKeyId",localKeyId,filter.bagType)),"friendlyName"in filter&&(rval.friendlyName=_getBagsByAttribute(pfx.safeContents,"friendlyName",filter.friendlyName,filter.bagType)),rval},getBagsByFriendlyName:function(friendlyName,bagType){return _getBagsByAttribute(pfx.safeContents,"friendlyName",friendlyName,bagType)},getBagsByLocalKeyId:function(localKeyId,bagType){return _getBagsByAttribute(pfx.safeContents,"localKeyId",localKeyId,bagType)}};if(3!==capture.version.charCodeAt(0))throw(error=new Error("PKCS#12 PFX of version other than 3 not supported.")).version=capture.version.charCodeAt(0),error;if(asn1.derToOid(capture.contentType)!==pki.oids.data)throw(error=new Error("Only PKCS#12 PFX in password integrity mode supported.")).oid=asn1.derToOid(capture.contentType),error;var data=capture.content.value[0];if(data.tagClass!==asn1.Class.UNIVERSAL||data.type!==asn1.Type.OCTETSTRING)throw new Error("PKCS#12 authSafe content data is not an OCTET STRING.");if(data=_decodePkcs7Data(data),capture.mac){var md=null,macKeyBytes=0,macAlgorithm=asn1.derToOid(capture.macAlgorithm);switch(macAlgorithm){case pki.oids.sha1:md=forge.md.sha1.create(),macKeyBytes=20;break;case pki.oids.sha256:md=forge.md.sha256.create(),macKeyBytes=32;break;case pki.oids.sha384:md=forge.md.sha384.create(),macKeyBytes=48;break;case pki.oids.sha512:md=forge.md.sha512.create(),macKeyBytes=64;break;case pki.oids.md5:md=forge.md.md5.create(),macKeyBytes=16}if(null===md)throw new Error("PKCS#12 uses unsupported MAC algorithm: "+macAlgorithm);var macSalt=new forge.util.ByteBuffer(capture.macSalt),macIterations="macIterations"in capture?parseInt(forge.util.bytesToHex(capture.macIterations),16):1,macKey=p12.generateKey(password,macSalt,3,macIterations,macKeyBytes,md),mac=forge.hmac.create();if(mac.start(md,macKey),mac.update(data.value),mac.getMac().getBytes()!==capture.macDigest)throw new Error("PKCS#12 MAC could not be verified. Invalid password?")}return function _decodeAuthenticatedSafe(pfx,authSafe,strict,password){if(authSafe=asn1.fromDer(authSafe,strict),authSafe.tagClass!==asn1.Class.UNIVERSAL||authSafe.type!==asn1.Type.SEQUENCE||!0!==authSafe.constructed)throw new Error("PKCS#12 AuthenticatedSafe expected to be a SEQUENCE OF ContentInfo");for(var i=0;i<authSafe.value.length;i++){var contentInfo=authSafe.value[i],capture={},errors=[];if(!asn1.validate(contentInfo,contentInfoValidator,capture,errors))throw(error=new Error("Cannot read ContentInfo.")).errors=errors,error;var obj={encrypted:!1},safeContents=null,data=capture.content.value[0];switch(asn1.derToOid(capture.contentType)){case pki.oids.data:if(data.tagClass!==asn1.Class.UNIVERSAL||data.type!==asn1.Type.OCTETSTRING)throw new Error("PKCS#12 SafeContents Data is not an OCTET STRING.");safeContents=_decodePkcs7Data(data).value;break;case pki.oids.encryptedData:safeContents=_decryptSafeContents(data,password),obj.encrypted=!0;break;default:var error;throw(error=new Error("Unsupported PKCS#12 contentType.")).contentType=asn1.derToOid(capture.contentType),error}obj.safeBags=_decodeSafeContents(safeContents,strict,password),pfx.safeContents.push(obj)}}(pfx,data.value,strict,password),pfx},p12.toPkcs12Asn1=function(key,cert,password,options){(options=options||{}).saltSize=options.saltSize||8,options.count=options.count||2048,options.algorithm=options.algorithm||options.encAlgorithm||"aes128","useMac"in options||(options.useMac=!0),"localKeyId"in options||(options.localKeyId=null),"generateLocalKeyId"in options||(options.generateLocalKeyId=!0);var bagAttrs,localKeyId=options.localKeyId;if(null!==localKeyId)localKeyId=forge.util.hexToBytes(localKeyId);else if(options.generateLocalKeyId)if(cert){var pairedCert=forge.util.isArray(cert)?cert[0]:cert;"string"==typeof pairedCert&&(pairedCert=pki.certificateFromPem(pairedCert)),(sha1=forge.md.sha1.create()).update(asn1.toDer(pki.certificateToAsn1(pairedCert)).getBytes()),localKeyId=sha1.digest().getBytes()}else localKeyId=forge.random.getBytes(20);var attrs=[];null!==localKeyId&&attrs.push(asn1.create(asn1.Class.UNIVERSAL,asn1.Type.SEQUENCE,!0,[asn1.create(asn1.Class.UNIVERSAL,asn1.Type.OID,!1,asn1.oidToDer(pki.oids.localKeyId).getBytes()),asn1.create(asn1.Class.UNIVERSAL,asn1.Type.SET,!0,[asn1.create(asn1.Class.UNIVERSAL,asn1.Type.OCTETSTRING,!1,localKeyId)])])),"friendlyName"in options&&attrs.push(asn1.create(asn1.Class.UNIVERSAL,asn1.Type.SEQUENCE,!0,[asn1.create(asn1.Class.UNIVERSAL,asn1.Type.OID,!1,asn1.oidToDer(pki.oids.friendlyName).getBytes()),asn1.create(asn1.Class.UNIVERSAL,asn1.Type.SET,!0,[asn1.create(asn1.Class.UNIVERSAL,asn1.Type.BMPSTRING,!1,options.friendlyName)])])),attrs.length>0&&(bagAttrs=asn1.create(asn1.Class.UNIVERSAL,asn1.Type.SET,!0,attrs));var contents=[],chain=[];null!==cert&&(chain=forge.util.isArray(cert)?cert:[cert]);for(var certSafeBags=[],i=0;i<chain.length;++i){"string"==typeof(cert=chain[i])&&(cert=pki.certificateFromPem(cert));var certBagAttrs=0===i?bagAttrs:void 0,certAsn1=pki.certificateToAsn1(cert),certSafeBag=asn1.create(asn1.Class.UNIVERSAL,asn1.Type.SEQUENCE,!0,[asn1.create(asn1.Class.UNIVERSAL,asn1.Type.OID,!1,asn1.oidToDer(pki.oids.certBag).getBytes()),asn1.create(asn1.Class.CONTEXT_SPECIFIC,0,!0,[asn1.create(asn1.Class.UNIVERSAL,asn1.Type.SEQUENCE,!0,[asn1.create(asn1.Class.UNIVERSAL,asn1.Type.OID,!1,asn1.oidToDer(pki.oids.x509Certificate).getBytes()),asn1.create(asn1.Class.CONTEXT_SPECIFIC,0,!0,[asn1.create(asn1.Class.UNIVERSAL,asn1.Type.OCTETSTRING,!1,asn1.toDer(certAsn1).getBytes())])])]),certBagAttrs]);certSafeBags.push(certSafeBag)}if(certSafeBags.length>0){var certSafeContents=asn1.create(asn1.Class.UNIVERSAL,asn1.Type.SEQUENCE,!0,certSafeBags),certCI=asn1.create(asn1.Class.UNIVERSAL,asn1.Type.SEQUENCE,!0,[asn1.create(asn1.Class.UNIVERSAL,asn1.Type.OID,!1,asn1.oidToDer(pki.oids.data).getBytes()),asn1.create(asn1.Class.CONTEXT_SPECIFIC,0,!0,[asn1.create(asn1.Class.UNIVERSAL,asn1.Type.OCTETSTRING,!1,asn1.toDer(certSafeContents).getBytes())])]);contents.push(certCI)}var keyBag=null;if(null!==key){var pkAsn1=pki.wrapRsaPrivateKey(pki.privateKeyToAsn1(key));keyBag=null===password?asn1.create(asn1.Class.UNIVERSAL,asn1.Type.SEQUENCE,!0,[asn1.create(asn1.Class.UNIVERSAL,asn1.Type.OID,!1,asn1.oidToDer(pki.oids.keyBag).getBytes()),asn1.create(asn1.Class.CONTEXT_SPECIFIC,0,!0,[pkAsn1]),bagAttrs]):asn1.create(asn1.Class.UNIVERSAL,asn1.Type.SEQUENCE,!0,[asn1.create(asn1.Class.UNIVERSAL,asn1.Type.OID,!1,asn1.oidToDer(pki.oids.pkcs8ShroudedKeyBag).getBytes()),asn1.create(asn1.Class.CONTEXT_SPECIFIC,0,!0,[pki.encryptPrivateKeyInfo(pkAsn1,password,options)]),bagAttrs]);var keySafeContents=asn1.create(asn1.Class.UNIVERSAL,asn1.Type.SEQUENCE,!0,[keyBag]),keyCI=asn1.create(asn1.Class.UNIVERSAL,asn1.Type.SEQUENCE,!0,[asn1.create(asn1.Class.UNIVERSAL,asn1.Type.OID,!1,asn1.oidToDer(pki.oids.data).getBytes()),asn1.create(asn1.Class.CONTEXT_SPECIFIC,0,!0,[asn1.create(asn1.Class.UNIVERSAL,asn1.Type.OCTETSTRING,!1,asn1.toDer(keySafeContents).getBytes())])]);contents.push(keyCI)}var macData,safe=asn1.create(asn1.Class.UNIVERSAL,asn1.Type.SEQUENCE,!0,contents);if(options.useMac){var sha1=forge.md.sha1.create(),macSalt=new forge.util.ByteBuffer(forge.random.getBytes(options.saltSize)),count=options.count,mac=(key=p12.generateKey(password,macSalt,3,count,20),forge.hmac.create());mac.start(sha1,key),mac.update(asn1.toDer(safe).getBytes());var macValue=mac.getMac();macData=asn1.create(asn1.Class.UNIVERSAL,asn1.Type.SEQUENCE,!0,[asn1.create(asn1.Class.UNIVERSAL,asn1.Type.SEQUENCE,!0,[asn1.create(asn1.Class.UNIVERSAL,asn1.Type.SEQUENCE,!0,[asn1.create(asn1.Class.UNIVERSAL,asn1.Type.OID,!1,asn1.oidToDer(pki.oids.sha1).getBytes()),asn1.create(asn1.Class.UNIVERSAL,asn1.Type.NULL,!1,"")]),asn1.create(asn1.Class.UNIVERSAL,asn1.Type.OCTETSTRING,!1,macValue.getBytes())]),asn1.create(asn1.Class.UNIVERSAL,asn1.Type.OCTETSTRING,!1,macSalt.getBytes()),asn1.create(asn1.Class.UNIVERSAL,asn1.Type.INTEGER,!1,asn1.integerToDer(count).getBytes())])}return asn1.create(asn1.Class.UNIVERSAL,asn1.Type.SEQUENCE,!0,[asn1.create(asn1.Class.UNIVERSAL,asn1.Type.INTEGER,!1,asn1.integerToDer(3).getBytes()),asn1.create(asn1.Class.UNIVERSAL,asn1.Type.SEQUENCE,!0,[asn1.create(asn1.Class.UNIVERSAL,asn1.Type.OID,!1,asn1.oidToDer(pki.oids.data).getBytes()),asn1.create(asn1.Class.CONTEXT_SPECIFIC,0,!0,[asn1.create(asn1.Class.UNIVERSAL,asn1.Type.OCTETSTRING,!1,asn1.toDer(safe).getBytes())])]),macData])},p12.generateKey=forge.pbe.generatePkcs12Key,pkcs12.exports}function requirePki(){if(hasRequiredPki)return pki.exports;hasRequiredPki=1;var forge=requireForge();requireAsn1(),requireOids(),requirePbe(),requirePem(),requirePbkdf2(),requirePkcs12(),requirePss(),requireRsa(),requireUtil(),requireX509();var asn1=forge.asn1,pki$1=pki.exports=forge.pki=forge.pki||{};return pki$1.pemToDer=function(pem){var msg=forge.pem.decode(pem)[0];if(msg.procType&&"ENCRYPTED"===msg.procType.type)throw new Error("Could not convert PEM to DER; PEM is encrypted.");return forge.util.createBuffer(msg.body)},pki$1.privateKeyFromPem=function(pem){var msg=forge.pem.decode(pem)[0];if("PRIVATE KEY"!==msg.type&&"RSA PRIVATE KEY"!==msg.type){var error=new Error('Could not convert private key from PEM; PEM header type is not "PRIVATE KEY" or "RSA PRIVATE KEY".');throw error.headerType=msg.type,error}if(msg.procType&&"ENCRYPTED"===msg.procType.type)throw new Error("Could not convert private key from PEM; PEM is encrypted.");var obj=asn1.fromDer(msg.body);return pki$1.privateKeyFromAsn1(obj)},pki$1.privateKeyToPem=function(key,maxline){var msg={type:"RSA PRIVATE KEY",body:asn1.toDer(pki$1.privateKeyToAsn1(key)).getBytes()};return forge.pem.encode(msg,{maxline:maxline})},pki$1.privateKeyInfoToPem=function(pki,maxline){var msg={type:"PRIVATE KEY",body:asn1.toDer(pki).getBytes()};return forge.pem.encode(msg,{maxline:maxline})},pki.exports}function requireTls(){if(hasRequiredTls)return tls_1;hasRequiredTls=1;var forge=requireForge();requireAsn1(),requireHmac(),requireMd5(),requirePem(),requirePki(),requireRandom(),requireSha1$1(),requireUtil();var prf_TLS1=function(secret,label,seed,length){var rval=forge.util.createBuffer(),idx=secret.length>>1,slen=idx+(1&secret.length),s1=secret.substr(0,slen),s2=secret.substr(idx,slen),ai=forge.util.createBuffer(),hmac=forge.hmac.create();seed=label+seed;var md5itr=Math.ceil(length/16),sha1itr=Math.ceil(length/20);hmac.start("MD5",s1);var md5bytes=forge.util.createBuffer();ai.putBytes(seed);for(var i=0;i<md5itr;++i)hmac.start(null,null),hmac.update(ai.getBytes()),ai.putBuffer(hmac.digest()),hmac.start(null,null),hmac.update(ai.bytes()+seed),md5bytes.putBuffer(hmac.digest());hmac.start("SHA1",s2);var sha1bytes=forge.util.createBuffer();ai.clear(),ai.putBytes(seed);for(i=0;i<sha1itr;++i)hmac.start(null,null),hmac.update(ai.getBytes()),ai.putBuffer(hmac.digest()),hmac.start(null,null),hmac.update(ai.bytes()+seed),sha1bytes.putBuffer(hmac.digest());return rval.putBytes(forge.util.xorBytes(md5bytes.getBytes(),sha1bytes.getBytes(),length)),rval},deflate=function(c,record,s){var rval=!1;try{var bytes=c.deflate(record.fragment.getBytes());record.fragment=forge.util.createBuffer(bytes),record.length=bytes.length,rval=!0}catch(ex){}return rval},inflate=function(c,record,s){var rval=!1;try{var bytes=c.inflate(record.fragment.getBytes());record.fragment=forge.util.createBuffer(bytes),record.length=bytes.length,rval=!0}catch(ex){}return rval},readVector=function(b,lenBytes){var len=0;switch(lenBytes){case 1:len=b.getByte();break;case 2:len=b.getInt16();break;case 3:len=b.getInt24();break;case 4:len=b.getInt32()}return forge.util.createBuffer(b.getBytes(len))},writeVector=function(b,lenBytes,v){b.putInt(v.length(),lenBytes<<3),b.putBuffer(v)},tls={Versions:{TLS_1_0:{major:3,minor:1},TLS_1_1:{major:3,minor:2},TLS_1_2:{major:3,minor:3}}};tls.SupportedVersions=[tls.Versions.TLS_1_1,tls.Versions.TLS_1_0],tls.Version=tls.SupportedVersions[0],tls.MaxFragment=15360,tls.ConnectionEnd={server:0,client:1},tls.PRFAlgorithm={tls_prf_sha256:0},tls.BulkCipherAlgorithm={none:null,rc4:0,des3:1,aes:2},tls.CipherType={stream:0,block:1,aead:2},tls.MACAlgorithm={none:null,hmac_md5:0,hmac_sha1:1,hmac_sha256:2,hmac_sha384:3,hmac_sha512:4},tls.CompressionMethod={none:0,deflate:1},tls.ContentType={change_cipher_spec:20,alert:21,handshake:22,application_data:23,heartbeat:24},tls.HandshakeType={hello_request:0,client_hello:1,server_hello:2,certificate:11,server_key_exchange:12,certificate_request:13,server_hello_done:14,certificate_verify:15,client_key_exchange:16,finished:20},tls.Alert={},tls.Alert.Level={warning:1,fatal:2},tls.Alert.Description={close_notify:0,unexpected_message:10,bad_record_mac:20,decryption_failed:21,record_overflow:22,decompression_failure:30,handshake_failure:40,bad_certificate:42,unsupported_certificate:43,certificate_revoked:44,certificate_expired:45,certificate_unknown:46,illegal_parameter:47,unknown_ca:48,access_denied:49,decode_error:50,decrypt_error:51,export_restriction:60,protocol_version:70,insufficient_security:71,internal_error:80,user_canceled:90,no_renegotiation:100},tls.HeartbeatMessageType={heartbeat_request:1,heartbeat_response:2},tls.CipherSuites={},tls.getCipherSuite=function(twoBytes){var rval=null;for(var key in tls.CipherSuites){var cs=tls.CipherSuites[key];if(cs.id[0]===twoBytes.charCodeAt(0)&&cs.id[1]===twoBytes.charCodeAt(1)){rval=cs;break}}return rval},tls.handleUnexpected=function(c,record){!c.open&&c.entity===tls.ConnectionEnd.client||c.error(c,{message:"Unexpected message. Received TLS record out of order.",send:!0,alert:{level:tls.Alert.Level.fatal,description:tls.Alert.Description.unexpected_message}})},tls.handleHelloRequest=function(c,record,length){!c.handshaking&&c.handshakes>0&&(tls.queue(c,tls.createAlert(c,{level:tls.Alert.Level.warning,description:tls.Alert.Description.no_renegotiation})),tls.flush(c)),c.process()},tls.parseHelloMessage=function(c,record,length){var msg=null,client=c.entity===tls.ConnectionEnd.client;if(length<38)c.error(c,{message:client?"Invalid ServerHello message. Message too short.":"Invalid ClientHello message. Message too short.",send:!0,alert:{level:tls.Alert.Level.fatal,description:tls.Alert.Description.illegal_parameter}});else{var b=record.fragment,remaining=b.length();if(msg={version:{major:b.getByte(),minor:b.getByte()},random:forge.util.createBuffer(b.getBytes(32)),session_id:readVector(b,1),extensions:[]},client?(msg.cipher_suite=b.getBytes(2),msg.compression_method=b.getByte()):(msg.cipher_suites=readVector(b,2),msg.compression_methods=readVector(b,1)),(remaining=length-(remaining-b.length()))>0){for(var exts=readVector(b,2);exts.length()>0;)msg.extensions.push({type:[exts.getByte(),exts.getByte()],data:readVector(exts,2)});if(!client)for(var i=0;i<msg.extensions.length;++i){var ext=msg.extensions[i];if(0===ext.type[0]&&0===ext.type[1])for(var snl=readVector(ext.data,2);snl.length()>0;){if(0!==snl.getByte())break;c.session.extensions.server_name.serverNameList.push(readVector(snl,2).getBytes())}}}if(c.session.version&&(msg.version.major!==c.session.version.major||msg.version.minor!==c.session.version.minor))return c.error(c,{message:"TLS version change is disallowed during renegotiation.",send:!0,alert:{level:tls.Alert.Level.fatal,description:tls.Alert.Description.protocol_version}});if(client)c.session.cipherSuite=tls.getCipherSuite(msg.cipher_suite);else for(var tmp=forge.util.createBuffer(msg.cipher_suites.bytes());tmp.length()>0&&(c.session.cipherSuite=tls.getCipherSuite(tmp.getBytes(2)),null===c.session.cipherSuite););if(null===c.session.cipherSuite)return c.error(c,{message:"No cipher suites in common.",send:!0,alert:{level:tls.Alert.Level.fatal,description:tls.Alert.Description.handshake_failure},cipherSuite:forge.util.bytesToHex(msg.cipher_suite)});c.session.compressionMethod=client?msg.compression_method:tls.CompressionMethod.none}return msg},tls.createSecurityParameters=function(c,msg){var client=c.entity===tls.ConnectionEnd.client,msgRandom=msg.random.bytes(),cRandom=client?c.session.sp.client_random:msgRandom,sRandom=client?msgRandom:tls.createRandom().getBytes();c.session.sp={entity:c.entity,prf_algorithm:tls.PRFAlgorithm.tls_prf_sha256,bulk_cipher_algorithm:null,cipher_type:null,enc_key_length:null,block_length:null,fixed_iv_length:null,record_iv_length:null,mac_algorithm:null,mac_length:null,mac_key_length:null,compression_algorithm:c.session.compressionMethod,pre_master_secret:null,master_secret:null,client_random:cRandom,server_random:sRandom}},tls.handleServerHello=function(c,record,length){var msg=tls.parseHelloMessage(c,record,length);if(!c.fail){if(!(msg.version.minor<=c.version.minor))return c.error(c,{message:"Incompatible TLS version.",send:!0,alert:{level:tls.Alert.Level.fatal,description:tls.Alert.Description.protocol_version}});c.version.minor=msg.version.minor,c.session.version=c.version;var sessionId=msg.session_id.bytes();sessionId.length>0&&sessionId===c.session.id?(c.expect=SCC,c.session.resuming=!0,c.session.sp.server_random=msg.random.bytes()):(c.expect=SCE,c.session.resuming=!1,tls.createSecurityParameters(c,msg)),c.session.id=sessionId,c.process()}},tls.handleClientHello=function(c,record,length){var msg=tls.parseHelloMessage(c,record,length);if(!c.fail){var sessionId=msg.session_id.bytes(),session=null;if(c.sessionCache&&(null===(session=c.sessionCache.getSession(sessionId))?sessionId="":(session.version.major!==msg.version.major||session.version.minor>msg.version.minor)&&(session=null,sessionId="")),0===sessionId.length&&(sessionId=forge.random.getBytes(32)),c.session.id=sessionId,c.session.clientHelloVersion=msg.version,c.session.sp={},session)c.version=c.session.version=session.version,c.session.sp=session.sp;else{for(var version,i=1;i<tls.SupportedVersions.length&&!((version=tls.SupportedVersions[i]).minor<=msg.version.minor);++i);c.version={major:version.major,minor:version.minor},c.session.version=c.version}null!==session?(c.expect=CCC,c.session.resuming=!0,c.session.sp.client_random=msg.random.bytes()):(c.expect=!1!==c.verifyClient?CCE:CKE,c.session.resuming=!1,tls.createSecurityParameters(c,msg)),c.open=!0,tls.queue(c,tls.createRecord(c,{type:tls.ContentType.handshake,data:tls.createServerHello(c)})),c.session.resuming?(tls.queue(c,tls.createRecord(c,{type:tls.ContentType.change_cipher_spec,data:tls.createChangeCipherSpec()})),c.state.pending=tls.createConnectionState(c),c.state.current.write=c.state.pending.write,tls.queue(c,tls.createRecord(c,{type:tls.ContentType.handshake,data:tls.createFinished(c)}))):(tls.queue(c,tls.createRecord(c,{type:tls.ContentType.handshake,data:tls.createCertificate(c)})),c.fail||(tls.queue(c,tls.createRecord(c,{type:tls.ContentType.handshake,data:tls.createServerKeyExchange(c)})),!1!==c.verifyClient&&tls.queue(c,tls.createRecord(c,{type:tls.ContentType.handshake,data:tls.createCertificateRequest(c)})),tls.queue(c,tls.createRecord(c,{type:tls.ContentType.handshake,data:tls.createServerHelloDone(c)})))),tls.flush(c),c.process()}},tls.handleCertificate=function(c,record,length){if(length<3)return c.error(c,{message:"Invalid Certificate message. Message too short.",send:!0,alert:{level:tls.Alert.Level.fatal,description:tls.Alert.Description.illegal_parameter}});var cert,asn1,b=record.fragment,msg={certificate_list:readVector(b,3)},certs=[];try{for(;msg.certificate_list.length()>0;)cert=readVector(msg.certificate_list,3),asn1=forge.asn1.fromDer(cert),cert=forge.pki.certificateFromAsn1(asn1,!0),certs.push(cert)}catch(ex){return c.error(c,{message:"Could not parse certificate list.",cause:ex,send:!0,alert:{level:tls.Alert.Level.fatal,description:tls.Alert.Description.bad_certificate}})}var client=c.entity===tls.ConnectionEnd.client;!client&&!0!==c.verifyClient||0!==certs.length?0===certs.length?c.expect=client?SKE:CKE:(client?c.session.serverCertificate=certs[0]:c.session.clientCertificate=certs[0],tls.verifyCertificateChain(c,certs)&&(c.expect=client?SKE:CKE)):c.error(c,{message:client?"No server certificate provided.":"No client certificate provided.",send:!0,alert:{level:tls.Alert.Level.fatal,description:tls.Alert.Description.illegal_parameter}}),c.process()},tls.handleServerKeyExchange=function(c,record,length){if(length>0)return c.error(c,{message:"Invalid key parameters. Only RSA is supported.",send:!0,alert:{level:tls.Alert.Level.fatal,description:tls.Alert.Description.unsupported_certificate}});c.expect=SCR,c.process()},tls.handleClientKeyExchange=function(c,record,length){if(length<48)return c.error(c,{message:"Invalid key parameters. Only RSA is supported.",send:!0,alert:{level:tls.Alert.Level.fatal,description:tls.Alert.Description.unsupported_certificate}});var b=record.fragment,msg={enc_pre_master_secret:readVector(b,2).getBytes()},privateKey=null;if(c.getPrivateKey)try{privateKey=c.getPrivateKey(c,c.session.serverCertificate),privateKey=forge.pki.privateKeyFromPem(privateKey)}catch(ex){c.error(c,{message:"Could not get private key.",cause:ex,send:!0,alert:{level:tls.Alert.Level.fatal,description:tls.Alert.Description.internal_error}})}if(null===privateKey)return c.error(c,{message:"No private key set.",send:!0,alert:{level:tls.Alert.Level.fatal,description:tls.Alert.Description.internal_error}});try{var sp=c.session.sp;sp.pre_master_secret=privateKey.decrypt(msg.enc_pre_master_secret);var version=c.session.clientHelloVersion;if(version.major!==sp.pre_master_secret.charCodeAt(0)||version.minor!==sp.pre_master_secret.charCodeAt(1))throw new Error("TLS version rollback attack detected.")}catch(ex){sp.pre_master_secret=forge.random.getBytes(48)}c.expect=CCC,null!==c.session.clientCertificate&&(c.expect=CCV),c.process()},tls.handleCertificateRequest=function(c,record,length){if(length<3)return c.error(c,{message:"Invalid CertificateRequest. Message too short.",send:!0,alert:{level:tls.Alert.Level.fatal,description:tls.Alert.Description.illegal_parameter}});var b=record.fragment,msg={certificate_types:readVector(b,1),certificate_authorities:readVector(b,2)};c.session.certificateRequest=msg,c.expect=SHD,c.process()},tls.handleCertificateVerify=function(c,record,length){if(length<2)return c.error(c,{message:"Invalid CertificateVerify. Message too short.",send:!0,alert:{level:tls.Alert.Level.fatal,description:tls.Alert.Description.illegal_parameter}});var b=record.fragment;b.read-=4;var msgBytes=b.bytes();b.read+=4;var msg={signature:readVector(b,2).getBytes()},verify=forge.util.createBuffer();verify.putBuffer(c.session.md5.digest()),verify.putBuffer(c.session.sha1.digest()),verify=verify.getBytes();try{if(!c.session.clientCertificate.publicKey.verify(verify,msg.signature,"NONE"))throw new Error("CertificateVerify signature does not match.");c.session.md5.update(msgBytes),c.session.sha1.update(msgBytes)}catch(ex){return c.error(c,{message:"Bad signature in CertificateVerify.",send:!0,alert:{level:tls.Alert.Level.fatal,description:tls.Alert.Description.handshake_failure}})}c.expect=CCC,c.process()},tls.handleServerHelloDone=function(c,record,length){if(length>0)return c.error(c,{message:"Invalid ServerHelloDone message. Invalid length.",send:!0,alert:{level:tls.Alert.Level.fatal,description:tls.Alert.Description.record_overflow}});if(null===c.serverCertificate){var error={message:"No server certificate provided. Not enough security.",send:!0,alert:{level:tls.Alert.Level.fatal,description:tls.Alert.Description.insufficient_security}},ret=c.verify(c,error.alert.description,0,[]);if(!0!==ret)return(ret||0===ret)&&("object"!=typeof ret||forge.util.isArray(ret)?"number"==typeof ret&&(error.alert.description=ret):(ret.message&&(error.message=ret.message),ret.alert&&(error.alert.description=ret.alert))),c.error(c,error)}null!==c.session.certificateRequest&&(record=tls.createRecord(c,{type:tls.ContentType.handshake,data:tls.createCertificate(c)}),tls.queue(c,record)),record=tls.createRecord(c,{type:tls.ContentType.handshake,data:tls.createClientKeyExchange(c)}),tls.queue(c,record),c.expect=SER;var callback=function(c,signature){null!==c.session.certificateRequest&&null!==c.session.clientCertificate&&tls.queue(c,tls.createRecord(c,{type:tls.ContentType.handshake,data:tls.createCertificateVerify(c,signature)})),tls.queue(c,tls.createRecord(c,{type:tls.ContentType.change_cipher_spec,data:tls.createChangeCipherSpec()})),c.state.pending=tls.createConnectionState(c),c.state.current.write=c.state.pending.write,tls.queue(c,tls.createRecord(c,{type:tls.ContentType.handshake,data:tls.createFinished(c)})),c.expect=SCC,tls.flush(c),c.process()};if(null===c.session.certificateRequest||null===c.session.clientCertificate)return callback(c,null);tls.getClientSignature(c,callback)},tls.handleChangeCipherSpec=function(c,record){if(1!==record.fragment.getByte())return c.error(c,{message:"Invalid ChangeCipherSpec message received.",send:!0,alert:{level:tls.Alert.Level.fatal,description:tls.Alert.Description.illegal_parameter}});var client=c.entity===tls.ConnectionEnd.client;(c.session.resuming&&client||!c.session.resuming&&!client)&&(c.state.pending=tls.createConnectionState(c)),c.state.current.read=c.state.pending.read,(!c.session.resuming&&client||c.session.resuming&&!client)&&(c.state.pending=null),c.expect=client?SFI:CFI,c.process()},tls.handleFinished=function(c,record,length){var b=record.fragment;b.read-=4;var msgBytes=b.bytes();b.read+=4;var vd=record.fragment.getBytes();(b=forge.util.createBuffer()).putBuffer(c.session.md5.digest()),b.putBuffer(c.session.sha1.digest());var client=c.entity===tls.ConnectionEnd.client,label=client?"server finished":"client finished",sp=c.session.sp;if((b=prf_TLS1(sp.master_secret,label,b.getBytes(),12)).getBytes()!==vd)return c.error(c,{message:"Invalid verify_data in Finished message.",send:!0,alert:{level:tls.Alert.Level.fatal,description:tls.Alert.Description.decrypt_error}});c.session.md5.update(msgBytes),c.session.sha1.update(msgBytes),(c.session.resuming&&client||!c.session.resuming&&!client)&&(tls.queue(c,tls.createRecord(c,{type:tls.ContentType.change_cipher_spec,data:tls.createChangeCipherSpec()})),c.state.current.write=c.state.pending.write,c.state.pending=null,tls.queue(c,tls.createRecord(c,{type:tls.ContentType.handshake,data:tls.createFinished(c)}))),c.expect=client?SAD:CAD,c.handshaking=!1,++c.handshakes,c.peerCertificate=client?c.session.serverCertificate:c.session.clientCertificate,tls.flush(c),c.isConnected=!0,c.connected(c),c.process()},tls.handleAlert=function(c,record){var msg,b=record.fragment,alert={level:b.getByte(),description:b.getByte()};switch(alert.description){case tls.Alert.Description.close_notify:msg="Connection closed.";break;case tls.Alert.Description.unexpected_message:msg="Unexpected message.";break;case tls.Alert.Description.bad_record_mac:msg="Bad record MAC.";break;case tls.Alert.Description.decryption_failed:msg="Decryption failed.";break;case tls.Alert.Description.record_overflow:msg="Record overflow.";break;case tls.Alert.Description.decompression_failure:msg="Decompression failed.";break;case tls.Alert.Description.handshake_failure:msg="Handshake failure.";break;case tls.Alert.Description.bad_certificate:msg="Bad certificate.";break;case tls.Alert.Description.unsupported_certificate:msg="Unsupported certificate.";break;case tls.Alert.Description.certificate_revoked:msg="Certificate revoked.";break;case tls.Alert.Description.certificate_expired:msg="Certificate expired.";break;case tls.Alert.Description.certificate_unknown:msg="Certificate unknown.";break;case tls.Alert.Description.illegal_parameter:msg="Illegal parameter.";break;case tls.Alert.Description.unknown_ca:msg="Unknown certificate authority.";break;case tls.Alert.Description.access_denied:msg="Access denied.";break;case tls.Alert.Description.decode_error:msg="Decode error.";break;case tls.Alert.Description.decrypt_error:msg="Decrypt error.";break;case tls.Alert.Description.export_restriction:msg="Export restriction.";break;case tls.Alert.Description.protocol_version:msg="Unsupported protocol version.";break;case tls.Alert.Description.insufficient_security:msg="Insufficient security.";break;case tls.Alert.Description.internal_error:msg="Internal error.";break;case tls.Alert.Description.user_canceled:msg="User canceled.";break;case tls.Alert.Description.no_renegotiation:msg="Renegotiation not supported.";break;default:msg="Unknown error."}if(alert.description===tls.Alert.Description.close_notify)return c.close();c.error(c,{message:msg,send:!1,origin:c.entity===tls.ConnectionEnd.client?"server":"client",alert:alert}),c.process()},tls.handleHandshake=function(c,record){var b=record.fragment,type=b.getByte(),length=b.getInt24();if(length>b.length())return c.fragmented=record,record.fragment=forge.util.createBuffer(),b.read-=4,c.process();c.fragmented=null,b.read-=4;var bytes=b.bytes(length+4);b.read+=4,type in hsTable[c.entity][c.expect]?(c.entity!==tls.ConnectionEnd.server||c.open||c.fail||(c.handshaking=!0,c.session={version:null,extensions:{server_name:{serverNameList:[]}},cipherSuite:null,compressionMethod:null,serverCertificate:null,clientCertificate:null,md5:forge.md.md5.create(),sha1:forge.md.sha1.create()}),type!==tls.HandshakeType.hello_request&&type!==tls.HandshakeType.certificate_verify&&type!==tls.HandshakeType.finished&&(c.session.md5.update(bytes),c.session.sha1.update(bytes)),hsTable[c.entity][c.expect][type](c,record,length)):tls.handleUnexpected(c,record)},tls.handleApplicationData=function(c,record){c.data.putBuffer(record.fragment),c.dataReady(c),c.process()},tls.handleHeartbeat=function(c,record){var b=record.fragment,type=b.getByte(),length=b.getInt16(),payload=b.getBytes(length);if(type===tls.HeartbeatMessageType.heartbeat_request){if(c.handshaking||length>payload.length)return c.process();tls.queue(c,tls.createRecord(c,{type:tls.ContentType.heartbeat,data:tls.createHeartbeat(tls.HeartbeatMessageType.heartbeat_response,payload)})),tls.flush(c)}else if(type===tls.HeartbeatMessageType.heartbeat_response){if(payload!==c.expectedHeartbeatPayload)return c.process();c.heartbeatReceived&&c.heartbeatReceived(c,forge.util.createBuffer(payload))}c.process()};var SCE=1,SKE=2,SCR=3,SHD=4,SCC=5,SFI=6,SAD=7,SER=8,CCE=1,CKE=2,CCV=3,CCC=4,CFI=5,CAD=6,__=tls.handleUnexpected,R0=tls.handleChangeCipherSpec,R1=tls.handleAlert,R2=tls.handleHandshake,R3=tls.handleApplicationData,R4=tls.handleHeartbeat,ctTable=[];ctTable[tls.ConnectionEnd.client]=[[__,R1,R2,__,R4],[__,R1,R2,__,R4],[__,R1,R2,__,R4],[__,R1,R2,__,R4],[__,R1,R2,__,R4],[R0,R1,__,__,R4],[__,R1,R2,__,R4],[__,R1,R2,R3,R4],[__,R1,R2,__,R4]],ctTable[tls.ConnectionEnd.server]=[[__,R1,R2,__,R4],[__,R1,R2,__,R4],[__,R1,R2,__,R4],[__,R1,R2,__,R4],[R0,R1,__,__,R4],[__,R1,R2,__,R4],[__,R1,R2,R3,R4],[__,R1,R2,__,R4]];var H0=tls.handleHelloRequest,H1=tls.handleServerHello,H2=tls.handleCertificate,H3=tls.handleServerKeyExchange,H4=tls.handleCertificateRequest,H5=tls.handleServerHelloDone,H6=tls.handleFinished,hsTable=[];hsTable[tls.ConnectionEnd.client]=[[__,__,H1,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__],[H0,__,__,__,__,__,__,__,__,__,__,H2,H3,H4,H5,__,__,__,__,__,__],[H0,__,__,__,__,__,__,__,__,__,__,__,H3,H4,H5,__,__,__,__,__,__],[H0,__,__,__,__,__,__,__,__,__,__,__,__,H4,H5,__,__,__,__,__,__],[H0,__,__,__,__,__,__,__,__,__,__,__,__,__,H5,__,__,__,__,__,__],[H0,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__],[H0,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,H6],[H0,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__],[H0,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__]];var H7=tls.handleClientHello,H8=tls.handleClientKeyExchange,H9=tls.handleCertificateVerify;hsTable[tls.ConnectionEnd.server]=[[__,H7,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__],[__,__,__,__,__,__,__,__,__,__,__,H2,__,__,__,__,__,__,__,__,__],[__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,H8,__,__,__,__],[__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,H9,__,__,__,__,__],[__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__],[__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,H6],[__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__],[__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__,__]],tls.generateKeys=function(c,sp){var prf=prf_TLS1,random=sp.client_random+sp.server_random;c.session.resuming||(sp.master_secret=prf(sp.pre_master_secret,"master secret",random,48).bytes(),sp.pre_master_secret=null),random=sp.server_random+sp.client_random;var length=2*sp.mac_key_length+2*sp.enc_key_length,tls10=c.version.major===tls.Versions.TLS_1_0.major&&c.version.minor===tls.Versions.TLS_1_0.minor;tls10&&(length+=2*sp.fixed_iv_length);var km=prf(sp.master_secret,"key expansion",random,length),rval={client_write_MAC_key:km.getBytes(sp.mac_key_length),server_write_MAC_key:km.getBytes(sp.mac_key_length),client_write_key:km.getBytes(sp.enc_key_length),server_write_key:km.getBytes(sp.enc_key_length)};return tls10&&(rval.client_write_IV=km.getBytes(sp.fixed_iv_length),rval.server_write_IV=km.getBytes(sp.fixed_iv_length)),rval},tls.createConnectionState=function(c){var client=c.entity===tls.ConnectionEnd.client,createMode=function(){var mode={sequenceNumber:[0,0],macKey:null,macLength:0,macFunction:null,cipherState:null,cipherFunction:function(record){return!0},compressionState:null,compressFunction:function(record){return!0},updateSequenceNumber:function(){4294967295===mode.sequenceNumber[1]?(mode.sequenceNumber[1]=0,++mode.sequenceNumber[0]):++mode.sequenceNumber[1]}};return mode},state={read:createMode(),write:createMode()};if(state.read.update=function(c,record){return state.read.cipherFunction(record,state.read)?state.read.compressFunction(c,record,state.read)||c.error(c,{message:"Could not decompress record.",send:!0,alert:{level:tls.Alert.Level.fatal,description:tls.Alert.Description.decompression_failure}}):c.error(c,{message:"Could not decrypt record or bad MAC.",send:!0,alert:{level:tls.Alert.Level.fatal,description:tls.Alert.Description.bad_record_mac}}),!c.fail},state.write.update=function(c,record){return state.write.compressFunction(c,record,state.write)?state.write.cipherFunction(record,state.write)||c.error(c,{message:"Could not encrypt record.",send:!1,alert:{level:tls.Alert.Level.fatal,description:tls.Alert.Description.internal_error}}):c.error(c,{message:"Could not compress record.",send:!1,alert:{level:tls.Alert.Level.fatal,description:tls.Alert.Description.internal_error}}),!c.fail},c.session){var sp=c.session.sp;switch(c.session.cipherSuite.initSecurityParameters(sp),sp.keys=tls.generateKeys(c,sp),state.read.macKey=client?sp.keys.server_write_MAC_key:sp.keys.client_write_MAC_key,state.write.macKey=client?sp.keys.client_write_MAC_key:sp.keys.server_write_MAC_key,c.session.cipherSuite.initConnectionState(state,c,sp),sp.compression_algorithm){case tls.CompressionMethod.none:break;case tls.CompressionMethod.deflate:state.read.compressFunction=inflate,state.write.compressFunction=deflate;break;default:throw new Error("Unsupported compression algorithm.")}}return state},tls.createRandom=function(){var d=new Date,utc=+d+6e4*d.getTimezoneOffset(),rval=forge.util.createBuffer();return rval.putInt32(utc),rval.putBytes(forge.random.getBytes(28)),rval},tls.createRecord=function(c,options){return options.data?{type:options.type,version:{major:c.version.major,minor:c.version.minor},length:options.data.length(),fragment:options.data}:null},tls.createAlert=function(c,alert){var b=forge.util.createBuffer();return b.putByte(alert.level),b.putByte(alert.description),tls.createRecord(c,{type:tls.ContentType.alert,data:b})},tls.createClientHello=function(c){c.session.clientHelloVersion={major:c.version.major,minor:c.version.minor};for(var cipherSuites=forge.util.createBuffer(),i=0;i<c.cipherSuites.length;++i){var cs=c.cipherSuites[i];cipherSuites.putByte(cs.id[0]),cipherSuites.putByte(cs.id[1])}var cSuites=cipherSuites.length(),compressionMethods=forge.util.createBuffer();compressionMethods.putByte(tls.CompressionMethod.none);var cMethods=compressionMethods.length(),extensions=forge.util.createBuffer();if(c.virtualHost){var ext=forge.util.createBuffer();ext.putByte(0),ext.putByte(0);var serverName=forge.util.createBuffer();serverName.putByte(0),writeVector(serverName,2,forge.util.createBuffer(c.virtualHost));var snList=forge.util.createBuffer();writeVector(snList,2,serverName),writeVector(ext,2,snList),extensions.putBuffer(ext)}var extLength=extensions.length();extLength>0&&(extLength+=2);var sessionId=c.session.id,length=sessionId.length+1+2+4+28+2+cSuites+1+cMethods+extLength,rval=forge.util.createBuffer();return rval.putByte(tls.HandshakeType.client_hello),rval.putInt24(length),rval.putByte(c.version.major),rval.putByte(c.version.minor),rval.putBytes(c.session.sp.client_random),writeVector(rval,1,forge.util.createBuffer(sessionId)),writeVector(rval,2,cipherSuites),writeVector(rval,1,compressionMethods),extLength>0&&writeVector(rval,2,extensions),rval},tls.createServerHello=function(c){var sessionId=c.session.id,length=sessionId.length+1+2+4+28+2+1,rval=forge.util.createBuffer();return rval.putByte(tls.HandshakeType.server_hello),rval.putInt24(length),rval.putByte(c.version.major),rval.putByte(c.version.minor),rval.putBytes(c.session.sp.server_random),writeVector(rval,1,forge.util.createBuffer(sessionId)),rval.putByte(c.session.cipherSuite.id[0]),rval.putByte(c.session.cipherSuite.id[1]),rval.putByte(c.session.compressionMethod),rval},tls.createCertificate=function(c){var hint,client=c.entity===tls.ConnectionEnd.client,cert=null;c.getCertificate&&(hint=client?c.session.certificateRequest:c.session.extensions.server_name.serverNameList,cert=c.getCertificate(c,hint));var certList=forge.util.createBuffer();if(null!==cert)try{forge.util.isArray(cert)||(cert=[cert]);for(var asn1=null,i=0;i<cert.length;++i){var msg=forge.pem.decode(cert[i])[0];if("CERTIFICATE"!==msg.type&&"X509 CERTIFICATE"!==msg.type&&"TRUSTED CERTIFICATE"!==msg.type){var error=new Error('Could not convert certificate from PEM; PEM header type is not "CERTIFICATE", "X509 CERTIFICATE", or "TRUSTED CERTIFICATE".');throw error.headerType=msg.type,error}if(msg.procType&&"ENCRYPTED"===msg.procType.type)throw new Error("Could not convert certificate from PEM; PEM is encrypted.");var der=forge.util.createBuffer(msg.body);null===asn1&&(asn1=forge.asn1.fromDer(der.bytes(),!1));var certBuffer=forge.util.createBuffer();writeVector(certBuffer,3,der),certList.putBuffer(certBuffer)}cert=forge.pki.certificateFromAsn1(asn1),client?c.session.clientCertificate=cert:c.session.serverCertificate=cert}catch(ex){return c.error(c,{message:"Could not send certificate list.",cause:ex,send:!0,alert:{level:tls.Alert.Level.fatal,description:tls.Alert.Description.bad_certificate}})}var length=3+certList.length(),rval=forge.util.createBuffer();return rval.putByte(tls.HandshakeType.certificate),rval.putInt24(length),writeVector(rval,3,certList),rval},tls.createClientKeyExchange=function(c){var b=forge.util.createBuffer();b.putByte(c.session.clientHelloVersion.major),b.putByte(c.session.clientHelloVersion.minor),b.putBytes(forge.random.getBytes(46));var sp=c.session.sp;sp.pre_master_secret=b.getBytes();var length=(b=c.session.serverCertificate.publicKey.encrypt(sp.pre_master_secret)).length+2,rval=forge.util.createBuffer();return rval.putByte(tls.HandshakeType.client_key_exchange),rval.putInt24(length),rval.putInt16(b.length),rval.putBytes(b),rval},tls.createServerKeyExchange=function(c){return forge.util.createBuffer()},tls.getClientSignature=function(c,callback){var b=forge.util.createBuffer();b.putBuffer(c.session.md5.digest()),b.putBuffer(c.session.sha1.digest()),b=b.getBytes(),c.getSignature=c.getSignature||function(c,b,callback){var privateKey=null;if(c.getPrivateKey)try{privateKey=c.getPrivateKey(c,c.session.clientCertificate),privateKey=forge.pki.privateKeyFromPem(privateKey)}catch(ex){c.error(c,{message:"Could not get private key.",cause:ex,send:!0,alert:{level:tls.Alert.Level.fatal,description:tls.Alert.Description.internal_error}})}null===privateKey?c.error(c,{message:"No private key set.",send:!0,alert:{level:tls.Alert.Level.fatal,description:tls.Alert.Description.internal_error}}):b=privateKey.sign(b,null),callback(c,b)},c.getSignature(c,b,callback)},tls.createCertificateVerify=function(c,signature){var length=signature.length+2,rval=forge.util.createBuffer();return rval.putByte(tls.HandshakeType.certificate_verify),rval.putInt24(length),rval.putInt16(signature.length),rval.putBytes(signature),rval},tls.createCertificateRequest=function(c){var certTypes=forge.util.createBuffer();certTypes.putByte(1);var cAs=forge.util.createBuffer();for(var key in c.caStore.certs){var cert=c.caStore.certs[key],dn=forge.pki.distinguishedNameToAsn1(cert.subject),byteBuffer=forge.asn1.toDer(dn);cAs.putInt16(byteBuffer.length()),cAs.putBuffer(byteBuffer)}var length=1+certTypes.length()+2+cAs.length(),rval=forge.util.createBuffer();return rval.putByte(tls.HandshakeType.certificate_request),rval.putInt24(length),writeVector(rval,1,certTypes),writeVector(rval,2,cAs),rval},tls.createServerHelloDone=function(c){var rval=forge.util.createBuffer();return rval.putByte(tls.HandshakeType.server_hello_done),rval.putInt24(0),rval},tls.createChangeCipherSpec=function(){var rval=forge.util.createBuffer();return rval.putByte(1),rval},tls.createFinished=function(c){var b=forge.util.createBuffer();b.putBuffer(c.session.md5.digest()),b.putBuffer(c.session.sha1.digest());var client=c.entity===tls.ConnectionEnd.client,sp=c.session.sp,label=client?"client finished":"server finished";b=prf_TLS1(sp.master_secret,label,b.getBytes(),12);var rval=forge.util.createBuffer();return rval.putByte(tls.HandshakeType.finished),rval.putInt24(b.length()),rval.putBuffer(b),rval},tls.createHeartbeat=function(type,payload,payloadLength){void 0===payloadLength&&(payloadLength=payload.length);var rval=forge.util.createBuffer();rval.putByte(type),rval.putInt16(payloadLength),rval.putBytes(payload);var plaintextLength=rval.length(),paddingLength=Math.max(16,plaintextLength-payloadLength-3);return rval.putBytes(forge.random.getBytes(paddingLength)),rval},tls.queue=function(c,record){if(record&&(0!==record.fragment.length()||record.type!==tls.ContentType.handshake&&record.type!==tls.ContentType.alert&&record.type!==tls.ContentType.change_cipher_spec)){if(record.type===tls.ContentType.handshake){var bytes=record.fragment.bytes();c.session.md5.update(bytes),c.session.sha1.update(bytes),bytes=null}var records;if(record.fragment.length()<=tls.MaxFragment)records=[record];else{records=[];for(var data=record.fragment.bytes();data.length>tls.MaxFragment;)records.push(tls.createRecord(c,{type:record.type,data:forge.util.createBuffer(data.slice(0,tls.MaxFragment))})),data=data.slice(tls.MaxFragment);data.length>0&&records.push(tls.createRecord(c,{type:record.type,data:forge.util.createBuffer(data)}))}for(var i=0;i<records.length&&!c.fail;++i){var rec=records[i];c.state.current.write.update(c,rec)&&c.records.push(rec)}}},tls.flush=function(c){for(var i=0;i<c.records.length;++i){var record=c.records[i];c.tlsData.putByte(record.type),c.tlsData.putByte(record.version.major),c.tlsData.putByte(record.version.minor),c.tlsData.putInt16(record.fragment.length()),c.tlsData.putBuffer(c.records[i].fragment)}return c.records=[],c.tlsDataReady(c)};var _certErrorToAlertDesc=function(error){switch(error){case!0:return!0;case forge.pki.certificateError.bad_certificate:return tls.Alert.Description.bad_certificate;case forge.pki.certificateError.unsupported_certificate:return tls.Alert.Description.unsupported_certificate;case forge.pki.certificateError.certificate_revoked:return tls.Alert.Description.certificate_revoked;case forge.pki.certificateError.certificate_expired:return tls.Alert.Description.certificate_expired;case forge.pki.certificateError.certificate_unknown:return tls.Alert.Description.certificate_unknown;case forge.pki.certificateError.unknown_ca:return tls.Alert.Description.unknown_ca;default:return tls.Alert.Description.bad_certificate}};for(var key in tls.verifyCertificateChain=function(c,chain){try{var options={};for(var key in c.verifyOptions)options[key]=c.verifyOptions[key];options.verify=function(vfd,depth,chain){_certErrorToAlertDesc(vfd);var ret=c.verify(c,vfd,depth,chain);if(!0!==ret){if("object"==typeof ret&&!forge.util.isArray(ret)){var error=new Error("The application rejected the certificate.");throw error.send=!0,error.alert={level:tls.Alert.Level.fatal,description:tls.Alert.Description.bad_certificate},ret.message&&(error.message=ret.message),ret.alert&&(error.alert.description=ret.alert),error}ret!==vfd&&(ret=function(desc){switch(desc){case!0:return!0;case tls.Alert.Description.bad_certificate:return forge.pki.certificateError.bad_certificate;case tls.Alert.Description.unsupported_certificate:return forge.pki.certificateError.unsupported_certificate;case tls.Alert.Description.certificate_revoked:return forge.pki.certificateError.certificate_revoked;case tls.Alert.Description.certificate_expired:return forge.pki.certificateError.certificate_expired;case tls.Alert.Description.certificate_unknown:return forge.pki.certificateError.certificate_unknown;case tls.Alert.Description.unknown_ca:return forge.pki.certificateError.unknown_ca;default:return forge.pki.certificateError.bad_certificate}}(ret))}return ret},forge.pki.verifyCertificateChain(c.caStore,chain,options)}catch(ex){var err=ex;("object"!=typeof err||forge.util.isArray(err))&&(err={send:!0,alert:{level:tls.Alert.Level.fatal,description:_certErrorToAlertDesc(ex)}}),"send"in err||(err.send=!0),"alert"in err||(err.alert={level:tls.Alert.Level.fatal,description:_certErrorToAlertDesc(err.error)}),c.error(c,err)}return!c.fail},tls.createSessionCache=function(cache,capacity){var rval=null;if(cache&&cache.getSession&&cache.setSession&&cache.order)rval=cache;else{for(var key in(rval={}).cache=cache||{},rval.capacity=Math.max(capacity||100,1),rval.order=[],cache)rval.order.length<=capacity?rval.order.push(key):delete cache[key];rval.getSession=function(sessionId){var session=null,key=null;if(sessionId?key=forge.util.bytesToHex(sessionId):rval.order.length>0&&(key=rval.order[0]),null!==key&&key in rval.cache)for(var i in session=rval.cache[key],delete rval.cache[key],rval.order)if(rval.order[i]===key){rval.order.splice(i,1);break}return session},rval.setSession=function(sessionId,session){if(rval.order.length===rval.capacity){var key=rval.order.shift();delete rval.cache[key]}key=forge.util.bytesToHex(sessionId);rval.order.push(key),rval.cache[key]=session}}return rval},tls.createConnection=function(options){var caStore=null;caStore=options.caStore?forge.util.isArray(options.caStore)?forge.pki.createCaStore(options.caStore):options.caStore:forge.pki.createCaStore();var cipherSuites=options.cipherSuites||null;if(null===cipherSuites)for(var key in cipherSuites=[],tls.CipherSuites)cipherSuites.push(tls.CipherSuites[key]);var entity=options.server?tls.ConnectionEnd.server:tls.ConnectionEnd.client,sessionCache=options.sessionCache?tls.createSessionCache(options.sessionCache):null,c={version:{major:tls.Version.major,minor:tls.Version.minor},entity:entity,sessionId:options.sessionId,caStore:caStore,sessionCache:sessionCache,cipherSuites:cipherSuites,connected:options.connected,virtualHost:options.virtualHost||null,verifyClient:options.verifyClient||!1,verify:options.verify||function(cn,vfd,dpth,cts){return vfd},verifyOptions:options.verifyOptions||{},getCertificate:options.getCertificate||null,getPrivateKey:options.getPrivateKey||null,getSignature:options.getSignature||null,input:forge.util.createBuffer(),tlsData:forge.util.createBuffer(),data:forge.util.createBuffer(),tlsDataReady:options.tlsDataReady,dataReady:options.dataReady,heartbeatReceived:options.heartbeatReceived,closed:options.closed,error:function(c,ex){ex.origin=ex.origin||(c.entity===tls.ConnectionEnd.client?"client":"server"),ex.send&&(tls.queue(c,tls.createAlert(c,ex.alert)),tls.flush(c));var fatal=!1!==ex.fatal;fatal&&(c.fail=!0),options.error(c,ex),fatal&&c.close(!1)},deflate:options.deflate||null,inflate:options.inflate||null,reset:function(clearFail){c.version={major:tls.Version.major,minor:tls.Version.minor},c.record=null,c.session=null,c.peerCertificate=null,c.state={pending:null,current:null},c.expect=(c.entity,tls.ConnectionEnd.client,0),c.fragmented=null,c.records=[],c.open=!1,c.handshakes=0,c.handshaking=!1,c.isConnected=!1,c.fail=!(clearFail||void 0===clearFail),c.input.clear(),c.tlsData.clear(),c.data.clear(),c.state.current=tls.createConnectionState(c)}};c.reset();return c.handshake=function(sessionId){if(c.entity!==tls.ConnectionEnd.client)c.error(c,{message:"Cannot initiate handshake as a server.",fatal:!1});else if(c.handshaking)c.error(c,{message:"Handshake already in progress.",fatal:!1});else{c.fail&&!c.open&&0===c.handshakes&&(c.fail=!1),c.handshaking=!0;var session=null;(sessionId=sessionId||"").length>0&&(c.sessionCache&&(session=c.sessionCache.getSession(sessionId)),null===session&&(sessionId="")),0===sessionId.length&&c.sessionCache&&null!==(session=c.sessionCache.getSession())&&(sessionId=session.id),c.session={id:sessionId,version:null,cipherSuite:null,compressionMethod:null,serverCertificate:null,certificateRequest:null,clientCertificate:null,sp:{},md5:forge.md.md5.create(),sha1:forge.md.sha1.create()},session&&(c.version=session.version,c.session.sp=session.sp),c.session.sp.client_random=tls.createRandom().getBytes(),c.open=!0,tls.queue(c,tls.createRecord(c,{type:tls.ContentType.handshake,data:tls.createClientHello(c)})),tls.flush(c)}},c.process=function(data){var rval=0;return data&&c.input.putBytes(data),c.fail||(null!==c.record&&c.record.ready&&c.record.fragment.isEmpty()&&(c.record=null),null===c.record&&(rval=function(c){var rval=0,b=c.input,len=b.length();if(len<5)rval=5-len;else{c.record={type:b.getByte(),version:{major:b.getByte(),minor:b.getByte()},length:b.getInt16(),fragment:forge.util.createBuffer(),ready:!1};var compatibleVersion=c.record.version.major===c.version.major;compatibleVersion&&c.session&&c.session.version&&(compatibleVersion=c.record.version.minor===c.version.minor),compatibleVersion||c.error(c,{message:"Incompatible TLS version.",send:!0,alert:{level:tls.Alert.Level.fatal,description:tls.Alert.Description.protocol_version}})}return rval}(c)),c.fail||null===c.record||c.record.ready||(rval=function(c){var rval=0,b=c.input,len=b.length();return len<c.record.length?rval=c.record.length-len:(c.record.fragment.putBytes(b.getBytes(c.record.length)),b.compact(),c.state.current.read.update(c,c.record)&&(null!==c.fragmented&&(c.fragmented.type===c.record.type?(c.fragmented.fragment.putBuffer(c.record.fragment),c.record=c.fragmented):c.error(c,{message:"Invalid fragmented record.",send:!0,alert:{level:tls.Alert.Level.fatal,description:tls.Alert.Description.unexpected_message}})),c.record.ready=!0)),rval}(c)),!c.fail&&null!==c.record&&c.record.ready&&function(c,record){var aligned=record.type-tls.ContentType.change_cipher_spec,handlers=ctTable[c.entity][c.expect];aligned in handlers?handlers[aligned](c,record):tls.handleUnexpected(c,record)}(c,c.record)),rval},c.prepare=function(data){return tls.queue(c,tls.createRecord(c,{type:tls.ContentType.application_data,data:forge.util.createBuffer(data)})),tls.flush(c)},c.prepareHeartbeatRequest=function(payload,payloadLength){return payload instanceof forge.util.ByteBuffer&&(payload=payload.bytes()),void 0===payloadLength&&(payloadLength=payload.length),c.expectedHeartbeatPayload=payload,tls.queue(c,tls.createRecord(c,{type:tls.ContentType.heartbeat,data:tls.createHeartbeat(tls.HeartbeatMessageType.heartbeat_request,payload,payloadLength)})),tls.flush(c)},c.close=function(clearFail){if(!c.fail&&c.sessionCache&&c.session){var session={id:c.session.id,version:c.session.version,sp:c.session.sp};session.sp.keys=null,c.sessionCache.setSession(session.id,session)}c.open&&(c.open=!1,c.input.clear(),(c.isConnected||c.handshaking)&&(c.isConnected=c.handshaking=!1,tls.queue(c,tls.createAlert(c,{level:tls.Alert.Level.warning,description:tls.Alert.Description.close_notify})),tls.flush(c)),c.closed(c)),c.reset(clearFail)},c},tls_1=forge.tls=forge.tls||{},tls)"function"!=typeof tls[key]&&(forge.tls[key]=tls[key]);return forge.tls.prf_tls1=prf_TLS1,forge.tls.hmac_sha1=function(key,seqNum,record){var hmac=forge.hmac.create();hmac.start("SHA1",key);var b=forge.util.createBuffer();return b.putInt32(seqNum[0]),b.putInt32(seqNum[1]),b.putByte(record.type),b.putByte(record.version.major),b.putByte(record.version.minor),b.putInt16(record.length),b.putBytes(record.fragment.bytes()),hmac.update(b.getBytes()),hmac.digest().getBytes()},forge.tls.createSessionCache=tls.createSessionCache,forge.tls.createConnection=tls.createConnection,tls_1}function requireAesCipherSuites(){if(hasRequiredAesCipherSuites)return aesCipherSuites.exports;hasRequiredAesCipherSuites=1;var forge=requireForge();requireAes(),requireTls();var tls=aesCipherSuites.exports=forge.tls;function initConnectionState(state,c,sp){var client=c.entity===forge.tls.ConnectionEnd.client;state.read.cipherState={init:!1,cipher:forge.cipher.createDecipher("AES-CBC",client?sp.keys.server_write_key:sp.keys.client_write_key),iv:client?sp.keys.server_write_IV:sp.keys.client_write_IV},state.write.cipherState={init:!1,cipher:forge.cipher.createCipher("AES-CBC",client?sp.keys.client_write_key:sp.keys.server_write_key),iv:client?sp.keys.client_write_IV:sp.keys.server_write_IV},state.read.cipherFunction=decrypt_aes_cbc_sha1,state.write.cipherFunction=encrypt_aes_cbc_sha1,state.read.macLength=state.write.macLength=sp.mac_length,state.read.macFunction=state.write.macFunction=tls.hmac_sha1}function encrypt_aes_cbc_sha1(record,s){var iv,rval=!1,mac=s.macFunction(s.macKey,s.sequenceNumber,record);record.fragment.putBytes(mac),s.updateSequenceNumber(),iv=record.version.minor===tls.Versions.TLS_1_0.minor?s.cipherState.init?null:s.cipherState.iv:forge.random.getBytesSync(16),s.cipherState.init=!0;var cipher=s.cipherState.cipher;return cipher.start({iv:iv}),record.version.minor>=tls.Versions.TLS_1_1.minor&&cipher.output.putBytes(iv),cipher.update(record.fragment),cipher.finish(encrypt_aes_cbc_sha1_padding)&&(record.fragment=cipher.output,record.length=record.fragment.length(),rval=!0),rval}function encrypt_aes_cbc_sha1_padding(blockSize,input,decrypt){if(!decrypt){var padding=blockSize-input.length()%blockSize;input.fillWithByte(padding-1,padding)}return!0}function decrypt_aes_cbc_sha1_padding(blockSize,output,decrypt){var rval=!0;if(decrypt){for(var len=output.length(),paddingLength=output.last(),i=len-1-paddingLength;i<len-1;++i)rval=rval&&output.at(i)==paddingLength;rval&&output.truncate(paddingLength+1)}return rval}function decrypt_aes_cbc_sha1(record,s){var iv,rval=!1;iv=record.version.minor===tls.Versions.TLS_1_0.minor?s.cipherState.init?null:s.cipherState.iv:record.fragment.getBytes(16),s.cipherState.init=!0;var cipher=s.cipherState.cipher;cipher.start({iv:iv}),cipher.update(record.fragment),rval=cipher.finish(decrypt_aes_cbc_sha1_padding);var macLen=s.macLength,mac=forge.random.getBytesSync(macLen),len=cipher.output.length();len>=macLen?(record.fragment=cipher.output.getBytes(len-macLen),mac=cipher.output.getBytes(macLen)):record.fragment=cipher.output.getBytes(),record.fragment=forge.util.createBuffer(record.fragment),record.length=record.fragment.length();var mac2=s.macFunction(s.macKey,s.sequenceNumber,record);return s.updateSequenceNumber(),rval=function compareMacs(key,mac1,mac2){var hmac=forge.hmac.create();return hmac.start("SHA1",key),hmac.update(mac1),mac1=hmac.digest().getBytes(),hmac.start(null,null),hmac.update(mac2),mac2=hmac.digest().getBytes(),mac1===mac2}(s.macKey,mac,mac2)&&rval,rval}return tls.CipherSuites.TLS_RSA_WITH_AES_128_CBC_SHA={id:[0,47],name:"TLS_RSA_WITH_AES_128_CBC_SHA",initSecurityParameters:function(sp){sp.bulk_cipher_algorithm=tls.BulkCipherAlgorithm.aes,sp.cipher_type=tls.CipherType.block,sp.enc_key_length=16,sp.block_length=16,sp.fixed_iv_length=16,sp.record_iv_length=16,sp.mac_algorithm=tls.MACAlgorithm.hmac_sha1,sp.mac_length=20,sp.mac_key_length=20},initConnectionState:initConnectionState},tls.CipherSuites.TLS_RSA_WITH_AES_256_CBC_SHA={id:[0,53],name:"TLS_RSA_WITH_AES_256_CBC_SHA",initSecurityParameters:function(sp){sp.bulk_cipher_algorithm=tls.BulkCipherAlgorithm.aes,sp.cipher_type=tls.CipherType.block,sp.enc_key_length=32,sp.block_length=16,sp.fixed_iv_length=16,sp.record_iv_length=16,sp.mac_algorithm=tls.MACAlgorithm.hmac_sha1,sp.mac_length=20,sp.mac_key_length=20},initConnectionState:initConnectionState},aesCipherSuites.exports}var hasRequiredSha512,sha512={exports:{}};function requireSha512(){if(hasRequiredSha512)return sha512.exports;hasRequiredSha512=1;var forge=requireForge();requireMd(),requireUtil();var sha512$1=sha512.exports=forge.sha512=forge.sha512||{};forge.md.sha512=forge.md.algorithms.sha512=sha512$1;var sha384=forge.sha384=forge.sha512.sha384=forge.sha512.sha384||{};sha384.create=function(){return sha512$1.create("SHA-384")},forge.md.sha384=forge.md.algorithms.sha384=sha384,forge.sha512.sha256=forge.sha512.sha256||{create:function(){return sha512$1.create("SHA-512/256")}},forge.md["sha512/256"]=forge.md.algorithms["sha512/256"]=forge.sha512.sha256,forge.sha512.sha224=forge.sha512.sha224||{create:function(){return sha512$1.create("SHA-512/224")}},forge.md["sha512/224"]=forge.md.algorithms["sha512/224"]=forge.sha512.sha224,sha512$1.create=function(algorithm){if(_initialized||function _init(){_padding=String.fromCharCode(128),_padding+=forge.util.fillString(String.fromCharCode(0),128),_k=[[1116352408,3609767458],[1899447441,602891725],[3049323471,3964484399],[3921009573,2173295548],[961987163,4081628472],[1508970993,3053834265],[2453635748,2937671579],[2870763221,3664609560],[3624381080,2734883394],[310598401,1164996542],[607225278,1323610764],[1426881987,3590304994],[1925078388,4068182383],[2162078206,991336113],[2614888103,633803317],[3248222580,3479774868],[3835390401,2666613458],[4022224774,944711139],[264347078,2341262773],[604807628,2007800933],[770255983,1495990901],[1249150122,1856431235],[1555081692,3175218132],[1996064986,2198950837],[2554220882,3999719339],[2821834349,766784016],[2952996808,2566594879],[3210313671,3203337956],[3336571891,1034457026],[3584528711,2466948901],[113926993,3758326383],[338241895,168717936],[666307205,1188179964],[773529912,1546045734],[1294757372,1522805485],[1396182291,2643833823],[1695183700,2343527390],[1986661051,1014477480],[2177026350,1206759142],[2456956037,344077627],[2730485921,1290863460],[2820302411,3158454273],[3259730800,3505952657],[3345764771,106217008],[3516065817,3606008344],[3600352804,1432725776],[4094571909,1467031594],[275423344,851169720],[430227734,3100823752],[506948616,1363258195],[659060556,3750685593],[883997877,3785050280],[958139571,3318307427],[1322822218,3812723403],[1537002063,2003034995],[1747873779,3602036899],[1955562222,1575990012],[2024104815,1125592928],[2227730452,2716904306],[2361852424,442776044],[2428436474,593698344],[2756734187,3733110249],[3204031479,2999351573],[3329325298,3815920427],[3391569614,3928383900],[3515267271,566280711],[3940187606,3454069534],[4118630271,4000239992],[116418474,1914138554],[174292421,2731055270],[289380356,3203993006],[460393269,320620315],[685471733,587496836],[852142971,1086792851],[1017036298,365543100],[1126000580,2618297676],[1288033470,3409855158],[1501505948,4234509866],[1607167915,987167468],[1816402316,1246189591]],(_states={})["SHA-512"]=[[1779033703,4089235720],[3144134277,2227873595],[1013904242,4271175723],[2773480762,1595750129],[1359893119,2917565137],[2600822924,725511199],[528734635,4215389547],[1541459225,327033209]],_states["SHA-384"]=[[3418070365,3238371032],[1654270250,914150663],[2438529370,812702999],[355462360,4144912697],[1731405415,4290775857],[2394180231,1750603025],[3675008525,1694076839],[1203062813,3204075428]],_states["SHA-512/256"]=[[573645204,4230739756],[2673172387,3360449730],[596883563,1867755857],[2520282905,1497426621],[2519219938,2827943907],[3193839141,1401305490],[721525244,746961066],[246885852,2177182882]],_states["SHA-512/224"]=[[2352822216,424955298],[1944164710,2312950998],[502970286,855612546],[1738396948,1479516111],[258812777,2077511080],[2011393907,79989058],[1067287976,1780299464],[286451373,2446758561]],_initialized=!0}(),void 0===algorithm&&(algorithm="SHA-512"),!(algorithm in _states))throw new Error("Invalid SHA-512 algorithm: "+algorithm);for(var _state=_states[algorithm],_h=null,_input=forge.util.createBuffer(),_w=new Array(80),wi=0;wi<80;++wi)_w[wi]=new Array(2);var digestLength=64;switch(algorithm){case"SHA-384":digestLength=48;break;case"SHA-512/256":digestLength=32;break;case"SHA-512/224":digestLength=28}var md={algorithm:algorithm.replace("-","").toLowerCase(),blockLength:128,digestLength:digestLength,messageLength:0,fullMessageLength:null,messageLengthSize:16,start:function(){md.messageLength=0,md.fullMessageLength=md.messageLength128=[];for(var int32s=md.messageLengthSize/4,i=0;i<int32s;++i)md.fullMessageLength.push(0);_input=forge.util.createBuffer(),_h=new Array(_state.length);for(i=0;i<_state.length;++i)_h[i]=_state[i].slice(0);return md}};return md.start(),md.update=function(msg,encoding){"utf8"===encoding&&(msg=forge.util.encodeUtf8(msg));var len=msg.length;md.messageLength+=len,len=[len/4294967296>>>0,len>>>0];for(var i=md.fullMessageLength.length-1;i>=0;--i)md.fullMessageLength[i]+=len[1],len[1]=len[0]+(md.fullMessageLength[i]/4294967296>>>0),md.fullMessageLength[i]=md.fullMessageLength[i]>>>0,len[0]=len[1]/4294967296>>>0;return _input.putBytes(msg),_update(_h,_w,_input),(_input.read>2048||0===_input.length())&&_input.compact(),md},md.digest=function(){var finalBlock=forge.util.createBuffer();finalBlock.putBytes(_input.bytes());var next,overflow=md.fullMessageLength[md.fullMessageLength.length-1]+md.messageLengthSize&md.blockLength-1;finalBlock.putBytes(_padding.substr(0,md.blockLength-overflow));for(var bits=8*md.fullMessageLength[0],i=0;i<md.fullMessageLength.length-1;++i)bits+=(next=8*md.fullMessageLength[i+1])/4294967296>>>0,finalBlock.putInt32(bits>>>0),bits=next>>>0;finalBlock.putInt32(bits);var h=new Array(_h.length);for(i=0;i<_h.length;++i)h[i]=_h[i].slice(0);_update(h,_w,finalBlock);var hlen,rval=forge.util.createBuffer();hlen="SHA-512"===algorithm?h.length:"SHA-384"===algorithm?h.length-2:h.length-4;for(i=0;i<hlen;++i)rval.putInt32(h[i][0]),i===hlen-1&&"SHA-512/224"===algorithm||rval.putInt32(h[i][1]);return rval},md};var _padding=null,_initialized=!1,_k=null,_states=null;function _update(s,w,bytes){for(var t1_hi,t1_lo,t2_hi,t2_lo,s0_hi,s0_lo,s1_hi,ch_hi,maj_hi,maj_lo,a_hi,a_lo,b_hi,b_lo,c_hi,c_lo,d_hi,d_lo,e_hi,e_lo,f_hi,f_lo,g_hi,g_lo,h_hi,h_lo,i,hi,lo,w2,w7,w15,w16,len=bytes.length();len>=128;){for(i=0;i<16;++i)w[i][0]=bytes.getInt32()>>>0,w[i][1]=bytes.getInt32()>>>0;for(;i<80;++i)t1_hi=(((hi=(w2=w[i-2])[0])>>>19|(lo=w2[1])<<13)^(lo>>>29|hi<<3)^hi>>>6)>>>0,t1_lo=((hi<<13|lo>>>19)^(lo<<3|hi>>>29)^(hi<<26|lo>>>6))>>>0,t2_hi=(((hi=(w15=w[i-15])[0])>>>1|(lo=w15[1])<<31)^(hi>>>8|lo<<24)^hi>>>7)>>>0,t2_lo=((hi<<31|lo>>>1)^(hi<<24|lo>>>8)^(hi<<25|lo>>>7))>>>0,w7=w[i-7],w16=w[i-16],lo=t1_lo+w7[1]+t2_lo+w16[1],w[i][0]=t1_hi+w7[0]+t2_hi+w16[0]+(lo/4294967296>>>0)>>>0,w[i][1]=lo>>>0;for(a_hi=s[0][0],a_lo=s[0][1],b_hi=s[1][0],b_lo=s[1][1],c_hi=s[2][0],c_lo=s[2][1],d_hi=s[3][0],d_lo=s[3][1],e_hi=s[4][0],e_lo=s[4][1],f_hi=s[5][0],f_lo=s[5][1],g_hi=s[6][0],g_lo=s[6][1],h_hi=s[7][0],h_lo=s[7][1],i=0;i<80;++i)s1_hi=((e_hi>>>14|e_lo<<18)^(e_hi>>>18|e_lo<<14)^(e_lo>>>9|e_hi<<23))>>>0,ch_hi=(g_hi^e_hi&(f_hi^g_hi))>>>0,s0_hi=((a_hi>>>28|a_lo<<4)^(a_lo>>>2|a_hi<<30)^(a_lo>>>7|a_hi<<25))>>>0,s0_lo=((a_hi<<4|a_lo>>>28)^(a_lo<<30|a_hi>>>2)^(a_lo<<25|a_hi>>>7))>>>0,maj_hi=(a_hi&b_hi|c_hi&(a_hi^b_hi))>>>0,maj_lo=(a_lo&b_lo|c_lo&(a_lo^b_lo))>>>0,lo=h_lo+(((e_hi<<18|e_lo>>>14)^(e_hi<<14|e_lo>>>18)^(e_lo<<23|e_hi>>>9))>>>0)+((g_lo^e_lo&(f_lo^g_lo))>>>0)+_k[i][1]+w[i][1],t1_hi=h_hi+s1_hi+ch_hi+_k[i][0]+w[i][0]+(lo/4294967296>>>0)>>>0,t1_lo=lo>>>0,t2_hi=s0_hi+maj_hi+((lo=s0_lo+maj_lo)/4294967296>>>0)>>>0,t2_lo=lo>>>0,h_hi=g_hi,h_lo=g_lo,g_hi=f_hi,g_lo=f_lo,f_hi=e_hi,f_lo=e_lo,e_hi=d_hi+t1_hi+((lo=d_lo+t1_lo)/4294967296>>>0)>>>0,e_lo=lo>>>0,d_hi=c_hi,d_lo=c_lo,c_hi=b_hi,c_lo=b_lo,b_hi=a_hi,b_lo=a_lo,a_hi=t1_hi+t2_hi+((lo=t1_lo+t2_lo)/4294967296>>>0)>>>0,a_lo=lo>>>0;lo=s[0][1]+a_lo,s[0][0]=s[0][0]+a_hi+(lo/4294967296>>>0)>>>0,s[0][1]=lo>>>0,lo=s[1][1]+b_lo,s[1][0]=s[1][0]+b_hi+(lo/4294967296>>>0)>>>0,s[1][1]=lo>>>0,lo=s[2][1]+c_lo,s[2][0]=s[2][0]+c_hi+(lo/4294967296>>>0)>>>0,s[2][1]=lo>>>0,lo=s[3][1]+d_lo,s[3][0]=s[3][0]+d_hi+(lo/4294967296>>>0)>>>0,s[3][1]=lo>>>0,lo=s[4][1]+e_lo,s[4][0]=s[4][0]+e_hi+(lo/4294967296>>>0)>>>0,s[4][1]=lo>>>0,lo=s[5][1]+f_lo,s[5][0]=s[5][0]+f_hi+(lo/4294967296>>>0)>>>0,s[5][1]=lo>>>0,lo=s[6][1]+g_lo,s[6][0]=s[6][0]+g_hi+(lo/4294967296>>>0)>>>0,s[6][1]=lo>>>0,lo=s[7][1]+h_lo,s[7][0]=s[7][0]+h_hi+(lo/4294967296>>>0)>>>0,s[7][1]=lo>>>0,len-=128}}return sha512.exports}var hasRequiredAsn1Validator,ed25519_1,hasRequiredEd25519,kem,hasRequiredKem,log,hasRequiredLog,md_all,hasRequiredMd_all,asn1Validator={};function requireAsn1Validator(){if(hasRequiredAsn1Validator)return asn1Validator;hasRequiredAsn1Validator=1;var forge=requireForge();requireAsn1();var asn1=forge.asn1;return asn1Validator.privateKeyValidator={name:"PrivateKeyInfo",tagClass:asn1.Class.UNIVERSAL,type:asn1.Type.SEQUENCE,constructed:!0,value:[{name:"PrivateKeyInfo.version",tagClass:asn1.Class.UNIVERSAL,type:asn1.Type.INTEGER,constructed:!1,capture:"privateKeyVersion"},{name:"PrivateKeyInfo.privateKeyAlgorithm",tagClass:asn1.Class.UNIVERSAL,type:asn1.Type.SEQUENCE,constructed:!0,value:[{name:"AlgorithmIdentifier.algorithm",tagClass:asn1.Class.UNIVERSAL,type:asn1.Type.OID,constructed:!1,capture:"privateKeyOid"}]},{name:"PrivateKeyInfo",tagClass:asn1.Class.UNIVERSAL,type:asn1.Type.OCTETSTRING,constructed:!1,capture:"privateKey"}]},asn1Validator.publicKeyValidator={name:"SubjectPublicKeyInfo",tagClass:asn1.Class.UNIVERSAL,type:asn1.Type.SEQUENCE,constructed:!0,captureAsn1:"subjectPublicKeyInfo",value:[{name:"SubjectPublicKeyInfo.AlgorithmIdentifier",tagClass:asn1.Class.UNIVERSAL,type:asn1.Type.SEQUENCE,constructed:!0,value:[{name:"AlgorithmIdentifier.algorithm",tagClass:asn1.Class.UNIVERSAL,type:asn1.Type.OID,constructed:!1,capture:"publicKeyOid"}]},{tagClass:asn1.Class.UNIVERSAL,type:asn1.Type.BITSTRING,constructed:!1,composed:!0,captureBitStringValue:"ed25519PublicKey"}]},asn1Validator}function requireEd25519(){if(hasRequiredEd25519)return ed25519_1;hasRequiredEd25519=1;var forge=requireForge();requireJsbn(),requireRandom(),requireSha512(),requireUtil();var asn1Validator=requireAsn1Validator(),publicKeyValidator=asn1Validator.publicKeyValidator,privateKeyValidator=asn1Validator.privateKeyValidator;if(void 0===BigInteger)var BigInteger=forge.jsbn.BigInteger;var ByteBuffer=forge.util.ByteBuffer,NativeBuffer="undefined"==typeof Buffer?Uint8Array:Buffer;forge.pki=forge.pki||{},ed25519_1=forge.pki.ed25519=forge.ed25519=forge.ed25519||{};var ed25519=forge.ed25519;function messageToNativeBuffer(options){var message=options.message;if(message instanceof Uint8Array||message instanceof NativeBuffer)return message;var encoding=options.encoding;if(void 0===message){if(!options.md)throw new TypeError('"options.message" or "options.md" not specified.');message=options.md.digest().getBytes(),encoding="binary"}if("string"==typeof message&&!encoding)throw new TypeError('"options.encoding" must be "binary" or "utf8".');if("string"==typeof message){if("undefined"!=typeof Buffer)return Buffer.from(message,encoding);message=new ByteBuffer(message,encoding)}else if(!(message instanceof ByteBuffer))throw new TypeError('"options.message" must be a node.js Buffer, a Uint8Array, a forge ByteBuffer, or a string with "options.encoding" specifying its encoding.');for(var buffer=new NativeBuffer(message.length()),i=0;i<buffer.length;++i)buffer[i]=message.at(i);return buffer}ed25519.constants={},ed25519.constants.PUBLIC_KEY_BYTE_LENGTH=32,ed25519.constants.PRIVATE_KEY_BYTE_LENGTH=64,ed25519.constants.SEED_BYTE_LENGTH=32,ed25519.constants.SIGN_BYTE_LENGTH=64,ed25519.constants.HASH_BYTE_LENGTH=64,ed25519.generateKeyPair=function(options){var seed=(options=options||{}).seed;if(void 0===seed)seed=forge.random.getBytesSync(ed25519.constants.SEED_BYTE_LENGTH);else if("string"==typeof seed){if(seed.length!==ed25519.constants.SEED_BYTE_LENGTH)throw new TypeError('"seed" must be '+ed25519.constants.SEED_BYTE_LENGTH+" bytes in length.")}else if(!(seed instanceof Uint8Array))throw new TypeError('"seed" must be a node.js Buffer, Uint8Array, or a binary string.');seed=messageToNativeBuffer({message:seed,encoding:"binary"});for(var pk=new NativeBuffer(ed25519.constants.PUBLIC_KEY_BYTE_LENGTH),sk=new NativeBuffer(ed25519.constants.PRIVATE_KEY_BYTE_LENGTH),i=0;i<32;++i)sk[i]=seed[i];return function crypto_sign_keypair(pk,sk){var i,p=[gf(),gf(),gf(),gf()],d=sha512(sk,32);for(d[0]&=248,d[31]&=127,d[31]|=64,scalarbase(p,d),pack(pk,p),i=0;i<32;++i)sk[i+32]=pk[i];return 0}(pk,sk),{publicKey:pk,privateKey:sk}},ed25519.privateKeyFromAsn1=function(obj){var capture={},errors=[];if(!forge.asn1.validate(obj,privateKeyValidator,capture,errors)){var error=new Error("Invalid Key.");throw error.errors=errors,error}var oid=forge.asn1.derToOid(capture.privateKeyOid),ed25519Oid=forge.oids.EdDSA25519;if(oid!==ed25519Oid)throw new Error('Invalid OID "'+oid+'"; OID must be "'+ed25519Oid+'".');var privateKey=capture.privateKey;return{privateKeyBytes:messageToNativeBuffer({message:forge.asn1.fromDer(privateKey).value,encoding:"binary"})}},ed25519.publicKeyFromAsn1=function(obj){var capture={},errors=[];if(!forge.asn1.validate(obj,publicKeyValidator,capture,errors)){var error=new Error("Invalid Key.");throw error.errors=errors,error}var oid=forge.asn1.derToOid(capture.publicKeyOid),ed25519Oid=forge.oids.EdDSA25519;if(oid!==ed25519Oid)throw new Error('Invalid OID "'+oid+'"; OID must be "'+ed25519Oid+'".');var publicKeyBytes=capture.ed25519PublicKey;if(publicKeyBytes.length!==ed25519.constants.PUBLIC_KEY_BYTE_LENGTH)throw new Error("Key length is invalid.");return messageToNativeBuffer({message:publicKeyBytes,encoding:"binary"})},ed25519.publicKeyFromPrivateKey=function(options){var privateKey=messageToNativeBuffer({message:(options=options||{}).privateKey,encoding:"binary"});if(privateKey.length!==ed25519.constants.PRIVATE_KEY_BYTE_LENGTH)throw new TypeError('"options.privateKey" must have a byte length of '+ed25519.constants.PRIVATE_KEY_BYTE_LENGTH);for(var pk=new NativeBuffer(ed25519.constants.PUBLIC_KEY_BYTE_LENGTH),i=0;i<pk.length;++i)pk[i]=privateKey[32+i];return pk},ed25519.sign=function(options){var msg=messageToNativeBuffer(options=options||{}),privateKey=messageToNativeBuffer({message:options.privateKey,encoding:"binary"});if(privateKey.length===ed25519.constants.SEED_BYTE_LENGTH)privateKey=ed25519.generateKeyPair({seed:privateKey}).privateKey;else if(privateKey.length!==ed25519.constants.PRIVATE_KEY_BYTE_LENGTH)throw new TypeError('"options.privateKey" must have a byte length of '+ed25519.constants.SEED_BYTE_LENGTH+" or "+ed25519.constants.PRIVATE_KEY_BYTE_LENGTH);var signedMsg=new NativeBuffer(ed25519.constants.SIGN_BYTE_LENGTH+msg.length);!function crypto_sign(sm,m,n,sk){var i,j,x=new Float64Array(64),p=[gf(),gf(),gf(),gf()],d=sha512(sk,32);d[0]&=248,d[31]&=127,d[31]|=64;var smlen=n+64;for(i=0;i<n;++i)sm[64+i]=m[i];for(i=0;i<32;++i)sm[32+i]=d[32+i];var r=sha512(sm.subarray(32),n+32);for(reduce(r),scalarbase(p,r),pack(sm,p),i=32;i<64;++i)sm[i]=sk[i];var h=sha512(sm,n+64);for(reduce(h),i=32;i<64;++i)x[i]=0;for(i=0;i<32;++i)x[i]=r[i];for(i=0;i<32;++i)for(j=0;j<32;j++)x[i+j]+=h[i]*d[j];return modL(sm.subarray(32),x),smlen}(signedMsg,msg,msg.length,privateKey);for(var sig=new NativeBuffer(ed25519.constants.SIGN_BYTE_LENGTH),i=0;i<sig.length;++i)sig[i]=signedMsg[i];return sig},ed25519.verify=function(options){var msg=messageToNativeBuffer(options=options||{});if(void 0===options.signature)throw new TypeError('"options.signature" must be a node.js Buffer, a Uint8Array, a forge ByteBuffer, or a binary string.');var sig=messageToNativeBuffer({message:options.signature,encoding:"binary"});if(sig.length!==ed25519.constants.SIGN_BYTE_LENGTH)throw new TypeError('"options.signature" must have a byte length of '+ed25519.constants.SIGN_BYTE_LENGTH);var publicKey=messageToNativeBuffer({message:options.publicKey,encoding:"binary"});if(publicKey.length!==ed25519.constants.PUBLIC_KEY_BYTE_LENGTH)throw new TypeError('"options.publicKey" must have a byte length of '+ed25519.constants.PUBLIC_KEY_BYTE_LENGTH);var i,sm=new NativeBuffer(ed25519.constants.SIGN_BYTE_LENGTH+msg.length),m=new NativeBuffer(ed25519.constants.SIGN_BYTE_LENGTH+msg.length);for(i=0;i<ed25519.constants.SIGN_BYTE_LENGTH;++i)sm[i]=sig[i];for(i=0;i<msg.length;++i)sm[i+ed25519.constants.SIGN_BYTE_LENGTH]=msg[i];return function crypto_sign_open(m,sm,n,pk){var i,t=new NativeBuffer(32),p=[gf(),gf(),gf(),gf()],q=[gf(),gf(),gf(),gf()];if(n<64)return-1;if(function unpackneg(r,p){var t=gf(),chk=gf(),num=gf(),den=gf(),den2=gf(),den4=gf(),den6=gf();set25519(r[2],gf1),function unpack25519(o,n){var i;for(i=0;i<16;++i)o[i]=n[2*i]+(n[2*i+1]<<8);o[15]&=32767}(r[1],p),S(num,r[1]),M(den,num,D),Z(num,num,r[2]),A(den,r[2],den),S(den2,den),S(den4,den2),M(den6,den4,den2),M(t,den6,num),M(t,t,den),function pow2523(o,i){var a,c=gf();for(a=0;a<16;++a)c[a]=i[a];for(a=250;a>=0;--a)S(c,c),1!==a&&M(c,c,i);for(a=0;a<16;++a)o[a]=c[a]}(t,t),M(t,t,num),M(t,t,den),M(t,t,den),M(r[0],t,den),S(chk,r[0]),M(chk,chk,den),neq25519(chk,num)&&M(r[0],r[0],I);if(S(chk,r[0]),M(chk,chk,den),neq25519(chk,num))return-1;par25519(r[0])===p[31]>>7&&Z(r[0],gf0,r[0]);return M(r[3],r[0],r[1]),0}(q,pk))return-1;for(i=0;i<n;++i)m[i]=sm[i];for(i=0;i<32;++i)m[i+32]=pk[i];var h=sha512(m,n);if(reduce(h),scalarmult(p,q,h),scalarbase(q,sm.subarray(32)),add(p,q),pack(t,p),n-=64,crypto_verify_32(sm,0,t,0)){for(i=0;i<n;++i)m[i]=0;return-1}for(i=0;i<n;++i)m[i]=sm[i+64];return n}(m,sm,sm.length,publicKey)>=0};var gf0=gf(),gf1=gf([1]),D=gf([30883,4953,19914,30187,55467,16705,2637,112,59544,30585,16505,36039,65139,11119,27886,20995]),D2=gf([61785,9906,39828,60374,45398,33411,5274,224,53552,61171,33010,6542,64743,22239,55772,9222]),X=gf([54554,36645,11616,51542,42930,38181,51040,26924,56412,64982,57905,49316,21502,52590,14035,8553]),Y=gf([26200,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214]),L=new Float64Array([237,211,245,92,26,99,18,88,214,156,247,162,222,249,222,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16]),I=gf([41136,18958,6951,50414,58488,44335,6150,12099,55207,15867,153,11085,57099,20417,9344,11139]);function sha512(msg,msgLen){var md=forge.md.sha512.create(),buffer=new ByteBuffer(msg);md.update(buffer.getBytes(msgLen),"binary");var hash=md.digest().getBytes();if("undefined"!=typeof Buffer)return Buffer.from(hash,"binary");for(var out=new NativeBuffer(ed25519.constants.HASH_BYTE_LENGTH),i=0;i<64;++i)out[i]=hash.charCodeAt(i);return out}function modL(r,x){var carry,i,j,k;for(i=63;i>=32;--i){for(carry=0,j=i-32,k=i-12;j<k;++j)x[j]+=carry-16*x[i]*L[j-(i-32)],carry=x[j]+128>>8,x[j]-=256*carry;x[j]+=carry,x[i]=0}for(carry=0,j=0;j<32;++j)x[j]+=carry-(x[31]>>4)*L[j],carry=x[j]>>8,x[j]&=255;for(j=0;j<32;++j)x[j]-=carry*L[j];for(i=0;i<32;++i)x[i+1]+=x[i]>>8,r[i]=255&x[i]}function reduce(r){for(var x=new Float64Array(64),i=0;i<64;++i)x[i]=r[i],r[i]=0;modL(r,x)}function add(p,q){var a=gf(),b=gf(),c=gf(),d=gf(),e=gf(),f=gf(),g=gf(),h=gf(),t=gf();Z(a,p[1],p[0]),Z(t,q[1],q[0]),M(a,a,t),A(b,p[0],p[1]),A(t,q[0],q[1]),M(b,b,t),M(c,p[3],q[3]),M(c,c,D2),M(d,p[2],q[2]),A(d,d,d),Z(e,b,a),Z(f,d,c),A(g,d,c),A(h,b,a),M(p[0],e,f),M(p[1],h,g),M(p[2],g,f),M(p[3],e,h)}function cswap(p,q,b){for(var i=0;i<4;++i)sel25519(p[i],q[i],b)}function pack(r,p){var tx=gf(),ty=gf(),zi=gf();!function inv25519(o,i){var a,c=gf();for(a=0;a<16;++a)c[a]=i[a];for(a=253;a>=0;--a)S(c,c),2!==a&&4!==a&&M(c,c,i);for(a=0;a<16;++a)o[a]=c[a]}(zi,p[2]),M(tx,p[0],zi),M(ty,p[1],zi),pack25519(r,ty),r[31]^=par25519(tx)<<7}function pack25519(o,n){var i,j,b,m=gf(),t=gf();for(i=0;i<16;++i)t[i]=n[i];for(car25519(t),car25519(t),car25519(t),j=0;j<2;++j){for(m[0]=t[0]-65517,i=1;i<15;++i)m[i]=t[i]-65535-(m[i-1]>>16&1),m[i-1]&=65535;m[15]=t[15]-32767-(m[14]>>16&1),b=m[15]>>16&1,m[14]&=65535,sel25519(t,m,1-b)}for(i=0;i<16;i++)o[2*i]=255&t[i],o[2*i+1]=t[i]>>8}function neq25519(a,b){var c=new NativeBuffer(32),d=new NativeBuffer(32);return pack25519(c,a),pack25519(d,b),crypto_verify_32(c,0,d,0)}function crypto_verify_32(x,xi,y,yi){return function vn(x,xi,y,yi,n){var i,d=0;for(i=0;i<n;++i)d|=x[xi+i]^y[yi+i];return(1&d-1>>>8)-1}(x,xi,y,yi,32)}function par25519(a){var d=new NativeBuffer(32);return pack25519(d,a),1&d[0]}function scalarmult(p,q,s){var b,i;for(set25519(p[0],gf0),set25519(p[1],gf1),set25519(p[2],gf1),set25519(p[3],gf0),i=255;i>=0;--i)cswap(p,q,b=s[i/8|0]>>(7&i)&1),add(q,p),add(p,p),cswap(p,q,b)}function scalarbase(p,s){var q=[gf(),gf(),gf(),gf()];set25519(q[0],X),set25519(q[1],Y),set25519(q[2],gf1),M(q[3],X,Y),scalarmult(p,q,s)}function set25519(r,a){var i;for(i=0;i<16;i++)r[i]=0|a[i]}function car25519(o){var i,v,c=1;for(i=0;i<16;++i)v=o[i]+c+65535,c=Math.floor(v/65536),o[i]=v-65536*c;o[0]+=c-1+37*(c-1)}function sel25519(p,q,b){for(var t,c=~(b-1),i=0;i<16;++i)t=c&(p[i]^q[i]),p[i]^=t,q[i]^=t}function gf(init){var i,r=new Float64Array(16);if(init)for(i=0;i<init.length;++i)r[i]=init[i];return r}function A(o,a,b){for(var i=0;i<16;++i)o[i]=a[i]+b[i]}function Z(o,a,b){for(var i=0;i<16;++i)o[i]=a[i]-b[i]}function S(o,a){M(o,a,a)}function M(o,a,b){var v,c,t0=0,t1=0,t2=0,t3=0,t4=0,t5=0,t6=0,t7=0,t8=0,t9=0,t10=0,t11=0,t12=0,t13=0,t14=0,t15=0,t16=0,t17=0,t18=0,t19=0,t20=0,t21=0,t22=0,t23=0,t24=0,t25=0,t26=0,t27=0,t28=0,t29=0,t30=0,b0=b[0],b1=b[1],b2=b[2],b3=b[3],b4=b[4],b5=b[5],b6=b[6],b7=b[7],b8=b[8],b9=b[9],b10=b[10],b11=b[11],b12=b[12],b13=b[13],b14=b[14],b15=b[15];t0+=(v=a[0])*b0,t1+=v*b1,t2+=v*b2,t3+=v*b3,t4+=v*b4,t5+=v*b5,t6+=v*b6,t7+=v*b7,t8+=v*b8,t9+=v*b9,t10+=v*b10,t11+=v*b11,t12+=v*b12,t13+=v*b13,t14+=v*b14,t15+=v*b15,t1+=(v=a[1])*b0,t2+=v*b1,t3+=v*b2,t4+=v*b3,t5+=v*b4,t6+=v*b5,t7+=v*b6,t8+=v*b7,t9+=v*b8,t10+=v*b9,t11+=v*b10,t12+=v*b11,t13+=v*b12,t14+=v*b13,t15+=v*b14,t16+=v*b15,t2+=(v=a[2])*b0,t3+=v*b1,t4+=v*b2,t5+=v*b3,t6+=v*b4,t7+=v*b5,t8+=v*b6,t9+=v*b7,t10+=v*b8,t11+=v*b9,t12+=v*b10,t13+=v*b11,t14+=v*b12,t15+=v*b13,t16+=v*b14,t17+=v*b15,t3+=(v=a[3])*b0,t4+=v*b1,t5+=v*b2,t6+=v*b3,t7+=v*b4,t8+=v*b5,t9+=v*b6,t10+=v*b7,t11+=v*b8,t12+=v*b9,t13+=v*b10,t14+=v*b11,t15+=v*b12,t16+=v*b13,t17+=v*b14,t18+=v*b15,t4+=(v=a[4])*b0,t5+=v*b1,t6+=v*b2,t7+=v*b3,t8+=v*b4,t9+=v*b5,t10+=v*b6,t11+=v*b7,t12+=v*b8,t13+=v*b9,t14+=v*b10,t15+=v*b11,t16+=v*b12,t17+=v*b13,t18+=v*b14,t19+=v*b15,t5+=(v=a[5])*b0,t6+=v*b1,t7+=v*b2,t8+=v*b3,t9+=v*b4,t10+=v*b5,t11+=v*b6,t12+=v*b7,t13+=v*b8,t14+=v*b9,t15+=v*b10,t16+=v*b11,t17+=v*b12,t18+=v*b13,t19+=v*b14,t20+=v*b15,t6+=(v=a[6])*b0,t7+=v*b1,t8+=v*b2,t9+=v*b3,t10+=v*b4,t11+=v*b5,t12+=v*b6,t13+=v*b7,t14+=v*b8,t15+=v*b9,t16+=v*b10,t17+=v*b11,t18+=v*b12,t19+=v*b13,t20+=v*b14,t21+=v*b15,t7+=(v=a[7])*b0,t8+=v*b1,t9+=v*b2,t10+=v*b3,t11+=v*b4,t12+=v*b5,t13+=v*b6,t14+=v*b7,t15+=v*b8,t16+=v*b9,t17+=v*b10,t18+=v*b11,t19+=v*b12,t20+=v*b13,t21+=v*b14,t22+=v*b15,t8+=(v=a[8])*b0,t9+=v*b1,t10+=v*b2,t11+=v*b3,t12+=v*b4,t13+=v*b5,t14+=v*b6,t15+=v*b7,t16+=v*b8,t17+=v*b9,t18+=v*b10,t19+=v*b11,t20+=v*b12,t21+=v*b13,t22+=v*b14,t23+=v*b15,t9+=(v=a[9])*b0,t10+=v*b1,t11+=v*b2,t12+=v*b3,t13+=v*b4,t14+=v*b5,t15+=v*b6,t16+=v*b7,t17+=v*b8,t18+=v*b9,t19+=v*b10,t20+=v*b11,t21+=v*b12,t22+=v*b13,t23+=v*b14,t24+=v*b15,t10+=(v=a[10])*b0,t11+=v*b1,t12+=v*b2,t13+=v*b3,t14+=v*b4,t15+=v*b5,t16+=v*b6,t17+=v*b7,t18+=v*b8,t19+=v*b9,t20+=v*b10,t21+=v*b11,t22+=v*b12,t23+=v*b13,t24+=v*b14,t25+=v*b15,t11+=(v=a[11])*b0,t12+=v*b1,t13+=v*b2,t14+=v*b3,t15+=v*b4,t16+=v*b5,t17+=v*b6,t18+=v*b7,t19+=v*b8,t20+=v*b9,t21+=v*b10,t22+=v*b11,t23+=v*b12,t24+=v*b13,t25+=v*b14,t26+=v*b15,t12+=(v=a[12])*b0,t13+=v*b1,t14+=v*b2,t15+=v*b3,t16+=v*b4,t17+=v*b5,t18+=v*b6,t19+=v*b7,t20+=v*b8,t21+=v*b9,t22+=v*b10,t23+=v*b11,t24+=v*b12,t25+=v*b13,t26+=v*b14,t27+=v*b15,t13+=(v=a[13])*b0,t14+=v*b1,t15+=v*b2,t16+=v*b3,t17+=v*b4,t18+=v*b5,t19+=v*b6,t20+=v*b7,t21+=v*b8,t22+=v*b9,t23+=v*b10,t24+=v*b11,t25+=v*b12,t26+=v*b13,t27+=v*b14,t28+=v*b15,t14+=(v=a[14])*b0,t15+=v*b1,t16+=v*b2,t17+=v*b3,t18+=v*b4,t19+=v*b5,t20+=v*b6,t21+=v*b7,t22+=v*b8,t23+=v*b9,t24+=v*b10,t25+=v*b11,t26+=v*b12,t27+=v*b13,t28+=v*b14,t29+=v*b15,t15+=(v=a[15])*b0,t1+=38*(t17+=v*b2),t2+=38*(t18+=v*b3),t3+=38*(t19+=v*b4),t4+=38*(t20+=v*b5),t5+=38*(t21+=v*b6),t6+=38*(t22+=v*b7),t7+=38*(t23+=v*b8),t8+=38*(t24+=v*b9),t9+=38*(t25+=v*b10),t10+=38*(t26+=v*b11),t11+=38*(t27+=v*b12),t12+=38*(t28+=v*b13),t13+=38*(t29+=v*b14),t14+=38*(t30+=v*b15),t0=(v=(t0+=38*(t16+=v*b1))+(c=1)+65535)-65536*(c=Math.floor(v/65536)),t1=(v=t1+c+65535)-65536*(c=Math.floor(v/65536)),t2=(v=t2+c+65535)-65536*(c=Math.floor(v/65536)),t3=(v=t3+c+65535)-65536*(c=Math.floor(v/65536)),t4=(v=t4+c+65535)-65536*(c=Math.floor(v/65536)),t5=(v=t5+c+65535)-65536*(c=Math.floor(v/65536)),t6=(v=t6+c+65535)-65536*(c=Math.floor(v/65536)),t7=(v=t7+c+65535)-65536*(c=Math.floor(v/65536)),t8=(v=t8+c+65535)-65536*(c=Math.floor(v/65536)),t9=(v=t9+c+65535)-65536*(c=Math.floor(v/65536)),t10=(v=t10+c+65535)-65536*(c=Math.floor(v/65536)),t11=(v=t11+c+65535)-65536*(c=Math.floor(v/65536)),t12=(v=t12+c+65535)-65536*(c=Math.floor(v/65536)),t13=(v=t13+c+65535)-65536*(c=Math.floor(v/65536)),t14=(v=t14+c+65535)-65536*(c=Math.floor(v/65536)),t15=(v=t15+c+65535)-65536*(c=Math.floor(v/65536)),t0=(v=(t0+=c-1+37*(c-1))+(c=1)+65535)-65536*(c=Math.floor(v/65536)),t1=(v=t1+c+65535)-65536*(c=Math.floor(v/65536)),t2=(v=t2+c+65535)-65536*(c=Math.floor(v/65536)),t3=(v=t3+c+65535)-65536*(c=Math.floor(v/65536)),t4=(v=t4+c+65535)-65536*(c=Math.floor(v/65536)),t5=(v=t5+c+65535)-65536*(c=Math.floor(v/65536)),t6=(v=t6+c+65535)-65536*(c=Math.floor(v/65536)),t7=(v=t7+c+65535)-65536*(c=Math.floor(v/65536)),t8=(v=t8+c+65535)-65536*(c=Math.floor(v/65536)),t9=(v=t9+c+65535)-65536*(c=Math.floor(v/65536)),t10=(v=t10+c+65535)-65536*(c=Math.floor(v/65536)),t11=(v=t11+c+65535)-65536*(c=Math.floor(v/65536)),t12=(v=t12+c+65535)-65536*(c=Math.floor(v/65536)),t13=(v=t13+c+65535)-65536*(c=Math.floor(v/65536)),t14=(v=t14+c+65535)-65536*(c=Math.floor(v/65536)),t15=(v=t15+c+65535)-65536*(c=Math.floor(v/65536)),t0+=c-1+37*(c-1),o[0]=t0,o[1]=t1,o[2]=t2,o[3]=t3,o[4]=t4,o[5]=t5,o[6]=t6,o[7]=t7,o[8]=t8,o[9]=t9,o[10]=t10,o[11]=t11,o[12]=t12,o[13]=t13,o[14]=t14,o[15]=t15}return ed25519_1}var hasRequiredPkcs7,pkcs7={exports:{}};function requirePkcs7(){if(hasRequiredPkcs7)return pkcs7.exports;hasRequiredPkcs7=1;var forge=requireForge();requireAes(),requireAsn1(),requireDes(),requireOids(),requirePem(),requirePkcs7asn1(),requireRandom(),requireUtil(),requireX509();var asn1=forge.asn1,p7=pkcs7.exports=forge.pkcs7=forge.pkcs7||{};function _recipientFromAsn1(obj){var capture={},errors=[];if(!asn1.validate(obj,p7.asn1.recipientInfoValidator,capture,errors)){var error=new Error("Cannot read PKCS#7 RecipientInfo. ASN.1 object is not an PKCS#7 RecipientInfo.");throw error.errors=errors,error}return{version:capture.version.charCodeAt(0),issuer:forge.pki.RDNAttributesAsArray(capture.issuer),serialNumber:forge.util.createBuffer(capture.serial).toHex(),encryptedContent:{algorithm:asn1.derToOid(capture.encAlgorithm),parameter:capture.encParameter?capture.encParameter.value:void 0,content:capture.encKey}}}function _recipientsToAsn1(recipients){for(var obj,ret=[],i=0;i<recipients.length;++i)ret.push((obj=recipients[i],asn1.create(asn1.Class.UNIVERSAL,asn1.Type.SEQUENCE,!0,[asn1.create(asn1.Class.UNIVERSAL,asn1.Type.INTEGER,!1,asn1.integerToDer(obj.version).getBytes()),asn1.create(asn1.Class.UNIVERSAL,asn1.Type.SEQUENCE,!0,[forge.pki.distinguishedNameToAsn1({attributes:obj.issuer}),asn1.create(asn1.Class.UNIVERSAL,asn1.Type.INTEGER,!1,forge.util.hexToBytes(obj.serialNumber))]),asn1.create(asn1.Class.UNIVERSAL,asn1.Type.SEQUENCE,!0,[asn1.create(asn1.Class.UNIVERSAL,asn1.Type.OID,!1,asn1.oidToDer(obj.encryptedContent.algorithm).getBytes()),asn1.create(asn1.Class.UNIVERSAL,asn1.Type.NULL,!1,"")]),asn1.create(asn1.Class.UNIVERSAL,asn1.Type.OCTETSTRING,!1,obj.encryptedContent.content)])));return ret}function _signerToAsn1(obj){var rval=asn1.create(asn1.Class.UNIVERSAL,asn1.Type.SEQUENCE,!0,[asn1.create(asn1.Class.UNIVERSAL,asn1.Type.INTEGER,!1,asn1.integerToDer(obj.version).getBytes()),asn1.create(asn1.Class.UNIVERSAL,asn1.Type.SEQUENCE,!0,[forge.pki.distinguishedNameToAsn1({attributes:obj.issuer}),asn1.create(asn1.Class.UNIVERSAL,asn1.Type.INTEGER,!1,forge.util.hexToBytes(obj.serialNumber))]),asn1.create(asn1.Class.UNIVERSAL,asn1.Type.SEQUENCE,!0,[asn1.create(asn1.Class.UNIVERSAL,asn1.Type.OID,!1,asn1.oidToDer(obj.digestAlgorithm).getBytes()),asn1.create(asn1.Class.UNIVERSAL,asn1.Type.NULL,!1,"")])]);if(obj.authenticatedAttributesAsn1&&rval.value.push(obj.authenticatedAttributesAsn1),rval.value.push(asn1.create(asn1.Class.UNIVERSAL,asn1.Type.SEQUENCE,!0,[asn1.create(asn1.Class.UNIVERSAL,asn1.Type.OID,!1,asn1.oidToDer(obj.signatureAlgorithm).getBytes()),asn1.create(asn1.Class.UNIVERSAL,asn1.Type.NULL,!1,"")])),rval.value.push(asn1.create(asn1.Class.UNIVERSAL,asn1.Type.OCTETSTRING,!1,obj.signature)),obj.unauthenticatedAttributes.length>0){for(var attrsAsn1=asn1.create(asn1.Class.CONTEXT_SPECIFIC,1,!0,[]),i=0;i<obj.unauthenticatedAttributes.length;++i){var attr=obj.unauthenticatedAttributes[i];attrsAsn1.values.push(_attributeToAsn1(attr))}rval.value.push(attrsAsn1)}return rval}function _attributeToAsn1(attr){var value;if(attr.type===forge.pki.oids.contentType)value=asn1.create(asn1.Class.UNIVERSAL,asn1.Type.OID,!1,asn1.oidToDer(attr.value).getBytes());else if(attr.type===forge.pki.oids.messageDigest)value=asn1.create(asn1.Class.UNIVERSAL,asn1.Type.OCTETSTRING,!1,attr.value.bytes());else if(attr.type===forge.pki.oids.signingTime){var jan_1_1950=new Date("1950-01-01T00:00:00Z"),jan_1_2050=new Date("2050-01-01T00:00:00Z"),date=attr.value;if("string"==typeof date){var timestamp=Date.parse(date);date=isNaN(timestamp)?13===date.length?asn1.utcTimeToDate(date):asn1.generalizedTimeToDate(date):new Date(timestamp)}value=date>=jan_1_1950&&date<jan_1_2050?asn1.create(asn1.Class.UNIVERSAL,asn1.Type.UTCTIME,!1,asn1.dateToUtcTime(date)):asn1.create(asn1.Class.UNIVERSAL,asn1.Type.GENERALIZEDTIME,!1,asn1.dateToGeneralizedTime(date))}return asn1.create(asn1.Class.UNIVERSAL,asn1.Type.SEQUENCE,!0,[asn1.create(asn1.Class.UNIVERSAL,asn1.Type.OID,!1,asn1.oidToDer(attr.type).getBytes()),asn1.create(asn1.Class.UNIVERSAL,asn1.Type.SET,!0,[value])])}function _fromAsn1(msg,obj,validator){var capture={};if(!asn1.validate(obj,validator,capture,[])){var error=new Error("Cannot read PKCS#7 message. ASN.1 object is not a supported PKCS#7 message.");throw error.errors=error,error}if(asn1.derToOid(capture.contentType)!==forge.pki.oids.data)throw new Error("Unsupported PKCS#7 message. Only wrapped ContentType Data supported.");if(capture.encryptedContent){var content="";if(forge.util.isArray(capture.encryptedContent))for(var i=0;i<capture.encryptedContent.length;++i){if(capture.encryptedContent[i].type!==asn1.Type.OCTETSTRING)throw new Error("Malformed PKCS#7 message, expecting encrypted content constructed of only OCTET STRING objects.");content+=capture.encryptedContent[i].value}else content=capture.encryptedContent;msg.encryptedContent={algorithm:asn1.derToOid(capture.encAlgorithm),parameter:forge.util.createBuffer(capture.encParameter.value),content:forge.util.createBuffer(content)}}if(capture.content){content="";if(forge.util.isArray(capture.content))for(i=0;i<capture.content.length;++i){if(capture.content[i].type!==asn1.Type.OCTETSTRING)throw new Error("Malformed PKCS#7 message, expecting content constructed of only OCTET STRING objects.");content+=capture.content[i].value}else content=capture.content;msg.content=forge.util.createBuffer(content)}return msg.version=capture.version.charCodeAt(0),msg.rawCapture=capture,capture}function _decryptContent(msg){if(void 0===msg.encryptedContent.key)throw new Error("Symmetric key not available.");if(void 0===msg.content){var ciph;switch(msg.encryptedContent.algorithm){case forge.pki.oids["aes128-CBC"]:case forge.pki.oids["aes192-CBC"]:case forge.pki.oids["aes256-CBC"]:ciph=forge.aes.createDecryptionCipher(msg.encryptedContent.key);break;case forge.pki.oids.desCBC:case forge.pki.oids["des-EDE3-CBC"]:ciph=forge.des.createDecryptionCipher(msg.encryptedContent.key);break;default:throw new Error("Unsupported symmetric cipher, OID "+msg.encryptedContent.algorithm)}if(ciph.start(msg.encryptedContent.parameter),ciph.update(msg.encryptedContent.content),!ciph.finish())throw new Error("Symmetric decryption failed.");msg.content=ciph.output}}return p7.messageFromPem=function(pem){var msg=forge.pem.decode(pem)[0];if("PKCS7"!==msg.type){var error=new Error('Could not convert PKCS#7 message from PEM; PEM header type is not "PKCS#7".');throw error.headerType=msg.type,error}if(msg.procType&&"ENCRYPTED"===msg.procType.type)throw new Error("Could not convert PKCS#7 message from PEM; PEM is encrypted.");var obj=asn1.fromDer(msg.body);return p7.messageFromAsn1(obj)},p7.messageToPem=function(msg,maxline){var pemObj={type:"PKCS7",body:asn1.toDer(msg.toAsn1()).getBytes()};return forge.pem.encode(pemObj,{maxline:maxline})},p7.messageFromAsn1=function(obj){var capture={},errors=[];if(!asn1.validate(obj,p7.asn1.contentInfoValidator,capture,errors)){var error=new Error("Cannot read PKCS#7 message. ASN.1 object is not an PKCS#7 ContentInfo.");throw error.errors=errors,error}var msg,contentType=asn1.derToOid(capture.contentType);switch(contentType){case forge.pki.oids.envelopedData:msg=p7.createEnvelopedData();break;case forge.pki.oids.encryptedData:msg=p7.createEncryptedData();break;case forge.pki.oids.signedData:msg=p7.createSignedData();break;default:throw new Error("Cannot read PKCS#7 message. ContentType with OID "+contentType+" is not (yet) supported.")}return msg.fromAsn1(capture.content.value[0]),msg},p7.createSignedData=function(){var msg=null;return msg={type:forge.pki.oids.signedData,version:1,certificates:[],crls:[],signers:[],digestAlgorithmIdentifiers:[],contentInfo:null,signerInfos:[],fromAsn1:function(obj){if(_fromAsn1(msg,obj,p7.asn1.signedDataValidator),msg.certificates=[],msg.crls=[],msg.digestAlgorithmIdentifiers=[],msg.contentInfo=null,msg.signerInfos=[],msg.rawCapture.certificates)for(var certs=msg.rawCapture.certificates.value,i=0;i<certs.length;++i)msg.certificates.push(forge.pki.certificateFromAsn1(certs[i]))},toAsn1:function(){msg.contentInfo||msg.sign();for(var certs=[],i=0;i<msg.certificates.length;++i)certs.push(forge.pki.certificateToAsn1(msg.certificates[i]));var crls=[],signedData=asn1.create(asn1.Class.CONTEXT_SPECIFIC,0,!0,[asn1.create(asn1.Class.UNIVERSAL,asn1.Type.SEQUENCE,!0,[asn1.create(asn1.Class.UNIVERSAL,asn1.Type.INTEGER,!1,asn1.integerToDer(msg.version).getBytes()),asn1.create(asn1.Class.UNIVERSAL,asn1.Type.SET,!0,msg.digestAlgorithmIdentifiers),msg.contentInfo])]);return certs.length>0&&signedData.value[0].value.push(asn1.create(asn1.Class.CONTEXT_SPECIFIC,0,!0,certs)),crls.length>0&&signedData.value[0].value.push(asn1.create(asn1.Class.CONTEXT_SPECIFIC,1,!0,crls)),signedData.value[0].value.push(asn1.create(asn1.Class.UNIVERSAL,asn1.Type.SET,!0,msg.signerInfos)),asn1.create(asn1.Class.UNIVERSAL,asn1.Type.SEQUENCE,!0,[asn1.create(asn1.Class.UNIVERSAL,asn1.Type.OID,!1,asn1.oidToDer(msg.type).getBytes()),signedData])},addSigner:function(signer){var issuer=signer.issuer,serialNumber=signer.serialNumber;if(signer.certificate){var cert=signer.certificate;"string"==typeof cert&&(cert=forge.pki.certificateFromPem(cert)),issuer=cert.issuer.attributes,serialNumber=cert.serialNumber}var key=signer.key;if(!key)throw new Error("Could not add PKCS#7 signer; no private key specified.");"string"==typeof key&&(key=forge.pki.privateKeyFromPem(key));var digestAlgorithm=signer.digestAlgorithm||forge.pki.oids.sha1;switch(digestAlgorithm){case forge.pki.oids.sha1:case forge.pki.oids.sha256:case forge.pki.oids.sha384:case forge.pki.oids.sha512:case forge.pki.oids.md5:break;default:throw new Error("Could not add PKCS#7 signer; unknown message digest algorithm: "+digestAlgorithm)}var authenticatedAttributes=signer.authenticatedAttributes||[];if(authenticatedAttributes.length>0){for(var contentType=!1,messageDigest=!1,i=0;i<authenticatedAttributes.length;++i){var attr=authenticatedAttributes[i];if(contentType||attr.type!==forge.pki.oids.contentType){if(messageDigest||attr.type!==forge.pki.oids.messageDigest);else if(messageDigest=!0,contentType)break}else if(contentType=!0,messageDigest)break}if(!contentType||!messageDigest)throw new Error("Invalid signer.authenticatedAttributes. If signer.authenticatedAttributes is specified, then it must contain at least two attributes, PKCS #9 content-type and PKCS #9 message-digest.")}msg.signers.push({key:key,version:1,issuer:issuer,serialNumber:serialNumber,digestAlgorithm:digestAlgorithm,signatureAlgorithm:forge.pki.oids.rsaEncryption,signature:null,authenticatedAttributes:authenticatedAttributes,unauthenticatedAttributes:[]})},sign:function(options){var content;(options=options||{},"object"!=typeof msg.content||null===msg.contentInfo)&&(msg.contentInfo=asn1.create(asn1.Class.UNIVERSAL,asn1.Type.SEQUENCE,!0,[asn1.create(asn1.Class.UNIVERSAL,asn1.Type.OID,!1,asn1.oidToDer(forge.pki.oids.data).getBytes())]),"content"in msg&&(msg.content instanceof forge.util.ByteBuffer?content=msg.content.bytes():"string"==typeof msg.content&&(content=forge.util.encodeUtf8(msg.content)),options.detached?msg.detachedContent=asn1.create(asn1.Class.UNIVERSAL,asn1.Type.OCTETSTRING,!1,content):msg.contentInfo.value.push(asn1.create(asn1.Class.CONTEXT_SPECIFIC,0,!0,[asn1.create(asn1.Class.UNIVERSAL,asn1.Type.OCTETSTRING,!1,content)]))));0!==msg.signers.length&&function addSignerInfos(mds){var content;content=msg.detachedContent?msg.detachedContent:(content=msg.contentInfo.value[1]).value[0];if(!content)throw new Error("Could not sign PKCS#7 message; there is no content to sign.");var contentType=asn1.derToOid(msg.contentInfo.value[0].value),bytes=asn1.toDer(content);for(var oid in bytes.getByte(),asn1.getBerValueLength(bytes),bytes=bytes.getBytes(),mds)mds[oid].start().update(bytes);for(var signingTime=new Date,i=0;i<msg.signers.length;++i){var signer=msg.signers[i];if(0===signer.authenticatedAttributes.length){if(contentType!==forge.pki.oids.data)throw new Error("Invalid signer; authenticatedAttributes must be present when the ContentInfo content type is not PKCS#7 Data.")}else{signer.authenticatedAttributesAsn1=asn1.create(asn1.Class.CONTEXT_SPECIFIC,0,!0,[]);for(var attrsAsn1=asn1.create(asn1.Class.UNIVERSAL,asn1.Type.SET,!0,[]),ai=0;ai<signer.authenticatedAttributes.length;++ai){var attr=signer.authenticatedAttributes[ai];attr.type===forge.pki.oids.messageDigest?attr.value=mds[signer.digestAlgorithm].digest():attr.type===forge.pki.oids.signingTime&&(attr.value||(attr.value=signingTime)),attrsAsn1.value.push(_attributeToAsn1(attr)),signer.authenticatedAttributesAsn1.value.push(_attributeToAsn1(attr))}bytes=asn1.toDer(attrsAsn1).getBytes(),signer.md.start().update(bytes)}signer.signature=signer.key.sign(signer.md,"RSASSA-PKCS1-V1_5")}msg.signerInfos=function _signersToAsn1(signers){for(var ret=[],i=0;i<signers.length;++i)ret.push(_signerToAsn1(signers[i]));return ret}(msg.signers)}(function addDigestAlgorithmIds(){for(var mds={},i=0;i<msg.signers.length;++i){var signer=msg.signers[i];(oid=signer.digestAlgorithm)in mds||(mds[oid]=forge.md[forge.pki.oids[oid]].create()),0===signer.authenticatedAttributes.length?signer.md=mds[oid]:signer.md=forge.md[forge.pki.oids[oid]].create()}for(var oid in msg.digestAlgorithmIdentifiers=[],mds)msg.digestAlgorithmIdentifiers.push(asn1.create(asn1.Class.UNIVERSAL,asn1.Type.SEQUENCE,!0,[asn1.create(asn1.Class.UNIVERSAL,asn1.Type.OID,!1,asn1.oidToDer(oid).getBytes()),asn1.create(asn1.Class.UNIVERSAL,asn1.Type.NULL,!1,"")]));return mds}())},verify:function(){throw new Error("PKCS#7 signature verification not yet implemented.")},addCertificate:function(cert){"string"==typeof cert&&(cert=forge.pki.certificateFromPem(cert)),msg.certificates.push(cert)},addCertificateRevokationList:function(crl){throw new Error("PKCS#7 CRL support not yet implemented.")}}},p7.createEncryptedData=function(){var msg=null;return msg={type:forge.pki.oids.encryptedData,version:0,encryptedContent:{algorithm:forge.pki.oids["aes256-CBC"]},fromAsn1:function(obj){_fromAsn1(msg,obj,p7.asn1.encryptedDataValidator)},decrypt:function(key){void 0!==key&&(msg.encryptedContent.key=key),_decryptContent(msg)}}},p7.createEnvelopedData=function(){var msg=null;return msg={type:forge.pki.oids.envelopedData,version:0,recipients:[],encryptedContent:{algorithm:forge.pki.oids["aes256-CBC"]},fromAsn1:function(obj){var capture=_fromAsn1(msg,obj,p7.asn1.envelopedDataValidator);msg.recipients=function _recipientsFromAsn1(infos){for(var ret=[],i=0;i<infos.length;++i)ret.push(_recipientFromAsn1(infos[i]));return ret}(capture.recipientInfos.value)},toAsn1:function(){return asn1.create(asn1.Class.UNIVERSAL,asn1.Type.SEQUENCE,!0,[asn1.create(asn1.Class.UNIVERSAL,asn1.Type.OID,!1,asn1.oidToDer(msg.type).getBytes()),asn1.create(asn1.Class.CONTEXT_SPECIFIC,0,!0,[asn1.create(asn1.Class.UNIVERSAL,asn1.Type.SEQUENCE,!0,[asn1.create(asn1.Class.UNIVERSAL,asn1.Type.INTEGER,!1,asn1.integerToDer(msg.version).getBytes()),asn1.create(asn1.Class.UNIVERSAL,asn1.Type.SET,!0,_recipientsToAsn1(msg.recipients)),asn1.create(asn1.Class.UNIVERSAL,asn1.Type.SEQUENCE,!0,(ec=msg.encryptedContent,[asn1.create(asn1.Class.UNIVERSAL,asn1.Type.OID,!1,asn1.oidToDer(forge.pki.oids.data).getBytes()),asn1.create(asn1.Class.UNIVERSAL,asn1.Type.SEQUENCE,!0,[asn1.create(asn1.Class.UNIVERSAL,asn1.Type.OID,!1,asn1.oidToDer(ec.algorithm).getBytes()),ec.parameter?asn1.create(asn1.Class.UNIVERSAL,asn1.Type.OCTETSTRING,!1,ec.parameter.getBytes()):void 0]),asn1.create(asn1.Class.CONTEXT_SPECIFIC,0,!0,[asn1.create(asn1.Class.UNIVERSAL,asn1.Type.OCTETSTRING,!1,ec.content.getBytes())])]))])])]);var ec},findRecipient:function(cert){for(var sAttr=cert.issuer.attributes,i=0;i<msg.recipients.length;++i){var r=msg.recipients[i],rAttr=r.issuer;if(r.serialNumber===cert.serialNumber&&rAttr.length===sAttr.length){for(var match=!0,j=0;j<sAttr.length;++j)if(rAttr[j].type!==sAttr[j].type||rAttr[j].value!==sAttr[j].value){match=!1;break}if(match)return r}}return null},decrypt:function(recipient,privKey){if(void 0===msg.encryptedContent.key&&void 0!==recipient&&void 0!==privKey)switch(recipient.encryptedContent.algorithm){case forge.pki.oids.rsaEncryption:case forge.pki.oids.desCBC:var key=privKey.decrypt(recipient.encryptedContent.content);msg.encryptedContent.key=forge.util.createBuffer(key);break;default:throw new Error("Unsupported asymmetric cipher, OID "+recipient.encryptedContent.algorithm)}_decryptContent(msg)},addRecipient:function(cert){msg.recipients.push({version:0,issuer:cert.issuer.attributes,serialNumber:cert.serialNumber,encryptedContent:{algorithm:forge.pki.oids.rsaEncryption,key:cert.publicKey}})},encrypt:function(key,cipher){if(void 0===msg.encryptedContent.content){var keyLen,ivLen,ciphFn;switch(cipher=cipher||msg.encryptedContent.algorithm,key=key||msg.encryptedContent.key,cipher){case forge.pki.oids["aes128-CBC"]:keyLen=16,ivLen=16,ciphFn=forge.aes.createEncryptionCipher;break;case forge.pki.oids["aes192-CBC"]:keyLen=24,ivLen=16,ciphFn=forge.aes.createEncryptionCipher;break;case forge.pki.oids["aes256-CBC"]:keyLen=32,ivLen=16,ciphFn=forge.aes.createEncryptionCipher;break;case forge.pki.oids["des-EDE3-CBC"]:keyLen=24,ivLen=8,ciphFn=forge.des.createEncryptionCipher;break;default:throw new Error("Unsupported symmetric cipher, OID "+cipher)}if(void 0===key)key=forge.util.createBuffer(forge.random.getBytes(keyLen));else if(key.length()!=keyLen)throw new Error("Symmetric key has wrong length; got "+key.length()+" bytes, expected "+keyLen+".");msg.encryptedContent.algorithm=cipher,msg.encryptedContent.key=key,msg.encryptedContent.parameter=forge.util.createBuffer(forge.random.getBytes(ivLen));var ciph=ciphFn(key);if(ciph.start(msg.encryptedContent.parameter.copy()),ciph.update(msg.content),!ciph.finish())throw new Error("Symmetric encryption failed.");msg.encryptedContent.content=ciph.output}for(var i=0;i<msg.recipients.length;++i){var recipient=msg.recipients[i];if(void 0===recipient.encryptedContent.content){if(recipient.encryptedContent.algorithm!==forge.pki.oids.rsaEncryption)throw new Error("Unsupported asymmetric cipher, OID "+recipient.encryptedContent.algorithm);recipient.encryptedContent.content=recipient.encryptedContent.key.encrypt(msg.encryptedContent.key.data)}}}},msg},pkcs7.exports}var hasRequiredSsh,lib$3,hasRequiredLib$3,ssh={exports:{}};var libExports$2=function requireLib$3(){return hasRequiredLib$3||(hasRequiredLib$3=1,lib$3=requireForge(),requireAes(),requireAesCipherSuites(),requireAsn1(),requireCipher(),requireDes(),requireEd25519(),requireHmac(),function requireKem(){if(hasRequiredKem)return kem;hasRequiredKem=1;var forge=requireForge();requireUtil(),requireRandom(),requireJsbn(),kem=forge.kem=forge.kem||{};var BigInteger=forge.jsbn.BigInteger;function _createKDF(kdf,md,counterStart,digestLength){kdf.generate=function(x,length){for(var key=new forge.util.ByteBuffer,k=Math.ceil(length/digestLength)+counterStart,c=new forge.util.ByteBuffer,i=counterStart;i<k;++i){c.putInt32(i),md.start(),md.update(x+c.getBytes());var hash=md.digest();key.putBytes(hash.getBytes(digestLength))}return key.truncate(key.length()-length),key.getBytes()}}return forge.kem.rsa={},forge.kem.rsa.create=function(kdf,options){var prng=(options=options||{}).prng||forge.random;return{encrypt:function(publicKey,keyLength){var r,byteLength=Math.ceil(publicKey.n.bitLength()/8);do{r=new BigInteger(forge.util.bytesToHex(prng.getBytesSync(byteLength)),16).mod(publicKey.n)}while(r.compareTo(BigInteger.ONE)<=0);var zeros=byteLength-(r=forge.util.hexToBytes(r.toString(16))).length;return zeros>0&&(r=forge.util.fillString(String.fromCharCode(0),zeros)+r),{encapsulation:publicKey.encrypt(r,"NONE"),key:kdf.generate(r,keyLength)}},decrypt:function(privateKey,encapsulation,keyLength){var r=privateKey.decrypt(encapsulation,"NONE");return kdf.generate(r,keyLength)}}},forge.kem.kdf1=function(md,digestLength){_createKDF(this,md,0,digestLength||md.digestLength)},forge.kem.kdf2=function(md,digestLength){_createKDF(this,md,1,digestLength||md.digestLength)},kem}(),function requireLog(){if(hasRequiredLog)return log;hasRequiredLog=1;var forge=requireForge();requireUtil(),log=forge.log=forge.log||{},forge.log.levels=["none","error","warning","info","debug","verbose","max"];var sLevelInfo={},sLoggers=[],sConsoleLogger=null;forge.log.LEVEL_LOCKED=2,forge.log.NO_LEVEL_CHECK=4,forge.log.INTERPOLATE=8;for(var i=0;i<forge.log.levels.length;++i){var level=forge.log.levels[i];sLevelInfo[level]={index:i,name:level.toUpperCase()}}forge.log.logMessage=function(message){for(var messageLevelIndex=sLevelInfo[message.level].index,i=0;i<sLoggers.length;++i){var logger=sLoggers[i];logger.flags&forge.log.NO_LEVEL_CHECK?logger.f(message):messageLevelIndex<=sLevelInfo[logger.level].index&&logger.f(logger,message)}},forge.log.prepareStandard=function(message){"standard"in message||(message.standard=sLevelInfo[message.level].name+" ["+message.category+"] "+message.message)},forge.log.prepareFull=function(message){if(!("full"in message)){var args=[message.message];args=args.concat([]||message.arguments),message.full=forge.util.format.apply(this,args)}},forge.log.prepareStandardFull=function(message){"standardFull"in message||(forge.log.prepareStandard(message),message.standardFull=message.standard)};var levels=["error","warning","info","debug","verbose"];for(i=0;i<levels.length;++i)!function(level){forge.log[level]=function(category,message){var args=Array.prototype.slice.call(arguments).slice(2),msg={timestamp:new Date,level:level,category:category,message:message,arguments:args};forge.log.logMessage(msg)}}(levels[i]);if(forge.log.makeLogger=function(logFunction){var logger={flags:0,f:logFunction};return forge.log.setLevel(logger,"none"),logger},forge.log.setLevel=function(logger,level){var rval=!1;if(logger&&!(logger.flags&forge.log.LEVEL_LOCKED))for(var i=0;i<forge.log.levels.length;++i)if(level==forge.log.levels[i]){logger.level=level,rval=!0;break}return rval},forge.log.lock=function(logger,lock){void 0===lock||lock?logger.flags|=forge.log.LEVEL_LOCKED:logger.flags&=~forge.log.LEVEL_LOCKED},forge.log.addLogger=function(logger){sLoggers.push(logger)},"undefined"!=typeof console&&"log"in console){var logger;if(console.error&&console.warn&&console.info&&console.debug){var levelHandlers={error:console.error,warning:console.warn,info:console.info,debug:console.debug,verbose:console.debug},f=function(logger,message){forge.log.prepareStandard(message);var handler=levelHandlers[message.level],args=[message.standard];args=args.concat(message.arguments.slice()),handler.apply(console,args)};logger=forge.log.makeLogger(f)}else f=function(logger,message){forge.log.prepareStandardFull(message),console.log(message.standardFull)},logger=forge.log.makeLogger(f);forge.log.setLevel(logger,"debug"),forge.log.addLogger(logger),sConsoleLogger=logger}else console={log:function(){}};if(null!==sConsoleLogger&&"undefined"!=typeof window&&window.location){var query=new URL(window.location.href).searchParams;query.has("console.level")&&forge.log.setLevel(sConsoleLogger,query.get("console.level").slice(-1)[0]),query.has("console.lock")&&"true"==query.get("console.lock").slice(-1)[0]&&forge.log.lock(sConsoleLogger)}return forge.log.consoleLogger=sConsoleLogger,log}(),function requireMd_all(){return hasRequiredMd_all||(hasRequiredMd_all=1,md_all=requireMd(),requireMd5(),requireSha1$1(),requireSha256(),requireSha512()),md_all}(),requireMgf1(),requirePbkdf2(),requirePem(),requirePkcs1(),requirePkcs12(),requirePkcs7(),requirePki(),requirePrime(),requirePrng(),requirePss(),requireRandom(),requireRc2(),function requireSsh(){if(hasRequiredSsh)return ssh.exports;hasRequiredSsh=1;var forge=requireForge();requireAes(),requireHmac(),requireMd5(),requireSha1$1(),requireUtil();var ssh$1=ssh.exports=forge.ssh=forge.ssh||{};function _addBigIntegerToBuffer(buffer,val){var hexVal=val.toString(16);hexVal[0]>="8"&&(hexVal="00"+hexVal);var bytes=forge.util.hexToBytes(hexVal);buffer.putInt32(bytes.length),buffer.putBytes(bytes)}function _addStringToBuffer(buffer,val){buffer.putInt32(val.length),buffer.putString(val)}function _sha1(){for(var sha=forge.md.sha1.create(),num=arguments.length,i=0;i<num;++i)sha.update(arguments[i]);return sha.digest()}return ssh$1.privateKeyToPutty=function(privateKey,passphrase,comment){var encryptionAlgorithm=""===(passphrase=passphrase||"")?"none":"aes256-cbc",ppk="PuTTY-User-Key-File-2: ssh-rsa\r\n";ppk+="Encryption: "+encryptionAlgorithm+"\r\n",ppk+="Comment: "+(comment=comment||"")+"\r\n";var pubbuffer=forge.util.createBuffer();_addStringToBuffer(pubbuffer,"ssh-rsa"),_addBigIntegerToBuffer(pubbuffer,privateKey.e),_addBigIntegerToBuffer(pubbuffer,privateKey.n);var pub=forge.util.encode64(pubbuffer.bytes(),64),length=Math.floor(pub.length/66)+1;ppk+="Public-Lines: "+length+"\r\n",ppk+=pub;var priv,privbuffer=forge.util.createBuffer();if(_addBigIntegerToBuffer(privbuffer,privateKey.d),_addBigIntegerToBuffer(privbuffer,privateKey.p),_addBigIntegerToBuffer(privbuffer,privateKey.q),_addBigIntegerToBuffer(privbuffer,privateKey.qInv),passphrase){var encLen=privbuffer.length()+16-1;encLen-=encLen%16;var padding=_sha1(privbuffer.bytes());padding.truncate(padding.length()-encLen+privbuffer.length()),privbuffer.putBuffer(padding);var aeskey=forge.util.createBuffer();aeskey.putBuffer(_sha1("\0\0\0\0",passphrase)),aeskey.putBuffer(_sha1("\0\0\0",passphrase));var cipher=forge.aes.createEncryptionCipher(aeskey.truncate(8),"CBC");cipher.start(forge.util.createBuffer().fillWithByte(0,16)),cipher.update(privbuffer.copy()),cipher.finish();var encrypted=cipher.output;encrypted.truncate(16),priv=forge.util.encode64(encrypted.bytes(),64)}else priv=forge.util.encode64(privbuffer.bytes(),64);ppk+="\r\nPrivate-Lines: "+(length=Math.floor(priv.length/66)+1)+"\r\n",ppk+=priv;var mackey=_sha1("putty-private-key-file-mac-key",passphrase),macbuffer=forge.util.createBuffer();_addStringToBuffer(macbuffer,"ssh-rsa"),_addStringToBuffer(macbuffer,encryptionAlgorithm),_addStringToBuffer(macbuffer,comment),macbuffer.putInt32(pubbuffer.length()),macbuffer.putBuffer(pubbuffer),macbuffer.putInt32(privbuffer.length()),macbuffer.putBuffer(privbuffer);var hmac=forge.hmac.create();return hmac.start("sha1",mackey),hmac.update(macbuffer.bytes()),ppk+"\r\nPrivate-MAC: "+hmac.digest().toHex()+"\r\n"},ssh$1.publicKeyToOpenSSH=function(key,comment){comment=comment||"";var buffer=forge.util.createBuffer();return _addStringToBuffer(buffer,"ssh-rsa"),_addBigIntegerToBuffer(buffer,key.e),_addBigIntegerToBuffer(buffer,key.n),"ssh-rsa "+forge.util.encode64(buffer.bytes())+" "+comment},ssh$1.privateKeyToOpenSSH=function(privateKey,passphrase){return passphrase?forge.pki.encryptRsaPrivateKey(privateKey,passphrase,{legacy:!0,algorithm:"aes128"}):forge.pki.privateKeyToPem(privateKey)},ssh$1.getPublicKeyFingerprint=function(key,options){var md=(options=options||{}).md||forge.md.md5.create(),buffer=forge.util.createBuffer();_addStringToBuffer(buffer,"ssh-rsa"),_addBigIntegerToBuffer(buffer,key.e),_addBigIntegerToBuffer(buffer,key.n),md.start(),md.update(buffer.getBytes());var digest=md.digest();if("hex"===options.encoding){var hex=digest.toHex();return options.delimiter?hex.match(/.{2}/g).join(options.delimiter):hex}if("binary"===options.encoding)return digest.getBytes();if(options.encoding)throw new Error('Unknown encoding "'+options.encoding+'".');return digest},ssh.exports}(),requireTls(),requireUtil()),lib$3}(),forge=getDefaultExportFromCjs(libExports$2);function bind(fn,thisArg){return function wrap(){return fn.apply(thisArg,arguments)}}const{toString:toString}=Object.prototype,{getPrototypeOf:getPrototypeOf}=Object,kindOf=(cache=Object.create(null),thing=>{const str=toString.call(thing);return cache[str]||(cache[str]=str.slice(8,-1).toLowerCase())});var cache;const kindOfTest=type=>(type=type.toLowerCase(),thing=>kindOf(thing)===type),typeOfTest=type=>thing=>typeof thing===type,{isArray:isArray}=Array,isUndefined=typeOfTest("undefined");const isArrayBuffer=kindOfTest("ArrayBuffer");const isString=typeOfTest("string"),isFunction=typeOfTest("function"),isNumber=typeOfTest("number"),isObject=thing=>null!==thing&&"object"==typeof thing,isPlainObject=val=>{if("object"!==kindOf(val))return!1;const prototype=getPrototypeOf(val);return!(null!==prototype&&prototype!==Object.prototype&&null!==Object.getPrototypeOf(prototype)||Symbol.toStringTag in val||Symbol.iterator in val)},isDate=kindOfTest("Date"),isFile=kindOfTest("File"),isBlob=kindOfTest("Blob"),isFileList=kindOfTest("FileList"),isURLSearchParams=kindOfTest("URLSearchParams"),[isReadableStream,isRequest,isResponse,isHeaders]=["ReadableStream","Request","Response","Headers"].map(kindOfTest);function forEach(obj,fn,{allOwnKeys:allOwnKeys=!1}={}){if(null==obj)return;let i,l;if("object"!=typeof obj&&(obj=[obj]),isArray(obj))for(i=0,l=obj.length;i<l;i++)fn.call(null,obj[i],i,obj);else{const keys=allOwnKeys?Object.getOwnPropertyNames(obj):Object.keys(obj),len=keys.length;let key;for(i=0;i<len;i++)key=keys[i],fn.call(null,obj[key],key,obj)}}function findKey(obj,key){key=key.toLowerCase();const keys=Object.keys(obj);let _key,i=keys.length;for(;i-- >0;)if(_key=keys[i],key===_key.toLowerCase())return _key;return null}const _global="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:global,isContextDefined=context=>!isUndefined(context)&&context!==_global;const isTypedArray=(TypedArray="undefined"!=typeof Uint8Array&&getPrototypeOf(Uint8Array),thing=>TypedArray&&thing instanceof TypedArray);var TypedArray;const isHTMLForm=kindOfTest("HTMLFormElement"),hasOwnProperty=(({hasOwnProperty:hasOwnProperty})=>(obj,prop)=>hasOwnProperty.call(obj,prop))(Object.prototype),isRegExp=kindOfTest("RegExp"),reduceDescriptors=(obj,reducer)=>{const descriptors=Object.getOwnPropertyDescriptors(obj),reducedDescriptors={};forEach(descriptors,((descriptor,name)=>{let ret;!1!==(ret=reducer(descriptor,name,obj))&&(reducedDescriptors[name]=ret||descriptor)})),Object.defineProperties(obj,reducedDescriptors)},ALPHA="abcdefghijklmnopqrstuvwxyz",ALPHABET={DIGIT:"0123456789",ALPHA:ALPHA,ALPHA_DIGIT:ALPHA+ALPHA.toUpperCase()+"0123456789"};const isAsyncFn=kindOfTest("AsyncFunction"),_setImmediate=(setImmediateSupported="function"==typeof setImmediate,postMessageSupported=isFunction(_global.postMessage),setImmediateSupported?setImmediate:postMessageSupported?(token=`axios@${Math.random()}`,callbacks=[],_global.addEventListener("message",(({source:source,data:data})=>{source===_global&&data===token&&callbacks.length&&callbacks.shift()()}),!1),cb=>{callbacks.push(cb),_global.postMessage(token,"*")}):cb=>setTimeout(cb));var setImmediateSupported,postMessageSupported,token,callbacks;const asap="undefined"!=typeof queueMicrotask?queueMicrotask.bind(_global):"undefined"!=typeof process&&process.nextTick||_setImmediate;var utils$4={isArray:isArray,isArrayBuffer:isArrayBuffer,isBuffer:function isBuffer(val){return null!==val&&!isUndefined(val)&&null!==val.constructor&&!isUndefined(val.constructor)&&isFunction(val.constructor.isBuffer)&&val.constructor.isBuffer(val)},isFormData:thing=>{let kind;return thing&&("function"==typeof FormData&&thing instanceof FormData||isFunction(thing.append)&&("formdata"===(kind=kindOf(thing))||"object"===kind&&isFunction(thing.toString)&&"[object FormData]"===thing.toString()))},isArrayBufferView:function isArrayBufferView(val){let result;return result="undefined"!=typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer.isView(val):val&&val.buffer&&isArrayBuffer(val.buffer),result},isString:isString,isNumber:isNumber,isBoolean:thing=>!0===thing||!1===thing,isObject:isObject,isPlainObject:isPlainObject,isReadableStream:isReadableStream,isRequest:isRequest,isResponse:isResponse,isHeaders:isHeaders,isUndefined:isUndefined,isDate:isDate,isFile:isFile,isBlob:isBlob,isRegExp:isRegExp,isFunction:isFunction,isStream:val=>isObject(val)&&isFunction(val.pipe),isURLSearchParams:isURLSearchParams,isTypedArray:isTypedArray,isFileList:isFileList,forEach:forEach,merge:function merge(){const{caseless:caseless}=isContextDefined(this)&&this||{},result={},assignValue=(val,key)=>{const targetKey=caseless&&findKey(result,key)||key;isPlainObject(result[targetKey])&&isPlainObject(val)?result[targetKey]=merge(result[targetKey],val):isPlainObject(val)?result[targetKey]=merge({},val):isArray(val)?result[targetKey]=val.slice():result[targetKey]=val};for(let i=0,l=arguments.length;i<l;i++)arguments[i]&&forEach(arguments[i],assignValue);return result},extend:(a,b,thisArg,{allOwnKeys:allOwnKeys}={})=>(forEach(b,((val,key)=>{thisArg&&isFunction(val)?a[key]=bind(val,thisArg):a[key]=val}),{allOwnKeys:allOwnKeys}),a),trim:str=>str.trim?str.trim():str.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,""),stripBOM:content=>(65279===content.charCodeAt(0)&&(content=content.slice(1)),content),inherits:(constructor,superConstructor,props,descriptors)=>{constructor.prototype=Object.create(superConstructor.prototype,descriptors),constructor.prototype.constructor=constructor,Object.defineProperty(constructor,"super",{value:superConstructor.prototype}),props&&Object.assign(constructor.prototype,props)},toFlatObject:(sourceObj,destObj,filter,propFilter)=>{let props,i,prop;const merged={};if(destObj=destObj||{},null==sourceObj)return destObj;do{for(props=Object.getOwnPropertyNames(sourceObj),i=props.length;i-- >0;)prop=props[i],propFilter&&!propFilter(prop,sourceObj,destObj)||merged[prop]||(destObj[prop]=sourceObj[prop],merged[prop]=!0);sourceObj=!1!==filter&&getPrototypeOf(sourceObj)}while(sourceObj&&(!filter||filter(sourceObj,destObj))&&sourceObj!==Object.prototype);return destObj},kindOf:kindOf,kindOfTest:kindOfTest,endsWith:(str,searchString,position)=>{str=String(str),(void 0===position||position>str.length)&&(position=str.length),position-=searchString.length;const lastIndex=str.indexOf(searchString,position);return-1!==lastIndex&&lastIndex===position},toArray:thing=>{if(!thing)return null;if(isArray(thing))return thing;let i=thing.length;if(!isNumber(i))return null;const arr=new Array(i);for(;i-- >0;)arr[i]=thing[i];return arr},forEachEntry:(obj,fn)=>{const iterator=(obj&&obj[Symbol.iterator]).call(obj);let result;for(;(result=iterator.next())&&!result.done;){const pair=result.value;fn.call(obj,pair[0],pair[1])}},matchAll:(regExp,str)=>{let matches;const arr=[];for(;null!==(matches=regExp.exec(str));)arr.push(matches);return arr},isHTMLForm:isHTMLForm,hasOwnProperty:hasOwnProperty,hasOwnProp:hasOwnProperty,reduceDescriptors:reduceDescriptors,freezeMethods:obj=>{reduceDescriptors(obj,((descriptor,name)=>{if(isFunction(obj)&&-1!==["arguments","caller","callee"].indexOf(name))return!1;const value=obj[name];isFunction(value)&&(descriptor.enumerable=!1,"writable"in descriptor?descriptor.writable=!1:descriptor.set||(descriptor.set=()=>{throw Error("Can not rewrite read-only method '"+name+"'")}))}))},toObjectSet:(arrayOrString,delimiter)=>{const obj={},define=arr=>{arr.forEach((value=>{obj[value]=!0}))};return isArray(arrayOrString)?define(arrayOrString):define(String(arrayOrString).split(delimiter)),obj},toCamelCase:str=>str.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,(function replacer(m,p1,p2){return p1.toUpperCase()+p2})),noop:()=>{},toFiniteNumber:(value,defaultValue)=>null!=value&&Number.isFinite(value=+value)?value:defaultValue,findKey:findKey,global:_global,isContextDefined:isContextDefined,ALPHABET:ALPHABET,generateString:(size=16,alphabet=ALPHABET.ALPHA_DIGIT)=>{let str="";const{length:length}=alphabet;for(;size--;)str+=alphabet[Math.random()*length|0];return str},isSpecCompliantForm:function isSpecCompliantForm(thing){return!!(thing&&isFunction(thing.append)&&"FormData"===thing[Symbol.toStringTag]&&thing[Symbol.iterator])},toJSONObject:obj=>{const stack=new Array(10),visit=(source,i)=>{if(isObject(source)){if(stack.indexOf(source)>=0)return;if(!("toJSON"in source)){stack[i]=source;const target=isArray(source)?[]:{};return forEach(source,((value,key)=>{const reducedValue=visit(value,i+1);!isUndefined(reducedValue)&&(target[key]=reducedValue)})),stack[i]=void 0,target}}return source};return visit(obj,0)},isAsyncFn:isAsyncFn,isThenable:thing=>thing&&(isObject(thing)||isFunction(thing))&&isFunction(thing.then)&&isFunction(thing.catch),setImmediate:_setImmediate,asap:asap};function AxiosError(message,code,config,request,response){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=(new Error).stack,this.message=message,this.name="AxiosError",code&&(this.code=code),config&&(this.config=config),request&&(this.request=request),response&&(this.response=response,this.status=response.status?response.status:null)}utils$4.inherits(AxiosError,Error,{toJSON:function toJSON(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:utils$4.toJSONObject(this.config),code:this.code,status:this.status}}});const prototype$1=AxiosError.prototype,descriptors={};var delayed_stream,hasRequiredDelayed_stream,combined_stream,hasRequiredCombined_stream;function requireCombined_stream(){if(hasRequiredCombined_stream)return combined_stream;hasRequiredCombined_stream=1;var util=require$$0__default$3.default,Stream=require$$0__default$2.default.Stream,DelayedStream=function requireDelayed_stream(){if(hasRequiredDelayed_stream)return delayed_stream;hasRequiredDelayed_stream=1;var Stream=require$$0__default$2.default.Stream,util=require$$0__default$3.default;function DelayedStream(){this.source=null,this.dataSize=0,this.maxDataSize=1048576,this.pauseStream=!0,this._maxDataSizeExceeded=!1,this._released=!1,this._bufferedEvents=[]}return delayed_stream=DelayedStream,util.inherits(DelayedStream,Stream),DelayedStream.create=function(source,options){var delayedStream=new this;for(var option in options=options||{})delayedStream[option]=options[option];delayedStream.source=source;var realEmit=source.emit;return source.emit=function(){return delayedStream._handleEmit(arguments),realEmit.apply(source,arguments)},source.on("error",(function(){})),delayedStream.pauseStream&&source.pause(),delayedStream},Object.defineProperty(DelayedStream.prototype,"readable",{configurable:!0,enumerable:!0,get:function(){return this.source.readable}}),DelayedStream.prototype.setEncoding=function(){return this.source.setEncoding.apply(this.source,arguments)},DelayedStream.prototype.resume=function(){this._released||this.release(),this.source.resume()},DelayedStream.prototype.pause=function(){this.source.pause()},DelayedStream.prototype.release=function(){this._released=!0,this._bufferedEvents.forEach(function(args){this.emit.apply(this,args)}.bind(this)),this._bufferedEvents=[]},DelayedStream.prototype.pipe=function(){var r=Stream.prototype.pipe.apply(this,arguments);return this.resume(),r},DelayedStream.prototype._handleEmit=function(args){this._released?this.emit.apply(this,args):("data"===args[0]&&(this.dataSize+=args[1].length,this._checkIfMaxDataSizeExceeded()),this._bufferedEvents.push(args))},DelayedStream.prototype._checkIfMaxDataSizeExceeded=function(){if(!(this._maxDataSizeExceeded||this.dataSize<=this.maxDataSize)){this._maxDataSizeExceeded=!0;var message="DelayedStream#maxDataSize of "+this.maxDataSize+" bytes exceeded.";this.emit("error",new Error(message))}},delayed_stream}();function CombinedStream(){this.writable=!1,this.readable=!0,this.dataSize=0,this.maxDataSize=2097152,this.pauseStreams=!0,this._released=!1,this._streams=[],this._currentStream=null,this._insideLoop=!1,this._pendingNext=!1}return combined_stream=CombinedStream,util.inherits(CombinedStream,Stream),CombinedStream.create=function(options){var combinedStream=new this;for(var option in options=options||{})combinedStream[option]=options[option];return combinedStream},CombinedStream.isStreamLike=function(stream){return"function"!=typeof stream&&"string"!=typeof stream&&"boolean"!=typeof stream&&"number"!=typeof stream&&!Buffer.isBuffer(stream)},CombinedStream.prototype.append=function(stream){if(CombinedStream.isStreamLike(stream)){if(!(stream instanceof DelayedStream)){var newStream=DelayedStream.create(stream,{maxDataSize:1/0,pauseStream:this.pauseStreams});stream.on("data",this._checkDataSize.bind(this)),stream=newStream}this._handleErrors(stream),this.pauseStreams&&stream.pause()}return this._streams.push(stream),this},CombinedStream.prototype.pipe=function(dest,options){return Stream.prototype.pipe.call(this,dest,options),this.resume(),dest},CombinedStream.prototype._getNext=function(){if(this._currentStream=null,this._insideLoop)this._pendingNext=!0;else{this._insideLoop=!0;try{do{this._pendingNext=!1,this._realGetNext()}while(this._pendingNext)}finally{this._insideLoop=!1}}},CombinedStream.prototype._realGetNext=function(){var stream=this._streams.shift();void 0!==stream?"function"==typeof stream?stream(function(stream){CombinedStream.isStreamLike(stream)&&(stream.on("data",this._checkDataSize.bind(this)),this._handleErrors(stream)),this._pipeNext(stream)}.bind(this)):this._pipeNext(stream):this.end()},CombinedStream.prototype._pipeNext=function(stream){if(this._currentStream=stream,CombinedStream.isStreamLike(stream))return stream.on("end",this._getNext.bind(this)),void stream.pipe(this,{end:!1});var value=stream;this.write(value),this._getNext()},CombinedStream.prototype._handleErrors=function(stream){var self=this;stream.on("error",(function(err){self._emitError(err)}))},CombinedStream.prototype.write=function(data){this.emit("data",data)},CombinedStream.prototype.pause=function(){this.pauseStreams&&(this.pauseStreams&&this._currentStream&&"function"==typeof this._currentStream.pause&&this._currentStream.pause(),this.emit("pause"))},CombinedStream.prototype.resume=function(){this._released||(this._released=!0,this.writable=!0,this._getNext()),this.pauseStreams&&this._currentStream&&"function"==typeof this._currentStream.resume&&this._currentStream.resume(),this.emit("resume")},CombinedStream.prototype.end=function(){this._reset(),this.emit("end")},CombinedStream.prototype.destroy=function(){this._reset(),this.emit("close")},CombinedStream.prototype._reset=function(){this.writable=!1,this._streams=[],this._currentStream=null},CombinedStream.prototype._checkDataSize=function(){if(this._updateDataSize(),!(this.dataSize<=this.maxDataSize)){var message="DelayedStream#maxDataSize of "+this.maxDataSize+" bytes exceeded.";this._emitError(new Error(message))}},CombinedStream.prototype._updateDataSize=function(){this.dataSize=0;var self=this;this._streams.forEach((function(stream){stream.dataSize&&(self.dataSize+=stream.dataSize)})),this._currentStream&&this._currentStream.dataSize&&(this.dataSize+=this._currentStream.dataSize)},CombinedStream.prototype._emitError=function(err){this._reset(),this.emit("error",err)},combined_stream}["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach((code=>{descriptors[code]={value:code}})),Object.defineProperties(AxiosError,descriptors),Object.defineProperty(prototype$1,"isAxiosError",{value:!0}),AxiosError.from=(error,code,config,request,response,customProps)=>{const axiosError=Object.create(prototype$1);return utils$4.toFlatObject(error,axiosError,(function filter(obj){return obj!==Error.prototype}),(prop=>"isAxiosError"!==prop)),AxiosError.call(axiosError,error.message,code,config,request,response),axiosError.cause=error,axiosError.name=error.name,customProps&&Object.assign(axiosError,customProps),axiosError};var mimeDb,hasRequiredMimeDb,hasRequiredMimeTypes$1,defer_1,hasRequiredDefer,async_1,hasRequiredAsync,abort_1,hasRequiredAbort,iterate_1,hasRequiredIterate,state_1,hasRequiredState,terminator_1,hasRequiredTerminator,parallel_1,hasRequiredParallel,mimeTypes={},require$$0$1={"application/1d-interleaved-parityfec":{source:"iana"},"application/3gpdash-qoe-report+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/3gpp-ims+xml":{source:"iana",compressible:!0},"application/3gpphal+json":{source:"iana",compressible:!0},"application/3gpphalforms+json":{source:"iana",compressible:!0},"application/a2l":{source:"iana"},"application/ace+cbor":{source:"iana"},"application/activemessage":{source:"iana"},"application/activity+json":{source:"iana",compressible:!0},"application/alto-costmap+json":{source:"iana",compressible:!0},"application/alto-costmapfilter+json":{source:"iana",compressible:!0},"application/alto-directory+json":{source:"iana",compressible:!0},"application/alto-endpointcost+json":{source:"iana",compressible:!0},"application/alto-endpointcostparams+json":{source:"iana",compressible:!0},"application/alto-endpointprop+json":{source:"iana",compressible:!0},"application/alto-endpointpropparams+json":{source:"iana",compressible:!0},"application/alto-error+json":{source:"iana",compressible:!0},"application/alto-networkmap+json":{source:"iana",compressible:!0},"application/alto-networkmapfilter+json":{source:"iana",compressible:!0},"application/alto-updatestreamcontrol+json":{source:"iana",compressible:!0},"application/alto-updatestreamparams+json":{source:"iana",compressible:!0},"application/aml":{source:"iana"},"application/andrew-inset":{source:"iana",extensions:["ez"]},"application/applefile":{source:"iana"},"application/applixware":{source:"apache",extensions:["aw"]},"application/at+jwt":{source:"iana"},"application/atf":{source:"iana"},"application/atfx":{source:"iana"},"application/atom+xml":{source:"iana",compressible:!0,extensions:["atom"]},"application/atomcat+xml":{source:"iana",compressible:!0,extensions:["atomcat"]},"application/atomdeleted+xml":{source:"iana",compressible:!0,extensions:["atomdeleted"]},"application/atomicmail":{source:"iana"},"application/atomsvc+xml":{source:"iana",compressible:!0,extensions:["atomsvc"]},"application/atsc-dwd+xml":{source:"iana",compressible:!0,extensions:["dwd"]},"application/atsc-dynamic-event-message":{source:"iana"},"application/atsc-held+xml":{source:"iana",compressible:!0,extensions:["held"]},"application/atsc-rdt+json":{source:"iana",compressible:!0},"application/atsc-rsat+xml":{source:"iana",compressible:!0,extensions:["rsat"]},"application/atxml":{source:"iana"},"application/auth-policy+xml":{source:"iana",compressible:!0},"application/bacnet-xdd+zip":{source:"iana",compressible:!1},"application/batch-smtp":{source:"iana"},"application/bdoc":{compressible:!1,extensions:["bdoc"]},"application/beep+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/calendar+json":{source:"iana",compressible:!0},"application/calendar+xml":{source:"iana",compressible:!0,extensions:["xcs"]},"application/call-completion":{source:"iana"},"application/cals-1840":{source:"iana"},"application/captive+json":{source:"iana",compressible:!0},"application/cbor":{source:"iana"},"application/cbor-seq":{source:"iana"},"application/cccex":{source:"iana"},"application/ccmp+xml":{source:"iana",compressible:!0},"application/ccxml+xml":{source:"iana",compressible:!0,extensions:["ccxml"]},"application/cdfx+xml":{source:"iana",compressible:!0,extensions:["cdfx"]},"application/cdmi-capability":{source:"iana",extensions:["cdmia"]},"application/cdmi-container":{source:"iana",extensions:["cdmic"]},"application/cdmi-domain":{source:"iana",extensions:["cdmid"]},"application/cdmi-object":{source:"iana",extensions:["cdmio"]},"application/cdmi-queue":{source:"iana",extensions:["cdmiq"]},"application/cdni":{source:"iana"},"application/cea":{source:"iana"},"application/cea-2018+xml":{source:"iana",compressible:!0},"application/cellml+xml":{source:"iana",compressible:!0},"application/cfw":{source:"iana"},"application/city+json":{source:"iana",compressible:!0},"application/clr":{source:"iana"},"application/clue+xml":{source:"iana",compressible:!0},"application/clue_info+xml":{source:"iana",compressible:!0},"application/cms":{source:"iana"},"application/cnrp+xml":{source:"iana",compressible:!0},"application/coap-group+json":{source:"iana",compressible:!0},"application/coap-payload":{source:"iana"},"application/commonground":{source:"iana"},"application/conference-info+xml":{source:"iana",compressible:!0},"application/cose":{source:"iana"},"application/cose-key":{source:"iana"},"application/cose-key-set":{source:"iana"},"application/cpl+xml":{source:"iana",compressible:!0,extensions:["cpl"]},"application/csrattrs":{source:"iana"},"application/csta+xml":{source:"iana",compressible:!0},"application/cstadata+xml":{source:"iana",compressible:!0},"application/csvm+json":{source:"iana",compressible:!0},"application/cu-seeme":{source:"apache",extensions:["cu"]},"application/cwt":{source:"iana"},"application/cybercash":{source:"iana"},"application/dart":{compressible:!0},"application/dash+xml":{source:"iana",compressible:!0,extensions:["mpd"]},"application/dash-patch+xml":{source:"iana",compressible:!0,extensions:["mpp"]},"application/dashdelta":{source:"iana"},"application/davmount+xml":{source:"iana",compressible:!0,extensions:["davmount"]},"application/dca-rft":{source:"iana"},"application/dcd":{source:"iana"},"application/dec-dx":{source:"iana"},"application/dialog-info+xml":{source:"iana",compressible:!0},"application/dicom":{source:"iana"},"application/dicom+json":{source:"iana",compressible:!0},"application/dicom+xml":{source:"iana",compressible:!0},"application/dii":{source:"iana"},"application/dit":{source:"iana"},"application/dns":{source:"iana"},"application/dns+json":{source:"iana",compressible:!0},"application/dns-message":{source:"iana"},"application/docbook+xml":{source:"apache",compressible:!0,extensions:["dbk"]},"application/dots+cbor":{source:"iana"},"application/dskpp+xml":{source:"iana",compressible:!0},"application/dssc+der":{source:"iana",extensions:["dssc"]},"application/dssc+xml":{source:"iana",compressible:!0,extensions:["xdssc"]},"application/dvcs":{source:"iana"},"application/ecmascript":{source:"iana",compressible:!0,extensions:["es","ecma"]},"application/edi-consent":{source:"iana"},"application/edi-x12":{source:"iana",compressible:!1},"application/edifact":{source:"iana",compressible:!1},"application/efi":{source:"iana"},"application/elm+json":{source:"iana",charset:"UTF-8",compressible:!0},"application/elm+xml":{source:"iana",compressible:!0},"application/emergencycalldata.cap+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/emergencycalldata.comment+xml":{source:"iana",compressible:!0},"application/emergencycalldata.control+xml":{source:"iana",compressible:!0},"application/emergencycalldata.deviceinfo+xml":{source:"iana",compressible:!0},"application/emergencycalldata.ecall.msd":{source:"iana"},"application/emergencycalldata.providerinfo+xml":{source:"iana",compressible:!0},"application/emergencycalldata.serviceinfo+xml":{source:"iana",compressible:!0},"application/emergencycalldata.subscriberinfo+xml":{source:"iana",compressible:!0},"application/emergencycalldata.veds+xml":{source:"iana",compressible:!0},"application/emma+xml":{source:"iana",compressible:!0,extensions:["emma"]},"application/emotionml+xml":{source:"iana",compressible:!0,extensions:["emotionml"]},"application/encaprtp":{source:"iana"},"application/epp+xml":{source:"iana",compressible:!0},"application/epub+zip":{source:"iana",compressible:!1,extensions:["epub"]},"application/eshop":{source:"iana"},"application/exi":{source:"iana",extensions:["exi"]},"application/expect-ct-report+json":{source:"iana",compressible:!0},"application/express":{source:"iana",extensions:["exp"]},"application/fastinfoset":{source:"iana"},"application/fastsoap":{source:"iana"},"application/fdt+xml":{source:"iana",compressible:!0,extensions:["fdt"]},"application/fhir+json":{source:"iana",charset:"UTF-8",compressible:!0},"application/fhir+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/fido.trusted-apps+json":{compressible:!0},"application/fits":{source:"iana"},"application/flexfec":{source:"iana"},"application/font-sfnt":{source:"iana"},"application/font-tdpfr":{source:"iana",extensions:["pfr"]},"application/font-woff":{source:"iana",compressible:!1},"application/framework-attributes+xml":{source:"iana",compressible:!0},"application/geo+json":{source:"iana",compressible:!0,extensions:["geojson"]},"application/geo+json-seq":{source:"iana"},"application/geopackage+sqlite3":{source:"iana"},"application/geoxacml+xml":{source:"iana",compressible:!0},"application/gltf-buffer":{source:"iana"},"application/gml+xml":{source:"iana",compressible:!0,extensions:["gml"]},"application/gpx+xml":{source:"apache",compressible:!0,extensions:["gpx"]},"application/gxf":{source:"apache",extensions:["gxf"]},"application/gzip":{source:"iana",compressible:!1,extensions:["gz"]},"application/h224":{source:"iana"},"application/held+xml":{source:"iana",compressible:!0},"application/hjson":{extensions:["hjson"]},"application/http":{source:"iana"},"application/hyperstudio":{source:"iana",extensions:["stk"]},"application/ibe-key-request+xml":{source:"iana",compressible:!0},"application/ibe-pkg-reply+xml":{source:"iana",compressible:!0},"application/ibe-pp-data":{source:"iana"},"application/iges":{source:"iana"},"application/im-iscomposing+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/index":{source:"iana"},"application/index.cmd":{source:"iana"},"application/index.obj":{source:"iana"},"application/index.response":{source:"iana"},"application/index.vnd":{source:"iana"},"application/inkml+xml":{source:"iana",compressible:!0,extensions:["ink","inkml"]},"application/iotp":{source:"iana"},"application/ipfix":{source:"iana",extensions:["ipfix"]},"application/ipp":{source:"iana"},"application/isup":{source:"iana"},"application/its+xml":{source:"iana",compressible:!0,extensions:["its"]},"application/java-archive":{source:"apache",compressible:!1,extensions:["jar","war","ear"]},"application/java-serialized-object":{source:"apache",compressible:!1,extensions:["ser"]},"application/java-vm":{source:"apache",compressible:!1,extensions:["class"]},"application/javascript":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["js","mjs"]},"application/jf2feed+json":{source:"iana",compressible:!0},"application/jose":{source:"iana"},"application/jose+json":{source:"iana",compressible:!0},"application/jrd+json":{source:"iana",compressible:!0},"application/jscalendar+json":{source:"iana",compressible:!0},"application/json":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["json","map"]},"application/json-patch+json":{source:"iana",compressible:!0},"application/json-seq":{source:"iana"},"application/json5":{extensions:["json5"]},"application/jsonml+json":{source:"apache",compressible:!0,extensions:["jsonml"]},"application/jwk+json":{source:"iana",compressible:!0},"application/jwk-set+json":{source:"iana",compressible:!0},"application/jwt":{source:"iana"},"application/kpml-request+xml":{source:"iana",compressible:!0},"application/kpml-response+xml":{source:"iana",compressible:!0},"application/ld+json":{source:"iana",compressible:!0,extensions:["jsonld"]},"application/lgr+xml":{source:"iana",compressible:!0,extensions:["lgr"]},"application/link-format":{source:"iana"},"application/load-control+xml":{source:"iana",compressible:!0},"application/lost+xml":{source:"iana",compressible:!0,extensions:["lostxml"]},"application/lostsync+xml":{source:"iana",compressible:!0},"application/lpf+zip":{source:"iana",compressible:!1},"application/lxf":{source:"iana"},"application/mac-binhex40":{source:"iana",extensions:["hqx"]},"application/mac-compactpro":{source:"apache",extensions:["cpt"]},"application/macwriteii":{source:"iana"},"application/mads+xml":{source:"iana",compressible:!0,extensions:["mads"]},"application/manifest+json":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["webmanifest"]},"application/marc":{source:"iana",extensions:["mrc"]},"application/marcxml+xml":{source:"iana",compressible:!0,extensions:["mrcx"]},"application/mathematica":{source:"iana",extensions:["ma","nb","mb"]},"application/mathml+xml":{source:"iana",compressible:!0,extensions:["mathml"]},"application/mathml-content+xml":{source:"iana",compressible:!0},"application/mathml-presentation+xml":{source:"iana",compressible:!0},"application/mbms-associated-procedure-description+xml":{source:"iana",compressible:!0},"application/mbms-deregister+xml":{source:"iana",compressible:!0},"application/mbms-envelope+xml":{source:"iana",compressible:!0},"application/mbms-msk+xml":{source:"iana",compressible:!0},"application/mbms-msk-response+xml":{source:"iana",compressible:!0},"application/mbms-protection-description+xml":{source:"iana",compressible:!0},"application/mbms-reception-report+xml":{source:"iana",compressible:!0},"application/mbms-register+xml":{source:"iana",compressible:!0},"application/mbms-register-response+xml":{source:"iana",compressible:!0},"application/mbms-schedule+xml":{source:"iana",compressible:!0},"application/mbms-user-service-description+xml":{source:"iana",compressible:!0},"application/mbox":{source:"iana",extensions:["mbox"]},"application/media-policy-dataset+xml":{source:"iana",compressible:!0,extensions:["mpf"]},"application/media_control+xml":{source:"iana",compressible:!0},"application/mediaservercontrol+xml":{source:"iana",compressible:!0,extensions:["mscml"]},"application/merge-patch+json":{source:"iana",compressible:!0},"application/metalink+xml":{source:"apache",compressible:!0,extensions:["metalink"]},"application/metalink4+xml":{source:"iana",compressible:!0,extensions:["meta4"]},"application/mets+xml":{source:"iana",compressible:!0,extensions:["mets"]},"application/mf4":{source:"iana"},"application/mikey":{source:"iana"},"application/mipc":{source:"iana"},"application/missing-blocks+cbor-seq":{source:"iana"},"application/mmt-aei+xml":{source:"iana",compressible:!0,extensions:["maei"]},"application/mmt-usd+xml":{source:"iana",compressible:!0,extensions:["musd"]},"application/mods+xml":{source:"iana",compressible:!0,extensions:["mods"]},"application/moss-keys":{source:"iana"},"application/moss-signature":{source:"iana"},"application/mosskey-data":{source:"iana"},"application/mosskey-request":{source:"iana"},"application/mp21":{source:"iana",extensions:["m21","mp21"]},"application/mp4":{source:"iana",extensions:["mp4s","m4p"]},"application/mpeg4-generic":{source:"iana"},"application/mpeg4-iod":{source:"iana"},"application/mpeg4-iod-xmt":{source:"iana"},"application/mrb-consumer+xml":{source:"iana",compressible:!0},"application/mrb-publish+xml":{source:"iana",compressible:!0},"application/msc-ivr+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/msc-mixer+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/msword":{source:"iana",compressible:!1,extensions:["doc","dot"]},"application/mud+json":{source:"iana",compressible:!0},"application/multipart-core":{source:"iana"},"application/mxf":{source:"iana",extensions:["mxf"]},"application/n-quads":{source:"iana",extensions:["nq"]},"application/n-triples":{source:"iana",extensions:["nt"]},"application/nasdata":{source:"iana"},"application/news-checkgroups":{source:"iana",charset:"US-ASCII"},"application/news-groupinfo":{source:"iana",charset:"US-ASCII"},"application/news-transmission":{source:"iana"},"application/nlsml+xml":{source:"iana",compressible:!0},"application/node":{source:"iana",extensions:["cjs"]},"application/nss":{source:"iana"},"application/oauth-authz-req+jwt":{source:"iana"},"application/oblivious-dns-message":{source:"iana"},"application/ocsp-request":{source:"iana"},"application/ocsp-response":{source:"iana"},"application/octet-stream":{source:"iana",compressible:!1,extensions:["bin","dms","lrf","mar","so","dist","distz","pkg","bpk","dump","elc","deploy","exe","dll","deb","dmg","iso","img","msi","msp","msm","buffer"]},"application/oda":{source:"iana",extensions:["oda"]},"application/odm+xml":{source:"iana",compressible:!0},"application/odx":{source:"iana"},"application/oebps-package+xml":{source:"iana",compressible:!0,extensions:["opf"]},"application/ogg":{source:"iana",compressible:!1,extensions:["ogx"]},"application/omdoc+xml":{source:"apache",compressible:!0,extensions:["omdoc"]},"application/onenote":{source:"apache",extensions:["onetoc","onetoc2","onetmp","onepkg"]},"application/opc-nodeset+xml":{source:"iana",compressible:!0},"application/oscore":{source:"iana"},"application/oxps":{source:"iana",extensions:["oxps"]},"application/p21":{source:"iana"},"application/p21+zip":{source:"iana",compressible:!1},"application/p2p-overlay+xml":{source:"iana",compressible:!0,extensions:["relo"]},"application/parityfec":{source:"iana"},"application/passport":{source:"iana"},"application/patch-ops-error+xml":{source:"iana",compressible:!0,extensions:["xer"]},"application/pdf":{source:"iana",compressible:!1,extensions:["pdf"]},"application/pdx":{source:"iana"},"application/pem-certificate-chain":{source:"iana"},"application/pgp-encrypted":{source:"iana",compressible:!1,extensions:["pgp"]},"application/pgp-keys":{source:"iana",extensions:["asc"]},"application/pgp-signature":{source:"iana",extensions:["asc","sig"]},"application/pics-rules":{source:"apache",extensions:["prf"]},"application/pidf+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/pidf-diff+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/pkcs10":{source:"iana",extensions:["p10"]},"application/pkcs12":{source:"iana"},"application/pkcs7-mime":{source:"iana",extensions:["p7m","p7c"]},"application/pkcs7-signature":{source:"iana",extensions:["p7s"]},"application/pkcs8":{source:"iana",extensions:["p8"]},"application/pkcs8-encrypted":{source:"iana"},"application/pkix-attr-cert":{source:"iana",extensions:["ac"]},"application/pkix-cert":{source:"iana",extensions:["cer"]},"application/pkix-crl":{source:"iana",extensions:["crl"]},"application/pkix-pkipath":{source:"iana",extensions:["pkipath"]},"application/pkixcmp":{source:"iana",extensions:["pki"]},"application/pls+xml":{source:"iana",compressible:!0,extensions:["pls"]},"application/poc-settings+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/postscript":{source:"iana",compressible:!0,extensions:["ai","eps","ps"]},"application/ppsp-tracker+json":{source:"iana",compressible:!0},"application/problem+json":{source:"iana",compressible:!0},"application/problem+xml":{source:"iana",compressible:!0},"application/provenance+xml":{source:"iana",compressible:!0,extensions:["provx"]},"application/prs.alvestrand.titrax-sheet":{source:"iana"},"application/prs.cww":{source:"iana",extensions:["cww"]},"application/prs.cyn":{source:"iana",charset:"7-BIT"},"application/prs.hpub+zip":{source:"iana",compressible:!1},"application/prs.nprend":{source:"iana"},"application/prs.plucker":{source:"iana"},"application/prs.rdf-xml-crypt":{source:"iana"},"application/prs.xsf+xml":{source:"iana",compressible:!0},"application/pskc+xml":{source:"iana",compressible:!0,extensions:["pskcxml"]},"application/pvd+json":{source:"iana",compressible:!0},"application/qsig":{source:"iana"},"application/raml+yaml":{compressible:!0,extensions:["raml"]},"application/raptorfec":{source:"iana"},"application/rdap+json":{source:"iana",compressible:!0},"application/rdf+xml":{source:"iana",compressible:!0,extensions:["rdf","owl"]},"application/reginfo+xml":{source:"iana",compressible:!0,extensions:["rif"]},"application/relax-ng-compact-syntax":{source:"iana",extensions:["rnc"]},"application/remote-printing":{source:"iana"},"application/reputon+json":{source:"iana",compressible:!0},"application/resource-lists+xml":{source:"iana",compressible:!0,extensions:["rl"]},"application/resource-lists-diff+xml":{source:"iana",compressible:!0,extensions:["rld"]},"application/rfc+xml":{source:"iana",compressible:!0},"application/riscos":{source:"iana"},"application/rlmi+xml":{source:"iana",compressible:!0},"application/rls-services+xml":{source:"iana",compressible:!0,extensions:["rs"]},"application/route-apd+xml":{source:"iana",compressible:!0,extensions:["rapd"]},"application/route-s-tsid+xml":{source:"iana",compressible:!0,extensions:["sls"]},"application/route-usd+xml":{source:"iana",compressible:!0,extensions:["rusd"]},"application/rpki-ghostbusters":{source:"iana",extensions:["gbr"]},"application/rpki-manifest":{source:"iana",extensions:["mft"]},"application/rpki-publication":{source:"iana"},"application/rpki-roa":{source:"iana",extensions:["roa"]},"application/rpki-updown":{source:"iana"},"application/rsd+xml":{source:"apache",compressible:!0,extensions:["rsd"]},"application/rss+xml":{source:"apache",compressible:!0,extensions:["rss"]},"application/rtf":{source:"iana",compressible:!0,extensions:["rtf"]},"application/rtploopback":{source:"iana"},"application/rtx":{source:"iana"},"application/samlassertion+xml":{source:"iana",compressible:!0},"application/samlmetadata+xml":{source:"iana",compressible:!0},"application/sarif+json":{source:"iana",compressible:!0},"application/sarif-external-properties+json":{source:"iana",compressible:!0},"application/sbe":{source:"iana"},"application/sbml+xml":{source:"iana",compressible:!0,extensions:["sbml"]},"application/scaip+xml":{source:"iana",compressible:!0},"application/scim+json":{source:"iana",compressible:!0},"application/scvp-cv-request":{source:"iana",extensions:["scq"]},"application/scvp-cv-response":{source:"iana",extensions:["scs"]},"application/scvp-vp-request":{source:"iana",extensions:["spq"]},"application/scvp-vp-response":{source:"iana",extensions:["spp"]},"application/sdp":{source:"iana",extensions:["sdp"]},"application/secevent+jwt":{source:"iana"},"application/senml+cbor":{source:"iana"},"application/senml+json":{source:"iana",compressible:!0},"application/senml+xml":{source:"iana",compressible:!0,extensions:["senmlx"]},"application/senml-etch+cbor":{source:"iana"},"application/senml-etch+json":{source:"iana",compressible:!0},"application/senml-exi":{source:"iana"},"application/sensml+cbor":{source:"iana"},"application/sensml+json":{source:"iana",compressible:!0},"application/sensml+xml":{source:"iana",compressible:!0,extensions:["sensmlx"]},"application/sensml-exi":{source:"iana"},"application/sep+xml":{source:"iana",compressible:!0},"application/sep-exi":{source:"iana"},"application/session-info":{source:"iana"},"application/set-payment":{source:"iana"},"application/set-payment-initiation":{source:"iana",extensions:["setpay"]},"application/set-registration":{source:"iana"},"application/set-registration-initiation":{source:"iana",extensions:["setreg"]},"application/sgml":{source:"iana"},"application/sgml-open-catalog":{source:"iana"},"application/shf+xml":{source:"iana",compressible:!0,extensions:["shf"]},"application/sieve":{source:"iana",extensions:["siv","sieve"]},"application/simple-filter+xml":{source:"iana",compressible:!0},"application/simple-message-summary":{source:"iana"},"application/simplesymbolcontainer":{source:"iana"},"application/sipc":{source:"iana"},"application/slate":{source:"iana"},"application/smil":{source:"iana"},"application/smil+xml":{source:"iana",compressible:!0,extensions:["smi","smil"]},"application/smpte336m":{source:"iana"},"application/soap+fastinfoset":{source:"iana"},"application/soap+xml":{source:"iana",compressible:!0},"application/sparql-query":{source:"iana",extensions:["rq"]},"application/sparql-results+xml":{source:"iana",compressible:!0,extensions:["srx"]},"application/spdx+json":{source:"iana",compressible:!0},"application/spirits-event+xml":{source:"iana",compressible:!0},"application/sql":{source:"iana"},"application/srgs":{source:"iana",extensions:["gram"]},"application/srgs+xml":{source:"iana",compressible:!0,extensions:["grxml"]},"application/sru+xml":{source:"iana",compressible:!0,extensions:["sru"]},"application/ssdl+xml":{source:"apache",compressible:!0,extensions:["ssdl"]},"application/ssml+xml":{source:"iana",compressible:!0,extensions:["ssml"]},"application/stix+json":{source:"iana",compressible:!0},"application/swid+xml":{source:"iana",compressible:!0,extensions:["swidtag"]},"application/tamp-apex-update":{source:"iana"},"application/tamp-apex-update-confirm":{source:"iana"},"application/tamp-community-update":{source:"iana"},"application/tamp-community-update-confirm":{source:"iana"},"application/tamp-error":{source:"iana"},"application/tamp-sequence-adjust":{source:"iana"},"application/tamp-sequence-adjust-confirm":{source:"iana"},"application/tamp-status-query":{source:"iana"},"application/tamp-status-response":{source:"iana"},"application/tamp-update":{source:"iana"},"application/tamp-update-confirm":{source:"iana"},"application/tar":{compressible:!0},"application/taxii+json":{source:"iana",compressible:!0},"application/td+json":{source:"iana",compressible:!0},"application/tei+xml":{source:"iana",compressible:!0,extensions:["tei","teicorpus"]},"application/tetra_isi":{source:"iana"},"application/thraud+xml":{source:"iana",compressible:!0,extensions:["tfi"]},"application/timestamp-query":{source:"iana"},"application/timestamp-reply":{source:"iana"},"application/timestamped-data":{source:"iana",extensions:["tsd"]},"application/tlsrpt+gzip":{source:"iana"},"application/tlsrpt+json":{source:"iana",compressible:!0},"application/tnauthlist":{source:"iana"},"application/token-introspection+jwt":{source:"iana"},"application/toml":{compressible:!0,extensions:["toml"]},"application/trickle-ice-sdpfrag":{source:"iana"},"application/trig":{source:"iana",extensions:["trig"]},"application/ttml+xml":{source:"iana",compressible:!0,extensions:["ttml"]},"application/tve-trigger":{source:"iana"},"application/tzif":{source:"iana"},"application/tzif-leap":{source:"iana"},"application/ubjson":{compressible:!1,extensions:["ubj"]},"application/ulpfec":{source:"iana"},"application/urc-grpsheet+xml":{source:"iana",compressible:!0},"application/urc-ressheet+xml":{source:"iana",compressible:!0,extensions:["rsheet"]},"application/urc-targetdesc+xml":{source:"iana",compressible:!0,extensions:["td"]},"application/urc-uisocketdesc+xml":{source:"iana",compressible:!0},"application/vcard+json":{source:"iana",compressible:!0},"application/vcard+xml":{source:"iana",compressible:!0},"application/vemmi":{source:"iana"},"application/vividence.scriptfile":{source:"apache"},"application/vnd.1000minds.decision-model+xml":{source:"iana",compressible:!0,extensions:["1km"]},"application/vnd.3gpp-prose+xml":{source:"iana",compressible:!0},"application/vnd.3gpp-prose-pc3ch+xml":{source:"iana",compressible:!0},"application/vnd.3gpp-v2x-local-service-information":{source:"iana"},"application/vnd.3gpp.5gnas":{source:"iana"},"application/vnd.3gpp.access-transfer-events+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.bsf+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.gmop+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.gtpc":{source:"iana"},"application/vnd.3gpp.interworking-data":{source:"iana"},"application/vnd.3gpp.lpp":{source:"iana"},"application/vnd.3gpp.mc-signalling-ear":{source:"iana"},"application/vnd.3gpp.mcdata-affiliation-command+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcdata-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcdata-payload":{source:"iana"},"application/vnd.3gpp.mcdata-service-config+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcdata-signalling":{source:"iana"},"application/vnd.3gpp.mcdata-ue-config+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcdata-user-profile+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-affiliation-command+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-floor-request+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-location-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-mbms-usage-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-service-config+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-signed+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-ue-config+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-ue-init-config+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-user-profile+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-affiliation-command+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-affiliation-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-location-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-mbms-usage-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-service-config+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-transmission-request+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-ue-config+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-user-profile+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mid-call+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.ngap":{source:"iana"},"application/vnd.3gpp.pfcp":{source:"iana"},"application/vnd.3gpp.pic-bw-large":{source:"iana",extensions:["plb"]},"application/vnd.3gpp.pic-bw-small":{source:"iana",extensions:["psb"]},"application/vnd.3gpp.pic-bw-var":{source:"iana",extensions:["pvb"]},"application/vnd.3gpp.s1ap":{source:"iana"},"application/vnd.3gpp.sms":{source:"iana"},"application/vnd.3gpp.sms+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.srvcc-ext+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.srvcc-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.state-and-event-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.ussd+xml":{source:"iana",compressible:!0},"application/vnd.3gpp2.bcmcsinfo+xml":{source:"iana",compressible:!0},"application/vnd.3gpp2.sms":{source:"iana"},"application/vnd.3gpp2.tcap":{source:"iana",extensions:["tcap"]},"application/vnd.3lightssoftware.imagescal":{source:"iana"},"application/vnd.3m.post-it-notes":{source:"iana",extensions:["pwn"]},"application/vnd.accpac.simply.aso":{source:"iana",extensions:["aso"]},"application/vnd.accpac.simply.imp":{source:"iana",extensions:["imp"]},"application/vnd.acucobol":{source:"iana",extensions:["acu"]},"application/vnd.acucorp":{source:"iana",extensions:["atc","acutc"]},"application/vnd.adobe.air-application-installer-package+zip":{source:"apache",compressible:!1,extensions:["air"]},"application/vnd.adobe.flash.movie":{source:"iana"},"application/vnd.adobe.formscentral.fcdt":{source:"iana",extensions:["fcdt"]},"application/vnd.adobe.fxp":{source:"iana",extensions:["fxp","fxpl"]},"application/vnd.adobe.partial-upload":{source:"iana"},"application/vnd.adobe.xdp+xml":{source:"iana",compressible:!0,extensions:["xdp"]},"application/vnd.adobe.xfdf":{source:"iana",extensions:["xfdf"]},"application/vnd.aether.imp":{source:"iana"},"application/vnd.afpc.afplinedata":{source:"iana"},"application/vnd.afpc.afplinedata-pagedef":{source:"iana"},"application/vnd.afpc.cmoca-cmresource":{source:"iana"},"application/vnd.afpc.foca-charset":{source:"iana"},"application/vnd.afpc.foca-codedfont":{source:"iana"},"application/vnd.afpc.foca-codepage":{source:"iana"},"application/vnd.afpc.modca":{source:"iana"},"application/vnd.afpc.modca-cmtable":{source:"iana"},"application/vnd.afpc.modca-formdef":{source:"iana"},"application/vnd.afpc.modca-mediummap":{source:"iana"},"application/vnd.afpc.modca-objectcontainer":{source:"iana"},"application/vnd.afpc.modca-overlay":{source:"iana"},"application/vnd.afpc.modca-pagesegment":{source:"iana"},"application/vnd.age":{source:"iana",extensions:["age"]},"application/vnd.ah-barcode":{source:"iana"},"application/vnd.ahead.space":{source:"iana",extensions:["ahead"]},"application/vnd.airzip.filesecure.azf":{source:"iana",extensions:["azf"]},"application/vnd.airzip.filesecure.azs":{source:"iana",extensions:["azs"]},"application/vnd.amadeus+json":{source:"iana",compressible:!0},"application/vnd.amazon.ebook":{source:"apache",extensions:["azw"]},"application/vnd.amazon.mobi8-ebook":{source:"iana"},"application/vnd.americandynamics.acc":{source:"iana",extensions:["acc"]},"application/vnd.amiga.ami":{source:"iana",extensions:["ami"]},"application/vnd.amundsen.maze+xml":{source:"iana",compressible:!0},"application/vnd.android.ota":{source:"iana"},"application/vnd.android.package-archive":{source:"apache",compressible:!1,extensions:["apk"]},"application/vnd.anki":{source:"iana"},"application/vnd.anser-web-certificate-issue-initiation":{source:"iana",extensions:["cii"]},"application/vnd.anser-web-funds-transfer-initiation":{source:"apache",extensions:["fti"]},"application/vnd.antix.game-component":{source:"iana",extensions:["atx"]},"application/vnd.apache.arrow.file":{source:"iana"},"application/vnd.apache.arrow.stream":{source:"iana"},"application/vnd.apache.thrift.binary":{source:"iana"},"application/vnd.apache.thrift.compact":{source:"iana"},"application/vnd.apache.thrift.json":{source:"iana"},"application/vnd.api+json":{source:"iana",compressible:!0},"application/vnd.aplextor.warrp+json":{source:"iana",compressible:!0},"application/vnd.apothekende.reservation+json":{source:"iana",compressible:!0},"application/vnd.apple.installer+xml":{source:"iana",compressible:!0,extensions:["mpkg"]},"application/vnd.apple.keynote":{source:"iana",extensions:["key"]},"application/vnd.apple.mpegurl":{source:"iana",extensions:["m3u8"]},"application/vnd.apple.numbers":{source:"iana",extensions:["numbers"]},"application/vnd.apple.pages":{source:"iana",extensions:["pages"]},"application/vnd.apple.pkpass":{compressible:!1,extensions:["pkpass"]},"application/vnd.arastra.swi":{source:"iana"},"application/vnd.aristanetworks.swi":{source:"iana",extensions:["swi"]},"application/vnd.artisan+json":{source:"iana",compressible:!0},"application/vnd.artsquare":{source:"iana"},"application/vnd.astraea-software.iota":{source:"iana",extensions:["iota"]},"application/vnd.audiograph":{source:"iana",extensions:["aep"]},"application/vnd.autopackage":{source:"iana"},"application/vnd.avalon+json":{source:"iana",compressible:!0},"application/vnd.avistar+xml":{source:"iana",compressible:!0},"application/vnd.balsamiq.bmml+xml":{source:"iana",compressible:!0,extensions:["bmml"]},"application/vnd.balsamiq.bmpr":{source:"iana"},"application/vnd.banana-accounting":{source:"iana"},"application/vnd.bbf.usp.error":{source:"iana"},"application/vnd.bbf.usp.msg":{source:"iana"},"application/vnd.bbf.usp.msg+json":{source:"iana",compressible:!0},"application/vnd.bekitzur-stech+json":{source:"iana",compressible:!0},"application/vnd.bint.med-content":{source:"iana"},"application/vnd.biopax.rdf+xml":{source:"iana",compressible:!0},"application/vnd.blink-idb-value-wrapper":{source:"iana"},"application/vnd.blueice.multipass":{source:"iana",extensions:["mpm"]},"application/vnd.bluetooth.ep.oob":{source:"iana"},"application/vnd.bluetooth.le.oob":{source:"iana"},"application/vnd.bmi":{source:"iana",extensions:["bmi"]},"application/vnd.bpf":{source:"iana"},"application/vnd.bpf3":{source:"iana"},"application/vnd.businessobjects":{source:"iana",extensions:["rep"]},"application/vnd.byu.uapi+json":{source:"iana",compressible:!0},"application/vnd.cab-jscript":{source:"iana"},"application/vnd.canon-cpdl":{source:"iana"},"application/vnd.canon-lips":{source:"iana"},"application/vnd.capasystems-pg+json":{source:"iana",compressible:!0},"application/vnd.cendio.thinlinc.clientconf":{source:"iana"},"application/vnd.century-systems.tcp_stream":{source:"iana"},"application/vnd.chemdraw+xml":{source:"iana",compressible:!0,extensions:["cdxml"]},"application/vnd.chess-pgn":{source:"iana"},"application/vnd.chipnuts.karaoke-mmd":{source:"iana",extensions:["mmd"]},"application/vnd.ciedi":{source:"iana"},"application/vnd.cinderella":{source:"iana",extensions:["cdy"]},"application/vnd.cirpack.isdn-ext":{source:"iana"},"application/vnd.citationstyles.style+xml":{source:"iana",compressible:!0,extensions:["csl"]},"application/vnd.claymore":{source:"iana",extensions:["cla"]},"application/vnd.cloanto.rp9":{source:"iana",extensions:["rp9"]},"application/vnd.clonk.c4group":{source:"iana",extensions:["c4g","c4d","c4f","c4p","c4u"]},"application/vnd.cluetrust.cartomobile-config":{source:"iana",extensions:["c11amc"]},"application/vnd.cluetrust.cartomobile-config-pkg":{source:"iana",extensions:["c11amz"]},"application/vnd.coffeescript":{source:"iana"},"application/vnd.collabio.xodocuments.document":{source:"iana"},"application/vnd.collabio.xodocuments.document-template":{source:"iana"},"application/vnd.collabio.xodocuments.presentation":{source:"iana"},"application/vnd.collabio.xodocuments.presentation-template":{source:"iana"},"application/vnd.collabio.xodocuments.spreadsheet":{source:"iana"},"application/vnd.collabio.xodocuments.spreadsheet-template":{source:"iana"},"application/vnd.collection+json":{source:"iana",compressible:!0},"application/vnd.collection.doc+json":{source:"iana",compressible:!0},"application/vnd.collection.next+json":{source:"iana",compressible:!0},"application/vnd.comicbook+zip":{source:"iana",compressible:!1},"application/vnd.comicbook-rar":{source:"iana"},"application/vnd.commerce-battelle":{source:"iana"},"application/vnd.commonspace":{source:"iana",extensions:["csp"]},"application/vnd.contact.cmsg":{source:"iana",extensions:["cdbcmsg"]},"application/vnd.coreos.ignition+json":{source:"iana",compressible:!0},"application/vnd.cosmocaller":{source:"iana",extensions:["cmc"]},"application/vnd.crick.clicker":{source:"iana",extensions:["clkx"]},"application/vnd.crick.clicker.keyboard":{source:"iana",extensions:["clkk"]},"application/vnd.crick.clicker.palette":{source:"iana",extensions:["clkp"]},"application/vnd.crick.clicker.template":{source:"iana",extensions:["clkt"]},"application/vnd.crick.clicker.wordbank":{source:"iana",extensions:["clkw"]},"application/vnd.criticaltools.wbs+xml":{source:"iana",compressible:!0,extensions:["wbs"]},"application/vnd.cryptii.pipe+json":{source:"iana",compressible:!0},"application/vnd.crypto-shade-file":{source:"iana"},"application/vnd.cryptomator.encrypted":{source:"iana"},"application/vnd.cryptomator.vault":{source:"iana"},"application/vnd.ctc-posml":{source:"iana",extensions:["pml"]},"application/vnd.ctct.ws+xml":{source:"iana",compressible:!0},"application/vnd.cups-pdf":{source:"iana"},"application/vnd.cups-postscript":{source:"iana"},"application/vnd.cups-ppd":{source:"iana",extensions:["ppd"]},"application/vnd.cups-raster":{source:"iana"},"application/vnd.cups-raw":{source:"iana"},"application/vnd.curl":{source:"iana"},"application/vnd.curl.car":{source:"apache",extensions:["car"]},"application/vnd.curl.pcurl":{source:"apache",extensions:["pcurl"]},"application/vnd.cyan.dean.root+xml":{source:"iana",compressible:!0},"application/vnd.cybank":{source:"iana"},"application/vnd.cyclonedx+json":{source:"iana",compressible:!0},"application/vnd.cyclonedx+xml":{source:"iana",compressible:!0},"application/vnd.d2l.coursepackage1p0+zip":{source:"iana",compressible:!1},"application/vnd.d3m-dataset":{source:"iana"},"application/vnd.d3m-problem":{source:"iana"},"application/vnd.dart":{source:"iana",compressible:!0,extensions:["dart"]},"application/vnd.data-vision.rdz":{source:"iana",extensions:["rdz"]},"application/vnd.datapackage+json":{source:"iana",compressible:!0},"application/vnd.dataresource+json":{source:"iana",compressible:!0},"application/vnd.dbf":{source:"iana",extensions:["dbf"]},"application/vnd.debian.binary-package":{source:"iana"},"application/vnd.dece.data":{source:"iana",extensions:["uvf","uvvf","uvd","uvvd"]},"application/vnd.dece.ttml+xml":{source:"iana",compressible:!0,extensions:["uvt","uvvt"]},"application/vnd.dece.unspecified":{source:"iana",extensions:["uvx","uvvx"]},"application/vnd.dece.zip":{source:"iana",extensions:["uvz","uvvz"]},"application/vnd.denovo.fcselayout-link":{source:"iana",extensions:["fe_launch"]},"application/vnd.desmume.movie":{source:"iana"},"application/vnd.dir-bi.plate-dl-nosuffix":{source:"iana"},"application/vnd.dm.delegation+xml":{source:"iana",compressible:!0},"application/vnd.dna":{source:"iana",extensions:["dna"]},"application/vnd.document+json":{source:"iana",compressible:!0},"application/vnd.dolby.mlp":{source:"apache",extensions:["mlp"]},"application/vnd.dolby.mobile.1":{source:"iana"},"application/vnd.dolby.mobile.2":{source:"iana"},"application/vnd.doremir.scorecloud-binary-document":{source:"iana"},"application/vnd.dpgraph":{source:"iana",extensions:["dpg"]},"application/vnd.dreamfactory":{source:"iana",extensions:["dfac"]},"application/vnd.drive+json":{source:"iana",compressible:!0},"application/vnd.ds-keypoint":{source:"apache",extensions:["kpxx"]},"application/vnd.dtg.local":{source:"iana"},"application/vnd.dtg.local.flash":{source:"iana"},"application/vnd.dtg.local.html":{source:"iana"},"application/vnd.dvb.ait":{source:"iana",extensions:["ait"]},"application/vnd.dvb.dvbisl+xml":{source:"iana",compressible:!0},"application/vnd.dvb.dvbj":{source:"iana"},"application/vnd.dvb.esgcontainer":{source:"iana"},"application/vnd.dvb.ipdcdftnotifaccess":{source:"iana"},"application/vnd.dvb.ipdcesgaccess":{source:"iana"},"application/vnd.dvb.ipdcesgaccess2":{source:"iana"},"application/vnd.dvb.ipdcesgpdd":{source:"iana"},"application/vnd.dvb.ipdcroaming":{source:"iana"},"application/vnd.dvb.iptv.alfec-base":{source:"iana"},"application/vnd.dvb.iptv.alfec-enhancement":{source:"iana"},"application/vnd.dvb.notif-aggregate-root+xml":{source:"iana",compressible:!0},"application/vnd.dvb.notif-container+xml":{source:"iana",compressible:!0},"application/vnd.dvb.notif-generic+xml":{source:"iana",compressible:!0},"application/vnd.dvb.notif-ia-msglist+xml":{source:"iana",compressible:!0},"application/vnd.dvb.notif-ia-registration-request+xml":{source:"iana",compressible:!0},"application/vnd.dvb.notif-ia-registration-response+xml":{source:"iana",compressible:!0},"application/vnd.dvb.notif-init+xml":{source:"iana",compressible:!0},"application/vnd.dvb.pfr":{source:"iana"},"application/vnd.dvb.service":{source:"iana",extensions:["svc"]},"application/vnd.dxr":{source:"iana"},"application/vnd.dynageo":{source:"iana",extensions:["geo"]},"application/vnd.dzr":{source:"iana"},"application/vnd.easykaraoke.cdgdownload":{source:"iana"},"application/vnd.ecdis-update":{source:"iana"},"application/vnd.ecip.rlp":{source:"iana"},"application/vnd.eclipse.ditto+json":{source:"iana",compressible:!0},"application/vnd.ecowin.chart":{source:"iana",extensions:["mag"]},"application/vnd.ecowin.filerequest":{source:"iana"},"application/vnd.ecowin.fileupdate":{source:"iana"},"application/vnd.ecowin.series":{source:"iana"},"application/vnd.ecowin.seriesrequest":{source:"iana"},"application/vnd.ecowin.seriesupdate":{source:"iana"},"application/vnd.efi.img":{source:"iana"},"application/vnd.efi.iso":{source:"iana"},"application/vnd.emclient.accessrequest+xml":{source:"iana",compressible:!0},"application/vnd.enliven":{source:"iana",extensions:["nml"]},"application/vnd.enphase.envoy":{source:"iana"},"application/vnd.eprints.data+xml":{source:"iana",compressible:!0},"application/vnd.epson.esf":{source:"iana",extensions:["esf"]},"application/vnd.epson.msf":{source:"iana",extensions:["msf"]},"application/vnd.epson.quickanime":{source:"iana",extensions:["qam"]},"application/vnd.epson.salt":{source:"iana",extensions:["slt"]},"application/vnd.epson.ssf":{source:"iana",extensions:["ssf"]},"application/vnd.ericsson.quickcall":{source:"iana"},"application/vnd.espass-espass+zip":{source:"iana",compressible:!1},"application/vnd.eszigno3+xml":{source:"iana",compressible:!0,extensions:["es3","et3"]},"application/vnd.etsi.aoc+xml":{source:"iana",compressible:!0},"application/vnd.etsi.asic-e+zip":{source:"iana",compressible:!1},"application/vnd.etsi.asic-s+zip":{source:"iana",compressible:!1},"application/vnd.etsi.cug+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvcommand+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvdiscovery+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvprofile+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvsad-bc+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvsad-cod+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvsad-npvr+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvservice+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvsync+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvueprofile+xml":{source:"iana",compressible:!0},"application/vnd.etsi.mcid+xml":{source:"iana",compressible:!0},"application/vnd.etsi.mheg5":{source:"iana"},"application/vnd.etsi.overload-control-policy-dataset+xml":{source:"iana",compressible:!0},"application/vnd.etsi.pstn+xml":{source:"iana",compressible:!0},"application/vnd.etsi.sci+xml":{source:"iana",compressible:!0},"application/vnd.etsi.simservs+xml":{source:"iana",compressible:!0},"application/vnd.etsi.timestamp-token":{source:"iana"},"application/vnd.etsi.tsl+xml":{source:"iana",compressible:!0},"application/vnd.etsi.tsl.der":{source:"iana"},"application/vnd.eu.kasparian.car+json":{source:"iana",compressible:!0},"application/vnd.eudora.data":{source:"iana"},"application/vnd.evolv.ecig.profile":{source:"iana"},"application/vnd.evolv.ecig.settings":{source:"iana"},"application/vnd.evolv.ecig.theme":{source:"iana"},"application/vnd.exstream-empower+zip":{source:"iana",compressible:!1},"application/vnd.exstream-package":{source:"iana"},"application/vnd.ezpix-album":{source:"iana",extensions:["ez2"]},"application/vnd.ezpix-package":{source:"iana",extensions:["ez3"]},"application/vnd.f-secure.mobile":{source:"iana"},"application/vnd.familysearch.gedcom+zip":{source:"iana",compressible:!1},"application/vnd.fastcopy-disk-image":{source:"iana"},"application/vnd.fdf":{source:"iana",extensions:["fdf"]},"application/vnd.fdsn.mseed":{source:"iana",extensions:["mseed"]},"application/vnd.fdsn.seed":{source:"iana",extensions:["seed","dataless"]},"application/vnd.ffsns":{source:"iana"},"application/vnd.ficlab.flb+zip":{source:"iana",compressible:!1},"application/vnd.filmit.zfc":{source:"iana"},"application/vnd.fints":{source:"iana"},"application/vnd.firemonkeys.cloudcell":{source:"iana"},"application/vnd.flographit":{source:"iana",extensions:["gph"]},"application/vnd.fluxtime.clip":{source:"iana",extensions:["ftc"]},"application/vnd.font-fontforge-sfd":{source:"iana"},"application/vnd.framemaker":{source:"iana",extensions:["fm","frame","maker","book"]},"application/vnd.frogans.fnc":{source:"iana",extensions:["fnc"]},"application/vnd.frogans.ltf":{source:"iana",extensions:["ltf"]},"application/vnd.fsc.weblaunch":{source:"iana",extensions:["fsc"]},"application/vnd.fujifilm.fb.docuworks":{source:"iana"},"application/vnd.fujifilm.fb.docuworks.binder":{source:"iana"},"application/vnd.fujifilm.fb.docuworks.container":{source:"iana"},"application/vnd.fujifilm.fb.jfi+xml":{source:"iana",compressible:!0},"application/vnd.fujitsu.oasys":{source:"iana",extensions:["oas"]},"application/vnd.fujitsu.oasys2":{source:"iana",extensions:["oa2"]},"application/vnd.fujitsu.oasys3":{source:"iana",extensions:["oa3"]},"application/vnd.fujitsu.oasysgp":{source:"iana",extensions:["fg5"]},"application/vnd.fujitsu.oasysprs":{source:"iana",extensions:["bh2"]},"application/vnd.fujixerox.art-ex":{source:"iana"},"application/vnd.fujixerox.art4":{source:"iana"},"application/vnd.fujixerox.ddd":{source:"iana",extensions:["ddd"]},"application/vnd.fujixerox.docuworks":{source:"iana",extensions:["xdw"]},"application/vnd.fujixerox.docuworks.binder":{source:"iana",extensions:["xbd"]},"application/vnd.fujixerox.docuworks.container":{source:"iana"},"application/vnd.fujixerox.hbpl":{source:"iana"},"application/vnd.fut-misnet":{source:"iana"},"application/vnd.futoin+cbor":{source:"iana"},"application/vnd.futoin+json":{source:"iana",compressible:!0},"application/vnd.fuzzysheet":{source:"iana",extensions:["fzs"]},"application/vnd.genomatix.tuxedo":{source:"iana",extensions:["txd"]},"application/vnd.gentics.grd+json":{source:"iana",compressible:!0},"application/vnd.geo+json":{source:"iana",compressible:!0},"application/vnd.geocube+xml":{source:"iana",compressible:!0},"application/vnd.geogebra.file":{source:"iana",extensions:["ggb"]},"application/vnd.geogebra.slides":{source:"iana"},"application/vnd.geogebra.tool":{source:"iana",extensions:["ggt"]},"application/vnd.geometry-explorer":{source:"iana",extensions:["gex","gre"]},"application/vnd.geonext":{source:"iana",extensions:["gxt"]},"application/vnd.geoplan":{source:"iana",extensions:["g2w"]},"application/vnd.geospace":{source:"iana",extensions:["g3w"]},"application/vnd.gerber":{source:"iana"},"application/vnd.globalplatform.card-content-mgt":{source:"iana"},"application/vnd.globalplatform.card-content-mgt-response":{source:"iana"},"application/vnd.gmx":{source:"iana",extensions:["gmx"]},"application/vnd.google-apps.document":{compressible:!1,extensions:["gdoc"]},"application/vnd.google-apps.presentation":{compressible:!1,extensions:["gslides"]},"application/vnd.google-apps.spreadsheet":{compressible:!1,extensions:["gsheet"]},"application/vnd.google-earth.kml+xml":{source:"iana",compressible:!0,extensions:["kml"]},"application/vnd.google-earth.kmz":{source:"iana",compressible:!1,extensions:["kmz"]},"application/vnd.gov.sk.e-form+xml":{source:"iana",compressible:!0},"application/vnd.gov.sk.e-form+zip":{source:"iana",compressible:!1},"application/vnd.gov.sk.xmldatacontainer+xml":{source:"iana",compressible:!0},"application/vnd.grafeq":{source:"iana",extensions:["gqf","gqs"]},"application/vnd.gridmp":{source:"iana"},"application/vnd.groove-account":{source:"iana",extensions:["gac"]},"application/vnd.groove-help":{source:"iana",extensions:["ghf"]},"application/vnd.groove-identity-message":{source:"iana",extensions:["gim"]},"application/vnd.groove-injector":{source:"iana",extensions:["grv"]},"application/vnd.groove-tool-message":{source:"iana",extensions:["gtm"]},"application/vnd.groove-tool-template":{source:"iana",extensions:["tpl"]},"application/vnd.groove-vcard":{source:"iana",extensions:["vcg"]},"application/vnd.hal+json":{source:"iana",compressible:!0},"application/vnd.hal+xml":{source:"iana",compressible:!0,extensions:["hal"]},"application/vnd.handheld-entertainment+xml":{source:"iana",compressible:!0,extensions:["zmm"]},"application/vnd.hbci":{source:"iana",extensions:["hbci"]},"application/vnd.hc+json":{source:"iana",compressible:!0},"application/vnd.hcl-bireports":{source:"iana"},"application/vnd.hdt":{source:"iana"},"application/vnd.heroku+json":{source:"iana",compressible:!0},"application/vnd.hhe.lesson-player":{source:"iana",extensions:["les"]},"application/vnd.hl7cda+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/vnd.hl7v2+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/vnd.hp-hpgl":{source:"iana",extensions:["hpgl"]},"application/vnd.hp-hpid":{source:"iana",extensions:["hpid"]},"application/vnd.hp-hps":{source:"iana",extensions:["hps"]},"application/vnd.hp-jlyt":{source:"iana",extensions:["jlt"]},"application/vnd.hp-pcl":{source:"iana",extensions:["pcl"]},"application/vnd.hp-pclxl":{source:"iana",extensions:["pclxl"]},"application/vnd.httphone":{source:"iana"},"application/vnd.hydrostatix.sof-data":{source:"iana",extensions:["sfd-hdstx"]},"application/vnd.hyper+json":{source:"iana",compressible:!0},"application/vnd.hyper-item+json":{source:"iana",compressible:!0},"application/vnd.hyperdrive+json":{source:"iana",compressible:!0},"application/vnd.hzn-3d-crossword":{source:"iana"},"application/vnd.ibm.afplinedata":{source:"iana"},"application/vnd.ibm.electronic-media":{source:"iana"},"application/vnd.ibm.minipay":{source:"iana",extensions:["mpy"]},"application/vnd.ibm.modcap":{source:"iana",extensions:["afp","listafp","list3820"]},"application/vnd.ibm.rights-management":{source:"iana",extensions:["irm"]},"application/vnd.ibm.secure-container":{source:"iana",extensions:["sc"]},"application/vnd.iccprofile":{source:"iana",extensions:["icc","icm"]},"application/vnd.ieee.1905":{source:"iana"},"application/vnd.igloader":{source:"iana",extensions:["igl"]},"application/vnd.imagemeter.folder+zip":{source:"iana",compressible:!1},"application/vnd.imagemeter.image+zip":{source:"iana",compressible:!1},"application/vnd.immervision-ivp":{source:"iana",extensions:["ivp"]},"application/vnd.immervision-ivu":{source:"iana",extensions:["ivu"]},"application/vnd.ims.imsccv1p1":{source:"iana"},"application/vnd.ims.imsccv1p2":{source:"iana"},"application/vnd.ims.imsccv1p3":{source:"iana"},"application/vnd.ims.lis.v2.result+json":{source:"iana",compressible:!0},"application/vnd.ims.lti.v2.toolconsumerprofile+json":{source:"iana",compressible:!0},"application/vnd.ims.lti.v2.toolproxy+json":{source:"iana",compressible:!0},"application/vnd.ims.lti.v2.toolproxy.id+json":{source:"iana",compressible:!0},"application/vnd.ims.lti.v2.toolsettings+json":{source:"iana",compressible:!0},"application/vnd.ims.lti.v2.toolsettings.simple+json":{source:"iana",compressible:!0},"application/vnd.informedcontrol.rms+xml":{source:"iana",compressible:!0},"application/vnd.informix-visionary":{source:"iana"},"application/vnd.infotech.project":{source:"iana"},"application/vnd.infotech.project+xml":{source:"iana",compressible:!0},"application/vnd.innopath.wamp.notification":{source:"iana"},"application/vnd.insors.igm":{source:"iana",extensions:["igm"]},"application/vnd.intercon.formnet":{source:"iana",extensions:["xpw","xpx"]},"application/vnd.intergeo":{source:"iana",extensions:["i2g"]},"application/vnd.intertrust.digibox":{source:"iana"},"application/vnd.intertrust.nncp":{source:"iana"},"application/vnd.intu.qbo":{source:"iana",extensions:["qbo"]},"application/vnd.intu.qfx":{source:"iana",extensions:["qfx"]},"application/vnd.iptc.g2.catalogitem+xml":{source:"iana",compressible:!0},"application/vnd.iptc.g2.conceptitem+xml":{source:"iana",compressible:!0},"application/vnd.iptc.g2.knowledgeitem+xml":{source:"iana",compressible:!0},"application/vnd.iptc.g2.newsitem+xml":{source:"iana",compressible:!0},"application/vnd.iptc.g2.newsmessage+xml":{source:"iana",compressible:!0},"application/vnd.iptc.g2.packageitem+xml":{source:"iana",compressible:!0},"application/vnd.iptc.g2.planningitem+xml":{source:"iana",compressible:!0},"application/vnd.ipunplugged.rcprofile":{source:"iana",extensions:["rcprofile"]},"application/vnd.irepository.package+xml":{source:"iana",compressible:!0,extensions:["irp"]},"application/vnd.is-xpr":{source:"iana",extensions:["xpr"]},"application/vnd.isac.fcs":{source:"iana",extensions:["fcs"]},"application/vnd.iso11783-10+zip":{source:"iana",compressible:!1},"application/vnd.jam":{source:"iana",extensions:["jam"]},"application/vnd.japannet-directory-service":{source:"iana"},"application/vnd.japannet-jpnstore-wakeup":{source:"iana"},"application/vnd.japannet-payment-wakeup":{source:"iana"},"application/vnd.japannet-registration":{source:"iana"},"application/vnd.japannet-registration-wakeup":{source:"iana"},"application/vnd.japannet-setstore-wakeup":{source:"iana"},"application/vnd.japannet-verification":{source:"iana"},"application/vnd.japannet-verification-wakeup":{source:"iana"},"application/vnd.jcp.javame.midlet-rms":{source:"iana",extensions:["rms"]},"application/vnd.jisp":{source:"iana",extensions:["jisp"]},"application/vnd.joost.joda-archive":{source:"iana",extensions:["joda"]},"application/vnd.jsk.isdn-ngn":{source:"iana"},"application/vnd.kahootz":{source:"iana",extensions:["ktz","ktr"]},"application/vnd.kde.karbon":{source:"iana",extensions:["karbon"]},"application/vnd.kde.kchart":{source:"iana",extensions:["chrt"]},"application/vnd.kde.kformula":{source:"iana",extensions:["kfo"]},"application/vnd.kde.kivio":{source:"iana",extensions:["flw"]},"application/vnd.kde.kontour":{source:"iana",extensions:["kon"]},"application/vnd.kde.kpresenter":{source:"iana",extensions:["kpr","kpt"]},"application/vnd.kde.kspread":{source:"iana",extensions:["ksp"]},"application/vnd.kde.kword":{source:"iana",extensions:["kwd","kwt"]},"application/vnd.kenameaapp":{source:"iana",extensions:["htke"]},"application/vnd.kidspiration":{source:"iana",extensions:["kia"]},"application/vnd.kinar":{source:"iana",extensions:["kne","knp"]},"application/vnd.koan":{source:"iana",extensions:["skp","skd","skt","skm"]},"application/vnd.kodak-descriptor":{source:"iana",extensions:["sse"]},"application/vnd.las":{source:"iana"},"application/vnd.las.las+json":{source:"iana",compressible:!0},"application/vnd.las.las+xml":{source:"iana",compressible:!0,extensions:["lasxml"]},"application/vnd.laszip":{source:"iana"},"application/vnd.leap+json":{source:"iana",compressible:!0},"application/vnd.liberty-request+xml":{source:"iana",compressible:!0},"application/vnd.llamagraphics.life-balance.desktop":{source:"iana",extensions:["lbd"]},"application/vnd.llamagraphics.life-balance.exchange+xml":{source:"iana",compressible:!0,extensions:["lbe"]},"application/vnd.logipipe.circuit+zip":{source:"iana",compressible:!1},"application/vnd.loom":{source:"iana"},"application/vnd.lotus-1-2-3":{source:"iana",extensions:["123"]},"application/vnd.lotus-approach":{source:"iana",extensions:["apr"]},"application/vnd.lotus-freelance":{source:"iana",extensions:["pre"]},"application/vnd.lotus-notes":{source:"iana",extensions:["nsf"]},"application/vnd.lotus-organizer":{source:"iana",extensions:["org"]},"application/vnd.lotus-screencam":{source:"iana",extensions:["scm"]},"application/vnd.lotus-wordpro":{source:"iana",extensions:["lwp"]},"application/vnd.macports.portpkg":{source:"iana",extensions:["portpkg"]},"application/vnd.mapbox-vector-tile":{source:"iana",extensions:["mvt"]},"application/vnd.marlin.drm.actiontoken+xml":{source:"iana",compressible:!0},"application/vnd.marlin.drm.conftoken+xml":{source:"iana",compressible:!0},"application/vnd.marlin.drm.license+xml":{source:"iana",compressible:!0},"application/vnd.marlin.drm.mdcf":{source:"iana"},"application/vnd.mason+json":{source:"iana",compressible:!0},"application/vnd.maxar.archive.3tz+zip":{source:"iana",compressible:!1},"application/vnd.maxmind.maxmind-db":{source:"iana"},"application/vnd.mcd":{source:"iana",extensions:["mcd"]},"application/vnd.medcalcdata":{source:"iana",extensions:["mc1"]},"application/vnd.mediastation.cdkey":{source:"iana",extensions:["cdkey"]},"application/vnd.meridian-slingshot":{source:"iana"},"application/vnd.mfer":{source:"iana",extensions:["mwf"]},"application/vnd.mfmp":{source:"iana",extensions:["mfm"]},"application/vnd.micro+json":{source:"iana",compressible:!0},"application/vnd.micrografx.flo":{source:"iana",extensions:["flo"]},"application/vnd.micrografx.igx":{source:"iana",extensions:["igx"]},"application/vnd.microsoft.portable-executable":{source:"iana"},"application/vnd.microsoft.windows.thumbnail-cache":{source:"iana"},"application/vnd.miele+json":{source:"iana",compressible:!0},"application/vnd.mif":{source:"iana",extensions:["mif"]},"application/vnd.minisoft-hp3000-save":{source:"iana"},"application/vnd.mitsubishi.misty-guard.trustweb":{source:"iana"},"application/vnd.mobius.daf":{source:"iana",extensions:["daf"]},"application/vnd.mobius.dis":{source:"iana",extensions:["dis"]},"application/vnd.mobius.mbk":{source:"iana",extensions:["mbk"]},"application/vnd.mobius.mqy":{source:"iana",extensions:["mqy"]},"application/vnd.mobius.msl":{source:"iana",extensions:["msl"]},"application/vnd.mobius.plc":{source:"iana",extensions:["plc"]},"application/vnd.mobius.txf":{source:"iana",extensions:["txf"]},"application/vnd.mophun.application":{source:"iana",extensions:["mpn"]},"application/vnd.mophun.certificate":{source:"iana",extensions:["mpc"]},"application/vnd.motorola.flexsuite":{source:"iana"},"application/vnd.motorola.flexsuite.adsi":{source:"iana"},"application/vnd.motorola.flexsuite.fis":{source:"iana"},"application/vnd.motorola.flexsuite.gotap":{source:"iana"},"application/vnd.motorola.flexsuite.kmr":{source:"iana"},"application/vnd.motorola.flexsuite.ttc":{source:"iana"},"application/vnd.motorola.flexsuite.wem":{source:"iana"},"application/vnd.motorola.iprm":{source:"iana"},"application/vnd.mozilla.xul+xml":{source:"iana",compressible:!0,extensions:["xul"]},"application/vnd.ms-3mfdocument":{source:"iana"},"application/vnd.ms-artgalry":{source:"iana",extensions:["cil"]},"application/vnd.ms-asf":{source:"iana"},"application/vnd.ms-cab-compressed":{source:"iana",extensions:["cab"]},"application/vnd.ms-color.iccprofile":{source:"apache"},"application/vnd.ms-excel":{source:"iana",compressible:!1,extensions:["xls","xlm","xla","xlc","xlt","xlw"]},"application/vnd.ms-excel.addin.macroenabled.12":{source:"iana",extensions:["xlam"]},"application/vnd.ms-excel.sheet.binary.macroenabled.12":{source:"iana",extensions:["xlsb"]},"application/vnd.ms-excel.sheet.macroenabled.12":{source:"iana",extensions:["xlsm"]},"application/vnd.ms-excel.template.macroenabled.12":{source:"iana",extensions:["xltm"]},"application/vnd.ms-fontobject":{source:"iana",compressible:!0,extensions:["eot"]},"application/vnd.ms-htmlhelp":{source:"iana",extensions:["chm"]},"application/vnd.ms-ims":{source:"iana",extensions:["ims"]},"application/vnd.ms-lrm":{source:"iana",extensions:["lrm"]},"application/vnd.ms-office.activex+xml":{source:"iana",compressible:!0},"application/vnd.ms-officetheme":{source:"iana",extensions:["thmx"]},"application/vnd.ms-opentype":{source:"apache",compressible:!0},"application/vnd.ms-outlook":{compressible:!1,extensions:["msg"]},"application/vnd.ms-package.obfuscated-opentype":{source:"apache"},"application/vnd.ms-pki.seccat":{source:"apache",extensions:["cat"]},"application/vnd.ms-pki.stl":{source:"apache",extensions:["stl"]},"application/vnd.ms-playready.initiator+xml":{source:"iana",compressible:!0},"application/vnd.ms-powerpoint":{source:"iana",compressible:!1,extensions:["ppt","pps","pot"]},"application/vnd.ms-powerpoint.addin.macroenabled.12":{source:"iana",extensions:["ppam"]},"application/vnd.ms-powerpoint.presentation.macroenabled.12":{source:"iana",extensions:["pptm"]},"application/vnd.ms-powerpoint.slide.macroenabled.12":{source:"iana",extensions:["sldm"]},"application/vnd.ms-powerpoint.slideshow.macroenabled.12":{source:"iana",extensions:["ppsm"]},"application/vnd.ms-powerpoint.template.macroenabled.12":{source:"iana",extensions:["potm"]},"application/vnd.ms-printdevicecapabilities+xml":{source:"iana",compressible:!0},"application/vnd.ms-printing.printticket+xml":{source:"apache",compressible:!0},"application/vnd.ms-printschematicket+xml":{source:"iana",compressible:!0},"application/vnd.ms-project":{source:"iana",extensions:["mpp","mpt"]},"application/vnd.ms-tnef":{source:"iana"},"application/vnd.ms-windows.devicepairing":{source:"iana"},"application/vnd.ms-windows.nwprinting.oob":{source:"iana"},"application/vnd.ms-windows.printerpairing":{source:"iana"},"application/vnd.ms-windows.wsd.oob":{source:"iana"},"application/vnd.ms-wmdrm.lic-chlg-req":{source:"iana"},"application/vnd.ms-wmdrm.lic-resp":{source:"iana"},"application/vnd.ms-wmdrm.meter-chlg-req":{source:"iana"},"application/vnd.ms-wmdrm.meter-resp":{source:"iana"},"application/vnd.ms-word.document.macroenabled.12":{source:"iana",extensions:["docm"]},"application/vnd.ms-word.template.macroenabled.12":{source:"iana",extensions:["dotm"]},"application/vnd.ms-works":{source:"iana",extensions:["wps","wks","wcm","wdb"]},"application/vnd.ms-wpl":{source:"iana",extensions:["wpl"]},"application/vnd.ms-xpsdocument":{source:"iana",compressible:!1,extensions:["xps"]},"application/vnd.msa-disk-image":{source:"iana"},"application/vnd.mseq":{source:"iana",extensions:["mseq"]},"application/vnd.msign":{source:"iana"},"application/vnd.multiad.creator":{source:"iana"},"application/vnd.multiad.creator.cif":{source:"iana"},"application/vnd.music-niff":{source:"iana"},"application/vnd.musician":{source:"iana",extensions:["mus"]},"application/vnd.muvee.style":{source:"iana",extensions:["msty"]},"application/vnd.mynfc":{source:"iana",extensions:["taglet"]},"application/vnd.nacamar.ybrid+json":{source:"iana",compressible:!0},"application/vnd.ncd.control":{source:"iana"},"application/vnd.ncd.reference":{source:"iana"},"application/vnd.nearst.inv+json":{source:"iana",compressible:!0},"application/vnd.nebumind.line":{source:"iana"},"application/vnd.nervana":{source:"iana"},"application/vnd.netfpx":{source:"iana"},"application/vnd.neurolanguage.nlu":{source:"iana",extensions:["nlu"]},"application/vnd.nimn":{source:"iana"},"application/vnd.nintendo.nitro.rom":{source:"iana"},"application/vnd.nintendo.snes.rom":{source:"iana"},"application/vnd.nitf":{source:"iana",extensions:["ntf","nitf"]},"application/vnd.noblenet-directory":{source:"iana",extensions:["nnd"]},"application/vnd.noblenet-sealer":{source:"iana",extensions:["nns"]},"application/vnd.noblenet-web":{source:"iana",extensions:["nnw"]},"application/vnd.nokia.catalogs":{source:"iana"},"application/vnd.nokia.conml+wbxml":{source:"iana"},"application/vnd.nokia.conml+xml":{source:"iana",compressible:!0},"application/vnd.nokia.iptv.config+xml":{source:"iana",compressible:!0},"application/vnd.nokia.isds-radio-presets":{source:"iana"},"application/vnd.nokia.landmark+wbxml":{source:"iana"},"application/vnd.nokia.landmark+xml":{source:"iana",compressible:!0},"application/vnd.nokia.landmarkcollection+xml":{source:"iana",compressible:!0},"application/vnd.nokia.n-gage.ac+xml":{source:"iana",compressible:!0,extensions:["ac"]},"application/vnd.nokia.n-gage.data":{source:"iana",extensions:["ngdat"]},"application/vnd.nokia.n-gage.symbian.install":{source:"iana",extensions:["n-gage"]},"application/vnd.nokia.ncd":{source:"iana"},"application/vnd.nokia.pcd+wbxml":{source:"iana"},"application/vnd.nokia.pcd+xml":{source:"iana",compressible:!0},"application/vnd.nokia.radio-preset":{source:"iana",extensions:["rpst"]},"application/vnd.nokia.radio-presets":{source:"iana",extensions:["rpss"]},"application/vnd.novadigm.edm":{source:"iana",extensions:["edm"]},"application/vnd.novadigm.edx":{source:"iana",extensions:["edx"]},"application/vnd.novadigm.ext":{source:"iana",extensions:["ext"]},"application/vnd.ntt-local.content-share":{source:"iana"},"application/vnd.ntt-local.file-transfer":{source:"iana"},"application/vnd.ntt-local.ogw_remote-access":{source:"iana"},"application/vnd.ntt-local.sip-ta_remote":{source:"iana"},"application/vnd.ntt-local.sip-ta_tcp_stream":{source:"iana"},"application/vnd.oasis.opendocument.chart":{source:"iana",extensions:["odc"]},"application/vnd.oasis.opendocument.chart-template":{source:"iana",extensions:["otc"]},"application/vnd.oasis.opendocument.database":{source:"iana",extensions:["odb"]},"application/vnd.oasis.opendocument.formula":{source:"iana",extensions:["odf"]},"application/vnd.oasis.opendocument.formula-template":{source:"iana",extensions:["odft"]},"application/vnd.oasis.opendocument.graphics":{source:"iana",compressible:!1,extensions:["odg"]},"application/vnd.oasis.opendocument.graphics-template":{source:"iana",extensions:["otg"]},"application/vnd.oasis.opendocument.image":{source:"iana",extensions:["odi"]},"application/vnd.oasis.opendocument.image-template":{source:"iana",extensions:["oti"]},"application/vnd.oasis.opendocument.presentation":{source:"iana",compressible:!1,extensions:["odp"]},"application/vnd.oasis.opendocument.presentation-template":{source:"iana",extensions:["otp"]},"application/vnd.oasis.opendocument.spreadsheet":{source:"iana",compressible:!1,extensions:["ods"]},"application/vnd.oasis.opendocument.spreadsheet-template":{source:"iana",extensions:["ots"]},"application/vnd.oasis.opendocument.text":{source:"iana",compressible:!1,extensions:["odt"]},"application/vnd.oasis.opendocument.text-master":{source:"iana",extensions:["odm"]},"application/vnd.oasis.opendocument.text-template":{source:"iana",extensions:["ott"]},"application/vnd.oasis.opendocument.text-web":{source:"iana",extensions:["oth"]},"application/vnd.obn":{source:"iana"},"application/vnd.ocf+cbor":{source:"iana"},"application/vnd.oci.image.manifest.v1+json":{source:"iana",compressible:!0},"application/vnd.oftn.l10n+json":{source:"iana",compressible:!0},"application/vnd.oipf.contentaccessdownload+xml":{source:"iana",compressible:!0},"application/vnd.oipf.contentaccessstreaming+xml":{source:"iana",compressible:!0},"application/vnd.oipf.cspg-hexbinary":{source:"iana"},"application/vnd.oipf.dae.svg+xml":{source:"iana",compressible:!0},"application/vnd.oipf.dae.xhtml+xml":{source:"iana",compressible:!0},"application/vnd.oipf.mippvcontrolmessage+xml":{source:"iana",compressible:!0},"application/vnd.oipf.pae.gem":{source:"iana"},"application/vnd.oipf.spdiscovery+xml":{source:"iana",compressible:!0},"application/vnd.oipf.spdlist+xml":{source:"iana",compressible:!0},"application/vnd.oipf.ueprofile+xml":{source:"iana",compressible:!0},"application/vnd.oipf.userprofile+xml":{source:"iana",compressible:!0},"application/vnd.olpc-sugar":{source:"iana",extensions:["xo"]},"application/vnd.oma-scws-config":{source:"iana"},"application/vnd.oma-scws-http-request":{source:"iana"},"application/vnd.oma-scws-http-response":{source:"iana"},"application/vnd.oma.bcast.associated-procedure-parameter+xml":{source:"iana",compressible:!0},"application/vnd.oma.bcast.drm-trigger+xml":{source:"iana",compressible:!0},"application/vnd.oma.bcast.imd+xml":{source:"iana",compressible:!0},"application/vnd.oma.bcast.ltkm":{source:"iana"},"application/vnd.oma.bcast.notification+xml":{source:"iana",compressible:!0},"application/vnd.oma.bcast.provisioningtrigger":{source:"iana"},"application/vnd.oma.bcast.sgboot":{source:"iana"},"application/vnd.oma.bcast.sgdd+xml":{source:"iana",compressible:!0},"application/vnd.oma.bcast.sgdu":{source:"iana"},"application/vnd.oma.bcast.simple-symbol-container":{source:"iana"},"application/vnd.oma.bcast.smartcard-trigger+xml":{source:"iana",compressible:!0},"application/vnd.oma.bcast.sprov+xml":{source:"iana",compressible:!0},"application/vnd.oma.bcast.stkm":{source:"iana"},"application/vnd.oma.cab-address-book+xml":{source:"iana",compressible:!0},"application/vnd.oma.cab-feature-handler+xml":{source:"iana",compressible:!0},"application/vnd.oma.cab-pcc+xml":{source:"iana",compressible:!0},"application/vnd.oma.cab-subs-invite+xml":{source:"iana",compressible:!0},"application/vnd.oma.cab-user-prefs+xml":{source:"iana",compressible:!0},"application/vnd.oma.dcd":{source:"iana"},"application/vnd.oma.dcdc":{source:"iana"},"application/vnd.oma.dd2+xml":{source:"iana",compressible:!0,extensions:["dd2"]},"application/vnd.oma.drm.risd+xml":{source:"iana",compressible:!0},"application/vnd.oma.group-usage-list+xml":{source:"iana",compressible:!0},"application/vnd.oma.lwm2m+cbor":{source:"iana"},"application/vnd.oma.lwm2m+json":{source:"iana",compressible:!0},"application/vnd.oma.lwm2m+tlv":{source:"iana"},"application/vnd.oma.pal+xml":{source:"iana",compressible:!0},"application/vnd.oma.poc.detailed-progress-report+xml":{source:"iana",compressible:!0},"application/vnd.oma.poc.final-report+xml":{source:"iana",compressible:!0},"application/vnd.oma.poc.groups+xml":{source:"iana",compressible:!0},"application/vnd.oma.poc.invocation-descriptor+xml":{source:"iana",compressible:!0},"application/vnd.oma.poc.optimized-progress-report+xml":{source:"iana",compressible:!0},"application/vnd.oma.push":{source:"iana"},"application/vnd.oma.scidm.messages+xml":{source:"iana",compressible:!0},"application/vnd.oma.xcap-directory+xml":{source:"iana",compressible:!0},"application/vnd.omads-email+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/vnd.omads-file+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/vnd.omads-folder+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/vnd.omaloc-supl-init":{source:"iana"},"application/vnd.onepager":{source:"iana"},"application/vnd.onepagertamp":{source:"iana"},"application/vnd.onepagertamx":{source:"iana"},"application/vnd.onepagertat":{source:"iana"},"application/vnd.onepagertatp":{source:"iana"},"application/vnd.onepagertatx":{source:"iana"},"application/vnd.openblox.game+xml":{source:"iana",compressible:!0,extensions:["obgx"]},"application/vnd.openblox.game-binary":{source:"iana"},"application/vnd.openeye.oeb":{source:"iana"},"application/vnd.openofficeorg.extension":{source:"apache",extensions:["oxt"]},"application/vnd.openstreetmap.data+xml":{source:"iana",compressible:!0,extensions:["osm"]},"application/vnd.opentimestamps.ots":{source:"iana"},"application/vnd.openxmlformats-officedocument.custom-properties+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.customxmlproperties+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.drawing+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.drawingml.chart+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.drawingml.chartshapes+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.drawingml.diagramcolors+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.drawingml.diagramdata+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.drawingml.diagramlayout+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.drawingml.diagramstyle+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.extended-properties+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.commentauthors+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.comments+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.handoutmaster+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.notesmaster+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.notesslide+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.presentation":{source:"iana",compressible:!1,extensions:["pptx"]},"application/vnd.openxmlformats-officedocument.presentationml.presentation.main+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.presprops+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.slide":{source:"iana",extensions:["sldx"]},"application/vnd.openxmlformats-officedocument.presentationml.slide+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.slidelayout+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.slidemaster+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.slideshow":{source:"iana",extensions:["ppsx"]},"application/vnd.openxmlformats-officedocument.presentationml.slideshow.main+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.slideupdateinfo+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.tablestyles+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.tags+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.template":{source:"iana",extensions:["potx"]},"application/vnd.openxmlformats-officedocument.presentationml.template.main+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.viewprops+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.calcchain+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.connections+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.externallink+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.pivotcachedefinition+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.pivotcacherecords+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.pivottable+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.querytable+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.revisionheaders+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.revisionlog+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.sharedstrings+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet":{source:"iana",compressible:!1,extensions:["xlsx"]},"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.sheetmetadata+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.table+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.tablesinglecells+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.template":{source:"iana",extensions:["xltx"]},"application/vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.usernames+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.volatiledependencies+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.theme+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.themeoverride+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.vmldrawing":{source:"iana"},"application/vnd.openxmlformats-officedocument.wordprocessingml.comments+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.document":{source:"iana",compressible:!1,extensions:["docx"]},"application/vnd.openxmlformats-officedocument.wordprocessingml.document.glossary+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.endnotes+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.fonttable+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.footer+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.footnotes+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.numbering+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.settings+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.styles+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.template":{source:"iana",extensions:["dotx"]},"application/vnd.openxmlformats-officedocument.wordprocessingml.template.main+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.websettings+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-package.core-properties+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-package.digital-signature-xmlsignature+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-package.relationships+xml":{source:"iana",compressible:!0},"application/vnd.oracle.resource+json":{source:"iana",compressible:!0},"application/vnd.orange.indata":{source:"iana"},"application/vnd.osa.netdeploy":{source:"iana"},"application/vnd.osgeo.mapguide.package":{source:"iana",extensions:["mgp"]},"application/vnd.osgi.bundle":{source:"iana"},"application/vnd.osgi.dp":{source:"iana",extensions:["dp"]},"application/vnd.osgi.subsystem":{source:"iana",extensions:["esa"]},"application/vnd.otps.ct-kip+xml":{source:"iana",compressible:!0},"application/vnd.oxli.countgraph":{source:"iana"},"application/vnd.pagerduty+json":{source:"iana",compressible:!0},"application/vnd.palm":{source:"iana",extensions:["pdb","pqa","oprc"]},"application/vnd.panoply":{source:"iana"},"application/vnd.paos.xml":{source:"iana"},"application/vnd.patentdive":{source:"iana"},"application/vnd.patientecommsdoc":{source:"iana"},"application/vnd.pawaafile":{source:"iana",extensions:["paw"]},"application/vnd.pcos":{source:"iana"},"application/vnd.pg.format":{source:"iana",extensions:["str"]},"application/vnd.pg.osasli":{source:"iana",extensions:["ei6"]},"application/vnd.piaccess.application-licence":{source:"iana"},"application/vnd.picsel":{source:"iana",extensions:["efif"]},"application/vnd.pmi.widget":{source:"iana",extensions:["wg"]},"application/vnd.poc.group-advertisement+xml":{source:"iana",compressible:!0},"application/vnd.pocketlearn":{source:"iana",extensions:["plf"]},"application/vnd.powerbuilder6":{source:"iana",extensions:["pbd"]},"application/vnd.powerbuilder6-s":{source:"iana"},"application/vnd.powerbuilder7":{source:"iana"},"application/vnd.powerbuilder7-s":{source:"iana"},"application/vnd.powerbuilder75":{source:"iana"},"application/vnd.powerbuilder75-s":{source:"iana"},"application/vnd.preminet":{source:"iana"},"application/vnd.previewsystems.box":{source:"iana",extensions:["box"]},"application/vnd.proteus.magazine":{source:"iana",extensions:["mgz"]},"application/vnd.psfs":{source:"iana"},"application/vnd.publishare-delta-tree":{source:"iana",extensions:["qps"]},"application/vnd.pvi.ptid1":{source:"iana",extensions:["ptid"]},"application/vnd.pwg-multiplexed":{source:"iana"},"application/vnd.pwg-xhtml-print+xml":{source:"iana",compressible:!0},"application/vnd.qualcomm.brew-app-res":{source:"iana"},"application/vnd.quarantainenet":{source:"iana"},"application/vnd.quark.quarkxpress":{source:"iana",extensions:["qxd","qxt","qwd","qwt","qxl","qxb"]},"application/vnd.quobject-quoxdocument":{source:"iana"},"application/vnd.radisys.moml+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-audit+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-audit-conf+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-audit-conn+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-audit-dialog+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-audit-stream+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-conf+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-dialog+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-dialog-base+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-dialog-fax-detect+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-dialog-fax-sendrecv+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-dialog-group+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-dialog-speech+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-dialog-transform+xml":{source:"iana",compressible:!0},"application/vnd.rainstor.data":{source:"iana"},"application/vnd.rapid":{source:"iana"},"application/vnd.rar":{source:"iana",extensions:["rar"]},"application/vnd.realvnc.bed":{source:"iana",extensions:["bed"]},"application/vnd.recordare.musicxml":{source:"iana",extensions:["mxl"]},"application/vnd.recordare.musicxml+xml":{source:"iana",compressible:!0,extensions:["musicxml"]},"application/vnd.renlearn.rlprint":{source:"iana"},"application/vnd.resilient.logic":{source:"iana"},"application/vnd.restful+json":{source:"iana",compressible:!0},"application/vnd.rig.cryptonote":{source:"iana",extensions:["cryptonote"]},"application/vnd.rim.cod":{source:"apache",extensions:["cod"]},"application/vnd.rn-realmedia":{source:"apache",extensions:["rm"]},"application/vnd.rn-realmedia-vbr":{source:"apache",extensions:["rmvb"]},"application/vnd.route66.link66+xml":{source:"iana",compressible:!0,extensions:["link66"]},"application/vnd.rs-274x":{source:"iana"},"application/vnd.ruckus.download":{source:"iana"},"application/vnd.s3sms":{source:"iana"},"application/vnd.sailingtracker.track":{source:"iana",extensions:["st"]},"application/vnd.sar":{source:"iana"},"application/vnd.sbm.cid":{source:"iana"},"application/vnd.sbm.mid2":{source:"iana"},"application/vnd.scribus":{source:"iana"},"application/vnd.sealed.3df":{source:"iana"},"application/vnd.sealed.csf":{source:"iana"},"application/vnd.sealed.doc":{source:"iana"},"application/vnd.sealed.eml":{source:"iana"},"application/vnd.sealed.mht":{source:"iana"},"application/vnd.sealed.net":{source:"iana"},"application/vnd.sealed.ppt":{source:"iana"},"application/vnd.sealed.tiff":{source:"iana"},"application/vnd.sealed.xls":{source:"iana"},"application/vnd.sealedmedia.softseal.html":{source:"iana"},"application/vnd.sealedmedia.softseal.pdf":{source:"iana"},"application/vnd.seemail":{source:"iana",extensions:["see"]},"application/vnd.seis+json":{source:"iana",compressible:!0},"application/vnd.sema":{source:"iana",extensions:["sema"]},"application/vnd.semd":{source:"iana",extensions:["semd"]},"application/vnd.semf":{source:"iana",extensions:["semf"]},"application/vnd.shade-save-file":{source:"iana"},"application/vnd.shana.informed.formdata":{source:"iana",extensions:["ifm"]},"application/vnd.shana.informed.formtemplate":{source:"iana",extensions:["itp"]},"application/vnd.shana.informed.interchange":{source:"iana",extensions:["iif"]},"application/vnd.shana.informed.package":{source:"iana",extensions:["ipk"]},"application/vnd.shootproof+json":{source:"iana",compressible:!0},"application/vnd.shopkick+json":{source:"iana",compressible:!0},"application/vnd.shp":{source:"iana"},"application/vnd.shx":{source:"iana"},"application/vnd.sigrok.session":{source:"iana"},"application/vnd.simtech-mindmapper":{source:"iana",extensions:["twd","twds"]},"application/vnd.siren+json":{source:"iana",compressible:!0},"application/vnd.smaf":{source:"iana",extensions:["mmf"]},"application/vnd.smart.notebook":{source:"iana"},"application/vnd.smart.teacher":{source:"iana",extensions:["teacher"]},"application/vnd.snesdev-page-table":{source:"iana"},"application/vnd.software602.filler.form+xml":{source:"iana",compressible:!0,extensions:["fo"]},"application/vnd.software602.filler.form-xml-zip":{source:"iana"},"application/vnd.solent.sdkm+xml":{source:"iana",compressible:!0,extensions:["sdkm","sdkd"]},"application/vnd.spotfire.dxp":{source:"iana",extensions:["dxp"]},"application/vnd.spotfire.sfs":{source:"iana",extensions:["sfs"]},"application/vnd.sqlite3":{source:"iana"},"application/vnd.sss-cod":{source:"iana"},"application/vnd.sss-dtf":{source:"iana"},"application/vnd.sss-ntf":{source:"iana"},"application/vnd.stardivision.calc":{source:"apache",extensions:["sdc"]},"application/vnd.stardivision.draw":{source:"apache",extensions:["sda"]},"application/vnd.stardivision.impress":{source:"apache",extensions:["sdd"]},"application/vnd.stardivision.math":{source:"apache",extensions:["smf"]},"application/vnd.stardivision.writer":{source:"apache",extensions:["sdw","vor"]},"application/vnd.stardivision.writer-global":{source:"apache",extensions:["sgl"]},"application/vnd.stepmania.package":{source:"iana",extensions:["smzip"]},"application/vnd.stepmania.stepchart":{source:"iana",extensions:["sm"]},"application/vnd.street-stream":{source:"iana"},"application/vnd.sun.wadl+xml":{source:"iana",compressible:!0,extensions:["wadl"]},"application/vnd.sun.xml.calc":{source:"apache",extensions:["sxc"]},"application/vnd.sun.xml.calc.template":{source:"apache",extensions:["stc"]},"application/vnd.sun.xml.draw":{source:"apache",extensions:["sxd"]},"application/vnd.sun.xml.draw.template":{source:"apache",extensions:["std"]},"application/vnd.sun.xml.impress":{source:"apache",extensions:["sxi"]},"application/vnd.sun.xml.impress.template":{source:"apache",extensions:["sti"]},"application/vnd.sun.xml.math":{source:"apache",extensions:["sxm"]},"application/vnd.sun.xml.writer":{source:"apache",extensions:["sxw"]},"application/vnd.sun.xml.writer.global":{source:"apache",extensions:["sxg"]},"application/vnd.sun.xml.writer.template":{source:"apache",extensions:["stw"]},"application/vnd.sus-calendar":{source:"iana",extensions:["sus","susp"]},"application/vnd.svd":{source:"iana",extensions:["svd"]},"application/vnd.swiftview-ics":{source:"iana"},"application/vnd.sycle+xml":{source:"iana",compressible:!0},"application/vnd.syft+json":{source:"iana",compressible:!0},"application/vnd.symbian.install":{source:"apache",extensions:["sis","sisx"]},"application/vnd.syncml+xml":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["xsm"]},"application/vnd.syncml.dm+wbxml":{source:"iana",charset:"UTF-8",extensions:["bdm"]},"application/vnd.syncml.dm+xml":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["xdm"]},"application/vnd.syncml.dm.notification":{source:"iana"},"application/vnd.syncml.dmddf+wbxml":{source:"iana"},"application/vnd.syncml.dmddf+xml":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["ddf"]},"application/vnd.syncml.dmtnds+wbxml":{source:"iana"},"application/vnd.syncml.dmtnds+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/vnd.syncml.ds.notification":{source:"iana"},"application/vnd.tableschema+json":{source:"iana",compressible:!0},"application/vnd.tao.intent-module-archive":{source:"iana",extensions:["tao"]},"application/vnd.tcpdump.pcap":{source:"iana",extensions:["pcap","cap","dmp"]},"application/vnd.think-cell.ppttc+json":{source:"iana",compressible:!0},"application/vnd.tmd.mediaflex.api+xml":{source:"iana",compressible:!0},"application/vnd.tml":{source:"iana"},"application/vnd.tmobile-livetv":{source:"iana",extensions:["tmo"]},"application/vnd.tri.onesource":{source:"iana"},"application/vnd.trid.tpt":{source:"iana",extensions:["tpt"]},"application/vnd.triscape.mxs":{source:"iana",extensions:["mxs"]},"application/vnd.trueapp":{source:"iana",extensions:["tra"]},"application/vnd.truedoc":{source:"iana"},"application/vnd.ubisoft.webplayer":{source:"iana"},"application/vnd.ufdl":{source:"iana",extensions:["ufd","ufdl"]},"application/vnd.uiq.theme":{source:"iana",extensions:["utz"]},"application/vnd.umajin":{source:"iana",extensions:["umj"]},"application/vnd.unity":{source:"iana",extensions:["unityweb"]},"application/vnd.uoml+xml":{source:"iana",compressible:!0,extensions:["uoml"]},"application/vnd.uplanet.alert":{source:"iana"},"application/vnd.uplanet.alert-wbxml":{source:"iana"},"application/vnd.uplanet.bearer-choice":{source:"iana"},"application/vnd.uplanet.bearer-choice-wbxml":{source:"iana"},"application/vnd.uplanet.cacheop":{source:"iana"},"application/vnd.uplanet.cacheop-wbxml":{source:"iana"},"application/vnd.uplanet.channel":{source:"iana"},"application/vnd.uplanet.channel-wbxml":{source:"iana"},"application/vnd.uplanet.list":{source:"iana"},"application/vnd.uplanet.list-wbxml":{source:"iana"},"application/vnd.uplanet.listcmd":{source:"iana"},"application/vnd.uplanet.listcmd-wbxml":{source:"iana"},"application/vnd.uplanet.signal":{source:"iana"},"application/vnd.uri-map":{source:"iana"},"application/vnd.valve.source.material":{source:"iana"},"application/vnd.vcx":{source:"iana",extensions:["vcx"]},"application/vnd.vd-study":{source:"iana"},"application/vnd.vectorworks":{source:"iana"},"application/vnd.vel+json":{source:"iana",compressible:!0},"application/vnd.verimatrix.vcas":{source:"iana"},"application/vnd.veritone.aion+json":{source:"iana",compressible:!0},"application/vnd.veryant.thin":{source:"iana"},"application/vnd.ves.encrypted":{source:"iana"},"application/vnd.vidsoft.vidconference":{source:"iana"},"application/vnd.visio":{source:"iana",extensions:["vsd","vst","vss","vsw"]},"application/vnd.visionary":{source:"iana",extensions:["vis"]},"application/vnd.vividence.scriptfile":{source:"iana"},"application/vnd.vsf":{source:"iana",extensions:["vsf"]},"application/vnd.wap.sic":{source:"iana"},"application/vnd.wap.slc":{source:"iana"},"application/vnd.wap.wbxml":{source:"iana",charset:"UTF-8",extensions:["wbxml"]},"application/vnd.wap.wmlc":{source:"iana",extensions:["wmlc"]},"application/vnd.wap.wmlscriptc":{source:"iana",extensions:["wmlsc"]},"application/vnd.webturbo":{source:"iana",extensions:["wtb"]},"application/vnd.wfa.dpp":{source:"iana"},"application/vnd.wfa.p2p":{source:"iana"},"application/vnd.wfa.wsc":{source:"iana"},"application/vnd.windows.devicepairing":{source:"iana"},"application/vnd.wmc":{source:"iana"},"application/vnd.wmf.bootstrap":{source:"iana"},"application/vnd.wolfram.mathematica":{source:"iana"},"application/vnd.wolfram.mathematica.package":{source:"iana"},"application/vnd.wolfram.player":{source:"iana",extensions:["nbp"]},"application/vnd.wordperfect":{source:"iana",extensions:["wpd"]},"application/vnd.wqd":{source:"iana",extensions:["wqd"]},"application/vnd.wrq-hp3000-labelled":{source:"iana"},"application/vnd.wt.stf":{source:"iana",extensions:["stf"]},"application/vnd.wv.csp+wbxml":{source:"iana"},"application/vnd.wv.csp+xml":{source:"iana",compressible:!0},"application/vnd.wv.ssp+xml":{source:"iana",compressible:!0},"application/vnd.xacml+json":{source:"iana",compressible:!0},"application/vnd.xara":{source:"iana",extensions:["xar"]},"application/vnd.xfdl":{source:"iana",extensions:["xfdl"]},"application/vnd.xfdl.webform":{source:"iana"},"application/vnd.xmi+xml":{source:"iana",compressible:!0},"application/vnd.xmpie.cpkg":{source:"iana"},"application/vnd.xmpie.dpkg":{source:"iana"},"application/vnd.xmpie.plan":{source:"iana"},"application/vnd.xmpie.ppkg":{source:"iana"},"application/vnd.xmpie.xlim":{source:"iana"},"application/vnd.yamaha.hv-dic":{source:"iana",extensions:["hvd"]},"application/vnd.yamaha.hv-script":{source:"iana",extensions:["hvs"]},"application/vnd.yamaha.hv-voice":{source:"iana",extensions:["hvp"]},"application/vnd.yamaha.openscoreformat":{source:"iana",extensions:["osf"]},"application/vnd.yamaha.openscoreformat.osfpvg+xml":{source:"iana",compressible:!0,extensions:["osfpvg"]},"application/vnd.yamaha.remote-setup":{source:"iana"},"application/vnd.yamaha.smaf-audio":{source:"iana",extensions:["saf"]},"application/vnd.yamaha.smaf-phrase":{source:"iana",extensions:["spf"]},"application/vnd.yamaha.through-ngn":{source:"iana"},"application/vnd.yamaha.tunnel-udpencap":{source:"iana"},"application/vnd.yaoweme":{source:"iana"},"application/vnd.yellowriver-custom-menu":{source:"iana",extensions:["cmp"]},"application/vnd.youtube.yt":{source:"iana"},"application/vnd.zul":{source:"iana",extensions:["zir","zirz"]},"application/vnd.zzazz.deck+xml":{source:"iana",compressible:!0,extensions:["zaz"]},"application/voicexml+xml":{source:"iana",compressible:!0,extensions:["vxml"]},"application/voucher-cms+json":{source:"iana",compressible:!0},"application/vq-rtcpxr":{source:"iana"},"application/wasm":{source:"iana",compressible:!0,extensions:["wasm"]},"application/watcherinfo+xml":{source:"iana",compressible:!0,extensions:["wif"]},"application/webpush-options+json":{source:"iana",compressible:!0},"application/whoispp-query":{source:"iana"},"application/whoispp-response":{source:"iana"},"application/widget":{source:"iana",extensions:["wgt"]},"application/winhlp":{source:"apache",extensions:["hlp"]},"application/wita":{source:"iana"},"application/wordperfect5.1":{source:"iana"},"application/wsdl+xml":{source:"iana",compressible:!0,extensions:["wsdl"]},"application/wspolicy+xml":{source:"iana",compressible:!0,extensions:["wspolicy"]},"application/x-7z-compressed":{source:"apache",compressible:!1,extensions:["7z"]},"application/x-abiword":{source:"apache",extensions:["abw"]},"application/x-ace-compressed":{source:"apache",extensions:["ace"]},"application/x-amf":{source:"apache"},"application/x-apple-diskimage":{source:"apache",extensions:["dmg"]},"application/x-arj":{compressible:!1,extensions:["arj"]},"application/x-authorware-bin":{source:"apache",extensions:["aab","x32","u32","vox"]},"application/x-authorware-map":{source:"apache",extensions:["aam"]},"application/x-authorware-seg":{source:"apache",extensions:["aas"]},"application/x-bcpio":{source:"apache",extensions:["bcpio"]},"application/x-bdoc":{compressible:!1,extensions:["bdoc"]},"application/x-bittorrent":{source:"apache",extensions:["torrent"]},"application/x-blorb":{source:"apache",extensions:["blb","blorb"]},"application/x-bzip":{source:"apache",compressible:!1,extensions:["bz"]},"application/x-bzip2":{source:"apache",compressible:!1,extensions:["bz2","boz"]},"application/x-cbr":{source:"apache",extensions:["cbr","cba","cbt","cbz","cb7"]},"application/x-cdlink":{source:"apache",extensions:["vcd"]},"application/x-cfs-compressed":{source:"apache",extensions:["cfs"]},"application/x-chat":{source:"apache",extensions:["chat"]},"application/x-chess-pgn":{source:"apache",extensions:["pgn"]},"application/x-chrome-extension":{extensions:["crx"]},"application/x-cocoa":{source:"nginx",extensions:["cco"]},"application/x-compress":{source:"apache"},"application/x-conference":{source:"apache",extensions:["nsc"]},"application/x-cpio":{source:"apache",extensions:["cpio"]},"application/x-csh":{source:"apache",extensions:["csh"]},"application/x-deb":{compressible:!1},"application/x-debian-package":{source:"apache",extensions:["deb","udeb"]},"application/x-dgc-compressed":{source:"apache",extensions:["dgc"]},"application/x-director":{source:"apache",extensions:["dir","dcr","dxr","cst","cct","cxt","w3d","fgd","swa"]},"application/x-doom":{source:"apache",extensions:["wad"]},"application/x-dtbncx+xml":{source:"apache",compressible:!0,extensions:["ncx"]},"application/x-dtbook+xml":{source:"apache",compressible:!0,extensions:["dtb"]},"application/x-dtbresource+xml":{source:"apache",compressible:!0,extensions:["res"]},"application/x-dvi":{source:"apache",compressible:!1,extensions:["dvi"]},"application/x-envoy":{source:"apache",extensions:["evy"]},"application/x-eva":{source:"apache",extensions:["eva"]},"application/x-font-bdf":{source:"apache",extensions:["bdf"]},"application/x-font-dos":{source:"apache"},"application/x-font-framemaker":{source:"apache"},"application/x-font-ghostscript":{source:"apache",extensions:["gsf"]},"application/x-font-libgrx":{source:"apache"},"application/x-font-linux-psf":{source:"apache",extensions:["psf"]},"application/x-font-pcf":{source:"apache",extensions:["pcf"]},"application/x-font-snf":{source:"apache",extensions:["snf"]},"application/x-font-speedo":{source:"apache"},"application/x-font-sunos-news":{source:"apache"},"application/x-font-type1":{source:"apache",extensions:["pfa","pfb","pfm","afm"]},"application/x-font-vfont":{source:"apache"},"application/x-freearc":{source:"apache",extensions:["arc"]},"application/x-futuresplash":{source:"apache",extensions:["spl"]},"application/x-gca-compressed":{source:"apache",extensions:["gca"]},"application/x-glulx":{source:"apache",extensions:["ulx"]},"application/x-gnumeric":{source:"apache",extensions:["gnumeric"]},"application/x-gramps-xml":{source:"apache",extensions:["gramps"]},"application/x-gtar":{source:"apache",extensions:["gtar"]},"application/x-gzip":{source:"apache"},"application/x-hdf":{source:"apache",extensions:["hdf"]},"application/x-httpd-php":{compressible:!0,extensions:["php"]},"application/x-install-instructions":{source:"apache",extensions:["install"]},"application/x-iso9660-image":{source:"apache",extensions:["iso"]},"application/x-iwork-keynote-sffkey":{extensions:["key"]},"application/x-iwork-numbers-sffnumbers":{extensions:["numbers"]},"application/x-iwork-pages-sffpages":{extensions:["pages"]},"application/x-java-archive-diff":{source:"nginx",extensions:["jardiff"]},"application/x-java-jnlp-file":{source:"apache",compressible:!1,extensions:["jnlp"]},"application/x-javascript":{compressible:!0},"application/x-keepass2":{extensions:["kdbx"]},"application/x-latex":{source:"apache",compressible:!1,extensions:["latex"]},"application/x-lua-bytecode":{extensions:["luac"]},"application/x-lzh-compressed":{source:"apache",extensions:["lzh","lha"]},"application/x-makeself":{source:"nginx",extensions:["run"]},"application/x-mie":{source:"apache",extensions:["mie"]},"application/x-mobipocket-ebook":{source:"apache",extensions:["prc","mobi"]},"application/x-mpegurl":{compressible:!1},"application/x-ms-application":{source:"apache",extensions:["application"]},"application/x-ms-shortcut":{source:"apache",extensions:["lnk"]},"application/x-ms-wmd":{source:"apache",extensions:["wmd"]},"application/x-ms-wmz":{source:"apache",extensions:["wmz"]},"application/x-ms-xbap":{source:"apache",extensions:["xbap"]},"application/x-msaccess":{source:"apache",extensions:["mdb"]},"application/x-msbinder":{source:"apache",extensions:["obd"]},"application/x-mscardfile":{source:"apache",extensions:["crd"]},"application/x-msclip":{source:"apache",extensions:["clp"]},"application/x-msdos-program":{extensions:["exe"]},"application/x-msdownload":{source:"apache",extensions:["exe","dll","com","bat","msi"]},"application/x-msmediaview":{source:"apache",extensions:["mvb","m13","m14"]},"application/x-msmetafile":{source:"apache",extensions:["wmf","wmz","emf","emz"]},"application/x-msmoney":{source:"apache",extensions:["mny"]},"application/x-mspublisher":{source:"apache",extensions:["pub"]},"application/x-msschedule":{source:"apache",extensions:["scd"]},"application/x-msterminal":{source:"apache",extensions:["trm"]},"application/x-mswrite":{source:"apache",extensions:["wri"]},"application/x-netcdf":{source:"apache",extensions:["nc","cdf"]},"application/x-ns-proxy-autoconfig":{compressible:!0,extensions:["pac"]},"application/x-nzb":{source:"apache",extensions:["nzb"]},"application/x-perl":{source:"nginx",extensions:["pl","pm"]},"application/x-pilot":{source:"nginx",extensions:["prc","pdb"]},"application/x-pkcs12":{source:"apache",compressible:!1,extensions:["p12","pfx"]},"application/x-pkcs7-certificates":{source:"apache",extensions:["p7b","spc"]},"application/x-pkcs7-certreqresp":{source:"apache",extensions:["p7r"]},"application/x-pki-message":{source:"iana"},"application/x-rar-compressed":{source:"apache",compressible:!1,extensions:["rar"]},"application/x-redhat-package-manager":{source:"nginx",extensions:["rpm"]},"application/x-research-info-systems":{source:"apache",extensions:["ris"]},"application/x-sea":{source:"nginx",extensions:["sea"]},"application/x-sh":{source:"apache",compressible:!0,extensions:["sh"]},"application/x-shar":{source:"apache",extensions:["shar"]},"application/x-shockwave-flash":{source:"apache",compressible:!1,extensions:["swf"]},"application/x-silverlight-app":{source:"apache",extensions:["xap"]},"application/x-sql":{source:"apache",extensions:["sql"]},"application/x-stuffit":{source:"apache",compressible:!1,extensions:["sit"]},"application/x-stuffitx":{source:"apache",extensions:["sitx"]},"application/x-subrip":{source:"apache",extensions:["srt"]},"application/x-sv4cpio":{source:"apache",extensions:["sv4cpio"]},"application/x-sv4crc":{source:"apache",extensions:["sv4crc"]},"application/x-t3vm-image":{source:"apache",extensions:["t3"]},"application/x-tads":{source:"apache",extensions:["gam"]},"application/x-tar":{source:"apache",compressible:!0,extensions:["tar"]},"application/x-tcl":{source:"apache",extensions:["tcl","tk"]},"application/x-tex":{source:"apache",extensions:["tex"]},"application/x-tex-tfm":{source:"apache",extensions:["tfm"]},"application/x-texinfo":{source:"apache",extensions:["texinfo","texi"]},"application/x-tgif":{source:"apache",extensions:["obj"]},"application/x-ustar":{source:"apache",extensions:["ustar"]},"application/x-virtualbox-hdd":{compressible:!0,extensions:["hdd"]},"application/x-virtualbox-ova":{compressible:!0,extensions:["ova"]},"application/x-virtualbox-ovf":{compressible:!0,extensions:["ovf"]},"application/x-virtualbox-vbox":{compressible:!0,extensions:["vbox"]},"application/x-virtualbox-vbox-extpack":{compressible:!1,extensions:["vbox-extpack"]},"application/x-virtualbox-vdi":{compressible:!0,extensions:["vdi"]},"application/x-virtualbox-vhd":{compressible:!0,extensions:["vhd"]},"application/x-virtualbox-vmdk":{compressible:!0,extensions:["vmdk"]},"application/x-wais-source":{source:"apache",extensions:["src"]},"application/x-web-app-manifest+json":{compressible:!0,extensions:["webapp"]},"application/x-www-form-urlencoded":{source:"iana",compressible:!0},"application/x-x509-ca-cert":{source:"iana",extensions:["der","crt","pem"]},"application/x-x509-ca-ra-cert":{source:"iana"},"application/x-x509-next-ca-cert":{source:"iana"},"application/x-xfig":{source:"apache",extensions:["fig"]},"application/x-xliff+xml":{source:"apache",compressible:!0,extensions:["xlf"]},"application/x-xpinstall":{source:"apache",compressible:!1,extensions:["xpi"]},"application/x-xz":{source:"apache",extensions:["xz"]},"application/x-zmachine":{source:"apache",extensions:["z1","z2","z3","z4","z5","z6","z7","z8"]},"application/x400-bp":{source:"iana"},"application/xacml+xml":{source:"iana",compressible:!0},"application/xaml+xml":{source:"apache",compressible:!0,extensions:["xaml"]},"application/xcap-att+xml":{source:"iana",compressible:!0,extensions:["xav"]},"application/xcap-caps+xml":{source:"iana",compressible:!0,extensions:["xca"]},"application/xcap-diff+xml":{source:"iana",compressible:!0,extensions:["xdf"]},"application/xcap-el+xml":{source:"iana",compressible:!0,extensions:["xel"]},"application/xcap-error+xml":{source:"iana",compressible:!0},"application/xcap-ns+xml":{source:"iana",compressible:!0,extensions:["xns"]},"application/xcon-conference-info+xml":{source:"iana",compressible:!0},"application/xcon-conference-info-diff+xml":{source:"iana",compressible:!0},"application/xenc+xml":{source:"iana",compressible:!0,extensions:["xenc"]},"application/xhtml+xml":{source:"iana",compressible:!0,extensions:["xhtml","xht"]},"application/xhtml-voice+xml":{source:"apache",compressible:!0},"application/xliff+xml":{source:"iana",compressible:!0,extensions:["xlf"]},"application/xml":{source:"iana",compressible:!0,extensions:["xml","xsl","xsd","rng"]},"application/xml-dtd":{source:"iana",compressible:!0,extensions:["dtd"]},"application/xml-external-parsed-entity":{source:"iana"},"application/xml-patch+xml":{source:"iana",compressible:!0},"application/xmpp+xml":{source:"iana",compressible:!0},"application/xop+xml":{source:"iana",compressible:!0,extensions:["xop"]},"application/xproc+xml":{source:"apache",compressible:!0,extensions:["xpl"]},"application/xslt+xml":{source:"iana",compressible:!0,extensions:["xsl","xslt"]},"application/xspf+xml":{source:"apache",compressible:!0,extensions:["xspf"]},"application/xv+xml":{source:"iana",compressible:!0,extensions:["mxml","xhvml","xvml","xvm"]},"application/yang":{source:"iana",extensions:["yang"]},"application/yang-data+json":{source:"iana",compressible:!0},"application/yang-data+xml":{source:"iana",compressible:!0},"application/yang-patch+json":{source:"iana",compressible:!0},"application/yang-patch+xml":{source:"iana",compressible:!0},"application/yin+xml":{source:"iana",compressible:!0,extensions:["yin"]},"application/zip":{source:"iana",compressible:!1,extensions:["zip"]},"application/zlib":{source:"iana"},"application/zstd":{source:"iana"},"audio/1d-interleaved-parityfec":{source:"iana"},"audio/32kadpcm":{source:"iana"},"audio/3gpp":{source:"iana",compressible:!1,extensions:["3gpp"]},"audio/3gpp2":{source:"iana"},"audio/aac":{source:"iana"},"audio/ac3":{source:"iana"},"audio/adpcm":{source:"apache",extensions:["adp"]},"audio/amr":{source:"iana",extensions:["amr"]},"audio/amr-wb":{source:"iana"},"audio/amr-wb+":{source:"iana"},"audio/aptx":{source:"iana"},"audio/asc":{source:"iana"},"audio/atrac-advanced-lossless":{source:"iana"},"audio/atrac-x":{source:"iana"},"audio/atrac3":{source:"iana"},"audio/basic":{source:"iana",compressible:!1,extensions:["au","snd"]},"audio/bv16":{source:"iana"},"audio/bv32":{source:"iana"},"audio/clearmode":{source:"iana"},"audio/cn":{source:"iana"},"audio/dat12":{source:"iana"},"audio/dls":{source:"iana"},"audio/dsr-es201108":{source:"iana"},"audio/dsr-es202050":{source:"iana"},"audio/dsr-es202211":{source:"iana"},"audio/dsr-es202212":{source:"iana"},"audio/dv":{source:"iana"},"audio/dvi4":{source:"iana"},"audio/eac3":{source:"iana"},"audio/encaprtp":{source:"iana"},"audio/evrc":{source:"iana"},"audio/evrc-qcp":{source:"iana"},"audio/evrc0":{source:"iana"},"audio/evrc1":{source:"iana"},"audio/evrcb":{source:"iana"},"audio/evrcb0":{source:"iana"},"audio/evrcb1":{source:"iana"},"audio/evrcnw":{source:"iana"},"audio/evrcnw0":{source:"iana"},"audio/evrcnw1":{source:"iana"},"audio/evrcwb":{source:"iana"},"audio/evrcwb0":{source:"iana"},"audio/evrcwb1":{source:"iana"},"audio/evs":{source:"iana"},"audio/flexfec":{source:"iana"},"audio/fwdred":{source:"iana"},"audio/g711-0":{source:"iana"},"audio/g719":{source:"iana"},"audio/g722":{source:"iana"},"audio/g7221":{source:"iana"},"audio/g723":{source:"iana"},"audio/g726-16":{source:"iana"},"audio/g726-24":{source:"iana"},"audio/g726-32":{source:"iana"},"audio/g726-40":{source:"iana"},"audio/g728":{source:"iana"},"audio/g729":{source:"iana"},"audio/g7291":{source:"iana"},"audio/g729d":{source:"iana"},"audio/g729e":{source:"iana"},"audio/gsm":{source:"iana"},"audio/gsm-efr":{source:"iana"},"audio/gsm-hr-08":{source:"iana"},"audio/ilbc":{source:"iana"},"audio/ip-mr_v2.5":{source:"iana"},"audio/isac":{source:"apache"},"audio/l16":{source:"iana"},"audio/l20":{source:"iana"},"audio/l24":{source:"iana",compressible:!1},"audio/l8":{source:"iana"},"audio/lpc":{source:"iana"},"audio/melp":{source:"iana"},"audio/melp1200":{source:"iana"},"audio/melp2400":{source:"iana"},"audio/melp600":{source:"iana"},"audio/mhas":{source:"iana"},"audio/midi":{source:"apache",extensions:["mid","midi","kar","rmi"]},"audio/mobile-xmf":{source:"iana",extensions:["mxmf"]},"audio/mp3":{compressible:!1,extensions:["mp3"]},"audio/mp4":{source:"iana",compressible:!1,extensions:["m4a","mp4a"]},"audio/mp4a-latm":{source:"iana"},"audio/mpa":{source:"iana"},"audio/mpa-robust":{source:"iana"},"audio/mpeg":{source:"iana",compressible:!1,extensions:["mpga","mp2","mp2a","mp3","m2a","m3a"]},"audio/mpeg4-generic":{source:"iana"},"audio/musepack":{source:"apache"},"audio/ogg":{source:"iana",compressible:!1,extensions:["oga","ogg","spx","opus"]},"audio/opus":{source:"iana"},"audio/parityfec":{source:"iana"},"audio/pcma":{source:"iana"},"audio/pcma-wb":{source:"iana"},"audio/pcmu":{source:"iana"},"audio/pcmu-wb":{source:"iana"},"audio/prs.sid":{source:"iana"},"audio/qcelp":{source:"iana"},"audio/raptorfec":{source:"iana"},"audio/red":{source:"iana"},"audio/rtp-enc-aescm128":{source:"iana"},"audio/rtp-midi":{source:"iana"},"audio/rtploopback":{source:"iana"},"audio/rtx":{source:"iana"},"audio/s3m":{source:"apache",extensions:["s3m"]},"audio/scip":{source:"iana"},"audio/silk":{source:"apache",extensions:["sil"]},"audio/smv":{source:"iana"},"audio/smv-qcp":{source:"iana"},"audio/smv0":{source:"iana"},"audio/sofa":{source:"iana"},"audio/sp-midi":{source:"iana"},"audio/speex":{source:"iana"},"audio/t140c":{source:"iana"},"audio/t38":{source:"iana"},"audio/telephone-event":{source:"iana"},"audio/tetra_acelp":{source:"iana"},"audio/tetra_acelp_bb":{source:"iana"},"audio/tone":{source:"iana"},"audio/tsvcis":{source:"iana"},"audio/uemclip":{source:"iana"},"audio/ulpfec":{source:"iana"},"audio/usac":{source:"iana"},"audio/vdvi":{source:"iana"},"audio/vmr-wb":{source:"iana"},"audio/vnd.3gpp.iufp":{source:"iana"},"audio/vnd.4sb":{source:"iana"},"audio/vnd.audiokoz":{source:"iana"},"audio/vnd.celp":{source:"iana"},"audio/vnd.cisco.nse":{source:"iana"},"audio/vnd.cmles.radio-events":{source:"iana"},"audio/vnd.cns.anp1":{source:"iana"},"audio/vnd.cns.inf1":{source:"iana"},"audio/vnd.dece.audio":{source:"iana",extensions:["uva","uvva"]},"audio/vnd.digital-winds":{source:"iana",extensions:["eol"]},"audio/vnd.dlna.adts":{source:"iana"},"audio/vnd.dolby.heaac.1":{source:"iana"},"audio/vnd.dolby.heaac.2":{source:"iana"},"audio/vnd.dolby.mlp":{source:"iana"},"audio/vnd.dolby.mps":{source:"iana"},"audio/vnd.dolby.pl2":{source:"iana"},"audio/vnd.dolby.pl2x":{source:"iana"},"audio/vnd.dolby.pl2z":{source:"iana"},"audio/vnd.dolby.pulse.1":{source:"iana"},"audio/vnd.dra":{source:"iana",extensions:["dra"]},"audio/vnd.dts":{source:"iana",extensions:["dts"]},"audio/vnd.dts.hd":{source:"iana",extensions:["dtshd"]},"audio/vnd.dts.uhd":{source:"iana"},"audio/vnd.dvb.file":{source:"iana"},"audio/vnd.everad.plj":{source:"iana"},"audio/vnd.hns.audio":{source:"iana"},"audio/vnd.lucent.voice":{source:"iana",extensions:["lvp"]},"audio/vnd.ms-playready.media.pya":{source:"iana",extensions:["pya"]},"audio/vnd.nokia.mobile-xmf":{source:"iana"},"audio/vnd.nortel.vbk":{source:"iana"},"audio/vnd.nuera.ecelp4800":{source:"iana",extensions:["ecelp4800"]},"audio/vnd.nuera.ecelp7470":{source:"iana",extensions:["ecelp7470"]},"audio/vnd.nuera.ecelp9600":{source:"iana",extensions:["ecelp9600"]},"audio/vnd.octel.sbc":{source:"iana"},"audio/vnd.presonus.multitrack":{source:"iana"},"audio/vnd.qcelp":{source:"iana"},"audio/vnd.rhetorex.32kadpcm":{source:"iana"},"audio/vnd.rip":{source:"iana",extensions:["rip"]},"audio/vnd.rn-realaudio":{compressible:!1},"audio/vnd.sealedmedia.softseal.mpeg":{source:"iana"},"audio/vnd.vmx.cvsd":{source:"iana"},"audio/vnd.wave":{compressible:!1},"audio/vorbis":{source:"iana",compressible:!1},"audio/vorbis-config":{source:"iana"},"audio/wav":{compressible:!1,extensions:["wav"]},"audio/wave":{compressible:!1,extensions:["wav"]},"audio/webm":{source:"apache",compressible:!1,extensions:["weba"]},"audio/x-aac":{source:"apache",compressible:!1,extensions:["aac"]},"audio/x-aiff":{source:"apache",extensions:["aif","aiff","aifc"]},"audio/x-caf":{source:"apache",compressible:!1,extensions:["caf"]},"audio/x-flac":{source:"apache",extensions:["flac"]},"audio/x-m4a":{source:"nginx",extensions:["m4a"]},"audio/x-matroska":{source:"apache",extensions:["mka"]},"audio/x-mpegurl":{source:"apache",extensions:["m3u"]},"audio/x-ms-wax":{source:"apache",extensions:["wax"]},"audio/x-ms-wma":{source:"apache",extensions:["wma"]},"audio/x-pn-realaudio":{source:"apache",extensions:["ram","ra"]},"audio/x-pn-realaudio-plugin":{source:"apache",extensions:["rmp"]},"audio/x-realaudio":{source:"nginx",extensions:["ra"]},"audio/x-tta":{source:"apache"},"audio/x-wav":{source:"apache",extensions:["wav"]},"audio/xm":{source:"apache",extensions:["xm"]},"chemical/x-cdx":{source:"apache",extensions:["cdx"]},"chemical/x-cif":{source:"apache",extensions:["cif"]},"chemical/x-cmdf":{source:"apache",extensions:["cmdf"]},"chemical/x-cml":{source:"apache",extensions:["cml"]},"chemical/x-csml":{source:"apache",extensions:["csml"]},"chemical/x-pdb":{source:"apache"},"chemical/x-xyz":{source:"apache",extensions:["xyz"]},"font/collection":{source:"iana",extensions:["ttc"]},"font/otf":{source:"iana",compressible:!0,extensions:["otf"]},"font/sfnt":{source:"iana"},"font/ttf":{source:"iana",compressible:!0,extensions:["ttf"]},"font/woff":{source:"iana",extensions:["woff"]},"font/woff2":{source:"iana",extensions:["woff2"]},"image/aces":{source:"iana",extensions:["exr"]},"image/apng":{compressible:!1,extensions:["apng"]},"image/avci":{source:"iana",extensions:["avci"]},"image/avcs":{source:"iana",extensions:["avcs"]},"image/avif":{source:"iana",compressible:!1,extensions:["avif"]},"image/bmp":{source:"iana",compressible:!0,extensions:["bmp"]},"image/cgm":{source:"iana",extensions:["cgm"]},"image/dicom-rle":{source:"iana",extensions:["drle"]},"image/emf":{source:"iana",extensions:["emf"]},"image/fits":{source:"iana",extensions:["fits"]},"image/g3fax":{source:"iana",extensions:["g3"]},"image/gif":{source:"iana",compressible:!1,extensions:["gif"]},"image/heic":{source:"iana",extensions:["heic"]},"image/heic-sequence":{source:"iana",extensions:["heics"]},"image/heif":{source:"iana",extensions:["heif"]},"image/heif-sequence":{source:"iana",extensions:["heifs"]},"image/hej2k":{source:"iana",extensions:["hej2"]},"image/hsj2":{source:"iana",extensions:["hsj2"]},"image/ief":{source:"iana",extensions:["ief"]},"image/jls":{source:"iana",extensions:["jls"]},"image/jp2":{source:"iana",compressible:!1,extensions:["jp2","jpg2"]},"image/jpeg":{source:"iana",compressible:!1,extensions:["jpeg","jpg","jpe"]},"image/jph":{source:"iana",extensions:["jph"]},"image/jphc":{source:"iana",extensions:["jhc"]},"image/jpm":{source:"iana",compressible:!1,extensions:["jpm"]},"image/jpx":{source:"iana",compressible:!1,extensions:["jpx","jpf"]},"image/jxr":{source:"iana",extensions:["jxr"]},"image/jxra":{source:"iana",extensions:["jxra"]},"image/jxrs":{source:"iana",extensions:["jxrs"]},"image/jxs":{source:"iana",extensions:["jxs"]},"image/jxsc":{source:"iana",extensions:["jxsc"]},"image/jxsi":{source:"iana",extensions:["jxsi"]},"image/jxss":{source:"iana",extensions:["jxss"]},"image/ktx":{source:"iana",extensions:["ktx"]},"image/ktx2":{source:"iana",extensions:["ktx2"]},"image/naplps":{source:"iana"},"image/pjpeg":{compressible:!1},"image/png":{source:"iana",compressible:!1,extensions:["png"]},"image/prs.btif":{source:"iana",extensions:["btif"]},"image/prs.pti":{source:"iana",extensions:["pti"]},"image/pwg-raster":{source:"iana"},"image/sgi":{source:"apache",extensions:["sgi"]},"image/svg+xml":{source:"iana",compressible:!0,extensions:["svg","svgz"]},"image/t38":{source:"iana",extensions:["t38"]},"image/tiff":{source:"iana",compressible:!1,extensions:["tif","tiff"]},"image/tiff-fx":{source:"iana",extensions:["tfx"]},"image/vnd.adobe.photoshop":{source:"iana",compressible:!0,extensions:["psd"]},"image/vnd.airzip.accelerator.azv":{source:"iana",extensions:["azv"]},"image/vnd.cns.inf2":{source:"iana"},"image/vnd.dece.graphic":{source:"iana",extensions:["uvi","uvvi","uvg","uvvg"]},"image/vnd.djvu":{source:"iana",extensions:["djvu","djv"]},"image/vnd.dvb.subtitle":{source:"iana",extensions:["sub"]},"image/vnd.dwg":{source:"iana",extensions:["dwg"]},"image/vnd.dxf":{source:"iana",extensions:["dxf"]},"image/vnd.fastbidsheet":{source:"iana",extensions:["fbs"]},"image/vnd.fpx":{source:"iana",extensions:["fpx"]},"image/vnd.fst":{source:"iana",extensions:["fst"]},"image/vnd.fujixerox.edmics-mmr":{source:"iana",extensions:["mmr"]},"image/vnd.fujixerox.edmics-rlc":{source:"iana",extensions:["rlc"]},"image/vnd.globalgraphics.pgb":{source:"iana"},"image/vnd.microsoft.icon":{source:"iana",compressible:!0,extensions:["ico"]},"image/vnd.mix":{source:"iana"},"image/vnd.mozilla.apng":{source:"iana"},"image/vnd.ms-dds":{compressible:!0,extensions:["dds"]},"image/vnd.ms-modi":{source:"iana",extensions:["mdi"]},"image/vnd.ms-photo":{source:"apache",extensions:["wdp"]},"image/vnd.net-fpx":{source:"iana",extensions:["npx"]},"image/vnd.pco.b16":{source:"iana",extensions:["b16"]},"image/vnd.radiance":{source:"iana"},"image/vnd.sealed.png":{source:"iana"},"image/vnd.sealedmedia.softseal.gif":{source:"iana"},"image/vnd.sealedmedia.softseal.jpg":{source:"iana"},"image/vnd.svf":{source:"iana"},"image/vnd.tencent.tap":{source:"iana",extensions:["tap"]},"image/vnd.valve.source.texture":{source:"iana",extensions:["vtf"]},"image/vnd.wap.wbmp":{source:"iana",extensions:["wbmp"]},"image/vnd.xiff":{source:"iana",extensions:["xif"]},"image/vnd.zbrush.pcx":{source:"iana",extensions:["pcx"]},"image/webp":{source:"apache",extensions:["webp"]},"image/wmf":{source:"iana",extensions:["wmf"]},"image/x-3ds":{source:"apache",extensions:["3ds"]},"image/x-cmu-raster":{source:"apache",extensions:["ras"]},"image/x-cmx":{source:"apache",extensions:["cmx"]},"image/x-freehand":{source:"apache",extensions:["fh","fhc","fh4","fh5","fh7"]},"image/x-icon":{source:"apache",compressible:!0,extensions:["ico"]},"image/x-jng":{source:"nginx",extensions:["jng"]},"image/x-mrsid-image":{source:"apache",extensions:["sid"]},"image/x-ms-bmp":{source:"nginx",compressible:!0,extensions:["bmp"]},"image/x-pcx":{source:"apache",extensions:["pcx"]},"image/x-pict":{source:"apache",extensions:["pic","pct"]},"image/x-portable-anymap":{source:"apache",extensions:["pnm"]},"image/x-portable-bitmap":{source:"apache",extensions:["pbm"]},"image/x-portable-graymap":{source:"apache",extensions:["pgm"]},"image/x-portable-pixmap":{source:"apache",extensions:["ppm"]},"image/x-rgb":{source:"apache",extensions:["rgb"]},"image/x-tga":{source:"apache",extensions:["tga"]},"image/x-xbitmap":{source:"apache",extensions:["xbm"]},"image/x-xcf":{compressible:!1},"image/x-xpixmap":{source:"apache",extensions:["xpm"]},"image/x-xwindowdump":{source:"apache",extensions:["xwd"]},"message/cpim":{source:"iana"},"message/delivery-status":{source:"iana"},"message/disposition-notification":{source:"iana",extensions:["disposition-notification"]},"message/external-body":{source:"iana"},"message/feedback-report":{source:"iana"},"message/global":{source:"iana",extensions:["u8msg"]},"message/global-delivery-status":{source:"iana",extensions:["u8dsn"]},"message/global-disposition-notification":{source:"iana",extensions:["u8mdn"]},"message/global-headers":{source:"iana",extensions:["u8hdr"]},"message/http":{source:"iana",compressible:!1},"message/imdn+xml":{source:"iana",compressible:!0},"message/news":{source:"iana"},"message/partial":{source:"iana",compressible:!1},"message/rfc822":{source:"iana",compressible:!0,extensions:["eml","mime"]},"message/s-http":{source:"iana"},"message/sip":{source:"iana"},"message/sipfrag":{source:"iana"},"message/tracking-status":{source:"iana"},"message/vnd.si.simp":{source:"iana"},"message/vnd.wfa.wsc":{source:"iana",extensions:["wsc"]},"model/3mf":{source:"iana",extensions:["3mf"]},"model/e57":{source:"iana"},"model/gltf+json":{source:"iana",compressible:!0,extensions:["gltf"]},"model/gltf-binary":{source:"iana",compressible:!0,extensions:["glb"]},"model/iges":{source:"iana",compressible:!1,extensions:["igs","iges"]},"model/mesh":{source:"iana",compressible:!1,extensions:["msh","mesh","silo"]},"model/mtl":{source:"iana",extensions:["mtl"]},"model/obj":{source:"iana",extensions:["obj"]},"model/step":{source:"iana"},"model/step+xml":{source:"iana",compressible:!0,extensions:["stpx"]},"model/step+zip":{source:"iana",compressible:!1,extensions:["stpz"]},"model/step-xml+zip":{source:"iana",compressible:!1,extensions:["stpxz"]},"model/stl":{source:"iana",extensions:["stl"]},"model/vnd.collada+xml":{source:"iana",compressible:!0,extensions:["dae"]},"model/vnd.dwf":{source:"iana",extensions:["dwf"]},"model/vnd.flatland.3dml":{source:"iana"},"model/vnd.gdl":{source:"iana",extensions:["gdl"]},"model/vnd.gs-gdl":{source:"apache"},"model/vnd.gs.gdl":{source:"iana"},"model/vnd.gtw":{source:"iana",extensions:["gtw"]},"model/vnd.moml+xml":{source:"iana",compressible:!0},"model/vnd.mts":{source:"iana",extensions:["mts"]},"model/vnd.opengex":{source:"iana",extensions:["ogex"]},"model/vnd.parasolid.transmit.binary":{source:"iana",extensions:["x_b"]},"model/vnd.parasolid.transmit.text":{source:"iana",extensions:["x_t"]},"model/vnd.pytha.pyox":{source:"iana"},"model/vnd.rosette.annotated-data-model":{source:"iana"},"model/vnd.sap.vds":{source:"iana",extensions:["vds"]},"model/vnd.usdz+zip":{source:"iana",compressible:!1,extensions:["usdz"]},"model/vnd.valve.source.compiled-map":{source:"iana",extensions:["bsp"]},"model/vnd.vtu":{source:"iana",extensions:["vtu"]},"model/vrml":{source:"iana",compressible:!1,extensions:["wrl","vrml"]},"model/x3d+binary":{source:"apache",compressible:!1,extensions:["x3db","x3dbz"]},"model/x3d+fastinfoset":{source:"iana",extensions:["x3db"]},"model/x3d+vrml":{source:"apache",compressible:!1,extensions:["x3dv","x3dvz"]},"model/x3d+xml":{source:"iana",compressible:!0,extensions:["x3d","x3dz"]},"model/x3d-vrml":{source:"iana",extensions:["x3dv"]},"multipart/alternative":{source:"iana",compressible:!1},"multipart/appledouble":{source:"iana"},"multipart/byteranges":{source:"iana"},"multipart/digest":{source:"iana"},"multipart/encrypted":{source:"iana",compressible:!1},"multipart/form-data":{source:"iana",compressible:!1},"multipart/header-set":{source:"iana"},"multipart/mixed":{source:"iana"},"multipart/multilingual":{source:"iana"},"multipart/parallel":{source:"iana"},"multipart/related":{source:"iana",compressible:!1},"multipart/report":{source:"iana"},"multipart/signed":{source:"iana",compressible:!1},"multipart/vnd.bint.med-plus":{source:"iana"},"multipart/voice-message":{source:"iana"},"multipart/x-mixed-replace":{source:"iana"},"text/1d-interleaved-parityfec":{source:"iana"},"text/cache-manifest":{source:"iana",compressible:!0,extensions:["appcache","manifest"]},"text/calendar":{source:"iana",extensions:["ics","ifb"]},"text/calender":{compressible:!0},"text/cmd":{compressible:!0},"text/coffeescript":{extensions:["coffee","litcoffee"]},"text/cql":{source:"iana"},"text/cql-expression":{source:"iana"},"text/cql-identifier":{source:"iana"},"text/css":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["css"]},"text/csv":{source:"iana",compressible:!0,extensions:["csv"]},"text/csv-schema":{source:"iana"},"text/directory":{source:"iana"},"text/dns":{source:"iana"},"text/ecmascript":{source:"iana"},"text/encaprtp":{source:"iana"},"text/enriched":{source:"iana"},"text/fhirpath":{source:"iana"},"text/flexfec":{source:"iana"},"text/fwdred":{source:"iana"},"text/gff3":{source:"iana"},"text/grammar-ref-list":{source:"iana"},"text/html":{source:"iana",compressible:!0,extensions:["html","htm","shtml"]},"text/jade":{extensions:["jade"]},"text/javascript":{source:"iana",compressible:!0},"text/jcr-cnd":{source:"iana"},"text/jsx":{compressible:!0,extensions:["jsx"]},"text/less":{compressible:!0,extensions:["less"]},"text/markdown":{source:"iana",compressible:!0,extensions:["markdown","md"]},"text/mathml":{source:"nginx",extensions:["mml"]},"text/mdx":{compressible:!0,extensions:["mdx"]},"text/mizar":{source:"iana"},"text/n3":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["n3"]},"text/parameters":{source:"iana",charset:"UTF-8"},"text/parityfec":{source:"iana"},"text/plain":{source:"iana",compressible:!0,extensions:["txt","text","conf","def","list","log","in","ini"]},"text/provenance-notation":{source:"iana",charset:"UTF-8"},"text/prs.fallenstein.rst":{source:"iana"},"text/prs.lines.tag":{source:"iana",extensions:["dsc"]},"text/prs.prop.logic":{source:"iana"},"text/raptorfec":{source:"iana"},"text/red":{source:"iana"},"text/rfc822-headers":{source:"iana"},"text/richtext":{source:"iana",compressible:!0,extensions:["rtx"]},"text/rtf":{source:"iana",compressible:!0,extensions:["rtf"]},"text/rtp-enc-aescm128":{source:"iana"},"text/rtploopback":{source:"iana"},"text/rtx":{source:"iana"},"text/sgml":{source:"iana",extensions:["sgml","sgm"]},"text/shaclc":{source:"iana"},"text/shex":{source:"iana",extensions:["shex"]},"text/slim":{extensions:["slim","slm"]},"text/spdx":{source:"iana",extensions:["spdx"]},"text/strings":{source:"iana"},"text/stylus":{extensions:["stylus","styl"]},"text/t140":{source:"iana"},"text/tab-separated-values":{source:"iana",compressible:!0,extensions:["tsv"]},"text/troff":{source:"iana",extensions:["t","tr","roff","man","me","ms"]},"text/turtle":{source:"iana",charset:"UTF-8",extensions:["ttl"]},"text/ulpfec":{source:"iana"},"text/uri-list":{source:"iana",compressible:!0,extensions:["uri","uris","urls"]},"text/vcard":{source:"iana",compressible:!0,extensions:["vcard"]},"text/vnd.a":{source:"iana"},"text/vnd.abc":{source:"iana"},"text/vnd.ascii-art":{source:"iana"},"text/vnd.curl":{source:"iana",extensions:["curl"]},"text/vnd.curl.dcurl":{source:"apache",extensions:["dcurl"]},"text/vnd.curl.mcurl":{source:"apache",extensions:["mcurl"]},"text/vnd.curl.scurl":{source:"apache",extensions:["scurl"]},"text/vnd.debian.copyright":{source:"iana",charset:"UTF-8"},"text/vnd.dmclientscript":{source:"iana"},"text/vnd.dvb.subtitle":{source:"iana",extensions:["sub"]},"text/vnd.esmertec.theme-descriptor":{source:"iana",charset:"UTF-8"},"text/vnd.familysearch.gedcom":{source:"iana",extensions:["ged"]},"text/vnd.ficlab.flt":{source:"iana"},"text/vnd.fly":{source:"iana",extensions:["fly"]},"text/vnd.fmi.flexstor":{source:"iana",extensions:["flx"]},"text/vnd.gml":{source:"iana"},"text/vnd.graphviz":{source:"iana",extensions:["gv"]},"text/vnd.hans":{source:"iana"},"text/vnd.hgl":{source:"iana"},"text/vnd.in3d.3dml":{source:"iana",extensions:["3dml"]},"text/vnd.in3d.spot":{source:"iana",extensions:["spot"]},"text/vnd.iptc.newsml":{source:"iana"},"text/vnd.iptc.nitf":{source:"iana"},"text/vnd.latex-z":{source:"iana"},"text/vnd.motorola.reflex":{source:"iana"},"text/vnd.ms-mediapackage":{source:"iana"},"text/vnd.net2phone.commcenter.command":{source:"iana"},"text/vnd.radisys.msml-basic-layout":{source:"iana"},"text/vnd.senx.warpscript":{source:"iana"},"text/vnd.si.uricatalogue":{source:"iana"},"text/vnd.sosi":{source:"iana"},"text/vnd.sun.j2me.app-descriptor":{source:"iana",charset:"UTF-8",extensions:["jad"]},"text/vnd.trolltech.linguist":{source:"iana",charset:"UTF-8"},"text/vnd.wap.si":{source:"iana"},"text/vnd.wap.sl":{source:"iana"},"text/vnd.wap.wml":{source:"iana",extensions:["wml"]},"text/vnd.wap.wmlscript":{source:"iana",extensions:["wmls"]},"text/vtt":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["vtt"]},"text/x-asm":{source:"apache",extensions:["s","asm"]},"text/x-c":{source:"apache",extensions:["c","cc","cxx","cpp","h","hh","dic"]},"text/x-component":{source:"nginx",extensions:["htc"]},"text/x-fortran":{source:"apache",extensions:["f","for","f77","f90"]},"text/x-gwt-rpc":{compressible:!0},"text/x-handlebars-template":{extensions:["hbs"]},"text/x-java-source":{source:"apache",extensions:["java"]},"text/x-jquery-tmpl":{compressible:!0},"text/x-lua":{extensions:["lua"]},"text/x-markdown":{compressible:!0,extensions:["mkd"]},"text/x-nfo":{source:"apache",extensions:["nfo"]},"text/x-opml":{source:"apache",extensions:["opml"]},"text/x-org":{compressible:!0,extensions:["org"]},"text/x-pascal":{source:"apache",extensions:["p","pas"]},"text/x-processing":{compressible:!0,extensions:["pde"]},"text/x-sass":{extensions:["sass"]},"text/x-scss":{extensions:["scss"]},"text/x-setext":{source:"apache",extensions:["etx"]},"text/x-sfv":{source:"apache",extensions:["sfv"]},"text/x-suse-ymp":{compressible:!0,extensions:["ymp"]},"text/x-uuencode":{source:"apache",extensions:["uu"]},"text/x-vcalendar":{source:"apache",extensions:["vcs"]},"text/x-vcard":{source:"apache",extensions:["vcf"]},"text/xml":{source:"iana",compressible:!0,extensions:["xml"]},"text/xml-external-parsed-entity":{source:"iana"},"text/yaml":{compressible:!0,extensions:["yaml","yml"]},"video/1d-interleaved-parityfec":{source:"iana"},"video/3gpp":{source:"iana",extensions:["3gp","3gpp"]},"video/3gpp-tt":{source:"iana"},"video/3gpp2":{source:"iana",extensions:["3g2"]},"video/av1":{source:"iana"},"video/bmpeg":{source:"iana"},"video/bt656":{source:"iana"},"video/celb":{source:"iana"},"video/dv":{source:"iana"},"video/encaprtp":{source:"iana"},"video/ffv1":{source:"iana"},"video/flexfec":{source:"iana"},"video/h261":{source:"iana",extensions:["h261"]},"video/h263":{source:"iana",extensions:["h263"]},"video/h263-1998":{source:"iana"},"video/h263-2000":{source:"iana"},"video/h264":{source:"iana",extensions:["h264"]},"video/h264-rcdo":{source:"iana"},"video/h264-svc":{source:"iana"},"video/h265":{source:"iana"},"video/iso.segment":{source:"iana",extensions:["m4s"]},"video/jpeg":{source:"iana",extensions:["jpgv"]},"video/jpeg2000":{source:"iana"},"video/jpm":{source:"apache",extensions:["jpm","jpgm"]},"video/jxsv":{source:"iana"},"video/mj2":{source:"iana",extensions:["mj2","mjp2"]},"video/mp1s":{source:"iana"},"video/mp2p":{source:"iana"},"video/mp2t":{source:"iana",extensions:["ts"]},"video/mp4":{source:"iana",compressible:!1,extensions:["mp4","mp4v","mpg4"]},"video/mp4v-es":{source:"iana"},"video/mpeg":{source:"iana",compressible:!1,extensions:["mpeg","mpg","mpe","m1v","m2v"]},"video/mpeg4-generic":{source:"iana"},"video/mpv":{source:"iana"},"video/nv":{source:"iana"},"video/ogg":{source:"iana",compressible:!1,extensions:["ogv"]},"video/parityfec":{source:"iana"},"video/pointer":{source:"iana"},"video/quicktime":{source:"iana",compressible:!1,extensions:["qt","mov"]},"video/raptorfec":{source:"iana"},"video/raw":{source:"iana"},"video/rtp-enc-aescm128":{source:"iana"},"video/rtploopback":{source:"iana"},"video/rtx":{source:"iana"},"video/scip":{source:"iana"},"video/smpte291":{source:"iana"},"video/smpte292m":{source:"iana"},"video/ulpfec":{source:"iana"},"video/vc1":{source:"iana"},"video/vc2":{source:"iana"},"video/vnd.cctv":{source:"iana"},"video/vnd.dece.hd":{source:"iana",extensions:["uvh","uvvh"]},"video/vnd.dece.mobile":{source:"iana",extensions:["uvm","uvvm"]},"video/vnd.dece.mp4":{source:"iana"},"video/vnd.dece.pd":{source:"iana",extensions:["uvp","uvvp"]},"video/vnd.dece.sd":{source:"iana",extensions:["uvs","uvvs"]},"video/vnd.dece.video":{source:"iana",extensions:["uvv","uvvv"]},"video/vnd.directv.mpeg":{source:"iana"},"video/vnd.directv.mpeg-tts":{source:"iana"},"video/vnd.dlna.mpeg-tts":{source:"iana"},"video/vnd.dvb.file":{source:"iana",extensions:["dvb"]},"video/vnd.fvt":{source:"iana",extensions:["fvt"]},"video/vnd.hns.video":{source:"iana"},"video/vnd.iptvforum.1dparityfec-1010":{source:"iana"},"video/vnd.iptvforum.1dparityfec-2005":{source:"iana"},"video/vnd.iptvforum.2dparityfec-1010":{source:"iana"},"video/vnd.iptvforum.2dparityfec-2005":{source:"iana"},"video/vnd.iptvforum.ttsavc":{source:"iana"},"video/vnd.iptvforum.ttsmpeg2":{source:"iana"},"video/vnd.motorola.video":{source:"iana"},"video/vnd.motorola.videop":{source:"iana"},"video/vnd.mpegurl":{source:"iana",extensions:["mxu","m4u"]},"video/vnd.ms-playready.media.pyv":{source:"iana",extensions:["pyv"]},"video/vnd.nokia.interleaved-multimedia":{source:"iana"},"video/vnd.nokia.mp4vr":{source:"iana"},"video/vnd.nokia.videovoip":{source:"iana"},"video/vnd.objectvideo":{source:"iana"},"video/vnd.radgamettools.bink":{source:"iana"},"video/vnd.radgamettools.smacker":{source:"iana"},"video/vnd.sealed.mpeg1":{source:"iana"},"video/vnd.sealed.mpeg4":{source:"iana"},"video/vnd.sealed.swf":{source:"iana"},"video/vnd.sealedmedia.softseal.mov":{source:"iana"},"video/vnd.uvvu.mp4":{source:"iana",extensions:["uvu","uvvu"]},"video/vnd.vivo":{source:"iana",extensions:["viv"]},"video/vnd.youtube.yt":{source:"iana"},"video/vp8":{source:"iana"},"video/vp9":{source:"iana"},"video/webm":{source:"apache",compressible:!1,extensions:["webm"]},"video/x-f4v":{source:"apache",extensions:["f4v"]},"video/x-fli":{source:"apache",extensions:["fli"]},"video/x-flv":{source:"apache",compressible:!1,extensions:["flv"]},"video/x-m4v":{source:"apache",extensions:["m4v"]},"video/x-matroska":{source:"apache",compressible:!1,extensions:["mkv","mk3d","mks"]},"video/x-mng":{source:"apache",extensions:["mng"]},"video/x-ms-asf":{source:"apache",extensions:["asf","asx"]},"video/x-ms-vob":{source:"apache",extensions:["vob"]},"video/x-ms-wm":{source:"apache",extensions:["wm"]},"video/x-ms-wmv":{source:"apache",compressible:!1,extensions:["wmv"]},"video/x-ms-wmx":{source:"apache",extensions:["wmx"]},"video/x-ms-wvx":{source:"apache",extensions:["wvx"]},"video/x-msvideo":{source:"apache",extensions:["avi"]},"video/x-sgi-movie":{source:"apache",extensions:["movie"]},"video/x-smv":{source:"apache",extensions:["smv"]},"x-conference/x-cooltalk":{source:"apache",extensions:["ice"]},"x-shader/x-fragment":{compressible:!0},"x-shader/x-vertex":{compressible:!0}};function requireMimeTypes$1(){return hasRequiredMimeTypes$1||(hasRequiredMimeTypes$1=1,function(exports){var db=function requireMimeDb(){return hasRequiredMimeDb?mimeDb:(hasRequiredMimeDb=1,mimeDb=require$$0$1)}
|
|
3
|
-
/*!
|
|
4
|
-
* mime-types
|
|
5
|
-
* Copyright(c) 2014 Jonathan Ong
|
|
6
|
-
* Copyright(c) 2015 Douglas Christopher Wilson
|
|
7
|
-
* MIT Licensed
|
|
8
|
-
*/(),extname=path__default.default.extname,EXTRACT_TYPE_REGEXP=/^\s*([^;\s]*)(?:;|\s|$)/,TEXT_TYPE_REGEXP=/^text\//i;function charset(type){if(!type||"string"!=typeof type)return!1;var match=EXTRACT_TYPE_REGEXP.exec(type),mime=match&&db[match[1].toLowerCase()];return mime&&mime.charset?mime.charset:!(!match||!TEXT_TYPE_REGEXP.test(match[1]))&&"UTF-8"}exports.charset=charset,exports.charsets={lookup:charset},exports.contentType=function contentType(str){if(!str||"string"!=typeof str)return!1;var mime=-1===str.indexOf("/")?exports.lookup(str):str;if(!mime)return!1;if(-1===mime.indexOf("charset")){var charset=exports.charset(mime);charset&&(mime+="; charset="+charset.toLowerCase())}return mime},exports.extension=function extension(type){if(!type||"string"!=typeof type)return!1;var match=EXTRACT_TYPE_REGEXP.exec(type),exts=match&&exports.extensions[match[1].toLowerCase()];if(!exts||!exts.length)return!1;return exts[0]},exports.extensions=Object.create(null),exports.lookup=function lookup(path){if(!path||"string"!=typeof path)return!1;var extension=extname("x."+path).toLowerCase().substr(1);if(!extension)return!1;return exports.types[extension]||!1},exports.types=Object.create(null),function populateMaps(extensions,types){var preference=["nginx","apache",void 0,"iana"];Object.keys(db).forEach((function forEachMimeType(type){var mime=db[type],exts=mime.extensions;if(exts&&exts.length){extensions[type]=exts;for(var i=0;i<exts.length;i++){var extension=exts[i];if(types[extension]){var from=preference.indexOf(db[types[extension]].source),to=preference.indexOf(mime.source);if("application/octet-stream"!==types[extension]&&(from>to||from===to&&"application/"===types[extension].substr(0,12)))continue}types[extension]=type}}}))}(exports.extensions,exports.types)}(mimeTypes)),mimeTypes}function requireAsync(){if(hasRequiredAsync)return async_1;hasRequiredAsync=1;var defer=function requireDefer(){return hasRequiredDefer?defer_1:(hasRequiredDefer=1,defer_1=function defer(fn){var nextTick="function"==typeof setImmediate?setImmediate:"object"==typeof process&&"function"==typeof process.nextTick?process.nextTick:null;nextTick?nextTick(fn):setTimeout(fn,0)})}();return async_1=function async(callback){var isAsync=!1;return defer((function(){isAsync=!0})),function async_callback(err,result){isAsync?callback(err,result):defer((function nextTick_callback(){callback(err,result)}))}},async_1}function requireAbort(){if(hasRequiredAbort)return abort_1;function clean(key){"function"==typeof this.jobs[key]&&this.jobs[key]()}return hasRequiredAbort=1,abort_1=function abort(state){Object.keys(state.jobs).forEach(clean.bind(state)),state.jobs={}}}function requireIterate(){if(hasRequiredIterate)return iterate_1;hasRequiredIterate=1;var async=requireAsync(),abort=requireAbort();return iterate_1=function iterate(list,iterator,state,callback){var key=state.keyedList?state.keyedList[state.index]:state.index;state.jobs[key]=function runJob(iterator,key,item,callback){var aborter;aborter=2==iterator.length?iterator(item,async(callback)):iterator(item,key,async(callback));return aborter}(iterator,key,list[key],(function(error,output){key in state.jobs&&(delete state.jobs[key],error?abort(state):state.results[key]=output,callback(error,state.results))}))}}function requireState(){if(hasRequiredState)return state_1;return hasRequiredState=1,state_1=function state(list,sortMethod){var isNamedList=!Array.isArray(list),initState={index:0,keyedList:isNamedList||sortMethod?Object.keys(list):null,jobs:{},results:isNamedList?{}:[],size:isNamedList?Object.keys(list).length:list.length};sortMethod&&initState.keyedList.sort(isNamedList?sortMethod:function(a,b){return sortMethod(list[a],list[b])});return initState}}function requireTerminator(){if(hasRequiredTerminator)return terminator_1;hasRequiredTerminator=1;var abort=requireAbort(),async=requireAsync();return terminator_1=function terminator(callback){if(!Object.keys(this.jobs).length)return;this.index=this.size,abort(this),async(callback)(null,this.results)}}function requireParallel(){if(hasRequiredParallel)return parallel_1;hasRequiredParallel=1;var iterate=requireIterate(),initState=requireState(),terminator=requireTerminator();return parallel_1=function parallel(list,iterator,callback){var state=initState(list);for(;state.index<(state.keyedList||list).length;)iterate(list,iterator,state,(function(error,result){error?callback(error,result):0!==Object.keys(state.jobs).length||callback(null,state.results)})),state.index++;return terminator.bind(state,callback)}}var hasRequiredSerialOrdered,serial_1,hasRequiredSerial,asynckit,hasRequiredAsynckit,populate,hasRequiredPopulate,form_data,hasRequiredForm_data,serialOrdered={exports:{}};function requireSerialOrdered(){if(hasRequiredSerialOrdered)return serialOrdered.exports;hasRequiredSerialOrdered=1;var iterate=requireIterate(),initState=requireState(),terminator=requireTerminator();function ascending(a,b){return a<b?-1:a>b?1:0}return serialOrdered.exports=function serialOrdered$1(list,iterator,sortMethod,callback){var state=initState(list,sortMethod);return iterate(list,iterator,state,(function iteratorHandler(error,result){error?callback(error,result):(state.index++,state.index<(state.keyedList||list).length?iterate(list,iterator,state,iteratorHandler):callback(null,state.results))})),terminator.bind(state,callback)},serialOrdered.exports.ascending=ascending,serialOrdered.exports.descending=function descending(a,b){return-1*ascending(a,b)},serialOrdered.exports}function requireSerial(){if(hasRequiredSerial)return serial_1;hasRequiredSerial=1;var serialOrdered=requireSerialOrdered();return serial_1=function serial(list,iterator,callback){return serialOrdered(list,iterator,null,callback)}}function requireAsynckit(){return hasRequiredAsynckit?asynckit:(hasRequiredAsynckit=1,asynckit={parallel:requireParallel(),serial:requireSerial(),serialOrdered:requireSerialOrdered()})}function requirePopulate(){return hasRequiredPopulate||(hasRequiredPopulate=1,populate=function(dst,src){return Object.keys(src).forEach((function(prop){dst[prop]=dst[prop]||src[prop]})),dst}),populate}var form_dataExports=function requireForm_data(){if(hasRequiredForm_data)return form_data;hasRequiredForm_data=1;var CombinedStream=requireCombined_stream(),util=require$$0__default$3.default,path=path__default.default,http=require$$3__default.default,https=https__default.default,parseUrl=require$$0__default$4.default.parse,fs=fs__default.default,Stream=require$$0__default$2.default.Stream,mime=requireMimeTypes$1(),asynckit=requireAsynckit(),populate=requirePopulate();function FormData(options){if(!(this instanceof FormData))return new FormData(options);for(var option in this._overheadLength=0,this._valueLength=0,this._valuesToMeasure=[],CombinedStream.call(this),options=options||{})this[option]=options[option]}return form_data=FormData,util.inherits(FormData,CombinedStream),FormData.LINE_BREAK="\r\n",FormData.DEFAULT_CONTENT_TYPE="application/octet-stream",FormData.prototype.append=function(field,value,options){"string"==typeof(options=options||{})&&(options={filename:options});var append=CombinedStream.prototype.append.bind(this);if("number"==typeof value&&(value=""+value),util.isArray(value))this._error(new Error("Arrays are not supported."));else{var header=this._multiPartHeader(field,value,options),footer=this._multiPartFooter();append(header),append(value),append(footer),this._trackLength(header,value,options)}},FormData.prototype._trackLength=function(header,value,options){var valueLength=0;null!=options.knownLength?valueLength+=+options.knownLength:Buffer.isBuffer(value)?valueLength=value.length:"string"==typeof value&&(valueLength=Buffer.byteLength(value)),this._valueLength+=valueLength,this._overheadLength+=Buffer.byteLength(header)+FormData.LINE_BREAK.length,value&&(value.path||value.readable&&value.hasOwnProperty("httpVersion")||value instanceof Stream)&&(options.knownLength||this._valuesToMeasure.push(value))},FormData.prototype._lengthRetriever=function(value,callback){value.hasOwnProperty("fd")?null!=value.end&&value.end!=1/0&&null!=value.start?callback(null,value.end+1-(value.start?value.start:0)):fs.stat(value.path,(function(err,stat){var fileSize;err?callback(err):(fileSize=stat.size-(value.start?value.start:0),callback(null,fileSize))})):value.hasOwnProperty("httpVersion")?callback(null,+value.headers["content-length"]):value.hasOwnProperty("httpModule")?(value.on("response",(function(response){value.pause(),callback(null,+response.headers["content-length"])})),value.resume()):callback("Unknown stream")},FormData.prototype._multiPartHeader=function(field,value,options){if("string"==typeof options.header)return options.header;var header,contentDisposition=this._getContentDisposition(value,options),contentType=this._getContentType(value,options),contents="",headers={"Content-Disposition":["form-data",'name="'+field+'"'].concat(contentDisposition||[]),"Content-Type":[].concat(contentType||[])};for(var prop in"object"==typeof options.header&&populate(headers,options.header),headers)headers.hasOwnProperty(prop)&&null!=(header=headers[prop])&&(Array.isArray(header)||(header=[header]),header.length&&(contents+=prop+": "+header.join("; ")+FormData.LINE_BREAK));return"--"+this.getBoundary()+FormData.LINE_BREAK+contents+FormData.LINE_BREAK},FormData.prototype._getContentDisposition=function(value,options){var filename,contentDisposition;return"string"==typeof options.filepath?filename=path.normalize(options.filepath).replace(/\\/g,"/"):options.filename||value.name||value.path?filename=path.basename(options.filename||value.name||value.path):value.readable&&value.hasOwnProperty("httpVersion")&&(filename=path.basename(value.client._httpMessage.path||"")),filename&&(contentDisposition='filename="'+filename+'"'),contentDisposition},FormData.prototype._getContentType=function(value,options){var contentType=options.contentType;return!contentType&&value.name&&(contentType=mime.lookup(value.name)),!contentType&&value.path&&(contentType=mime.lookup(value.path)),!contentType&&value.readable&&value.hasOwnProperty("httpVersion")&&(contentType=value.headers["content-type"]),contentType||!options.filepath&&!options.filename||(contentType=mime.lookup(options.filepath||options.filename)),contentType||"object"!=typeof value||(contentType=FormData.DEFAULT_CONTENT_TYPE),contentType},FormData.prototype._multiPartFooter=function(){return function(next){var footer=FormData.LINE_BREAK;0===this._streams.length&&(footer+=this._lastBoundary()),next(footer)}.bind(this)},FormData.prototype._lastBoundary=function(){return"--"+this.getBoundary()+"--"+FormData.LINE_BREAK},FormData.prototype.getHeaders=function(userHeaders){var header,formHeaders={"content-type":"multipart/form-data; boundary="+this.getBoundary()};for(header in userHeaders)userHeaders.hasOwnProperty(header)&&(formHeaders[header.toLowerCase()]=userHeaders[header]);return formHeaders},FormData.prototype.setBoundary=function(boundary){this._boundary=boundary},FormData.prototype.getBoundary=function(){return this._boundary||this._generateBoundary(),this._boundary},FormData.prototype.getBuffer=function(){for(var dataBuffer=new Buffer.alloc(0),boundary=this.getBoundary(),i=0,len=this._streams.length;i<len;i++)"function"!=typeof this._streams[i]&&(dataBuffer=Buffer.isBuffer(this._streams[i])?Buffer.concat([dataBuffer,this._streams[i]]):Buffer.concat([dataBuffer,Buffer.from(this._streams[i])]),"string"==typeof this._streams[i]&&this._streams[i].substring(2,boundary.length+2)===boundary||(dataBuffer=Buffer.concat([dataBuffer,Buffer.from(FormData.LINE_BREAK)])));return Buffer.concat([dataBuffer,Buffer.from(this._lastBoundary())])},FormData.prototype._generateBoundary=function(){for(var boundary="--------------------------",i=0;i<24;i++)boundary+=Math.floor(10*Math.random()).toString(16);this._boundary=boundary},FormData.prototype.getLengthSync=function(){var knownLength=this._overheadLength+this._valueLength;return this._streams.length&&(knownLength+=this._lastBoundary().length),this.hasKnownLength()||this._error(new Error("Cannot calculate proper length in synchronous way.")),knownLength},FormData.prototype.hasKnownLength=function(){var hasKnownLength=!0;return this._valuesToMeasure.length&&(hasKnownLength=!1),hasKnownLength},FormData.prototype.getLength=function(cb){var knownLength=this._overheadLength+this._valueLength;this._streams.length&&(knownLength+=this._lastBoundary().length),this._valuesToMeasure.length?asynckit.parallel(this._valuesToMeasure,this._lengthRetriever,(function(err,values){err?cb(err):(values.forEach((function(length){knownLength+=length})),cb(null,knownLength))})):process.nextTick(cb.bind(this,null,knownLength))},FormData.prototype.submit=function(params,cb){var request,options,defaults={method:"post"};return"string"==typeof params?(params=parseUrl(params),options=populate({port:params.port,path:params.pathname,host:params.hostname,protocol:params.protocol},defaults)):(options=populate(params,defaults)).port||(options.port="https:"==options.protocol?443:80),options.headers=this.getHeaders(params.headers),request="https:"==options.protocol?https.request(options):http.request(options),this.getLength(function(err,length){if(err&&"Unknown stream"!==err)this._error(err);else if(length&&request.setHeader("Content-Length",length),this.pipe(request),cb){var onResponse,callback=function(error,responce){return request.removeListener("error",callback),request.removeListener("response",onResponse),cb.call(this,error,responce)};onResponse=callback.bind(this,null),request.on("error",callback),request.on("response",onResponse)}}.bind(this)),request},FormData.prototype._error=function(err){this.error||(this.error=err,this.pause(),this.emit("error",err))},FormData.prototype.toString=function(){return"[object FormData]"},form_data}(),FormData$1=getDefaultExportFromCjs(form_dataExports);function isVisitable(thing){return utils$4.isPlainObject(thing)||utils$4.isArray(thing)}function removeBrackets(key){return utils$4.endsWith(key,"[]")?key.slice(0,-2):key}function renderKey(path,key,dots){return path?path.concat(key).map((function each(token,i){return token=removeBrackets(token),!dots&&i?"["+token+"]":token})).join(dots?".":""):key}const predicates=utils$4.toFlatObject(utils$4,{},null,(function filter(prop){return/^is[A-Z]/.test(prop)}));function toFormData(obj,formData,options){if(!utils$4.isObject(obj))throw new TypeError("target must be an object");formData=formData||new(FormData$1||FormData);const metaTokens=(options=utils$4.toFlatObject(options,{metaTokens:!0,dots:!1,indexes:!1},!1,(function defined(option,source){return!utils$4.isUndefined(source[option])}))).metaTokens,visitor=options.visitor||defaultVisitor,dots=options.dots,indexes=options.indexes,useBlob=(options.Blob||"undefined"!=typeof Blob&&Blob)&&utils$4.isSpecCompliantForm(formData);if(!utils$4.isFunction(visitor))throw new TypeError("visitor must be a function");function convertValue(value){if(null===value)return"";if(utils$4.isDate(value))return value.toISOString();if(!useBlob&&utils$4.isBlob(value))throw new AxiosError("Blob is not supported. Use a Buffer instead.");return utils$4.isArrayBuffer(value)||utils$4.isTypedArray(value)?useBlob&&"function"==typeof Blob?new Blob([value]):Buffer.from(value):value}function defaultVisitor(value,key,path){let arr=value;if(value&&!path&&"object"==typeof value)if(utils$4.endsWith(key,"{}"))key=metaTokens?key:key.slice(0,-2),value=JSON.stringify(value);else if(utils$4.isArray(value)&&function isFlatArray(arr){return utils$4.isArray(arr)&&!arr.some(isVisitable)}(value)||(utils$4.isFileList(value)||utils$4.endsWith(key,"[]"))&&(arr=utils$4.toArray(value)))return key=removeBrackets(key),arr.forEach((function each(el,index){!utils$4.isUndefined(el)&&null!==el&&formData.append(!0===indexes?renderKey([key],index,dots):null===indexes?key:key+"[]",convertValue(el))})),!1;return!!isVisitable(value)||(formData.append(renderKey(path,key,dots),convertValue(value)),!1)}const stack=[],exposedHelpers=Object.assign(predicates,{defaultVisitor:defaultVisitor,convertValue:convertValue,isVisitable:isVisitable});if(!utils$4.isObject(obj))throw new TypeError("data must be an object");return function build(value,path){if(!utils$4.isUndefined(value)){if(-1!==stack.indexOf(value))throw Error("Circular reference detected in "+path.join("."));stack.push(value),utils$4.forEach(value,(function each(el,key){!0===(!(utils$4.isUndefined(el)||null===el)&&visitor.call(formData,el,utils$4.isString(key)?key.trim():key,path,exposedHelpers))&&build(el,path?path.concat(key):[key])})),stack.pop()}}(obj),formData}function encode$1(str){const charMap={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(str).replace(/[!'()~]|%20|%00/g,(function replacer(match){return charMap[match]}))}function AxiosURLSearchParams(params,options){this._pairs=[],params&&toFormData(params,this,options)}const prototype=AxiosURLSearchParams.prototype;function encode(val){return encodeURIComponent(val).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function buildURL(url,params,options){if(!params)return url;const _encode=options&&options.encode||encode,serializeFn=options&&options.serialize;let serializedParams;if(serializedParams=serializeFn?serializeFn(params,options):utils$4.isURLSearchParams(params)?params.toString():new AxiosURLSearchParams(params,options).toString(_encode),serializedParams){const hashmarkIndex=url.indexOf("#");-1!==hashmarkIndex&&(url=url.slice(0,hashmarkIndex)),url+=(-1===url.indexOf("?")?"?":"&")+serializedParams}return url}prototype.append=function append(name,value){this._pairs.push([name,value])},prototype.toString=function toString(encoder){const _encode=encoder?function(value){return encoder.call(this,value,encode$1)}:encode$1;return this._pairs.map((function each(pair){return _encode(pair[0])+"="+_encode(pair[1])}),"").join("&")};var InterceptorManager$1=class InterceptorManager{constructor(){this.handlers=[]}use(fulfilled,rejected,options){return this.handlers.push({fulfilled:fulfilled,rejected:rejected,synchronous:!!options&&options.synchronous,runWhen:options?options.runWhen:null}),this.handlers.length-1}eject(id){this.handlers[id]&&(this.handlers[id]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(fn){utils$4.forEach(this.handlers,(function forEachHandler(h){null!==h&&fn(h)}))}},transitionalDefaults={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},platform$1={isNode:!0,classes:{URLSearchParams:require$$0__default$4.default.URLSearchParams,FormData:FormData$1,Blob:"undefined"!=typeof Blob&&Blob||null},protocols:["http","https","file","data"]};const hasBrowserEnv="undefined"!=typeof window&&"undefined"!=typeof document,_navigator="object"==typeof navigator&&navigator||void 0,hasStandardBrowserEnv=hasBrowserEnv&&(!_navigator||["ReactNative","NativeScript","NS"].indexOf(_navigator.product)<0),hasStandardBrowserWebWorkerEnv="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope&&"function"==typeof self.importScripts,origin=hasBrowserEnv&&window.location.href||"http://localhost";var platform={...Object.freeze({__proto__:null,hasBrowserEnv:hasBrowserEnv,hasStandardBrowserWebWorkerEnv:hasStandardBrowserWebWorkerEnv,hasStandardBrowserEnv:hasStandardBrowserEnv,navigator:_navigator,origin:origin}),...platform$1};function formDataToJSON(formData){function buildPath(path,value,target,index){let name=path[index++];if("__proto__"===name)return!0;const isNumericKey=Number.isFinite(+name),isLast=index>=path.length;if(name=!name&&utils$4.isArray(target)?target.length:name,isLast)return utils$4.hasOwnProp(target,name)?target[name]=[target[name],value]:target[name]=value,!isNumericKey;target[name]&&utils$4.isObject(target[name])||(target[name]=[]);return buildPath(path,value,target[name],index)&&utils$4.isArray(target[name])&&(target[name]=function arrayToObject(arr){const obj={},keys=Object.keys(arr);let i;const len=keys.length;let key;for(i=0;i<len;i++)key=keys[i],obj[key]=arr[key];return obj}(target[name])),!isNumericKey}if(utils$4.isFormData(formData)&&utils$4.isFunction(formData.entries)){const obj={};return utils$4.forEachEntry(formData,((name,value)=>{buildPath(function parsePropPath(name){return utils$4.matchAll(/\w+|\[(\w*)]/g,name).map((match=>"[]"===match[0]?"":match[1]||match[0]))}(name),value,obj,0)})),obj}return null}const defaults={transitional:transitionalDefaults,adapter:["xhr","http","fetch"],transformRequest:[function transformRequest(data,headers){const contentType=headers.getContentType()||"",hasJSONContentType=contentType.indexOf("application/json")>-1,isObjectPayload=utils$4.isObject(data);isObjectPayload&&utils$4.isHTMLForm(data)&&(data=new FormData(data));if(utils$4.isFormData(data))return hasJSONContentType?JSON.stringify(formDataToJSON(data)):data;if(utils$4.isArrayBuffer(data)||utils$4.isBuffer(data)||utils$4.isStream(data)||utils$4.isFile(data)||utils$4.isBlob(data)||utils$4.isReadableStream(data))return data;if(utils$4.isArrayBufferView(data))return data.buffer;if(utils$4.isURLSearchParams(data))return headers.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),data.toString();let isFileList;if(isObjectPayload){if(contentType.indexOf("application/x-www-form-urlencoded")>-1)return function toURLEncodedForm(data,options){return toFormData(data,new platform.classes.URLSearchParams,Object.assign({visitor:function(value,key,path,helpers){return platform.isNode&&utils$4.isBuffer(value)?(this.append(key,value.toString("base64")),!1):helpers.defaultVisitor.apply(this,arguments)}},options))}(data,this.formSerializer).toString();if((isFileList=utils$4.isFileList(data))||contentType.indexOf("multipart/form-data")>-1){const _FormData=this.env&&this.env.FormData;return toFormData(isFileList?{"files[]":data}:data,_FormData&&new _FormData,this.formSerializer)}}return isObjectPayload||hasJSONContentType?(headers.setContentType("application/json",!1),function stringifySafely(rawValue,parser,encoder){if(utils$4.isString(rawValue))try{return(parser||JSON.parse)(rawValue),utils$4.trim(rawValue)}catch(e){if("SyntaxError"!==e.name)throw e}return(encoder||JSON.stringify)(rawValue)}(data)):data}],transformResponse:[function transformResponse(data){const transitional=this.transitional||defaults.transitional,forcedJSONParsing=transitional&&transitional.forcedJSONParsing,JSONRequested="json"===this.responseType;if(utils$4.isResponse(data)||utils$4.isReadableStream(data))return data;if(data&&utils$4.isString(data)&&(forcedJSONParsing&&!this.responseType||JSONRequested)){const strictJSONParsing=!(transitional&&transitional.silentJSONParsing)&&JSONRequested;try{return JSON.parse(data)}catch(e){if(strictJSONParsing){if("SyntaxError"===e.name)throw AxiosError.from(e,AxiosError.ERR_BAD_RESPONSE,this,null,this.response);throw e}}}return data}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:platform.classes.FormData,Blob:platform.classes.Blob},validateStatus:function validateStatus(status){return status>=200&&status<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};utils$4.forEach(["delete","get","head","post","put","patch"],(method=>{defaults.headers[method]={}}));var defaults$1=defaults;const ignoreDuplicateOf=utils$4.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]);const $internals=Symbol("internals");function normalizeHeader(header){return header&&String(header).trim().toLowerCase()}function normalizeValue(value){return!1===value||null==value?value:utils$4.isArray(value)?value.map(normalizeValue):String(value)}function matchHeaderValue(context,value,header,filter,isHeaderNameFilter){return utils$4.isFunction(filter)?filter.call(this,value,header):(isHeaderNameFilter&&(value=header),utils$4.isString(value)?utils$4.isString(filter)?-1!==value.indexOf(filter):utils$4.isRegExp(filter)?filter.test(value):void 0:void 0)}class AxiosHeaders{constructor(headers){headers&&this.set(headers)}set(header,valueOrRewrite,rewrite){const self=this;function setHeader(_value,_header,_rewrite){const lHeader=normalizeHeader(_header);if(!lHeader)throw new Error("header name must be a non-empty string");const key=utils$4.findKey(self,lHeader);(!key||void 0===self[key]||!0===_rewrite||void 0===_rewrite&&!1!==self[key])&&(self[key||_header]=normalizeValue(_value))}const setHeaders=(headers,_rewrite)=>utils$4.forEach(headers,((_value,_header)=>setHeader(_value,_header,_rewrite)));if(utils$4.isPlainObject(header)||header instanceof this.constructor)setHeaders(header,valueOrRewrite);else if(utils$4.isString(header)&&(header=header.trim())&&!/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(header.trim()))setHeaders((rawHeaders=>{const parsed={};let key,val,i;return rawHeaders&&rawHeaders.split("\n").forEach((function parser(line){i=line.indexOf(":"),key=line.substring(0,i).trim().toLowerCase(),val=line.substring(i+1).trim(),!key||parsed[key]&&ignoreDuplicateOf[key]||("set-cookie"===key?parsed[key]?parsed[key].push(val):parsed[key]=[val]:parsed[key]=parsed[key]?parsed[key]+", "+val:val)})),parsed})(header),valueOrRewrite);else if(utils$4.isHeaders(header))for(const[key,value]of header.entries())setHeader(value,key,rewrite);else null!=header&&setHeader(valueOrRewrite,header,rewrite);return this}get(header,parser){if(header=normalizeHeader(header)){const key=utils$4.findKey(this,header);if(key){const value=this[key];if(!parser)return value;if(!0===parser)return function parseTokens(str){const tokens=Object.create(null),tokensRE=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;let match;for(;match=tokensRE.exec(str);)tokens[match[1]]=match[2];return tokens}(value);if(utils$4.isFunction(parser))return parser.call(this,value,key);if(utils$4.isRegExp(parser))return parser.exec(value);throw new TypeError("parser must be boolean|regexp|function")}}}has(header,matcher){if(header=normalizeHeader(header)){const key=utils$4.findKey(this,header);return!(!key||void 0===this[key]||matcher&&!matchHeaderValue(0,this[key],key,matcher))}return!1}delete(header,matcher){const self=this;let deleted=!1;function deleteHeader(_header){if(_header=normalizeHeader(_header)){const key=utils$4.findKey(self,_header);!key||matcher&&!matchHeaderValue(0,self[key],key,matcher)||(delete self[key],deleted=!0)}}return utils$4.isArray(header)?header.forEach(deleteHeader):deleteHeader(header),deleted}clear(matcher){const keys=Object.keys(this);let i=keys.length,deleted=!1;for(;i--;){const key=keys[i];matcher&&!matchHeaderValue(0,this[key],key,matcher,!0)||(delete this[key],deleted=!0)}return deleted}normalize(format){const self=this,headers={};return utils$4.forEach(this,((value,header)=>{const key=utils$4.findKey(headers,header);if(key)return self[key]=normalizeValue(value),void delete self[header];const normalized=format?function formatHeader(header){return header.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,((w,char,str)=>char.toUpperCase()+str))}(header):String(header).trim();normalized!==header&&delete self[header],self[normalized]=normalizeValue(value),headers[normalized]=!0})),this}concat(...targets){return this.constructor.concat(this,...targets)}toJSON(asStrings){const obj=Object.create(null);return utils$4.forEach(this,((value,header)=>{null!=value&&!1!==value&&(obj[header]=asStrings&&utils$4.isArray(value)?value.join(", "):value)})),obj}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map((([header,value])=>header+": "+value)).join("\n")}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(thing){return thing instanceof this?thing:new this(thing)}static concat(first,...targets){const computed=new this(first);return targets.forEach((target=>computed.set(target))),computed}static accessor(header){const accessors=(this[$internals]=this[$internals]={accessors:{}}).accessors,prototype=this.prototype;function defineAccessor(_header){const lHeader=normalizeHeader(_header);accessors[lHeader]||(!function buildAccessors(obj,header){const accessorName=utils$4.toCamelCase(" "+header);["get","set","has"].forEach((methodName=>{Object.defineProperty(obj,methodName+accessorName,{value:function(arg1,arg2,arg3){return this[methodName].call(this,header,arg1,arg2,arg3)},configurable:!0})}))}(prototype,_header),accessors[lHeader]=!0)}return utils$4.isArray(header)?header.forEach(defineAccessor):defineAccessor(header),this}}AxiosHeaders.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]),utils$4.reduceDescriptors(AxiosHeaders.prototype,(({value:value},key)=>{let mapped=key[0].toUpperCase()+key.slice(1);return{get:()=>value,set(headerValue){this[mapped]=headerValue}}})),utils$4.freezeMethods(AxiosHeaders);var AxiosHeaders$1=AxiosHeaders;function transformData(fns,response){const config=this||defaults$1,context=response||config,headers=AxiosHeaders$1.from(context.headers);let data=context.data;return utils$4.forEach(fns,(function transform(fn){data=fn.call(config,data,headers.normalize(),response?response.status:void 0)})),headers.normalize(),data}function isCancel(value){return!(!value||!value.__CANCEL__)}function CanceledError(message,config,request){AxiosError.call(this,null==message?"canceled":message,AxiosError.ERR_CANCELED,config,request),this.name="CanceledError"}function settle(resolve,reject,response){const validateStatus=response.config.validateStatus;response.status&&validateStatus&&!validateStatus(response.status)?reject(new AxiosError("Request failed with status code "+response.status,[AxiosError.ERR_BAD_REQUEST,AxiosError.ERR_BAD_RESPONSE][Math.floor(response.status/100)-4],response.config,response.request,response)):resolve(response)}function buildFullPath(baseURL,requestedURL){return baseURL&&!function isAbsoluteURL(url){return/^([a-z][a-z\d+\-.]*:)?\/\//i.test(url)}(requestedURL)?function combineURLs(baseURL,relativeURL){return relativeURL?baseURL.replace(/\/?\/$/,"")+"/"+relativeURL.replace(/^\/+/,""):baseURL}(baseURL,requestedURL):requestedURL}utils$4.inherits(CanceledError,AxiosError,{__CANCEL__:!0});var hasRequiredProxyFromEnv,proxyFromEnv={};var ms,hasRequiredMs,common,hasRequiredCommon,hasRequiredBrowser$1,proxyFromEnvExports=function requireProxyFromEnv(){if(hasRequiredProxyFromEnv)return proxyFromEnv;hasRequiredProxyFromEnv=1;var parseUrl=require$$0__default$4.default.parse,DEFAULT_PORTS={ftp:21,gopher:70,http:80,https:443,ws:80,wss:443},stringEndsWith=String.prototype.endsWith||function(s){return s.length<=this.length&&-1!==this.indexOf(s,this.length-s.length)};function getEnv(key){return process.env[key.toLowerCase()]||process.env[key.toUpperCase()]||""}return proxyFromEnv.getProxyForUrl=function getProxyForUrl(url){var parsedUrl="string"==typeof url?parseUrl(url):url||{},proto=parsedUrl.protocol,hostname=parsedUrl.host,port=parsedUrl.port;if("string"!=typeof hostname||!hostname||"string"!=typeof proto)return"";if(proto=proto.split(":",1)[0],!function shouldProxy(hostname,port){var NO_PROXY=(getEnv("npm_config_no_proxy")||getEnv("no_proxy")).toLowerCase();if(!NO_PROXY)return!0;if("*"===NO_PROXY)return!1;return NO_PROXY.split(/[,\s]/).every((function(proxy){if(!proxy)return!0;var parsedProxy=proxy.match(/^(.+):(\d+)$/),parsedProxyHostname=parsedProxy?parsedProxy[1]:proxy,parsedProxyPort=parsedProxy?parseInt(parsedProxy[2]):0;return!(!parsedProxyPort||parsedProxyPort===port)||(/^[.*]/.test(parsedProxyHostname)?("*"===parsedProxyHostname.charAt(0)&&(parsedProxyHostname=parsedProxyHostname.slice(1)),!stringEndsWith.call(hostname,parsedProxyHostname)):hostname!==parsedProxyHostname)}))}(hostname=hostname.replace(/:\d*$/,""),port=parseInt(port)||DEFAULT_PORTS[proto]||0))return"";var proxy=getEnv("npm_config_"+proto+"_proxy")||getEnv(proto+"_proxy")||getEnv("npm_config_proxy")||getEnv("all_proxy");return proxy&&-1===proxy.indexOf("://")&&(proxy=proto+"://"+proxy),proxy},proxyFromEnv}(),followRedirects$1={exports:{}},src={exports:{}},browser$1={exports:{}};function requireMs(){if(hasRequiredMs)return ms;hasRequiredMs=1;var s=1e3,m=60*s,h=60*m,d=24*h,w=7*d,y=365.25*d;function plural(ms,msAbs,n,name){var isPlural=msAbs>=1.5*n;return Math.round(ms/n)+" "+name+(isPlural?"s":"")}return ms=function(val,options){options=options||{};var type=typeof val;if("string"===type&&val.length>0)return function parse(str){if((str=String(str)).length>100)return;var match=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(str);if(!match)return;var n=parseFloat(match[1]);switch((match[2]||"ms").toLowerCase()){case"years":case"year":case"yrs":case"yr":case"y":return n*y;case"weeks":case"week":case"w":return n*w;case"days":case"day":case"d":return n*d;case"hours":case"hour":case"hrs":case"hr":case"h":return n*h;case"minutes":case"minute":case"mins":case"min":case"m":return n*m;case"seconds":case"second":case"secs":case"sec":case"s":return n*s;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return n;default:return}}(val);if("number"===type&&isFinite(val))return options.long?function fmtLong(ms){var msAbs=Math.abs(ms);if(msAbs>=d)return plural(ms,msAbs,d,"day");if(msAbs>=h)return plural(ms,msAbs,h,"hour");if(msAbs>=m)return plural(ms,msAbs,m,"minute");if(msAbs>=s)return plural(ms,msAbs,s,"second");return ms+" ms"}(val):function fmtShort(ms){var msAbs=Math.abs(ms);if(msAbs>=d)return Math.round(ms/d)+"d";if(msAbs>=h)return Math.round(ms/h)+"h";if(msAbs>=m)return Math.round(ms/m)+"m";if(msAbs>=s)return Math.round(ms/s)+"s";return ms+"ms"}(val);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(val))},ms}function requireCommon(){if(hasRequiredCommon)return common;return hasRequiredCommon=1,common=function setup(env){function createDebug(namespace){let prevTime,namespacesCache,enabledCache,enableOverride=null;function debug(...args){if(!debug.enabled)return;const self=debug,curr=Number(new Date),ms=curr-(prevTime||curr);self.diff=ms,self.prev=prevTime,self.curr=curr,prevTime=curr,args[0]=createDebug.coerce(args[0]),"string"!=typeof args[0]&&args.unshift("%O");let index=0;args[0]=args[0].replace(/%([a-zA-Z%])/g,((match,format)=>{if("%%"===match)return"%";index++;const formatter=createDebug.formatters[format];if("function"==typeof formatter){const val=args[index];match=formatter.call(self,val),args.splice(index,1),index--}return match})),createDebug.formatArgs.call(self,args);(self.log||createDebug.log).apply(self,args)}return debug.namespace=namespace,debug.useColors=createDebug.useColors(),debug.color=createDebug.selectColor(namespace),debug.extend=extend,debug.destroy=createDebug.destroy,Object.defineProperty(debug,"enabled",{enumerable:!0,configurable:!1,get:()=>null!==enableOverride?enableOverride:(namespacesCache!==createDebug.namespaces&&(namespacesCache=createDebug.namespaces,enabledCache=createDebug.enabled(namespace)),enabledCache),set:v=>{enableOverride=v}}),"function"==typeof createDebug.init&&createDebug.init(debug),debug}function extend(namespace,delimiter){const newDebug=createDebug(this.namespace+(void 0===delimiter?":":delimiter)+namespace);return newDebug.log=this.log,newDebug}function toNamespace(regexp){return regexp.toString().substring(2,regexp.toString().length-2).replace(/\.\*\?$/,"*")}return createDebug.debug=createDebug,createDebug.default=createDebug,createDebug.coerce=function coerce(val){if(val instanceof Error)return val.stack||val.message;return val},createDebug.disable=function disable(){const namespaces=[...createDebug.names.map(toNamespace),...createDebug.skips.map(toNamespace).map((namespace=>"-"+namespace))].join(",");return createDebug.enable(""),namespaces},createDebug.enable=function enable(namespaces){let i;createDebug.save(namespaces),createDebug.namespaces=namespaces,createDebug.names=[],createDebug.skips=[];const split=("string"==typeof namespaces?namespaces:"").split(/[\s,]+/),len=split.length;for(i=0;i<len;i++)split[i]&&("-"===(namespaces=split[i].replace(/\*/g,".*?"))[0]?createDebug.skips.push(new RegExp("^"+namespaces.slice(1)+"$")):createDebug.names.push(new RegExp("^"+namespaces+"$")))},createDebug.enabled=function enabled(name){if("*"===name[name.length-1])return!0;let i,len;for(i=0,len=createDebug.skips.length;i<len;i++)if(createDebug.skips[i].test(name))return!1;for(i=0,len=createDebug.names.length;i<len;i++)if(createDebug.names[i].test(name))return!0;return!1},createDebug.humanize=requireMs(),createDebug.destroy=function destroy(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")},Object.keys(env).forEach((key=>{createDebug[key]=env[key]})),createDebug.names=[],createDebug.skips=[],createDebug.formatters={},createDebug.selectColor=function selectColor(namespace){let hash=0;for(let i=0;i<namespace.length;i++)hash=(hash<<5)-hash+namespace.charCodeAt(i),hash|=0;return createDebug.colors[Math.abs(hash)%createDebug.colors.length]},createDebug.enable(createDebug.load()),createDebug},common}var hasFlag,hasRequiredHasFlag,supportsColor_1,hasRequiredSupportsColor,hasRequiredNode,hasRequiredSrc,debug_1,hasRequiredDebug,hasRequiredFollowRedirects,node={exports:{}};function requireHasFlag(){return hasRequiredHasFlag?hasFlag:(hasRequiredHasFlag=1,hasFlag=(flag,argv=process.argv)=>{const prefix=flag.startsWith("-")?"":1===flag.length?"-":"--",position=argv.indexOf(prefix+flag),terminatorPosition=argv.indexOf("--");return-1!==position&&(-1===terminatorPosition||position<terminatorPosition)})}function requireNode(){return hasRequiredNode||(hasRequiredNode=1,function(module,exports){const tty=require$$1__default$1.default,util=require$$0__default$3.default;exports.init=function init(debug){debug.inspectOpts={};const keys=Object.keys(exports.inspectOpts);for(let i=0;i<keys.length;i++)debug.inspectOpts[keys[i]]=exports.inspectOpts[keys[i]]},exports.log=function log(...args){return process.stderr.write(util.formatWithOptions(exports.inspectOpts,...args)+"\n")},exports.formatArgs=function formatArgs(args){const{namespace:name,useColors:useColors}=this;if(useColors){const c=this.color,colorCode="[3"+(c<8?c:"8;5;"+c),prefix=` ${colorCode};1m${name} [0m`;args[0]=prefix+args[0].split("\n").join("\n"+prefix),args.push(colorCode+"m+"+module.exports.humanize(this.diff)+"[0m")}else args[0]=function getDate(){if(exports.inspectOpts.hideDate)return"";return(new Date).toISOString()+" "}()+name+" "+args[0]},exports.save=function save(namespaces){namespaces?process.env.DEBUG=namespaces:delete process.env.DEBUG},exports.load=function load(){return process.env.DEBUG},exports.useColors=function useColors(){return"colors"in exports.inspectOpts?Boolean(exports.inspectOpts.colors):tty.isatty(process.stderr.fd)},exports.destroy=util.deprecate((()=>{}),"Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."),exports.colors=[6,2,3,4,5,1];try{const supportsColor=function requireSupportsColor(){if(hasRequiredSupportsColor)return supportsColor_1;hasRequiredSupportsColor=1;const os=require$$0__default$5.default,tty=require$$1__default$1.default,hasFlag=requireHasFlag(),{env:env}=process;let forceColor;function translateLevel(level){return 0!==level&&{level:level,hasBasic:!0,has256:level>=2,has16m:level>=3}}function supportsColor(haveStream,streamIsTTY){if(0===forceColor)return 0;if(hasFlag("color=16m")||hasFlag("color=full")||hasFlag("color=truecolor"))return 3;if(hasFlag("color=256"))return 2;if(haveStream&&!streamIsTTY&&void 0===forceColor)return 0;const min=forceColor||0;if("dumb"===env.TERM)return min;if("win32"===process.platform){const osRelease=os.release().split(".");return Number(osRelease[0])>=10&&Number(osRelease[2])>=10586?Number(osRelease[2])>=14931?3:2:1}if("CI"in env)return["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI","GITHUB_ACTIONS","BUILDKITE"].some((sign=>sign in env))||"codeship"===env.CI_NAME?1:min;if("TEAMCITY_VERSION"in env)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(env.TEAMCITY_VERSION)?1:0;if("truecolor"===env.COLORTERM)return 3;if("TERM_PROGRAM"in env){const version=parseInt((env.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(env.TERM_PROGRAM){case"iTerm.app":return version>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(env.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(env.TERM)||"COLORTERM"in env?1:min}return hasFlag("no-color")||hasFlag("no-colors")||hasFlag("color=false")||hasFlag("color=never")?forceColor=0:(hasFlag("color")||hasFlag("colors")||hasFlag("color=true")||hasFlag("color=always"))&&(forceColor=1),"FORCE_COLOR"in env&&(forceColor="true"===env.FORCE_COLOR?1:"false"===env.FORCE_COLOR?0:0===env.FORCE_COLOR.length?1:Math.min(parseInt(env.FORCE_COLOR,10),3)),supportsColor_1={supportsColor:function getSupportLevel(stream){return translateLevel(supportsColor(stream,stream&&stream.isTTY))},stdout:translateLevel(supportsColor(!0,tty.isatty(1))),stderr:translateLevel(supportsColor(!0,tty.isatty(2)))}}();supportsColor&&(supportsColor.stderr||supportsColor).level>=2&&(exports.colors=[20,21,26,27,32,33,38,39,40,41,42,43,44,45,56,57,62,63,68,69,74,75,76,77,78,79,80,81,92,93,98,99,112,113,128,129,134,135,148,149,160,161,162,163,164,165,166,167,168,169,170,171,172,173,178,179,184,185,196,197,198,199,200,201,202,203,204,205,206,207,208,209,214,215,220,221])}catch(error){}exports.inspectOpts=Object.keys(process.env).filter((key=>/^debug_/i.test(key))).reduce(((obj,key)=>{const prop=key.substring(6).toLowerCase().replace(/_([a-z])/g,((_,k)=>k.toUpperCase()));let val=process.env[key];return val=!!/^(yes|on|true|enabled)$/i.test(val)||!/^(no|off|false|disabled)$/i.test(val)&&("null"===val?null:Number(val)),obj[prop]=val,obj}),{}),module.exports=requireCommon()(exports);const{formatters:formatters}=module.exports;formatters.o=function(v){return this.inspectOpts.colors=this.useColors,util.inspect(v,this.inspectOpts).split("\n").map((str=>str.trim())).join(" ")},formatters.O=function(v){return this.inspectOpts.colors=this.useColors,util.inspect(v,this.inspectOpts)}}(node,node.exports)),node.exports}function requireSrc(){return hasRequiredSrc||(hasRequiredSrc=1,"undefined"==typeof process||"renderer"===process.type||!0===process.browser||process.__nwjs?src.exports=function requireBrowser$1(){return hasRequiredBrowser$1||(hasRequiredBrowser$1=1,function(module,exports){exports.formatArgs=function formatArgs(args){if(args[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+args[0]+(this.useColors?"%c ":" ")+"+"+module.exports.humanize(this.diff),!this.useColors)return;const c="color: "+this.color;args.splice(1,0,c,"color: inherit");let index=0,lastC=0;args[0].replace(/%[a-zA-Z%]/g,(match=>{"%%"!==match&&(index++,"%c"===match&&(lastC=index))})),args.splice(lastC,0,c)},exports.save=function save(namespaces){try{namespaces?exports.storage.setItem("debug",namespaces):exports.storage.removeItem("debug")}catch(error){}},exports.load=function load(){let r;try{r=exports.storage.getItem("debug")}catch(error){}return!r&&"undefined"!=typeof process&&"env"in process&&(r=process.env.DEBUG),r},exports.useColors=function useColors(){return!("undefined"==typeof window||!window.process||"renderer"!==window.process.type&&!window.process.__nwjs)||("undefined"==typeof navigator||!navigator.userAgent||!navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/))&&("undefined"!=typeof document&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||"undefined"!=typeof window&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||"undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)&&parseInt(RegExp.$1,10)>=31||"undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/))},exports.storage=function localstorage(){try{return localStorage}catch(error){}}(),exports.destroy=(()=>{let warned=!1;return()=>{warned||(warned=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."))}})(),exports.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"],exports.log=console.debug||console.log||(()=>{}),module.exports=requireCommon()(exports);const{formatters:formatters}=module.exports;formatters.j=function(v){try{return JSON.stringify(v)}catch(error){return"[UnexpectedJSONParseError]: "+error.message}}}(browser$1,browser$1.exports)),browser$1.exports}():src.exports=requireNode()),src.exports}var followRedirectsExports=function requireFollowRedirects(){if(hasRequiredFollowRedirects)return followRedirects$1.exports;hasRequiredFollowRedirects=1;var url=require$$0__default$4.default,URL=url.URL,http=require$$3__default.default,https=https__default.default,Writable=require$$0__default$2.default.Writable,assert=require$$4__default$1.default,debug=function requireDebug(){return hasRequiredDebug||(hasRequiredDebug=1,debug_1=function(){if(!debug){try{debug=requireSrc()("follow-redirects")}catch(error){}"function"!=typeof debug&&(debug=function(){})}debug.apply(null,arguments)}),debug_1;var debug}(),useNativeURL=!1;try{assert(new URL)}catch(error){useNativeURL="ERR_INVALID_URL"===error.code}var preservedUrlFields=["auth","host","hostname","href","path","pathname","port","protocol","query","search","hash"],events=["abort","aborted","connect","error","socket","timeout"],eventHandlers=Object.create(null);events.forEach((function(event){eventHandlers[event]=function(arg1,arg2,arg3){this._redirectable.emit(event,arg1,arg2,arg3)}}));var InvalidUrlError=createErrorType("ERR_INVALID_URL","Invalid URL",TypeError),RedirectionError=createErrorType("ERR_FR_REDIRECTION_FAILURE","Redirected request failed"),TooManyRedirectsError=createErrorType("ERR_FR_TOO_MANY_REDIRECTS","Maximum number of redirects exceeded",RedirectionError),MaxBodyLengthExceededError=createErrorType("ERR_FR_MAX_BODY_LENGTH_EXCEEDED","Request body larger than maxBodyLength limit"),WriteAfterEndError=createErrorType("ERR_STREAM_WRITE_AFTER_END","write after end"),destroy=Writable.prototype.destroy||noop;function RedirectableRequest(options,responseCallback){Writable.call(this),this._sanitizeOptions(options),this._options=options,this._ended=!1,this._ending=!1,this._redirectCount=0,this._redirects=[],this._requestBodyLength=0,this._requestBodyBuffers=[],responseCallback&&this.on("response",responseCallback);var self=this;this._onNativeResponse=function(response){try{self._processResponse(response)}catch(cause){self.emit("error",cause instanceof RedirectionError?cause:new RedirectionError({cause:cause}))}},this._performRequest()}function wrap(protocols){var exports={maxRedirects:21,maxBodyLength:10485760},nativeProtocols={};return Object.keys(protocols).forEach((function(scheme){var protocol=scheme+":",nativeProtocol=nativeProtocols[protocol]=protocols[scheme],wrappedProtocol=exports[scheme]=Object.create(nativeProtocol);Object.defineProperties(wrappedProtocol,{request:{value:function request(input,options,callback){return!function isURL(value){return URL&&value instanceof URL}(input)?isString(input)?input=spreadUrlObject(parseUrl(input)):(callback=options,options=validateUrl(input),input={protocol:protocol}):input=spreadUrlObject(input),isFunction(options)&&(callback=options,options=null),(options=Object.assign({maxRedirects:exports.maxRedirects,maxBodyLength:exports.maxBodyLength},input,options)).nativeProtocols=nativeProtocols,isString(options.host)||isString(options.hostname)||(options.hostname="::1"),assert.equal(options.protocol,protocol,"protocol mismatch"),debug("options",options),new RedirectableRequest(options,callback)},configurable:!0,enumerable:!0,writable:!0},get:{value:function get(input,options,callback){var wrappedRequest=wrappedProtocol.request(input,options,callback);return wrappedRequest.end(),wrappedRequest},configurable:!0,enumerable:!0,writable:!0}})})),exports}function noop(){}function parseUrl(input){var parsed;if(useNativeURL)parsed=new URL(input);else if(!isString((parsed=validateUrl(url.parse(input))).protocol))throw new InvalidUrlError({input:input});return parsed}function validateUrl(input){if(/^\[/.test(input.hostname)&&!/^\[[:0-9a-f]+\]$/i.test(input.hostname))throw new InvalidUrlError({input:input.href||input});if(/^\[/.test(input.host)&&!/^\[[:0-9a-f]+\](:\d+)?$/i.test(input.host))throw new InvalidUrlError({input:input.href||input});return input}function spreadUrlObject(urlObject,target){var spread=target||{};for(var key of preservedUrlFields)spread[key]=urlObject[key];return spread.hostname.startsWith("[")&&(spread.hostname=spread.hostname.slice(1,-1)),""!==spread.port&&(spread.port=Number(spread.port)),spread.path=spread.search?spread.pathname+spread.search:spread.pathname,spread}function removeMatchingHeaders(regex,headers){var lastValue;for(var header in headers)regex.test(header)&&(lastValue=headers[header],delete headers[header]);return null==lastValue?void 0:String(lastValue).trim()}function createErrorType(code,message,baseClass){function CustomError(properties){Error.captureStackTrace(this,this.constructor),Object.assign(this,properties||{}),this.code=code,this.message=this.cause?message+": "+this.cause.message:message}return CustomError.prototype=new(baseClass||Error),Object.defineProperties(CustomError.prototype,{constructor:{value:CustomError,enumerable:!1},name:{value:"Error ["+code+"]",enumerable:!1}}),CustomError}function destroyRequest(request,error){for(var event of events)request.removeListener(event,eventHandlers[event]);request.on("error",noop),request.destroy(error)}function isString(value){return"string"==typeof value||value instanceof String}function isFunction(value){return"function"==typeof value}return RedirectableRequest.prototype=Object.create(Writable.prototype),RedirectableRequest.prototype.abort=function(){destroyRequest(this._currentRequest),this._currentRequest.abort(),this.emit("abort")},RedirectableRequest.prototype.destroy=function(error){return destroyRequest(this._currentRequest,error),destroy.call(this,error),this},RedirectableRequest.prototype.write=function(data,encoding,callback){if(this._ending)throw new WriteAfterEndError;if(!isString(data)&&!function isBuffer(value){return"object"==typeof value&&"length"in value}(data))throw new TypeError("data should be a string, Buffer or Uint8Array");isFunction(encoding)&&(callback=encoding,encoding=null),0!==data.length?this._requestBodyLength+data.length<=this._options.maxBodyLength?(this._requestBodyLength+=data.length,this._requestBodyBuffers.push({data:data,encoding:encoding}),this._currentRequest.write(data,encoding,callback)):(this.emit("error",new MaxBodyLengthExceededError),this.abort()):callback&&callback()},RedirectableRequest.prototype.end=function(data,encoding,callback){if(isFunction(data)?(callback=data,data=encoding=null):isFunction(encoding)&&(callback=encoding,encoding=null),data){var self=this,currentRequest=this._currentRequest;this.write(data,encoding,(function(){self._ended=!0,currentRequest.end(null,null,callback)})),this._ending=!0}else this._ended=this._ending=!0,this._currentRequest.end(null,null,callback)},RedirectableRequest.prototype.setHeader=function(name,value){this._options.headers[name]=value,this._currentRequest.setHeader(name,value)},RedirectableRequest.prototype.removeHeader=function(name){delete this._options.headers[name],this._currentRequest.removeHeader(name)},RedirectableRequest.prototype.setTimeout=function(msecs,callback){var self=this;function destroyOnTimeout(socket){socket.setTimeout(msecs),socket.removeListener("timeout",socket.destroy),socket.addListener("timeout",socket.destroy)}function startTimer(socket){self._timeout&&clearTimeout(self._timeout),self._timeout=setTimeout((function(){self.emit("timeout"),clearTimer()}),msecs),destroyOnTimeout(socket)}function clearTimer(){self._timeout&&(clearTimeout(self._timeout),self._timeout=null),self.removeListener("abort",clearTimer),self.removeListener("error",clearTimer),self.removeListener("response",clearTimer),self.removeListener("close",clearTimer),callback&&self.removeListener("timeout",callback),self.socket||self._currentRequest.removeListener("socket",startTimer)}return callback&&this.on("timeout",callback),this.socket?startTimer(this.socket):this._currentRequest.once("socket",startTimer),this.on("socket",destroyOnTimeout),this.on("abort",clearTimer),this.on("error",clearTimer),this.on("response",clearTimer),this.on("close",clearTimer),this},["flushHeaders","getHeader","setNoDelay","setSocketKeepAlive"].forEach((function(method){RedirectableRequest.prototype[method]=function(a,b){return this._currentRequest[method](a,b)}})),["aborted","connection","socket"].forEach((function(property){Object.defineProperty(RedirectableRequest.prototype,property,{get:function(){return this._currentRequest[property]}})})),RedirectableRequest.prototype._sanitizeOptions=function(options){if(options.headers||(options.headers={}),options.host&&(options.hostname||(options.hostname=options.host),delete options.host),!options.pathname&&options.path){var searchPos=options.path.indexOf("?");searchPos<0?options.pathname=options.path:(options.pathname=options.path.substring(0,searchPos),options.search=options.path.substring(searchPos))}},RedirectableRequest.prototype._performRequest=function(){var protocol=this._options.protocol,nativeProtocol=this._options.nativeProtocols[protocol];if(!nativeProtocol)throw new TypeError("Unsupported protocol "+protocol);if(this._options.agents){var scheme=protocol.slice(0,-1);this._options.agent=this._options.agents[scheme]}var request=this._currentRequest=nativeProtocol.request(this._options,this._onNativeResponse);for(var event of(request._redirectable=this,events))request.on(event,eventHandlers[event]);if(this._currentUrl=/^\//.test(this._options.path)?url.format(this._options):this._options.path,this._isRedirect){var i=0,self=this,buffers=this._requestBodyBuffers;!function writeNext(error){if(request===self._currentRequest)if(error)self.emit("error",error);else if(i<buffers.length){var buffer=buffers[i++];request.finished||request.write(buffer.data,buffer.encoding,writeNext)}else self._ended&&request.end()}()}},RedirectableRequest.prototype._processResponse=function(response){var statusCode=response.statusCode;this._options.trackRedirects&&this._redirects.push({url:this._currentUrl,headers:response.headers,statusCode:statusCode});var requestHeaders,location=response.headers.location;if(!location||!1===this._options.followRedirects||statusCode<300||statusCode>=400)return response.responseUrl=this._currentUrl,response.redirects=this._redirects,this.emit("response",response),void(this._requestBodyBuffers=[]);if(destroyRequest(this._currentRequest),response.destroy(),++this._redirectCount>this._options.maxRedirects)throw new TooManyRedirectsError;var beforeRedirect=this._options.beforeRedirect;beforeRedirect&&(requestHeaders=Object.assign({Host:response.req.getHeader("host")},this._options.headers));var method=this._options.method;((301===statusCode||302===statusCode)&&"POST"===this._options.method||303===statusCode&&!/^(?:GET|HEAD)$/.test(this._options.method))&&(this._options.method="GET",this._requestBodyBuffers=[],removeMatchingHeaders(/^content-/i,this._options.headers));var currentHostHeader=removeMatchingHeaders(/^host$/i,this._options.headers),currentUrlParts=parseUrl(this._currentUrl),currentHost=currentHostHeader||currentUrlParts.host,currentUrl=/^\w+:/.test(location)?this._currentUrl:url.format(Object.assign(currentUrlParts,{host:currentHost})),redirectUrl=function resolveUrl(relative,base){return useNativeURL?new URL(relative,base):parseUrl(url.resolve(base,relative))}(location,currentUrl);if(debug("redirecting to",redirectUrl.href),this._isRedirect=!0,spreadUrlObject(redirectUrl,this._options),(redirectUrl.protocol!==currentUrlParts.protocol&&"https:"!==redirectUrl.protocol||redirectUrl.host!==currentHost&&!function isSubdomain(subdomain,domain){assert(isString(subdomain)&&isString(domain));var dot=subdomain.length-domain.length-1;return dot>0&&"."===subdomain[dot]&&subdomain.endsWith(domain)}(redirectUrl.host,currentHost))&&removeMatchingHeaders(/^(?:(?:proxy-)?authorization|cookie)$/i,this._options.headers),isFunction(beforeRedirect)){var responseDetails={headers:response.headers,statusCode:statusCode},requestDetails={url:currentUrl,method:method,headers:requestHeaders};beforeRedirect(this._options,responseDetails,requestDetails),this._sanitizeOptions(this._options)}this._performRequest()},followRedirects$1.exports=wrap({http:http,https:https}),followRedirects$1.exports.wrap=wrap,followRedirects$1.exports}(),followRedirects=getDefaultExportFromCjs(followRedirectsExports);function parseProtocol(url){const match=/^([-+\w]{1,25})(:?\/\/|:)/.exec(url);return match&&match[1]||""}const DATA_URL_PATTERN=/^(?:([^;]+);)?(?:[^;]+;)?(base64|),([\s\S]*)$/;const kInternals=Symbol("internals");class AxiosTransformStream extends require$$0__default$2.default.Transform{constructor(options){super({readableHighWaterMark:(options=utils$4.toFlatObject(options,{maxRate:0,chunkSize:65536,minChunkSize:100,timeWindow:500,ticksRate:2,samplesCount:15},null,((prop,source)=>!utils$4.isUndefined(source[prop])))).chunkSize});const internals=this[kInternals]={timeWindow:options.timeWindow,chunkSize:options.chunkSize,maxRate:options.maxRate,minChunkSize:options.minChunkSize,bytesSeen:0,isCaptured:!1,notifiedBytesLoaded:0,ts:Date.now(),bytes:0,onReadCallback:null};this.on("newListener",(event=>{"progress"===event&&(internals.isCaptured||(internals.isCaptured=!0))}))}_read(size){const internals=this[kInternals];return internals.onReadCallback&&internals.onReadCallback(),super._read(size)}_transform(chunk,encoding,callback){const internals=this[kInternals],maxRate=internals.maxRate,readableHighWaterMark=this.readableHighWaterMark,timeWindow=internals.timeWindow,bytesThreshold=maxRate/(1e3/timeWindow),minChunkSize=!1!==internals.minChunkSize?Math.max(internals.minChunkSize,.01*bytesThreshold):0,pushChunk=(_chunk,_callback)=>{const bytes=Buffer.byteLength(_chunk);internals.bytesSeen+=bytes,internals.bytes+=bytes,internals.isCaptured&&this.emit("progress",internals.bytesSeen),this.push(_chunk)?process.nextTick(_callback):internals.onReadCallback=()=>{internals.onReadCallback=null,process.nextTick(_callback)}},transformChunk=(_chunk,_callback)=>{const chunkSize=Buffer.byteLength(_chunk);let bytesLeft,chunkRemainder=null,maxChunkSize=readableHighWaterMark,passed=0;if(maxRate){const now=Date.now();(!internals.ts||(passed=now-internals.ts)>=timeWindow)&&(internals.ts=now,bytesLeft=bytesThreshold-internals.bytes,internals.bytes=bytesLeft<0?-bytesLeft:0,passed=0),bytesLeft=bytesThreshold-internals.bytes}if(maxRate){if(bytesLeft<=0)return setTimeout((()=>{_callback(null,_chunk)}),timeWindow-passed);bytesLeft<maxChunkSize&&(maxChunkSize=bytesLeft)}maxChunkSize&&chunkSize>maxChunkSize&&chunkSize-maxChunkSize>minChunkSize&&(chunkRemainder=_chunk.subarray(maxChunkSize),_chunk=_chunk.subarray(0,maxChunkSize)),pushChunk(_chunk,chunkRemainder?()=>{process.nextTick(_callback,null,chunkRemainder)}:_callback)};transformChunk(chunk,(function transformNextChunk(err,_chunk){if(err)return callback(err);_chunk?transformChunk(_chunk,transformNextChunk):callback(null)}))}}var AxiosTransformStream$1=AxiosTransformStream;const{asyncIterator:asyncIterator}=Symbol;var readBlob$1=async function*(blob){blob.stream?yield*blob.stream():blob.arrayBuffer?yield await blob.arrayBuffer():blob[asyncIterator]?yield*blob[asyncIterator]():yield blob};const BOUNDARY_ALPHABET=utils$4.ALPHABET.ALPHA_DIGIT+"-_",textEncoder=new require$$0$6.TextEncoder,CRLF_BYTES=textEncoder.encode("\r\n");class FormDataPart{constructor(name,value){const{escapeName:escapeName}=this.constructor,isStringValue=utils$4.isString(value);let headers=`Content-Disposition: form-data; name="${escapeName(name)}"${!isStringValue&&value.name?`; filename="${escapeName(value.name)}"`:""}\r\n`;isStringValue?value=textEncoder.encode(String(value).replace(/\r?\n|\r\n?/g,"\r\n")):headers+=`Content-Type: ${value.type||"application/octet-stream"}\r\n`,this.headers=textEncoder.encode(headers+"\r\n"),this.contentLength=isStringValue?value.byteLength:value.size,this.size=this.headers.byteLength+this.contentLength+2,this.name=name,this.value=value}async*encode(){yield this.headers;const{value:value}=this;utils$4.isTypedArray(value)?yield value:yield*readBlob$1(value),yield CRLF_BYTES}static escapeName(name){return String(name).replace(/[\r\n"]/g,(match=>({"\r":"%0D","\n":"%0A",'"':"%22"}[match])))}}var formDataToStream$1=(form,headersHandler,options)=>{const{tag:tag="form-data-boundary",size:size=25,boundary:boundary=tag+"-"+utils$4.generateString(size,BOUNDARY_ALPHABET)}=options||{};if(!utils$4.isFormData(form))throw TypeError("FormData instance required");if(boundary.length<1||boundary.length>70)throw Error("boundary must be 10-70 characters long");const boundaryBytes=textEncoder.encode("--"+boundary+"\r\n"),footerBytes=textEncoder.encode("--"+boundary+"--\r\n\r\n");let contentLength=footerBytes.byteLength;const parts=Array.from(form.entries()).map((([name,value])=>{const part=new FormDataPart(name,value);return contentLength+=part.size,part}));contentLength+=boundaryBytes.byteLength*parts.length,contentLength=utils$4.toFiniteNumber(contentLength);const computedHeaders={"Content-Type":`multipart/form-data; boundary=${boundary}`};return Number.isFinite(contentLength)&&(computedHeaders["Content-Length"]=contentLength),headersHandler&&headersHandler(computedHeaders),require$$0$5.Readable.from(async function*(){for(const part of parts)yield boundaryBytes,yield*part.encode();yield footerBytes}())};class ZlibHeaderTransformStream extends require$$0__default$2.default.Transform{__transform(chunk,encoding,callback){this.push(chunk),callback()}_transform(chunk,encoding,callback){if(0!==chunk.length&&(this._transform=this.__transform,120!==chunk[0])){const header=Buffer.alloc(2);header[0]=120,header[1]=156,this.push(header,encoding)}this.__transform(chunk,encoding,callback)}}var ZlibHeaderTransformStream$1=ZlibHeaderTransformStream;var callbackify$1=(fn,reducer)=>utils$4.isAsyncFn(fn)?function(...args){const cb=args.pop();fn.apply(this,args).then((value=>{try{reducer?cb(null,...reducer(value)):cb(null,value)}catch(err){cb(err)}}),cb)}:fn;const progressEventReducer=(listener,isDownloadStream,freq=3)=>{let bytesNotified=0;const _speedometer=function speedometer(samplesCount,min){samplesCount=samplesCount||10;const bytes=new Array(samplesCount),timestamps=new Array(samplesCount);let firstSampleTS,head=0,tail=0;return min=void 0!==min?min:1e3,function push(chunkLength){const now=Date.now(),startedAt=timestamps[tail];firstSampleTS||(firstSampleTS=now),bytes[head]=chunkLength,timestamps[head]=now;let i=tail,bytesCount=0;for(;i!==head;)bytesCount+=bytes[i++],i%=samplesCount;if(head=(head+1)%samplesCount,head===tail&&(tail=(tail+1)%samplesCount),now-firstSampleTS<min)return;const passed=startedAt&&now-startedAt;return passed?Math.round(1e3*bytesCount/passed):void 0}}(50,250);return function throttle(fn,freq){let lastArgs,timer,timestamp=0,threshold=1e3/freq;const invoke=(args,now=Date.now())=>{timestamp=now,lastArgs=null,timer&&(clearTimeout(timer),timer=null),fn.apply(null,args)};return[(...args)=>{const now=Date.now(),passed=now-timestamp;passed>=threshold?invoke(args,now):(lastArgs=args,timer||(timer=setTimeout((()=>{timer=null,invoke(lastArgs)}),threshold-passed)))},()=>lastArgs&&invoke(lastArgs)]}((e=>{const loaded=e.loaded,total=e.lengthComputable?e.total:void 0,progressBytes=loaded-bytesNotified,rate=_speedometer(progressBytes);bytesNotified=loaded;listener({loaded:loaded,total:total,progress:total?loaded/total:void 0,bytes:progressBytes,rate:rate||void 0,estimated:rate&&total&&loaded<=total?(total-loaded)/rate:void 0,event:e,lengthComputable:null!=total,[isDownloadStream?"download":"upload"]:!0})}),freq)},progressEventDecorator=(total,throttled)=>{const lengthComputable=null!=total;return[loaded=>throttled[0]({lengthComputable:lengthComputable,total:total,loaded:loaded}),throttled[1]]},asyncDecorator=fn=>(...args)=>utils$4.asap((()=>fn(...args))),zlibOptions={flush:zlib__default.default.constants.Z_SYNC_FLUSH,finishFlush:zlib__default.default.constants.Z_SYNC_FLUSH},brotliOptions={flush:zlib__default.default.constants.BROTLI_OPERATION_FLUSH,finishFlush:zlib__default.default.constants.BROTLI_OPERATION_FLUSH},isBrotliSupported=utils$4.isFunction(zlib__default.default.createBrotliDecompress),{http:httpFollow,https:httpsFollow}=followRedirects,isHttps=/https:?/,supportedProtocols=platform.protocols.map((protocol=>protocol+":")),flushOnFinish=(stream,[throttled,flush])=>(stream.on("end",flush).on("error",flush),throttled);function dispatchBeforeRedirect(options,responseDetails){options.beforeRedirects.proxy&&options.beforeRedirects.proxy(options),options.beforeRedirects.config&&options.beforeRedirects.config(options,responseDetails)}function setProxy(options,configProxy,location){let proxy=configProxy;if(!proxy&&!1!==proxy){const proxyUrl=proxyFromEnvExports.getProxyForUrl(location);proxyUrl&&(proxy=new URL(proxyUrl))}if(proxy){if(proxy.username&&(proxy.auth=(proxy.username||"")+":"+(proxy.password||"")),proxy.auth){(proxy.auth.username||proxy.auth.password)&&(proxy.auth=(proxy.auth.username||"")+":"+(proxy.auth.password||""));const base64=Buffer.from(proxy.auth,"utf8").toString("base64");options.headers["Proxy-Authorization"]="Basic "+base64}options.headers.host=options.hostname+(options.port?":"+options.port:"");const proxyHost=proxy.hostname||proxy.host;options.hostname=proxyHost,options.host=proxyHost,options.port=proxy.port,options.path=location,proxy.protocol&&(options.protocol=proxy.protocol.includes(":")?proxy.protocol:`${proxy.protocol}:`)}options.beforeRedirects.proxy=function beforeRedirect(redirectOptions){setProxy(redirectOptions,configProxy,redirectOptions.href)}}const isHttpAdapterSupported="undefined"!=typeof process&&"process"===utils$4.kindOf(process),buildAddressEntry=(address,family)=>(({address:address,family:family})=>{if(!utils$4.isString(address))throw TypeError("address must be a string");return{address:address,family:family||(address.indexOf(".")<0?6:4)}})(utils$4.isObject(address)?address:{address:address,family:family});var httpAdapter=isHttpAdapterSupported&&function httpAdapter(config){return asyncExecutor=async function dispatchHttpRequest(resolve,reject,onDone){let{data:data,lookup:lookup,family:family}=config;const{responseType:responseType,responseEncoding:responseEncoding}=config,method=config.method.toUpperCase();let isDone,req,rejected=!1;if(lookup){const _lookup=callbackify$1(lookup,(value=>utils$4.isArray(value)?value:[value]));lookup=(hostname,opt,cb)=>{_lookup(hostname,opt,((err,arg0,arg1)=>{if(err)return cb(err);const addresses=utils$4.isArray(arg0)?arg0.map((addr=>buildAddressEntry(addr))):[buildAddressEntry(arg0,arg1)];opt.all?cb(err,addresses):cb(err,addresses[0].address,addresses[0].family)}))}}const emitter=new require$$0$2.EventEmitter,onFinished=()=>{config.cancelToken&&config.cancelToken.unsubscribe(abort),config.signal&&config.signal.removeEventListener("abort",abort),emitter.removeAllListeners()};function abort(reason){emitter.emit("abort",!reason||reason.type?new CanceledError(null,config,req):reason)}onDone(((value,isRejected)=>{isDone=!0,isRejected&&(rejected=!0,onFinished())})),emitter.once("abort",reject),(config.cancelToken||config.signal)&&(config.cancelToken&&config.cancelToken.subscribe(abort),config.signal&&(config.signal.aborted?abort():config.signal.addEventListener("abort",abort)));const fullPath=buildFullPath(config.baseURL,config.url),parsed=new URL(fullPath,platform.hasBrowserEnv?platform.origin:void 0),protocol=parsed.protocol||supportedProtocols[0];if("data:"===protocol){let convertedData;if("GET"!==method)return settle(resolve,reject,{status:405,statusText:"method not allowed",headers:{},config:config});try{convertedData=function fromDataURI(uri,asBlob,options){const _Blob=options&&options.Blob||platform.classes.Blob,protocol=parseProtocol(uri);if(void 0===asBlob&&_Blob&&(asBlob=!0),"data"===protocol){uri=protocol.length?uri.slice(protocol.length+1):uri;const match=DATA_URL_PATTERN.exec(uri);if(!match)throw new AxiosError("Invalid URL",AxiosError.ERR_INVALID_URL);const mime=match[1],isBase64=match[2],body=match[3],buffer=Buffer.from(decodeURIComponent(body),isBase64?"base64":"utf8");if(asBlob){if(!_Blob)throw new AxiosError("Blob is not supported",AxiosError.ERR_NOT_SUPPORT);return new _Blob([buffer],{type:mime})}return buffer}throw new AxiosError("Unsupported protocol "+protocol,AxiosError.ERR_NOT_SUPPORT)}(config.url,"blob"===responseType,{Blob:config.env&&config.env.Blob})}catch(err){throw AxiosError.from(err,AxiosError.ERR_BAD_REQUEST,config)}return"text"===responseType?(convertedData=convertedData.toString(responseEncoding),responseEncoding&&"utf8"!==responseEncoding||(convertedData=utils$4.stripBOM(convertedData))):"stream"===responseType&&(convertedData=require$$0__default$2.default.Readable.from(convertedData)),settle(resolve,reject,{data:convertedData,status:200,statusText:"OK",headers:new AxiosHeaders$1,config:config})}if(-1===supportedProtocols.indexOf(protocol))return reject(new AxiosError("Unsupported protocol "+protocol,AxiosError.ERR_BAD_REQUEST,config));const headers=AxiosHeaders$1.from(config.headers).normalize();headers.set("User-Agent","axios/1.7.7",!1);const{onUploadProgress:onUploadProgress,onDownloadProgress:onDownloadProgress}=config,maxRate=config.maxRate;let maxUploadRate,maxDownloadRate;if(utils$4.isSpecCompliantForm(data)){const userBoundary=headers.getContentType(/boundary=([-_\w\d]{10,70})/i);data=formDataToStream$1(data,(formHeaders=>{headers.set(formHeaders)}),{tag:"axios-1.7.7-boundary",boundary:userBoundary&&userBoundary[1]||void 0})}else if(utils$4.isFormData(data)&&utils$4.isFunction(data.getHeaders)){if(headers.set(data.getHeaders()),!headers.hasContentLength())try{const knownLength=await require$$0__default$3.default.promisify(data.getLength).call(data);Number.isFinite(knownLength)&&knownLength>=0&&headers.setContentLength(knownLength)}catch(e){}}else if(utils$4.isBlob(data))data.size&&headers.setContentType(data.type||"application/octet-stream"),headers.setContentLength(data.size||0),data=require$$0__default$2.default.Readable.from(readBlob$1(data));else if(data&&!utils$4.isStream(data)){if(Buffer.isBuffer(data));else if(utils$4.isArrayBuffer(data))data=Buffer.from(new Uint8Array(data));else{if(!utils$4.isString(data))return reject(new AxiosError("Data after transformation must be a string, an ArrayBuffer, a Buffer, or a Stream",AxiosError.ERR_BAD_REQUEST,config));data=Buffer.from(data,"utf-8")}if(headers.setContentLength(data.length,!1),config.maxBodyLength>-1&&data.length>config.maxBodyLength)return reject(new AxiosError("Request body larger than maxBodyLength limit",AxiosError.ERR_BAD_REQUEST,config))}const contentLength=utils$4.toFiniteNumber(headers.getContentLength());let auth,path;utils$4.isArray(maxRate)?(maxUploadRate=maxRate[0],maxDownloadRate=maxRate[1]):maxUploadRate=maxDownloadRate=maxRate,data&&(onUploadProgress||maxUploadRate)&&(utils$4.isStream(data)||(data=require$$0__default$2.default.Readable.from(data,{objectMode:!1})),data=require$$0__default$2.default.pipeline([data,new AxiosTransformStream$1({maxRate:utils$4.toFiniteNumber(maxUploadRate)})],utils$4.noop),onUploadProgress&&data.on("progress",flushOnFinish(data,progressEventDecorator(contentLength,progressEventReducer(asyncDecorator(onUploadProgress),!1,3))))),config.auth&&(auth=(config.auth.username||"")+":"+(config.auth.password||"")),!auth&&parsed.username&&(auth=parsed.username+":"+parsed.password),auth&&headers.delete("authorization");try{path=buildURL(parsed.pathname+parsed.search,config.params,config.paramsSerializer).replace(/^\?/,"")}catch(err){const customErr=new Error(err.message);return customErr.config=config,customErr.url=config.url,customErr.exists=!0,reject(customErr)}headers.set("Accept-Encoding","gzip, compress, deflate"+(isBrotliSupported?", br":""),!1);const options={path:path,method:method,headers:headers.toJSON(),agents:{http:config.httpAgent,https:config.httpsAgent},auth:auth,protocol:protocol,family:family,beforeRedirect:dispatchBeforeRedirect,beforeRedirects:{}};let transport;!utils$4.isUndefined(lookup)&&(options.lookup=lookup),config.socketPath?options.socketPath=config.socketPath:(options.hostname=parsed.hostname.startsWith("[")?parsed.hostname.slice(1,-1):parsed.hostname,options.port=parsed.port,setProxy(options,config.proxy,protocol+"//"+parsed.hostname+(parsed.port?":"+parsed.port:"")+options.path));const isHttpsRequest=isHttps.test(options.protocol);if(options.agent=isHttpsRequest?config.httpsAgent:config.httpAgent,config.transport?transport=config.transport:0===config.maxRedirects?transport=isHttpsRequest?https__default.default:require$$3__default.default:(config.maxRedirects&&(options.maxRedirects=config.maxRedirects),config.beforeRedirect&&(options.beforeRedirects.config=config.beforeRedirect),transport=isHttpsRequest?httpsFollow:httpFollow),config.maxBodyLength>-1?options.maxBodyLength=config.maxBodyLength:options.maxBodyLength=1/0,config.insecureHTTPParser&&(options.insecureHTTPParser=config.insecureHTTPParser),req=transport.request(options,(function handleResponse(res){if(req.destroyed)return;const streams=[res],responseLength=+res.headers["content-length"];if(onDownloadProgress||maxDownloadRate){const transformStream=new AxiosTransformStream$1({maxRate:utils$4.toFiniteNumber(maxDownloadRate)});onDownloadProgress&&transformStream.on("progress",flushOnFinish(transformStream,progressEventDecorator(responseLength,progressEventReducer(asyncDecorator(onDownloadProgress),!0,3)))),streams.push(transformStream)}let responseStream=res;const lastRequest=res.req||req;if(!1!==config.decompress&&res.headers["content-encoding"])switch("HEAD"!==method&&204!==res.statusCode||delete res.headers["content-encoding"],(res.headers["content-encoding"]||"").toLowerCase()){case"gzip":case"x-gzip":case"compress":case"x-compress":streams.push(zlib__default.default.createUnzip(zlibOptions)),delete res.headers["content-encoding"];break;case"deflate":streams.push(new ZlibHeaderTransformStream$1),streams.push(zlib__default.default.createUnzip(zlibOptions)),delete res.headers["content-encoding"];break;case"br":isBrotliSupported&&(streams.push(zlib__default.default.createBrotliDecompress(brotliOptions)),delete res.headers["content-encoding"])}responseStream=streams.length>1?require$$0__default$2.default.pipeline(streams,utils$4.noop):streams[0];const offListeners=require$$0__default$2.default.finished(responseStream,(()=>{offListeners(),onFinished()})),response={status:res.statusCode,statusText:res.statusMessage,headers:new AxiosHeaders$1(res.headers),config:config,request:lastRequest};if("stream"===responseType)response.data=responseStream,settle(resolve,reject,response);else{const responseBuffer=[];let totalResponseBytes=0;responseStream.on("data",(function handleStreamData(chunk){responseBuffer.push(chunk),totalResponseBytes+=chunk.length,config.maxContentLength>-1&&totalResponseBytes>config.maxContentLength&&(rejected=!0,responseStream.destroy(),reject(new AxiosError("maxContentLength size of "+config.maxContentLength+" exceeded",AxiosError.ERR_BAD_RESPONSE,config,lastRequest)))})),responseStream.on("aborted",(function handlerStreamAborted(){if(rejected)return;const err=new AxiosError("maxContentLength size of "+config.maxContentLength+" exceeded",AxiosError.ERR_BAD_RESPONSE,config,lastRequest);responseStream.destroy(err),reject(err)})),responseStream.on("error",(function handleStreamError(err){req.destroyed||reject(AxiosError.from(err,null,config,lastRequest))})),responseStream.on("end",(function handleStreamEnd(){try{let responseData=1===responseBuffer.length?responseBuffer[0]:Buffer.concat(responseBuffer);"arraybuffer"!==responseType&&(responseData=responseData.toString(responseEncoding),responseEncoding&&"utf8"!==responseEncoding||(responseData=utils$4.stripBOM(responseData))),response.data=responseData}catch(err){return reject(AxiosError.from(err,null,config,response.request,response))}settle(resolve,reject,response)}))}emitter.once("abort",(err=>{responseStream.destroyed||(responseStream.emit("error",err),responseStream.destroy())}))})),emitter.once("abort",(err=>{reject(err),req.destroy(err)})),req.on("error",(function handleRequestError(err){reject(AxiosError.from(err,null,config,req))})),req.on("socket",(function handleRequestSocket(socket){socket.setKeepAlive(!0,6e4)})),config.timeout){const timeout=parseInt(config.timeout,10);if(Number.isNaN(timeout))return void reject(new AxiosError("error trying to parse `config.timeout` to int",AxiosError.ERR_BAD_OPTION_VALUE,config,req));req.setTimeout(timeout,(function handleRequestTimeout(){if(isDone)return;let timeoutErrorMessage=config.timeout?"timeout of "+config.timeout+"ms exceeded":"timeout exceeded";const transitional=config.transitional||transitionalDefaults;config.timeoutErrorMessage&&(timeoutErrorMessage=config.timeoutErrorMessage),reject(new AxiosError(timeoutErrorMessage,transitional.clarifyTimeoutError?AxiosError.ETIMEDOUT:AxiosError.ECONNABORTED,config,req)),abort()}))}if(utils$4.isStream(data)){let ended=!1,errored=!1;data.on("end",(()=>{ended=!0})),data.once("error",(err=>{errored=!0,req.destroy(err)})),data.on("close",(()=>{ended||errored||abort(new CanceledError("Request stream has been aborted",config,req))})),data.pipe(req)}else req.end(data)},new Promise(((resolve,reject)=>{let onDone,isDone;const done=(value,isRejected)=>{isDone||(isDone=!0,onDone&&onDone(value,isRejected))},_reject=reason=>{done(reason,!0),reject(reason)};asyncExecutor((value=>{done(value),resolve(value)}),_reject,(onDoneHandler=>onDone=onDoneHandler)).catch(_reject)}));var asyncExecutor},isURLSameOrigin=platform.hasStandardBrowserEnv?function standardBrowserEnv(){const msie=platform.navigator&&/(msie|trident)/i.test(platform.navigator.userAgent),urlParsingNode=document.createElement("a");let originURL;function resolveURL(url){let href=url;return msie&&(urlParsingNode.setAttribute("href",href),href=urlParsingNode.href),urlParsingNode.setAttribute("href",href),{href:urlParsingNode.href,protocol:urlParsingNode.protocol?urlParsingNode.protocol.replace(/:$/,""):"",host:urlParsingNode.host,search:urlParsingNode.search?urlParsingNode.search.replace(/^\?/,""):"",hash:urlParsingNode.hash?urlParsingNode.hash.replace(/^#/,""):"",hostname:urlParsingNode.hostname,port:urlParsingNode.port,pathname:"/"===urlParsingNode.pathname.charAt(0)?urlParsingNode.pathname:"/"+urlParsingNode.pathname}}return originURL=resolveURL(window.location.href),function isURLSameOrigin(requestURL){const parsed=utils$4.isString(requestURL)?resolveURL(requestURL):requestURL;return parsed.protocol===originURL.protocol&&parsed.host===originURL.host}}():function isURLSameOrigin(){return!0},cookies$1=platform.hasStandardBrowserEnv?{write(name,value,expires,path,domain,secure){const cookie=[name+"="+encodeURIComponent(value)];utils$4.isNumber(expires)&&cookie.push("expires="+new Date(expires).toGMTString()),utils$4.isString(path)&&cookie.push("path="+path),utils$4.isString(domain)&&cookie.push("domain="+domain),!0===secure&&cookie.push("secure"),document.cookie=cookie.join("; ")},read(name){const match=document.cookie.match(new RegExp("(^|;\\s*)("+name+")=([^;]*)"));return match?decodeURIComponent(match[3]):null},remove(name){this.write(name,"",Date.now()-864e5)}}:{write(){},read:()=>null,remove(){}};const headersToObject=thing=>thing instanceof AxiosHeaders$1?{...thing}:thing;function mergeConfig(config1,config2){config2=config2||{};const config={};function getMergedValue(target,source,caseless){return utils$4.isPlainObject(target)&&utils$4.isPlainObject(source)?utils$4.merge.call({caseless:caseless},target,source):utils$4.isPlainObject(source)?utils$4.merge({},source):utils$4.isArray(source)?source.slice():source}function mergeDeepProperties(a,b,caseless){return utils$4.isUndefined(b)?utils$4.isUndefined(a)?void 0:getMergedValue(void 0,a,caseless):getMergedValue(a,b,caseless)}function valueFromConfig2(a,b){if(!utils$4.isUndefined(b))return getMergedValue(void 0,b)}function defaultToConfig2(a,b){return utils$4.isUndefined(b)?utils$4.isUndefined(a)?void 0:getMergedValue(void 0,a):getMergedValue(void 0,b)}function mergeDirectKeys(a,b,prop){return prop in config2?getMergedValue(a,b):prop in config1?getMergedValue(void 0,a):void 0}const mergeMap={url:valueFromConfig2,method:valueFromConfig2,data:valueFromConfig2,baseURL:defaultToConfig2,transformRequest:defaultToConfig2,transformResponse:defaultToConfig2,paramsSerializer:defaultToConfig2,timeout:defaultToConfig2,timeoutMessage:defaultToConfig2,withCredentials:defaultToConfig2,withXSRFToken:defaultToConfig2,adapter:defaultToConfig2,responseType:defaultToConfig2,xsrfCookieName:defaultToConfig2,xsrfHeaderName:defaultToConfig2,onUploadProgress:defaultToConfig2,onDownloadProgress:defaultToConfig2,decompress:defaultToConfig2,maxContentLength:defaultToConfig2,maxBodyLength:defaultToConfig2,beforeRedirect:defaultToConfig2,transport:defaultToConfig2,httpAgent:defaultToConfig2,httpsAgent:defaultToConfig2,cancelToken:defaultToConfig2,socketPath:defaultToConfig2,responseEncoding:defaultToConfig2,validateStatus:mergeDirectKeys,headers:(a,b)=>mergeDeepProperties(headersToObject(a),headersToObject(b),!0)};return utils$4.forEach(Object.keys(Object.assign({},config1,config2)),(function computeConfigValue(prop){const merge=mergeMap[prop]||mergeDeepProperties,configValue=merge(config1[prop],config2[prop],prop);utils$4.isUndefined(configValue)&&merge!==mergeDirectKeys||(config[prop]=configValue)})),config}var resolveConfig=config=>{const newConfig=mergeConfig({},config);let contentType,{data:data,withXSRFToken:withXSRFToken,xsrfHeaderName:xsrfHeaderName,xsrfCookieName:xsrfCookieName,headers:headers,auth:auth}=newConfig;if(newConfig.headers=headers=AxiosHeaders$1.from(headers),newConfig.url=buildURL(buildFullPath(newConfig.baseURL,newConfig.url),config.params,config.paramsSerializer),auth&&headers.set("Authorization","Basic "+btoa((auth.username||"")+":"+(auth.password?unescape(encodeURIComponent(auth.password)):""))),utils$4.isFormData(data))if(platform.hasStandardBrowserEnv||platform.hasStandardBrowserWebWorkerEnv)headers.setContentType(void 0);else if(!1!==(contentType=headers.getContentType())){const[type,...tokens]=contentType?contentType.split(";").map((token=>token.trim())).filter(Boolean):[];headers.setContentType([type||"multipart/form-data",...tokens].join("; "))}if(platform.hasStandardBrowserEnv&&(withXSRFToken&&utils$4.isFunction(withXSRFToken)&&(withXSRFToken=withXSRFToken(newConfig)),withXSRFToken||!1!==withXSRFToken&&isURLSameOrigin(newConfig.url))){const xsrfValue=xsrfHeaderName&&xsrfCookieName&&cookies$1.read(xsrfCookieName);xsrfValue&&headers.set(xsrfHeaderName,xsrfValue)}return newConfig};var xhrAdapter="undefined"!=typeof XMLHttpRequest&&function(config){return new Promise((function dispatchXhrRequest(resolve,reject){const _config=resolveConfig(config);let requestData=_config.data;const requestHeaders=AxiosHeaders$1.from(_config.headers).normalize();let onCanceled,uploadThrottled,downloadThrottled,flushUpload,flushDownload,{responseType:responseType,onUploadProgress:onUploadProgress,onDownloadProgress:onDownloadProgress}=_config;function done(){flushUpload&&flushUpload(),flushDownload&&flushDownload(),_config.cancelToken&&_config.cancelToken.unsubscribe(onCanceled),_config.signal&&_config.signal.removeEventListener("abort",onCanceled)}let request=new XMLHttpRequest;function onloadend(){if(!request)return;const responseHeaders=AxiosHeaders$1.from("getAllResponseHeaders"in request&&request.getAllResponseHeaders());settle((function _resolve(value){resolve(value),done()}),(function _reject(err){reject(err),done()}),{data:responseType&&"text"!==responseType&&"json"!==responseType?request.response:request.responseText,status:request.status,statusText:request.statusText,headers:responseHeaders,config:config,request:request}),request=null}request.open(_config.method.toUpperCase(),_config.url,!0),request.timeout=_config.timeout,"onloadend"in request?request.onloadend=onloadend:request.onreadystatechange=function handleLoad(){request&&4===request.readyState&&(0!==request.status||request.responseURL&&0===request.responseURL.indexOf("file:"))&&setTimeout(onloadend)},request.onabort=function handleAbort(){request&&(reject(new AxiosError("Request aborted",AxiosError.ECONNABORTED,config,request)),request=null)},request.onerror=function handleError(){reject(new AxiosError("Network Error",AxiosError.ERR_NETWORK,config,request)),request=null},request.ontimeout=function handleTimeout(){let timeoutErrorMessage=_config.timeout?"timeout of "+_config.timeout+"ms exceeded":"timeout exceeded";const transitional=_config.transitional||transitionalDefaults;_config.timeoutErrorMessage&&(timeoutErrorMessage=_config.timeoutErrorMessage),reject(new AxiosError(timeoutErrorMessage,transitional.clarifyTimeoutError?AxiosError.ETIMEDOUT:AxiosError.ECONNABORTED,config,request)),request=null},void 0===requestData&&requestHeaders.setContentType(null),"setRequestHeader"in request&&utils$4.forEach(requestHeaders.toJSON(),(function setRequestHeader(val,key){request.setRequestHeader(key,val)})),utils$4.isUndefined(_config.withCredentials)||(request.withCredentials=!!_config.withCredentials),responseType&&"json"!==responseType&&(request.responseType=_config.responseType),onDownloadProgress&&([downloadThrottled,flushDownload]=progressEventReducer(onDownloadProgress,!0),request.addEventListener("progress",downloadThrottled)),onUploadProgress&&request.upload&&([uploadThrottled,flushUpload]=progressEventReducer(onUploadProgress),request.upload.addEventListener("progress",uploadThrottled),request.upload.addEventListener("loadend",flushUpload)),(_config.cancelToken||_config.signal)&&(onCanceled=cancel=>{request&&(reject(!cancel||cancel.type?new CanceledError(null,config,request):cancel),request.abort(),request=null)},_config.cancelToken&&_config.cancelToken.subscribe(onCanceled),_config.signal&&(_config.signal.aborted?onCanceled():_config.signal.addEventListener("abort",onCanceled)));const protocol=parseProtocol(_config.url);protocol&&-1===platform.protocols.indexOf(protocol)?reject(new AxiosError("Unsupported protocol "+protocol+":",AxiosError.ERR_BAD_REQUEST,config)):request.send(requestData||null)}))};var composeSignals$1=(signals,timeout)=>{const{length:length}=signals=signals?signals.filter(Boolean):[];if(timeout||length){let aborted,controller=new AbortController;const onabort=function(reason){if(!aborted){aborted=!0,unsubscribe();const err=reason instanceof Error?reason:this.reason;controller.abort(err instanceof AxiosError?err:new CanceledError(err instanceof Error?err.message:err))}};let timer=timeout&&setTimeout((()=>{timer=null,onabort(new AxiosError(`timeout ${timeout} of ms exceeded`,AxiosError.ETIMEDOUT))}),timeout);const unsubscribe=()=>{signals&&(timer&&clearTimeout(timer),timer=null,signals.forEach((signal=>{signal.unsubscribe?signal.unsubscribe(onabort):signal.removeEventListener("abort",onabort)})),signals=null)};signals.forEach((signal=>signal.addEventListener("abort",onabort)));const{signal:signal}=controller;return signal.unsubscribe=()=>utils$4.asap(unsubscribe),signal}};const streamChunk=function*(chunk,chunkSize){let len=chunk.byteLength;if(!chunkSize||len<chunkSize)return void(yield chunk);let end,pos=0;for(;pos<len;)end=pos+chunkSize,yield chunk.slice(pos,end),pos=end},readStream=async function*(stream){if(stream[Symbol.asyncIterator])return void(yield*stream);const reader=stream.getReader();try{for(;;){const{done:done,value:value}=await reader.read();if(done)break;yield value}}finally{await reader.cancel()}},trackStream=(stream,chunkSize,onProgress,onFinish)=>{const iterator=async function*(iterable,chunkSize){for await(const chunk of readStream(iterable))yield*streamChunk(chunk,chunkSize)}(stream,chunkSize);let done,bytes=0,_onFinish=e=>{done||(done=!0,onFinish&&onFinish(e))};return new ReadableStream({async pull(controller){try{const{done:done,value:value}=await iterator.next();if(done)return _onFinish(),void controller.close();let len=value.byteLength;if(onProgress){let loadedBytes=bytes+=len;onProgress(loadedBytes)}controller.enqueue(new Uint8Array(value))}catch(err){throw _onFinish(err),err}},cancel:reason=>(_onFinish(reason),iterator.return())},{highWaterMark:2})},isFetchSupported="function"==typeof fetch&&"function"==typeof Request&&"function"==typeof Response,isReadableStreamSupported=isFetchSupported&&"function"==typeof ReadableStream,encodeText=isFetchSupported&&("function"==typeof TextEncoder?(encoder=new TextEncoder,str=>encoder.encode(str)):async str=>new Uint8Array(await new Response(str).arrayBuffer()));var encoder;const test=(fn,...args)=>{try{return!!fn(...args)}catch(e){return!1}},supportsRequestStream=isReadableStreamSupported&&test((()=>{let duplexAccessed=!1;const hasContentType=new Request(platform.origin,{body:new ReadableStream,method:"POST",get duplex(){return duplexAccessed=!0,"half"}}).headers.has("Content-Type");return duplexAccessed&&!hasContentType})),supportsResponseStream=isReadableStreamSupported&&test((()=>utils$4.isReadableStream(new Response("").body))),resolvers={stream:supportsResponseStream&&(res=>res.body)};var res;isFetchSupported&&(res=new Response,["text","arrayBuffer","blob","formData","stream"].forEach((type=>{!resolvers[type]&&(resolvers[type]=utils$4.isFunction(res[type])?res=>res[type]():(_,config)=>{throw new AxiosError(`Response type '${type}' is not supported`,AxiosError.ERR_NOT_SUPPORT,config)})})));const resolveBodyLength=async(headers,body)=>{const length=utils$4.toFiniteNumber(headers.getContentLength());return null==length?(async body=>{if(null==body)return 0;if(utils$4.isBlob(body))return body.size;if(utils$4.isSpecCompliantForm(body)){const _request=new Request(platform.origin,{method:"POST",body:body});return(await _request.arrayBuffer()).byteLength}return utils$4.isArrayBufferView(body)||utils$4.isArrayBuffer(body)?body.byteLength:(utils$4.isURLSearchParams(body)&&(body+=""),utils$4.isString(body)?(await encodeText(body)).byteLength:void 0)})(body):length};var fetchAdapter=isFetchSupported&&(async config=>{let{url:url,method:method,data:data,signal:signal,cancelToken:cancelToken,timeout:timeout,onDownloadProgress:onDownloadProgress,onUploadProgress:onUploadProgress,responseType:responseType,headers:headers,withCredentials:withCredentials="same-origin",fetchOptions:fetchOptions}=resolveConfig(config);responseType=responseType?(responseType+"").toLowerCase():"text";let request,composedSignal=composeSignals$1([signal,cancelToken&&cancelToken.toAbortSignal()],timeout);const unsubscribe=composedSignal&&composedSignal.unsubscribe&&(()=>{composedSignal.unsubscribe()});let requestContentLength;try{if(onUploadProgress&&supportsRequestStream&&"get"!==method&&"head"!==method&&0!==(requestContentLength=await resolveBodyLength(headers,data))){let contentTypeHeader,_request=new Request(url,{method:"POST",body:data,duplex:"half"});if(utils$4.isFormData(data)&&(contentTypeHeader=_request.headers.get("content-type"))&&headers.setContentType(contentTypeHeader),_request.body){const[onProgress,flush]=progressEventDecorator(requestContentLength,progressEventReducer(asyncDecorator(onUploadProgress)));data=trackStream(_request.body,65536,onProgress,flush)}}utils$4.isString(withCredentials)||(withCredentials=withCredentials?"include":"omit");const isCredentialsSupported="credentials"in Request.prototype;request=new Request(url,{...fetchOptions,signal:composedSignal,method:method.toUpperCase(),headers:headers.normalize().toJSON(),body:data,duplex:"half",credentials:isCredentialsSupported?withCredentials:void 0});let response=await fetch(request);const isStreamResponse=supportsResponseStream&&("stream"===responseType||"response"===responseType);if(supportsResponseStream&&(onDownloadProgress||isStreamResponse&&unsubscribe)){const options={};["status","statusText","headers"].forEach((prop=>{options[prop]=response[prop]}));const responseContentLength=utils$4.toFiniteNumber(response.headers.get("content-length")),[onProgress,flush]=onDownloadProgress&&progressEventDecorator(responseContentLength,progressEventReducer(asyncDecorator(onDownloadProgress),!0))||[];response=new Response(trackStream(response.body,65536,onProgress,(()=>{flush&&flush(),unsubscribe&&unsubscribe()})),options)}responseType=responseType||"text";let responseData=await resolvers[utils$4.findKey(resolvers,responseType)||"text"](response,config);return!isStreamResponse&&unsubscribe&&unsubscribe(),await new Promise(((resolve,reject)=>{settle(resolve,reject,{data:responseData,headers:AxiosHeaders$1.from(response.headers),status:response.status,statusText:response.statusText,config:config,request:request})}))}catch(err){if(unsubscribe&&unsubscribe(),err&&"TypeError"===err.name&&/fetch/i.test(err.message))throw Object.assign(new AxiosError("Network Error",AxiosError.ERR_NETWORK,config,request),{cause:err.cause||err});throw AxiosError.from(err,err&&err.code,config,request)}});const knownAdapters={http:httpAdapter,xhr:xhrAdapter,fetch:fetchAdapter};utils$4.forEach(knownAdapters,((fn,value)=>{if(fn){try{Object.defineProperty(fn,"name",{value:value})}catch(e){}Object.defineProperty(fn,"adapterName",{value:value})}}));const renderReason=reason=>`- ${reason}`,isResolvedHandle=adapter=>utils$4.isFunction(adapter)||null===adapter||!1===adapter;var adapters_getAdapter=adapters=>{adapters=utils$4.isArray(adapters)?adapters:[adapters];const{length:length}=adapters;let nameOrAdapter,adapter;const rejectedReasons={};for(let i=0;i<length;i++){let id;if(nameOrAdapter=adapters[i],adapter=nameOrAdapter,!isResolvedHandle(nameOrAdapter)&&(adapter=knownAdapters[(id=String(nameOrAdapter)).toLowerCase()],void 0===adapter))throw new AxiosError(`Unknown adapter '${id}'`);if(adapter)break;rejectedReasons[id||"#"+i]=adapter}if(!adapter){const reasons=Object.entries(rejectedReasons).map((([id,state])=>`adapter ${id} `+(!1===state?"is not supported by the environment":"is not available in the build")));throw new AxiosError("There is no suitable adapter to dispatch the request "+(length?reasons.length>1?"since :\n"+reasons.map(renderReason).join("\n"):" "+renderReason(reasons[0]):"as no adapter specified"),"ERR_NOT_SUPPORT")}return adapter};function throwIfCancellationRequested(config){if(config.cancelToken&&config.cancelToken.throwIfRequested(),config.signal&&config.signal.aborted)throw new CanceledError(null,config)}function dispatchRequest(config){throwIfCancellationRequested(config),config.headers=AxiosHeaders$1.from(config.headers),config.data=transformData.call(config,config.transformRequest),-1!==["post","put","patch"].indexOf(config.method)&&config.headers.setContentType("application/x-www-form-urlencoded",!1);return adapters_getAdapter(config.adapter||defaults$1.adapter)(config).then((function onAdapterResolution(response){return throwIfCancellationRequested(config),response.data=transformData.call(config,config.transformResponse,response),response.headers=AxiosHeaders$1.from(response.headers),response}),(function onAdapterRejection(reason){return isCancel(reason)||(throwIfCancellationRequested(config),reason&&reason.response&&(reason.response.data=transformData.call(config,config.transformResponse,reason.response),reason.response.headers=AxiosHeaders$1.from(reason.response.headers))),Promise.reject(reason)}))}const validators$1={};["object","boolean","number","function","string","symbol"].forEach(((type,i)=>{validators$1[type]=function validator(thing){return typeof thing===type||"a"+(i<1?"n ":" ")+type}}));const deprecatedWarnings={};validators$1.transitional=function transitional(validator,version,message){function formatMessage(opt,desc){return"[Axios v1.7.7] Transitional option '"+opt+"'"+desc+(message?". "+message:"")}return(value,opt,opts)=>{if(!1===validator)throw new AxiosError(formatMessage(opt," has been removed"+(version?" in "+version:"")),AxiosError.ERR_DEPRECATED);return version&&!deprecatedWarnings[opt]&&(deprecatedWarnings[opt]=!0,console.warn(formatMessage(opt," has been deprecated since v"+version+" and will be removed in the near future"))),!validator||validator(value,opt,opts)}};var validator={assertOptions:function assertOptions(options,schema,allowUnknown){if("object"!=typeof options)throw new AxiosError("options must be an object",AxiosError.ERR_BAD_OPTION_VALUE);const keys=Object.keys(options);let i=keys.length;for(;i-- >0;){const opt=keys[i],validator=schema[opt];if(validator){const value=options[opt],result=void 0===value||validator(value,opt,options);if(!0!==result)throw new AxiosError("option "+opt+" must be "+result,AxiosError.ERR_BAD_OPTION_VALUE)}else if(!0!==allowUnknown)throw new AxiosError("Unknown option "+opt,AxiosError.ERR_BAD_OPTION)}},validators:validators$1};const validators=validator.validators;class Axios{constructor(instanceConfig){this.defaults=instanceConfig,this.interceptors={request:new InterceptorManager$1,response:new InterceptorManager$1}}async request(configOrUrl,config){try{return await this._request(configOrUrl,config)}catch(err){if(err instanceof Error){let dummy;Error.captureStackTrace?Error.captureStackTrace(dummy={}):dummy=new Error;const stack=dummy.stack?dummy.stack.replace(/^.+\n/,""):"";try{err.stack?stack&&!String(err.stack).endsWith(stack.replace(/^.+\n.+\n/,""))&&(err.stack+="\n"+stack):err.stack=stack}catch(e){}}throw err}}_request(configOrUrl,config){"string"==typeof configOrUrl?(config=config||{}).url=configOrUrl:config=configOrUrl||{},config=mergeConfig(this.defaults,config);const{transitional:transitional,paramsSerializer:paramsSerializer,headers:headers}=config;void 0!==transitional&&validator.assertOptions(transitional,{silentJSONParsing:validators.transitional(validators.boolean),forcedJSONParsing:validators.transitional(validators.boolean),clarifyTimeoutError:validators.transitional(validators.boolean)},!1),null!=paramsSerializer&&(utils$4.isFunction(paramsSerializer)?config.paramsSerializer={serialize:paramsSerializer}:validator.assertOptions(paramsSerializer,{encode:validators.function,serialize:validators.function},!0)),config.method=(config.method||this.defaults.method||"get").toLowerCase();let contextHeaders=headers&&utils$4.merge(headers.common,headers[config.method]);headers&&utils$4.forEach(["delete","get","head","post","put","patch","common"],(method=>{delete headers[method]})),config.headers=AxiosHeaders$1.concat(contextHeaders,headers);const requestInterceptorChain=[];let synchronousRequestInterceptors=!0;this.interceptors.request.forEach((function unshiftRequestInterceptors(interceptor){"function"==typeof interceptor.runWhen&&!1===interceptor.runWhen(config)||(synchronousRequestInterceptors=synchronousRequestInterceptors&&interceptor.synchronous,requestInterceptorChain.unshift(interceptor.fulfilled,interceptor.rejected))}));const responseInterceptorChain=[];let promise;this.interceptors.response.forEach((function pushResponseInterceptors(interceptor){responseInterceptorChain.push(interceptor.fulfilled,interceptor.rejected)}));let len,i=0;if(!synchronousRequestInterceptors){const chain=[dispatchRequest.bind(this),void 0];for(chain.unshift.apply(chain,requestInterceptorChain),chain.push.apply(chain,responseInterceptorChain),len=chain.length,promise=Promise.resolve(config);i<len;)promise=promise.then(chain[i++],chain[i++]);return promise}len=requestInterceptorChain.length;let newConfig=config;for(i=0;i<len;){const onFulfilled=requestInterceptorChain[i++],onRejected=requestInterceptorChain[i++];try{newConfig=onFulfilled(newConfig)}catch(error){onRejected.call(this,error);break}}try{promise=dispatchRequest.call(this,newConfig)}catch(error){return Promise.reject(error)}for(i=0,len=responseInterceptorChain.length;i<len;)promise=promise.then(responseInterceptorChain[i++],responseInterceptorChain[i++]);return promise}getUri(config){return buildURL(buildFullPath((config=mergeConfig(this.defaults,config)).baseURL,config.url),config.params,config.paramsSerializer)}}utils$4.forEach(["delete","get","head","options"],(function forEachMethodNoData(method){Axios.prototype[method]=function(url,config){return this.request(mergeConfig(config||{},{method:method,url:url,data:(config||{}).data}))}})),utils$4.forEach(["post","put","patch"],(function forEachMethodWithData(method){function generateHTTPMethod(isForm){return function httpMethod(url,data,config){return this.request(mergeConfig(config||{},{method:method,headers:isForm?{"Content-Type":"multipart/form-data"}:{},url:url,data:data}))}}Axios.prototype[method]=generateHTTPMethod(),Axios.prototype[method+"Form"]=generateHTTPMethod(!0)}));var Axios$1=Axios;class CancelToken{constructor(executor){if("function"!=typeof executor)throw new TypeError("executor must be a function.");let resolvePromise;this.promise=new Promise((function promiseExecutor(resolve){resolvePromise=resolve}));const token=this;this.promise.then((cancel=>{if(!token._listeners)return;let i=token._listeners.length;for(;i-- >0;)token._listeners[i](cancel);token._listeners=null})),this.promise.then=onfulfilled=>{let _resolve;const promise=new Promise((resolve=>{token.subscribe(resolve),_resolve=resolve})).then(onfulfilled);return promise.cancel=function reject(){token.unsubscribe(_resolve)},promise},executor((function cancel(message,config,request){token.reason||(token.reason=new CanceledError(message,config,request),resolvePromise(token.reason))}))}throwIfRequested(){if(this.reason)throw this.reason}subscribe(listener){this.reason?listener(this.reason):this._listeners?this._listeners.push(listener):this._listeners=[listener]}unsubscribe(listener){if(!this._listeners)return;const index=this._listeners.indexOf(listener);-1!==index&&this._listeners.splice(index,1)}toAbortSignal(){const controller=new AbortController,abort=err=>{controller.abort(err)};return this.subscribe(abort),controller.signal.unsubscribe=()=>this.unsubscribe(abort),controller.signal}static source(){let cancel;return{token:new CancelToken((function executor(c){cancel=c})),cancel:cancel}}}var CancelToken$1=CancelToken;const HttpStatusCode={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511};Object.entries(HttpStatusCode).forEach((([key,value])=>{HttpStatusCode[value]=key}));var HttpStatusCode$1=HttpStatusCode;const axios=function createInstance(defaultConfig){const context=new Axios$1(defaultConfig),instance=bind(Axios$1.prototype.request,context);return utils$4.extend(instance,Axios$1.prototype,context,{allOwnKeys:!0}),utils$4.extend(instance,context,null,{allOwnKeys:!0}),instance.create=function create(instanceConfig){return createInstance(mergeConfig(defaultConfig,instanceConfig))},instance}(defaults$1);axios.Axios=Axios$1,axios.CanceledError=CanceledError,axios.CancelToken=CancelToken$1,axios.isCancel=isCancel,axios.VERSION="1.7.7",axios.toFormData=toFormData,axios.AxiosError=AxiosError,axios.Cancel=axios.CanceledError,axios.all=function all(promises){return Promise.all(promises)},axios.spread=function spread(callback){return function wrap(arr){return callback.apply(null,arr)}},axios.isAxiosError=function isAxiosError(payload){return utils$4.isObject(payload)&&!0===payload.isAxiosError},axios.mergeConfig=mergeConfig,axios.AxiosHeaders=AxiosHeaders$1,axios.formToJSON=thing=>formDataToJSON(utils$4.isHTMLForm(thing)?new FormData(thing):thing),axios.getAdapter=adapters_getAdapter,axios.HttpStatusCode=HttpStatusCode$1,axios.default=axios;var axios$1=axios;const baseDir$2=path__default.default.dirname(require$$0$3.fileURLToPath("undefined"==typeof document?new(require("url").URL)("file:"+__filename).href:document.currentScript&&"SCRIPT"===document.currentScript.tagName.toUpperCase()&&document.currentScript.src||new URL("index.js",document.baseURI).href));class Environment{constructor(config){this.config=config,this.certificate="",this.cert_key="",this.agent={},this.isLoaded=!1}getIsLoaded(){return this.isLoaded}getConfig(){return this.config}getCertKey(){return this.cert_key}getCert(){return this.certificate}getHttpAgent(){return this.agent}checkRequiredSettings(){try{const requiredConfigFields={dfe:["pathCertificado","senhaCertificado"],nfe:["ambiente"]};let missingConfigurations={dfe:[],nfe:[]},errors=[],tableData=[];if(Object.keys(requiredConfigFields).forEach((categoryKey=>{const category=this.config[categoryKey];if(category){const fields=requiredConfigFields[categoryKey];if(fields){fields.forEach((fieldKey=>{missingConfigurations[categoryKey]||(missingConfigurations[categoryKey]=[]),void 0===category[fieldKey]&&(missingConfigurations[categoryKey]||(missingConfigurations[categoryKey]=[]),missingConfigurations[categoryKey].push(fieldKey))}));const missingConfig=missingConfigurations[categoryKey];missingConfig&&missingConfig.length>0&&(errors.push(`Configurações faltando em '${categoryKey}': [${missingConfig.join(", ")}].`),tableData.push({Categoria:categoryKey,Faltando:missingConfig.join(", ")}))}}else errors.push(`Chave principal faltando: '${categoryKey}'.`),tableData.push({Categoria:categoryKey,Faltando:"Chave principal faltando"})})),errors.length>0)throw console.log("Configurações necessárias faltando:"),console.table(tableData),new Error(`Erro ao validar configurações: ${errors.join(" ")}`);return{missingConfigurations:missingConfigurations,message:"Todas as configurações necessárias estão presentes.",success:!0}}catch(error){throw new Error(`Erro ao validar configurações: ${error.message}`)}}loadCertificateWithPEM(){return new Promise(((resolve,reject)=>{try{const pfxPath=this.config.dfe.pathCertificado,pfxPassword=this.config.dfe.senhaCertificado,pfxFile=fs__default.default.readFileSync(pfxPath),certsDir=path__default.default.resolve(baseDir$2,"certs"),caCerts=fs__default.default.readdirSync(certsDir).map((filename=>{const tmp=`${certsDir}/${filename}`;return fs__default.default.readFileSync(tmp)}));pem__default.default.readPkcs12(pfxFile,{p12Password:pfxPassword},(async(error,result)=>{if(error)return error.message.toLowerCase().includes("mac verify error")?reject(new Error("Erro ao ler o certificado: Senha incorreta.")):reject(new Error(`Erro ao ler o certificado: ${error.message}`));const key=result.key;this.cert_key=key;const cert=result.cert;this.certificate=cert;const certForge=forge.pki.certificateFromPem(cert),now=new Date;if(now<certForge.validity.notBefore||now>certForge.validity.notAfter)return reject(new Error("Erro ao carregar o certificado: O certificado fornecido expirou ou ainda não é válido."));this.agent=new https__default.default.Agent({key:key,cert:cert,ca:caCerts}),resolve({success:!0,message:"Certificado Carregado com Sucesso."})}))}catch(error){reject(new Error(error.message))}}))}loadCertificateWithNodeForge(){return new Promise(((resolve,reject)=>{try{const pfxPath=this.config.dfe.pathCertificado,pfxPassword=this.config.dfe.senhaCertificado,pfxFile=fs__default.default.readFileSync(pfxPath),p12Asn1=forge.asn1.fromDer(pfxFile.toString("binary")),p12=forge.pkcs12.pkcs12FromAsn1(p12Asn1,pfxPassword),keyBags=p12.getBags({bagType:forge.pki.oids.pkcs8ShroudedKeyBag}),certBags=p12.getBags({bagType:forge.pki.oids.certBag}),key=keyBags[forge.pki.oids.pkcs8ShroudedKeyBag]?.[0]?.key;if(!key)return reject(new Error("Erro ao carregar chave privada do certificado."));const keyPem=forge.pki.privateKeyToPem(key);this.cert_key=keyPem;const cert=certBags[forge.pki.oids.certBag]?.[0]?.cert;if(!cert)return reject(new Error("Erro ao carregar certificado."));const certPem=forge.pki.certificateToPem(cert);this.certificate=certPem;const certForge=forge.pki.certificateFromPem(forge.pki.certificateToPem(cert)),now=new Date;if(now<certForge.validity.notBefore||now>certForge.validity.notAfter)return reject(new Error("Erro ao carregar o certificado: O certificado fornecido expirou ou ainda não é válido."));const certsDir=path__default.default.resolve(baseDir$2,"certs"),caCerts=fs__default.default.readdirSync(certsDir).map((filename=>{const tmp=`${certsDir}/${filename}`;return fs__default.default.readFileSync(tmp)}));this.agent=new https__default.default.Agent({key:keyPem,cert:certPem,ca:caCerts}),resolve({success:!0,message:"Certificado Carregado com Sucesso."})}catch(error){reject(new Error(error.message))}}))}configAxios(){try{const axiosConfig={headers:{"Content-Type":"text/xml; charset=utf-8"},httpsAgent:this.agent,timeout:this.config.lib?.connection?.timeout||6e4};return axios$1.create(axiosConfig)}catch(error){throw new Error(error.message)}}async loadEnvironment(){this.checkRequiredSettings(),this.config.lib?.useOpenSSL||void 0===this.config.lib?.useOpenSSL?await this.loadCertificateWithPEM():await this.loadCertificateWithNodeForge();const axios=this.configAxios();return this.isLoaded=!0,{axios:axios}}}var hasRequiredXpath,lib$2={},signedXml={},xpath={};function requireXpath(){return hasRequiredXpath||(hasRequiredXpath=1,function(exports){!function(exports){var forEach=function(f,xs){for(var i=0;i<xs.length;i+=1)f(xs[i],i,xs)},reduce=function(f,seed,xs){var acc=seed;return forEach((function(x,i){acc=f(acc,x,i)}),xs),acc},map=function(f,xs){var mapped=new Array(xs.length);return forEach((function(x,i){mapped[i]=f(x)}),xs),mapped};function toString(x){return x.toString()}var join=function(s,xs){return xs.join(s)},wrap=function(pref,suf,str){return pref+str+suf},prototypeConcat=Array.prototype.concat;function assign(target,varArgs){for(var to=Object(target),index=1;index<arguments.length;index++){var nextSource=arguments[index];if(null!=nextSource)for(var nextKey in nextSource)Object.prototype.hasOwnProperty.call(nextSource,nextKey)&&(to[nextKey]=nextSource[nextKey])}return to}var NodeTypes_ELEMENT_NODE=1,NodeTypes_ATTRIBUTE_NODE=2,NodeTypes_TEXT_NODE=3,NodeTypes_CDATA_SECTION_NODE=4,NodeTypes_PROCESSING_INSTRUCTION_NODE=7,NodeTypes_COMMENT_NODE=8,NodeTypes_DOCUMENT_NODE=9,NodeTypes_DOCUMENT_TYPE_NODE=10,NodeTypes_DOCUMENT_FRAGMENT_NODE=11;function XPathParser(){this.init()}function XPath(e){this.expression=e}function setIfUnset(obj,prop,value){prop in obj||(obj[prop]=value)}function Expression(){}function UnaryOperation(rhs){arguments.length>0&&this.init(rhs)}function UnaryMinusOperation(rhs){arguments.length>0&&this.init(rhs)}function BinaryOperation(lhs,rhs){arguments.length>0&&this.init(lhs,rhs)}function OrOperation(lhs,rhs){arguments.length>0&&this.init(lhs,rhs)}function AndOperation(lhs,rhs){arguments.length>0&&this.init(lhs,rhs)}function EqualsOperation(lhs,rhs){arguments.length>0&&this.init(lhs,rhs)}function NotEqualOperation(lhs,rhs){arguments.length>0&&this.init(lhs,rhs)}function LessThanOperation(lhs,rhs){arguments.length>0&&this.init(lhs,rhs)}function GreaterThanOperation(lhs,rhs){arguments.length>0&&this.init(lhs,rhs)}function LessThanOrEqualOperation(lhs,rhs){arguments.length>0&&this.init(lhs,rhs)}function GreaterThanOrEqualOperation(lhs,rhs){arguments.length>0&&this.init(lhs,rhs)}function PlusOperation(lhs,rhs){arguments.length>0&&this.init(lhs,rhs)}function MinusOperation(lhs,rhs){arguments.length>0&&this.init(lhs,rhs)}function MultiplyOperation(lhs,rhs){arguments.length>0&&this.init(lhs,rhs)}function DivOperation(lhs,rhs){arguments.length>0&&this.init(lhs,rhs)}function ModOperation(lhs,rhs){arguments.length>0&&this.init(lhs,rhs)}function BarOperation(lhs,rhs){arguments.length>0&&this.init(lhs,rhs)}function PathExpr(filter,filterPreds,locpath){arguments.length>0&&this.init(filter,filterPreds,locpath)}function findRoot(node){for(;node&&node.parentNode;)node=node.parentNode;return node}function applyStepWithPredicates(step,xpc,node){return PathExpr.applyPredicates(step.predicates,xpc,PathExpr.applyStep(step,xpc,node))}function applyStepToNodes(context,nodes,step){return function flatten(arr){for(var result=[],start=0;start<arr.length;start+=32767){var chunk=arr.slice(start,start+32767);result=prototypeConcat.apply(result,chunk)}return result}(map(applyStepWithPredicates.bind(null,step,context),nodes))}function LocationPath(abs,steps){arguments.length>0&&this.init(abs,steps)}function Step(axis,nodetest,preds){arguments.length>0&&this.init(axis,nodetest,preds)}function NodeTest(type,value){arguments.length>0&&this.init(type,value)}function VariableReference(v){arguments.length>0&&this.init(v)}function FunctionCall(fn,args){arguments.length>0&&this.init(fn,args)}XPathParser.prototype=new Object,XPathParser.prototype.constructor=XPathParser,XPathParser.superclass=Object.prototype,XPathParser.prototype.init=function(){this.reduceActions=[],this.reduceActions[3]=function(rhs){return new OrOperation(rhs[0],rhs[2])},this.reduceActions[5]=function(rhs){return new AndOperation(rhs[0],rhs[2])},this.reduceActions[7]=function(rhs){return new EqualsOperation(rhs[0],rhs[2])},this.reduceActions[8]=function(rhs){return new NotEqualOperation(rhs[0],rhs[2])},this.reduceActions[10]=function(rhs){return new LessThanOperation(rhs[0],rhs[2])},this.reduceActions[11]=function(rhs){return new GreaterThanOperation(rhs[0],rhs[2])},this.reduceActions[12]=function(rhs){return new LessThanOrEqualOperation(rhs[0],rhs[2])},this.reduceActions[13]=function(rhs){return new GreaterThanOrEqualOperation(rhs[0],rhs[2])},this.reduceActions[15]=function(rhs){return new PlusOperation(rhs[0],rhs[2])},this.reduceActions[16]=function(rhs){return new MinusOperation(rhs[0],rhs[2])},this.reduceActions[18]=function(rhs){return new MultiplyOperation(rhs[0],rhs[2])},this.reduceActions[19]=function(rhs){return new DivOperation(rhs[0],rhs[2])},this.reduceActions[20]=function(rhs){return new ModOperation(rhs[0],rhs[2])},this.reduceActions[22]=function(rhs){return new UnaryMinusOperation(rhs[1])},this.reduceActions[24]=function(rhs){return new BarOperation(rhs[0],rhs[2])},this.reduceActions[25]=function(rhs){return new PathExpr(void 0,void 0,rhs[0])},this.reduceActions[27]=function(rhs){return rhs[0].locationPath=rhs[2],rhs[0]},this.reduceActions[28]=function(rhs){return rhs[0].locationPath=rhs[2],rhs[0].locationPath.steps.unshift(new Step(Step.DESCENDANTORSELF,NodeTest.nodeTest,[])),rhs[0]},this.reduceActions[29]=function(rhs){return new PathExpr(rhs[0],[],void 0)},this.reduceActions[30]=function(rhs){return Utilities.instance_of(rhs[0],PathExpr)?(null==rhs[0].filterPredicates&&(rhs[0].filterPredicates=[]),rhs[0].filterPredicates.push(rhs[1]),rhs[0]):new PathExpr(rhs[0],[rhs[1]],void 0)},this.reduceActions[32]=function(rhs){return rhs[1]},this.reduceActions[33]=function(rhs){return new XString(rhs[0])},this.reduceActions[34]=function(rhs){return new XNumber(rhs[0])},this.reduceActions[36]=function(rhs){return new FunctionCall(rhs[0],[])},this.reduceActions[37]=function(rhs){return new FunctionCall(rhs[0],rhs[2])},this.reduceActions[38]=function(rhs){return[rhs[0]]},this.reduceActions[39]=function(rhs){return rhs[2].unshift(rhs[0]),rhs[2]},this.reduceActions[43]=function(rhs){return new LocationPath(!0,[])},this.reduceActions[44]=function(rhs){return rhs[1].absolute=!0,rhs[1]},this.reduceActions[46]=function(rhs){return new LocationPath(!1,[rhs[0]])},this.reduceActions[47]=function(rhs){return rhs[0].steps.push(rhs[2]),rhs[0]},this.reduceActions[49]=function(rhs){return new Step(rhs[0],rhs[1],[])},this.reduceActions[50]=function(rhs){return new Step(Step.CHILD,rhs[0],[])},this.reduceActions[51]=function(rhs){return new Step(rhs[0],rhs[1],rhs[2])},this.reduceActions[52]=function(rhs){return new Step(Step.CHILD,rhs[0],rhs[1])},this.reduceActions[54]=function(rhs){return[rhs[0]]},this.reduceActions[55]=function(rhs){return rhs[1].unshift(rhs[0]),rhs[1]},this.reduceActions[56]=function(rhs){return"ancestor"==rhs[0]?Step.ANCESTOR:"ancestor-or-self"==rhs[0]?Step.ANCESTORORSELF:"attribute"==rhs[0]?Step.ATTRIBUTE:"child"==rhs[0]?Step.CHILD:"descendant"==rhs[0]?Step.DESCENDANT:"descendant-or-self"==rhs[0]?Step.DESCENDANTORSELF:"following"==rhs[0]?Step.FOLLOWING:"following-sibling"==rhs[0]?Step.FOLLOWINGSIBLING:"namespace"==rhs[0]?Step.NAMESPACE:"parent"==rhs[0]?Step.PARENT:"preceding"==rhs[0]?Step.PRECEDING:"preceding-sibling"==rhs[0]?Step.PRECEDINGSIBLING:"self"==rhs[0]?Step.SELF:-1},this.reduceActions[57]=function(rhs){return Step.ATTRIBUTE},this.reduceActions[59]=function(rhs){return"comment"==rhs[0]?NodeTest.commentTest:"text"==rhs[0]?NodeTest.textTest:"processing-instruction"==rhs[0]?NodeTest.anyPiTest:"node"==rhs[0]?NodeTest.nodeTest:new NodeTest(-1,void 0)},this.reduceActions[60]=function(rhs){return new NodeTest.PITest(rhs[2])},this.reduceActions[61]=function(rhs){return rhs[1]},this.reduceActions[63]=function(rhs){return rhs[1].absolute=!0,rhs[1].steps.unshift(new Step(Step.DESCENDANTORSELF,NodeTest.nodeTest,[])),rhs[1]},this.reduceActions[64]=function(rhs){return rhs[0].steps.push(new Step(Step.DESCENDANTORSELF,NodeTest.nodeTest,[])),rhs[0].steps.push(rhs[2]),rhs[0]},this.reduceActions[65]=function(rhs){return new Step(Step.SELF,NodeTest.nodeTest,[])},this.reduceActions[66]=function(rhs){return new Step(Step.PARENT,NodeTest.nodeTest,[])},this.reduceActions[67]=function(rhs){return new VariableReference(rhs[1])},this.reduceActions[68]=function(rhs){return NodeTest.nameTestAny},this.reduceActions[69]=function(rhs){return new NodeTest.NameTestPrefixAny(rhs[0].split(":")[0])},this.reduceActions[70]=function(rhs){return new NodeTest.NameTestQName(rhs[0])}},XPathParser.actionTable=[" s s sssssssss s ss s ss"," s ","r rrrrrrrrr rrrrrrr rr r "," rrrrr "," s s sssssssss s ss s ss","rs rrrrrrrr s sssssrrrrrr rrs rs "," s s sssssssss s ss s ss"," s "," s ","r rrrrrrrrr rrrrrrr rr rr ","r rrrrrrrrr rrrrrrr rr rr ","r rrrrrrrrr rrrrrrr rr rr ","r rrrrrrrrr rrrrrrr rr rr ","r rrrrrrrrr rrrrrrr rr rr "," s "," s "," s s sssss s s ","r rrrrrrrrr rrrrrrr rr r ","a ","r s rr r ","r sr rr r ","r s rr s rr r ","r rssrr rss rr r ","r rrrrr rrrss rr r ","r rrrrrsss rrrrr rr r ","r rrrrrrrr rrrrr rr r ","r rrrrrrrr rrrrrs rr r ","r rrrrrrrr rrrrrr rr r ","r rrrrrrrr rrrrrr rr r ","r srrrrrrrr rrrrrrs rr sr ","r srrrrrrrr rrrrrrs rr r ","r rrrrrrrrr rrrrrrr rr rr ","r rrrrrrrrr rrrrrrr rr rr ","r rrrrrrrrr rrrrrrr rr rr ","r rrrrrrrr rrrrrr rr r ","r rrrrrrrr rrrrrr rr r ","r rrrrrrrrr rrrrrrr rr r ","r rrrrrrrrr rrrrrrr rr r "," sssss ","r rrrrrrrrr rrrrrrr rr sr ","r rrrrrrrrr rrrrrrr rr r ","r rrrrrrrrr rrrrrrr rr rr ","r rrrrrrrrr rrrrrrr rr rr "," s ","r srrrrrrrr rrrrrrs rr r ","r rrrrrrrr rrrrr rr r "," s "," s "," rrrrr "," s s sssssssss s sss s ss","r srrrrrrrr rrrrrrs rr r "," s s sssssssss s ss s ss"," s s sssssssss s ss s ss"," s s sssssssss s ss s ss"," s s sssssssss s ss s ss"," s s sssssssss s ss s ss"," s s sssssssss s ss s ss"," s s sssssssss s ss s ss"," s s sssssssss s ss s ss"," s s sssssssss s ss s ss"," s s sssssssss s ss s ss"," s s sssssssss s ss s ss"," s s sssssssss s ss s ss"," s s sssssssss s ss s ss"," s s sssssssss ss s ss"," s s sssssssss s ss s ss"," s s sssss s s "," s s sssss s s ","r rrrrrrrrr rrrrrrr rr rr "," s s sssss s s "," s s sssss s s ","r rrrrrrrrr rrrrrrr rr sr ","r rrrrrrrrr rrrrrrr rr sr ","r rrrrrrrrr rrrrrrr rr r ","r rrrrrrrrr rrrrrrr rr rr "," s ","r rrrrrrrrr rrrrrrr rr rr ","r rrrrrrrrr rrrrrrr rr rr "," rr "," s "," rs ","r sr rr r ","r s rr s rr r ","r rssrr rss rr r ","r rssrr rss rr r ","r rrrrr rrrss rr r ","r rrrrr rrrss rr r ","r rrrrr rrrss rr r ","r rrrrr rrrss rr r ","r rrrrrsss rrrrr rr r ","r rrrrrsss rrrrr rr r ","r rrrrrrrr rrrrr rr r ","r rrrrrrrr rrrrr rr r ","r rrrrrrrr rrrrr rr r ","r rrrrrrrr rrrrrr rr r "," r "," s ","r srrrrrrrr rrrrrrs rr r ","r srrrrrrrr rrrrrrs rr r ","r rrrrrrrrr rrrrrrr rr r ","r rrrrrrrrr rrrrrrr rr r ","r rrrrrrrrr rrrrrrr rr r ","r rrrrrrrrr rrrrrrr rr r ","r rrrrrrrrr rrrrrrr rr rr ","r rrrrrrrrr rrrrrrr rr rr "," s s sssssssss s ss s ss","r rrrrrrrrr rrrrrrr rr rr "," r "],XPathParser.actionTableNumber=[" 1 0 /.-,+*)(' & %$ # \"!"," J ","a aaaaaaaaa aaaaaaa aa a "," YYYYY "," 1 0 /.-,+*)(' & %$ # \"!","K1 KKKKKKKK . +*)('KKKKKK KK# K\" "," 1 0 /.-,+*)(' & %$ # \"!"," N "," O ","e eeeeeeeee eeeeeee ee ee ","f fffffffff fffffff ff ff ","d ddddddddd ddddddd dd dd ","B BBBBBBBBB BBBBBBB BB BB ","A AAAAAAAAA AAAAAAA AA AA "," P "," Q "," 1 . +*)(' # \" ","b bbbbbbbbb bbbbbbb bb b "," ","! S !! ! ",'" T" "" " ',"$ V $$ U $$ $ ","& &ZY&& &XW && & ",") ))))) )))\\[ )) ) ",". ....._^] ..... .. . ","1 11111111 11111 11 1 ","5 55555555 55555` 55 5 ","7 77777777 777777 77 7 ","9 99999999 999999 99 9 ",": c:::::::: ::::::b :: a: ","I fIIIIIIII IIIIIIe II I ","= ========= ======= == == ","? ????????? ??????? ?? ?? ","C CCCCCCCCC CCCCCCC CC CC ","J JJJJJJJJ JJJJJJ JJ J ","M MMMMMMMM MMMMMM MM M ","N NNNNNNNNN NNNNNNN NN N ","P PPPPPPPPP PPPPPPP PP P "," +*)(' ","R RRRRRRRRR RRRRRRR RR aR ","U UUUUUUUUU UUUUUUU UU U ","Z ZZZZZZZZZ ZZZZZZZ ZZ ZZ ","c ccccccccc ccccccc cc cc "," j ","L fLLLLLLLL LLLLLLe LL L ","6 66666666 66666 66 6 "," k "," l "," XXXXX "," 1 0 /.-,+*)(' & %$m # \"!","_ f________ ______e __ _ "," 1 0 /.-,+*)(' & %$ # \"!"," 1 0 /.-,+*)(' & %$ # \"!"," 1 0 /.-,+*)(' & %$ # \"!"," 1 0 /.-,+*)(' & %$ # \"!"," 1 0 /.-,+*)(' & %$ # \"!"," 1 0 /.-,+*)(' & %$ # \"!"," 1 0 /.-,+*)(' & %$ # \"!"," 1 0 /.-,+*)(' & %$ # \"!"," 1 0 /.-,+*)(' & %$ # \"!"," 1 0 /.-,+*)(' & %$ # \"!"," 1 0 /.-,+*)(' & %$ # \"!"," 1 0 /.-,+*)(' & %$ # \"!"," 1 0 /.-,+*)(' & %$ # \"!"," 1 0 /.-,+*)(' %$ # \"!"," 1 0 /.-,+*)(' & %$ # \"!"," 1 . +*)(' # \" "," 1 . +*)(' # \" ","> >>>>>>>>> >>>>>>> >> >> "," 1 . +*)(' # \" "," 1 . +*)(' # \" ","Q QQQQQQQQQ QQQQQQQ QQ aQ ","V VVVVVVVVV VVVVVVV VV aV ","T TTTTTTTTT TTTTTTT TT T ","@ @@@@@@@@@ @@@@@@@ @@ @@ "," ","[ [[[[[[[[[ [[[[[[[ [[ [[ ","D DDDDDDDDD DDDDDDD DD DD "," HH "," "," F ","# T# ## # ","% V %% U %% % ","' 'ZY'' 'XW '' ' ","( (ZY(( (XW (( ( ","+ +++++ +++\\[ ++ + ","* ***** ***\\[ ** * ","- ----- ---\\[ -- - ",", ,,,,, ,,,\\[ ,, , ","0 00000_^] 00000 00 0 ","/ /////_^] ///// // / ","2 22222222 22222 22 2 ","3 33333333 33333 33 3 ","4 44444444 44444 44 4 ","8 88888888 888888 88 8 "," ^ "," ","; f;;;;;;;; ;;;;;;e ;; ; ","< f<<<<<<<< <<<<<<e << < ","O OOOOOOOOO OOOOOOO OO O ","` ````````` ``````` `` ` ","S SSSSSSSSS SSSSSSS SS S ","W WWWWWWWWW WWWWWWW WW W ","\\ \\\\\\\\\\\\\\\\\\ \\\\\\\\\\\\\\ \\\\ \\\\ ","E EEEEEEEEE EEEEEEE EE EE "," 1 0 /.-,+*)(' & %$ # \"!","] ]]]]]]]]] ]]]]]]] ]] ]] "," G "],XPathParser.gotoTable=["3456789:;<=>?@ AB CDEFGH IJ "," "," "," ","L456789:;<=>?@ AB CDEFGH IJ "," M EFGH IJ "," N;<=>?@ AB CDEFGH IJ "," "," "," "," "," "," "," "," "," "," S EFGH IJ "," "," "," "," "," "," "," "," "," "," "," "," "," e "," "," "," "," "," "," "," "," "," h J "," i j "," "," "," "," "," "," "," "," "," ","o456789:;<=>?@ ABpqCDEFGH IJ "," "," r6789:;<=>?@ AB CDEFGH IJ "," s789:;<=>?@ AB CDEFGH IJ "," t89:;<=>?@ AB CDEFGH IJ "," u89:;<=>?@ AB CDEFGH IJ "," v9:;<=>?@ AB CDEFGH IJ "," w9:;<=>?@ AB CDEFGH IJ "," x9:;<=>?@ AB CDEFGH IJ "," y9:;<=>?@ AB CDEFGH IJ "," z:;<=>?@ AB CDEFGH IJ "," {:;<=>?@ AB CDEFGH IJ "," |;<=>?@ AB CDEFGH IJ "," };<=>?@ AB CDEFGH IJ "," ~;<=>?@ AB CDEFGH IJ "," =>?@ AB CDEFGH IJ ","456789:;<=>?@ AB CDEFGH IJ"," EFGH IJ "," EFGH IJ "," "," GH IJ ","
GH IJ "," i "," i "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," ","o456789:;<=>?@ ABqCDEFGH IJ "," "," "],XPathParser.productions=[[1,1,2],[2,1,3],[3,1,4],[3,3,3,-9,4],[4,1,5],[4,3,4,-8,5],[5,1,6],[5,3,5,-22,6],[5,3,5,-5,6],[6,1,7],[6,3,6,-23,7],[6,3,6,-24,7],[6,3,6,-6,7],[6,3,6,-7,7],[7,1,8],[7,3,7,-25,8],[7,3,7,-26,8],[8,1,9],[8,3,8,-12,9],[8,3,8,-11,9],[8,3,8,-10,9],[9,1,10],[9,2,-26,9],[10,1,11],[10,3,10,-27,11],[11,1,12],[11,1,13],[11,3,13,-28,14],[11,3,13,-4,14],[13,1,15],[13,2,13,16],[15,1,17],[15,3,-29,2,-30],[15,1,-15],[15,1,-16],[15,1,18],[18,3,-13,-29,-30],[18,4,-13,-29,19,-30],[19,1,20],[19,3,20,-31,19],[20,1,2],[12,1,14],[12,1,21],[21,1,-28],[21,2,-28,14],[21,1,22],[14,1,23],[14,3,14,-28,23],[14,1,24],[23,2,25,26],[23,1,26],[23,3,25,26,27],[23,2,26,27],[23,1,28],[27,1,16],[27,2,16,27],[25,2,-14,-3],[25,1,-32],[26,1,29],[26,3,-20,-29,-30],[26,4,-21,-29,-15,-30],[16,3,-33,30,-34],[30,1,2],[22,2,-4,14],[24,3,14,-4,23],[28,1,-35],[28,1,-2],[17,2,-36,-18],[29,1,-17],[29,1,-19],[29,1,-18]],XPathParser.DOUBLEDOT=2,XPathParser.DOUBLECOLON=3,XPathParser.DOUBLESLASH=4,XPathParser.NOTEQUAL=5,XPathParser.LESSTHANOREQUAL=6,XPathParser.GREATERTHANOREQUAL=7,XPathParser.AND=8,XPathParser.OR=9,XPathParser.MOD=10,XPathParser.DIV=11,XPathParser.MULTIPLYOPERATOR=12,XPathParser.FUNCTIONNAME=13,XPathParser.AXISNAME=14,XPathParser.LITERAL=15,XPathParser.NUMBER=16,XPathParser.ASTERISKNAMETEST=17,XPathParser.QNAME=18,XPathParser.NCNAMECOLONASTERISK=19,XPathParser.NODETYPE=20,XPathParser.PROCESSINGINSTRUCTIONWITHLITERAL=21,XPathParser.EQUALS=22,XPathParser.LESSTHAN=23,XPathParser.GREATERTHAN=24,XPathParser.PLUS=25,XPathParser.MINUS=26,XPathParser.BAR=27,XPathParser.SLASH=28,XPathParser.LEFTPARENTHESIS=29,XPathParser.RIGHTPARENTHESIS=30,XPathParser.COMMA=31,XPathParser.AT=32,XPathParser.LEFTBRACKET=33,XPathParser.RIGHTBRACKET=34,XPathParser.DOT=35,XPathParser.DOLLAR=36,XPathParser.prototype.tokenize=function(s1){for(var types=[],values=[],s=s1+"\0",pos=0,c=s.charAt(pos++);;){for(;" "==c||"\t"==c||"\r"==c||"\n"==c;)c=s.charAt(pos++);if("\0"==c||pos>=s.length)break;if("("!=c)if(")"!=c)if("["!=c)if("]"!=c)if("@"!=c)if(","!=c)if("|"!=c)if("+"!=c)if("-"!=c)if("="!=c)if("$"!=c)if("."!=c)if("'"!=c&&'"'!=c)if(c>="0"&&c<="9"){number=c;for(c=s.charAt(pos++);c>="0"&&c<="9";)number+=c,c=s.charAt(pos++);if("."==c&&s.charAt(pos)>="0"&&s.charAt(pos)<="9")for(number+=c,number+=s.charAt(pos++),c=s.charAt(pos++);c>="0"&&c<="9";)number+=c,c=s.charAt(pos++);types.push(XPathParser.NUMBER),values.push(number)}else if("*"!=c)if(":"!=c||":"!=s.charAt(pos))if("/"!=c)if("!"!=c||"="!=s.charAt(pos))if("<"!=c)if(">"!=c){if("_"!=c&&!Utilities.isLetter(c.charCodeAt(0)))throw new Error("Unexpected character "+c);var name=c;for(c=s.charAt(pos++);Utilities.isNCNameChar(c.charCodeAt(0));)name+=c,c=s.charAt(pos++);if(types.length>0&&(last=types[types.length-1])!=XPathParser.AT&&last!=XPathParser.DOUBLECOLON&&last!=XPathParser.LEFTPARENTHESIS&&last!=XPathParser.LEFTBRACKET&&last!=XPathParser.AND&&last!=XPathParser.OR&&last!=XPathParser.MOD&&last!=XPathParser.DIV&&last!=XPathParser.MULTIPLYOPERATOR&&last!=XPathParser.SLASH&&last!=XPathParser.DOUBLESLASH&&last!=XPathParser.BAR&&last!=XPathParser.PLUS&&last!=XPathParser.MINUS&&last!=XPathParser.EQUALS&&last!=XPathParser.NOTEQUAL&&last!=XPathParser.LESSTHAN&&last!=XPathParser.LESSTHANOREQUAL&&last!=XPathParser.GREATERTHAN&&last!=XPathParser.GREATERTHANOREQUAL){if("and"==name){types.push(XPathParser.AND),values.push(name);continue}if("or"==name){types.push(XPathParser.OR),values.push(name);continue}if("mod"==name){types.push(XPathParser.MOD),values.push(name);continue}if("div"==name){types.push(XPathParser.DIV),values.push(name);continue}}if(":"==c){if("*"==s.charAt(pos)){types.push(XPathParser.NCNAMECOLONASTERISK),values.push(name+":*"),pos++,c=s.charAt(pos++);continue}if("_"==s.charAt(pos)||Utilities.isLetter(s.charCodeAt(pos))){for(name+=":",c=s.charAt(pos++);Utilities.isNCNameChar(c.charCodeAt(0));)name+=c,c=s.charAt(pos++);if("("==c){types.push(XPathParser.FUNCTIONNAME),values.push(name);continue}types.push(XPathParser.QNAME),values.push(name);continue}if(":"==s.charAt(pos)){types.push(XPathParser.AXISNAME),values.push(name);continue}}if("("==c){if("comment"==name||"text"==name||"node"==name){types.push(XPathParser.NODETYPE),values.push(name);continue}if("processing-instruction"==name){")"==s.charAt(pos)?types.push(XPathParser.NODETYPE):types.push(XPathParser.PROCESSINGINSTRUCTIONWITHLITERAL),values.push(name);continue}types.push(XPathParser.FUNCTIONNAME),values.push(name);continue}types.push(XPathParser.QNAME),values.push(name)}else{if("="==s.charAt(pos)){types.push(XPathParser.GREATERTHANOREQUAL),values.push(">="),pos++,c=s.charAt(pos++);continue}types.push(XPathParser.GREATERTHAN),values.push(">"),c=s.charAt(pos++)}else{if("="==s.charAt(pos)){types.push(XPathParser.LESSTHANOREQUAL),values.push("<="),pos++,c=s.charAt(pos++);continue}types.push(XPathParser.LESSTHAN),values.push("<"),c=s.charAt(pos++)}else types.push(XPathParser.NOTEQUAL),values.push("!="),pos++,c=s.charAt(pos++);else{if("/"==(c=s.charAt(pos++))){types.push(XPathParser.DOUBLESLASH),values.push("//"),c=s.charAt(pos++);continue}types.push(XPathParser.SLASH),values.push("/")}else types.push(XPathParser.DOUBLECOLON),values.push("::"),pos++,c=s.charAt(pos++);else{var last;if(types.length>0&&(last=types[types.length-1])!=XPathParser.AT&&last!=XPathParser.DOUBLECOLON&&last!=XPathParser.LEFTPARENTHESIS&&last!=XPathParser.LEFTBRACKET&&last!=XPathParser.AND&&last!=XPathParser.OR&&last!=XPathParser.MOD&&last!=XPathParser.DIV&&last!=XPathParser.MULTIPLYOPERATOR&&last!=XPathParser.SLASH&&last!=XPathParser.DOUBLESLASH&&last!=XPathParser.BAR&&last!=XPathParser.PLUS&&last!=XPathParser.MINUS&&last!=XPathParser.EQUALS&&last!=XPathParser.NOTEQUAL&&last!=XPathParser.LESSTHAN&&last!=XPathParser.LESSTHANOREQUAL&&last!=XPathParser.GREATERTHAN&&last!=XPathParser.GREATERTHANOREQUAL){types.push(XPathParser.MULTIPLYOPERATOR),values.push(c),c=s.charAt(pos++);continue}types.push(XPathParser.ASTERISKNAMETEST),values.push(c),c=s.charAt(pos++)}else{for(var delimiter=c,literal="";pos<s.length&&(c=s.charAt(pos))!==delimiter;)literal+=c,pos+=1;if(c!==delimiter)throw XPathException.fromMessage("Unterminated string literal: "+delimiter+literal);pos+=1,types.push(XPathParser.LITERAL),values.push(literal),c=s.charAt(pos++)}else{if("."==(c=s.charAt(pos++))){types.push(XPathParser.DOUBLEDOT),values.push(".."),c=s.charAt(pos++);continue}if(c>="0"&&c<="9"){var number="."+c;for(c=s.charAt(pos++);c>="0"&&c<="9";)number+=c,c=s.charAt(pos++);types.push(XPathParser.NUMBER),values.push(number);continue}types.push(XPathParser.DOT),values.push(".")}else types.push(XPathParser.DOLLAR),values.push(c),c=s.charAt(pos++);else types.push(XPathParser.EQUALS),values.push(c),c=s.charAt(pos++);else types.push(XPathParser.MINUS),values.push(c),c=s.charAt(pos++);else types.push(XPathParser.PLUS),values.push(c),c=s.charAt(pos++);else types.push(XPathParser.BAR),values.push(c),c=s.charAt(pos++);else types.push(XPathParser.COMMA),values.push(c),c=s.charAt(pos++);else types.push(XPathParser.AT),values.push(c),c=s.charAt(pos++);else types.push(XPathParser.RIGHTBRACKET),values.push(c),c=s.charAt(pos++);else types.push(XPathParser.LEFTBRACKET),values.push(c),c=s.charAt(pos++);else types.push(XPathParser.RIGHTPARENTHESIS),values.push(c),c=s.charAt(pos++);else types.push(XPathParser.LEFTPARENTHESIS),values.push(c),c=s.charAt(pos++)}return types.push(1),values.push("[EOF]"),[types,values]},XPathParser.SHIFT="s",XPathParser.REDUCE="r",XPathParser.ACCEPT="a",XPathParser.prototype.parse=function(s){var types,values,res=this.tokenize(s);if(null!=res){types=res[0],values=res[1];var a,t,tokenPos=0,state=[],tokenType=[],tokenValue=[];for(state.push(0),tokenType.push(1),tokenValue.push("_S"),a=types[tokenPos],t=values[tokenPos++];;)switch(s=state[state.length-1],XPathParser.actionTable[s].charAt(a-1)){case XPathParser.SHIFT:tokenType.push(-a),tokenValue.push(t),state.push(XPathParser.actionTableNumber[s].charCodeAt(a-1)-32),a=types[tokenPos],t=values[tokenPos++];break;case XPathParser.REDUCE:for(var num=XPathParser.productions[XPathParser.actionTableNumber[s].charCodeAt(a-1)-32][1],rhs=[],i=0;i<num;i++)tokenType.pop(),rhs.unshift(tokenValue.pop()),state.pop();var s_=state[state.length-1];tokenType.push(XPathParser.productions[XPathParser.actionTableNumber[s].charCodeAt(a-1)-32][0]),null==this.reduceActions[XPathParser.actionTableNumber[s].charCodeAt(a-1)-32]?tokenValue.push(rhs[0]):tokenValue.push(this.reduceActions[XPathParser.actionTableNumber[s].charCodeAt(a-1)-32](rhs)),state.push(XPathParser.gotoTable[s_].charCodeAt(XPathParser.productions[XPathParser.actionTableNumber[s].charCodeAt(a-1)-32][0]-2)-33);break;case XPathParser.ACCEPT:return new XPath(tokenValue.pop());default:throw new Error("XPath parse error")}}},XPath.prototype=new Object,XPath.prototype.constructor=XPath,XPath.superclass=Object.prototype,XPath.prototype.toString=function(){return this.expression.toString()},XPath.prototype.evaluate=function(c){return c.contextNode=c.expressionContextNode,c.contextSize=1,c.contextPosition=1,c.isHtml&&(setIfUnset(c,"caseInsensitive",!0),setIfUnset(c,"allowAnyNamespaceForNoPrefix",!0)),setIfUnset(c,"caseInsensitive",!1),this.expression.evaluate(c)},XPath.XML_NAMESPACE_URI="http://www.w3.org/XML/1998/namespace",XPath.XMLNS_NAMESPACE_URI="http://www.w3.org/2000/xmlns/",Expression.prototype=new Object,Expression.prototype.constructor=Expression,Expression.superclass=Object.prototype,Expression.prototype.init=function(){},Expression.prototype.toString=function(){return"<Expression>"},Expression.prototype.evaluate=function(c){throw new Error("Could not evaluate expression.")},UnaryOperation.prototype=new Expression,UnaryOperation.prototype.constructor=UnaryOperation,UnaryOperation.superclass=Expression.prototype,UnaryOperation.prototype.init=function(rhs){this.rhs=rhs},UnaryMinusOperation.prototype=new UnaryOperation,UnaryMinusOperation.prototype.constructor=UnaryMinusOperation,UnaryMinusOperation.superclass=UnaryOperation.prototype,UnaryMinusOperation.prototype.init=function(rhs){UnaryMinusOperation.superclass.init.call(this,rhs)},UnaryMinusOperation.prototype.evaluate=function(c){return this.rhs.evaluate(c).number().negate()},UnaryMinusOperation.prototype.toString=function(){return"-"+this.rhs.toString()},BinaryOperation.prototype=new Expression,BinaryOperation.prototype.constructor=BinaryOperation,BinaryOperation.superclass=Expression.prototype,BinaryOperation.prototype.init=function(lhs,rhs){this.lhs=lhs,this.rhs=rhs},OrOperation.prototype=new BinaryOperation,OrOperation.prototype.constructor=OrOperation,OrOperation.superclass=BinaryOperation.prototype,OrOperation.prototype.init=function(lhs,rhs){OrOperation.superclass.init.call(this,lhs,rhs)},OrOperation.prototype.toString=function(){return"("+this.lhs.toString()+" or "+this.rhs.toString()+")"},OrOperation.prototype.evaluate=function(c){var b=this.lhs.evaluate(c).bool();return b.booleanValue()?b:this.rhs.evaluate(c).bool()},AndOperation.prototype=new BinaryOperation,AndOperation.prototype.constructor=AndOperation,AndOperation.superclass=BinaryOperation.prototype,AndOperation.prototype.init=function(lhs,rhs){AndOperation.superclass.init.call(this,lhs,rhs)},AndOperation.prototype.toString=function(){return"("+this.lhs.toString()+" and "+this.rhs.toString()+")"},AndOperation.prototype.evaluate=function(c){var b=this.lhs.evaluate(c).bool();return b.booleanValue()?this.rhs.evaluate(c).bool():b},EqualsOperation.prototype=new BinaryOperation,EqualsOperation.prototype.constructor=EqualsOperation,EqualsOperation.superclass=BinaryOperation.prototype,EqualsOperation.prototype.init=function(lhs,rhs){EqualsOperation.superclass.init.call(this,lhs,rhs)},EqualsOperation.prototype.toString=function(){return"("+this.lhs.toString()+" = "+this.rhs.toString()+")"},EqualsOperation.prototype.evaluate=function(c){return this.lhs.evaluate(c).equals(this.rhs.evaluate(c))},NotEqualOperation.prototype=new BinaryOperation,NotEqualOperation.prototype.constructor=NotEqualOperation,NotEqualOperation.superclass=BinaryOperation.prototype,NotEqualOperation.prototype.init=function(lhs,rhs){NotEqualOperation.superclass.init.call(this,lhs,rhs)},NotEqualOperation.prototype.toString=function(){return"("+this.lhs.toString()+" != "+this.rhs.toString()+")"},NotEqualOperation.prototype.evaluate=function(c){return this.lhs.evaluate(c).notequal(this.rhs.evaluate(c))},LessThanOperation.prototype=new BinaryOperation,LessThanOperation.prototype.constructor=LessThanOperation,LessThanOperation.superclass=BinaryOperation.prototype,LessThanOperation.prototype.init=function(lhs,rhs){LessThanOperation.superclass.init.call(this,lhs,rhs)},LessThanOperation.prototype.evaluate=function(c){return this.lhs.evaluate(c).lessthan(this.rhs.evaluate(c))},LessThanOperation.prototype.toString=function(){return"("+this.lhs.toString()+" < "+this.rhs.toString()+")"},GreaterThanOperation.prototype=new BinaryOperation,GreaterThanOperation.prototype.constructor=GreaterThanOperation,GreaterThanOperation.superclass=BinaryOperation.prototype,GreaterThanOperation.prototype.init=function(lhs,rhs){GreaterThanOperation.superclass.init.call(this,lhs,rhs)},GreaterThanOperation.prototype.evaluate=function(c){return this.lhs.evaluate(c).greaterthan(this.rhs.evaluate(c))},GreaterThanOperation.prototype.toString=function(){return"("+this.lhs.toString()+" > "+this.rhs.toString()+")"},LessThanOrEqualOperation.prototype=new BinaryOperation,LessThanOrEqualOperation.prototype.constructor=LessThanOrEqualOperation,LessThanOrEqualOperation.superclass=BinaryOperation.prototype,LessThanOrEqualOperation.prototype.init=function(lhs,rhs){LessThanOrEqualOperation.superclass.init.call(this,lhs,rhs)},LessThanOrEqualOperation.prototype.evaluate=function(c){return this.lhs.evaluate(c).lessthanorequal(this.rhs.evaluate(c))},LessThanOrEqualOperation.prototype.toString=function(){return"("+this.lhs.toString()+" <= "+this.rhs.toString()+")"},GreaterThanOrEqualOperation.prototype=new BinaryOperation,GreaterThanOrEqualOperation.prototype.constructor=GreaterThanOrEqualOperation,GreaterThanOrEqualOperation.superclass=BinaryOperation.prototype,GreaterThanOrEqualOperation.prototype.init=function(lhs,rhs){GreaterThanOrEqualOperation.superclass.init.call(this,lhs,rhs)},GreaterThanOrEqualOperation.prototype.evaluate=function(c){return this.lhs.evaluate(c).greaterthanorequal(this.rhs.evaluate(c))},GreaterThanOrEqualOperation.prototype.toString=function(){return"("+this.lhs.toString()+" >= "+this.rhs.toString()+")"},PlusOperation.prototype=new BinaryOperation,PlusOperation.prototype.constructor=PlusOperation,PlusOperation.superclass=BinaryOperation.prototype,PlusOperation.prototype.init=function(lhs,rhs){PlusOperation.superclass.init.call(this,lhs,rhs)},PlusOperation.prototype.evaluate=function(c){return this.lhs.evaluate(c).number().plus(this.rhs.evaluate(c).number())},PlusOperation.prototype.toString=function(){return"("+this.lhs.toString()+" + "+this.rhs.toString()+")"},MinusOperation.prototype=new BinaryOperation,MinusOperation.prototype.constructor=MinusOperation,MinusOperation.superclass=BinaryOperation.prototype,MinusOperation.prototype.init=function(lhs,rhs){MinusOperation.superclass.init.call(this,lhs,rhs)},MinusOperation.prototype.evaluate=function(c){return this.lhs.evaluate(c).number().minus(this.rhs.evaluate(c).number())},MinusOperation.prototype.toString=function(){return"("+this.lhs.toString()+" - "+this.rhs.toString()+")"},MultiplyOperation.prototype=new BinaryOperation,MultiplyOperation.prototype.constructor=MultiplyOperation,MultiplyOperation.superclass=BinaryOperation.prototype,MultiplyOperation.prototype.init=function(lhs,rhs){MultiplyOperation.superclass.init.call(this,lhs,rhs)},MultiplyOperation.prototype.evaluate=function(c){return this.lhs.evaluate(c).number().multiply(this.rhs.evaluate(c).number())},MultiplyOperation.prototype.toString=function(){return"("+this.lhs.toString()+" * "+this.rhs.toString()+")"},DivOperation.prototype=new BinaryOperation,DivOperation.prototype.constructor=DivOperation,DivOperation.superclass=BinaryOperation.prototype,DivOperation.prototype.init=function(lhs,rhs){DivOperation.superclass.init.call(this,lhs,rhs)},DivOperation.prototype.evaluate=function(c){return this.lhs.evaluate(c).number().div(this.rhs.evaluate(c).number())},DivOperation.prototype.toString=function(){return"("+this.lhs.toString()+" div "+this.rhs.toString()+")"},ModOperation.prototype=new BinaryOperation,ModOperation.prototype.constructor=ModOperation,ModOperation.superclass=BinaryOperation.prototype,ModOperation.prototype.init=function(lhs,rhs){ModOperation.superclass.init.call(this,lhs,rhs)},ModOperation.prototype.evaluate=function(c){return this.lhs.evaluate(c).number().mod(this.rhs.evaluate(c).number())},ModOperation.prototype.toString=function(){return"("+this.lhs.toString()+" mod "+this.rhs.toString()+")"},BarOperation.prototype=new BinaryOperation,BarOperation.prototype.constructor=BarOperation,BarOperation.superclass=BinaryOperation.prototype,BarOperation.prototype.init=function(lhs,rhs){BarOperation.superclass.init.call(this,lhs,rhs)},BarOperation.prototype.evaluate=function(c){return this.lhs.evaluate(c).nodeset().union(this.rhs.evaluate(c).nodeset())},BarOperation.prototype.toString=function(){return map(toString,[this.lhs,this.rhs]).join(" | ")},PathExpr.prototype=new Expression,PathExpr.prototype.constructor=PathExpr,PathExpr.superclass=Expression.prototype,PathExpr.prototype.init=function(filter,filterPreds,locpath){PathExpr.superclass.init.call(this),this.filter=filter,this.filterPredicates=filterPreds,this.locationPath=locpath},PathExpr.applyPredicates=function(predicates,c,nodes){if(0===predicates.length)return nodes;var ctx=c.extend({});return reduce((function(inNodes,pred){return ctx.contextSize=inNodes.length,f=function(node,i){return ctx.contextNode=node,ctx.contextPosition=i+1,PathExpr.predicateMatches(pred,ctx)},filtered=[],forEach((function(x,i){f(x,i)&&filtered.push(x)}),inNodes),filtered;var f,filtered}),nodes,predicates)},PathExpr.getRoot=function(xpc,nodes){var firstNode=nodes[0];if(firstNode.nodeType===NodeTypes_DOCUMENT_NODE)return firstNode;if(xpc.virtualRoot)return xpc.virtualRoot;var ownerDoc=firstNode.ownerDocument;if(ownerDoc)return ownerDoc;for(var n=firstNode;null!=n.parentNode;)n=n.parentNode;return n},PathExpr.applyStep=function(step,xpc,node){var newNodes=[];switch(xpc.contextNode=node,step.axis){case Step.ANCESTOR:if(xpc.contextNode===xpc.virtualRoot)break;for(m=xpc.contextNode.nodeType==NodeTypes_ATTRIBUTE_NODE?PathExpr.getOwnerElement(xpc.contextNode):xpc.contextNode.parentNode;null!=m&&(step.nodeTest.matches(m,xpc)&&newNodes.push(m),m!==xpc.virtualRoot);)m=m.parentNode;break;case Step.ANCESTORORSELF:for(var m=xpc.contextNode;null!=m&&(step.nodeTest.matches(m,xpc)&&newNodes.push(m),m!==xpc.virtualRoot);m=m.nodeType==NodeTypes_ATTRIBUTE_NODE?PathExpr.getOwnerElement(m):m.parentNode);break;case Step.ATTRIBUTE:var nnm=xpc.contextNode.attributes;if(null!=nnm)for(var k=0;k<nnm.length;k++){m=nnm.item(k);step.nodeTest.matches(m,xpc)&&newNodes.push(m)}break;case Step.CHILD:for(m=xpc.contextNode.firstChild;null!=m;m=m.nextSibling)step.nodeTest.matches(m,xpc)&&newNodes.push(m);break;case Step.DESCENDANT:for(var st=[xpc.contextNode.firstChild];st.length>0;)for(m=st.pop();null!=m;)step.nodeTest.matches(m,xpc)&&newNodes.push(m),null!=m.firstChild?(st.push(m.nextSibling),m=m.firstChild):m=m.nextSibling;break;case Step.DESCENDANTORSELF:step.nodeTest.matches(xpc.contextNode,xpc)&&newNodes.push(xpc.contextNode);for(st=[xpc.contextNode.firstChild];st.length>0;)for(m=st.pop();null!=m;)step.nodeTest.matches(m,xpc)&&newNodes.push(m),null!=m.firstChild?(st.push(m.nextSibling),m=m.firstChild):m=m.nextSibling;break;case Step.FOLLOWING:if(xpc.contextNode===xpc.virtualRoot)break;st=[];null!=xpc.contextNode.firstChild?st.unshift(xpc.contextNode.firstChild):st.unshift(xpc.contextNode.nextSibling);for(m=xpc.contextNode.parentNode;null!=m&&m.nodeType!=NodeTypes_DOCUMENT_NODE&&m!==xpc.virtualRoot;m=m.parentNode)st.unshift(m.nextSibling);do{for(m=st.pop();null!=m;)step.nodeTest.matches(m,xpc)&&newNodes.push(m),null!=m.firstChild?(st.push(m.nextSibling),m=m.firstChild):m=m.nextSibling}while(st.length>0);break;case Step.FOLLOWINGSIBLING:if(xpc.contextNode===xpc.virtualRoot)break;for(m=xpc.contextNode.nextSibling;null!=m;m=m.nextSibling)step.nodeTest.matches(m,xpc)&&newNodes.push(m);break;case Step.NAMESPACE:var n={};if(xpc.contextNode.nodeType==NodeTypes_ELEMENT_NODE){n.xml=XPath.XML_NAMESPACE_URI,n.xmlns=XPath.XMLNS_NAMESPACE_URI;for(m=xpc.contextNode;null!=m&&m.nodeType==NodeTypes_ELEMENT_NODE;m=m.parentNode)for(k=0;k<m.attributes.length;k++){var attr=m.attributes.item(k),nm=String(attr.name);if("xmlns"==nm)null==n[""]&&(n[""]=attr.value);else if(nm.length>6&&"xmlns:"==nm.substring(0,6)){null==n[pre=nm.substring(6,nm.length)]&&(n[pre]=attr.value)}}for(var pre in n){var nsn=new XPathNamespace(pre,n[pre],xpc.contextNode);step.nodeTest.matches(nsn,xpc)&&newNodes.push(nsn)}}break;case Step.PARENT:m=null,xpc.contextNode!==xpc.virtualRoot&&(m=xpc.contextNode.nodeType==NodeTypes_ATTRIBUTE_NODE?PathExpr.getOwnerElement(xpc.contextNode):xpc.contextNode.parentNode),null!=m&&step.nodeTest.matches(m,xpc)&&newNodes.push(m);break;case Step.PRECEDING:st=null!=xpc.virtualRoot?[xpc.virtualRoot]:[findRoot(xpc.contextNode)];outer:for(;st.length>0;)for(m=st.pop();null!=m;){if(m==xpc.contextNode)break outer;step.nodeTest.matches(m,xpc)&&newNodes.unshift(m),null!=m.firstChild?(st.push(m.nextSibling),m=m.firstChild):m=m.nextSibling}break;case Step.PRECEDINGSIBLING:if(xpc.contextNode===xpc.virtualRoot)break;for(m=xpc.contextNode.previousSibling;null!=m;m=m.previousSibling)step.nodeTest.matches(m,xpc)&&newNodes.push(m);break;case Step.SELF:step.nodeTest.matches(xpc.contextNode,xpc)&&newNodes.push(xpc.contextNode)}return newNodes},PathExpr.applySteps=function(steps,xpc,nodes){return reduce(applyStepToNodes.bind(null,xpc),nodes,steps)},PathExpr.prototype.applyFilter=function(c,xpc){if(!this.filter)return{nodes:[c.contextNode]};var ns=this.filter.evaluate(c);if(!Utilities.instance_of(ns,XNodeSet)){if(null!=this.filterPredicates&&this.filterPredicates.length>0||null!=this.locationPath)throw new Error("Path expression filter must evaluate to a nodeset if predicates or location path are used");return{nonNodes:ns}}return{nodes:PathExpr.applyPredicates(this.filterPredicates||[],xpc,ns.toUnsortedArray())}},PathExpr.applyLocationPath=function(locationPath,xpc,nodes){if(!locationPath)return nodes;var startNodes=locationPath.absolute?[PathExpr.getRoot(xpc,nodes)]:nodes;return PathExpr.applySteps(locationPath.steps,xpc,startNodes)},PathExpr.prototype.evaluate=function(c){var xpc=assign(new XPathContext,c),filterResult=this.applyFilter(c,xpc);if("nonNodes"in filterResult)return filterResult.nonNodes;var ns=new XNodeSet;return ns.addArray(PathExpr.applyLocationPath(this.locationPath,xpc,filterResult.nodes)),ns},PathExpr.predicateMatches=function(pred,c){var res=pred.evaluate(c);return Utilities.instance_of(res,XNumber)?c.contextPosition===res.numberValue():res.booleanValue()},PathExpr.predicateString=function(predicate){return wrap("[","]",predicate.toString())},PathExpr.predicatesString=function(predicates){return join("",map(PathExpr.predicateString,predicates))},PathExpr.prototype.toString=function(){if(null!=this.filter){var filterStr=toString(this.filter);return Utilities.instance_of(this.filter,XString)?wrap("'","'",filterStr):null!=this.filterPredicates&&this.filterPredicates.length?wrap("(",")",filterStr)+PathExpr.predicatesString(this.filterPredicates):null!=this.locationPath?filterStr+(this.locationPath.absolute?"":"/")+toString(this.locationPath):filterStr}return toString(this.locationPath)},PathExpr.getOwnerElement=function(n){if(n.ownerElement)return n.ownerElement;try{if(n.selectSingleNode)return n.selectSingleNode("..")}catch(e){}for(var elts=(n.nodeType==NodeTypes_DOCUMENT_NODE?n:n.ownerDocument).getElementsByTagName("*"),i=0;i<elts.length;i++)for(var elt=elts.item(i),nnm=elt.attributes,j=0;j<nnm.length;j++){if(nnm.item(j)===n)return elt}return null},LocationPath.prototype=new Object,LocationPath.prototype.constructor=LocationPath,LocationPath.superclass=Object.prototype,LocationPath.prototype.init=function(abs,steps){this.absolute=abs,this.steps=steps},LocationPath.prototype.toString=function(){return(this.absolute?"/":"")+map(toString,this.steps).join("/")},Step.prototype=new Object,Step.prototype.constructor=Step,Step.superclass=Object.prototype,Step.prototype.init=function(axis,nodetest,preds){this.axis=axis,this.nodeTest=nodetest,this.predicates=preds},Step.prototype.toString=function(){return Step.STEPNAMES[this.axis]+"::"+this.nodeTest.toString()+PathExpr.predicatesString(this.predicates)},Step.ANCESTOR=0,Step.ANCESTORORSELF=1,Step.ATTRIBUTE=2,Step.CHILD=3,Step.DESCENDANT=4,Step.DESCENDANTORSELF=5,Step.FOLLOWING=6,Step.FOLLOWINGSIBLING=7,Step.NAMESPACE=8,Step.PARENT=9,Step.PRECEDING=10,Step.PRECEDINGSIBLING=11,Step.SELF=12,Step.STEPNAMES=reduce((function(acc,x){return acc[x[0]]=x[1],acc}),{},[[Step.ANCESTOR,"ancestor"],[Step.ANCESTORORSELF,"ancestor-or-self"],[Step.ATTRIBUTE,"attribute"],[Step.CHILD,"child"],[Step.DESCENDANT,"descendant"],[Step.DESCENDANTORSELF,"descendant-or-self"],[Step.FOLLOWING,"following"],[Step.FOLLOWINGSIBLING,"following-sibling"],[Step.NAMESPACE,"namespace"],[Step.PARENT,"parent"],[Step.PRECEDING,"preceding"],[Step.PRECEDINGSIBLING,"preceding-sibling"],[Step.SELF,"self"]]),NodeTest.prototype=new Object,NodeTest.prototype.constructor=NodeTest,NodeTest.superclass=Object.prototype,NodeTest.prototype.init=function(type,value){this.type=type,this.value=value},NodeTest.prototype.toString=function(){return"<unknown nodetest type>"},NodeTest.prototype.matches=function(n,xpc){console.warn("unknown node test type")},NodeTest.NAMETESTANY=0,NodeTest.NAMETESTPREFIXANY=1,NodeTest.NAMETESTQNAME=2,NodeTest.COMMENT=3,NodeTest.TEXT=4,NodeTest.PI=5,NodeTest.NODE=6,NodeTest.isNodeType=function(types){return function(node){return function(values,value){for(var i=0;i<values.length;i+=1)if(values[i]===value)return!0;return!1}(types,node.nodeType)}},NodeTest.makeNodeTestType=function(type,members,ctor){var newType=ctor||function(){};return newType.prototype=new NodeTest(type),newType.prototype.constructor=newType,assign(newType.prototype,members),newType},NodeTest.makeNodeTypeTest=function(type,nodeTypes,stringVal){return new(NodeTest.makeNodeTestType(type,{matches:NodeTest.isNodeType(nodeTypes),toString:(value=stringVal,function(){return value})}));var value},NodeTest.hasPrefix=function(node){return node.prefix||-1!==(node.nodeName||node.tagName).indexOf(":")},NodeTest.isElementOrAttribute=NodeTest.isNodeType([1,2]),NodeTest.nameSpaceMatches=function(prefix,xpc,n){var nNamespace=n.namespaceURI||"";if(!prefix)return!nNamespace||xpc.allowAnyNamespaceForNoPrefix&&!NodeTest.hasPrefix(n);var ns=xpc.namespaceResolver.getNamespace(prefix,xpc.expressionContextNode);if(null==ns)throw new Error("Cannot resolve QName "+prefix);return ns===nNamespace},NodeTest.localNameMatches=function(localName,xpc,n){var nLocalName=n.localName||n.nodeName;return xpc.caseInsensitive?localName.toLowerCase()===nLocalName.toLowerCase():localName===nLocalName},NodeTest.NameTestPrefixAny=NodeTest.makeNodeTestType(NodeTest.NAMETESTPREFIXANY,{matches:function(n,xpc){return NodeTest.isElementOrAttribute(n)&&NodeTest.nameSpaceMatches(this.prefix,xpc,n)},toString:function(){return this.prefix+":*"}},(function NameTestPrefixAny(prefix){this.prefix=prefix})),NodeTest.NameTestQName=NodeTest.makeNodeTestType(NodeTest.NAMETESTQNAME,{matches:function(n,xpc){return NodeTest.isNodeType([NodeTypes_ELEMENT_NODE,NodeTypes_ATTRIBUTE_NODE,XPathNamespace.XPATH_NAMESPACE_NODE])(n)&&NodeTest.nameSpaceMatches(this.prefix,xpc,n)&&NodeTest.localNameMatches(this.localName,xpc,n)},toString:function(){return this.name}},(function NameTestQName(name){var nameParts=name.split(":");this.name=name,this.prefix=nameParts.length>1?nameParts[0]:null,this.localName=nameParts[nameParts.length>1?1:0]})),NodeTest.PITest=NodeTest.makeNodeTestType(NodeTest.PI,{matches:function(n,xpc){return NodeTest.isNodeType([NodeTypes_PROCESSING_INSTRUCTION_NODE])(n)&&(n.target||n.nodeName)===this.name},toString:function(){return wrap('processing-instruction("','")',this.name)}},(function(name){this.name=name})),NodeTest.nameTestAny=NodeTest.makeNodeTypeTest(NodeTest.NAMETESTANY,[NodeTypes_ELEMENT_NODE,NodeTypes_ATTRIBUTE_NODE,XPathNamespace.XPATH_NAMESPACE_NODE],"*"),NodeTest.textTest=NodeTest.makeNodeTypeTest(NodeTest.TEXT,[NodeTypes_TEXT_NODE,NodeTypes_CDATA_SECTION_NODE],"text()"),NodeTest.commentTest=NodeTest.makeNodeTypeTest(NodeTest.COMMENT,[NodeTypes_COMMENT_NODE],"comment()"),NodeTest.nodeTest=NodeTest.makeNodeTypeTest(NodeTest.NODE,[NodeTypes_ELEMENT_NODE,NodeTypes_ATTRIBUTE_NODE,NodeTypes_TEXT_NODE,NodeTypes_CDATA_SECTION_NODE,NodeTypes_PROCESSING_INSTRUCTION_NODE,NodeTypes_COMMENT_NODE,NodeTypes_DOCUMENT_NODE],"node()"),NodeTest.anyPiTest=NodeTest.makeNodeTypeTest(NodeTest.PI,[NodeTypes_PROCESSING_INSTRUCTION_NODE],"processing-instruction()"),VariableReference.prototype=new Expression,VariableReference.prototype.constructor=VariableReference,VariableReference.superclass=Expression.prototype,VariableReference.prototype.init=function(v){this.variable=v},VariableReference.prototype.toString=function(){return"$"+this.variable},VariableReference.prototype.evaluate=function(c){var parts=Utilities.resolveQName(this.variable,c.namespaceResolver,c.contextNode,!1);if(null==parts[0])throw new Error("Cannot resolve QName "+fn);var result=c.variableResolver.getVariable(parts[1],parts[0]);if(!result)throw XPathException.fromMessage("Undeclared variable: "+this.toString());return result},FunctionCall.prototype=new Expression,FunctionCall.prototype.constructor=FunctionCall,FunctionCall.superclass=Expression.prototype,FunctionCall.prototype.init=function(fn,args){this.functionName=fn,this.arguments=args},FunctionCall.prototype.toString=function(){for(var s=this.functionName+"(",i=0;i<this.arguments.length;i++)i>0&&(s+=", "),s+=this.arguments[i].toString();return s+")"},FunctionCall.prototype.evaluate=function(c){var f=FunctionResolver.getFunctionFromContext(this.functionName,c);if(!f)throw new Error("Unknown function "+this.functionName);var a=[c].concat(this.arguments);return f.apply(c.functionResolver.thisArg,a)};var Operators=new Object;function XString(s){arguments.length>0&&this.init(s)}function XNumber(n){arguments.length>0&&this.init(n)}function XBoolean(b){arguments.length>0&&this.init(b)}function AVLTree(n){this.init(n)}function XNodeSet(){this.init()}function XPathNamespace(pre,ns,p){this.isXPathNamespace=!0,this.ownerDocument=p.ownerDocument,this.nodeName="#namespace",this.prefix=pre,this.localName=pre,this.namespaceURI=ns,this.nodeValue=ns,this.ownerElement=p,this.nodeType=XPathNamespace.XPATH_NAMESPACE_NODE}function XPathContext(vr,nr,fr){this.variableResolver=null!=vr?vr:new VariableResolver,this.namespaceResolver=null!=nr?nr:new NamespaceResolver,this.functionResolver=null!=fr?fr:new FunctionResolver}function VariableResolver(){}function FunctionResolver(thisArg){this.thisArg=null!=thisArg?thisArg:Functions,this.functions=new Object,this.addStandardFunctions()}function NamespaceResolver(){}Operators.equals=function(l,r){return l.equals(r)},Operators.notequal=function(l,r){return l.notequal(r)},Operators.lessthan=function(l,r){return l.lessthan(r)},Operators.greaterthan=function(l,r){return l.greaterthan(r)},Operators.lessthanorequal=function(l,r){return l.lessthanorequal(r)},Operators.greaterthanorequal=function(l,r){return l.greaterthanorequal(r)},XString.prototype=new Expression,XString.prototype.constructor=XString,XString.superclass=Expression.prototype,XString.prototype.init=function(s){this.str=String(s)},XString.prototype.toString=function(){return this.str},XString.prototype.evaluate=function(c){return this},XString.prototype.string=function(){return this},XString.prototype.number=function(){return new XNumber(this.str)},XString.prototype.bool=function(){return new XBoolean(this.str)},XString.prototype.nodeset=function(){throw new Error("Cannot convert string to nodeset")},XString.prototype.stringValue=function(){return this.str},XString.prototype.numberValue=function(){return this.number().numberValue()},XString.prototype.booleanValue=function(){return this.bool().booleanValue()},XString.prototype.equals=function(r){return Utilities.instance_of(r,XBoolean)?this.bool().equals(r):Utilities.instance_of(r,XNumber)?this.number().equals(r):Utilities.instance_of(r,XNodeSet)?r.compareWithString(this,Operators.equals):new XBoolean(this.str==r.str)},XString.prototype.notequal=function(r){return Utilities.instance_of(r,XBoolean)?this.bool().notequal(r):Utilities.instance_of(r,XNumber)?this.number().notequal(r):Utilities.instance_of(r,XNodeSet)?r.compareWithString(this,Operators.notequal):new XBoolean(this.str!=r.str)},XString.prototype.lessthan=function(r){return this.number().lessthan(r)},XString.prototype.greaterthan=function(r){return this.number().greaterthan(r)},XString.prototype.lessthanorequal=function(r){return this.number().lessthanorequal(r)},XString.prototype.greaterthanorequal=function(r){return this.number().greaterthanorequal(r)},XNumber.prototype=new Expression,XNumber.prototype.constructor=XNumber,XNumber.superclass=Expression.prototype,XNumber.prototype.init=function(n){this.num="string"==typeof n?this.parse(n):Number(n)},XNumber.prototype.numberFormat=/^\s*-?[0-9]*\.?[0-9]+\s*$/,XNumber.prototype.parse=function(s){return this.numberFormat.test(s)?parseFloat(s):Number.NaN},XNumber.prototype.toString=function(){var strValue=this.num.toString();return-1!==strValue.indexOf("e-")?function padSmallNumber(numberStr){for(var parts=numberStr.split("e-"),base=parts[0].replace(".",""),exponent=Number(parts[1]),i=0;i<exponent-1;i+=1)base="0"+base;return"0."+base}(strValue):-1!==strValue.indexOf("e")?function padLargeNumber(numberStr){for(var parts=numberStr.split("e"),base=parts[0].replace(".",""),zerosToAppend=Number(parts[1])+1-base.length,i=0;i<zerosToAppend;i+=1)base+="0";return base}(strValue):strValue},XNumber.prototype.evaluate=function(c){return this},XNumber.prototype.string=function(){return new XString(this.toString())},XNumber.prototype.number=function(){return this},XNumber.prototype.bool=function(){return new XBoolean(this.num)},XNumber.prototype.nodeset=function(){throw new Error("Cannot convert number to nodeset")},XNumber.prototype.stringValue=function(){return this.string().stringValue()},XNumber.prototype.numberValue=function(){return this.num},XNumber.prototype.booleanValue=function(){return this.bool().booleanValue()},XNumber.prototype.negate=function(){return new XNumber(-this.num)},XNumber.prototype.equals=function(r){return Utilities.instance_of(r,XBoolean)?this.bool().equals(r):Utilities.instance_of(r,XString)?this.equals(r.number()):Utilities.instance_of(r,XNodeSet)?r.compareWithNumber(this,Operators.equals):new XBoolean(this.num==r.num)},XNumber.prototype.notequal=function(r){return Utilities.instance_of(r,XBoolean)?this.bool().notequal(r):Utilities.instance_of(r,XString)?this.notequal(r.number()):Utilities.instance_of(r,XNodeSet)?r.compareWithNumber(this,Operators.notequal):new XBoolean(this.num!=r.num)},XNumber.prototype.lessthan=function(r){return Utilities.instance_of(r,XNodeSet)?r.compareWithNumber(this,Operators.greaterthan):Utilities.instance_of(r,XBoolean)||Utilities.instance_of(r,XString)?this.lessthan(r.number()):new XBoolean(this.num<r.num)},XNumber.prototype.greaterthan=function(r){return Utilities.instance_of(r,XNodeSet)?r.compareWithNumber(this,Operators.lessthan):Utilities.instance_of(r,XBoolean)||Utilities.instance_of(r,XString)?this.greaterthan(r.number()):new XBoolean(this.num>r.num)},XNumber.prototype.lessthanorequal=function(r){return Utilities.instance_of(r,XNodeSet)?r.compareWithNumber(this,Operators.greaterthanorequal):Utilities.instance_of(r,XBoolean)||Utilities.instance_of(r,XString)?this.lessthanorequal(r.number()):new XBoolean(this.num<=r.num)},XNumber.prototype.greaterthanorequal=function(r){return Utilities.instance_of(r,XNodeSet)?r.compareWithNumber(this,Operators.lessthanorequal):Utilities.instance_of(r,XBoolean)||Utilities.instance_of(r,XString)?this.greaterthanorequal(r.number()):new XBoolean(this.num>=r.num)},XNumber.prototype.plus=function(r){return new XNumber(this.num+r.num)},XNumber.prototype.minus=function(r){return new XNumber(this.num-r.num)},XNumber.prototype.multiply=function(r){return new XNumber(this.num*r.num)},XNumber.prototype.div=function(r){return new XNumber(this.num/r.num)},XNumber.prototype.mod=function(r){return new XNumber(this.num%r.num)},XBoolean.prototype=new Expression,XBoolean.prototype.constructor=XBoolean,XBoolean.superclass=Expression.prototype,XBoolean.prototype.init=function(b){this.b=Boolean(b)},XBoolean.prototype.toString=function(){return this.b.toString()},XBoolean.prototype.evaluate=function(c){return this},XBoolean.prototype.string=function(){return new XString(this.b)},XBoolean.prototype.number=function(){return new XNumber(this.b)},XBoolean.prototype.bool=function(){return this},XBoolean.prototype.nodeset=function(){throw new Error("Cannot convert boolean to nodeset")},XBoolean.prototype.stringValue=function(){return this.string().stringValue()},XBoolean.prototype.numberValue=function(){return this.number().numberValue()},XBoolean.prototype.booleanValue=function(){return this.b},XBoolean.prototype.not=function(){return new XBoolean(!this.b)},XBoolean.prototype.equals=function(r){return Utilities.instance_of(r,XString)||Utilities.instance_of(r,XNumber)?this.equals(r.bool()):Utilities.instance_of(r,XNodeSet)?r.compareWithBoolean(this,Operators.equals):new XBoolean(this.b==r.b)},XBoolean.prototype.notequal=function(r){return Utilities.instance_of(r,XString)||Utilities.instance_of(r,XNumber)?this.notequal(r.bool()):Utilities.instance_of(r,XNodeSet)?r.compareWithBoolean(this,Operators.notequal):new XBoolean(this.b!=r.b)},XBoolean.prototype.lessthan=function(r){return this.number().lessthan(r)},XBoolean.prototype.greaterthan=function(r){return this.number().greaterthan(r)},XBoolean.prototype.lessthanorequal=function(r){return this.number().lessthanorequal(r)},XBoolean.prototype.greaterthanorequal=function(r){return this.number().greaterthanorequal(r)},XBoolean.true_=new XBoolean(!0),XBoolean.false_=new XBoolean(!1),AVLTree.prototype=new Object,AVLTree.prototype.constructor=AVLTree,AVLTree.superclass=Object.prototype,AVLTree.prototype.init=function(n){this.left=null,this.right=null,this.node=n,this.depth=1},AVLTree.prototype.balance=function(){var ldepth=null==this.left?0:this.left.depth,rdepth=null==this.right?0:this.right.depth;if(ldepth>rdepth+1)(null==this.left.left?0:this.left.left.depth)<(null==this.left.right?0:this.left.right.depth)&&this.left.rotateRR(),this.rotateLL();else if(ldepth+1<rdepth){var rrdepth=null==this.right.right?0:this.right.right.depth;(null==this.right.left?0:this.right.left.depth)>rrdepth&&this.right.rotateLL(),this.rotateRR()}},AVLTree.prototype.rotateLL=function(){var nodeBefore=this.node,rightBefore=this.right;this.node=this.left.node,this.right=this.left,this.left=this.left.left,this.right.left=this.right.right,this.right.right=rightBefore,this.right.node=nodeBefore,this.right.updateInNewLocation(),this.updateInNewLocation()},AVLTree.prototype.rotateRR=function(){var nodeBefore=this.node,leftBefore=this.left;this.node=this.right.node,this.left=this.right,this.right=this.right.right,this.left.right=this.left.left,this.left.left=leftBefore,this.left.node=nodeBefore,this.left.updateInNewLocation(),this.updateInNewLocation()},AVLTree.prototype.updateInNewLocation=function(){this.getDepthFromChildren()},AVLTree.prototype.getDepthFromChildren=function(){this.depth=null==this.node?0:1,null!=this.left&&(this.depth=this.left.depth+1),null!=this.right&&this.depth<=this.right.depth&&(this.depth=this.right.depth+1)},AVLTree.prototype.add=function(n){if(n===this.node)return!1;var o=function nodeOrder(n1,n2){if(n1===n2)return 0;if(n1.compareDocumentPosition){var cpos=n1.compareDocumentPosition(n2);return 1&cpos||10&cpos?1:20&cpos?-1:0}for(var d1=0,d2=0,m1=n1;null!=m1;m1=m1.parentNode||m1.ownerElement)d1++;for(var m2=n2;null!=m2;m2=m2.parentNode||m2.ownerElement)d2++;if(d1>d2){for(;d1>d2;)n1=n1.parentNode||n1.ownerElement,d1--;if(n1===n2)return 1}else if(d2>d1){for(;d2>d1;)n2=n2.parentNode||n2.ownerElement,d2--;if(n1===n2)return-1}for(var n1Par=n1.parentNode||n1.ownerElement,n2Par=n2.parentNode||n2.ownerElement;n1Par!==n2Par;)n2=n2Par,n1Par=(n1=n1Par).parentNode||n1.ownerElement,n2Par=n2.parentNode||n2.ownerElement;var n1isAttr=Utilities.isAttribute(n1),n2isAttr=Utilities.isAttribute(n2);if(n1isAttr&&!n2isAttr)return-1;if(!n1isAttr&&n2isAttr)return 1;if(n1Par)for(var cn=n1isAttr?n1Par.attributes:n1Par.childNodes,len=cn.length,i=0;i<len;i+=1){var n=cn[i];if(n===n1)return-1;if(n===n2)return 1}throw new Error("Unexpected: could not determine node order")}(n,this.node),ret=!1;return-1==o?null==this.left?(this.left=new AVLTree(n),ret=!0):(ret=this.left.add(n))&&this.balance():1==o&&(null==this.right?(this.right=new AVLTree(n),ret=!0):(ret=this.right.add(n))&&this.balance()),ret&&this.getDepthFromChildren(),ret},XNodeSet.prototype=new Expression,XNodeSet.prototype.constructor=XNodeSet,XNodeSet.superclass=Expression.prototype,XNodeSet.prototype.init=function(){this.tree=null,this.nodes=[],this.size=0},XNodeSet.prototype.toString=function(){var p=this.first();return null==p?"":this.stringForNode(p)},XNodeSet.prototype.evaluate=function(c){return this},XNodeSet.prototype.string=function(){return new XString(this.toString())},XNodeSet.prototype.stringValue=function(){return this.toString()},XNodeSet.prototype.number=function(){return new XNumber(this.string())},XNodeSet.prototype.numberValue=function(){return Number(this.string())},XNodeSet.prototype.bool=function(){return new XBoolean(this.booleanValue())},XNodeSet.prototype.booleanValue=function(){return!!this.size},XNodeSet.prototype.nodeset=function(){return this},XNodeSet.prototype.stringForNode=function(n){return n.nodeType==NodeTypes_DOCUMENT_NODE||n.nodeType==NodeTypes_ELEMENT_NODE||n.nodeType===NodeTypes_DOCUMENT_FRAGMENT_NODE?this.stringForContainerNode(n):n.nodeType===NodeTypes_ATTRIBUTE_NODE?n.value||n.nodeValue:n.isNamespaceNode?n.namespace:n.nodeValue},XNodeSet.prototype.stringForContainerNode=function(n){for(var s="",n2=n.firstChild;null!=n2;n2=n2.nextSibling){var nt=n2.nodeType;1!==nt&&3!==nt&&4!==nt&&9!==nt&&11!==nt||(s+=this.stringForNode(n2))}return s},XNodeSet.prototype.buildTree=function(){if(!this.tree&&this.nodes.length){this.tree=new AVLTree(this.nodes[0]);for(var i=1;i<this.nodes.length;i+=1)this.tree.add(this.nodes[i])}return this.tree},XNodeSet.prototype.first=function(){var p=this.buildTree();if(null==p)return null;for(;null!=p.left;)p=p.left;return p.node},XNodeSet.prototype.add=function(n){for(var i=0;i<this.nodes.length;i+=1)if(n===this.nodes[i])return;this.tree=null,this.nodes.push(n),this.size+=1},XNodeSet.prototype.addArray=function(ns){var self=this;forEach((function(x){self.add(x)}),ns)},XNodeSet.prototype.toArray=function(){var a=[];return this.toArrayRec(this.buildTree(),a),a},XNodeSet.prototype.toArrayRec=function(t,a){null!=t&&(this.toArrayRec(t.left,a),a.push(t.node),this.toArrayRec(t.right,a))},XNodeSet.prototype.toUnsortedArray=function(){return this.nodes.slice()},XNodeSet.prototype.compareWithString=function(r,o){for(var a=this.toUnsortedArray(),i=0;i<a.length;i++){var n=a[i],res=o(new XString(this.stringForNode(n)),r);if(res.booleanValue())return res}return new XBoolean(!1)},XNodeSet.prototype.compareWithNumber=function(r,o){for(var a=this.toUnsortedArray(),i=0;i<a.length;i++){var n=a[i],res=o(new XNumber(this.stringForNode(n)),r);if(res.booleanValue())return res}return new XBoolean(!1)},XNodeSet.prototype.compareWithBoolean=function(r,o){return o(this.bool(),r)},XNodeSet.prototype.compareWithNodeSet=function(r,o){for(var arr=this.toUnsortedArray(),oInvert=function(lop,rop){return o(rop,lop)},i=0;i<arr.length;i++){var l=new XString(this.stringForNode(arr[i])),res=r.compareWithString(l,oInvert);if(res.booleanValue())return res}return new XBoolean(!1)},XNodeSet.compareWith=function curry(func){var slice=Array.prototype.slice,totalargs=func.length,fn=function(){var args=slice.call(arguments);return args.length<totalargs?function(args,fn){return function(){return fn.apply(this,args.concat(slice.call(arguments)))}}(args,fn):func.apply(this,slice.apply(arguments,[0,totalargs]))};return fn}((function(o,r){return Utilities.instance_of(r,XString)?this.compareWithString(r,o):Utilities.instance_of(r,XNumber)?this.compareWithNumber(r,o):Utilities.instance_of(r,XBoolean)?this.compareWithBoolean(r,o):this.compareWithNodeSet(r,o)})),XNodeSet.prototype.equals=XNodeSet.compareWith(Operators.equals),XNodeSet.prototype.notequal=XNodeSet.compareWith(Operators.notequal),XNodeSet.prototype.lessthan=XNodeSet.compareWith(Operators.lessthan),XNodeSet.prototype.greaterthan=XNodeSet.compareWith(Operators.greaterthan),XNodeSet.prototype.lessthanorequal=XNodeSet.compareWith(Operators.lessthanorequal),XNodeSet.prototype.greaterthanorequal=XNodeSet.compareWith(Operators.greaterthanorequal),XNodeSet.prototype.union=function(r){var ns=new XNodeSet;return ns.addArray(this.toUnsortedArray()),ns.addArray(r.toUnsortedArray()),ns},XPathNamespace.prototype=new Object,XPathNamespace.prototype.constructor=XPathNamespace,XPathNamespace.superclass=Object.prototype,XPathNamespace.prototype.toString=function(){return'{ "'+this.prefix+'", "'+this.namespaceURI+'" }'},XPathContext.prototype=new Object,XPathContext.prototype.constructor=XPathContext,XPathContext.superclass=Object.prototype,XPathContext.prototype.extend=function(newProps){return assign(new XPathContext,this,newProps)},VariableResolver.prototype=new Object,VariableResolver.prototype.constructor=VariableResolver,VariableResolver.superclass=Object.prototype,VariableResolver.prototype.getVariable=function(ln,ns){return null},FunctionResolver.prototype=new Object,FunctionResolver.prototype.constructor=FunctionResolver,FunctionResolver.superclass=Object.prototype,FunctionResolver.prototype.addStandardFunctions=function(){this.functions["{}last"]=Functions.last,this.functions["{}position"]=Functions.position,this.functions["{}count"]=Functions.count,this.functions["{}id"]=Functions.id,this.functions["{}local-name"]=Functions.localName,this.functions["{}namespace-uri"]=Functions.namespaceURI,this.functions["{}name"]=Functions.name,this.functions["{}string"]=Functions.string,this.functions["{}concat"]=Functions.concat,this.functions["{}starts-with"]=Functions.startsWith,this.functions["{}contains"]=Functions.contains,this.functions["{}substring-before"]=Functions.substringBefore,this.functions["{}substring-after"]=Functions.substringAfter,this.functions["{}substring"]=Functions.substring,this.functions["{}string-length"]=Functions.stringLength,this.functions["{}normalize-space"]=Functions.normalizeSpace,this.functions["{}translate"]=Functions.translate,this.functions["{}boolean"]=Functions.boolean_,this.functions["{}not"]=Functions.not,this.functions["{}true"]=Functions.true_,this.functions["{}false"]=Functions.false_,this.functions["{}lang"]=Functions.lang,this.functions["{}number"]=Functions.number,this.functions["{}sum"]=Functions.sum,this.functions["{}floor"]=Functions.floor,this.functions["{}ceiling"]=Functions.ceiling,this.functions["{}round"]=Functions.round},FunctionResolver.prototype.addFunction=function(ns,ln,f){this.functions["{"+ns+"}"+ln]=f},FunctionResolver.getFunctionFromContext=function(qName,context){var parts=Utilities.resolveQName(qName,context.namespaceResolver,context.contextNode,!1);if(null===parts[0])throw new Error("Cannot resolve QName "+name);return context.functionResolver.getFunction(parts[1],parts[0])},FunctionResolver.prototype.getFunction=function(localName,namespace){return this.functions["{"+namespace+"}"+localName]},NamespaceResolver.prototype=new Object,NamespaceResolver.prototype.constructor=NamespaceResolver,NamespaceResolver.superclass=Object.prototype,NamespaceResolver.prototype.getNamespace=function(prefix,n){if("xml"==prefix)return XPath.XML_NAMESPACE_URI;if("xmlns"==prefix)return XPath.XMLNS_NAMESPACE_URI;for(n.nodeType==NodeTypes_DOCUMENT_NODE?n=n.documentElement:n.nodeType==NodeTypes_ATTRIBUTE_NODE?n=PathExpr.getOwnerElement(n):n.nodeType!=NodeTypes_ELEMENT_NODE&&(n=n.parentNode);null!=n&&n.nodeType==NodeTypes_ELEMENT_NODE;){for(var nnm=n.attributes,i=0;i<nnm.length;i++){var a=nnm.item(i),aname=a.name||a.nodeName;if("xmlns"===aname&&""===prefix||aname==="xmlns:"+prefix)return String(a.value||a.nodeValue)}n=n.parentNode}return null};var Functions=new Object;Functions.last=function(c){if(1!=arguments.length)throw new Error("Function last expects ()");return new XNumber(c.contextSize)},Functions.position=function(c){if(1!=arguments.length)throw new Error("Function position expects ()");return new XNumber(c.contextPosition)},Functions.count=function(){var ns,c=arguments[0];if(2!=arguments.length||!Utilities.instance_of(ns=arguments[1].evaluate(c),XNodeSet))throw new Error("Function count expects (node-set)");return new XNumber(ns.size)},Functions.id=function(){var id,c=arguments[0];if(2!=arguments.length)throw new Error("Function id expects (object)");id=arguments[1].evaluate(c);for(var ids=(id=Utilities.instance_of(id,XNodeSet)?id.toArray().join(" "):id.stringValue()).split(/[\x0d\x0a\x09\x20]+/),ns=new XNodeSet,doc=c.contextNode.nodeType==NodeTypes_DOCUMENT_NODE?c.contextNode:c.contextNode.ownerDocument,i=0;i<ids.length;i++){var n;null!=(n=doc.getElementById?doc.getElementById(ids[i]):Utilities.getElementById(doc,ids[i]))&&ns.add(n)}return ns},Functions.localName=function(c,eNode){var n;if(1==arguments.length)n=c.contextNode;else{if(2!=arguments.length)throw new Error("Function local-name expects (node-set?)");n=eNode.evaluate(c).first()}return new XString(null==n?"":n.localName||n.baseName||n.target||n.nodeName||"")},Functions.namespaceURI=function(){var n,c=arguments[0];if(1==arguments.length)n=c.contextNode;else{if(2!=arguments.length)throw new Error("Function namespace-uri expects (node-set?)");n=arguments[1].evaluate(c).first()}return new XString(null==n?"":n.namespaceURI)},Functions.name=function(){var n,c=arguments[0];if(1==arguments.length)n=c.contextNode;else{if(2!=arguments.length)throw new Error("Function name expects (node-set?)");n=arguments[1].evaluate(c).first()}return null==n?new XString(""):n.nodeType==NodeTypes_ELEMENT_NODE?new XString(n.nodeName):n.nodeType==NodeTypes_ATTRIBUTE_NODE?new XString(n.name||n.nodeName):n.nodeType===NodeTypes_PROCESSING_INSTRUCTION_NODE?new XString(n.target||n.nodeName):null==n.localName?new XString(""):new XString(n.localName)},Functions.string=function(){var c=arguments[0];if(1==arguments.length)return new XString(XNodeSet.prototype.stringForNode(c.contextNode));if(2==arguments.length)return arguments[1].evaluate(c).string();throw new Error("Function string expects (object?)")},Functions.concat=function(c){if(arguments.length<3)throw new Error("Function concat expects (string, string[, string]*)");for(var s="",i=1;i<arguments.length;i++)s+=arguments[i].evaluate(c).stringValue();return new XString(s)},Functions.startsWith=function(){var c=arguments[0];if(3!=arguments.length)throw new Error("Function startsWith expects (string, string)");var s1=arguments[1].evaluate(c).stringValue(),s2=arguments[2].evaluate(c).stringValue();return new XBoolean(s1.substring(0,s2.length)==s2)},Functions.contains=function(){var c=arguments[0];if(3!=arguments.length)throw new Error("Function contains expects (string, string)");var s1=arguments[1].evaluate(c).stringValue(),s2=arguments[2].evaluate(c).stringValue();return new XBoolean(-1!==s1.indexOf(s2))},Functions.substringBefore=function(){var c=arguments[0];if(3!=arguments.length)throw new Error("Function substring-before expects (string, string)");var s1=arguments[1].evaluate(c).stringValue(),s2=arguments[2].evaluate(c).stringValue();return new XString(s1.substring(0,s1.indexOf(s2)))},Functions.substringAfter=function(){var c=arguments[0];if(3!=arguments.length)throw new Error("Function substring-after expects (string, string)");var s1=arguments[1].evaluate(c).stringValue(),s2=arguments[2].evaluate(c).stringValue();if(0==s2.length)return new XString(s1);var i=s1.indexOf(s2);return new XString(-1==i?"":s1.substring(i+s2.length))},Functions.substring=function(){var c=arguments[0];if(3!=arguments.length&&4!=arguments.length)throw new Error("Function substring expects (string, number, number?)");var s=arguments[1].evaluate(c).stringValue(),n1=Math.round(arguments[2].evaluate(c).numberValue())-1,n2=4==arguments.length?n1+Math.round(arguments[3].evaluate(c).numberValue()):void 0;return new XString(s.substring(n1,n2))},Functions.stringLength=function(){var s,c=arguments[0];if(1==arguments.length)s=XNodeSet.prototype.stringForNode(c.contextNode);else{if(2!=arguments.length)throw new Error("Function string-length expects (string?)");s=arguments[1].evaluate(c).stringValue()}return new XNumber(s.length)},Functions.normalizeSpace=function(){var s,c=arguments[0];if(1==arguments.length)s=XNodeSet.prototype.stringForNode(c.contextNode);else{if(2!=arguments.length)throw new Error("Function normalize-space expects (string?)");s=arguments[1].evaluate(c).stringValue()}for(var i=0,j=s.length-1;Utilities.isSpace(s.charCodeAt(j));)j--;for(var t="";i<=j&&Utilities.isSpace(s.charCodeAt(i));)i++;for(;i<=j;)if(Utilities.isSpace(s.charCodeAt(i)))for(t+=" ";i<=j&&Utilities.isSpace(s.charCodeAt(i));)i++;else t+=s.charAt(i),i++;return new XString(t)},Functions.translate=function(c,eValue,eFrom,eTo){if(4!=arguments.length)throw new Error("Function translate expects (string, string, string)");var value=eValue.evaluate(c).stringValue(),from=eFrom.evaluate(c).stringValue(),to=eTo.evaluate(c).stringValue(),cMap=reduce((function(acc,ch,i){return ch in acc||(acc[ch]=i>to.length?"":to[i]),acc}),{},from);return new XString(join("",map((function(ch){return ch in cMap?cMap[ch]:ch}),value)))},Functions.boolean_=function(){var c=arguments[0];if(2!=arguments.length)throw new Error("Function boolean expects (object)");return arguments[1].evaluate(c).bool()},Functions.not=function(c,eValue){if(2!=arguments.length)throw new Error("Function not expects (object)");return eValue.evaluate(c).bool().not()},Functions.true_=function(){if(1!=arguments.length)throw new Error("Function true expects ()");return XBoolean.true_},Functions.false_=function(){if(1!=arguments.length)throw new Error("Function false expects ()");return XBoolean.false_},Functions.lang=function(){var lang,c=arguments[0];if(2!=arguments.length)throw new Error("Function lang expects (string)");for(var n=c.contextNode;null!=n&&n.nodeType!=NodeTypes_DOCUMENT_NODE;n=n.parentNode){var a=n.getAttributeNS(XPath.XML_NAMESPACE_URI,"lang");if(null!=a){lang=String(a);break}}if(null==lang)return XBoolean.false_;var s=arguments[1].evaluate(c).stringValue();return new XBoolean(lang.substring(0,s.length)==s&&(lang.length==s.length||"-"==lang.charAt(s.length)))},Functions.number=function(){var c=arguments[0];if(1!=arguments.length&&2!=arguments.length)throw new Error("Function number expects (object?)");return 1==arguments.length?new XNumber(XNodeSet.prototype.stringForNode(c.contextNode)):arguments[1].evaluate(c).number()},Functions.sum=function(){var ns,c=arguments[0];if(2!=arguments.length||!Utilities.instance_of(ns=arguments[1].evaluate(c),XNodeSet))throw new Error("Function sum expects (node-set)");ns=ns.toUnsortedArray();for(var n=0,i=0;i<ns.length;i++)n+=new XNumber(XNodeSet.prototype.stringForNode(ns[i])).numberValue();return new XNumber(n)},Functions.floor=function(){var c=arguments[0];if(2!=arguments.length)throw new Error("Function floor expects (number)");return new XNumber(Math.floor(arguments[1].evaluate(c).numberValue()))},Functions.ceiling=function(){var c=arguments[0];if(2!=arguments.length)throw new Error("Function ceiling expects (number)");return new XNumber(Math.ceil(arguments[1].evaluate(c).numberValue()))},Functions.round=function(){var c=arguments[0];if(2!=arguments.length)throw new Error("Function round expects (number)");return new XNumber(Math.round(arguments[1].evaluate(c).numberValue()))};var Utilities=new Object;Utilities.isAttribute=function(val){return val&&(val.nodeType===NodeTypes_ATTRIBUTE_NODE||val.ownerElement)},Utilities.splitQName=function(qn){var i=qn.indexOf(":");return-1==i?[null,qn]:[qn.substring(0,i),qn.substring(i+1)]},Utilities.resolveQName=function(qn,nr,n,useDefault){var parts=Utilities.splitQName(qn);return null!=parts[0]?parts[0]=nr.getNamespace(parts[0],n):useDefault?(parts[0]=nr.getNamespace("",n),null==parts[0]&&(parts[0]="")):parts[0]="",parts},Utilities.isSpace=function(c){return 9==c||13==c||10==c||32==c},Utilities.isLetter=function(c){return c>=65&&c<=90||c>=97&&c<=122||c>=192&&c<=214||c>=216&&c<=246||c>=248&&c<=255||c>=256&&c<=305||c>=308&&c<=318||c>=321&&c<=328||c>=330&&c<=382||c>=384&&c<=451||c>=461&&c<=496||c>=500&&c<=501||c>=506&&c<=535||c>=592&&c<=680||c>=699&&c<=705||902==c||c>=904&&c<=906||908==c||c>=910&&c<=929||c>=931&&c<=974||c>=976&&c<=982||986==c||988==c||990==c||992==c||c>=994&&c<=1011||c>=1025&&c<=1036||c>=1038&&c<=1103||c>=1105&&c<=1116||c>=1118&&c<=1153||c>=1168&&c<=1220||c>=1223&&c<=1224||c>=1227&&c<=1228||c>=1232&&c<=1259||c>=1262&&c<=1269||c>=1272&&c<=1273||c>=1329&&c<=1366||1369==c||c>=1377&&c<=1414||c>=1488&&c<=1514||c>=1520&&c<=1522||c>=1569&&c<=1594||c>=1601&&c<=1610||c>=1649&&c<=1719||c>=1722&&c<=1726||c>=1728&&c<=1742||c>=1744&&c<=1747||1749==c||c>=1765&&c<=1766||c>=2309&&c<=2361||2365==c||c>=2392&&c<=2401||c>=2437&&c<=2444||c>=2447&&c<=2448||c>=2451&&c<=2472||c>=2474&&c<=2480||2482==c||c>=2486&&c<=2489||c>=2524&&c<=2525||c>=2527&&c<=2529||c>=2544&&c<=2545||c>=2565&&c<=2570||c>=2575&&c<=2576||c>=2579&&c<=2600||c>=2602&&c<=2608||c>=2610&&c<=2611||c>=2613&&c<=2614||c>=2616&&c<=2617||c>=2649&&c<=2652||2654==c||c>=2674&&c<=2676||c>=2693&&c<=2699||2701==c||c>=2703&&c<=2705||c>=2707&&c<=2728||c>=2730&&c<=2736||c>=2738&&c<=2739||c>=2741&&c<=2745||2749==c||2784==c||c>=2821&&c<=2828||c>=2831&&c<=2832||c>=2835&&c<=2856||c>=2858&&c<=2864||c>=2866&&c<=2867||c>=2870&&c<=2873||2877==c||c>=2908&&c<=2909||c>=2911&&c<=2913||c>=2949&&c<=2954||c>=2958&&c<=2960||c>=2962&&c<=2965||c>=2969&&c<=2970||2972==c||c>=2974&&c<=2975||c>=2979&&c<=2980||c>=2984&&c<=2986||c>=2990&&c<=2997||c>=2999&&c<=3001||c>=3077&&c<=3084||c>=3086&&c<=3088||c>=3090&&c<=3112||c>=3114&&c<=3123||c>=3125&&c<=3129||c>=3168&&c<=3169||c>=3205&&c<=3212||c>=3214&&c<=3216||c>=3218&&c<=3240||c>=3242&&c<=3251||c>=3253&&c<=3257||3294==c||c>=3296&&c<=3297||c>=3333&&c<=3340||c>=3342&&c<=3344||c>=3346&&c<=3368||c>=3370&&c<=3385||c>=3424&&c<=3425||c>=3585&&c<=3630||3632==c||c>=3634&&c<=3635||c>=3648&&c<=3653||c>=3713&&c<=3714||3716==c||c>=3719&&c<=3720||3722==c||3725==c||c>=3732&&c<=3735||c>=3737&&c<=3743||c>=3745&&c<=3747||3749==c||3751==c||c>=3754&&c<=3755||c>=3757&&c<=3758||3760==c||c>=3762&&c<=3763||3773==c||c>=3776&&c<=3780||c>=3904&&c<=3911||c>=3913&&c<=3945||c>=4256&&c<=4293||c>=4304&&c<=4342||4352==c||c>=4354&&c<=4355||c>=4357&&c<=4359||4361==c||c>=4363&&c<=4364||c>=4366&&c<=4370||4412==c||4414==c||4416==c||4428==c||4430==c||4432==c||c>=4436&&c<=4437||4441==c||c>=4447&&c<=4449||4451==c||4453==c||4455==c||4457==c||c>=4461&&c<=4462||c>=4466&&c<=4467||4469==c||4510==c||4520==c||4523==c||c>=4526&&c<=4527||c>=4535&&c<=4536||4538==c||c>=4540&&c<=4546||4587==c||4592==c||4601==c||c>=7680&&c<=7835||c>=7840&&c<=7929||c>=7936&&c<=7957||c>=7960&&c<=7965||c>=7968&&c<=8005||c>=8008&&c<=8013||c>=8016&&c<=8023||8025==c||8027==c||8029==c||c>=8031&&c<=8061||c>=8064&&c<=8116||c>=8118&&c<=8124||8126==c||c>=8130&&c<=8132||c>=8134&&c<=8140||c>=8144&&c<=8147||c>=8150&&c<=8155||c>=8160&&c<=8172||c>=8178&&c<=8180||c>=8182&&c<=8188||8486==c||c>=8490&&c<=8491||8494==c||c>=8576&&c<=8578||c>=12353&&c<=12436||c>=12449&&c<=12538||c>=12549&&c<=12588||c>=44032&&c<=55203||c>=19968&&c<=40869||12295==c||c>=12321&&c<=12329},Utilities.isNCNameChar=function(c){return c>=48&&c<=57||c>=1632&&c<=1641||c>=1776&&c<=1785||c>=2406&&c<=2415||c>=2534&&c<=2543||c>=2662&&c<=2671||c>=2790&&c<=2799||c>=2918&&c<=2927||c>=3047&&c<=3055||c>=3174&&c<=3183||c>=3302&&c<=3311||c>=3430&&c<=3439||c>=3664&&c<=3673||c>=3792&&c<=3801||c>=3872&&c<=3881||46==c||45==c||95==c||Utilities.isLetter(c)||c>=768&&c<=837||c>=864&&c<=865||c>=1155&&c<=1158||c>=1425&&c<=1441||c>=1443&&c<=1465||c>=1467&&c<=1469||1471==c||c>=1473&&c<=1474||1476==c||c>=1611&&c<=1618||1648==c||c>=1750&&c<=1756||c>=1757&&c<=1759||c>=1760&&c<=1764||c>=1767&&c<=1768||c>=1770&&c<=1773||c>=2305&&c<=2307||2364==c||c>=2366&&c<=2380||2381==c||c>=2385&&c<=2388||c>=2402&&c<=2403||c>=2433&&c<=2435||2492==c||2494==c||2495==c||c>=2496&&c<=2500||c>=2503&&c<=2504||c>=2507&&c<=2509||2519==c||c>=2530&&c<=2531||2562==c||2620==c||2622==c||2623==c||c>=2624&&c<=2626||c>=2631&&c<=2632||c>=2635&&c<=2637||c>=2672&&c<=2673||c>=2689&&c<=2691||2748==c||c>=2750&&c<=2757||c>=2759&&c<=2761||c>=2763&&c<=2765||c>=2817&&c<=2819||2876==c||c>=2878&&c<=2883||c>=2887&&c<=2888||c>=2891&&c<=2893||c>=2902&&c<=2903||c>=2946&&c<=2947||c>=3006&&c<=3010||c>=3014&&c<=3016||c>=3018&&c<=3021||3031==c||c>=3073&&c<=3075||c>=3134&&c<=3140||c>=3142&&c<=3144||c>=3146&&c<=3149||c>=3157&&c<=3158||c>=3202&&c<=3203||c>=3262&&c<=3268||c>=3270&&c<=3272||c>=3274&&c<=3277||c>=3285&&c<=3286||c>=3330&&c<=3331||c>=3390&&c<=3395||c>=3398&&c<=3400||c>=3402&&c<=3405||3415==c||3633==c||c>=3636&&c<=3642||c>=3655&&c<=3662||3761==c||c>=3764&&c<=3769||c>=3771&&c<=3772||c>=3784&&c<=3789||c>=3864&&c<=3865||3893==c||3895==c||3897==c||3902==c||3903==c||c>=3953&&c<=3972||c>=3974&&c<=3979||c>=3984&&c<=3989||3991==c||c>=3993&&c<=4013||c>=4017&&c<=4023||4025==c||c>=8400&&c<=8412||8417==c||c>=12330&&c<=12335||12441==c||12442==c||183==c||720==c||721==c||903==c||1600==c||3654==c||3782==c||12293==c||c>=12337&&c<=12341||c>=12445&&c<=12446||c>=12540&&c<=12542},Utilities.coalesceText=function(n){for(var m=n.firstChild;null!=m;m=m.nextSibling)if(m.nodeType==NodeTypes_TEXT_NODE||m.nodeType==NodeTypes_CDATA_SECTION_NODE){var s=m.nodeValue,first=m;for(m=m.nextSibling;null!=m&&(m.nodeType==NodeTypes_TEXT_NODE||m.nodeType==NodeTypes_CDATA_SECTION_NODE);){s+=m.nodeValue;var del=m;m=m.nextSibling,del.parentNode.removeChild(del)}if(first.nodeType==NodeTypes_CDATA_SECTION_NODE){var p=first.parentNode;if(null==first.nextSibling)p.removeChild(first),p.appendChild(p.ownerDocument.createTextNode(s));else{var next=first.nextSibling;p.removeChild(first),p.insertBefore(p.ownerDocument.createTextNode(s),next)}}else first.nodeValue=s;if(null==m)break}else m.nodeType==NodeTypes_ELEMENT_NODE&&Utilities.coalesceText(m)},Utilities.instance_of=function(o,c){for(;null!=o;){if(o.constructor===c)return!0;if(o===Object)return!1;o=o.constructor.superclass}return!1},Utilities.getElementById=function(n,id){if(n.nodeType==NodeTypes_ELEMENT_NODE&&(n.getAttribute("id")==id||n.getAttributeNS(null,"id")==id))return n;for(var m=n.firstChild;null!=m;m=m.nextSibling){var res=Utilities.getElementById(m,id);if(null!=res)return res}return null};var XPathException=function(){function XPathException(code,error,message){var err=Error.call(this,function getMessage(code,exception){var msg=exception?": "+exception.toString():"";switch(code){case XPathException.INVALID_EXPRESSION_ERR:return"Invalid expression"+msg;case XPathException.TYPE_ERR:return"Type error"+msg}return null}(code,error)||message);return err.code=code,err.exception=error,err}return XPathException.prototype=Object.create(Error.prototype),XPathException.prototype.constructor=XPathException,XPathException.superclass=Error,XPathException.prototype.toString=function(){return this.message},XPathException.fromMessage=function(message,error){return new XPathException(null,error,message)},XPathException.INVALID_EXPRESSION_ERR=51,XPathException.TYPE_ERR=52,XPathException}();function XPathExpression(e,r,p){this.xpath=p.parse(e),this.context=new XPathContext,this.context.namespaceResolver=new XPathNSResolverWrapper(r)}function XPathNSResolverWrapper(r){this.xpathNSResolver=r}function NodeXPathNSResolver(n){this.node=n,this.namespaceResolver=new NamespaceResolver}function XPathResult(v,t){switch(t==XPathResult.ANY_TYPE&&(v.constructor===XString?t=XPathResult.STRING_TYPE:v.constructor===XNumber?t=XPathResult.NUMBER_TYPE:v.constructor===XBoolean?t=XPathResult.BOOLEAN_TYPE:v.constructor===XNodeSet&&(t=XPathResult.UNORDERED_NODE_ITERATOR_TYPE)),this.resultType=t,t){case XPathResult.NUMBER_TYPE:return void(this.numberValue=v.numberValue());case XPathResult.STRING_TYPE:return void(this.stringValue=v.stringValue());case XPathResult.BOOLEAN_TYPE:return void(this.booleanValue=v.booleanValue());case XPathResult.ANY_UNORDERED_NODE_TYPE:case XPathResult.FIRST_ORDERED_NODE_TYPE:if(v.constructor===XNodeSet)return void(this.singleNodeValue=v.first());break;case XPathResult.UNORDERED_NODE_ITERATOR_TYPE:case XPathResult.ORDERED_NODE_ITERATOR_TYPE:if(v.constructor===XNodeSet)return this.invalidIteratorState=!1,this.nodes=v.toArray(),void(this.iteratorIndex=0);break;case XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE:case XPathResult.ORDERED_NODE_SNAPSHOT_TYPE:if(v.constructor===XNodeSet)return this.nodes=v.toArray(),void(this.snapshotLength=this.nodes.length)}throw new XPathException(XPathException.TYPE_ERR)}function installDOM3XPathSupport(doc,p){doc.createExpression=function(e,r){try{return new XPathExpression(e,r,p)}catch(e){throw new XPathException(XPathException.INVALID_EXPRESSION_ERR,e)}},doc.createNSResolver=function(n){return new NodeXPathNSResolver(n)},doc.evaluate=function(e,cn,r,t,res){if(t<0||t>9)throw{code:0,toString:function(){return"Request type not supported"}};return doc.createExpression(e,r,p).evaluate(cn,t,res)}}XPathExpression.prototype={},XPathExpression.prototype.constructor=XPathExpression,XPathExpression.superclass=Object.prototype,XPathExpression.getOwnerDocument=function(n){return n.nodeType===NodeTypes_DOCUMENT_NODE?n:n.ownerDocument},XPathExpression.detectHtmlDom=function(n){if(!n)return!1;var doc=XPathExpression.getOwnerDocument(n);try{return doc.implementation.hasFeature("HTML","2.0")}catch(e){return!0}},XPathExpression.prototype.evaluate=function(n,t,res){return this.context.expressionContextNode=n,this.context.caseInsensitive=XPathExpression.detectHtmlDom(n),new XPathResult(this.xpath.evaluate(this.context),t)},XPathNSResolverWrapper.prototype={},XPathNSResolverWrapper.prototype.constructor=XPathNSResolverWrapper,XPathNSResolverWrapper.superclass=Object.prototype,XPathNSResolverWrapper.prototype.getNamespace=function(prefix,n){return null==this.xpathNSResolver?null:this.xpathNSResolver.lookupNamespaceURI(prefix)},NodeXPathNSResolver.prototype={},NodeXPathNSResolver.prototype.constructor=NodeXPathNSResolver,NodeXPathNSResolver.superclass=Object.prototype,NodeXPathNSResolver.prototype.lookupNamespaceURI=function(prefix){return this.namespaceResolver.getNamespace(prefix,this.node)},XPathResult.prototype={},XPathResult.prototype.constructor=XPathResult,XPathResult.superclass=Object.prototype,XPathResult.prototype.iterateNext=function(){if(this.resultType!=XPathResult.UNORDERED_NODE_ITERATOR_TYPE&&this.resultType!=XPathResult.ORDERED_NODE_ITERATOR_TYPE)throw new XPathException(XPathException.TYPE_ERR);return this.nodes[this.iteratorIndex++]},XPathResult.prototype.snapshotItem=function(i){if(this.resultType!=XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE&&this.resultType!=XPathResult.ORDERED_NODE_SNAPSHOT_TYPE)throw new XPathException(XPathException.TYPE_ERR);return this.nodes[i]},XPathResult.ANY_TYPE=0,XPathResult.NUMBER_TYPE=1,XPathResult.STRING_TYPE=2,XPathResult.BOOLEAN_TYPE=3,XPathResult.UNORDERED_NODE_ITERATOR_TYPE=4,XPathResult.ORDERED_NODE_ITERATOR_TYPE=5,XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE=6,XPathResult.ORDERED_NODE_SNAPSHOT_TYPE=7,XPathResult.ANY_UNORDERED_NODE_TYPE=8,XPathResult.FIRST_ORDERED_NODE_TYPE=9;try{var shouldInstall=!0;try{document.implementation&&document.implementation.hasFeature&&document.implementation.hasFeature("XPath",null)&&(shouldInstall=!1)}catch(e){}shouldInstall&&installDOM3XPathSupport(document,new XPathParser)}catch(e){}installDOM3XPathSupport(exports,new XPathParser),function(){var parser=new XPathParser,defaultNSResolver=new NamespaceResolver,defaultFunctionResolver=new FunctionResolver,defaultVariableResolver=new VariableResolver;function makeNSResolverFromFunction(func){return{getNamespace:function(prefix,node){return func(prefix,node)||defaultNSResolver.getNamespace(prefix,node)}}}function makeNSResolver(resolver){return resolver&&"function"==typeof resolver.getNamespace?function makeNSResolverFromObject(obj){return makeNSResolverFromFunction(obj.getNamespace.bind(obj))}(resolver):"function"==typeof resolver?makeNSResolverFromFunction(resolver):"object"==typeof resolver?function makeNSResolverFromMap(map){return makeNSResolverFromFunction((function(prefix){return map[prefix]}))}(resolver):defaultNSResolver}function convertValue(value){if(null==value||value instanceof XString||value instanceof XBoolean||value instanceof XNumber||value instanceof XNodeSet)return value;switch(typeof value){case"string":return new XString(value);case"boolean":return new XBoolean(value);case"number":return new XNumber(value)}var ns=new XNodeSet;return ns.addArray([].concat(value)),ns}function makeFunctionResolverFromFunction(func){return{getFunction:function(name,namespace){var found=func(name,namespace);return found?function makeEvaluator(func){return function(context){var args=Array.prototype.slice.call(arguments,1).map((function(arg){return arg.evaluate(context)}));return convertValue(func.apply(this,[].concat(context,args)))}}(found):defaultFunctionResolver.getFunction(name,namespace)}}}function makeFunctionResolver(resolver){return resolver&&"function"==typeof resolver.getFunction?function makeFunctionResolverFromObject(obj){return makeFunctionResolverFromFunction(obj.getFunction.bind(obj))}(resolver):"function"==typeof resolver?makeFunctionResolverFromFunction(resolver):"object"==typeof resolver?function makeFunctionResolverFromMap(map){return makeFunctionResolverFromFunction((function(name){return map[name]}))}(resolver):defaultFunctionResolver}function makeVariableResolverFromFunction(func){return{getVariable:function(name,namespace){return convertValue(func(name,namespace))}}}function copyIfPresent(prop,dest,source){prop in source&&(dest[prop]=source[prop])}function makeContext(options){var context=new XPathContext;return options?(context.namespaceResolver=makeNSResolver(options.namespaces),context.functionResolver=makeFunctionResolver(options.functions),context.variableResolver=function makeVariableResolver(resolver){if(resolver){if("function"==typeof resolver.getVariable)return makeVariableResolverFromFunction(resolver.getVariable.bind(resolver));if("function"==typeof resolver)return makeVariableResolverFromFunction(resolver);if("object"==typeof resolver)return makeVariableResolverFromFunction((function(name){return resolver[name]}))}return defaultVariableResolver}(options.variables),context.expressionContextNode=options.node,copyIfPresent("allowAnyNamespaceForNoPrefix",context,options),copyIfPresent("isHtml",context,options)):context.namespaceResolver=defaultNSResolver,context}var evaluatorPrototype={evaluate:function(options){return function evaluate(parsedExpression,options){var context=makeContext(options);return parsedExpression.evaluate(context)}(this.expression,options)},evaluateNumber:function(options){return this.evaluate(options).numberValue()},evaluateString:function(options){return this.evaluate(options).stringValue()},evaluateBoolean:function(options){return this.evaluate(options).booleanValue()},evaluateNodeSet:function(options){return this.evaluate(options).nodeset()},select:function(options){return this.evaluateNodeSet(options).toArray()},select1:function(options){return this.select(options)[0]}};exports.parse=function parse(xpath){var parsed=parser.parse(xpath);return Object.create(evaluatorPrototype,{expression:{value:parsed}})}}(),assign(exports,{XPath:XPath,XPathParser:XPathParser,XPathResult:XPathResult,Step:Step,PathExpr:PathExpr,NodeTest:NodeTest,LocationPath:LocationPath,OrOperation:OrOperation,AndOperation:AndOperation,BarOperation:BarOperation,EqualsOperation:EqualsOperation,NotEqualOperation:NotEqualOperation,LessThanOperation:LessThanOperation,GreaterThanOperation:GreaterThanOperation,LessThanOrEqualOperation:LessThanOrEqualOperation,GreaterThanOrEqualOperation:GreaterThanOrEqualOperation,PlusOperation:PlusOperation,MinusOperation:MinusOperation,MultiplyOperation:MultiplyOperation,DivOperation:DivOperation,ModOperation:ModOperation,UnaryMinusOperation:UnaryMinusOperation,FunctionCall:FunctionCall,VariableReference:VariableReference,XPathContext:XPathContext,XNodeSet:XNodeSet,XBoolean:XBoolean,XString:XString,XNumber:XNumber,NamespaceResolver:NamespaceResolver,FunctionResolver:FunctionResolver,VariableResolver:VariableResolver,Utilities:Utilities}),exports.select=function(e,doc,single){return exports.selectWithResolver(e,doc,null,single)},exports.useNamespaces=function(mappings){var resolver={mappings:mappings||{},lookupNamespaceURI:function(prefix){return this.mappings[prefix]}};return function(e,doc,single){return exports.selectWithResolver(e,doc,resolver,single)}},exports.selectWithResolver=function(e,doc,resolver,single){var expression=new XPathExpression(e,resolver,new XPathParser),type=XPathResult.ANY_TYPE,result=expression.evaluate(doc,type,null);return result.resultType==XPathResult.STRING_TYPE?result=result.stringValue:result.resultType==XPathResult.NUMBER_TYPE?result=result.numberValue:result.resultType==XPathResult.BOOLEAN_TYPE?result=result.booleanValue:(result=result.nodes,single&&(result=result[0])),result},exports.select1=function(e,doc){return exports.select(e,doc,!0)};var isNodeLike=function(value){return value&&"number"==typeof value.nodeType&&Number.isInteger(value.nodeType)&&value.nodeType>=1&&value.nodeType<=11&&"string"==typeof value.nodeName},isNodeOfType=function(type){return function(value){return isNodeLike(value)&&value.nodeType===type}};assign(exports,{isNodeLike:isNodeLike,isArrayOfNodes:function(value){return Array.isArray(value)&&value.every(isNodeLike)},isElement:isNodeOfType(NodeTypes_ELEMENT_NODE),isAttribute:isNodeOfType(NodeTypes_ATTRIBUTE_NODE),isTextNode:isNodeOfType(NodeTypes_TEXT_NODE),isCDATASection:isNodeOfType(NodeTypes_CDATA_SECTION_NODE),isProcessingInstruction:isNodeOfType(NodeTypes_PROCESSING_INSTRUCTION_NODE),isComment:isNodeOfType(NodeTypes_COMMENT_NODE),isDocumentNode:isNodeOfType(NodeTypes_DOCUMENT_NODE),isDocumentTypeNode:isNodeOfType(NodeTypes_DOCUMENT_TYPE_NODE),isDocumentFragment:isNodeOfType(NodeTypes_DOCUMENT_FRAGMENT_NODE)})}(exports)}(xpath)),xpath}var hasRequiredConventions,hasRequiredDom,lib$1={},dom={},conventions={};function requireConventions(){if(hasRequiredConventions)return conventions;function freeze(object,oc){return void 0===oc&&(oc=Object),oc&&"function"==typeof oc.freeze?oc.freeze(object):object}hasRequiredConventions=1;var MIME_TYPE=freeze({HTML:"text/html",isHTML:function(value){return value===MIME_TYPE.HTML},XML_APPLICATION:"application/xml",XML_TEXT:"text/xml",XML_XHTML_APPLICATION:"application/xhtml+xml",XML_SVG_IMAGE:"image/svg+xml"}),NAMESPACE=freeze({HTML:"http://www.w3.org/1999/xhtml",isHTML:function(uri){return uri===NAMESPACE.HTML},SVG:"http://www.w3.org/2000/svg",XML:"http://www.w3.org/XML/1998/namespace",XMLNS:"http://www.w3.org/2000/xmlns/"});return conventions.assign=function assign(target,source){if(null===target||"object"!=typeof target)throw new TypeError("target is not an object");for(var key in source)Object.prototype.hasOwnProperty.call(source,key)&&(target[key]=source[key]);return target},conventions.find=function find(list,predicate,ac){if(void 0===ac&&(ac=Array.prototype),list&&"function"==typeof ac.find)return ac.find.call(list,predicate);for(var i=0;i<list.length;i++)if(Object.prototype.hasOwnProperty.call(list,i)){var item=list[i];if(predicate.call(void 0,item,i,list))return item}},conventions.freeze=freeze,conventions.MIME_TYPE=MIME_TYPE,conventions.NAMESPACE=NAMESPACE,conventions}function requireDom(){if(hasRequiredDom)return dom;hasRequiredDom=1;var conventions=requireConventions(),find=conventions.find,NAMESPACE=conventions.NAMESPACE;function notEmptyString(input){return""!==input}function orderedSetReducer(current,element){return current.hasOwnProperty(element)||(current[element]=!0),current}function toOrderedSet(input){if(!input)return[];var list=function splitOnASCIIWhitespace(input){return input?input.split(/[\t\n\f\r ]+/).filter(notEmptyString):[]}(input);return Object.keys(list.reduce(orderedSetReducer,{}))}function copy(src,dest){for(var p in src)Object.prototype.hasOwnProperty.call(src,p)&&(dest[p]=src[p])}function _extends(Class,Super){var pt=Class.prototype;if(!(pt instanceof Super)){function t(){}t.prototype=Super.prototype,copy(pt,t=new t),Class.prototype=pt=t}pt.constructor!=Class&&("function"!=typeof Class&&console.error("unknown Class:"+Class),pt.constructor=Class)}var NodeType={},ELEMENT_NODE=NodeType.ELEMENT_NODE=1,ATTRIBUTE_NODE=NodeType.ATTRIBUTE_NODE=2,TEXT_NODE=NodeType.TEXT_NODE=3,CDATA_SECTION_NODE=NodeType.CDATA_SECTION_NODE=4,ENTITY_REFERENCE_NODE=NodeType.ENTITY_REFERENCE_NODE=5,ENTITY_NODE=NodeType.ENTITY_NODE=6,PROCESSING_INSTRUCTION_NODE=NodeType.PROCESSING_INSTRUCTION_NODE=7,COMMENT_NODE=NodeType.COMMENT_NODE=8,DOCUMENT_NODE=NodeType.DOCUMENT_NODE=9,DOCUMENT_TYPE_NODE=NodeType.DOCUMENT_TYPE_NODE=10,DOCUMENT_FRAGMENT_NODE=NodeType.DOCUMENT_FRAGMENT_NODE=11,NOTATION_NODE=NodeType.NOTATION_NODE=12,ExceptionCode={},ExceptionMessage={};ExceptionCode.INDEX_SIZE_ERR=(ExceptionMessage[1]="Index size error",1),ExceptionCode.DOMSTRING_SIZE_ERR=(ExceptionMessage[2]="DOMString size error",2);var HIERARCHY_REQUEST_ERR=ExceptionCode.HIERARCHY_REQUEST_ERR=(ExceptionMessage[3]="Hierarchy request error",3);ExceptionCode.WRONG_DOCUMENT_ERR=(ExceptionMessage[4]="Wrong document",4),ExceptionCode.INVALID_CHARACTER_ERR=(ExceptionMessage[5]="Invalid character",5),ExceptionCode.NO_DATA_ALLOWED_ERR=(ExceptionMessage[6]="No data allowed",6),ExceptionCode.NO_MODIFICATION_ALLOWED_ERR=(ExceptionMessage[7]="No modification allowed",7);var NOT_FOUND_ERR=ExceptionCode.NOT_FOUND_ERR=(ExceptionMessage[8]="Not found",8);ExceptionCode.NOT_SUPPORTED_ERR=(ExceptionMessage[9]="Not supported",9);var INUSE_ATTRIBUTE_ERR=ExceptionCode.INUSE_ATTRIBUTE_ERR=(ExceptionMessage[10]="Attribute in use",10);function DOMException(code,message){if(message instanceof Error)var error=message;else error=this,Error.call(this,ExceptionMessage[code]),this.message=ExceptionMessage[code],Error.captureStackTrace&&Error.captureStackTrace(this,DOMException);return error.code=code,message&&(this.message=this.message+": "+message),error}function NodeList(){}function LiveNodeList(node,refresh){this._node=node,this._refresh=refresh,_updateLiveList(this)}function _updateLiveList(list){var inc=list._node._inc||list._node.ownerDocument._inc;if(list._inc!==inc){var ls=list._refresh(list._node);if(__set__(list,"length",ls.length),!list.$$length||ls.length<list.$$length)for(var i=ls.length;i in list;i++)Object.prototype.hasOwnProperty.call(list,i)&&delete list[i];copy(ls,list),list._inc=inc}}function NamedNodeMap(){}function _findNodeIndex(list,node){for(var i=list.length;i--;)if(list[i]===node)return i}function _addNamedNode(el,list,newAttr,oldAttr){if(oldAttr?list[_findNodeIndex(list,oldAttr)]=newAttr:list[list.length++]=newAttr,el){newAttr.ownerElement=el;var doc=el.ownerDocument;doc&&(oldAttr&&_onRemoveAttribute(doc,el,oldAttr),function _onAddAttribute(doc,el,newAttr){doc&&doc._inc++;var ns=newAttr.namespaceURI;ns===NAMESPACE.XMLNS&&(el._nsMap[newAttr.prefix?newAttr.localName:""]=newAttr.value)}(doc,el,newAttr))}}function _removeNamedNode(el,list,attr){var i=_findNodeIndex(list,attr);if(!(i>=0))throw new DOMException(NOT_FOUND_ERR,new Error(el.tagName+"@"+attr));for(var lastIndex=list.length-1;i<lastIndex;)list[i]=list[++i];if(list.length=lastIndex,el){var doc=el.ownerDocument;doc&&(_onRemoveAttribute(doc,el,attr),attr.ownerElement=null)}}function DOMImplementation(){}function Node(){}function _xmlEncoder(c){return("<"==c?"<":">"==c&&">")||"&"==c&&"&"||'"'==c&&"""||"&#"+c.charCodeAt()+";"}function _visitNode(node,callback){if(callback(node))return!0;if(node=node.firstChild)do{if(_visitNode(node,callback))return!0}while(node=node.nextSibling)}function Document(){this.ownerDocument=this}function _onRemoveAttribute(doc,el,newAttr,remove){doc&&doc._inc++,newAttr.namespaceURI===NAMESPACE.XMLNS&&delete el._nsMap[newAttr.prefix?newAttr.localName:""]}function _onUpdateChild(doc,el,newChild){if(doc&&doc._inc){doc._inc++;var cs=el.childNodes;if(newChild)cs[cs.length++]=newChild;else{for(var child=el.firstChild,i=0;child;)cs[i++]=child,child=child.nextSibling;cs.length=i,delete cs[cs.length]}}}function _removeChild(parentNode,child){var previous=child.previousSibling,next=child.nextSibling;return previous?previous.nextSibling=next:parentNode.firstChild=next,next?next.previousSibling=previous:parentNode.lastChild=previous,child.parentNode=null,child.previousSibling=null,child.nextSibling=null,_onUpdateChild(parentNode.ownerDocument,parentNode),child}function isDocTypeNode(node){return node&&node.nodeType===Node.DOCUMENT_TYPE_NODE}function isElementNode(node){return node&&node.nodeType===Node.ELEMENT_NODE}function isTextNode(node){return node&&node.nodeType===Node.TEXT_NODE}function isElementInsertionPossible(doc,child){var parentChildNodes=doc.childNodes||[];if(find(parentChildNodes,isElementNode)||isDocTypeNode(child))return!1;var docTypeNode=find(parentChildNodes,isDocTypeNode);return!(child&&docTypeNode&&parentChildNodes.indexOf(docTypeNode)>parentChildNodes.indexOf(child))}function isElementReplacementPossible(doc,child){var parentChildNodes=doc.childNodes||[];if(find(parentChildNodes,(function hasElementChildThatIsNotChild(node){return isElementNode(node)&&node!==child})))return!1;var docTypeNode=find(parentChildNodes,isDocTypeNode);return!(child&&docTypeNode&&parentChildNodes.indexOf(docTypeNode)>parentChildNodes.indexOf(child))}function assertPreInsertionValidity1to5(parent,node,child){if(!function hasValidParentNodeType(node){return node&&(node.nodeType===Node.DOCUMENT_NODE||node.nodeType===Node.DOCUMENT_FRAGMENT_NODE||node.nodeType===Node.ELEMENT_NODE)}(parent))throw new DOMException(HIERARCHY_REQUEST_ERR,"Unexpected parent node type "+parent.nodeType);if(child&&child.parentNode!==parent)throw new DOMException(NOT_FOUND_ERR,"child not in parent");if(!function hasInsertableNodeType(node){return node&&(isElementNode(node)||isTextNode(node)||isDocTypeNode(node)||node.nodeType===Node.DOCUMENT_FRAGMENT_NODE||node.nodeType===Node.COMMENT_NODE||node.nodeType===Node.PROCESSING_INSTRUCTION_NODE)}(node)||isDocTypeNode(node)&&parent.nodeType!==Node.DOCUMENT_NODE)throw new DOMException(HIERARCHY_REQUEST_ERR,"Unexpected node type "+node.nodeType+" for parent node type "+parent.nodeType)}function assertPreInsertionValidityInDocument(parent,node,child){var parentChildNodes=parent.childNodes||[],nodeChildNodes=node.childNodes||[];if(node.nodeType===Node.DOCUMENT_FRAGMENT_NODE){var nodeChildElements=nodeChildNodes.filter(isElementNode);if(nodeChildElements.length>1||find(nodeChildNodes,isTextNode))throw new DOMException(HIERARCHY_REQUEST_ERR,"More than one element or text in fragment");if(1===nodeChildElements.length&&!isElementInsertionPossible(parent,child))throw new DOMException(HIERARCHY_REQUEST_ERR,"Element in fragment can not be inserted before doctype")}if(isElementNode(node)&&!isElementInsertionPossible(parent,child))throw new DOMException(HIERARCHY_REQUEST_ERR,"Only one element can be added and only after doctype");if(isDocTypeNode(node)){if(find(parentChildNodes,isDocTypeNode))throw new DOMException(HIERARCHY_REQUEST_ERR,"Only one doctype is allowed");var parentElementChild=find(parentChildNodes,isElementNode);if(child&&parentChildNodes.indexOf(parentElementChild)<parentChildNodes.indexOf(child))throw new DOMException(HIERARCHY_REQUEST_ERR,"Doctype can only be inserted before an element");if(!child&&parentElementChild)throw new DOMException(HIERARCHY_REQUEST_ERR,"Doctype can not be appended since element is present")}}function assertPreReplacementValidityInDocument(parent,node,child){var parentChildNodes=parent.childNodes||[],nodeChildNodes=node.childNodes||[];if(node.nodeType===Node.DOCUMENT_FRAGMENT_NODE){var nodeChildElements=nodeChildNodes.filter(isElementNode);if(nodeChildElements.length>1||find(nodeChildNodes,isTextNode))throw new DOMException(HIERARCHY_REQUEST_ERR,"More than one element or text in fragment");if(1===nodeChildElements.length&&!isElementReplacementPossible(parent,child))throw new DOMException(HIERARCHY_REQUEST_ERR,"Element in fragment can not be inserted before doctype")}if(isElementNode(node)&&!isElementReplacementPossible(parent,child))throw new DOMException(HIERARCHY_REQUEST_ERR,"Only one element can be added and only after doctype");if(isDocTypeNode(node)){function hasDoctypeChildThatIsNotChild(node){return isDocTypeNode(node)&&node!==child}if(find(parentChildNodes,hasDoctypeChildThatIsNotChild))throw new DOMException(HIERARCHY_REQUEST_ERR,"Only one doctype is allowed");var parentElementChild=find(parentChildNodes,isElementNode);if(child&&parentChildNodes.indexOf(parentElementChild)<parentChildNodes.indexOf(child))throw new DOMException(HIERARCHY_REQUEST_ERR,"Doctype can only be inserted before an element")}}function _insertBefore(parent,node,child,_inDocumentAssertion){assertPreInsertionValidity1to5(parent,node,child),parent.nodeType===Node.DOCUMENT_NODE&&(_inDocumentAssertion||assertPreInsertionValidityInDocument)(parent,node,child);var cp=node.parentNode;if(cp&&cp.removeChild(node),node.nodeType===DOCUMENT_FRAGMENT_NODE){var newFirst=node.firstChild;if(null==newFirst)return node;var newLast=node.lastChild}else newFirst=newLast=node;var pre=child?child.previousSibling:parent.lastChild;newFirst.previousSibling=pre,newLast.nextSibling=child,pre?pre.nextSibling=newFirst:parent.firstChild=newFirst,null==child?parent.lastChild=newLast:child.previousSibling=newLast;do{newFirst.parentNode=parent}while(newFirst!==newLast&&(newFirst=newFirst.nextSibling));return _onUpdateChild(parent.ownerDocument||parent,parent),node.nodeType==DOCUMENT_FRAGMENT_NODE&&(node.firstChild=node.lastChild=null),node}function Element(){this._nsMap={}}function Attr(){}function CharacterData(){}function Text(){}function Comment(){}function CDATASection(){}function DocumentType(){}function Notation(){}function Entity(){}function EntityReference(){}function DocumentFragment(){}function ProcessingInstruction(){}function XMLSerializer(){}function nodeSerializeToString(isHtml,nodeFilter){var buf=[],refNode=9==this.nodeType&&this.documentElement||this,prefix=refNode.prefix,uri=refNode.namespaceURI;if(uri&&null==prefix&&null==(prefix=refNode.lookupPrefix(uri)))var visibleNamespaces=[{namespace:uri,prefix:null}];return serializeToString(this,buf,isHtml,nodeFilter,visibleNamespaces),buf.join("")}function needNamespaceDefine(node,isHTML,visibleNamespaces){var prefix=node.prefix||"",uri=node.namespaceURI;if(!uri)return!1;if("xml"===prefix&&uri===NAMESPACE.XML||uri===NAMESPACE.XMLNS)return!1;for(var i=visibleNamespaces.length;i--;){var ns=visibleNamespaces[i];if(ns.prefix===prefix)return ns.namespace!==uri}return!0}function addSerializedAttribute(buf,qualifiedName,value){buf.push(" ",qualifiedName,'="',value.replace(/[<>&"\t\n\r]/g,_xmlEncoder),'"')}function serializeToString(node,buf,isHTML,nodeFilter,visibleNamespaces){if(visibleNamespaces||(visibleNamespaces=[]),nodeFilter){if(!(node=nodeFilter(node)))return;if("string"==typeof node)return void buf.push(node)}switch(node.nodeType){case ELEMENT_NODE:var attrs=node.attributes,len=attrs.length,child=node.firstChild,nodeName=node.tagName,prefixedNodeName=nodeName;if(!(isHTML=NAMESPACE.isHTML(node.namespaceURI)||isHTML)&&!node.prefix&&node.namespaceURI){for(var defaultNS,ai=0;ai<attrs.length;ai++)if("xmlns"===attrs.item(ai).name){defaultNS=attrs.item(ai).value;break}if(!defaultNS)for(var nsi=visibleNamespaces.length-1;nsi>=0;nsi--){if(""===(namespace=visibleNamespaces[nsi]).prefix&&namespace.namespace===node.namespaceURI){defaultNS=namespace.namespace;break}}if(defaultNS!==node.namespaceURI)for(nsi=visibleNamespaces.length-1;nsi>=0;nsi--){var namespace;if((namespace=visibleNamespaces[nsi]).namespace===node.namespaceURI){namespace.prefix&&(prefixedNodeName=namespace.prefix+":"+nodeName);break}}}buf.push("<",prefixedNodeName);for(var i=0;i<len;i++){"xmlns"==(attr=attrs.item(i)).prefix?visibleNamespaces.push({prefix:attr.localName,namespace:attr.value}):"xmlns"==attr.nodeName&&visibleNamespaces.push({prefix:"",namespace:attr.value})}for(i=0;i<len;i++){var attr,prefix,uri;if(needNamespaceDefine(attr=attrs.item(i),0,visibleNamespaces))addSerializedAttribute(buf,(prefix=attr.prefix||"")?"xmlns:"+prefix:"xmlns",uri=attr.namespaceURI),visibleNamespaces.push({prefix:prefix,namespace:uri});serializeToString(attr,buf,isHTML,nodeFilter,visibleNamespaces)}if(nodeName===prefixedNodeName&&needNamespaceDefine(node,0,visibleNamespaces))addSerializedAttribute(buf,(prefix=node.prefix||"")?"xmlns:"+prefix:"xmlns",uri=node.namespaceURI),visibleNamespaces.push({prefix:prefix,namespace:uri});if(child||isHTML&&!/^(?:meta|link|img|br|hr|input)$/i.test(nodeName)){if(buf.push(">"),isHTML&&/^script$/i.test(nodeName))for(;child;)child.data?buf.push(child.data):serializeToString(child,buf,isHTML,nodeFilter,visibleNamespaces.slice()),child=child.nextSibling;else for(;child;)serializeToString(child,buf,isHTML,nodeFilter,visibleNamespaces.slice()),child=child.nextSibling;buf.push("</",prefixedNodeName,">")}else buf.push("/>");return;case DOCUMENT_NODE:case DOCUMENT_FRAGMENT_NODE:for(child=node.firstChild;child;)serializeToString(child,buf,isHTML,nodeFilter,visibleNamespaces.slice()),child=child.nextSibling;return;case ATTRIBUTE_NODE:return addSerializedAttribute(buf,node.name,node.value);case TEXT_NODE:return buf.push(node.data.replace(/[<&>]/g,_xmlEncoder));case CDATA_SECTION_NODE:return buf.push("<![CDATA[",node.data,"]]>");case COMMENT_NODE:return buf.push("\x3c!--",node.data,"--\x3e");case DOCUMENT_TYPE_NODE:var pubid=node.publicId,sysid=node.systemId;if(buf.push("<!DOCTYPE ",node.name),pubid)buf.push(" PUBLIC ",pubid),sysid&&"."!=sysid&&buf.push(" ",sysid),buf.push(">");else if(sysid&&"."!=sysid)buf.push(" SYSTEM ",sysid,">");else{var sub=node.internalSubset;sub&&buf.push(" [",sub,"]"),buf.push(">")}return;case PROCESSING_INSTRUCTION_NODE:return buf.push("<?",node.target," ",node.data,"?>");case ENTITY_REFERENCE_NODE:return buf.push("&",node.nodeName,";");default:buf.push("??",node.nodeName)}}function importNode(doc,node,deep){var node2;switch(node.nodeType){case ELEMENT_NODE:(node2=node.cloneNode(!1)).ownerDocument=doc;case DOCUMENT_FRAGMENT_NODE:break;case ATTRIBUTE_NODE:deep=!0}if(node2||(node2=node.cloneNode(!1)),node2.ownerDocument=doc,node2.parentNode=null,deep)for(var child=node.firstChild;child;)node2.appendChild(importNode(doc,child,deep)),child=child.nextSibling;return node2}function cloneNode(doc,node,deep){var node2=new node.constructor;for(var n in node)if(Object.prototype.hasOwnProperty.call(node,n)){var v=node[n];"object"!=typeof v&&v!=node2[n]&&(node2[n]=v)}switch(node.childNodes&&(node2.childNodes=new NodeList),node2.ownerDocument=doc,node2.nodeType){case ELEMENT_NODE:var attrs=node.attributes,attrs2=node2.attributes=new NamedNodeMap,len=attrs.length;attrs2._ownerElement=node2;for(var i=0;i<len;i++)node2.setAttributeNode(cloneNode(doc,attrs.item(i),!0));break;case ATTRIBUTE_NODE:deep=!0}if(deep)for(var child=node.firstChild;child;)node2.appendChild(cloneNode(doc,child,deep)),child=child.nextSibling;return node2}function __set__(object,key,value){object[key]=value}ExceptionCode.INVALID_STATE_ERR=(ExceptionMessage[11]="Invalid state",11),ExceptionCode.SYNTAX_ERR=(ExceptionMessage[12]="Syntax error",12),ExceptionCode.INVALID_MODIFICATION_ERR=(ExceptionMessage[13]="Invalid modification",13),ExceptionCode.NAMESPACE_ERR=(ExceptionMessage[14]="Invalid namespace",14),ExceptionCode.INVALID_ACCESS_ERR=(ExceptionMessage[15]="Invalid access",15),DOMException.prototype=Error.prototype,copy(ExceptionCode,DOMException),NodeList.prototype={length:0,item:function(index){return index>=0&&index<this.length?this[index]:null},toString:function(isHTML,nodeFilter){for(var buf=[],i=0;i<this.length;i++)serializeToString(this[i],buf,isHTML,nodeFilter);return buf.join("")},filter:function(predicate){return Array.prototype.filter.call(this,predicate)},indexOf:function(item){return Array.prototype.indexOf.call(this,item)}},LiveNodeList.prototype.item=function(i){return _updateLiveList(this),this[i]||null},_extends(LiveNodeList,NodeList),NamedNodeMap.prototype={length:0,item:NodeList.prototype.item,getNamedItem:function(key){for(var i=this.length;i--;){var attr=this[i];if(attr.nodeName==key)return attr}},setNamedItem:function(attr){var el=attr.ownerElement;if(el&&el!=this._ownerElement)throw new DOMException(INUSE_ATTRIBUTE_ERR);var oldAttr=this.getNamedItem(attr.nodeName);return _addNamedNode(this._ownerElement,this,attr,oldAttr),oldAttr},setNamedItemNS:function(attr){var oldAttr,el=attr.ownerElement;if(el&&el!=this._ownerElement)throw new DOMException(INUSE_ATTRIBUTE_ERR);return oldAttr=this.getNamedItemNS(attr.namespaceURI,attr.localName),_addNamedNode(this._ownerElement,this,attr,oldAttr),oldAttr},removeNamedItem:function(key){var attr=this.getNamedItem(key);return _removeNamedNode(this._ownerElement,this,attr),attr},removeNamedItemNS:function(namespaceURI,localName){var attr=this.getNamedItemNS(namespaceURI,localName);return _removeNamedNode(this._ownerElement,this,attr),attr},getNamedItemNS:function(namespaceURI,localName){for(var i=this.length;i--;){var node=this[i];if(node.localName==localName&&node.namespaceURI==namespaceURI)return node}return null}},DOMImplementation.prototype={hasFeature:function(feature,version){return!0},createDocument:function(namespaceURI,qualifiedName,doctype){var doc=new Document;if(doc.implementation=this,doc.childNodes=new NodeList,doc.doctype=doctype||null,doctype&&doc.appendChild(doctype),qualifiedName){var root=doc.createElementNS(namespaceURI,qualifiedName);doc.appendChild(root)}return doc},createDocumentType:function(qualifiedName,publicId,systemId){var node=new DocumentType;return node.name=qualifiedName,node.nodeName=qualifiedName,node.publicId=publicId||"",node.systemId=systemId||"",node}},Node.prototype={firstChild:null,lastChild:null,previousSibling:null,nextSibling:null,attributes:null,parentNode:null,childNodes:null,ownerDocument:null,nodeValue:null,namespaceURI:null,prefix:null,localName:null,insertBefore:function(newChild,refChild){return _insertBefore(this,newChild,refChild)},replaceChild:function(newChild,oldChild){_insertBefore(this,newChild,oldChild,assertPreReplacementValidityInDocument),oldChild&&this.removeChild(oldChild)},removeChild:function(oldChild){return _removeChild(this,oldChild)},appendChild:function(newChild){return this.insertBefore(newChild,null)},hasChildNodes:function(){return null!=this.firstChild},cloneNode:function(deep){return cloneNode(this.ownerDocument||this,this,deep)},normalize:function(){for(var child=this.firstChild;child;){var next=child.nextSibling;next&&next.nodeType==TEXT_NODE&&child.nodeType==TEXT_NODE?(this.removeChild(next),child.appendData(next.data)):(child.normalize(),child=next)}},isSupported:function(feature,version){return this.ownerDocument.implementation.hasFeature(feature,version)},hasAttributes:function(){return this.attributes.length>0},lookupPrefix:function(namespaceURI){for(var el=this;el;){var map=el._nsMap;if(map)for(var n in map)if(Object.prototype.hasOwnProperty.call(map,n)&&map[n]===namespaceURI)return n;el=el.nodeType==ATTRIBUTE_NODE?el.ownerDocument:el.parentNode}return null},lookupNamespaceURI:function(prefix){for(var el=this;el;){var map=el._nsMap;if(map&&Object.prototype.hasOwnProperty.call(map,prefix))return map[prefix];el=el.nodeType==ATTRIBUTE_NODE?el.ownerDocument:el.parentNode}return null},isDefaultNamespace:function(namespaceURI){return null==this.lookupPrefix(namespaceURI)}},copy(NodeType,Node),copy(NodeType,Node.prototype),Document.prototype={nodeName:"#document",nodeType:DOCUMENT_NODE,doctype:null,documentElement:null,_inc:1,insertBefore:function(newChild,refChild){if(newChild.nodeType==DOCUMENT_FRAGMENT_NODE){for(var child=newChild.firstChild;child;){var next=child.nextSibling;this.insertBefore(child,refChild),child=next}return newChild}return _insertBefore(this,newChild,refChild),newChild.ownerDocument=this,null===this.documentElement&&newChild.nodeType===ELEMENT_NODE&&(this.documentElement=newChild),newChild},removeChild:function(oldChild){return this.documentElement==oldChild&&(this.documentElement=null),_removeChild(this,oldChild)},replaceChild:function(newChild,oldChild){_insertBefore(this,newChild,oldChild,assertPreReplacementValidityInDocument),newChild.ownerDocument=this,oldChild&&this.removeChild(oldChild),isElementNode(newChild)&&(this.documentElement=newChild)},importNode:function(importedNode,deep){return importNode(this,importedNode,deep)},getElementById:function(id){var rtv=null;return _visitNode(this.documentElement,(function(node){if(node.nodeType==ELEMENT_NODE&&node.getAttribute("id")==id)return rtv=node,!0})),rtv},getElementsByClassName:function(classNames){var classNamesSet=toOrderedSet(classNames);return new LiveNodeList(this,(function(base){var ls=[];return classNamesSet.length>0&&_visitNode(base.documentElement,(function(node){if(node!==base&&node.nodeType===ELEMENT_NODE){var nodeClassNames=node.getAttribute("class");if(nodeClassNames){var matches=classNames===nodeClassNames;if(!matches){var nodeClassNamesSet=toOrderedSet(nodeClassNames);matches=classNamesSet.every(function arrayIncludes(list){return function(element){return list&&-1!==list.indexOf(element)}}(nodeClassNamesSet))}matches&&ls.push(node)}}})),ls}))},createElement:function(tagName){var node=new Element;return node.ownerDocument=this,node.nodeName=tagName,node.tagName=tagName,node.localName=tagName,node.childNodes=new NodeList,(node.attributes=new NamedNodeMap)._ownerElement=node,node},createDocumentFragment:function(){var node=new DocumentFragment;return node.ownerDocument=this,node.childNodes=new NodeList,node},createTextNode:function(data){var node=new Text;return node.ownerDocument=this,node.appendData(data),node},createComment:function(data){var node=new Comment;return node.ownerDocument=this,node.appendData(data),node},createCDATASection:function(data){var node=new CDATASection;return node.ownerDocument=this,node.appendData(data),node},createProcessingInstruction:function(target,data){var node=new ProcessingInstruction;return node.ownerDocument=this,node.tagName=node.nodeName=node.target=target,node.nodeValue=node.data=data,node},createAttribute:function(name){var node=new Attr;return node.ownerDocument=this,node.name=name,node.nodeName=name,node.localName=name,node.specified=!0,node},createEntityReference:function(name){var node=new EntityReference;return node.ownerDocument=this,node.nodeName=name,node},createElementNS:function(namespaceURI,qualifiedName){var node=new Element,pl=qualifiedName.split(":"),attrs=node.attributes=new NamedNodeMap;return node.childNodes=new NodeList,node.ownerDocument=this,node.nodeName=qualifiedName,node.tagName=qualifiedName,node.namespaceURI=namespaceURI,2==pl.length?(node.prefix=pl[0],node.localName=pl[1]):node.localName=qualifiedName,attrs._ownerElement=node,node},createAttributeNS:function(namespaceURI,qualifiedName){var node=new Attr,pl=qualifiedName.split(":");return node.ownerDocument=this,node.nodeName=qualifiedName,node.name=qualifiedName,node.namespaceURI=namespaceURI,node.specified=!0,2==pl.length?(node.prefix=pl[0],node.localName=pl[1]):node.localName=qualifiedName,node}},_extends(Document,Node),Element.prototype={nodeType:ELEMENT_NODE,hasAttribute:function(name){return null!=this.getAttributeNode(name)},getAttribute:function(name){var attr=this.getAttributeNode(name);return attr&&attr.value||""},getAttributeNode:function(name){return this.attributes.getNamedItem(name)},setAttribute:function(name,value){var attr=this.ownerDocument.createAttribute(name);attr.value=attr.nodeValue=""+value,this.setAttributeNode(attr)},removeAttribute:function(name){var attr=this.getAttributeNode(name);attr&&this.removeAttributeNode(attr)},appendChild:function(newChild){return newChild.nodeType===DOCUMENT_FRAGMENT_NODE?this.insertBefore(newChild,null):function _appendSingleChild(parentNode,newChild){return newChild.parentNode&&newChild.parentNode.removeChild(newChild),newChild.parentNode=parentNode,newChild.previousSibling=parentNode.lastChild,newChild.nextSibling=null,newChild.previousSibling?newChild.previousSibling.nextSibling=newChild:parentNode.firstChild=newChild,parentNode.lastChild=newChild,_onUpdateChild(parentNode.ownerDocument,parentNode,newChild),newChild}(this,newChild)},setAttributeNode:function(newAttr){return this.attributes.setNamedItem(newAttr)},setAttributeNodeNS:function(newAttr){return this.attributes.setNamedItemNS(newAttr)},removeAttributeNode:function(oldAttr){return this.attributes.removeNamedItem(oldAttr.nodeName)},removeAttributeNS:function(namespaceURI,localName){var old=this.getAttributeNodeNS(namespaceURI,localName);old&&this.removeAttributeNode(old)},hasAttributeNS:function(namespaceURI,localName){return null!=this.getAttributeNodeNS(namespaceURI,localName)},getAttributeNS:function(namespaceURI,localName){var attr=this.getAttributeNodeNS(namespaceURI,localName);return attr&&attr.value||""},setAttributeNS:function(namespaceURI,qualifiedName,value){var attr=this.ownerDocument.createAttributeNS(namespaceURI,qualifiedName);attr.value=attr.nodeValue=""+value,this.setAttributeNode(attr)},getAttributeNodeNS:function(namespaceURI,localName){return this.attributes.getNamedItemNS(namespaceURI,localName)},getElementsByTagName:function(tagName){return new LiveNodeList(this,(function(base){var ls=[];return _visitNode(base,(function(node){node===base||node.nodeType!=ELEMENT_NODE||"*"!==tagName&&node.tagName!=tagName||ls.push(node)})),ls}))},getElementsByTagNameNS:function(namespaceURI,localName){return new LiveNodeList(this,(function(base){var ls=[];return _visitNode(base,(function(node){node===base||node.nodeType!==ELEMENT_NODE||"*"!==namespaceURI&&node.namespaceURI!==namespaceURI||"*"!==localName&&node.localName!=localName||ls.push(node)})),ls}))}},Document.prototype.getElementsByTagName=Element.prototype.getElementsByTagName,Document.prototype.getElementsByTagNameNS=Element.prototype.getElementsByTagNameNS,_extends(Element,Node),Attr.prototype.nodeType=ATTRIBUTE_NODE,_extends(Attr,Node),CharacterData.prototype={data:"",substringData:function(offset,count){return this.data.substring(offset,offset+count)},appendData:function(text){text=this.data+text,this.nodeValue=this.data=text,this.length=text.length},insertData:function(offset,text){this.replaceData(offset,0,text)},appendChild:function(newChild){throw new Error(ExceptionMessage[HIERARCHY_REQUEST_ERR])},deleteData:function(offset,count){this.replaceData(offset,count,"")},replaceData:function(offset,count,text){text=this.data.substring(0,offset)+text+this.data.substring(offset+count),this.nodeValue=this.data=text,this.length=text.length}},_extends(CharacterData,Node),Text.prototype={nodeName:"#text",nodeType:TEXT_NODE,splitText:function(offset){var text=this.data,newText=text.substring(offset);text=text.substring(0,offset),this.data=this.nodeValue=text,this.length=text.length;var newNode=this.ownerDocument.createTextNode(newText);return this.parentNode&&this.parentNode.insertBefore(newNode,this.nextSibling),newNode}},_extends(Text,CharacterData),Comment.prototype={nodeName:"#comment",nodeType:COMMENT_NODE},_extends(Comment,CharacterData),CDATASection.prototype={nodeName:"#cdata-section",nodeType:CDATA_SECTION_NODE},_extends(CDATASection,CharacterData),DocumentType.prototype.nodeType=DOCUMENT_TYPE_NODE,_extends(DocumentType,Node),Notation.prototype.nodeType=NOTATION_NODE,_extends(Notation,Node),Entity.prototype.nodeType=ENTITY_NODE,_extends(Entity,Node),EntityReference.prototype.nodeType=ENTITY_REFERENCE_NODE,_extends(EntityReference,Node),DocumentFragment.prototype.nodeName="#document-fragment",DocumentFragment.prototype.nodeType=DOCUMENT_FRAGMENT_NODE,_extends(DocumentFragment,Node),ProcessingInstruction.prototype.nodeType=PROCESSING_INSTRUCTION_NODE,_extends(ProcessingInstruction,Node),XMLSerializer.prototype.serializeToString=function(node,isHtml,nodeFilter){return nodeSerializeToString.call(node,isHtml,nodeFilter)},Node.prototype.toString=nodeSerializeToString;try{if(Object.defineProperty){function getTextContent(node){switch(node.nodeType){case ELEMENT_NODE:case DOCUMENT_FRAGMENT_NODE:var buf=[];for(node=node.firstChild;node;)7!==node.nodeType&&8!==node.nodeType&&buf.push(getTextContent(node)),node=node.nextSibling;return buf.join("");default:return node.nodeValue}}Object.defineProperty(LiveNodeList.prototype,"length",{get:function(){return _updateLiveList(this),this.$$length}}),Object.defineProperty(Node.prototype,"textContent",{get:function(){return getTextContent(this)},set:function(data){switch(this.nodeType){case ELEMENT_NODE:case DOCUMENT_FRAGMENT_NODE:for(;this.firstChild;)this.removeChild(this.firstChild);(data||String(data))&&this.appendChild(this.ownerDocument.createTextNode(data));break;default:this.data=data,this.value=data,this.nodeValue=data}}}),__set__=function(object,key,value){object["$$"+key]=value}}}catch(e){}return dom.DocumentType=DocumentType,dom.DOMException=DOMException,dom.DOMImplementation=DOMImplementation,dom.Element=Element,dom.Node=Node,dom.NodeList=NodeList,dom.XMLSerializer=XMLSerializer,dom}var hasRequiredEntities,domParser={},entities={};function requireEntities(){return hasRequiredEntities||(hasRequiredEntities=1,function(exports){var freeze=requireConventions().freeze;exports.XML_ENTITIES=freeze({amp:"&",apos:"'",gt:">",lt:"<",quot:'"'}),exports.HTML_ENTITIES=freeze({Aacute:"Á",aacute:"á",Abreve:"Ă",abreve:"ă",ac:"∾",acd:"∿",acE:"∾̳",Acirc:"Â",acirc:"â",acute:"´",Acy:"А",acy:"а",AElig:"Æ",aelig:"æ",af:"",Afr:"𝔄",afr:"𝔞",Agrave:"À",agrave:"à",alefsym:"ℵ",aleph:"ℵ",Alpha:"Α",alpha:"α",Amacr:"Ā",amacr:"ā",amalg:"⨿",AMP:"&",amp:"&",And:"⩓",and:"∧",andand:"⩕",andd:"⩜",andslope:"⩘",andv:"⩚",ang:"∠",ange:"⦤",angle:"∠",angmsd:"∡",angmsdaa:"⦨",angmsdab:"⦩",angmsdac:"⦪",angmsdad:"⦫",angmsdae:"⦬",angmsdaf:"⦭",angmsdag:"⦮",angmsdah:"⦯",angrt:"∟",angrtvb:"⊾",angrtvbd:"⦝",angsph:"∢",angst:"Å",angzarr:"⍼",Aogon:"Ą",aogon:"ą",Aopf:"𝔸",aopf:"𝕒",ap:"≈",apacir:"⩯",apE:"⩰",ape:"≊",apid:"≋",apos:"'",ApplyFunction:"",approx:"≈",approxeq:"≊",Aring:"Å",aring:"å",Ascr:"𝒜",ascr:"𝒶",Assign:"≔",ast:"*",asymp:"≈",asympeq:"≍",Atilde:"Ã",atilde:"ã",Auml:"Ä",auml:"ä",awconint:"∳",awint:"⨑",backcong:"≌",backepsilon:"϶",backprime:"‵",backsim:"∽",backsimeq:"⋍",Backslash:"∖",Barv:"⫧",barvee:"⊽",Barwed:"⌆",barwed:"⌅",barwedge:"⌅",bbrk:"⎵",bbrktbrk:"⎶",bcong:"≌",Bcy:"Б",bcy:"б",bdquo:"„",becaus:"∵",Because:"∵",because:"∵",bemptyv:"⦰",bepsi:"϶",bernou:"ℬ",Bernoullis:"ℬ",Beta:"Β",beta:"β",beth:"ℶ",between:"≬",Bfr:"𝔅",bfr:"𝔟",bigcap:"⋂",bigcirc:"◯",bigcup:"⋃",bigodot:"⨀",bigoplus:"⨁",bigotimes:"⨂",bigsqcup:"⨆",bigstar:"★",bigtriangledown:"▽",bigtriangleup:"△",biguplus:"⨄",bigvee:"⋁",bigwedge:"⋀",bkarow:"⤍",blacklozenge:"⧫",blacksquare:"▪",blacktriangle:"▴",blacktriangledown:"▾",blacktriangleleft:"◂",blacktriangleright:"▸",blank:"␣",blk12:"▒",blk14:"░",blk34:"▓",block:"█",bne:"=⃥",bnequiv:"≡⃥",bNot:"⫭",bnot:"⌐",Bopf:"𝔹",bopf:"𝕓",bot:"⊥",bottom:"⊥",bowtie:"⋈",boxbox:"⧉",boxDL:"╗",boxDl:"╖",boxdL:"╕",boxdl:"┐",boxDR:"╔",boxDr:"╓",boxdR:"╒",boxdr:"┌",boxH:"═",boxh:"─",boxHD:"╦",boxHd:"╤",boxhD:"╥",boxhd:"┬",boxHU:"╩",boxHu:"╧",boxhU:"╨",boxhu:"┴",boxminus:"⊟",boxplus:"⊞",boxtimes:"⊠",boxUL:"╝",boxUl:"╜",boxuL:"╛",boxul:"┘",boxUR:"╚",boxUr:"╙",boxuR:"╘",boxur:"└",boxV:"║",boxv:"│",boxVH:"╬",boxVh:"╫",boxvH:"╪",boxvh:"┼",boxVL:"╣",boxVl:"╢",boxvL:"╡",boxvl:"┤",boxVR:"╠",boxVr:"╟",boxvR:"╞",boxvr:"├",bprime:"‵",Breve:"˘",breve:"˘",brvbar:"¦",Bscr:"ℬ",bscr:"𝒷",bsemi:"⁏",bsim:"∽",bsime:"⋍",bsol:"\\",bsolb:"⧅",bsolhsub:"⟈",bull:"•",bullet:"•",bump:"≎",bumpE:"⪮",bumpe:"≏",Bumpeq:"≎",bumpeq:"≏",Cacute:"Ć",cacute:"ć",Cap:"⋒",cap:"∩",capand:"⩄",capbrcup:"⩉",capcap:"⩋",capcup:"⩇",capdot:"⩀",CapitalDifferentialD:"ⅅ",caps:"∩︀",caret:"⁁",caron:"ˇ",Cayleys:"ℭ",ccaps:"⩍",Ccaron:"Č",ccaron:"č",Ccedil:"Ç",ccedil:"ç",Ccirc:"Ĉ",ccirc:"ĉ",Cconint:"∰",ccups:"⩌",ccupssm:"⩐",Cdot:"Ċ",cdot:"ċ",cedil:"¸",Cedilla:"¸",cemptyv:"⦲",cent:"¢",CenterDot:"·",centerdot:"·",Cfr:"ℭ",cfr:"𝔠",CHcy:"Ч",chcy:"ч",check:"✓",checkmark:"✓",Chi:"Χ",chi:"χ",cir:"○",circ:"ˆ",circeq:"≗",circlearrowleft:"↺",circlearrowright:"↻",circledast:"⊛",circledcirc:"⊚",circleddash:"⊝",CircleDot:"⊙",circledR:"®",circledS:"Ⓢ",CircleMinus:"⊖",CirclePlus:"⊕",CircleTimes:"⊗",cirE:"⧃",cire:"≗",cirfnint:"⨐",cirmid:"⫯",cirscir:"⧂",ClockwiseContourIntegral:"∲",CloseCurlyDoubleQuote:"”",CloseCurlyQuote:"’",clubs:"♣",clubsuit:"♣",Colon:"∷",colon:":",Colone:"⩴",colone:"≔",coloneq:"≔",comma:",",commat:"@",comp:"∁",compfn:"∘",complement:"∁",complexes:"ℂ",cong:"≅",congdot:"⩭",Congruent:"≡",Conint:"∯",conint:"∮",ContourIntegral:"∮",Copf:"ℂ",copf:"𝕔",coprod:"∐",Coproduct:"∐",COPY:"©",copy:"©",copysr:"℗",CounterClockwiseContourIntegral:"∳",crarr:"↵",Cross:"⨯",cross:"✗",Cscr:"𝒞",cscr:"𝒸",csub:"⫏",csube:"⫑",csup:"⫐",csupe:"⫒",ctdot:"⋯",cudarrl:"⤸",cudarrr:"⤵",cuepr:"⋞",cuesc:"⋟",cularr:"↶",cularrp:"⤽",Cup:"⋓",cup:"∪",cupbrcap:"⩈",CupCap:"≍",cupcap:"⩆",cupcup:"⩊",cupdot:"⊍",cupor:"⩅",cups:"∪︀",curarr:"↷",curarrm:"⤼",curlyeqprec:"⋞",curlyeqsucc:"⋟",curlyvee:"⋎",curlywedge:"⋏",curren:"¤",curvearrowleft:"↶",curvearrowright:"↷",cuvee:"⋎",cuwed:"⋏",cwconint:"∲",cwint:"∱",cylcty:"⌭",Dagger:"‡",dagger:"†",daleth:"ℸ",Darr:"↡",dArr:"⇓",darr:"↓",dash:"‐",Dashv:"⫤",dashv:"⊣",dbkarow:"⤏",dblac:"˝",Dcaron:"Ď",dcaron:"ď",Dcy:"Д",dcy:"д",DD:"ⅅ",dd:"ⅆ",ddagger:"‡",ddarr:"⇊",DDotrahd:"⤑",ddotseq:"⩷",deg:"°",Del:"∇",Delta:"Δ",delta:"δ",demptyv:"⦱",dfisht:"⥿",Dfr:"𝔇",dfr:"𝔡",dHar:"⥥",dharl:"⇃",dharr:"⇂",DiacriticalAcute:"´",DiacriticalDot:"˙",DiacriticalDoubleAcute:"˝",DiacriticalGrave:"`",DiacriticalTilde:"˜",diam:"⋄",Diamond:"⋄",diamond:"⋄",diamondsuit:"♦",diams:"♦",die:"¨",DifferentialD:"ⅆ",digamma:"ϝ",disin:"⋲",div:"÷",divide:"÷",divideontimes:"⋇",divonx:"⋇",DJcy:"Ђ",djcy:"ђ",dlcorn:"⌞",dlcrop:"⌍",dollar:"$",Dopf:"𝔻",dopf:"𝕕",Dot:"¨",dot:"˙",DotDot:"⃜",doteq:"≐",doteqdot:"≑",DotEqual:"≐",dotminus:"∸",dotplus:"∔",dotsquare:"⊡",doublebarwedge:"⌆",DoubleContourIntegral:"∯",DoubleDot:"¨",DoubleDownArrow:"⇓",DoubleLeftArrow:"⇐",DoubleLeftRightArrow:"⇔",DoubleLeftTee:"⫤",DoubleLongLeftArrow:"⟸",DoubleLongLeftRightArrow:"⟺",DoubleLongRightArrow:"⟹",DoubleRightArrow:"⇒",DoubleRightTee:"⊨",DoubleUpArrow:"⇑",DoubleUpDownArrow:"⇕",DoubleVerticalBar:"∥",DownArrow:"↓",Downarrow:"⇓",downarrow:"↓",DownArrowBar:"⤓",DownArrowUpArrow:"⇵",DownBreve:"̑",downdownarrows:"⇊",downharpoonleft:"⇃",downharpoonright:"⇂",DownLeftRightVector:"⥐",DownLeftTeeVector:"⥞",DownLeftVector:"↽",DownLeftVectorBar:"⥖",DownRightTeeVector:"⥟",DownRightVector:"⇁",DownRightVectorBar:"⥗",DownTee:"⊤",DownTeeArrow:"↧",drbkarow:"⤐",drcorn:"⌟",drcrop:"⌌",Dscr:"𝒟",dscr:"𝒹",DScy:"Ѕ",dscy:"ѕ",dsol:"⧶",Dstrok:"Đ",dstrok:"đ",dtdot:"⋱",dtri:"▿",dtrif:"▾",duarr:"⇵",duhar:"⥯",dwangle:"⦦",DZcy:"Џ",dzcy:"џ",dzigrarr:"⟿",Eacute:"É",eacute:"é",easter:"⩮",Ecaron:"Ě",ecaron:"ě",ecir:"≖",Ecirc:"Ê",ecirc:"ê",ecolon:"≕",Ecy:"Э",ecy:"э",eDDot:"⩷",Edot:"Ė",eDot:"≑",edot:"ė",ee:"ⅇ",efDot:"≒",Efr:"𝔈",efr:"𝔢",eg:"⪚",Egrave:"È",egrave:"è",egs:"⪖",egsdot:"⪘",el:"⪙",Element:"∈",elinters:"⏧",ell:"ℓ",els:"⪕",elsdot:"⪗",Emacr:"Ē",emacr:"ē",empty:"∅",emptyset:"∅",EmptySmallSquare:"◻",emptyv:"∅",EmptyVerySmallSquare:"▫",emsp:" ",emsp13:" ",emsp14:" ",ENG:"Ŋ",eng:"ŋ",ensp:" ",Eogon:"Ę",eogon:"ę",Eopf:"𝔼",eopf:"𝕖",epar:"⋕",eparsl:"⧣",eplus:"⩱",epsi:"ε",Epsilon:"Ε",epsilon:"ε",epsiv:"ϵ",eqcirc:"≖",eqcolon:"≕",eqsim:"≂",eqslantgtr:"⪖",eqslantless:"⪕",Equal:"⩵",equals:"=",EqualTilde:"≂",equest:"≟",Equilibrium:"⇌",equiv:"≡",equivDD:"⩸",eqvparsl:"⧥",erarr:"⥱",erDot:"≓",Escr:"ℰ",escr:"ℯ",esdot:"≐",Esim:"⩳",esim:"≂",Eta:"Η",eta:"η",ETH:"Ð",eth:"ð",Euml:"Ë",euml:"ë",euro:"€",excl:"!",exist:"∃",Exists:"∃",expectation:"ℰ",ExponentialE:"ⅇ",exponentiale:"ⅇ",fallingdotseq:"≒",Fcy:"Ф",fcy:"ф",female:"♀",ffilig:"ffi",fflig:"ff",ffllig:"ffl",Ffr:"𝔉",ffr:"𝔣",filig:"fi",FilledSmallSquare:"◼",FilledVerySmallSquare:"▪",fjlig:"fj",flat:"♭",fllig:"fl",fltns:"▱",fnof:"ƒ",Fopf:"𝔽",fopf:"𝕗",ForAll:"∀",forall:"∀",fork:"⋔",forkv:"⫙",Fouriertrf:"ℱ",fpartint:"⨍",frac12:"½",frac13:"⅓",frac14:"¼",frac15:"⅕",frac16:"⅙",frac18:"⅛",frac23:"⅔",frac25:"⅖",frac34:"¾",frac35:"⅗",frac38:"⅜",frac45:"⅘",frac56:"⅚",frac58:"⅝",frac78:"⅞",frasl:"⁄",frown:"⌢",Fscr:"ℱ",fscr:"𝒻",gacute:"ǵ",Gamma:"Γ",gamma:"γ",Gammad:"Ϝ",gammad:"ϝ",gap:"⪆",Gbreve:"Ğ",gbreve:"ğ",Gcedil:"Ģ",Gcirc:"Ĝ",gcirc:"ĝ",Gcy:"Г",gcy:"г",Gdot:"Ġ",gdot:"ġ",gE:"≧",ge:"≥",gEl:"⪌",gel:"⋛",geq:"≥",geqq:"≧",geqslant:"⩾",ges:"⩾",gescc:"⪩",gesdot:"⪀",gesdoto:"⪂",gesdotol:"⪄",gesl:"⋛︀",gesles:"⪔",Gfr:"𝔊",gfr:"𝔤",Gg:"⋙",gg:"≫",ggg:"⋙",gimel:"ℷ",GJcy:"Ѓ",gjcy:"ѓ",gl:"≷",gla:"⪥",glE:"⪒",glj:"⪤",gnap:"⪊",gnapprox:"⪊",gnE:"≩",gne:"⪈",gneq:"⪈",gneqq:"≩",gnsim:"⋧",Gopf:"𝔾",gopf:"𝕘",grave:"`",GreaterEqual:"≥",GreaterEqualLess:"⋛",GreaterFullEqual:"≧",GreaterGreater:"⪢",GreaterLess:"≷",GreaterSlantEqual:"⩾",GreaterTilde:"≳",Gscr:"𝒢",gscr:"ℊ",gsim:"≳",gsime:"⪎",gsiml:"⪐",Gt:"≫",GT:">",gt:">",gtcc:"⪧",gtcir:"⩺",gtdot:"⋗",gtlPar:"⦕",gtquest:"⩼",gtrapprox:"⪆",gtrarr:"⥸",gtrdot:"⋗",gtreqless:"⋛",gtreqqless:"⪌",gtrless:"≷",gtrsim:"≳",gvertneqq:"≩︀",gvnE:"≩︀",Hacek:"ˇ",hairsp:" ",half:"½",hamilt:"ℋ",HARDcy:"Ъ",hardcy:"ъ",hArr:"⇔",harr:"↔",harrcir:"⥈",harrw:"↭",Hat:"^",hbar:"ℏ",Hcirc:"Ĥ",hcirc:"ĥ",hearts:"♥",heartsuit:"♥",hellip:"…",hercon:"⊹",Hfr:"ℌ",hfr:"𝔥",HilbertSpace:"ℋ",hksearow:"⤥",hkswarow:"⤦",hoarr:"⇿",homtht:"∻",hookleftarrow:"↩",hookrightarrow:"↪",Hopf:"ℍ",hopf:"𝕙",horbar:"―",HorizontalLine:"─",Hscr:"ℋ",hscr:"𝒽",hslash:"ℏ",Hstrok:"Ħ",hstrok:"ħ",HumpDownHump:"≎",HumpEqual:"≏",hybull:"⁃",hyphen:"‐",Iacute:"Í",iacute:"í",ic:"",Icirc:"Î",icirc:"î",Icy:"И",icy:"и",Idot:"İ",IEcy:"Е",iecy:"е",iexcl:"¡",iff:"⇔",Ifr:"ℑ",ifr:"𝔦",Igrave:"Ì",igrave:"ì",ii:"ⅈ",iiiint:"⨌",iiint:"∭",iinfin:"⧜",iiota:"℩",IJlig:"IJ",ijlig:"ij",Im:"ℑ",Imacr:"Ī",imacr:"ī",image:"ℑ",ImaginaryI:"ⅈ",imagline:"ℐ",imagpart:"ℑ",imath:"ı",imof:"⊷",imped:"Ƶ",Implies:"⇒",in:"∈",incare:"℅",infin:"∞",infintie:"⧝",inodot:"ı",Int:"∬",int:"∫",intcal:"⊺",integers:"ℤ",Integral:"∫",intercal:"⊺",Intersection:"⋂",intlarhk:"⨗",intprod:"⨼",InvisibleComma:"",InvisibleTimes:"",IOcy:"Ё",iocy:"ё",Iogon:"Į",iogon:"į",Iopf:"𝕀",iopf:"𝕚",Iota:"Ι",iota:"ι",iprod:"⨼",iquest:"¿",Iscr:"ℐ",iscr:"𝒾",isin:"∈",isindot:"⋵",isinE:"⋹",isins:"⋴",isinsv:"⋳",isinv:"∈",it:"",Itilde:"Ĩ",itilde:"ĩ",Iukcy:"І",iukcy:"і",Iuml:"Ï",iuml:"ï",Jcirc:"Ĵ",jcirc:"ĵ",Jcy:"Й",jcy:"й",Jfr:"𝔍",jfr:"𝔧",jmath:"ȷ",Jopf:"𝕁",jopf:"𝕛",Jscr:"𝒥",jscr:"𝒿",Jsercy:"Ј",jsercy:"ј",Jukcy:"Є",jukcy:"є",Kappa:"Κ",kappa:"κ",kappav:"ϰ",Kcedil:"Ķ",kcedil:"ķ",Kcy:"К",kcy:"к",Kfr:"𝔎",kfr:"𝔨",kgreen:"ĸ",KHcy:"Х",khcy:"х",KJcy:"Ќ",kjcy:"ќ",Kopf:"𝕂",kopf:"𝕜",Kscr:"𝒦",kscr:"𝓀",lAarr:"⇚",Lacute:"Ĺ",lacute:"ĺ",laemptyv:"⦴",lagran:"ℒ",Lambda:"Λ",lambda:"λ",Lang:"⟪",lang:"⟨",langd:"⦑",langle:"⟨",lap:"⪅",Laplacetrf:"ℒ",laquo:"«",Larr:"↞",lArr:"⇐",larr:"←",larrb:"⇤",larrbfs:"⤟",larrfs:"⤝",larrhk:"↩",larrlp:"↫",larrpl:"⤹",larrsim:"⥳",larrtl:"↢",lat:"⪫",lAtail:"⤛",latail:"⤙",late:"⪭",lates:"⪭︀",lBarr:"⤎",lbarr:"⤌",lbbrk:"❲",lbrace:"{",lbrack:"[",lbrke:"⦋",lbrksld:"⦏",lbrkslu:"⦍",Lcaron:"Ľ",lcaron:"ľ",Lcedil:"Ļ",lcedil:"ļ",lceil:"⌈",lcub:"{",Lcy:"Л",lcy:"л",ldca:"⤶",ldquo:"“",ldquor:"„",ldrdhar:"⥧",ldrushar:"⥋",ldsh:"↲",lE:"≦",le:"≤",LeftAngleBracket:"⟨",LeftArrow:"←",Leftarrow:"⇐",leftarrow:"←",LeftArrowBar:"⇤",LeftArrowRightArrow:"⇆",leftarrowtail:"↢",LeftCeiling:"⌈",LeftDoubleBracket:"⟦",LeftDownTeeVector:"⥡",LeftDownVector:"⇃",LeftDownVectorBar:"⥙",LeftFloor:"⌊",leftharpoondown:"↽",leftharpoonup:"↼",leftleftarrows:"⇇",LeftRightArrow:"↔",Leftrightarrow:"⇔",leftrightarrow:"↔",leftrightarrows:"⇆",leftrightharpoons:"⇋",leftrightsquigarrow:"↭",LeftRightVector:"⥎",LeftTee:"⊣",LeftTeeArrow:"↤",LeftTeeVector:"⥚",leftthreetimes:"⋋",LeftTriangle:"⊲",LeftTriangleBar:"⧏",LeftTriangleEqual:"⊴",LeftUpDownVector:"⥑",LeftUpTeeVector:"⥠",LeftUpVector:"↿",LeftUpVectorBar:"⥘",LeftVector:"↼",LeftVectorBar:"⥒",lEg:"⪋",leg:"⋚",leq:"≤",leqq:"≦",leqslant:"⩽",les:"⩽",lescc:"⪨",lesdot:"⩿",lesdoto:"⪁",lesdotor:"⪃",lesg:"⋚︀",lesges:"⪓",lessapprox:"⪅",lessdot:"⋖",lesseqgtr:"⋚",lesseqqgtr:"⪋",LessEqualGreater:"⋚",LessFullEqual:"≦",LessGreater:"≶",lessgtr:"≶",LessLess:"⪡",lesssim:"≲",LessSlantEqual:"⩽",LessTilde:"≲",lfisht:"⥼",lfloor:"⌊",Lfr:"𝔏",lfr:"𝔩",lg:"≶",lgE:"⪑",lHar:"⥢",lhard:"↽",lharu:"↼",lharul:"⥪",lhblk:"▄",LJcy:"Љ",ljcy:"љ",Ll:"⋘",ll:"≪",llarr:"⇇",llcorner:"⌞",Lleftarrow:"⇚",llhard:"⥫",lltri:"◺",Lmidot:"Ŀ",lmidot:"ŀ",lmoust:"⎰",lmoustache:"⎰",lnap:"⪉",lnapprox:"⪉",lnE:"≨",lne:"⪇",lneq:"⪇",lneqq:"≨",lnsim:"⋦",loang:"⟬",loarr:"⇽",lobrk:"⟦",LongLeftArrow:"⟵",Longleftarrow:"⟸",longleftarrow:"⟵",LongLeftRightArrow:"⟷",Longleftrightarrow:"⟺",longleftrightarrow:"⟷",longmapsto:"⟼",LongRightArrow:"⟶",Longrightarrow:"⟹",longrightarrow:"⟶",looparrowleft:"↫",looparrowright:"↬",lopar:"⦅",Lopf:"𝕃",lopf:"𝕝",loplus:"⨭",lotimes:"⨴",lowast:"∗",lowbar:"_",LowerLeftArrow:"↙",LowerRightArrow:"↘",loz:"◊",lozenge:"◊",lozf:"⧫",lpar:"(",lparlt:"⦓",lrarr:"⇆",lrcorner:"⌟",lrhar:"⇋",lrhard:"⥭",lrm:"",lrtri:"⊿",lsaquo:"‹",Lscr:"ℒ",lscr:"𝓁",Lsh:"↰",lsh:"↰",lsim:"≲",lsime:"⪍",lsimg:"⪏",lsqb:"[",lsquo:"‘",lsquor:"‚",Lstrok:"Ł",lstrok:"ł",Lt:"≪",LT:"<",lt:"<",ltcc:"⪦",ltcir:"⩹",ltdot:"⋖",lthree:"⋋",ltimes:"⋉",ltlarr:"⥶",ltquest:"⩻",ltri:"◃",ltrie:"⊴",ltrif:"◂",ltrPar:"⦖",lurdshar:"⥊",luruhar:"⥦",lvertneqq:"≨︀",lvnE:"≨︀",macr:"¯",male:"♂",malt:"✠",maltese:"✠",Map:"⤅",map:"↦",mapsto:"↦",mapstodown:"↧",mapstoleft:"↤",mapstoup:"↥",marker:"▮",mcomma:"⨩",Mcy:"М",mcy:"м",mdash:"—",mDDot:"∺",measuredangle:"∡",MediumSpace:" ",Mellintrf:"ℳ",Mfr:"𝔐",mfr:"𝔪",mho:"℧",micro:"µ",mid:"∣",midast:"*",midcir:"⫰",middot:"·",minus:"−",minusb:"⊟",minusd:"∸",minusdu:"⨪",MinusPlus:"∓",mlcp:"⫛",mldr:"…",mnplus:"∓",models:"⊧",Mopf:"𝕄",mopf:"𝕞",mp:"∓",Mscr:"ℳ",mscr:"𝓂",mstpos:"∾",Mu:"Μ",mu:"μ",multimap:"⊸",mumap:"⊸",nabla:"∇",Nacute:"Ń",nacute:"ń",nang:"∠⃒",nap:"≉",napE:"⩰̸",napid:"≋̸",napos:"ʼn",napprox:"≉",natur:"♮",natural:"♮",naturals:"ℕ",nbsp:" ",nbump:"≎̸",nbumpe:"≏̸",ncap:"⩃",Ncaron:"Ň",ncaron:"ň",Ncedil:"Ņ",ncedil:"ņ",ncong:"≇",ncongdot:"⩭̸",ncup:"⩂",Ncy:"Н",ncy:"н",ndash:"–",ne:"≠",nearhk:"⤤",neArr:"⇗",nearr:"↗",nearrow:"↗",nedot:"≐̸",NegativeMediumSpace:"",NegativeThickSpace:"",NegativeThinSpace:"",NegativeVeryThinSpace:"",nequiv:"≢",nesear:"⤨",nesim:"≂̸",NestedGreaterGreater:"≫",NestedLessLess:"≪",NewLine:"\n",nexist:"∄",nexists:"∄",Nfr:"𝔑",nfr:"𝔫",ngE:"≧̸",nge:"≱",ngeq:"≱",ngeqq:"≧̸",ngeqslant:"⩾̸",nges:"⩾̸",nGg:"⋙̸",ngsim:"≵",nGt:"≫⃒",ngt:"≯",ngtr:"≯",nGtv:"≫̸",nhArr:"⇎",nharr:"↮",nhpar:"⫲",ni:"∋",nis:"⋼",nisd:"⋺",niv:"∋",NJcy:"Њ",njcy:"њ",nlArr:"⇍",nlarr:"↚",nldr:"‥",nlE:"≦̸",nle:"≰",nLeftarrow:"⇍",nleftarrow:"↚",nLeftrightarrow:"⇎",nleftrightarrow:"↮",nleq:"≰",nleqq:"≦̸",nleqslant:"⩽̸",nles:"⩽̸",nless:"≮",nLl:"⋘̸",nlsim:"≴",nLt:"≪⃒",nlt:"≮",nltri:"⋪",nltrie:"⋬",nLtv:"≪̸",nmid:"∤",NoBreak:"",NonBreakingSpace:" ",Nopf:"ℕ",nopf:"𝕟",Not:"⫬",not:"¬",NotCongruent:"≢",NotCupCap:"≭",NotDoubleVerticalBar:"∦",NotElement:"∉",NotEqual:"≠",NotEqualTilde:"≂̸",NotExists:"∄",NotGreater:"≯",NotGreaterEqual:"≱",NotGreaterFullEqual:"≧̸",NotGreaterGreater:"≫̸",NotGreaterLess:"≹",NotGreaterSlantEqual:"⩾̸",NotGreaterTilde:"≵",NotHumpDownHump:"≎̸",NotHumpEqual:"≏̸",notin:"∉",notindot:"⋵̸",notinE:"⋹̸",notinva:"∉",notinvb:"⋷",notinvc:"⋶",NotLeftTriangle:"⋪",NotLeftTriangleBar:"⧏̸",NotLeftTriangleEqual:"⋬",NotLess:"≮",NotLessEqual:"≰",NotLessGreater:"≸",NotLessLess:"≪̸",NotLessSlantEqual:"⩽̸",NotLessTilde:"≴",NotNestedGreaterGreater:"⪢̸",NotNestedLessLess:"⪡̸",notni:"∌",notniva:"∌",notnivb:"⋾",notnivc:"⋽",NotPrecedes:"⊀",NotPrecedesEqual:"⪯̸",NotPrecedesSlantEqual:"⋠",NotReverseElement:"∌",NotRightTriangle:"⋫",NotRightTriangleBar:"⧐̸",NotRightTriangleEqual:"⋭",NotSquareSubset:"⊏̸",NotSquareSubsetEqual:"⋢",NotSquareSuperset:"⊐̸",NotSquareSupersetEqual:"⋣",NotSubset:"⊂⃒",NotSubsetEqual:"⊈",NotSucceeds:"⊁",NotSucceedsEqual:"⪰̸",NotSucceedsSlantEqual:"⋡",NotSucceedsTilde:"≿̸",NotSuperset:"⊃⃒",NotSupersetEqual:"⊉",NotTilde:"≁",NotTildeEqual:"≄",NotTildeFullEqual:"≇",NotTildeTilde:"≉",NotVerticalBar:"∤",npar:"∦",nparallel:"∦",nparsl:"⫽⃥",npart:"∂̸",npolint:"⨔",npr:"⊀",nprcue:"⋠",npre:"⪯̸",nprec:"⊀",npreceq:"⪯̸",nrArr:"⇏",nrarr:"↛",nrarrc:"⤳̸",nrarrw:"↝̸",nRightarrow:"⇏",nrightarrow:"↛",nrtri:"⋫",nrtrie:"⋭",nsc:"⊁",nsccue:"⋡",nsce:"⪰̸",Nscr:"𝒩",nscr:"𝓃",nshortmid:"∤",nshortparallel:"∦",nsim:"≁",nsime:"≄",nsimeq:"≄",nsmid:"∤",nspar:"∦",nsqsube:"⋢",nsqsupe:"⋣",nsub:"⊄",nsubE:"⫅̸",nsube:"⊈",nsubset:"⊂⃒",nsubseteq:"⊈",nsubseteqq:"⫅̸",nsucc:"⊁",nsucceq:"⪰̸",nsup:"⊅",nsupE:"⫆̸",nsupe:"⊉",nsupset:"⊃⃒",nsupseteq:"⊉",nsupseteqq:"⫆̸",ntgl:"≹",Ntilde:"Ñ",ntilde:"ñ",ntlg:"≸",ntriangleleft:"⋪",ntrianglelefteq:"⋬",ntriangleright:"⋫",ntrianglerighteq:"⋭",Nu:"Ν",nu:"ν",num:"#",numero:"№",numsp:" ",nvap:"≍⃒",nVDash:"⊯",nVdash:"⊮",nvDash:"⊭",nvdash:"⊬",nvge:"≥⃒",nvgt:">⃒",nvHarr:"⤄",nvinfin:"⧞",nvlArr:"⤂",nvle:"≤⃒",nvlt:"<⃒",nvltrie:"⊴⃒",nvrArr:"⤃",nvrtrie:"⊵⃒",nvsim:"∼⃒",nwarhk:"⤣",nwArr:"⇖",nwarr:"↖",nwarrow:"↖",nwnear:"⤧",Oacute:"Ó",oacute:"ó",oast:"⊛",ocir:"⊚",Ocirc:"Ô",ocirc:"ô",Ocy:"О",ocy:"о",odash:"⊝",Odblac:"Ő",odblac:"ő",odiv:"⨸",odot:"⊙",odsold:"⦼",OElig:"Œ",oelig:"œ",ofcir:"⦿",Ofr:"𝔒",ofr:"𝔬",ogon:"˛",Ograve:"Ò",ograve:"ò",ogt:"⧁",ohbar:"⦵",ohm:"Ω",oint:"∮",olarr:"↺",olcir:"⦾",olcross:"⦻",oline:"‾",olt:"⧀",Omacr:"Ō",omacr:"ō",Omega:"Ω",omega:"ω",Omicron:"Ο",omicron:"ο",omid:"⦶",ominus:"⊖",Oopf:"𝕆",oopf:"𝕠",opar:"⦷",OpenCurlyDoubleQuote:"“",OpenCurlyQuote:"‘",operp:"⦹",oplus:"⊕",Or:"⩔",or:"∨",orarr:"↻",ord:"⩝",order:"ℴ",orderof:"ℴ",ordf:"ª",ordm:"º",origof:"⊶",oror:"⩖",orslope:"⩗",orv:"⩛",oS:"Ⓢ",Oscr:"𝒪",oscr:"ℴ",Oslash:"Ø",oslash:"ø",osol:"⊘",Otilde:"Õ",otilde:"õ",Otimes:"⨷",otimes:"⊗",otimesas:"⨶",Ouml:"Ö",ouml:"ö",ovbar:"⌽",OverBar:"‾",OverBrace:"⏞",OverBracket:"⎴",OverParenthesis:"⏜",par:"∥",para:"¶",parallel:"∥",parsim:"⫳",parsl:"⫽",part:"∂",PartialD:"∂",Pcy:"П",pcy:"п",percnt:"%",period:".",permil:"‰",perp:"⊥",pertenk:"‱",Pfr:"𝔓",pfr:"𝔭",Phi:"Φ",phi:"φ",phiv:"ϕ",phmmat:"ℳ",phone:"☎",Pi:"Π",pi:"π",pitchfork:"⋔",piv:"ϖ",planck:"ℏ",planckh:"ℎ",plankv:"ℏ",plus:"+",plusacir:"⨣",plusb:"⊞",pluscir:"⨢",plusdo:"∔",plusdu:"⨥",pluse:"⩲",PlusMinus:"±",plusmn:"±",plussim:"⨦",plustwo:"⨧",pm:"±",Poincareplane:"ℌ",pointint:"⨕",Popf:"ℙ",popf:"𝕡",pound:"£",Pr:"⪻",pr:"≺",prap:"⪷",prcue:"≼",prE:"⪳",pre:"⪯",prec:"≺",precapprox:"⪷",preccurlyeq:"≼",Precedes:"≺",PrecedesEqual:"⪯",PrecedesSlantEqual:"≼",PrecedesTilde:"≾",preceq:"⪯",precnapprox:"⪹",precneqq:"⪵",precnsim:"⋨",precsim:"≾",Prime:"″",prime:"′",primes:"ℙ",prnap:"⪹",prnE:"⪵",prnsim:"⋨",prod:"∏",Product:"∏",profalar:"⌮",profline:"⌒",profsurf:"⌓",prop:"∝",Proportion:"∷",Proportional:"∝",propto:"∝",prsim:"≾",prurel:"⊰",Pscr:"𝒫",pscr:"𝓅",Psi:"Ψ",psi:"ψ",puncsp:" ",Qfr:"𝔔",qfr:"𝔮",qint:"⨌",Qopf:"ℚ",qopf:"𝕢",qprime:"⁗",Qscr:"𝒬",qscr:"𝓆",quaternions:"ℍ",quatint:"⨖",quest:"?",questeq:"≟",QUOT:'"',quot:'"',rAarr:"⇛",race:"∽̱",Racute:"Ŕ",racute:"ŕ",radic:"√",raemptyv:"⦳",Rang:"⟫",rang:"⟩",rangd:"⦒",range:"⦥",rangle:"⟩",raquo:"»",Rarr:"↠",rArr:"⇒",rarr:"→",rarrap:"⥵",rarrb:"⇥",rarrbfs:"⤠",rarrc:"⤳",rarrfs:"⤞",rarrhk:"↪",rarrlp:"↬",rarrpl:"⥅",rarrsim:"⥴",Rarrtl:"⤖",rarrtl:"↣",rarrw:"↝",rAtail:"⤜",ratail:"⤚",ratio:"∶",rationals:"ℚ",RBarr:"⤐",rBarr:"⤏",rbarr:"⤍",rbbrk:"❳",rbrace:"}",rbrack:"]",rbrke:"⦌",rbrksld:"⦎",rbrkslu:"⦐",Rcaron:"Ř",rcaron:"ř",Rcedil:"Ŗ",rcedil:"ŗ",rceil:"⌉",rcub:"}",Rcy:"Р",rcy:"р",rdca:"⤷",rdldhar:"⥩",rdquo:"”",rdquor:"”",rdsh:"↳",Re:"ℜ",real:"ℜ",realine:"ℛ",realpart:"ℜ",reals:"ℝ",rect:"▭",REG:"®",reg:"®",ReverseElement:"∋",ReverseEquilibrium:"⇋",ReverseUpEquilibrium:"⥯",rfisht:"⥽",rfloor:"⌋",Rfr:"ℜ",rfr:"𝔯",rHar:"⥤",rhard:"⇁",rharu:"⇀",rharul:"⥬",Rho:"Ρ",rho:"ρ",rhov:"ϱ",RightAngleBracket:"⟩",RightArrow:"→",Rightarrow:"⇒",rightarrow:"→",RightArrowBar:"⇥",RightArrowLeftArrow:"⇄",rightarrowtail:"↣",RightCeiling:"⌉",RightDoubleBracket:"⟧",RightDownTeeVector:"⥝",RightDownVector:"⇂",RightDownVectorBar:"⥕",RightFloor:"⌋",rightharpoondown:"⇁",rightharpoonup:"⇀",rightleftarrows:"⇄",rightleftharpoons:"⇌",rightrightarrows:"⇉",rightsquigarrow:"↝",RightTee:"⊢",RightTeeArrow:"↦",RightTeeVector:"⥛",rightthreetimes:"⋌",RightTriangle:"⊳",RightTriangleBar:"⧐",RightTriangleEqual:"⊵",RightUpDownVector:"⥏",RightUpTeeVector:"⥜",RightUpVector:"↾",RightUpVectorBar:"⥔",RightVector:"⇀",RightVectorBar:"⥓",ring:"˚",risingdotseq:"≓",rlarr:"⇄",rlhar:"⇌",rlm:"",rmoust:"⎱",rmoustache:"⎱",rnmid:"⫮",roang:"⟭",roarr:"⇾",robrk:"⟧",ropar:"⦆",Ropf:"ℝ",ropf:"𝕣",roplus:"⨮",rotimes:"⨵",RoundImplies:"⥰",rpar:")",rpargt:"⦔",rppolint:"⨒",rrarr:"⇉",Rrightarrow:"⇛",rsaquo:"›",Rscr:"ℛ",rscr:"𝓇",Rsh:"↱",rsh:"↱",rsqb:"]",rsquo:"’",rsquor:"’",rthree:"⋌",rtimes:"⋊",rtri:"▹",rtrie:"⊵",rtrif:"▸",rtriltri:"⧎",RuleDelayed:"⧴",ruluhar:"⥨",rx:"℞",Sacute:"Ś",sacute:"ś",sbquo:"‚",Sc:"⪼",sc:"≻",scap:"⪸",Scaron:"Š",scaron:"š",sccue:"≽",scE:"⪴",sce:"⪰",Scedil:"Ş",scedil:"ş",Scirc:"Ŝ",scirc:"ŝ",scnap:"⪺",scnE:"⪶",scnsim:"⋩",scpolint:"⨓",scsim:"≿",Scy:"С",scy:"с",sdot:"⋅",sdotb:"⊡",sdote:"⩦",searhk:"⤥",seArr:"⇘",searr:"↘",searrow:"↘",sect:"§",semi:";",seswar:"⤩",setminus:"∖",setmn:"∖",sext:"✶",Sfr:"𝔖",sfr:"𝔰",sfrown:"⌢",sharp:"♯",SHCHcy:"Щ",shchcy:"щ",SHcy:"Ш",shcy:"ш",ShortDownArrow:"↓",ShortLeftArrow:"←",shortmid:"∣",shortparallel:"∥",ShortRightArrow:"→",ShortUpArrow:"↑",shy:"",Sigma:"Σ",sigma:"σ",sigmaf:"ς",sigmav:"ς",sim:"∼",simdot:"⩪",sime:"≃",simeq:"≃",simg:"⪞",simgE:"⪠",siml:"⪝",simlE:"⪟",simne:"≆",simplus:"⨤",simrarr:"⥲",slarr:"←",SmallCircle:"∘",smallsetminus:"∖",smashp:"⨳",smeparsl:"⧤",smid:"∣",smile:"⌣",smt:"⪪",smte:"⪬",smtes:"⪬︀",SOFTcy:"Ь",softcy:"ь",sol:"/",solb:"⧄",solbar:"⌿",Sopf:"𝕊",sopf:"𝕤",spades:"♠",spadesuit:"♠",spar:"∥",sqcap:"⊓",sqcaps:"⊓︀",sqcup:"⊔",sqcups:"⊔︀",Sqrt:"√",sqsub:"⊏",sqsube:"⊑",sqsubset:"⊏",sqsubseteq:"⊑",sqsup:"⊐",sqsupe:"⊒",sqsupset:"⊐",sqsupseteq:"⊒",squ:"□",Square:"□",square:"□",SquareIntersection:"⊓",SquareSubset:"⊏",SquareSubsetEqual:"⊑",SquareSuperset:"⊐",SquareSupersetEqual:"⊒",SquareUnion:"⊔",squarf:"▪",squf:"▪",srarr:"→",Sscr:"𝒮",sscr:"𝓈",ssetmn:"∖",ssmile:"⌣",sstarf:"⋆",Star:"⋆",star:"☆",starf:"★",straightepsilon:"ϵ",straightphi:"ϕ",strns:"¯",Sub:"⋐",sub:"⊂",subdot:"⪽",subE:"⫅",sube:"⊆",subedot:"⫃",submult:"⫁",subnE:"⫋",subne:"⊊",subplus:"⪿",subrarr:"⥹",Subset:"⋐",subset:"⊂",subseteq:"⊆",subseteqq:"⫅",SubsetEqual:"⊆",subsetneq:"⊊",subsetneqq:"⫋",subsim:"⫇",subsub:"⫕",subsup:"⫓",succ:"≻",succapprox:"⪸",succcurlyeq:"≽",Succeeds:"≻",SucceedsEqual:"⪰",SucceedsSlantEqual:"≽",SucceedsTilde:"≿",succeq:"⪰",succnapprox:"⪺",succneqq:"⪶",succnsim:"⋩",succsim:"≿",SuchThat:"∋",Sum:"∑",sum:"∑",sung:"♪",Sup:"⋑",sup:"⊃",sup1:"¹",sup2:"²",sup3:"³",supdot:"⪾",supdsub:"⫘",supE:"⫆",supe:"⊇",supedot:"⫄",Superset:"⊃",SupersetEqual:"⊇",suphsol:"⟉",suphsub:"⫗",suplarr:"⥻",supmult:"⫂",supnE:"⫌",supne:"⊋",supplus:"⫀",Supset:"⋑",supset:"⊃",supseteq:"⊇",supseteqq:"⫆",supsetneq:"⊋",supsetneqq:"⫌",supsim:"⫈",supsub:"⫔",supsup:"⫖",swarhk:"⤦",swArr:"⇙",swarr:"↙",swarrow:"↙",swnwar:"⤪",szlig:"ß",Tab:"\t",target:"⌖",Tau:"Τ",tau:"τ",tbrk:"⎴",Tcaron:"Ť",tcaron:"ť",Tcedil:"Ţ",tcedil:"ţ",Tcy:"Т",tcy:"т",tdot:"⃛",telrec:"⌕",Tfr:"𝔗",tfr:"𝔱",there4:"∴",Therefore:"∴",therefore:"∴",Theta:"Θ",theta:"θ",thetasym:"ϑ",thetav:"ϑ",thickapprox:"≈",thicksim:"∼",ThickSpace:" ",thinsp:" ",ThinSpace:" ",thkap:"≈",thksim:"∼",THORN:"Þ",thorn:"þ",Tilde:"∼",tilde:"˜",TildeEqual:"≃",TildeFullEqual:"≅",TildeTilde:"≈",times:"×",timesb:"⊠",timesbar:"⨱",timesd:"⨰",tint:"∭",toea:"⤨",top:"⊤",topbot:"⌶",topcir:"⫱",Topf:"𝕋",topf:"𝕥",topfork:"⫚",tosa:"⤩",tprime:"‴",TRADE:"™",trade:"™",triangle:"▵",triangledown:"▿",triangleleft:"◃",trianglelefteq:"⊴",triangleq:"≜",triangleright:"▹",trianglerighteq:"⊵",tridot:"◬",trie:"≜",triminus:"⨺",TripleDot:"⃛",triplus:"⨹",trisb:"⧍",tritime:"⨻",trpezium:"⏢",Tscr:"𝒯",tscr:"𝓉",TScy:"Ц",tscy:"ц",TSHcy:"Ћ",tshcy:"ћ",Tstrok:"Ŧ",tstrok:"ŧ",twixt:"≬",twoheadleftarrow:"↞",twoheadrightarrow:"↠",Uacute:"Ú",uacute:"ú",Uarr:"↟",uArr:"⇑",uarr:"↑",Uarrocir:"⥉",Ubrcy:"Ў",ubrcy:"ў",Ubreve:"Ŭ",ubreve:"ŭ",Ucirc:"Û",ucirc:"û",Ucy:"У",ucy:"у",udarr:"⇅",Udblac:"Ű",udblac:"ű",udhar:"⥮",ufisht:"⥾",Ufr:"𝔘",ufr:"𝔲",Ugrave:"Ù",ugrave:"ù",uHar:"⥣",uharl:"↿",uharr:"↾",uhblk:"▀",ulcorn:"⌜",ulcorner:"⌜",ulcrop:"⌏",ultri:"◸",Umacr:"Ū",umacr:"ū",uml:"¨",UnderBar:"_",UnderBrace:"⏟",UnderBracket:"⎵",UnderParenthesis:"⏝",Union:"⋃",UnionPlus:"⊎",Uogon:"Ų",uogon:"ų",Uopf:"𝕌",uopf:"𝕦",UpArrow:"↑",Uparrow:"⇑",uparrow:"↑",UpArrowBar:"⤒",UpArrowDownArrow:"⇅",UpDownArrow:"↕",Updownarrow:"⇕",updownarrow:"↕",UpEquilibrium:"⥮",upharpoonleft:"↿",upharpoonright:"↾",uplus:"⊎",UpperLeftArrow:"↖",UpperRightArrow:"↗",Upsi:"ϒ",upsi:"υ",upsih:"ϒ",Upsilon:"Υ",upsilon:"υ",UpTee:"⊥",UpTeeArrow:"↥",upuparrows:"⇈",urcorn:"⌝",urcorner:"⌝",urcrop:"⌎",Uring:"Ů",uring:"ů",urtri:"◹",Uscr:"𝒰",uscr:"𝓊",utdot:"⋰",Utilde:"Ũ",utilde:"ũ",utri:"▵",utrif:"▴",uuarr:"⇈",Uuml:"Ü",uuml:"ü",uwangle:"⦧",vangrt:"⦜",varepsilon:"ϵ",varkappa:"ϰ",varnothing:"∅",varphi:"ϕ",varpi:"ϖ",varpropto:"∝",vArr:"⇕",varr:"↕",varrho:"ϱ",varsigma:"ς",varsubsetneq:"⊊︀",varsubsetneqq:"⫋︀",varsupsetneq:"⊋︀",varsupsetneqq:"⫌︀",vartheta:"ϑ",vartriangleleft:"⊲",vartriangleright:"⊳",Vbar:"⫫",vBar:"⫨",vBarv:"⫩",Vcy:"В",vcy:"в",VDash:"⊫",Vdash:"⊩",vDash:"⊨",vdash:"⊢",Vdashl:"⫦",Vee:"⋁",vee:"∨",veebar:"⊻",veeeq:"≚",vellip:"⋮",Verbar:"‖",verbar:"|",Vert:"‖",vert:"|",VerticalBar:"∣",VerticalLine:"|",VerticalSeparator:"❘",VerticalTilde:"≀",VeryThinSpace:" ",Vfr:"𝔙",vfr:"𝔳",vltri:"⊲",vnsub:"⊂⃒",vnsup:"⊃⃒",Vopf:"𝕍",vopf:"𝕧",vprop:"∝",vrtri:"⊳",Vscr:"𝒱",vscr:"𝓋",vsubnE:"⫋︀",vsubne:"⊊︀",vsupnE:"⫌︀",vsupne:"⊋︀",Vvdash:"⊪",vzigzag:"⦚",Wcirc:"Ŵ",wcirc:"ŵ",wedbar:"⩟",Wedge:"⋀",wedge:"∧",wedgeq:"≙",weierp:"℘",Wfr:"𝔚",wfr:"𝔴",Wopf:"𝕎",wopf:"𝕨",wp:"℘",wr:"≀",wreath:"≀",Wscr:"𝒲",wscr:"𝓌",xcap:"⋂",xcirc:"◯",xcup:"⋃",xdtri:"▽",Xfr:"𝔛",xfr:"𝔵",xhArr:"⟺",xharr:"⟷",Xi:"Ξ",xi:"ξ",xlArr:"⟸",xlarr:"⟵",xmap:"⟼",xnis:"⋻",xodot:"⨀",Xopf:"𝕏",xopf:"𝕩",xoplus:"⨁",xotime:"⨂",xrArr:"⟹",xrarr:"⟶",Xscr:"𝒳",xscr:"𝓍",xsqcup:"⨆",xuplus:"⨄",xutri:"△",xvee:"⋁",xwedge:"⋀",Yacute:"Ý",yacute:"ý",YAcy:"Я",yacy:"я",Ycirc:"Ŷ",ycirc:"ŷ",Ycy:"Ы",ycy:"ы",yen:"¥",Yfr:"𝔜",yfr:"𝔶",YIcy:"Ї",yicy:"ї",Yopf:"𝕐",yopf:"𝕪",Yscr:"𝒴",yscr:"𝓎",YUcy:"Ю",yucy:"ю",Yuml:"Ÿ",yuml:"ÿ",Zacute:"Ź",zacute:"ź",Zcaron:"Ž",zcaron:"ž",Zcy:"З",zcy:"з",Zdot:"Ż",zdot:"ż",zeetrf:"ℨ",ZeroWidthSpace:"",Zeta:"Ζ",zeta:"ζ",Zfr:"ℨ",zfr:"𝔷",ZHcy:"Ж",zhcy:"ж",zigrarr:"⇝",Zopf:"ℤ",zopf:"𝕫",Zscr:"𝒵",zscr:"𝓏",zwj:"",zwnj:""}),exports.entityMap=exports.HTML_ENTITIES}(entities)),entities}var hasRequiredSax,hasRequiredDomParser,hasRequiredLib$2,sax={};function requireSax(){if(hasRequiredSax)return sax;hasRequiredSax=1;var NAMESPACE=requireConventions().NAMESPACE,nameStartChar=/[A-Z_a-z\xC0-\xD6\xD8-\xF6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/,nameChar=new RegExp("[\\-\\.0-9"+nameStartChar.source.slice(1,-1)+"\\u00B7\\u0300-\\u036F\\u203F-\\u2040]"),tagNamePattern=new RegExp("^"+nameStartChar.source+nameChar.source+"*(?::"+nameStartChar.source+nameChar.source+"*)?$");function ParseError(message,locator){this.message=message,this.locator=locator,Error.captureStackTrace&&Error.captureStackTrace(this,ParseError)}function XMLReader(){}function copyLocator(f,t){return t.lineNumber=f.lineNumber,t.columnNumber=f.columnNumber,t}function parseElementStartPart(source,start,el,currentNSMap,entityReplacer,errorHandler){function addAttribute(qname,value,startIndex){el.attributeNames.hasOwnProperty(qname)&&errorHandler.fatalError("Attribute "+qname+" redefined"),el.addValue(qname,value.replace(/[\t\n\r]/g," ").replace(/&#?\w+;/g,entityReplacer),startIndex)}for(var attrName,p=++start,s=0;;){var c=source.charAt(p);switch(c){case"=":if(1===s)attrName=source.slice(start,p),s=3;else{if(2!==s)throw new Error("attribute equal must after attrName");s=3}break;case"'":case'"':if(3===s||1===s){if(1===s&&(errorHandler.warning('attribute value must after "="'),attrName=source.slice(start,p)),start=p+1,!((p=source.indexOf(c,start))>0))throw new Error("attribute value no end '"+c+"' match");addAttribute(attrName,value=source.slice(start,p),start-1),s=5}else{if(4!=s)throw new Error('attribute value must after "="');addAttribute(attrName,value=source.slice(start,p),start),errorHandler.warning('attribute "'+attrName+'" missed start quot('+c+")!!"),start=p+1,s=5}break;case"/":switch(s){case 0:el.setTagName(source.slice(start,p));case 5:case 6:case 7:s=7,el.closed=!0;case 4:case 1:break;case 2:el.closed=!0;break;default:throw new Error("attribute invalid close char('/')")}break;case"":return errorHandler.error("unexpected end of input"),0==s&&el.setTagName(source.slice(start,p)),p;case">":switch(s){case 0:el.setTagName(source.slice(start,p));case 5:case 6:case 7:break;case 4:case 1:"/"===(value=source.slice(start,p)).slice(-1)&&(el.closed=!0,value=value.slice(0,-1));case 2:2===s&&(value=attrName),4==s?(errorHandler.warning('attribute "'+value+'" missed quot(")!'),addAttribute(attrName,value,start)):(NAMESPACE.isHTML(currentNSMap[""])&&value.match(/^(?:disabled|checked|selected)$/i)||errorHandler.warning('attribute "'+value+'" missed value!! "'+value+'" instead!!'),addAttribute(value,value,start));break;case 3:throw new Error("attribute value missed!!")}return p;case"":c=" ";default:if(c<=" ")switch(s){case 0:el.setTagName(source.slice(start,p)),s=6;break;case 1:attrName=source.slice(start,p),s=2;break;case 4:var value=source.slice(start,p);errorHandler.warning('attribute "'+value+'" missed quot(")!!'),addAttribute(attrName,value,start);case 5:s=6}else switch(s){case 2:el.tagName,NAMESPACE.isHTML(currentNSMap[""])&&attrName.match(/^(?:disabled|checked|selected)$/i)||errorHandler.warning('attribute "'+attrName+'" missed value!! "'+attrName+'" instead2!!'),addAttribute(attrName,attrName,start),start=p,s=1;break;case 5:errorHandler.warning('attribute space is required"'+attrName+'"!!');case 6:s=1,start=p;break;case 3:s=4,start=p;break;case 7:throw new Error("elements closed character '/' and '>' must be connected to")}}p++}}function appendElement(el,domBuilder,currentNSMap){for(var tagName=el.tagName,localNSMap=null,i=el.length;i--;){var a=el[i],qName=a.qName,value=a.value;if((nsp=qName.indexOf(":"))>0)var prefix=a.prefix=qName.slice(0,nsp),localName=qName.slice(nsp+1),nsPrefix="xmlns"===prefix&&localName;else localName=qName,prefix=null,nsPrefix="xmlns"===qName&&"";a.localName=localName,!1!==nsPrefix&&(null==localNSMap&&(localNSMap={},_copy(currentNSMap,currentNSMap={})),currentNSMap[nsPrefix]=localNSMap[nsPrefix]=value,a.uri=NAMESPACE.XMLNS,domBuilder.startPrefixMapping(nsPrefix,value))}for(i=el.length;i--;){(prefix=(a=el[i]).prefix)&&("xml"===prefix&&(a.uri=NAMESPACE.XML),"xmlns"!==prefix&&(a.uri=currentNSMap[prefix||""]))}var nsp;(nsp=tagName.indexOf(":"))>0?(prefix=el.prefix=tagName.slice(0,nsp),localName=el.localName=tagName.slice(nsp+1)):(prefix=null,localName=el.localName=tagName);var ns=el.uri=currentNSMap[prefix||""];if(domBuilder.startElement(ns,localName,tagName,el),!el.closed)return el.currentNSMap=currentNSMap,el.localNSMap=localNSMap,!0;if(domBuilder.endElement(ns,localName,tagName),localNSMap)for(prefix in localNSMap)Object.prototype.hasOwnProperty.call(localNSMap,prefix)&&domBuilder.endPrefixMapping(prefix)}function parseHtmlSpecialContent(source,elStartEnd,tagName,entityReplacer,domBuilder){if(/^(?:script|textarea)$/i.test(tagName)){var elEndStart=source.indexOf("</"+tagName+">",elStartEnd),text=source.substring(elStartEnd+1,elEndStart);if(/[&<]/.test(text))return/^script$/i.test(tagName)?(domBuilder.characters(text,0,text.length),elEndStart):(text=text.replace(/&#?\w+;/g,entityReplacer),domBuilder.characters(text,0,text.length),elEndStart)}return elStartEnd+1}function fixSelfClosed(source,elStartEnd,tagName,closeMap){var pos=closeMap[tagName];return null==pos&&((pos=source.lastIndexOf("</"+tagName+">"))<elStartEnd&&(pos=source.lastIndexOf("</"+tagName)),closeMap[tagName]=pos),pos<elStartEnd}function _copy(source,target){for(var n in source)Object.prototype.hasOwnProperty.call(source,n)&&(target[n]=source[n])}function parseDCC(source,start,domBuilder,errorHandler){if("-"===source.charAt(start+2))return"-"===source.charAt(start+3)?(end=source.indexOf("--\x3e",start+4))>start?(domBuilder.comment(source,start+4,end-start-4),end+3):(errorHandler.error("Unclosed comment"),-1):-1;if("CDATA["==source.substr(start+3,6)){var end=source.indexOf("]]>",start+9);return domBuilder.startCDATA(),domBuilder.characters(source,start+9,end-start-9),domBuilder.endCDATA(),end+3}var matchs=function split(source,start){var match,buf=[],reg=/'[^']+'|"[^"]+"|[^\s<>\/=]+=?|(\/?\s*>|<)/g;reg.lastIndex=start,reg.exec(source);for(;match=reg.exec(source);)if(buf.push(match),match[1])return buf}(source,start),len=matchs.length;if(len>1&&/!doctype/i.test(matchs[0][0])){var name=matchs[1][0],pubid=!1,sysid=!1;len>3&&(/^public$/i.test(matchs[2][0])?(pubid=matchs[3][0],sysid=len>4&&matchs[4][0]):/^system$/i.test(matchs[2][0])&&(sysid=matchs[3][0]));var lastMatch=matchs[len-1];return domBuilder.startDTD(name,pubid,sysid),domBuilder.endDTD(),lastMatch.index+lastMatch[0].length}return-1}function parseInstruction(source,start,domBuilder){var end=source.indexOf("?>",start);if(end){var match=source.substring(start,end).match(/^<\?(\S*)\s*([\s\S]*?)\s*$/);return match?(match[0].length,domBuilder.processingInstruction(match[1],match[2]),end+2):-1}return-1}function ElementAttributes(){this.attributeNames={}}return ParseError.prototype=new Error,ParseError.prototype.name=ParseError.name,XMLReader.prototype={parse:function(source,defaultNSMap,entityMap){var domBuilder=this.domBuilder;domBuilder.startDocument(),_copy(defaultNSMap,defaultNSMap={}),function parse(source,defaultNSMapCopy,entityMap,domBuilder,errorHandler){function fixedFromCharCode(code){if(code>65535){var surrogate1=55296+((code-=65536)>>10),surrogate2=56320+(1023&code);return String.fromCharCode(surrogate1,surrogate2)}return String.fromCharCode(code)}function entityReplacer(a){var k=a.slice(1,-1);return Object.hasOwnProperty.call(entityMap,k)?entityMap[k]:"#"===k.charAt(0)?fixedFromCharCode(parseInt(k.substr(1).replace("x","0x"))):(errorHandler.error("entity not found:"+a),a)}function appendText(end){if(end>start){var xt=source.substring(start,end).replace(/&#?\w+;/g,entityReplacer);locator&&position(start),domBuilder.characters(xt,0,end-start),start=end}}function position(p,m){for(;p>=lineEnd&&(m=linePattern.exec(source));)lineStart=m.index,lineEnd=lineStart+m[0].length,locator.lineNumber++;locator.columnNumber=p-lineStart+1}var lineStart=0,lineEnd=0,linePattern=/.*(?:\r\n?|\n)|.*$/g,locator=domBuilder.locator,parseStack=[{currentNSMap:defaultNSMapCopy}],closeMap={},start=0;for(;;){try{var tagStart=source.indexOf("<",start);if(tagStart<0){if(!source.substr(start).match(/^\s*$/)){var doc=domBuilder.doc,text=doc.createTextNode(source.substr(start));doc.appendChild(text),domBuilder.currentElement=text}return}switch(tagStart>start&&appendText(tagStart),source.charAt(tagStart+1)){case"/":var end=source.indexOf(">",tagStart+3),tagName=source.substring(tagStart+2,end).replace(/[ \t\n\r]+$/g,""),config=parseStack.pop();end<0?(tagName=source.substring(tagStart+2).replace(/[\s<].*/,""),errorHandler.error("end tag name: "+tagName+" is not complete:"+config.tagName),end=tagStart+1+tagName.length):tagName.match(/\s</)&&(tagName=tagName.replace(/[\s<].*/,""),errorHandler.error("end tag name: "+tagName+" maybe not complete"),end=tagStart+1+tagName.length);var localNSMap=config.localNSMap,endMatch=config.tagName==tagName;if(endMatch||config.tagName&&config.tagName.toLowerCase()==tagName.toLowerCase()){if(domBuilder.endElement(config.uri,config.localName,tagName),localNSMap)for(var prefix in localNSMap)Object.prototype.hasOwnProperty.call(localNSMap,prefix)&&domBuilder.endPrefixMapping(prefix);endMatch||errorHandler.fatalError("end tag name: "+tagName+" is not match the current start tagName:"+config.tagName)}else parseStack.push(config);end++;break;case"?":locator&&position(tagStart),end=parseInstruction(source,tagStart,domBuilder);break;case"!":locator&&position(tagStart),end=parseDCC(source,tagStart,domBuilder,errorHandler);break;default:locator&&position(tagStart);var el=new ElementAttributes,currentNSMap=parseStack[parseStack.length-1].currentNSMap,len=(end=parseElementStartPart(source,tagStart,el,currentNSMap,entityReplacer,errorHandler),el.length);if(!el.closed&&fixSelfClosed(source,end,el.tagName,closeMap)&&(el.closed=!0,entityMap.nbsp||errorHandler.warning("unclosed xml attribute")),locator&&len){for(var locator2=copyLocator(locator,{}),i=0;i<len;i++){var a=el[i];position(a.offset),a.locator=copyLocator(locator,{})}domBuilder.locator=locator2,appendElement(el,domBuilder,currentNSMap)&&parseStack.push(el),domBuilder.locator=locator}else appendElement(el,domBuilder,currentNSMap)&&parseStack.push(el);NAMESPACE.isHTML(el.uri)&&!el.closed?end=parseHtmlSpecialContent(source,end,el.tagName,entityReplacer,domBuilder):end++}}catch(e){if(e instanceof ParseError)throw e;errorHandler.error("element parse error: "+e),end=-1}end>start?start=end:appendText(Math.max(tagStart,start)+1)}}(source,defaultNSMap,entityMap,domBuilder,this.errorHandler),domBuilder.endDocument()}},ElementAttributes.prototype={setTagName:function(tagName){if(!tagNamePattern.test(tagName))throw new Error("invalid tagName:"+tagName);this.tagName=tagName},addValue:function(qName,value,offset){if(!tagNamePattern.test(qName))throw new Error("invalid attribute:"+qName);this.attributeNames[qName]=this.length,this[this.length++]={qName:qName,value:value,offset:offset}},length:0,getLocalName:function(i){return this[i].localName},getLocator:function(i){return this[i].locator},getQName:function(i){return this[i].qName},getURI:function(i){return this[i].uri},getValue:function(i){return this[i].value}},sax.XMLReader=XMLReader,sax.ParseError=ParseError,sax}function requireDomParser(){if(hasRequiredDomParser)return domParser;hasRequiredDomParser=1;var conventions=requireConventions(),dom=requireDom(),entities=requireEntities(),sax=requireSax(),DOMImplementation=dom.DOMImplementation,NAMESPACE=conventions.NAMESPACE,ParseError=sax.ParseError,XMLReader=sax.XMLReader;function normalizeLineEndings(input){return input.replace(/\r[\n\u0085]/g,"\n").replace(/[\r\u0085\u2028]/g,"\n")}function DOMParser(options){this.options=options||{locator:{}}}function DOMHandler(){this.cdata=!1}function position(locator,node){node.lineNumber=locator.lineNumber,node.columnNumber=locator.columnNumber}function _locator(l){if(l)return"\n@"+(l.systemId||"")+"#[line:"+l.lineNumber+",col:"+l.columnNumber+"]"}function _toString(chars,start,length){return"string"==typeof chars?chars.substr(start,length):chars.length>=start+length||start?new java.lang.String(chars,start,length)+"":chars}function appendElement(hander,node){hander.currentElement?hander.currentElement.appendChild(node):hander.doc.appendChild(node)}return DOMParser.prototype.parseFromString=function(source,mimeType){var options=this.options,sax=new XMLReader,domBuilder=options.domBuilder||new DOMHandler,errorHandler=options.errorHandler,locator=options.locator,defaultNSMap=options.xmlns||{},isHTML=/\/x?html?$/.test(mimeType),entityMap=isHTML?entities.HTML_ENTITIES:entities.XML_ENTITIES;locator&&domBuilder.setDocumentLocator(locator),sax.errorHandler=function buildErrorHandler(errorImpl,domBuilder,locator){if(!errorImpl){if(domBuilder instanceof DOMHandler)return domBuilder;errorImpl=domBuilder}var errorHandler={},isCallback=errorImpl instanceof Function;function build(key){var fn=errorImpl[key];!fn&&isCallback&&(fn=2==errorImpl.length?function(msg){errorImpl(key,msg)}:errorImpl),errorHandler[key]=fn&&function(msg){fn("[xmldom "+key+"]\t"+msg+_locator(locator))}||function(){}}return locator=locator||{},build("warning"),build("error"),build("fatalError"),errorHandler}(errorHandler,domBuilder,locator),sax.domBuilder=options.domBuilder||domBuilder,isHTML&&(defaultNSMap[""]=NAMESPACE.HTML),defaultNSMap.xml=defaultNSMap.xml||NAMESPACE.XML;var normalize=options.normalizeLineEndings||normalizeLineEndings;return source&&"string"==typeof source?sax.parse(normalize(source),defaultNSMap,entityMap):sax.errorHandler.error("invalid doc source"),domBuilder.doc},DOMHandler.prototype={startDocument:function(){this.doc=(new DOMImplementation).createDocument(null,null,null),this.locator&&(this.doc.documentURI=this.locator.systemId)},startElement:function(namespaceURI,localName,qName,attrs){var doc=this.doc,el=doc.createElementNS(namespaceURI,qName||localName),len=attrs.length;appendElement(this,el),this.currentElement=el,this.locator&&position(this.locator,el);for(var i=0;i<len;i++){namespaceURI=attrs.getURI(i);var value=attrs.getValue(i),attr=(qName=attrs.getQName(i),doc.createAttributeNS(namespaceURI,qName));this.locator&&position(attrs.getLocator(i),attr),attr.value=attr.nodeValue=value,el.setAttributeNode(attr)}},endElement:function(namespaceURI,localName,qName){var current=this.currentElement;current.tagName,this.currentElement=current.parentNode},startPrefixMapping:function(prefix,uri){},endPrefixMapping:function(prefix){},processingInstruction:function(target,data){var ins=this.doc.createProcessingInstruction(target,data);this.locator&&position(this.locator,ins),appendElement(this,ins)},ignorableWhitespace:function(ch,start,length){},characters:function(chars,start,length){if(chars=_toString.apply(this,arguments)){if(this.cdata)var charNode=this.doc.createCDATASection(chars);else charNode=this.doc.createTextNode(chars);this.currentElement?this.currentElement.appendChild(charNode):/^\s*$/.test(chars)&&this.doc.appendChild(charNode),this.locator&&position(this.locator,charNode)}},skippedEntity:function(name){},endDocument:function(){this.doc.normalize()},setDocumentLocator:function(locator){(this.locator=locator)&&(locator.lineNumber=0)},comment:function(chars,start,length){chars=_toString.apply(this,arguments);var comm=this.doc.createComment(chars);this.locator&&position(this.locator,comm),appendElement(this,comm)},startCDATA:function(){this.cdata=!0},endCDATA:function(){this.cdata=!1},startDTD:function(name,publicId,systemId){var impl=this.doc.implementation;if(impl&&impl.createDocumentType){var dt=impl.createDocumentType(name,publicId,systemId);this.locator&&position(this.locator,dt),appendElement(this,dt),this.doc.doctype=dt}},warning:function(error){console.warn("[xmldom warning]\t"+error,_locator(this.locator))},error:function(error){console.error("[xmldom error]\t"+error,_locator(this.locator))},fatalError:function(error){throw new ParseError(error,this.locator)}},"endDTD,startEntity,endEntity,attributeDecl,elementDecl,externalEntityDecl,internalEntityDecl,resolveEntity,getExternalSubset,notationDecl,unparsedEntityDecl".replace(/\w+/g,(function(key){DOMHandler.prototype[key]=function(){return null}})),domParser.__DOMHandler=DOMHandler,domParser.normalizeLineEndings=normalizeLineEndings,domParser.DOMParser=DOMParser,domParser}var hasRequiredDist,hasRequiredUtils$2,utils$2={},dist={};function requireDist(){if(hasRequiredDist)return dist;var NodeTypes;function isNodeLike(value){return value&&"object"==typeof value&&Number.isInteger(value.nodeType)&&value.nodeType>=1&&value.nodeType<=11&&"string"==typeof value.nodeName&&"function"==typeof value.appendChild&&"function"==typeof value.removeChild}function isArrayOfNodes(value){return Array.isArray(value)&&value.every(isNodeLike)}function isNodeOfType(type,value){return isNodeLike(value)&&value.nodeType===type}function assertIsNodeOfType(type,value){const typeName=Object.keys(NodeTypes).find((key=>NodeTypes[key]===type));if(!isNodeOfType(type,value))throw new Error(`Value is not of type ${typeName}`)}hasRequiredDist=1,Object.defineProperty(dist,"__esModule",{value:!0}),dist.assertIsDocumentFragmentNode=dist.assertIsDocumentTypeNode=dist.assertIsDocumentNode=dist.assertIsCommentNode=dist.assertIsProcessingInstructionNode=dist.assertIsCDATASectionNode=dist.assertIsTextNode=dist.assertIsAttributeNode=dist.assertIsElementNode=dist.isDocumentFragmentNode=dist.isDocumentTypeNode=dist.isDocumentNode=dist.isCommentNode=dist.isProcessingInstructionNode=dist.isCDATASectionNode=dist.isTextNode=dist.isAttributeNode=dist.isElementNode=dist.assertIsArrayOfNodes=dist.isArrayOfNodes=dist.assertIsNodeLike=dist.isNodeLike=dist.NodeTypes=void 0,function(NodeTypes){NodeTypes[NodeTypes.ELEMENT_NODE=1]="ELEMENT_NODE",NodeTypes[NodeTypes.ATTRIBUTE_NODE=2]="ATTRIBUTE_NODE",NodeTypes[NodeTypes.TEXT_NODE=3]="TEXT_NODE",NodeTypes[NodeTypes.CDATA_SECTION_NODE=4]="CDATA_SECTION_NODE",NodeTypes[NodeTypes.PROCESSING_INSTRUCTION_NODE=7]="PROCESSING_INSTRUCTION_NODE",NodeTypes[NodeTypes.COMMENT_NODE=8]="COMMENT_NODE",NodeTypes[NodeTypes.DOCUMENT_NODE=9]="DOCUMENT_NODE",NodeTypes[NodeTypes.DOCUMENT_TYPE_NODE=10]="DOCUMENT_TYPE_NODE",NodeTypes[NodeTypes.DOCUMENT_FRAGMENT_NODE=11]="DOCUMENT_FRAGMENT_NODE"}(NodeTypes||(dist.NodeTypes=NodeTypes={})),dist.isNodeLike=isNodeLike,dist.assertIsNodeLike=function assertIsNodeLike(value){if(!isNodeLike(value))throw new Error(`Value is not a Node-like object. Received: ${value}`)},dist.isArrayOfNodes=isArrayOfNodes,dist.assertIsArrayOfNodes=function assertIsArrayOfNodes(value){if(!isArrayOfNodes(value))throw new Error("Value is not an array of Nodes")};dist.isElementNode=value=>isNodeOfType(NodeTypes.ELEMENT_NODE,value);dist.isAttributeNode=value=>isNodeOfType(NodeTypes.ATTRIBUTE_NODE,value);dist.isTextNode=value=>isNodeOfType(NodeTypes.TEXT_NODE,value);dist.isCDATASectionNode=value=>isNodeOfType(NodeTypes.CDATA_SECTION_NODE,value);dist.isProcessingInstructionNode=value=>isNodeOfType(NodeTypes.PROCESSING_INSTRUCTION_NODE,value);dist.isCommentNode=value=>isNodeOfType(NodeTypes.COMMENT_NODE,value);dist.isDocumentNode=value=>isNodeOfType(NodeTypes.DOCUMENT_NODE,value);dist.isDocumentTypeNode=value=>isNodeOfType(NodeTypes.DOCUMENT_TYPE_NODE,value);dist.isDocumentFragmentNode=value=>isNodeOfType(NodeTypes.DOCUMENT_FRAGMENT_NODE,value);dist.assertIsElementNode=value=>{assertIsNodeOfType(NodeTypes.ELEMENT_NODE,value)};dist.assertIsAttributeNode=value=>assertIsNodeOfType(NodeTypes.ATTRIBUTE_NODE,value);dist.assertIsTextNode=value=>assertIsNodeOfType(NodeTypes.TEXT_NODE,value);dist.assertIsCDATASectionNode=value=>assertIsNodeOfType(NodeTypes.CDATA_SECTION_NODE,value);dist.assertIsProcessingInstructionNode=value=>assertIsNodeOfType(NodeTypes.PROCESSING_INSTRUCTION_NODE,value);dist.assertIsCommentNode=value=>assertIsNodeOfType(NodeTypes.COMMENT_NODE,value);dist.assertIsDocumentNode=value=>assertIsNodeOfType(NodeTypes.DOCUMENT_NODE,value);dist.assertIsDocumentTypeNode=value=>assertIsNodeOfType(NodeTypes.DOCUMENT_TYPE_NODE,value);return dist.assertIsDocumentFragmentNode=value=>assertIsNodeOfType(NodeTypes.DOCUMENT_FRAGMENT_NODE,value),dist}function requireUtils$2(){return hasRequiredUtils$2||(hasRequiredUtils$2=1,function(exports){Object.defineProperty(exports,"__esModule",{value:!0}),exports.validateDigestValue=exports.findAncestorNs=exports.derToPem=exports.pemToDer=exports.normalizePem=exports.BASE64_REGEX=exports.EXTRACT_X509_CERTS=exports.PEM_FORMAT_REGEX=exports.encodeSpecialCharactersInText=exports.encodeSpecialCharactersInAttribute=exports.findChilds=exports.findChildren=exports.findAttr=exports.isArrayHasLength=void 0;const xpath=requireXpath(),isDomNode=requireDist();function isArrayHasLength(array){return Array.isArray(array)&&array.length>0}function attrEqualsExplicitly(attr,localName,namespace){return attr.localName===localName&&(attr.namespaceURI===namespace||null==namespace)}function attrEqualsImplicitly(attr,localName,namespace,node){return attr.localName===localName&&(!attr.namespaceURI&&node?.namespaceURI===namespace||null==namespace)}function findChildren(node,localName,namespace){const element=node.documentElement??node,res=[];for(let i=0;i<element.childNodes.length;i++){const child=element.childNodes[i];!isDomNode.isElementNode(child)||child.localName!==localName||child.namespaceURI!==namespace&&null!=namespace||res.push(child)}return res}exports.isArrayHasLength=isArrayHasLength,exports.findAttr=function findAttr(element,localName,namespace){for(let i=0;i<element.attributes.length;i++){const attr=element.attributes[i];if(attrEqualsExplicitly(attr,localName,namespace)||attrEqualsImplicitly(attr,localName,namespace,element))return attr}return null},exports.findChildren=findChildren,exports.findChilds=function findChilds(node,localName,namespace){return findChildren(node,localName,namespace)};const xml_special_to_encoded_attribute={"&":"&","<":"<",'"':""","\r":"
","\n":"
","\t":"	"},xml_special_to_encoded_text={"&":"&","<":"<",">":">","\r":"
"};function normalizePem(pem){return`${(pem.trim().replace(/(\r\n|\r)/g,"\n").match(/.{1,64}/g)??[]).join("\n")}\n`}function collectAncestorNamespaces(node,nsArray=[]){if(!isDomNode.isElementNode(node.parentNode))return nsArray;const parent=node.parentNode;if(!parent)return nsArray;if(parent.attributes&&parent.attributes.length>0)for(let i=0;i<parent.attributes.length;i++){const attr=parent.attributes[i];attr&&attr.nodeName&&-1!==attr.nodeName.search(/^xmlns:?/)&&nsArray.push({prefix:attr.nodeName.replace(/^xmlns:?/,""),namespaceURI:attr.nodeValue||""})}return collectAncestorNamespaces(parent,nsArray)}exports.encodeSpecialCharactersInAttribute=function encodeSpecialCharactersInAttribute(attributeValue){return attributeValue.replace(/([&<"\r\n\t])/g,(function(str,item){return xml_special_to_encoded_attribute[item]}))},exports.encodeSpecialCharactersInText=function encodeSpecialCharactersInText(text){return text.replace(/([&<>\r])/g,(function(str,item){return xml_special_to_encoded_text[item]}))},exports.PEM_FORMAT_REGEX=new RegExp("^-----BEGIN [A-Z ]{1,48}-----([^-]*)-----END [A-Z ]{1,48}-----$","s"),exports.EXTRACT_X509_CERTS=new RegExp("-----BEGIN CERTIFICATE-----[^-]*-----END CERTIFICATE-----","g"),exports.BASE64_REGEX=new RegExp("^(?:[A-Za-z0-9\\+\\/]{4}\\n{0,1})*(?:[A-Za-z0-9\\+\\/]{2}==|[A-Za-z0-9\\+\\/]{3}=)?$","s"),exports.normalizePem=normalizePem,exports.pemToDer=function pemToDer(pem){if(!exports.PEM_FORMAT_REGEX.test(pem.trim()))throw new Error("Invalid PEM format.");return Buffer.from(pem.replace(/(\r\n|\r)/g,"").replace(/-----BEGIN [A-Z\x20]{1,48}-----\n?/,"").replace(/-----END [A-Z\x20]{1,48}-----\n?/,""),"base64")},exports.derToPem=function derToPem(der,pemLabel){const base64Der=Buffer.isBuffer(der)?der.toString("base64").trim():der.replace(/(\r\n|\r)/g,"").trim();if(exports.PEM_FORMAT_REGEX.test(base64Der))return normalizePem(base64Der);if(exports.BASE64_REGEX.test(base64Der.replace(/ /g,""))){if(null==pemLabel)throw new Error("PEM label is required when DER is given.");return normalizePem(`-----BEGIN ${pemLabel}-----\n${base64Der.replace(/ /g,"")}\n-----END ${pemLabel}-----`)}throw new Error("Unknown DER format.")},exports.findAncestorNs=function findAncestorNs(doc,docSubsetXpath,namespaceResolver){if(null==docSubsetXpath)return[];const docSubset=xpath.selectWithResolver(docSubsetXpath,doc,namespaceResolver);if(!isArrayHasLength(docSubset))return[];if(!function isElementSubset(docSubset){return docSubset.every((node=>isDomNode.isElementNode(node)))}(docSubset))throw new Error("Document subset must be list of elements");const ancestorNs=collectAncestorNamespaces(docSubset[0]),ancestorNsWithoutDuplicate=[];for(let i=0;i<ancestorNs.length;i++){let notOnTheList=!0;for(const v in ancestorNsWithoutDuplicate)if(ancestorNsWithoutDuplicate[v].prefix===ancestorNs[i].prefix){notOnTheList=!1;break}notOnTheList&&ancestorNsWithoutDuplicate.push(ancestorNs[i])}const returningNs=[],subsetNsPrefix=function findNSPrefix(subset){const subsetAttributes=subset.attributes;for(let k=0;k<subsetAttributes.length;k++){const nodeName=subsetAttributes[k].nodeName;if(-1!==nodeName.search(/^xmlns:?/))return nodeName.replace(/^xmlns:?/,"")}return subset.prefix||""}(docSubset[0]);for(const ancestorNs of ancestorNsWithoutDuplicate)ancestorNs.prefix!==subsetNsPrefix&&returningNs.push(ancestorNs);return returningNs},exports.validateDigestValue=function validateDigestValue(digest,expectedDigest){const buffer=Buffer.from(digest,"base64"),expectedBuffer=Buffer.from(expectedDigest,"base64");if("function"==typeof buffer.equals)return buffer.equals(expectedBuffer);if(buffer.length!==expectedBuffer.length)return!1;for(let i=0;i<buffer.length;i++)if(buffer[i]!==expectedBuffer[i])return!1;return!0}}(utils$2)),utils$2}var hasRequiredC14nCanonicalization,c14nCanonicalization={};var hasRequiredExclusiveCanonicalization,exclusiveCanonicalization={};var hasRequiredEnvelopedSignature,envelopedSignature={};var hasRequiredHashAlgorithms,hashAlgorithms={};function requireHashAlgorithms(){if(hasRequiredHashAlgorithms)return hashAlgorithms;hasRequiredHashAlgorithms=1,Object.defineProperty(hashAlgorithms,"__esModule",{value:!0}),hashAlgorithms.Sha512=hashAlgorithms.Sha256=hashAlgorithms.Sha1=void 0;const crypto=require$$0__default$1.default;hashAlgorithms.Sha1=class Sha1{constructor(){this.getHash=function(xml){const shasum=crypto.createHash("sha1");shasum.update(xml,"utf8");return shasum.digest("base64")},this.getAlgorithmName=function(){return"http://www.w3.org/2000/09/xmldsig#sha1"}}};hashAlgorithms.Sha256=class Sha256{constructor(){this.getHash=function(xml){const shasum=crypto.createHash("sha256");shasum.update(xml,"utf8");return shasum.digest("base64")},this.getAlgorithmName=function(){return"http://www.w3.org/2001/04/xmlenc#sha256"}}};return hashAlgorithms.Sha512=class Sha512{constructor(){this.getHash=function(xml){const shasum=crypto.createHash("sha512");shasum.update(xml,"utf8");return shasum.digest("base64")},this.getAlgorithmName=function(){return"http://www.w3.org/2001/04/xmlenc#sha512"}}},hashAlgorithms}var hasRequiredTypes,hasRequiredSignatureAlgorithms,hasRequiredSignedXml,hasRequiredLib$1,signatureAlgorithms={},types={};function requireTypes(){if(hasRequiredTypes)return types;return hasRequiredTypes=1,Object.defineProperty(types,"__esModule",{value:!0}),types.createOptionalCallbackFunction=void 0,types.createOptionalCallbackFunction=function createOptionalCallbackFunction(syncVersion){return(...args)=>{const possibleCallback=args[args.length-1];if(!function isErrorFirstCallback(possibleCallback){return"function"==typeof possibleCallback}(possibleCallback))return syncVersion(...args);try{possibleCallback(null,syncVersion(...args.slice(0,-1)))}catch(err){possibleCallback(err instanceof Error?err:new Error("Unknown error"))}}},types}function requireSignatureAlgorithms(){if(hasRequiredSignatureAlgorithms)return signatureAlgorithms;hasRequiredSignatureAlgorithms=1,Object.defineProperty(signatureAlgorithms,"__esModule",{value:!0}),signatureAlgorithms.HmacSha1=signatureAlgorithms.RsaSha512=signatureAlgorithms.RsaSha256=signatureAlgorithms.RsaSha1=void 0;const crypto=require$$0__default$1.default,types_1=requireTypes();signatureAlgorithms.RsaSha1=class RsaSha1{constructor(){this.getSignature=(0,types_1.createOptionalCallbackFunction)(((signedInfo,privateKey)=>{const signer=crypto.createSign("RSA-SHA1");signer.update(signedInfo);return signer.sign(privateKey,"base64")})),this.verifySignature=(0,types_1.createOptionalCallbackFunction)(((material,key,signatureValue)=>{const verifier=crypto.createVerify("RSA-SHA1");verifier.update(material);return verifier.verify(key,signatureValue,"base64")})),this.getAlgorithmName=()=>"http://www.w3.org/2000/09/xmldsig#rsa-sha1"}};signatureAlgorithms.RsaSha256=class RsaSha256{constructor(){this.getSignature=(0,types_1.createOptionalCallbackFunction)(((signedInfo,privateKey)=>{const signer=crypto.createSign("RSA-SHA256");signer.update(signedInfo);return signer.sign(privateKey,"base64")})),this.verifySignature=(0,types_1.createOptionalCallbackFunction)(((material,key,signatureValue)=>{const verifier=crypto.createVerify("RSA-SHA256");verifier.update(material);return verifier.verify(key,signatureValue,"base64")})),this.getAlgorithmName=()=>"http://www.w3.org/2001/04/xmldsig-more#rsa-sha256"}};signatureAlgorithms.RsaSha512=class RsaSha512{constructor(){this.getSignature=(0,types_1.createOptionalCallbackFunction)(((signedInfo,privateKey)=>{const signer=crypto.createSign("RSA-SHA512");signer.update(signedInfo);return signer.sign(privateKey,"base64")})),this.verifySignature=(0,types_1.createOptionalCallbackFunction)(((material,key,signatureValue)=>{const verifier=crypto.createVerify("RSA-SHA512");verifier.update(material);return verifier.verify(key,signatureValue,"base64")})),this.getAlgorithmName=()=>"http://www.w3.org/2001/04/xmldsig-more#rsa-sha512"}};return signatureAlgorithms.HmacSha1=class HmacSha1{constructor(){this.getSignature=(0,types_1.createOptionalCallbackFunction)(((signedInfo,privateKey)=>{const signer=crypto.createHmac("SHA1",privateKey);signer.update(signedInfo);return signer.digest("base64")})),this.verifySignature=(0,types_1.createOptionalCallbackFunction)(((material,key,signatureValue)=>{const verifier=crypto.createHmac("SHA1",key);verifier.update(material);return verifier.digest("base64")===signatureValue})),this.getAlgorithmName=()=>"http://www.w3.org/2000/09/xmldsig#hmac-sha1"}},signatureAlgorithms}function requireSignedXml(){if(hasRequiredSignedXml)return signedXml;hasRequiredSignedXml=1,Object.defineProperty(signedXml,"__esModule",{value:!0}),signedXml.SignedXml=void 0;const xpath=requireXpath(),xmldom=function requireLib$2(){if(hasRequiredLib$2)return lib$1;hasRequiredLib$2=1;var dom=requireDom();return lib$1.DOMImplementation=dom.DOMImplementation,lib$1.XMLSerializer=dom.XMLSerializer,lib$1.DOMParser=requireDomParser().DOMParser,lib$1}(),utils=requireUtils$2(),c14n=function requireC14nCanonicalization(){if(hasRequiredC14nCanonicalization)return c14nCanonicalization;hasRequiredC14nCanonicalization=1,Object.defineProperty(c14nCanonicalization,"__esModule",{value:!0}),c14nCanonicalization.C14nCanonicalizationWithComments=c14nCanonicalization.C14nCanonicalization=void 0;const utils=requireUtils$2(),isDomNode=requireDist();class C14nCanonicalization{constructor(){this.includeComments=!1,this.includeComments=!1}attrCompare(a,b){if(!a.namespaceURI&&b.namespaceURI)return-1;if(!b.namespaceURI&&a.namespaceURI)return 1;const left=a.namespaceURI+a.localName,right=b.namespaceURI+b.localName;return left===right?0:left<right?-1:1}nsCompare(a,b){const attr1=a.prefix,attr2=b.prefix;return attr1===attr2?0:attr1.localeCompare(attr2)}renderAttrs(node){let i,attr;const attrListToRender=[];if(isDomNode.isCommentNode(node))return this.renderComment(node);if(node.attributes)for(i=0;i<node.attributes.length;++i)attr=node.attributes[i],0!==attr.name.indexOf("xmlns")&&attrListToRender.push(attr);attrListToRender.sort(this.attrCompare);const res=attrListToRender.map((attr=>` ${attr.name}="${utils.encodeSpecialCharactersInAttribute(attr.value)}"`));return res.join("")}renderNs(node,prefixesInScope,defaultNs,defaultNsForPrefix,ancestorNamespaces){let i,attr;const res=[];let newDefaultNs=defaultNs;const nsListToRender=[],currNs=node.namespaceURI||"";if(node.prefix?-1===prefixesInScope.indexOf(node.prefix)&&(nsListToRender.push({prefix:node.prefix,namespaceURI:node.namespaceURI||defaultNsForPrefix[node.prefix]}),prefixesInScope.push(node.prefix)):defaultNs!==currNs&&(newDefaultNs=node.namespaceURI||"",res.push(' xmlns="',newDefaultNs,'"')),node.attributes)for(i=0;i<node.attributes.length;++i)attr=node.attributes[i],"xmlns"===attr.prefix&&-1===prefixesInScope.indexOf(attr.localName)&&(nsListToRender.push({prefix:attr.localName,namespaceURI:attr.value}),prefixesInScope.push(attr.localName)),attr.prefix&&-1===prefixesInScope.indexOf(attr.prefix)&&"xmlns"!==attr.prefix&&"xml"!==attr.prefix&&(nsListToRender.push({prefix:attr.prefix,namespaceURI:attr.namespaceURI}),prefixesInScope.push(attr.prefix));if(utils.isArrayHasLength(ancestorNamespaces))for(const ancestorNamespace of ancestorNamespaces){let alreadyListed=!1;for(const nsToRender of nsListToRender)nsToRender.prefix===ancestorNamespace.prefix&&nsToRender.namespaceURI===ancestorNamespace.namespaceURI&&(alreadyListed=!0);alreadyListed||nsListToRender.push(ancestorNamespace)}return nsListToRender.sort(this.nsCompare),res.push(...nsListToRender.map((attr=>attr.prefix?` xmlns:${attr.prefix}="${attr.namespaceURI}"`:` xmlns="${attr.namespaceURI}"`))),{rendered:res.join(""),newDefaultNs:newDefaultNs}}processInner(node,prefixesInScope,defaultNs,defaultNsForPrefix,ancestorNamespaces){if(isDomNode.isCommentNode(node))return this.renderComment(node);if(node.data)return utils.encodeSpecialCharactersInText(node.data);if(isDomNode.isElementNode(node)){let i,pfxCopy;const ns=this.renderNs(node,prefixesInScope,defaultNs,defaultNsForPrefix,ancestorNamespaces),res=["<",node.tagName,ns.rendered,this.renderAttrs(node),">"];for(i=0;i<node.childNodes.length;++i)pfxCopy=prefixesInScope.slice(0),res.push(this.processInner(node.childNodes[i],pfxCopy,ns.newDefaultNs,defaultNsForPrefix,[]));return res.push("</",node.tagName,">"),res.join("")}throw new Error(`Unable to canonicalize node type: ${node.nodeType}`)}renderComment(node){if(!this.includeComments)return"";let isBeforeDocument=!1,isAfterDocument=!1;if(node.ownerDocument===node.parentNode){let nextNode=node,previousNode=node;for(;null!==nextNode;){if(nextNode===node.ownerDocument.documentElement){isBeforeDocument=!0;break}nextNode=nextNode.nextSibling}for(;null!==previousNode;){if(previousNode===node.ownerDocument.documentElement){isAfterDocument=!0;break}previousNode=previousNode.previousSibling}}const beforeDocument=isBeforeDocument?"\n":"";return`${isAfterDocument?"\n":""}\x3c!--${utils.encodeSpecialCharactersInText(node.data)}--\x3e${beforeDocument}`}process(node,options){const defaultNs=(options=options||{}).defaultNs||"",defaultNsForPrefix=options.defaultNsForPrefix||{},ancestorNamespaces=options.ancestorNamespaces||[],prefixesInScope=[];for(let i=0;i<ancestorNamespaces.length;i++)prefixesInScope.push(ancestorNamespaces[i].prefix);return this.processInner(node,prefixesInScope,defaultNs,defaultNsForPrefix,ancestorNamespaces)}getAlgorithmName(){return"http://www.w3.org/TR/2001/REC-xml-c14n-20010315"}}return c14nCanonicalization.C14nCanonicalization=C14nCanonicalization,c14nCanonicalization.C14nCanonicalizationWithComments=class C14nCanonicalizationWithComments extends C14nCanonicalization{constructor(){super(),this.includeComments=!0}getAlgorithmName(){return"http://www.w3.org/TR/2001/REC-xml-c14n-20010315#WithComments"}},c14nCanonicalization}(),execC14n=function requireExclusiveCanonicalization(){if(hasRequiredExclusiveCanonicalization)return exclusiveCanonicalization;hasRequiredExclusiveCanonicalization=1,Object.defineProperty(exclusiveCanonicalization,"__esModule",{value:!0}),exclusiveCanonicalization.ExclusiveCanonicalizationWithComments=exclusiveCanonicalization.ExclusiveCanonicalization=void 0;const utils=requireUtils$2(),isDomNode=requireDist();function isPrefixInScope(prefixesInScope,prefix,namespaceURI){let ret=!1;return prefixesInScope.forEach((function(pf){pf.prefix===prefix&&pf.namespaceURI===namespaceURI&&(ret=!0)})),ret}class ExclusiveCanonicalization{constructor(){this.includeComments=!1,this.includeComments=!1}attrCompare(a,b){if(!a.namespaceURI&&b.namespaceURI)return-1;if(!b.namespaceURI&&a.namespaceURI)return 1;const left=a.namespaceURI+a.localName,right=b.namespaceURI+b.localName;return left===right?0:left<right?-1:1}nsCompare(a,b){const attr1=a.prefix,attr2=b.prefix;return attr1===attr2?0:attr1.localeCompare(attr2)}renderAttrs(node){let i,attr;const res=[],attrListToRender=[];if(isDomNode.isCommentNode(node))return this.renderComment(node);if(node.attributes)for(i=0;i<node.attributes.length;++i)attr=node.attributes[i],0!==attr.name.indexOf("xmlns")&&attrListToRender.push(attr);for(attr of(attrListToRender.sort(this.attrCompare),attrListToRender))res.push(" ",attr.name,'="',utils.encodeSpecialCharactersInAttribute(attr.value),'"');return res.join("")}renderNs(node,prefixesInScope,defaultNs,defaultNsForPrefix,inclusiveNamespacesPrefixList){let i,attr;const res=[];let newDefaultNs=defaultNs;const nsListToRender=[],currNs=node.namespaceURI||"";if(node.prefix?isPrefixInScope(prefixesInScope,node.prefix,node.namespaceURI||defaultNsForPrefix[node.prefix])||(nsListToRender.push({prefix:node.prefix,namespaceURI:node.namespaceURI||defaultNsForPrefix[node.prefix]}),prefixesInScope.push({prefix:node.prefix,namespaceURI:node.namespaceURI||defaultNsForPrefix[node.prefix]})):defaultNs!==currNs&&(newDefaultNs=node.namespaceURI,res.push(' xmlns="',newDefaultNs,'"')),node.attributes)for(i=0;i<node.attributes.length;++i)attr=node.attributes[i],attr.prefix&&!isPrefixInScope(prefixesInScope,attr.localName,attr.value)&&inclusiveNamespacesPrefixList.indexOf(attr.localName)>=0&&(nsListToRender.push({prefix:attr.localName,namespaceURI:attr.value}),prefixesInScope.push({prefix:attr.localName,namespaceURI:attr.value})),attr.prefix&&!isPrefixInScope(prefixesInScope,attr.prefix,attr.namespaceURI)&&"xmlns"!==attr.prefix&&"xml"!==attr.prefix&&(nsListToRender.push({prefix:attr.prefix,namespaceURI:attr.namespaceURI}),prefixesInScope.push({prefix:attr.prefix,namespaceURI:attr.namespaceURI}));nsListToRender.sort(this.nsCompare);for(const p of nsListToRender)res.push(" xmlns:",p.prefix,'="',p.namespaceURI,'"');return{rendered:res.join(""),newDefaultNs:newDefaultNs}}processInner(node,prefixesInScope,defaultNs,defaultNsForPrefix,inclusiveNamespacesPrefixList){if(isDomNode.isCommentNode(node))return this.renderComment(node);if(node.data)return utils.encodeSpecialCharactersInText(node.data);if(isDomNode.isElementNode(node)){let i,pfxCopy;const ns=this.renderNs(node,prefixesInScope,defaultNs,defaultNsForPrefix,inclusiveNamespacesPrefixList),res=["<",node.tagName,ns.rendered,this.renderAttrs(node),">"];for(i=0;i<node.childNodes.length;++i)pfxCopy=prefixesInScope.slice(0),res.push(this.processInner(node.childNodes[i],pfxCopy,ns.newDefaultNs,defaultNsForPrefix,inclusiveNamespacesPrefixList));return res.push("</",node.tagName,">"),res.join("")}throw new Error(`Unable to exclusive canonicalize node type: ${node.nodeType}`)}renderComment(node){if(!this.includeComments)return"";let isBeforeDocument=!1,isAfterDocument=!1;if(node.ownerDocument===node.parentNode){let nextNode=node,previousNode=node;for(;null!=nextNode;){if(nextNode===node.ownerDocument.documentElement){isBeforeDocument=!0;break}nextNode=nextNode.nextSibling}for(;null!=previousNode;){if(previousNode===node.ownerDocument.documentElement){isAfterDocument=!0;break}previousNode=previousNode.previousSibling}}const beforeDocument=isBeforeDocument?"\n":"";return`${isAfterDocument?"\n":""}\x3c!--${utils.encodeSpecialCharactersInText(node.data)}--\x3e${beforeDocument}`}process(elem,options){let inclusiveNamespacesPrefixList=(options=options||{}).inclusiveNamespacesPrefixList||[];const defaultNs=options.defaultNs||"",defaultNsForPrefix=options.defaultNsForPrefix||{},ancestorNamespaces=options.ancestorNamespaces||[];if(!utils.isArrayHasLength(inclusiveNamespacesPrefixList)){const CanonicalizationMethod=utils.findChildren(elem,"CanonicalizationMethod");if(0!==CanonicalizationMethod.length){const inclusiveNamespaces=utils.findChildren(CanonicalizationMethod[0],"InclusiveNamespaces");0!==inclusiveNamespaces.length&&(inclusiveNamespacesPrefixList=(inclusiveNamespaces[0].getAttribute("PrefixList")||"").split(" "))}}return utils.isArrayHasLength(inclusiveNamespacesPrefixList)&&inclusiveNamespacesPrefixList.forEach((function(prefix){ancestorNamespaces&&ancestorNamespaces.forEach((function(ancestorNamespace){prefix===ancestorNamespace.prefix&&elem.setAttributeNS("http://www.w3.org/2000/xmlns/",`xmlns:${prefix}`,ancestorNamespace.namespaceURI)}))})),this.processInner(elem,[],defaultNs,defaultNsForPrefix,inclusiveNamespacesPrefixList)}getAlgorithmName(){return"http://www.w3.org/2001/10/xml-exc-c14n#"}}return exclusiveCanonicalization.ExclusiveCanonicalization=ExclusiveCanonicalization,exclusiveCanonicalization.ExclusiveCanonicalizationWithComments=class ExclusiveCanonicalizationWithComments extends ExclusiveCanonicalization{constructor(){super(),this.includeComments=!0}getAlgorithmName(){return"http://www.w3.org/2001/10/xml-exc-c14n#WithComments"}},exclusiveCanonicalization}(),envelopedSignatures=function requireEnvelopedSignature(){if(hasRequiredEnvelopedSignature)return envelopedSignature;hasRequiredEnvelopedSignature=1,Object.defineProperty(envelopedSignature,"__esModule",{value:!0}),envelopedSignature.EnvelopedSignature=void 0;const xpath=requireXpath(),isDomNode=requireDist();return envelopedSignature.EnvelopedSignature=class EnvelopedSignature{constructor(){this.includeComments=!1,this.includeComments=!1}process(node,options){if(null==options.signatureNode){const signature=xpath.select1("./*[local-name(.)='Signature' and namespace-uri(.)='http://www.w3.org/2000/09/xmldsig#']",node);return isDomNode.isNodeLike(signature)&&signature.parentNode&&signature.parentNode.removeChild(signature),node}const signatureNode=options.signatureNode,expectedSignatureValue=xpath.select1(".//*[local-name(.)='SignatureValue']/text()",signatureNode);if(isDomNode.isTextNode(expectedSignatureValue)){const expectedSignatureValueData=expectedSignatureValue.data,signatures=xpath.select(".//*[local-name(.)='Signature' and namespace-uri(.)='http://www.w3.org/2000/09/xmldsig#']",node);for(const nodeSignature of Array.isArray(signatures)?signatures:[]){const signatureValue=xpath.select1(".//*[local-name(.)='SignatureValue']/text()",nodeSignature);isDomNode.isTextNode(signatureValue)&&expectedSignatureValueData===signatureValue.data&&nodeSignature.parentNode&&nodeSignature.parentNode.removeChild(nodeSignature)}}return node}getAlgorithmName(){return"http://www.w3.org/2000/09/xmldsig#enveloped-signature"}},envelopedSignature}(),hashAlgorithms=requireHashAlgorithms(),signatureAlgorithms=requireSignatureAlgorithms(),isDomNode=requireDist();class SignedXml{constructor(options={}){this.signatureAlgorithm=void 0,this.canonicalizationAlgorithm=void 0,this.inclusiveNamespacesPrefixList=[],this.namespaceResolver={lookupNamespaceURI:function(){throw new Error("Not implemented")}},this.implicitTransforms=[],this.keyInfoAttributes={},this.getKeyInfoContent=SignedXml.getKeyInfoContent,this.getCertFromKeyInfo=SignedXml.getCertFromKeyInfo,this.id=0,this.signedXml="",this.signatureXml="",this.signatureNode=null,this.signatureValue="",this.originalXmlWithIds="",this.keyInfo=null,this.references=[],this.CanonicalizationAlgorithms={"http://www.w3.org/TR/2001/REC-xml-c14n-20010315":c14n.C14nCanonicalization,"http://www.w3.org/TR/2001/REC-xml-c14n-20010315#WithComments":c14n.C14nCanonicalizationWithComments,"http://www.w3.org/2001/10/xml-exc-c14n#":execC14n.ExclusiveCanonicalization,"http://www.w3.org/2001/10/xml-exc-c14n#WithComments":execC14n.ExclusiveCanonicalizationWithComments,"http://www.w3.org/2000/09/xmldsig#enveloped-signature":envelopedSignatures.EnvelopedSignature},this.HashAlgorithms={"http://www.w3.org/2000/09/xmldsig#sha1":hashAlgorithms.Sha1,"http://www.w3.org/2001/04/xmlenc#sha256":hashAlgorithms.Sha256,"http://www.w3.org/2001/04/xmlenc#sha512":hashAlgorithms.Sha512},this.SignatureAlgorithms={"http://www.w3.org/2000/09/xmldsig#rsa-sha1":signatureAlgorithms.RsaSha1,"http://www.w3.org/2001/04/xmldsig-more#rsa-sha256":signatureAlgorithms.RsaSha256,"http://www.w3.org/2001/04/xmldsig-more#rsa-sha512":signatureAlgorithms.RsaSha512};const{idMode:idMode,idAttribute:idAttribute,privateKey:privateKey,publicCert:publicCert,signatureAlgorithm:signatureAlgorithm,canonicalizationAlgorithm:canonicalizationAlgorithm,inclusiveNamespacesPrefixList:inclusiveNamespacesPrefixList,implicitTransforms:implicitTransforms,keyInfoAttributes:keyInfoAttributes,getKeyInfoContent:getKeyInfoContent,getCertFromKeyInfo:getCertFromKeyInfo}=options;this.idMode=idMode,this.idAttributes=["Id","ID","id"],idAttribute&&this.idAttributes.unshift(idAttribute),this.privateKey=privateKey,this.publicCert=publicCert,this.signatureAlgorithm=signatureAlgorithm??this.signatureAlgorithm,this.canonicalizationAlgorithm=canonicalizationAlgorithm,"string"==typeof inclusiveNamespacesPrefixList?this.inclusiveNamespacesPrefixList=inclusiveNamespacesPrefixList.split(" "):utils.isArrayHasLength(inclusiveNamespacesPrefixList)&&(this.inclusiveNamespacesPrefixList=inclusiveNamespacesPrefixList),this.implicitTransforms=implicitTransforms??this.implicitTransforms,this.keyInfoAttributes=keyInfoAttributes??this.keyInfoAttributes,this.getKeyInfoContent=getKeyInfoContent??this.getKeyInfoContent,this.getCertFromKeyInfo=getCertFromKeyInfo??SignedXml.noop,this.CanonicalizationAlgorithms,this.HashAlgorithms,this.SignatureAlgorithms}enableHMAC(){this.SignatureAlgorithms={"http://www.w3.org/2000/09/xmldsig#hmac-sha1":signatureAlgorithms.HmacSha1},this.getKeyInfoContent=SignedXml.noop}static getKeyInfoContent({publicCert:publicCert,prefix:prefix}){if(null==publicCert)return null;prefix=prefix?`${prefix}:`:"";let x509Certs="";Buffer.isBuffer(publicCert)&&(publicCert=publicCert.toString("latin1"));let publicCertMatches=[];return"string"==typeof publicCert&&(publicCertMatches=publicCert.match(utils.EXTRACT_X509_CERTS)||[]),publicCertMatches.length>0&&(x509Certs=publicCertMatches.map((c=>`<${prefix}X509Certificate>${utils.pemToDer(c).toString("base64")}</${prefix}X509Certificate>`)).join("")),`<${prefix}X509Data>${x509Certs}</${prefix}X509Data>`}static getCertFromKeyInfo(keyInfo){if(null!=keyInfo){const cert=xpath.select1(".//*[local-name(.)='X509Certificate']",keyInfo);if(isDomNode.isNodeLike(cert))return utils.derToPem(cert.textContent??"","CERTIFICATE")}return null}checkSignature(xml,callback){if(null!=callback&&"function"!=typeof callback)throw new Error("Last parameter must be a callback function");this.signedXml=xml;const doc=(new xmldom.DOMParser).parseFromString(xml);if(!this.getReferences().every((ref=>this.validateReference(ref,doc))))return!!callback&&void callback(new Error("Could not validate all references"));const signedInfoCanon=this.getCanonSignedInfoXml(doc),signer=this.findSignatureAlgorithm(this.signatureAlgorithm),key=this.getCertFromKeyInfo(this.keyInfo)||this.publicCert||this.privateKey;if(null==key)throw new Error("KeyInfo or publicCert or privateKey is required to validate signature");if(!callback){if(!1===signer.verifySignature(signedInfoCanon,key,this.signatureValue))throw new Error(`invalid signature: the signature value ${this.signatureValue} is incorrect`);return!0}signer.verifySignature(signedInfoCanon,key,this.signatureValue,callback)}getCanonSignedInfoXml(doc){if(null==this.signatureNode)throw new Error("No signature found.");if("string"!=typeof this.canonicalizationAlgorithm)throw new Error("Missing canonicalizationAlgorithm when trying to get signed info for XML");const signedInfo=utils.findChildren(this.signatureNode,"SignedInfo");if(0===signedInfo.length)throw new Error("could not find SignedInfo element in the message");if(!("http://www.w3.org/TR/2001/REC-xml-c14n-20010315"!==this.canonicalizationAlgorithm&&"http://www.w3.org/TR/2001/REC-xml-c14n-20010315#WithComments"!==this.canonicalizationAlgorithm||doc&&"object"==typeof doc))throw new Error("When canonicalization method is non-exclusive, whole xml dom must be provided as an argument");const c14nOptions={ancestorNamespaces:utils.findAncestorNs(doc,"//*[local-name()='SignedInfo']")};return this.getCanonXml([this.canonicalizationAlgorithm],signedInfo[0],c14nOptions)}getCanonReferenceXml(doc,ref,node){Array.isArray(ref.transforms)&&(ref.ancestorNamespaces=utils.findAncestorNs(doc,ref.xpath,this.namespaceResolver));const c14nOptions={inclusiveNamespacesPrefixList:ref.inclusiveNamespacesPrefixList,ancestorNamespaces:ref.ancestorNamespaces};return this.getCanonXml(ref.transforms,node,c14nOptions)}calculateSignatureValue(doc,callback){const signedInfoCanon=this.getCanonSignedInfoXml(doc),signer=this.findSignatureAlgorithm(this.signatureAlgorithm);if(null==this.privateKey)throw new Error("Private key is required to compute signature");"function"==typeof callback?signer.getSignature(signedInfoCanon,this.privateKey,callback):this.signatureValue=signer.getSignature(signedInfoCanon,this.privateKey)}findSignatureAlgorithm(name){if(null==name)throw new Error("signatureAlgorithm is required");const algo=this.SignatureAlgorithms[name];if(algo)return new algo;throw new Error(`signature algorithm '${name}' is not supported`)}findCanonicalizationAlgorithm(name){if(null!=name){const algo=this.CanonicalizationAlgorithms[name];if(algo)return new algo}throw new Error(`canonicalization algorithm '${name}' is not supported`)}findHashAlgorithm(name){const algo=this.HashAlgorithms[name];if(algo)return new algo;throw new Error(`hash algorithm '${name}' is not supported`)}validateElementAgainstReferences(elemOrXpath,doc){let elem;if("string"==typeof elemOrXpath){const firstElem=xpath.select1(elemOrXpath,doc);isDomNode.assertIsElementNode(firstElem),elem=firstElem}else elem=elemOrXpath;for(const ref of this.getReferences()){const uri="#"===ref.uri?.[0]?ref.uri.substring(1):ref.uri;for(const attr of this.idAttributes){if(uri===elem.getAttribute(attr)){ref.xpath=`//*[@*[local-name(.)='${attr}']='${uri}']`;break}}const canonXml=this.getCanonReferenceXml(doc,ref,elem),digest=this.findHashAlgorithm(ref.digestAlgorithm).getHash(canonXml);if(utils.validateDigestValue(digest,ref.digestValue))return ref}throw new Error("No references passed validation")}validateReference(ref,doc){const uri="#"===ref.uri?.[0]?ref.uri.substring(1):ref.uri;let elem=null;if(""===uri)elem=xpath.select1("//*",doc);else{if(-1!==uri?.indexOf("'"))throw new Error("Cannot validate a uri with quotes inside it");{let num_elements_for_id=0;for(const attr of this.idAttributes){const tmp_elemXpath=`//*[@*[local-name(.)='${attr}']='${uri}']`,tmp_elem=xpath.select(tmp_elemXpath,doc);if(utils.isArrayHasLength(tmp_elem)){if(num_elements_for_id+=tmp_elem.length,num_elements_for_id>1)throw new Error("Cannot validate a document which contains multiple elements with the same value for the ID / Id / Id attributes, in order to prevent signature wrapping attack.");elem=tmp_elem[0],ref.xpath=tmp_elemXpath}}}}if(ref.getValidatedNode=xpathSelector=>{if("string"!=typeof(xpathSelector=xpathSelector||ref.xpath)||null!=ref.validationError)return null;const selectedValue=xpath.select1(xpathSelector,doc);return isDomNode.isNodeLike(selectedValue)?selectedValue:null},!isDomNode.isNodeLike(elem)){const validationError=new Error(`invalid signature: the signature references an element with uri ${ref.uri} but could not find such element in the xml`);return ref.validationError=validationError,!1}const canonXml=this.getCanonReferenceXml(doc,ref,elem),digest=this.findHashAlgorithm(ref.digestAlgorithm).getHash(canonXml);if(!utils.validateDigestValue(digest,ref.digestValue)){const validationError=new Error(`invalid signature: for uri ${ref.uri} calculated digest is ${digest} but the xml to validate supplies digest ${ref.digestValue}`);return ref.validationError=validationError,!1}return!0}findSignatures(doc){const nodes=xpath.select("//*[local-name(.)='Signature' and namespace-uri(.)='http://www.w3.org/2000/09/xmldsig#']",doc);return isDomNode.isArrayOfNodes(nodes)?nodes:[]}loadSignature(signatureNode){this.signatureNode="string"==typeof signatureNode?signatureNode=(new xmldom.DOMParser).parseFromString(signatureNode):signatureNode,this.signatureXml=signatureNode.toString();const node=xpath.select1(".//*[local-name(.)='CanonicalizationMethod']/@Algorithm",signatureNode);if(!isDomNode.isNodeLike(node))throw new Error("could not find CanonicalizationMethod/@Algorithm element");isDomNode.isAttributeNode(node)&&(this.canonicalizationAlgorithm=node.value);const signatureAlgorithm=xpath.select1(".//*[local-name(.)='SignatureMethod']/@Algorithm",signatureNode);isDomNode.isAttributeNode(signatureAlgorithm)&&(this.signatureAlgorithm=signatureAlgorithm.value),this.references=[];const references=xpath.select(".//*[local-name(.)='SignedInfo']/*[local-name(.)='Reference']",signatureNode);if(!utils.isArrayHasLength(references))throw new Error("could not find any Reference elements");for(const reference of references)this.loadReference(reference);const signatureValue=xpath.select1(".//*[local-name(.)='SignatureValue']/text()",signatureNode);isDomNode.isTextNode(signatureValue)&&(this.signatureValue=signatureValue.data.replace(/\r?\n/g,""));const keyInfo=xpath.select1(".//*[local-name(.)='KeyInfo']",signatureNode);isDomNode.isNodeLike(keyInfo)&&(this.keyInfo=keyInfo)}loadReference(refNode){let nodes=utils.findChildren(refNode,"DigestMethod");if(0===nodes.length)throw new Error(`could not find DigestMethod in reference ${refNode.toString()}`);const digestAlgoNode=nodes[0],attr=utils.findAttr(digestAlgoNode,"Algorithm");if(!attr)throw new Error(`could not find Algorithm attribute in node ${digestAlgoNode.toString()}`);const digestAlgo=attr.value;if(nodes=utils.findChildren(refNode,"DigestValue"),0===nodes.length)throw new Error(`could not find DigestValue node in reference ${refNode.toString()}`);const firstChild=nodes[0].firstChild;if(!firstChild||!("data"in firstChild))throw new Error(`could not find the value of DigestValue in ${nodes[0].toString()}`);const digestValue=firstChild.data,transforms=[];let inclusiveNamespacesPrefixList=[];if(nodes=utils.findChildren(refNode,"Transforms"),0!==nodes.length){const transformsNode=nodes[0],transformsAll=utils.findChildren(transformsNode,"Transform");for(const transform of transformsAll){const transformAttr=utils.findAttr(transform,"Algorithm");transformAttr&&transforms.push(transformAttr.value)}const inclusiveNamespaces=utils.findChildren(transformsAll[transformsAll.length-1],"InclusiveNamespaces");utils.isArrayHasLength(inclusiveNamespaces)&&(inclusiveNamespacesPrefixList=inclusiveNamespaces.flatMap((namespace=>(namespace.getAttribute("PrefixList")??"").split(" "))).filter((value=>value.length>0)))}utils.isArrayHasLength(this.implicitTransforms)&&this.implicitTransforms.forEach((function(t){transforms.push(t)})),0!==transforms.length&&"http://www.w3.org/2000/09/xmldsig#enveloped-signature"!==transforms[transforms.length-1]||transforms.push("http://www.w3.org/TR/2001/REC-xml-c14n-20010315"),this.addReference({transforms:transforms,digestAlgorithm:digestAlgo,uri:isDomNode.isElementNode(refNode)?utils.findAttr(refNode,"URI")?.value:void 0,digestValue:digestValue,inclusiveNamespacesPrefixList:inclusiveNamespacesPrefixList,isEmptyUri:!1})}addReference({xpath:xpath,transforms:transforms,digestAlgorithm:digestAlgorithm,uri:uri="",digestValue:digestValue,inclusiveNamespacesPrefixList:inclusiveNamespacesPrefixList=[],isEmptyUri:isEmptyUri=!1}){if(null==digestAlgorithm)throw new Error("digestAlgorithm is required");if(!utils.isArrayHasLength(transforms))throw new Error("transforms must contain at least one transform algorithm");this.references.push({xpath:xpath,transforms:transforms,digestAlgorithm:digestAlgorithm,uri:uri,digestValue:digestValue,inclusiveNamespacesPrefixList:inclusiveNamespacesPrefixList,isEmptyUri:isEmptyUri,getValidatedNode:()=>{throw new Error("Reference has not been validated yet; Did you call `sig.checkSignature()`?")}})}getReferences(){return this.references}computeSignature(xml,options,callbackParam){let callback;"function"==typeof options&&null==callbackParam?(callback=options,options={}):(callback=callbackParam,options=options??{});const doc=(new xmldom.DOMParser).parseFromString(xml);let xmlNsAttr="xmlns";const signatureAttrs=[];let currentPrefix;const validActions=["append","prepend","before","after"],prefix=options.prefix,attrs=options.attrs||{},location=options.location||{},existingPrefixes=options.existingPrefixes||{};if(this.namespaceResolver={lookupNamespaceURI:function(prefix){return prefix?existingPrefixes[prefix]:null}},location.reference=location.reference||"/*",location.action=location.action||"append",-1===validActions.indexOf(location.action)){const err=new Error(`location.action option has an invalid action: ${location.action}, must be any of the following values: ${validActions.join(", ")}`);if(callback)return void callback(err);throw err}prefix?(xmlNsAttr+=`:${prefix}`,currentPrefix=`${prefix}:`):currentPrefix="",Object.keys(attrs).forEach((function(name){"xmlns"!==name&&name!==xmlNsAttr&&signatureAttrs.push(`${name}="${attrs[name]}"`)})),signatureAttrs.push(`${xmlNsAttr}="http://www.w3.org/2000/09/xmldsig#"`);let signatureXml=`<${currentPrefix}Signature ${signatureAttrs.join(" ")}>`;signatureXml+=this.createSignedInfo(doc,prefix),signatureXml+=this.getKeyInfo(prefix),signatureXml+=`</${currentPrefix}Signature>`,this.originalXmlWithIds=doc.toString();let existingPrefixesString="";Object.keys(existingPrefixes).forEach((function(key){existingPrefixesString+=`xmlns:${key}="${existingPrefixes[key]}" `}));const dummySignatureWrapper=`<Dummy ${existingPrefixesString}>${signatureXml}</Dummy>`,signatureDoc=(new xmldom.DOMParser).parseFromString(dummySignatureWrapper).documentElement.firstChild,referenceNode=xpath.select1(location.reference,doc);if(!isDomNode.isNodeLike(referenceNode)){const err2=new Error(`the following xpath cannot be used because it was not found: ${location.reference}`);if(callback)return void callback(err2);throw err2}if("append"===location.action)referenceNode.appendChild(signatureDoc);else if("prepend"===location.action)referenceNode.insertBefore(signatureDoc,referenceNode.firstChild);else if("before"===location.action){if(null==referenceNode.parentNode)throw new Error("`location.reference` refers to the root node (by default), so we can't insert `before`");referenceNode.parentNode.insertBefore(signatureDoc,referenceNode)}else if("after"===location.action){if(null==referenceNode.parentNode)throw new Error("`location.reference` refers to the root node (by default), so we can't insert `after`");referenceNode.parentNode.insertBefore(signatureDoc,referenceNode.nextSibling)}this.signatureNode=signatureDoc;const signedInfoNodes=utils.findChildren(this.signatureNode,"SignedInfo");if(0===signedInfoNodes.length){const err3=new Error("could not find SignedInfo element in the message");if(callback)return void callback(err3);throw err3}const signedInfoNode=signedInfoNodes[0];"function"==typeof callback?this.calculateSignatureValue(doc,((err,signature)=>{err?callback(err):(this.signatureValue=signature||"",signatureDoc.insertBefore(this.createSignature(prefix),signedInfoNode.nextSibling),this.signatureXml=signatureDoc.toString(),this.signedXml=doc.toString(),callback(null,this))})):(this.calculateSignatureValue(doc),signatureDoc.insertBefore(this.createSignature(prefix),signedInfoNode.nextSibling),this.signatureXml=signatureDoc.toString(),this.signedXml=doc.toString())}getKeyInfo(prefix){const currentPrefix=prefix?`${prefix}:`:"";let keyInfoAttrs="";this.keyInfoAttributes&&Object.keys(this.keyInfoAttributes).forEach((name=>{keyInfoAttrs+=` ${name}="${this.keyInfoAttributes[name]}"`}));const keyInfoContent=this.getKeyInfoContent({publicCert:this.publicCert,prefix:prefix});return keyInfoAttrs||keyInfoContent?`<${currentPrefix}KeyInfo${keyInfoAttrs}>${keyInfoContent}</${currentPrefix}KeyInfo>`:""}createReferences(doc,prefix){let res="";prefix=(prefix=prefix||"")?`${prefix}:`:prefix;for(const ref of this.getReferences()){const nodes=xpath.selectWithResolver(ref.xpath??"",doc,this.namespaceResolver);if(!utils.isArrayHasLength(nodes))throw new Error(`the following xpath cannot be signed because it was not found: ${ref.xpath}`);for(const node of nodes){if(ref.isEmptyUri)res+=`<${prefix}Reference URI="">`;else{const id=this.ensureHasId(node);ref.uri=id,res+=`<${prefix}Reference URI="#${id}">`}res+=`<${prefix}Transforms>`;for(const trans of ref.transforms||[]){const transform=this.findCanonicalizationAlgorithm(trans);res+=`<${prefix}Transform Algorithm="${transform.getAlgorithmName()}"`,utils.isArrayHasLength(ref.inclusiveNamespacesPrefixList)?(res+=">",res+=`<InclusiveNamespaces PrefixList="${ref.inclusiveNamespacesPrefixList.join(" ")}" xmlns="${transform.getAlgorithmName()}"/>`,res+=`</${prefix}Transform>`):res+=" />"}const canonXml=this.getCanonReferenceXml(doc,ref,node),digestAlgorithm=this.findHashAlgorithm(ref.digestAlgorithm);res+=`</${prefix}Transforms><${prefix}DigestMethod Algorithm="${digestAlgorithm.getAlgorithmName()}" /><${prefix}DigestValue>${digestAlgorithm.getHash(canonXml)}</${prefix}DigestValue></${prefix}Reference>`}}return res}getCanonXml(transforms,node,options={}){options.defaultNsForPrefix=options.defaultNsForPrefix??SignedXml.defaultNsForPrefix,options.signatureNode=this.signatureNode;let transformedXml=node.cloneNode(!0);return transforms.forEach((transformName=>{if(isDomNode.isNodeLike(transformedXml)){const transform=this.findCanonicalizationAlgorithm(transformName);transformedXml=transform.process(transformedXml,options)}})),transformedXml.toString()}ensureHasId(node){let attr;if("wssecurity"===this.idMode?attr=utils.findAttr(node,"Id","http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"):this.idAttributes.some((idAttribute=>(attr=utils.findAttr(node,idAttribute),!!attr))),attr)return attr.value;const id="_"+this.id++;return"wssecurity"===this.idMode?(node.setAttributeNS("http://www.w3.org/2000/xmlns/","xmlns:wsu","http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"),node.setAttributeNS("http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd","wsu:Id",id)):node.setAttribute("Id",id),id}createSignedInfo(doc,prefix){if("string"!=typeof this.canonicalizationAlgorithm)throw new Error("Missing canonicalizationAlgorithm when trying to create signed info for XML");const transform=this.findCanonicalizationAlgorithm(this.canonicalizationAlgorithm),algo=this.findSignatureAlgorithm(this.signatureAlgorithm);let currentPrefix;currentPrefix=prefix||"",currentPrefix=currentPrefix?`${currentPrefix}:`:currentPrefix;let res=`<${currentPrefix}SignedInfo>`;return res+=`<${currentPrefix}CanonicalizationMethod Algorithm="${transform.getAlgorithmName()}"`,utils.isArrayHasLength(this.inclusiveNamespacesPrefixList)?(res+=">",res+=`<InclusiveNamespaces PrefixList="${this.inclusiveNamespacesPrefixList.join(" ")}" xmlns="${transform.getAlgorithmName()}"/>`,res+=`</${currentPrefix}CanonicalizationMethod>`):res+=" />",res+=`<${currentPrefix}SignatureMethod Algorithm="${algo.getAlgorithmName()}" />`,res+=this.createReferences(doc,prefix),res+=`</${currentPrefix}SignedInfo>`,res}createSignature(prefix){let xmlNsAttr="xmlns";prefix?(xmlNsAttr+=`:${prefix}`,prefix+=":"):prefix="";const dummySignatureWrapper=`<${prefix}Signature ${xmlNsAttr}="http://www.w3.org/2000/09/xmldsig#">${`<${prefix}SignatureValue>${this.signatureValue}</${prefix}SignatureValue>`}</${prefix}Signature>`;return(new xmldom.DOMParser).parseFromString(dummySignatureWrapper).documentElement.firstChild}getSignatureXml(){return this.signatureXml}getOriginalXmlWithIds(){return this.originalXmlWithIds}getSignedXml(){return this.signedXml}}return signedXml.SignedXml=SignedXml,SignedXml.defaultNsForPrefix={ds:"http://www.w3.org/2000/09/xmldsig#"},SignedXml.noop=()=>null,signedXml}var libExports$1=function requireLib$1(){return hasRequiredLib$1||(hasRequiredLib$1=1,function(exports){var __createBinding=lib$2&&lib$2.__createBinding||(Object.create?function(o,m,k,k2){void 0===k2&&(k2=k);var desc=Object.getOwnPropertyDescriptor(m,k);desc&&!("get"in desc?!m.__esModule:desc.writable||desc.configurable)||(desc={enumerable:!0,get:function(){return m[k]}}),Object.defineProperty(o,k2,desc)}:function(o,m,k,k2){void 0===k2&&(k2=k),o[k2]=m[k]}),__exportStar=lib$2&&lib$2.__exportStar||function(m,exports){for(var p in m)"default"===p||Object.prototype.hasOwnProperty.call(exports,p)||__createBinding(exports,m,p)};Object.defineProperty(exports,"__esModule",{value:!0}),exports.SignedXml=void 0;var signed_xml_1=requireSignedXml();Object.defineProperty(exports,"SignedXml",{enumerable:!0,get:function(){return signed_xml_1.SignedXml}}),__exportStar(requireUtils$2(),exports),__exportStar(requireTypes(),exports)}(lib$2)),lib$2}();class XmlBuilder{constructor(environment){this.environment=environment}assinarXML(xml,tagAssinar){const signedXmlObj=new libExports$1.SignedXml({publicCert:this.environment.getCert(),privateKey:this.environment.getCertKey(),canonicalizationAlgorithm:"http://www.w3.org/TR/2001/REC-xml-c14n-20010315",implicitTransforms:["http://www.w3.org/TR/2001/REC-xml-c14n-20010315"]});return signedXmlObj.addReference({xpath:`//*[local-name(.)='${tagAssinar}']`,digestAlgorithm:"http://www.w3.org/2000/09/xmldsig#sha1",transforms:["http://www.w3.org/2000/09/xmldsig#enveloped-signature","http://www.w3.org/TR/2001/REC-xml-c14n-20010315"]}),signedXmlObj.signatureAlgorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1",signedXmlObj.computeSignature(xml),signedXmlObj.getSignedXml()}serializeXml(obj,rootTag){return new xml2js.Builder({rootName:rootTag,headless:!0,renderOpts:{pretty:!1}}).buildObject(obj)}gerarXml(xmlObject,rootTag){return this.serializeXml(xmlObject,rootTag)}buildSoapEnvelope(xml,soapMethod,soapVersion="soap12",rootTagObj=null){const soapNamespaces={soap12:"http://www.w3.org/2003/05/soap-envelope",soap:"http://schemas.xmlsoap.org/soap/envelope/"},soapNamespace=soapNamespaces[soapVersion]||soapNamespaces.soap12;let soapEnvelopeObj={$:{[`xmlns:${soapVersion}`]:soapNamespace,"xmlns:xsi":"http://www.w3.org/2001/XMLSchema-instance","xmlns:xsd":"http://www.w3.org/2001/XMLSchema"},[`${soapVersion}:Body`]:{}};if(rootTagObj&&rootTagObj.tag){let bodyContent={nfeDadosMsg:{$:{xmlns:soapMethod},_:"[XML]"}};rootTagObj.namespace&&(bodyContent.$={xmlns:rootTagObj.namespace}),soapEnvelopeObj[`${soapVersion}:Body`][rootTagObj.tag]=bodyContent}else soapEnvelopeObj[`${soapVersion}:Body`]={nfeDadosMsg:{$:{xmlns:soapMethod},_:"[XML]"}};return this.serializeXml(soapEnvelopeObj,`${soapVersion}:Envelope`).replace("[XML]",xml)}}class NFERetornoAutorizacao$1 extends BaseNFE{constructor(environment,utility,xmlBuilder,axios){super(environment,utility,xmlBuilder,"NFERetornoAutorizacao",axios)}gerarXml(data){try{const{nfe:{ambiente:ambiente}}=this.environment.getConfig(),xmlObject={$:{xmlns:"http://www.portalfiscal.inf.br/nfe",versao:"4.00"},tpAmb:ambiente,nRec:data};return this.xmlBuilder.gerarXml(xmlObject,"consReciNFe")}catch(error){throw new Error(error.message)}}async gerarConsulta(xmlConsulta){try{const config=this.environment.getConfig();"validateSchemaJsBased"!==config.lib?.useForSchemaValidation?await this.utility.validateSchemaJavaBased(xmlConsulta,this.metodo):await this.utility.validateSchemaJsBased(xmlConsulta,this.metodo);const{method:method,action:action}=this.utility.getSoapInfo(config.dfe.UF,this.metodo),xmlFormated=this.xmlBuilder.buildSoapEnvelope(xmlConsulta,method),agent=this.environment.getHttpAgent();return{xmlFormated:xmlFormated,agent:agent,webServiceUrl:this.utility.getWebServiceUrl(this.metodo),action:action}}catch(error){throw new Error(error.message)}}async getRetornoRecibo(nRec,xmlNFe){try{const xmlConsulta=this.gerarXml(nRec),{xmlFormated:xmlFormated,agent:agent,webServiceUrl:webServiceUrl,action:action}=await this.gerarConsulta(xmlConsulta);this.utility.salvaConsulta(xmlConsulta,xmlFormated,this.metodo);const xmlRetorno=await this.axios.post(webServiceUrl,xmlFormated,{headers:{"Content-Type":"text/xml; charset=utf-8",SOAPAction:action},httpsAgent:agent}),responseInJson=this.utility.verificaRejeicao(xmlRetorno.data,this.metodo);this.utility.salvaRetorno(xmlRetorno.data,responseInJson,this.metodo);const{protNFe:protNFe}=this.utility.getProtNFe(xmlRetorno.data);if(!protNFe)throw new Error("Não foi possível encontrar a tag 'protNFe'. Talvez a NFe ainda não tenha sido processada.");return this.getXmlRetornoAutorizacao(protNFe,xmlNFe)}catch(error){throw new Error(error.message)}}getXmlRetornoAutorizacao(protNFe,xmlNFe){try{const XMLs=[];for(let i=0;i<protNFe.length;i++){const baseXML={$:{versao:"4.00",xmlns:"http://www.portalfiscal.inf.br/nfe"},_:"[XML]"};let xml=this.xmlBuilder.gerarXml(baseXML,"nfeProc");const formatedProtNFe=protNFe,xmlCompleto=xmlNFe.find((item=>-1!==item.indexOf(formatedProtNFe[i].infProt[0].chNFe[0])));if(xmlCompleto){const protTag=this.xmlBuilder.gerarXml(protNFe[i],"protNFe"),xmlFinal=[xmlCompleto];xmlFinal.push(protTag),xml=xml.replace("[XML]",xmlFinal.join("")),xml=`<?xml version="1.0" encoding="UTF-8"?>${xml}`,XMLs.push(xml)}}return{success:!0,message:"xMotivo",data:XMLs}}catch(error){throw new Error(error.message)}}async getXmlRetorno({tipoEmissao:tipoEmissao,nRec:nRec,protNFe:protNFe,xmlNFe:xmlNFe}){try{if(1===tipoEmissao&&protNFe)return this.getXmlRetornoAutorizacao(protNFe,xmlNFe);if(0===tipoEmissao&&nRec)return this.getRetornoRecibo(nRec,xmlNFe);throw new Error("Não foi possível buscar o retorno da autorização.")}catch(error){throw new Error(error.message)}}}class NFEAutorizacaoHandler$1{constructor(){}validarCpfCnpj(cpfCnpj){const isCpf=11===cpfCnpj.length,isCnpj=14===cpfCnpj.length;if(!isCpf&&!isCnpj)return{documentoValido:!1,tipoDoDocumento:"Desconhecido"};const cleanCpfCnpj=cpfCnpj.replace(/\D/g,"");return isCpf?"00000000000"===cleanCpfCnpj?{documentoValido:!1,tipoDoDocumento:"CPF"}:this.documentoValidoateCpf(cleanCpfCnpj)?{documentoValido:!0,tipoDoDocumento:"CPF"}:{documentoValido:!1,tipoDoDocumento:"CPF"}:this.documentoValidoateCnpj(cleanCpfCnpj)?{documentoValido:!0,tipoDoDocumento:"CNPJ"}:{documentoValido:!1,tipoDoDocumento:"CNPJ"}}documentoValidoateCpf(cpf){let remainder,sum=0;for(let i=1;i<=9;i++)sum+=parseInt(cpf.substring(i-1,i))*(11-i);if(remainder=10*sum%11,10!==remainder&&11!==remainder||(remainder=0),remainder!==parseInt(cpf.substring(9,10)))return!1;sum=0;for(let i=1;i<=10;i++)sum+=parseInt(cpf.substring(i-1,i))*(12-i);return remainder=10*sum%11,10!==remainder&&11!==remainder||(remainder=0),remainder===parseInt(cpf.substring(10,11))}documentoValidoateCnpj(cnpj){let size=cnpj.length-2,numbers=cnpj.substring(0,size);const digits=cnpj.substring(size);let sum=0,pos=size-7;for(let i=size;i>=1;i--)sum+=parseInt(numbers.charAt(size-i))*pos--,pos<2&&(pos=9);let result=sum%11<2?0:11-sum%11;if(result!=parseInt(digits.charAt(0)))return!1;size+=1,numbers=cnpj.substring(0,size),sum=0,pos=size-7;for(let i=size;i>=1;i--)sum+=parseInt(numbers.charAt(size-i))*pos--,pos<2&&(pos=9);return result=sum%11<2?0:11-sum%11,result==parseInt(digits.charAt(1))}}function filterFieldsByType(source,requiredFields){const result={};for(const key of requiredFields)key in source&&""!==source[key]&&(result[key]=source[key]);return result}const COFINSMap={"01":"COFINSAliq","02":"COFINSAliq","03":"COFINSQtde","04":"COFINSNT","05":"COFINSNT","06":"COFINSNT","07":"COFINSNT","08":"COFINSNT","09":"COFINSNT",49:"COFINSOutr",50:"COFINSOutr",51:"COFINSOutr",52:"COFINSOutr",53:"COFINSOutr",54:"COFINSOutr",55:"COFINSOutr",56:"COFINSOutr",60:"COFINSOutr",61:"COFINSOutr",62:"COFINSOutr",63:"COFINSOutr",64:"COFINSOutr",65:"COFINSOutr",66:"COFINSOutr",67:"COFINSOutr",70:"COFINSOutr",71:"COFINSOutr",72:"COFINSOutr",73:"COFINSOutr",74:"COFINSOutr",75:"COFINSOutr",98:"COFINSOutr",99:"COFINSOutr"},PISMap={"01":"PISAliq","02":"PISAliq","03":"PISQtde","04":"PISNT","05":"PISNT","06":"PISNT","07":"PISNT","08":"PISNT","09":"PISNT",49:"PISOutr",50:"PISOutr",51:"PISOutr",52:"PISOutr",53:"PISOutr",54:"PISOutr",55:"PISOutr",56:"PISOutr",60:"PISOutr",61:"PISOutr",62:"PISOutr",63:"PISOutr",64:"PISOutr",65:"PISOutr",66:"PISOutr",67:"PISOutr",70:"PISOutr",71:"PISOutr",72:"PISOutr",73:"PISOutr",74:"PISOutr",75:"PISOutr",98:"PISOutr",99:"PISOutr"},ICMSMap={"00":"ICMS00","02":"ICMS02",10:"ICMS10",20:"ICMS20",30:"ICMS30",40:"ICMS40",41:"ICMS40",50:"ICMS40",51:"ICMS51",60:"ICMS60",70:"ICMS70",90:"ICMS90",101:"ICMSSN101",102:"ICMSSN102",103:"ICMSSN102",201:"ICMSSN201",202:"ICMSSN202",203:"ICMSSN202",500:"ICMSSN500",900:"ICMSSN900"},mountCOFINS=cofins=>{const{CST:CST}=cofins,cst_cofins=CST;let cofinsKey=COFINSMap[CST];cofinsKey||(console.warn(`Código de situação tributária do COFINS ${cst_cofins} não é reconhecido. Alterado para padrão 'COFINSAliq'.`),cofinsKey="COFINSAliq");const requiredFields={COFINSAliq:["CST","vBC","pCOFINS","vCOFINS"],COFINSQtde:["CST","qBCProd","vAliqProd","vCOFINS"],COFINSNT:["CST"],COFINSOutr:["CST","vBC","pCOFINS","qBCProd","vAliqProd","vCOFINS"]};if(cofinsKey in requiredFields){const cofinsProperties=filterFieldsByType(cofins,requiredFields[cofinsKey]);return{[cofinsKey]:cofinsProperties}}return console.warn(`Chave COFINS '${cofinsKey}' não reconhecida.`),{}},mountPIS=pis=>{const{CST:CST}=pis,cst_pis=CST;let pisKey=PISMap[cst_pis];pisKey||(console.warn(`Código de situação tributária do PIS ${cst_pis} não é reconhecido. Alterado para padrão 'PISAliq'.`),pisKey="PISAliq");const requiredFields={PISAliq:["CST","vBC","pPIS","vPIS"],PISQtde:["CST","qBCProd","vAliqProd","vPIS"],PISNT:["CST"],PISOutr:["CST","vBC","pPIS","qBCProd","vAliqProd","vPIS"]};if(pisKey in requiredFields){const pisProperties=filterFieldsByType(pis,requiredFields[pisKey]);return{[pisKey]:pisProperties}}return console.warn(`Chave PIS '${pisKey}' não reconhecida.`),{}},mountICMS=icms=>{const{CST:CST}=icms,cod_sit_trib=CST.length>2?CST.substring(1,3):CST;let icmsKey=ICMSMap[cod_sit_trib];icmsKey||(console.warn(`Código de situação tributária ${cod_sit_trib} não é reconhecido. Alterado para padrão 'ICMS00'.`),icmsKey="ICMS00");const requiredFields={ICMS00:["orig","CST","modBC","vBC","pICMS","vICMS","pFCP","vFCP"],ICMS02:["orig","CST","qBCMono","adRemICMS","vICMSMono"],ICMS10:["orig","CST","modBC","vBC","pICMS","vICMS","vBCFCP","pFCP","modBCST","pMVAST","pRedBCST","vBCST","pICMSST","vICMSST","vICMSSTDeson","motDesICMSST"],ICMS15:["orig","CST","qBCMono","adRemICMS","vICMSMono","qBCMonoReten","adRemICMSReten","vICMSMonoReten","pRedAdRem","motRedAdRem"],ICMS20:["orig","CST","modBC","pRedBC","vBC","pICMS","vICMS","vBCFCP","pFCP","vICMSDeson","motDesICMS","indDeduzDeson"],ICMS30:["orig","CST","modBCST","pMVAST","pRedBCST","vBCST","pICMSST","vICMSST","vBCFCPST","pFCPST","vFCPST","vICMSDeson","motDesICMS","indDeduzDeson"],ICMS40:["orig","CST","vICMSDeson","motDesICMS","indDeduzDeson"],ICMS41:["orig","CST","vICMSDeson","motDesICMS","indDeduzDeson"],ICMS50:["orig","CST","vICMSDeson","motDesICMS","indDeduzDeson"],ICMS51:["orig","CST","modBC","pRedBC","vBC","pICMS","vICMS","vICMSOp","pDif","vICMSDif"],ICMS53:["orig","CST","qBCMono","adRemICMS","vICMSMonoOp","pDif","vICMSMonoDif","vICMSMono","qBCMonoDif","adRemICMSDif"],ICMS60:["orig","CST","vBCSTRet","pST","vICMSSubstituto","vICMSSTRet","vBCFCPSTRet","pFCPSTRet","vFCPSTRet","pRedBCEfet","vBCEfet","pICMSEfet","vICMSEfet"],ICMS61:["orig","CST","qBCMonoRet","adRemICMSRet","vICMSMonoRet"],ICMS70:["orig","CST","modBC","pRedBC","vBC","pICMS","vICMS","vBCST","pICMSST","vICMSST","vICMSDeson","motDesICMS","indDeduzDeson","modBCST","pMVAST","pRedBCST"],ICMS90:["orig","CST","modBC","pRedBC","vBC","pICMS","vICMS","vBCST","pICMSST","vICMSST","vICMSDeson","motDesICMS","indDeduzDeson","modBCST","pMVAST","pRedBCST"],ICMSPart:["orig","CST","modBC","vBC","pRedBC","pICMS","vICMS","modBCST","pMVAST","pRedBCST","vBCST","pICMSST","vICMSST","pBCOp","UFST","vBCFCPST","pFCPST","vFCPST"],ICMSST:["orig","CST","vBCSTRet","pST","vICMSSubstituto","vICMSSTRet","vBCFCPSTRet","pFCPSTRet","vFCPSTRet","vBCSTDest","vICMSSTDest"],ICMSSN101:["orig","CSOSN","pCredSN","vCredICMSSN"],ICMSSN102:["orig","CSOSN"],ICMSSN201:["orig","CSOSN","modBCST","pMVAST","pRedBCST","vBCST","pICMSST","vICMSST","pFCPST","vFCPST"],ICMSSN202:["orig","CSOSN","modBCST","pMVAST","pRedBCST","vBCST","pICMSST","vICMSST","vFCPST","vBCFCPST","pFCPST"],ICMSSN500:["orig","CSOSN","vBCSTRet","pST","vICMSSubstituto","vICMSSTRet","vBCFCPSTRet","pFCPSTRet","vFCPSTRet","pRedBCEfet","vBCEfet","pICMSEfet","vICMSEfet"],ICMSSN900:["orig","CSOSN","modBC","vBC","pRedBC","pICMS","vICMS","modBCST","pMVAST","pRedBCST","vBCST","pICMSST","vICMSST","vBCFCPST","pFCPST","vFCPST","pCredSN","vCredICMSSN"]};if(icmsKey in requiredFields){const icmsProperties=filterFieldsByType(icms,requiredFields[icmsKey]);return{[icmsKey]:icmsProperties}}return console.warn(`Chave ICMS '${icmsKey}' não reconhecida.`),{}};class NFEAutorizacao extends BaseNFE{constructor(environment,utility,xmlBuilder,axios){super(environment,utility,xmlBuilder,"NFEAutorizacao",axios),this.xmlNFe=[]}gerarXml(data){return this.gerarXmlNFeAutorizacao(data)}salvaArquivos(xmlConsulta,responseInJson,xmlRetorno,options){const config=this.environment.getConfig();let dateAndTimeInFileName=config.dfe.incluirTimestampNoNomeDosArquivos;const createFileName=(prefix,includeMethodName)=>{const dtaTime=dateAndTimeInFileName?`-${format(new Date,"dd-MM-yyyy-HHmm")}`:"";return`${includeMethodName?`${this.metodo}`:""}${prefix?includeMethodName?`-${prefix}`:`${prefix}`:""}${responseInJson.chNFe?`-${responseInJson.chNFe}`:""}${dtaTime}`},salvarArquivo=(data,prefix,path,fileType,includeMethodName)=>{const fileName=createFileName(prefix,includeMethodName),method="xml"===fileType?"salvaXML":"salvaJSON";this.utility[method]({data:data,fileName:fileName,metodo:this.metodo,path:path})};let xmlAutorizacaoInJson={},xMotivoPorXml=[],xmlsInJson=[];if(options){const{xmlAutorizacao:xmlAutorizacao}=options,json=new Json;for(let i=0;i<xmlAutorizacao.length;i++){xmlAutorizacaoInJson=json.convertXmlToJson(xmlAutorizacao[i],"NFEAutorizacaoFinal"),xmlsInJson.push(xmlAutorizacaoInJson);const chNFe=xmlAutorizacaoInJson.protNFe.infProt.chNFe,xMotivo=xmlAutorizacaoInJson.protNFe.infProt.xMotivo,cStat=xmlAutorizacaoInJson.protNFe.infProt.cStat;xMotivoPorXml.push({chNFe:chNFe,xMotivo:xMotivo,cStat:cStat}),config.dfe.armazenarXMLAutorizacao&&(salvarArquivo(xmlAutorizacao[i],chNFe,config.dfe.pathXMLAutorizacao,"xml",!1),salvarArquivo(xmlAutorizacaoInJson,chNFe,config.dfe.pathXMLAutorizacao,"json",!1))}return{success:!0,xMotivo:xMotivoPorXml,response:xmlsInJson}}return{success:!0,xMotivo:xMotivoPorXml,response:xmlsInJson}}async trataRetorno(xmlRetorno,indSinc,responseInJson){try{const{nRec:nRec,protNFe:protNFe}=this.utility.getProtNFe(xmlRetorno);let tipoEmissao=0;1===indSinc&&protNFe&&(tipoEmissao=1);const nfeRetornoAut=new NFERetornoAutorizacao$1(this.environment,this.utility,this.xmlBuilder,this.axios);return await nfeRetornoAut.getXmlRetorno({tipoEmissao:tipoEmissao,nRec:nRec,protNFe:protNFe,xmlNFe:this.xmlNFe})}catch(error){throw new Error(error.message)}}anoMesEmissao(dhEmi){const dataAtual=new Date(dhEmi);return dataAtual.getFullYear().toString().slice(-2)+(dataAtual.getMonth()+1).toString().padStart(2,"0")}gerarCodigoNumerico(){return Math.floor(1e8*Math.random()).toString().padStart(8,"0")}calcularModulo11(sequencia){const pesos=[4,3,2,9,8,7,6,5,4,3,2,9,8,7,6,5,4,3,2,9,8,7,6,5,4,3,2,9,8,7,6,5,4,3,2,9,8,7,6,5,4,3,2];let somatoria=0;for(let i=0;i<sequencia.length;i++)somatoria+=parseInt(sequencia.charAt(i))*pesos[i];const restoDivisao=somatoria%11;return 0===restoDivisao||1===restoDivisao?0:11-restoDivisao}calcularDigitoVerificador(data){const{infNFe:{ide:{cUF:cUF,mod:mod,serie:serie,nNF:nNF,tpEmis:tpEmis,cNF:cNF,dhEmi:dhEmi},emit:{CNPJCPF:CNPJCPF}}}=data,sequencia=`${cUF}${this.anoMesEmissao(dhEmi)}${CNPJCPF}${mod}${String(serie).padStart(3,"0")}${String(nNF).padStart(9,"0")}${tpEmis}${cNF}`,dv=this.calcularModulo11(sequencia),chaveAcesso=`NFe${sequencia}`+dv;return this.chaveNfe=`${sequencia}${dv}`,{chaveAcesso:chaveAcesso,dv:dv}}validaDocumento(doc,campo){const nfeAutorizacaoHandler=new NFEAutorizacaoHandler$1,{documentoValido:documentoValido,tipoDoDocumento:tipoDoDocumento}=nfeAutorizacaoHandler.validarCpfCnpj(doc);if(!documentoValido||"Desconhecido"===tipoDoDocumento){throw new Error("Desconhecido"===tipoDoDocumento?`Documento do ${campo} ausente ou inválido`:`${tipoDoDocumento} do ${campo} é inválido`)}return tipoDoDocumento}gerarXmlNFeAutorizacao(data){const createXML=NFe=>{if(NFe?.infNFe?.det instanceof Array){const formatedItens=NFe.infNFe.det.map(((det,index)=>{if(det.imposto.ICMS.dadosICMS){const icms=mountICMS(det.imposto.ICMS.dadosICMS);det.imposto.ICMS=icms}if(det.imposto.PIS.dadosPIS){const pis=mountPIS(det.imposto.PIS.dadosPIS);det.imposto.PIS=pis}if(det.imposto.COFINS.dadosCOFINS){const cofins=mountCOFINS(det.imposto.COFINS.dadosCOFINS);det.imposto.COFINS=cofins}return{$:{nItem:index+1},...det}}));NFe.infNFe.det=formatedItens}const{chaveAcesso:chaveAcesso,dv:dv}=this.calcularDigitoVerificador(NFe);if(NFe.infNFe.ide.cDV=dv,NFe.infNFe.ide.verProc=NFe.infNFe.ide.verProc||"1.0.0.0",NFe.infNFe.emit=Object.assign({[this.validaDocumento(String(NFe.infNFe.emit.CNPJCPF),"emitente")]:NFe.infNFe.emit.CNPJCPF},NFe.infNFe.emit),delete NFe.infNFe.emit.CNPJCPF,NFe.infNFe.dest&&(NFe.infNFe.dest=Object.assign({[this.validaDocumento(String(NFe.infNFe.dest?.CNPJCPF||""),"destinatário")]:NFe.infNFe.dest?.CNPJCPF||""},NFe.infNFe.dest),delete NFe.infNFe.dest.CNPJCPF),NFe.infNFe.transp.transporta&&(NFe.infNFe.transp.transporta=Object.assign({[this.validaDocumento(String(NFe.infNFe.transp.transporta?.CNPJCPF),"transportador")]:NFe.infNFe.transp.transporta?.CNPJCPF},NFe.infNFe.transp.transporta),delete NFe.infNFe.transp.transporta?.CNPJCPF),NFe.infNFe?.NFref instanceof Array){const NFrefArray=NFe.infNFe.NFref;NFrefArray&&NFrefArray.length>0&&(NFe.infNFe.NFref=NFrefArray.map((NFref=>(NFref.refNFP&&(NFref.refNFP=Object.assign({[this.validaDocumento(String(NFref.refNFP.CNPJCPF),"produtor rural")]:NFref.refNFP.CNPJCPF},NFref.refNFP),delete NFref.refNFP.CNPJCPF),NFref))))}else NFe.infNFe.NFref&&NFe.infNFe.NFref.refNFP&&(NFe.infNFe.NFref.refNFP=Object.assign({[this.validaDocumento(String(NFe.infNFe.NFref.refNFP.CNPJCPF),"produtor rural")]:NFe.infNFe.NFref.refNFP.CNPJCPF},NFe.infNFe.NFref.refNFP));NFe.infNFe.dest&&2===NFe.infNFe.ide.tpAmb&&(NFe.infNFe.dest.xNome="NF-E EMITIDA EM AMBIENTE DE HOMOLOGACAO - SEM VALOR FISCAL");const xmlObject={$:{xmlns:"http://www.portalfiscal.inf.br/nfe"},infNFe:{$:{versao:"4.00",Id:chaveAcesso},...NFe.infNFe}},eventoXML=this.xmlBuilder.gerarXml(xmlObject,"NFe"),xmlAssinado=this.xmlBuilder.assinarXML(eventoXML,"infNFe");this.xmlNFe.push(xmlAssinado)};if(data.NFe instanceof Array)for(let i=0;i<data.NFe.length;i++){createXML(data.NFe[i])}else createXML(data.NFe);const baseXML={$:{versao:"4.00",xmlns:"http://www.portalfiscal.inf.br/nfe"},idLote:data.idLote,indSinc:data.indSinc,_:"[XML]"};return this.xmlBuilder.gerarXml(baseXML,"enviNFe").replace("[XML]",this.xmlNFe.join(""))}async gerarConsulta(xmlConsulta){try{const config=this.environment.getConfig();"validateSchemaJsBased"!==config.lib?.useForSchemaValidation?await this.utility.validateSchemaJavaBased(xmlConsulta,this.metodo):await this.utility.validateSchemaJsBased(xmlConsulta,this.metodo);const{method:method,action:action}=this.utility.getSoapInfo(config.dfe.UF,this.metodo),xmlFormated=this.xmlBuilder.buildSoapEnvelope(xmlConsulta,method),agent=this.environment.getHttpAgent();return{xmlFormated:xmlFormated,agent:agent,webServiceUrl:this.utility.getWebServiceUrl(this.metodo),action:action}}catch(error){throw new Error(error.message)}}async Exec(data){let xmlConsulta="",soapXML="";try{xmlConsulta=this.gerarXmlNFeAutorizacao(data);const{xmlFormated:xmlFormated,agent:agent,webServiceUrl:webServiceUrl,action:action}=await this.gerarConsulta(xmlConsulta);soapXML=xmlFormated,this.utility.salvaConsulta(xmlConsulta,xmlFormated,this.metodo);const xmlRetorno=await this.axios.post(webServiceUrl,xmlFormated,{headers:{"Content-Type":"text/xml; charset=utf-8",SOAPAction:action},httpsAgent:agent}),responseInJson=this.utility.verificaRejeicao(xmlRetorno.data,this.metodo);this.utility.salvaRetorno(xmlRetorno.data,responseInJson,this.metodo);const retorno=await this.trataRetorno(xmlRetorno.data,data.indSinc,responseInJson),xmlFinal=this.salvaArquivos(xmlConsulta,responseInJson,xmlRetorno.data,{xmlAutorizacao:retorno.data,xMotivo:retorno.message});return{success:!0,xMotivo:xmlFinal.xMotivo,xmls:xmlFinal.response}}catch(error){throw this.utility.salvaConsulta(xmlConsulta,soapXML,this.metodo),new Error(error.message)}}}class NFEInutilizacao extends BaseNFE{constructor(environment,utility,xmlBuilder,axios){super(environment,utility,xmlBuilder,"NFEInutilizacao",axios)}gerarXml(chave){return this.gerarXmlNFeInutilizacao(chave)}criarId(codigoUF,ano,cnpj,modelo,serie,numeroInicial,numeroFinal){return`ID${codigoUF}${ano}${cnpj}${modelo}${serie}${numeroInicial}${numeroFinal}`}gerarXmlNFeInutilizacao(data){const{nfe:{ambiente:ambiente}}=this.environment.getConfig(),{cUF:cUF,ano:ano,CNPJ:CNPJ,mod:mod,serie:serie,nNFIni:nNFIni,nNFFin:nNFFin,xJust:xJust}=data,anoFormatado=ano.toString().slice(-2),serieFormatada=serie.padStart(3,"0"),numNFIniFormatado=nNFIni.padStart(9,"0"),numNFFinFormatado=nNFFin.padStart(9,"0"),id=this.criarId(cUF,anoFormatado,CNPJ,mod,serieFormatada,numNFIniFormatado,numNFFinFormatado);if(-1===[55,65].indexOf(Number(mod)))throw new Error(`Modelo do documento para inutilização deve ser 55 ou 65. Modelo informado: ${mod}`);const xmlObject={$:{versao:"4.00",xmlns:"http://www.portalfiscal.inf.br/nfe"},infInut:{$:{Id:`${id}`},tpAmb:ambiente,xServ:"INUTILIZAR",cUF:cUF,ano:ano,CNPJ:CNPJ,mod:mod,serie:serie,nNFIni:nNFIni,nNFFin:nNFFin,xJust:xJust}},xml=this.xmlBuilder.gerarXml(xmlObject,"inutNFe");return this.xmlBuilder.assinarXML(xml,"infInut")}}class ValidaCPFCNPJ{constructor(){}validarCpfCnpj(cpfCnpj){const isCpf=11===cpfCnpj.length,isCnpj=14===cpfCnpj.length;if(!isCpf&&!isCnpj)return{documentoValido:!1,tipoDoDocumento:"Desconhecido"};const cleanCpfCnpj=cpfCnpj.replace(/\D/g,"");return isCpf?"00000000000"===cleanCpfCnpj?{documentoValido:!1,tipoDoDocumento:"CPF"}:this.documentoValidoateCpf(cleanCpfCnpj)?{documentoValido:!0,tipoDoDocumento:"CPF"}:{documentoValido:!1,tipoDoDocumento:"CPF"}:this.documentoValidoateCnpj(cleanCpfCnpj)?{documentoValido:!0,tipoDoDocumento:"CNPJ"}:{documentoValido:!1,tipoDoDocumento:"CNPJ"}}documentoValidoateCpf(cpf){let remainder,sum=0;for(let i=1;i<=9;i++)sum+=parseInt(cpf.substring(i-1,i))*(11-i);if(remainder=10*sum%11,10!==remainder&&11!==remainder||(remainder=0),remainder!==parseInt(cpf.substring(9,10)))return!1;sum=0;for(let i=1;i<=10;i++)sum+=parseInt(cpf.substring(i-1,i))*(12-i);return remainder=10*sum%11,10!==remainder&&11!==remainder||(remainder=0),remainder===parseInt(cpf.substring(10,11))}documentoValidoateCnpj(cnpj){let size=cnpj.length-2,numbers=cnpj.substring(0,size);const digits=cnpj.substring(size);let sum=0,pos=size-7;for(let i=size;i>=1;i--)sum+=parseInt(numbers.charAt(size-i))*pos--,pos<2&&(pos=9);let result=sum%11<2?0:11-sum%11;if(result!=parseInt(digits.charAt(0)))return!1;size+=1,numbers=cnpj.substring(0,size),sum=0,pos=size-7;for(let i=size;i>=1;i--)sum+=parseInt(numbers.charAt(size-i))*pos--,pos<2&&(pos=9);return result=sum%11<2?0:11-sum%11,result==parseInt(digits.charAt(1))}mascaraCnpjCpf(cpfcnpj){return 11===(cpfcnpj=cpfcnpj.replace(/\D/g,"")).length?cpfcnpj.replace(/(\d{3})(\d{3})(\d{3})(\d{2})/,"$1.$2.$3-$4"):14===cpfcnpj.length?cpfcnpj.replace(/(\d{2})(\d{3})(\d{3})(\d{4})(\d{2})/,"$1.$2.$3/$4-$5"):cpfcnpj}}const baseDir$1=path__default.default.dirname(require$$0$3.fileURLToPath("undefined"==typeof document?new(require("url").URL)("file:"+__filename).href:document.currentScript&&"SCRIPT"===document.currentScript.tagName.toUpperCase()&&document.currentScript.src||new URL("index.js",document.baseURI).href));class NFEGerarDanfe{constructor(props){const{data:data,chave:chave,outputPath:outputPath}=props;this.data=data,this.chave=chave.trim(),this.outputPath=outputPath,this.enviada=!1,this.barcodePath="../tmp",this.documento=new ValidaCPFCNPJ,this.protNFe=data.protNFe;const nfeData=Array.isArray(data.NFe)?data.NFe[0]:data.NFe,{det:det,ide:ide,emit:emit,dest:dest,total:total,transp:transp,infAdic:infAdic}=nfeData.infNFe;this.det=det,this.ide=ide,this.emit=emit,this.total=total,this.transp=transp,this.infAdic=infAdic,dest&&(this.dest=dest),this.protNFe?.infProt.nProt&&(this.enviada=!0),this.doc=new PDFDocument__default.default({margins:{top:22,right:22.68,bottom:12,left:5.67},size:"a4",bufferPages:!0,layout:"portrait",font:"Times-Roman"})}createDir(path){fs__default.default.existsSync(path)||fs__default.default.mkdirSync(path,{recursive:!0})}async generateBarcode(data){try{const barcode=(await bwipjs__default.default.toBuffer({bcid:"code128",text:data,scaleX:4,height:14,includetext:!1})).toString("base64"),barcodeDir=this.barcodePath,filePath=path__default.default.resolve(baseDir$1,this.barcodePath);this.createDir(barcodeDir),fs__default.default.writeFileSync(`${filePath}/barcode.png`,Buffer.from(barcode,"base64"))}catch(err){return console.error("Erro ao gerar código de barras:",err),null}}setLineStyle(lineWidth,strokeColor){this.doc.lineWidth(lineWidth).strokeColor(strokeColor).fill("black")}drawHeader(isFirstPage){isFirstPage?(this._buildGuia(),this._buildSeparator(),this._buildHeader(52)):this._buildHeader(0)}drawFooter(){this._buildFooter()}_buildGuia(){const{top:top,left:left}=this.doc.page.margins;this.setLineStyle(.75,"#1c1c1c"),this.doc.rect(left,top,470,21).stroke(),this.doc.fontSize(5).text(`RECEBEMOS DE ${this.emit.xNome} OS PRODUTOS / SERVIÇOS CONSTANTES DA NOTA FISCAL INDICADO AO LADO`,10,26,{characterSpacing:.5}),this.doc.fontSize(6).text(`EMISSÃO: ${format(new Date(this.ide.dhEmi),"dd-MM-yyyy")} - DEST. / REM.: ${this.dest?.xNome||""} - VALOR TOTAL: R$ ${parseFloat(String(this.total.ICMSTot.vNF)).toFixed(2)}`,10,33.5,{characterSpacing:.5}),this.doc.rect(left+470,top,96.93,42).stroke(),this.doc.fontSize(11).text("NF-e",480,27,{characterSpacing:1.5,align:"center"}),this.doc.fontSize(8.8).font("Times-Bold").text(`Nº ${String(this.ide.nNF).padStart(2,"0")}`,480,40.5,{characterSpacing:1.5,align:"center"}),this.doc.fontSize(8.5).font("Times-Roman").text(`SÉRIE ${this.ide.serie.padStart(3,"0")}`,480,53,{characterSpacing:1.5,align:"center"}),this.doc.rect(left,top+21,75,21).stroke(),this.doc.fontSize(5).text("DATA DE RECEBIMENTO",10,46.5,{characterSpacing:.5}),this.doc.rect(left+75,top+21,395,21).stroke(),this.doc.fontSize(5).text("IDENTIFICAÇÃO E ASSINATURA DO RECEBEDOR",85,46.5,{characterSpacing:.5})}_buildSeparator(){const{left:left,right:right}=this.doc.page.margins,lineWidth=595.28-left-right;this.doc.moveTo(left,69).lineTo(left+lineWidth,69).lineWidth(1).dash(1.5,{space:1.5}).strokeColor("black").stroke(),this.doc.undash()}_buildHeader(pos){const{top:top,left:left}=this.doc.page.margins,page=this.doc.bufferedPageRange(),CNPJCPF=this.emit.CNPJCPF?.toString(),CNPJ=this.emit.CNPJ?.toString(),CPF=this.emit.CPF?.toString(),documento=this.documento.mascaraCnpjCpf(CNPJCPF||CNPJ||CPF||"");this.setLineStyle(.75,"#1c1c1c");const topIdentificacao_1=top+pos,identificationJoined=`\nCEP: ${this.emit.enderEmit.CEP} - ${this.emit.enderEmit.xBairro} - ${this.emit.enderEmit.UF}\nTEL: ${this.emit.enderEmit.fone} - FAX: ${this.emit.enderEmit.fone}`;(()=>{this.doc.rect(left,topIdentificacao_1,197.5,98).stroke(),this.doc.fontSize(5).text("IDENTIFICAÇÃO DO EMITENTE",10,topIdentificacao_1+3.5,{characterSpacing:.5}),this.doc.fontSize(8).font("Times-Bold").text(this.emit.xNome,35,topIdentificacao_1+14,{characterSpacing:1,width:170,lineBreak:!0,lineGap:4}),this.doc.fontSize(7).font("Times-Roman").text(`${this.emit.enderEmit.xLgr}, ${this.emit.enderEmit.nro} ${this.emit.xFant?`- ${this.emit.xFant}`:""}`,10,topIdentificacao_1+44,{characterSpacing:1,width:181,lineBreak:!0,lineGap:2,continued:!0}).text(identificationJoined)})(),(()=>{this.doc.rect(left+197.5,topIdentificacao_1,112.7,98).stroke(),this.doc.fontSize(12).font("Times-Bold").text("DANFE",203,topIdentificacao_1+8,{characterSpacing:1.5,width:112.7,align:"center"}),this.doc.fontSize(6).text("DOCUMENTO AUXILIAR DA NOTA FISCAL ELETRÔNICA",215,topIdentificacao_1+20,{characterSpacing:.5,width:95,align:"left",lineGap:2}),this.doc.fontSize(8).font("Times-Roman").text("0 - ENTRADA",217,topIdentificacao_1+40,{characterSpacing:.5,align:"left"}),this.doc.fontSize(8).text("1 - SAÍDA",217,topIdentificacao_1+50,{characterSpacing:.5,align:"left"}),this.doc.rect(left+275,topIdentificacao_1+38,18,18).stroke(),this.doc.fontSize(14).font("Times-Bold").text(String(this.ide.tpNF),left+280,topIdentificacao_1+42.5),this.doc.fontSize(8.8).text(`Nº ${String(this.ide.nNF).padStart(2,"0")}`,208,topIdentificacao_1+65,{characterSpacing:1}),this.doc.fontSize(10).font("Times-Roman").text(`fl. ${page.start+1}/${page.count}`,240,topIdentificacao_1+65,{characterSpacing:1.5,width:112.7,align:"center"}),this.doc.fontSize(8.8).text(`SÉRIE ${this.ide.serie.padStart(3,"0")}`,208,topIdentificacao_1+78,{characterSpacing:1.5,width:112.7,align:"center"})})(),(()=>{this.doc.rect(left+310.2,topIdentificacao_1,256.73,35).stroke();const filePath=path__default.default.resolve(baseDir$1,this.barcodePath);if(this.doc.image(`${filePath}/barcode.png`,left+323.5,topIdentificacao_1+3,{width:230,height:30}),2===Number(this.ide.tpAmb)||this.enviada||this.doc.fontSize(14).font("Times-Bold").fillColor("red").text("NF-E NÃO ENVIADA PARA SEFAZ",left+316,topIdentificacao_1+12,{characterSpacing:1,width:256.73}),this.setLineStyle(.75,"#1c1c1c"),this.doc.rect(left+310.2,topIdentificacao_1+35,256.73,23).stroke(),this.doc.fontSize(5).font("Times-Roman").text("CHAVE DE ACESSO",left+314,topIdentificacao_1+38,{characterSpacing:.5}),this.doc.fontSize(6).text(this.chave,left+310.2,topIdentificacao_1+47,{characterSpacing:1,width:256.73,align:"center"}),this.doc.rect(left+310.2,topIdentificacao_1+58,256.73,40).stroke(),(2===Number(this.ide.tpAmb)||this.enviada)&&(this.doc.fontSize(6.5).text("Consulta de autenticidade no portal nacional da NF-e",left+310.2,topIdentificacao_1+65,{characterSpacing:.5,width:256.73,align:"center"}),this.doc.fontSize(6.5).text("www.nfe.fazenda.gov.br/portal",left+310.2,topIdentificacao_1+75,{characterSpacing:.5,width:256.73,align:"center"}),this.doc.fontSize(6.5).text("ou no site da Sefaz Autorizadora",left+310.2,topIdentificacao_1+85,{characterSpacing:.5,width:256.73,align:"center"})),this.doc.rect(left,topIdentificacao_1+98,310.2,23).stroke(),this.doc.fontSize(5).text("NATUREZA DE OPERAÇÃO",left+4,topIdentificacao_1+102,{characterSpacing:.5}),this.doc.fontSize(8).text(this.ide.natOp,left+4,topIdentificacao_1+112,{characterSpacing:1}),this.doc.rect(left+310.2,topIdentificacao_1+98,256.73,23).stroke(),2===Number(this.ide.tpAmb)||this.enviada){let dhRecbto="";this.protNFe?.infProt.dhRecbto&&(dhRecbto=format(new Date(this.protNFe?.infProt.dhRecbto),"dd/MM/yyyy HH:mm:ss"));const xProtNfe=`${String(this.protNFe?.infProt.nProt||"")} ${dhRecbto}`;this.doc.fontSize(5).text("PROTOCOLO DE AUTORIZAÇÃO DE USO",left+314.2,topIdentificacao_1+102,{characterSpacing:.5}),this.doc.fontSize(8).text(xProtNfe,left+314.2,topIdentificacao_1+112,{characterSpacing:1})}})(),(()=>{this.doc.rect(left,topIdentificacao_1+121,189.5,23).stroke(),this.doc.fontSize(5).text("INSCRIÇÃO ESTADUAL",left+4,topIdentificacao_1+125,{characterSpacing:.5}),this.doc.fontSize(8).text(this.emit.IE,left+5,topIdentificacao_1+135,{characterSpacing:1}),this.doc.rect(left+189.5,topIdentificacao_1+121,187.93,23).stroke(),this.doc.fontSize(5).text("INSCRIÇÃO ESTADUAL DO SUBST. TRIB.",left+193.5,topIdentificacao_1+125,{characterSpacing:.5}),this.doc.fontSize(8).text(String(this.emit.IEST||""),left+194.5,topIdentificacao_1+135,{characterSpacing:1}),this.doc.rect(left+377.43,topIdentificacao_1+121,189.5,23).stroke(),this.doc.fontSize(5).text("CNPJ / CPF",left+381.43,topIdentificacao_1+125,{characterSpacing:.5}),this.doc.fontSize(8).text(documento,left+386.43,topIdentificacao_1+135,{characterSpacing:1})})()}_buildDestinatario(){const{top:top,left:left}=this.doc.page.margins,docDest=this.documento.mascaraCnpjCpf(this.dest?.CNPJCPF||this.dest?.CNPJ||this.dest?.CPF||"");this.setLineStyle(.75,"#1c1c1c");const topDestinatario=top+90;this.doc.fontSize(6).font("Times-Bold").text("DESTINATÁRIO / REMETENTE",left,topDestinatario+114,{characterSpacing:.5}),(()=>{this.doc.rect(left,topDestinatario+120,398,23).stroke();let xNome="NF-E EMITIDA EM AMBIENTE DE HOMOLOGACAO - SEM VALOR FISCAL";2!==Number(this.ide.tpAmb)&&(xNome=String(this.dest?.xNome||"")),this.doc.fontSize(5).font("Times-Roman").text("NOME / RAZÃO SOCIAL",left+4,topDestinatario+125,{characterSpacing:.5}),this.doc.fontSize(8).text(xNome,left+5,topDestinatario+135,{characterSpacing:1}),this.doc.rect(left+398,topDestinatario+120,94,23).stroke(),this.doc.fontSize(5).text("CNPJ / CPF",left+402,topDestinatario+125,{characterSpacing:.5}),this.doc.fontSize(8).text(docDest,left+403,topDestinatario+135,{characterSpacing:1}),this.doc.rect(left+492,topDestinatario+120,74.3,23).stroke(),this.doc.fontSize(5).text("DATA DA EMISSÃO",left+496,topDestinatario+125,{characterSpacing:.5}),this.doc.fontSize(8).text(format(new Date(this.ide.dhEmi),"dd-MM-yyyy"),left+497,topDestinatario+135,{characterSpacing:1})})(),(()=>{this.doc.rect(left,topDestinatario+143,320,23).stroke(),this.doc.fontSize(5).text("ENDEREÇO",left+4,topDestinatario+148,{characterSpacing:.5}),this.doc.fontSize(8).text(`${this.dest?.enderDest?.xLgr||""}, ${this.dest?.enderDest?.nro||""}`,left+5,topDestinatario+158,{characterSpacing:1}),this.doc.rect(left+320,topDestinatario+143,118.5,23).stroke(),this.doc.fontSize(5).text("BAIRRO / DISTRITO",left+324,topDestinatario+148,{characterSpacing:.5}),this.doc.fontSize(8).text(String(this.dest?.enderDest?.xBairro||""),left+326,topDestinatario+158,{characterSpacing:1}),this.doc.rect(left+438.5,topDestinatario+143,53.5,23).stroke(),this.doc.fontSize(5).text("CEP",left+442.5,topDestinatario+148,{characterSpacing:.5}),this.doc.fontSize(8).text(String(this.dest?.enderDest?.CEP||""),left+443.5,topDestinatario+158,{characterSpacing:1}),this.doc.rect(left+492,topDestinatario+143,74.3,23).stroke(),this.doc.fontSize(5).text("DATA SAÍDA / ENTRADA",left+496,topDestinatario+148,{characterSpacing:.5}),this.doc.fontSize(8).text(format(new Date,"dd-MM-yyyy"),left+497,topDestinatario+158,{characterSpacing:1})})(),(()=>{this.doc.rect(left,topDestinatario+166,246.5,23).stroke(),this.doc.fontSize(5).text("MUNICÍPIO",left+4,topDestinatario+171,{characterSpacing:.5}),this.doc.fontSize(8).text(String(this.dest?.enderDest?.xMun||""),left+5,topDestinatario+181,{characterSpacing:1}),this.doc.rect(left+246.5,topDestinatario+166,113,23).stroke(),this.doc.fontSize(5).text("FONE / FAX",left+250.5,topDestinatario+171,{characterSpacing:.5}),this.doc.fontSize(8).text(this.dest?.enderDest?.fone||"",left+250.5,topDestinatario+181,{characterSpacing:1}),this.doc.rect(left+359.5,topDestinatario+166,40,23).stroke(),this.doc.fontSize(5).text("UF",left+363.5,topDestinatario+171,{characterSpacing:.5}),this.doc.fontSize(8).text(String(this.dest?.enderDest?.UF||""),left+363.5,topDestinatario+181,{characterSpacing:1}),this.doc.rect(left+399.5,topDestinatario+166,92.5,23).stroke(),this.doc.fontSize(5).text("INSCRIÇÃO ESTADUAL",left+403.5,topDestinatario+171,{characterSpacing:.5}),this.doc.fontSize(8).text(String(this.dest?.indIEDest||""),left+403.5,topDestinatario+181,{characterSpacing:1}),this.doc.rect(left+492,topDestinatario+166,74.3,23).stroke(),this.doc.fontSize(5).text("HORA DA SAÍDA",left+496,topDestinatario+171,{characterSpacing:.5}),this.doc.fontSize(8).text(format(new Date,"HH:mm"),left+497,topDestinatario+181,{characterSpacing:1})})()}_builCalculoImposto(){const{top:top,left:left}=this.doc.page.margins;this.setLineStyle(.75,"#1c1c1c");const topDestinatario=top+173;this.doc.fontSize(6).font("Times-Bold").text("CÁLCULO DO IMPOSTO",left,topDestinatario+114,{characterSpacing:.5}),(()=>{this.doc.rect(left,topDestinatario+120,86,23).stroke(),this.doc.fontSize(5).font("Times-Roman").text("BASE DE CÁLCULO DO ICMS",left+4,topDestinatario+125,{characterSpacing:.5}),this.doc.fontSize(8).text(parseFloat(String(this.total.ICMSTot.vBC)).toFixed(2),left-8,topDestinatario+135,{characterSpacing:1,align:"right",width:86}),this.doc.rect(left+86,topDestinatario+120,79,23).stroke(),this.doc.fontSize(5).text("VALOR DO ICMS",left+90,topDestinatario+125,{characterSpacing:.5}),this.doc.fontSize(8).text(parseFloat(String(this.total.ICMSTot.vICMS)).toFixed(2),left+86-16,topDestinatario+135,{characterSpacing:1,align:"right",width:86}),this.doc.rect(left+165,topDestinatario+120,79,23).stroke(),this.doc.fontSize(5).text("BASE CÁLC. ICMS SUBST",left+169,topDestinatario+125,{characterSpacing:.5}),this.doc.fontSize(8).text(parseFloat(String(this.total.ICMSTot.vBCST)).toFixed(2),left+165-16,topDestinatario+135,{characterSpacing:1,align:"right",width:86}),this.doc.rect(left+244,topDestinatario+120,79,23).stroke(),this.doc.fontSize(5).text("VALOR DO ICMS SUBST.",left+248,topDestinatario+125,{characterSpacing:.5}),this.doc.fontSize(8).text(parseFloat(String(this.total.ICMSTot.vST)).toFixed(2),left+244-16,topDestinatario+135,{characterSpacing:1,align:"right",width:86}),this.doc.rect(left+323,topDestinatario+120,91,23).stroke(),this.doc.fontSize(5).text("VALOR APROX. DOS TRIBUTOS",left+327,topDestinatario+125,{characterSpacing:.5}),this.doc.fontSize(8).text(parseFloat(this.total.ICMSTot.vTotTrib||"0").toFixed(2),left+323-6,topDestinatario+135,{characterSpacing:1,align:"right",width:86}),this.doc.rect(left+414,topDestinatario+120,152.93,23).fillAndStroke("#DDDDDD","#1c1c1c"),this.setLineStyle(.75,"#1c1c1c"),this.doc.fontSize(5).text("VALOR TOTAL DOS PRODUTOS",left+418,topDestinatario+125,{characterSpacing:.5}),this.doc.fontSize(8).text(parseFloat(String(this.total.ICMSTot.vProd)).toFixed(2),left+480-8,topDestinatario+135,{characterSpacing:1,align:"right",width:86}),this.doc.rect(left,topDestinatario+143,86,23).stroke(),this.doc.fontSize(5).text("VALOR DO FRETE",left+4,topDestinatario+148,{characterSpacing:.5}),this.doc.fontSize(8).text(parseFloat(String(this.total.ICMSTot.vFrete)).toFixed(2),left-8,topDestinatario+158,{characterSpacing:1,align:"right",width:86}),this.doc.rect(left+86,topDestinatario+143,79,23).stroke(),this.doc.fontSize(5).text("VALOR DO SEGURO",left+90,topDestinatario+148,{characterSpacing:.5}),this.doc.fontSize(8).text(parseFloat(String(this.total.ICMSTot.vSeg)).toFixed(2),left+86-16,topDestinatario+158,{characterSpacing:1,align:"right",width:86}),this.doc.rect(left+165,topDestinatario+143,79,23).stroke(),this.doc.fontSize(5).text("DESCONTO",left+169,topDestinatario+148,{characterSpacing:.5}),this.doc.fontSize(8).text(parseFloat(String(this.total.ICMSTot.vDesc)).toFixed(2),left+165-16,topDestinatario+158,{characterSpacing:1,align:"right",width:86}),this.doc.rect(left+244,topDestinatario+143,79,23).stroke(),this.doc.fontSize(5).text("OUTRAS DESP. ACESS.",left+248,topDestinatario+148,{characterSpacing:.5}),this.doc.fontSize(8).text(parseFloat(String(this.total.ICMSTot.vOutro)).toFixed(2),left+244-16,topDestinatario+158,{characterSpacing:1,align:"right",width:86}),this.doc.rect(left+323,topDestinatario+143,91,23).stroke(),this.doc.fontSize(5).text("VALOR DO IPI",left+327,topDestinatario+148,{characterSpacing:.5}),this.doc.fontSize(8).text(parseFloat(String(this.total.ICMSTot.vIPI)).toFixed(2),left+323-6,topDestinatario+158,{characterSpacing:1,align:"right",width:86}),this.doc.rect(left+414,topDestinatario+143,152.93,23).fillAndStroke("#DDDDDD","#1c1c1c"),this.setLineStyle(.75,"#1c1c1c"),this.doc.fontSize(5).text("VALOR TOTAL DA NOTA",left+418,topDestinatario+148,{characterSpacing:.5}),this.doc.fontSize(8).text(parseFloat(String(this.total.ICMSTot.vNF)).toFixed(2),left+480-8,topDestinatario+158,{characterSpacing:1,align:"right",width:86})})()}_builTransporte(){const{top:top,left:left}=this.doc.page.margins;this.setLineStyle(.75,"#1c1c1c");const topDestinatario=top+233,getModFrete=()=>{const modFrete=parseInt(String(this.transp.modFrete));switch(modFrete){case 0:case 3:return`${modFrete} - REMETENTE`;case 1:case 4:return`${modFrete} - DESTINATÁRIO`;case 2:return`${modFrete} - TERCEIROS`;default:return""}};this.doc.fontSize(6).font("Times-Bold").text("TRANSPORTADOR / VOLUMES TRANSPORTADOS",left,topDestinatario+114,{characterSpacing:.5}),(()=>{const documento=this.documento.mascaraCnpjCpf(this.transp.transporta?.CNPJCPF||this.transp.transporta?.CNPJ||this.transp.transporta?.CPF||"");this.doc.rect(left,topDestinatario+120,248.5,23).stroke(),this.doc.fontSize(5).font("Times-Roman").text("RAZÃO SOCIAL",left+4,topDestinatario+125,{characterSpacing:.5}),this.doc.fontSize(8).text(this.transp.transporta?.xNome||"",left+5,topDestinatario+135,{characterSpacing:1,width:246}),this.doc.rect(left+248.5,topDestinatario+120,90,23).stroke(),this.doc.fontSize(5).text("FRETE POR CONTA",left+252.5,topDestinatario+125,{characterSpacing:.5}),this.doc.fontSize(8).text(getModFrete(),left+253.5,topDestinatario+135,{characterSpacing:1}),this.doc.rect(left+338.5,topDestinatario+120,50,23).stroke(),this.doc.fontSize(5).text("CÓDIGO ANTT",left+342.5,topDestinatario+125,{characterSpacing:.5}),this.doc.fontSize(8).text(this.transp?.veicTransp?.RNTC||"",left+343.5,topDestinatario+135,{characterSpacing:1}),this.doc.rect(left+388.5,topDestinatario+120,62,23).stroke(),this.doc.fontSize(5).text("PLACA DO VEÍCULO",left+391.5,topDestinatario+125,{characterSpacing:.5}),this.doc.fontSize(8).text(this.transp?.veicTransp?.placa||"",left+393.5,topDestinatario+135,{characterSpacing:1}),this.doc.rect(left+450.5,topDestinatario+120,22,23).stroke(),this.doc.fontSize(5).text("UF",left+454.5,topDestinatario+125,{characterSpacing:.5}),this.doc.fontSize(8).text(this.transp?.transporta?.UF||"",left+455.5,topDestinatario+135,{characterSpacing:1}),this.doc.rect(left+472.5,topDestinatario+120,94.43,23).stroke(),this.doc.fontSize(5).text("CNPJ / CPF",left+476.5,topDestinatario+125,{characterSpacing:.5}),this.doc.fontSize(8).text(documento,left+477.5,topDestinatario+135,{characterSpacing:1}),this.doc.rect(left,topDestinatario+143,338.5,23).stroke(),this.doc.fontSize(5).text("ENDEREÇO",left+4,topDestinatario+148,{characterSpacing:.5}),this.doc.fontSize(8).text(this.transp.transporta?.xEnder||"",left+4,topDestinatario+158,{characterSpacing:1}),this.doc.rect(left+338.5,topDestinatario+143,112,23).stroke(),this.doc.fontSize(5).text("MUNICÍPIO",left+342.5,topDestinatario+148,{characterSpacing:.5}),this.doc.fontSize(8).text(this.transp.transporta?.xMun||"",left+343.5,topDestinatario+158,{characterSpacing:1}),this.doc.rect(left+450.5,topDestinatario+143,22,23).stroke(),this.doc.fontSize(5).text("UF",left+454.5,topDestinatario+148,{characterSpacing:.5}),this.doc.fontSize(8).text(this.transp?.transporta?.UF||"",left+455.5,topDestinatario+158,{characterSpacing:1}),this.doc.rect(left+472.5,topDestinatario+143,94.43,23).stroke(),this.doc.fontSize(5).text("INSCRIÇÃO ESTADUAL",left+476.5,topDestinatario+148,{characterSpacing:.5}),this.doc.fontSize(8).text(this.transp?.transporta?.IE||"",left+476.5,topDestinatario+158,{characterSpacing:1})})(),(()=>{if(this.transp.vol){let topTrnasport=topDestinatario+166,topTrnasportTitle=topDestinatario+171,topTrnasportValue=topDestinatario+181;const createVolume=vol=>{this.doc.rect(left,topTrnasport,68.5,23).stroke(),this.doc.fontSize(5).text("QUANTIDADE",left+4,topTrnasportTitle,{characterSpacing:.5}),this.doc.fontSize(8).text(String(vol?.qVol||""),left-8,topTrnasportValue,{characterSpacing:1,align:"right",width:68.5}),this.doc.rect(left+68.5,topTrnasport,100.5,23).stroke(),this.doc.fontSize(5).text("ESPÉCIE",left+72.5,topTrnasportTitle,{characterSpacing:.5}),this.doc.fontSize(8).text(String(vol?.esp||""),left+73.5,topTrnasportValue,{characterSpacing:1}),this.doc.rect(left+169,topTrnasport,100.5,23).stroke(),this.doc.fontSize(5).text("MARCA",left+173,topTrnasportTitle,{characterSpacing:.5}),this.doc.fontSize(8).text(String(vol?.marca||""),left+174,topTrnasportValue,{characterSpacing:1}),this.doc.rect(left+269.5,topTrnasport,100.5,23).stroke(),this.doc.fontSize(5).text("NUMERAÇÃO",left+273.5,topTrnasportTitle,{characterSpacing:.5}),this.doc.fontSize(8).text(String(vol?.nVol||""),left+274.5,topTrnasportValue,{characterSpacing:1}),this.doc.rect(left+370,topTrnasport,102.6,23).stroke(),this.doc.fontSize(5).text("PESO BRUTO",left+374,topTrnasportTitle,{characterSpacing:.5}),this.doc.fontSize(8).text(String(vol?.nVol||""),left+375,topTrnasportValue,{characterSpacing:1}),this.doc.rect(left+472.5,topTrnasport,94.43,23).stroke(),this.doc.fontSize(5).text("PESO LÍQUIDO",left+474.5,topTrnasportTitle,{characterSpacing:.5}),this.doc.fontSize(8).text(String(vol?.nVol||""),left+475.5,topTrnasportValue,{characterSpacing:1}),topTrnasport+=23,topTrnasportTitle+=23,topTrnasportValue+=23};if(this.transp.vol instanceof Array)for(let vol of this.transp.vol)createVolume(vol);else createVolume(this.transp.vol)}})()}_buildProdutos(){const{top:top,left:left}=this.doc.page.margins;this.setLineStyle(.75,"#1c1c1c"),this.doc.fontSize(6).font("Times-Bold").fillColor("black").text("DADOS DO PRODUTO / SERVIÇOS",left,452,{characterSpacing:.5});let y=458,currentPage=0;const header=top=>{this.doc.rect(left,top,40,15).fillAndStroke("#DDDDDD","#1c1c1c"),this.setLineStyle(.75,"#1c1c1c"),this.doc.font("Times-Roman").fontSize(5.7).text("CÓDIGO DO PROD. / SERV",left,top+2.8,{width:40,align:"center"}),this.doc.rect(left+40,top,138,15).fillAndStroke("#DDDDDD","#1c1c1c"),this.setLineStyle(.75,"#1c1c1c"),this.doc.text("DESCRIÇÃO DO PRODUTO / SERVIÇO",left+40,top+5.9,{width:138,align:"center"}),this.doc.rect(left+178,top,30,15).fillAndStroke("#DDDDDD","#1c1c1c"),this.setLineStyle(.75,"#1c1c1c"),this.doc.text("NCM / SH",left+178,top+5.9,{width:30,align:"center"}),this.doc.rect(left+208,top,17,15).fillAndStroke("#DDDDDD","#1c1c1c"),this.setLineStyle(.75,"#1c1c1c"),this.doc.text("CST",left+208,top+5.9,{width:17,align:"center"}),this.doc.rect(left+225,top,28,15).fillAndStroke("#DDDDDD","#1c1c1c"),this.setLineStyle(.75,"#1c1c1c"),this.doc.text("CFOP",left+225,top+5.9,{width:28,align:"center"}),this.doc.rect(left+253,top,23,15).fillAndStroke("#DDDDDD","#1c1c1c"),this.setLineStyle(.75,"#1c1c1c"),this.doc.text("UNID.",left+253,top+5.9,{width:23,align:"center"}),this.doc.rect(left+276,top,25,15).fillAndStroke("#DDDDDD","#1c1c1c"),this.setLineStyle(.75,"#1c1c1c"),this.doc.text("QUANT.",left+276,top+5.9,{width:25,align:"center"}),this.doc.rect(left+301,top,37.23,15).fillAndStroke("#DDDDDD","#1c1c1c"),this.setLineStyle(.75,"#1c1c1c"),this.doc.text("VALOR UNITÁRIO",left+301,top+2.9,{width:37.23,align:"center"}),this.doc.rect(left+338.23,top,39.23,15).fillAndStroke("#DDDDDD","#1c1c1c"),this.setLineStyle(.75,"#1c1c1c"),this.doc.text("VALOR DESCONTO",left+338.23,top+2.9,{width:39.23,align:"center"}),this.doc.rect(left+377.46,top,33.23,15).fillAndStroke("#DDDDDD","#1c1c1c"),this.setLineStyle(.75,"#1c1c1c"),this.doc.text("VALOR LIQUIDO",left+377.46,top+2.9,{width:33.23,align:"center"}),this.doc.rect(left+410.69,top,38,15).fillAndStroke("#DDDDDD","#1c1c1c"),this.setLineStyle(.75,"#1c1c1c"),this.doc.text("BASE CÁLC. ICMS",left+413.8,top+2.9,{width:32,align:"center"}),this.doc.rect(left+448.69,top,35,15).fillAndStroke("#DDDDDD","#1c1c1c"),this.setLineStyle(.75,"#1c1c1c"),this.doc.text("VALOR I.C.M.S.",left+448.69,top+2.9,{width:35,align:"center"}),this.doc.rect(left+483.69,top,38,15).fillAndStroke("#DDDDDD","#1c1c1c"),this.setLineStyle(.75,"#1c1c1c"),this.doc.text("VALOR I.P.I.",left+490.69,top+2.9,{width:25,align:"center"}),this.doc.rect(left+521.69,top,45.2,7.5).fillAndStroke("#DDDDDD","#1c1c1c"),this.setLineStyle(.75,"#1c1c1c"),this.doc.text("ALÍQUOTAS",left+521.69,top+2,{width:45,align:"center"}),this.doc.rect(left+521.69,top+7.5,22.5,7.5).fillAndStroke("#DDDDDD","#1c1c1c"),this.setLineStyle(.75,"#1c1c1c"),this.doc.text("ICMS",left+521.69,top+9.5,{width:22.5,align:"center"}),this.doc.rect(left+544.19,top+7.5,22.75,7.5).fillAndStroke("#DDDDDD","#1c1c1c"),this.setLineStyle(.75,"#1c1c1c"),this.doc.text("IPI",left+544.19,top+9.5,{width:22.5,align:"center"})},row=(top,item)=>{const CST=function getCST(ICMS){const chavesICMS=Object.keys(ICMS),icmsSemCST=["ICMSSN101","ICMSSN102","ICMSSN201","ICMSSN202","ICMSSN500","ICMSSN900"].includes(chavesICMS[0]);let CST="";if(chavesICMS.length>0){const tipoICMS=chavesICMS[0];icmsSemCST||(CST=ICMS[tipoICMS].CST)}return CST}(item.imposto.ICMS),{vIPI:vIPI,pIPI:pIPI}=function getValoresIPI(IPI){return IPI?{vIPI:parseFloat(String(IPI.IPITrib.vIPI)).toFixed(2),pIPI:parseFloat(String(IPI.IPITrib.pIPI)).toFixed(2)}:{vIPI:"0,00",pIPI:"0,00"}}(item.imposto.IPI),{vBC:vBC,vICMS:vICMS,pICMS:pICMS}=function getValoresItem(ICMS){const chavesICMS=Object.keys(ICMS),icmsSemvBC=["ICMS02","ICMS15","ICMS30","ICMS40","ICMS53","ICMS60","ICMS61","ICMSST","ICMSSN101","ICMSSN102","ICMSSN201","ICMSSN202","ICMSSN500"].includes(chavesICMS[0]);let vBC="0,00",vICMS="0,00",pICMS="0,00";if(chavesICMS.length>0){const tipoICMS=chavesICMS[0];if(!icmsSemvBC)return vBC=ICMS[tipoICMS].vBC,vICMS=ICMS[tipoICMS].vICMS,pICMS=ICMS[tipoICMS].pICMS,{vBC:parseFloat(vBC).toFixed(2),vICMS:parseFloat(vBC).toFixed(2),pICMS:parseFloat(pICMS).toFixed(2)}}return{vBC:vBC,vICMS:vICMS,pICMS:pICMS}}(item.imposto.ICMS),text=item.infAdProd?`${item.prod.xProd||""}\n${item.infAdProd}`:item.prod.xProd||"",textHeight=this.doc.heightOfString(text,{width:138,align:"center"}),itemHeight=Math.max(15,textHeight+10);this.setLineStyle(.75,"#1c1c1c"),this.doc.rect(left,top,40,itemHeight).stroke(),this.doc.font("Times-Roman").fontSize(6).text(item.prod.cProd||"",left+2,top+3,{width:40}),this.doc.rect(left+40,top,138,itemHeight).stroke(),this.doc.text(text,left+43,top+4,{width:137}),this.doc.rect(left+178,top,30,itemHeight).stroke(),this.doc.text(String(item.prod.NCM)||"",left+178,top+5.9,{width:30,align:"center"}),this.doc.rect(left+208,top,17,itemHeight).stroke(),this.doc.text(CST,left+208,top+5.9,{width:17,align:"center"}),this.doc.rect(left+225,top,28,itemHeight).stroke(),this.doc.text(String(item.prod.CFOP||""),left+225,top+5.9,{width:28,align:"center"}),this.doc.rect(left+253,top,23,itemHeight).stroke(),this.doc.text(item.prod.uCom||item.prod.uTrib||"",left+256,top+5.9,{width:23});const quant=parseFloat(String(item.prod.qCom||item.prod.qTrib)).toLocaleString("pt-BR",{minimumFractionDigits:2,maximumFractionDigits:3});this.doc.rect(left+276,top,25,itemHeight).stroke(),this.doc.text(String(quant||""),left+274.5,top+5.9,{width:25,align:"right"});const valUnit=parseFloat(String(item.prod.vUnCom||item.prod.vUnTrib||"0")).toLocaleString("pt-BR",{minimumFractionDigits:2,maximumFractionDigits:2});this.doc.rect(left+301,top,37.23,itemHeight).stroke(),this.doc.text(valUnit,left+299.5,top+5.9,{width:37.23,align:"right"});const valDesc=parseFloat(String(item.prod.vDesc||"0")).toLocaleString("pt-BR",{minimumFractionDigits:2,maximumFractionDigits:2});this.doc.rect(left+338.23,top,39.23,itemHeight).stroke(),this.doc.text(valDesc,left+336.73,top+5.9,{width:39.23,align:"right"});const valLiq=parseFloat(String(item.prod.vProd||"0")).toLocaleString("pt-BR",{minimumFractionDigits:2,maximumFractionDigits:2});return this.doc.rect(left+377.46,top,33.23,itemHeight).stroke(),this.doc.text(valLiq,left+375.96,top+5.9,{width:33.23,align:"right"}),this.doc.rect(left+410.69,top,38,itemHeight).stroke(),this.doc.text(vBC,left+409.19,top+5.9,{width:38,align:"right"}),this.doc.rect(left+448.69,top,35,itemHeight).stroke(),this.doc.text(vICMS,left+447.19,top+5.9,{width:35,align:"right"}),this.doc.rect(left+483.69,top,38,itemHeight).stroke(),this.doc.text(vIPI,left+482.19,top+5.9,{width:38,align:"right"}),this.doc.rect(left+521.69,top,22.5,itemHeight).stroke(),this.doc.text(pICMS,left+520.19,top+5.9,{width:22.5,align:"right"}),this.doc.rect(left+544.19,top,22.75,itemHeight).stroke(),this.doc.text(pIPI,left+542.69,top+5.9,{width:22.5,align:"right"}),itemHeight};header(458);const createTable=prod=>{y+15>this.doc.page.height-160&&(this.doc.addPage(),currentPage++,currentPage>0&&(y=185,this.doc.fontSize(6).font("Times-Bold").fillColor("black").text("DADOS DO PRODUTO / SERVIÇOS",left,175,{characterSpacing:.5}),header(185)));const itemHeight=row(y+15,prod);y+=itemHeight};if(this.det instanceof Array)for(let i=0;i<this.det.length;i++){createTable(this.det[i])}else createTable(this.det)}_buildFooter(){const{left:left}=this.doc.page.margins;this.setLineStyle(.75,"#1c1c1c");if(this.doc.fontSize(6).font("Times-Bold").text("DADOS ADICIONAIS",left,726.95,{characterSpacing:.5}),this.doc.rect(left,731.95,408,95).stroke(),this.doc.fontSize(5).font("Times-Roman").text("INFORMAÇÕES COMPLEMENTARES",10,736.45,{characterSpacing:.5}),this.doc.fontSize(8).text(this.infAdic?.infCpl||"",13,744.95,{characterSpacing:1,width:400}),this.doc.rect(left+408,731.95,158.93,95).stroke(),this.doc.fontSize(5).text("RESERVADO AO FISCO",418,736.45,{characterSpacing:.5}),this.doc.fontSize(8).text(String(this.infAdic?.infAdFisco||""),13,744.95,{characterSpacing:1,width:400}),this.exibirMarcaDaguaDanfe){const topPosition=2!==Number(Number(this.ide.tpAmb))?769.95:789.95,leftPosition=2!==Number(Number(this.ide.tpAmb))?left+150:left+100;this.doc.fontSize(26).font("Times-Bold").fillColor("#c7c7c7").text("NFeWizard-io",leftPosition,topPosition,{characterSpacing:.5})}2===Number(Number(this.ide.tpAmb))&&this.doc.fontSize(14).font("Times-Bold").fillColor("grey").text("AMBIENTE DE HOMOLOGAÇÃO - NF-E SEM VALOR FISCAL",left+100,776.95,{characterSpacing:1})}async generatePDF(exibirMarcaDaguaDanfe){try{this.exibirMarcaDaguaDanfe=exibirMarcaDaguaDanfe||!0;const chave=this.chave;return await this.generateBarcode(chave),this.doc.pipe(fs__default.default.createWriteStream(this.outputPath)),this.drawHeader(!0),this._buildDestinatario(),this._builCalculoImposto(),this._builTransporte(),this.doc.on("pageAdded",(()=>{this.drawHeader(!1)})),this.drawFooter(),this.doc.on("pageAdded",(()=>{this.drawFooter()})),this._buildProdutos(),this.doc.end(),{message:` DANFE Gerada em '${this.outputPath}'`,success:!0}}catch(error){throw new Error(`Erro ao gerar DANFE: ${error.message}`)}}}class NFEDistribuicaoDFePorUltNSU extends NFEDistribuicaoDFe{constructor(environment,utility,xmlBuilder,axios){super(environment,utility,xmlBuilder,axios)}}class NFEDistribuicaoDFePorNSU extends NFEDistribuicaoDFe{constructor(environment,utility,xmlBuilder,axios){super(environment,utility,xmlBuilder,axios)}}class NFEDistribuicaoDFePorChave extends NFEDistribuicaoDFe{constructor(environment,utility,xmlBuilder,axios){super(environment,utility,xmlBuilder,axios)}}class NFECancelamento extends NFERecepcaoEvento{constructor(environment,utility,xmlBuilder,axios){super(environment,utility,xmlBuilder,axios)}}class NFECienciaDaOperacao extends NFERecepcaoEvento{constructor(environment,utility,xmlBuilder,axios){super(environment,utility,xmlBuilder,axios)}}class NFEConfirmacaoDaOperacao extends NFERecepcaoEvento{constructor(environment,utility,xmlBuilder,axios){super(environment,utility,xmlBuilder,axios)}}class NFEOperacaoNaoRealizada extends NFERecepcaoEvento{constructor(environment,utility,xmlBuilder,axios){super(environment,utility,xmlBuilder,axios)}}class NFECartaDeCorrecao extends NFERecepcaoEvento{constructor(environment,utility,xmlBuilder,axios){super(environment,utility,xmlBuilder,axios)}}class NFEDesconhecimentoDaOperacao extends NFERecepcaoEvento{constructor(environment,utility,xmlBuilder,axios){super(environment,utility,xmlBuilder,axios)}}class NFEEpec extends NFERecepcaoEvento{constructor(environment,utility,xmlBuilder,axios){super(environment,utility,xmlBuilder,axios)}}var cookies,hasRequiredCookies,nodemailer$1={},shared={exports:{}},fetch$1={exports:{}};var hasRequiredFetch,hasRequiredShared,mimeTypes_1,hasRequiredMimeTypes,punycode_1,hasRequiredPunycode,base64,hasRequiredBase64,qp,hasRequiredQp,mimeFuncs,hasRequiredMimeFuncs,addressparser_1,hasRequiredAddressparser,lastNewline,hasRequiredLastNewline,leWindows,hasRequiredLeWindows,leUnix,hasRequiredLeUnix,mimeNode,hasRequiredMimeNode,mailComposer,hasRequiredMailComposer,messageParser,hasRequiredMessageParser,relaxedBody,hasRequiredRelaxedBody,require$$9={name:"nodemailer",version:"6.9.14",description:"Easy as cake e-mail sending from your Node.js applications",main:"lib/nodemailer.js",scripts:{test:"node --test --test-concurrency=1 test/**/*.test.js test/**/*-test.js","test:coverage":"c8 node --test --test-concurrency=1 test/**/*.test.js test/**/*-test.js",lint:"eslint .",update:"rm -rf node_modules/ package-lock.json && ncu -u && npm install"},repository:{type:"git",url:"https://github.com/nodemailer/nodemailer.git"},keywords:["Nodemailer"],author:"Andris Reinman",license:"MIT-0",bugs:{url:"https://github.com/nodemailer/nodemailer/issues"},homepage:"https://nodemailer.com/",devDependencies:{"@aws-sdk/client-ses":"3.600.0",bunyan:"1.8.15",c8:"10.1.2",eslint:"8.57.0","eslint-config-nodemailer":"1.2.0","eslint-config-prettier":"9.1.0",libbase64:"1.3.0",libmime:"5.3.5",libqp:"2.1.0","nodemailer-ntlm-auth":"1.0.4",proxy:"1.0.2","proxy-test-server":"1.0.0","smtp-server":"3.13.4"},engines:{node:">=6.0.0"}};function requireFetch(){if(hasRequiredFetch)return fetch$1.exports;hasRequiredFetch=1;const http=require$$3__default.default,https=https__default.default,urllib=require$$0__default$4.default,zlib=zlib__default.default,PassThrough=require$$0__default$2.default.PassThrough,Cookies=function requireCookies(){if(hasRequiredCookies)return cookies;hasRequiredCookies=1;const urllib=require$$0__default$4.default;return cookies=class Cookies{constructor(options){this.options=options||{},this.cookies=[]}set(cookieStr,url){let domain,urlparts=urllib.parse(url||""),cookie=this.parse(cookieStr);return cookie.domain?(domain=cookie.domain.replace(/^\./,""),(urlparts.hostname.length<domain.length||("."+urlparts.hostname).substr(1-domain.length)!=="."+domain)&&(cookie.domain=urlparts.hostname)):cookie.domain=urlparts.hostname,cookie.path||(cookie.path=this.getPath(urlparts.pathname)),cookie.expires||(cookie.expires=new Date(Date.now()+1e3*(Number(this.options.sessionTimeout||1800)||1800))),this.add(cookie)}get(url){return this.list(url).map((cookie=>cookie.name+"="+cookie.value)).join("; ")}list(url){let i,cookie,result=[];for(i=this.cookies.length-1;i>=0;i--)cookie=this.cookies[i],this.isExpired(cookie)?this.cookies.splice(i,i):this.match(cookie,url)&&result.unshift(cookie);return result}parse(cookieStr){let cookie={};return(cookieStr||"").toString().split(";").forEach((cookiePart=>{let domain,valueParts=cookiePart.split("="),key=valueParts.shift().trim().toLowerCase(),value=valueParts.join("=").trim();if(key)switch(key){case"expires":value=new Date(value),"Invalid Date"!==value.toString()&&(cookie.expires=value);break;case"path":cookie.path=value;break;case"domain":domain=value.toLowerCase(),domain.length&&"."!==domain.charAt(0)&&(domain="."+domain),cookie.domain=domain;break;case"max-age":cookie.expires=new Date(Date.now()+1e3*(Number(value)||0));break;case"secure":cookie.secure=!0;break;case"httponly":cookie.httponly=!0;break;default:cookie.name||(cookie.name=key,cookie.value=value)}})),cookie}match(cookie,url){let urlparts=urllib.parse(url||"");return(urlparts.hostname===cookie.domain||"."===cookie.domain.charAt(0)&&("."+urlparts.hostname).substr(-cookie.domain.length)===cookie.domain)&&this.getPath(urlparts.pathname).substr(0,cookie.path.length)===cookie.path&&(!cookie.secure||"https:"===urlparts.protocol)}add(cookie){let i,len;if(!cookie||!cookie.name)return!1;for(i=0,len=this.cookies.length;i<len;i++)if(this.compare(this.cookies[i],cookie))return this.isExpired(cookie)?(this.cookies.splice(i,1),!1):(this.cookies[i]=cookie,!0);return this.isExpired(cookie)||this.cookies.push(cookie),!0}compare(a,b){return a.name===b.name&&a.path===b.path&&a.domain===b.domain&&a.secure===b.secure&&a.httponly==a.httponly}isExpired(cookie){return cookie.expires&&cookie.expires<new Date||!cookie.value}getPath(pathname){let path=(pathname||"/").split("/");return path.pop(),path=path.join("/").trim(),"/"!==path.charAt(0)&&(path="/"+path),"/"!==path.substr(-1)&&(path+="/"),path}},cookies}(),packageData=require$$9,net=require$$7__default.default;function nmfetch(url,options){(options=options||{}).fetchRes=options.fetchRes||new PassThrough,options.cookies=options.cookies||new Cookies,options.redirects=options.redirects||0,options.maxRedirects=isNaN(options.maxRedirects)?5:options.maxRedirects,options.cookie&&([].concat(options.cookie||[]).forEach((cookie=>{options.cookies.set(cookie,url)})),options.cookie=!1);let cookies,body,req,fetchRes=options.fetchRes,parsed=urllib.parse(url),method=(options.method||"").toString().trim().toUpperCase()||"GET",finished=!1,handler="https:"===parsed.protocol?https:http,headers={"accept-encoding":"gzip,deflate","user-agent":"nodemailer/"+packageData.version};if(Object.keys(options.headers||{}).forEach((key=>{headers[key.toLowerCase().trim()]=options.headers[key]})),options.userAgent&&(headers["user-agent"]=options.userAgent),parsed.auth&&(headers.Authorization="Basic "+Buffer.from(parsed.auth).toString("base64")),(cookies=options.cookies.get(url))&&(headers.cookie=cookies),options.body){if(!1!==options.contentType&&(headers["Content-Type"]=options.contentType||"application/x-www-form-urlencoded"),"function"==typeof options.body.pipe)headers["Transfer-Encoding"]="chunked",body=options.body,body.on("error",(err=>{finished||(finished=!0,err.type="FETCH",err.sourceUrl=url,fetchRes.emit("error",err))}));else{if(options.body instanceof Buffer)body=options.body;else if("object"==typeof options.body)try{body=Buffer.from(Object.keys(options.body).map((key=>{let value=options.body[key].toString().trim();return encodeURIComponent(key)+"="+encodeURIComponent(value)})).join("&"))}catch(E){if(finished)return;return finished=!0,E.type="FETCH",E.sourceUrl=url,void fetchRes.emit("error",E)}else body=Buffer.from(options.body.toString().trim());headers["Content-Type"]=options.contentType||"application/x-www-form-urlencoded",headers["Content-Length"]=body.length}method=(options.method||"").toString().trim().toUpperCase()||"POST"}let reqOptions={method:method,host:parsed.hostname,path:parsed.path,port:parsed.port?parsed.port:"https:"===parsed.protocol?443:80,headers:headers,rejectUnauthorized:!1,agent:!1};options.tls&&Object.keys(options.tls).forEach((key=>{reqOptions[key]=options.tls[key]})),"https:"!==parsed.protocol||!parsed.hostname||parsed.hostname===reqOptions.host||net.isIP(parsed.hostname)||reqOptions.servername||(reqOptions.servername=parsed.hostname);try{req=handler.request(reqOptions)}catch(E){return finished=!0,setImmediate((()=>{E.type="FETCH",E.sourceUrl=url,fetchRes.emit("error",E)})),fetchRes}return options.timeout&&req.setTimeout(options.timeout,(()=>{if(finished)return;finished=!0,req.abort();let err=new Error("Request Timeout");err.type="FETCH",err.sourceUrl=url,fetchRes.emit("error",err)})),req.on("error",(err=>{finished||(finished=!0,err.type="FETCH",err.sourceUrl=url,fetchRes.emit("error",err))})),req.on("response",(res=>{let inflate;if(!finished){switch(res.headers["content-encoding"]){case"gzip":case"deflate":inflate=zlib.createUnzip()}if(res.headers["set-cookie"]&&[].concat(res.headers["set-cookie"]||[]).forEach((cookie=>{options.cookies.set(cookie,url)})),[301,302,303,307,308].includes(res.statusCode)&&res.headers.location){if(options.redirects++,options.redirects>options.maxRedirects){finished=!0;let err=new Error("Maximum redirect count exceeded");return err.type="FETCH",err.sourceUrl=url,fetchRes.emit("error",err),void req.abort()}return options.method="GET",options.body=!1,nmfetch(urllib.resolve(url,res.headers.location),options)}if(fetchRes.statusCode=res.statusCode,fetchRes.headers=res.headers,res.statusCode>=300&&!options.allowErrorResponse){finished=!0;let err=new Error("Invalid status code "+res.statusCode);return err.type="FETCH",err.sourceUrl=url,fetchRes.emit("error",err),void req.abort()}res.on("error",(err=>{finished||(finished=!0,err.type="FETCH",err.sourceUrl=url,fetchRes.emit("error",err),req.abort())})),inflate?(res.pipe(inflate).pipe(fetchRes),inflate.on("error",(err=>{finished||(finished=!0,err.type="FETCH",err.sourceUrl=url,fetchRes.emit("error",err),req.abort())}))):res.pipe(fetchRes)}})),setImmediate((()=>{if(body)try{if("function"==typeof body.pipe)return body.pipe(req);req.write(body)}catch(err){return finished=!0,err.type="FETCH",err.sourceUrl=url,void fetchRes.emit("error",err)}req.end()})),fetchRes}return fetch$1.exports=function(url,options){return nmfetch(url,options)},fetch$1.exports.Cookies=Cookies,fetch$1.exports}function requireShared(){return hasRequiredShared||(hasRequiredShared=1,function(module){const urllib=require$$0__default$4.default,util=require$$0__default$3.default,fs=fs__default.default,nmfetch=requireFetch(),dns=require$$4__default$2.default,net=require$$7__default.default,os=require$$0__default$5.default;let networkInterfaces;try{networkInterfaces=os.networkInterfaces()}catch(err){}module.exports.networkInterfaces=networkInterfaces;const isFamilySupported=(family,allowInternal)=>{let networkInterfaces=module.exports.networkInterfaces;if(!networkInterfaces)return!0;return Object.keys(networkInterfaces).map((key=>networkInterfaces[key])).reduce(((acc,val)=>acc.concat(val)),[]).filter((i=>!i.internal||allowInternal)).filter((i=>i.family==="IPv"+family||i.family===family)).length>0},resolver=(family,hostname,options,callback)=>{if(!isFamilySupported(family,(options=options||{}).allowInternalNetworkInterfaces))return callback(null,[]);(dns.Resolver?new dns.Resolver(options):dns)["resolve"+family](hostname,((err,addresses)=>{if(err){switch(err.code){case dns.NODATA:case dns.NOTFOUND:case dns.NOTIMP:case dns.SERVFAIL:case dns.CONNREFUSED:case dns.REFUSED:case"EAI_AGAIN":return callback(null,[])}return callback(err)}return callback(null,Array.isArray(addresses)?addresses:[].concat(addresses||[]))}))},dnsCache=module.exports.dnsCache=new Map,formatDNSValue=(value,extra)=>value?Object.assign({servername:value.servername,host:value.addresses&&value.addresses.length?1===value.addresses.length?value.addresses[0]:value.addresses[Math.floor(Math.random()*value.addresses.length)]:null},extra||{}):Object.assign({},extra||{});function resolveStream(stream,callback){let responded=!1,chunks=[],chunklen=0;stream.on("error",(err=>{responded||(responded=!0,callback(err))})),stream.on("readable",(()=>{let chunk;for(;null!==(chunk=stream.read());)chunks.push(chunk),chunklen+=chunk.length})),stream.on("end",(()=>{if(responded)return;let value;responded=!0;try{value=Buffer.concat(chunks,chunklen)}catch(E){return callback(E)}callback(null,value)}))}module.exports.resolveHostname=(options,callback)=>{if(!(options=options||{}).host&&options.servername&&(options.host=options.servername),!options.host||net.isIP(options.host)){let value={addresses:[options.host],servername:options.servername||!1};return callback(null,formatDNSValue(value,{cached:!1}))}let cached;if(dnsCache.has(options.host)&&(cached=dnsCache.get(options.host),!cached.expires||cached.expires>=Date.now()))return callback(null,formatDNSValue(cached.value,{cached:!0}));resolver(4,options.host,options,((err,addresses)=>{if(err)return cached?callback(null,formatDNSValue(cached.value,{cached:!0,error:err})):callback(err);if(addresses&&addresses.length){let value={addresses:addresses,servername:options.servername||options.host};return dnsCache.set(options.host,{value:value,expires:Date.now()+(options.dnsTtl||3e5)}),callback(null,formatDNSValue(value,{cached:!1}))}resolver(6,options.host,options,((err,addresses)=>{if(err)return cached?callback(null,formatDNSValue(cached.value,{cached:!0,error:err})):callback(err);if(addresses&&addresses.length){let value={addresses:addresses,servername:options.servername||options.host};return dnsCache.set(options.host,{value:value,expires:Date.now()+(options.dnsTtl||3e5)}),callback(null,formatDNSValue(value,{cached:!1}))}try{dns.lookup(options.host,{all:!0},((err,addresses)=>{if(err)return cached?callback(null,formatDNSValue(cached.value,{cached:!0,error:err})):callback(err);let address=!!addresses&&addresses.filter((addr=>isFamilySupported(addr.family))).map((addr=>addr.address)).shift();if(addresses&&addresses.length&&!address&&console.warn(`Failed to resolve IPv${addresses[0].family} addresses with current network`),!address&&cached)return callback(null,formatDNSValue(cached.value,{cached:!0}));let value={addresses:address?[address]:[options.host],servername:options.servername||options.host};return dnsCache.set(options.host,{value:value,expires:Date.now()+(options.dnsTtl||3e5)}),callback(null,formatDNSValue(value,{cached:!1}))}))}catch(err){return cached?callback(null,formatDNSValue(cached.value,{cached:!0,error:err})):callback(err)}}))}))},module.exports.parseConnectionUrl=str=>{str=str||"";let options={};return[urllib.parse(str,!0)].forEach((url=>{let auth;switch(url.protocol){case"smtp:":options.secure=!1;break;case"smtps:":options.secure=!0;break;case"direct:":options.direct=!0}!isNaN(url.port)&&Number(url.port)&&(options.port=Number(url.port)),url.hostname&&(options.host=url.hostname),url.auth&&(auth=url.auth.split(":"),options.auth||(options.auth={}),options.auth.user=auth.shift(),options.auth.pass=auth.join(":")),Object.keys(url.query||{}).forEach((key=>{let obj=options,lKey=key,value=url.query[key];switch(isNaN(value)||(value=Number(value)),value){case"true":value=!0;break;case"false":value=!1}if(0===key.indexOf("tls."))lKey=key.substr(4),options.tls||(options.tls={}),obj=options.tls;else if(key.indexOf(".")>=0)return;lKey in obj||(obj[lKey]=value)}))})),options},module.exports._logFunc=(logger,level,defaults,data,message,...args)=>{let entry={};Object.keys(defaults||{}).forEach((key=>{"level"!==key&&(entry[key]=defaults[key])})),Object.keys(data||{}).forEach((key=>{"level"!==key&&(entry[key]=data[key])})),logger[level](entry,message,...args)},module.exports.getLogger=(options,defaults)=>{let response={},levels=["trace","debug","info","warn","error","fatal"];if(!(options=options||{}).logger)return levels.forEach((level=>{response[level]=()=>!1})),response;let logger=options.logger;return!0===options.logger&&(logger=function createDefaultLogger(levels){let levelMaxLen=0,levelNames=new Map;levels.forEach((level=>{level.length>levelMaxLen&&(levelMaxLen=level.length)})),levels.forEach((level=>{let levelName=level.toUpperCase();levelName.length<levelMaxLen&&(levelName+=" ".repeat(levelMaxLen-levelName.length)),levelNames.set(level,levelName)}));let print=(level,entry,message,...args)=>{let prefix="";entry&&("server"===entry.tnx?prefix="S: ":"client"===entry.tnx&&(prefix="C: "),entry.sid&&(prefix="["+entry.sid+"] "+prefix),entry.cid&&(prefix="[#"+entry.cid+"] "+prefix)),(message=util.format(message,...args)).split(/\r?\n/).forEach((line=>{console.log("[%s] %s %s",(new Date).toISOString().substr(0,19).replace(/T/," "),levelNames.get(level),prefix+line)}))},logger={};return levels.forEach((level=>{logger[level]=print.bind(null,level)})),logger}(levels)),levels.forEach((level=>{response[level]=(data,message,...args)=>{module.exports._logFunc(logger,level,defaults,data,message,...args)}})),response},module.exports.callbackPromise=(resolve,reject)=>function(){let args=Array.from(arguments),err=args.shift();err?reject(err):resolve(...args)},module.exports.parseDataURI=uri=>{let input=uri,commaPos=input.indexOf(",");if(!commaPos)return uri;let encoding,data=input.substring(commaPos+1),metaEntries=input.substring(5,commaPos).split(";"),lastMetaEntry=metaEntries.length>1&&metaEntries[metaEntries.length-1];lastMetaEntry&&lastMetaEntry.indexOf("=")<0&&(encoding=lastMetaEntry.toLowerCase(),metaEntries.pop());let contentType=metaEntries.shift()||"application/octet-stream",params={};for(let entry of metaEntries){let sep=entry.indexOf("=");if(sep>=0){let key=entry.substring(0,sep),value=entry.substring(sep+1);params[key]=value}}switch(encoding){case"base64":data=Buffer.from(data,"base64");break;case"utf8":data=Buffer.from(data);break;default:try{data=Buffer.from(decodeURIComponent(data))}catch(err){data=Buffer.from(data)}data=Buffer.from(data)}return{data:data,encoding:encoding,contentType:contentType,params:params}},module.exports.resolveContent=(data,key,callback)=>{let promise;callback||(promise=new Promise(((resolve,reject)=>{callback=module.exports.callbackPromise(resolve,reject)})));let contentStream,content=data&&data[key]&&data[key].content||data[key],encoding=("object"==typeof data[key]&&data[key].encoding||"utf8").toString().toLowerCase().replace(/[-_\s]/g,"");if(!content)return callback(null,content);if("object"==typeof content){if("function"==typeof content.pipe)return resolveStream(content,((err,value)=>{if(err)return callback(err);data[key].content?data[key].content=value:data[key]=value,callback(null,value)}));if(/^https?:\/\//i.test(content.path||content.href))return contentStream=nmfetch(content.path||content.href),resolveStream(contentStream,callback);if(/^data:/i.test(content.path||content.href)){let parsedDataUri=module.exports.parseDataURI(content.path||content.href);return parsedDataUri&&parsedDataUri.data?callback(null,parsedDataUri.data):callback(null,Buffer.from(0))}if(content.path)return resolveStream(fs.createReadStream(content.path),callback)}return"string"!=typeof data[key].content||["utf8","usascii","ascii"].includes(encoding)||(content=Buffer.from(data[key].content,encoding)),setImmediate((()=>callback(null,content))),promise},module.exports.assign=function(){let args=Array.from(arguments),target=args.shift()||{};return args.forEach((source=>{Object.keys(source||{}).forEach((key=>{["tls","auth"].includes(key)&&source[key]&&"object"==typeof source[key]?(target[key]||(target[key]={}),Object.keys(source[key]).forEach((subKey=>{target[key][subKey]=source[key][subKey]}))):target[key]=source[key]}))})),target},module.exports.encodeXText=str=>{if(!/[^\x21-\x2A\x2C-\x3C\x3E-\x7E]/.test(str))return str;let buf=Buffer.from(str),result="";for(let i=0,len=buf.length;i<len;i++){let c=buf[i];result+=c<33||c>126||43===c||61===c?"+"+(c<16?"0":"")+c.toString(16).toUpperCase():String.fromCharCode(c)}return result}}(shared)),shared.exports}function requireMimeTypes(){if(hasRequiredMimeTypes)return mimeTypes_1;hasRequiredMimeTypes=1;const path=path__default.default,mimeTypes=new Map([["application/acad","dwg"],["application/applixware","aw"],["application/arj","arj"],["application/atom+xml","xml"],["application/atomcat+xml","atomcat"],["application/atomsvc+xml","atomsvc"],["application/base64",["mm","mme"]],["application/binhex","hqx"],["application/binhex4","hqx"],["application/book",["book","boo"]],["application/ccxml+xml,","ccxml"],["application/cdf","cdf"],["application/cdmi-capability","cdmia"],["application/cdmi-container","cdmic"],["application/cdmi-domain","cdmid"],["application/cdmi-object","cdmio"],["application/cdmi-queue","cdmiq"],["application/clariscad","ccad"],["application/commonground","dp"],["application/cu-seeme","cu"],["application/davmount+xml","davmount"],["application/drafting","drw"],["application/dsptype","tsp"],["application/dssc+der","dssc"],["application/dssc+xml","xdssc"],["application/dxf","dxf"],["application/ecmascript",["js","es"]],["application/emma+xml","emma"],["application/envoy","evy"],["application/epub+zip","epub"],["application/excel",["xls","xl","xla","xlb","xlc","xld","xlk","xll","xlm","xlt","xlv","xlw"]],["application/exi","exi"],["application/font-tdpfr","pfr"],["application/fractals","fif"],["application/freeloader","frl"],["application/futuresplash","spl"],["application/gnutar","tgz"],["application/groupwise","vew"],["application/hlp","hlp"],["application/hta","hta"],["application/hyperstudio","stk"],["application/i-deas","unv"],["application/iges",["iges","igs"]],["application/inf","inf"],["application/internet-property-stream","acx"],["application/ipfix","ipfix"],["application/java","class"],["application/java-archive","jar"],["application/java-byte-code","class"],["application/java-serialized-object","ser"],["application/java-vm","class"],["application/javascript","js"],["application/json","json"],["application/lha","lha"],["application/lzx","lzx"],["application/mac-binary","bin"],["application/mac-binhex","hqx"],["application/mac-binhex40","hqx"],["application/mac-compactpro","cpt"],["application/macbinary","bin"],["application/mads+xml","mads"],["application/marc","mrc"],["application/marcxml+xml","mrcx"],["application/mathematica","ma"],["application/mathml+xml","mathml"],["application/mbedlet","mbd"],["application/mbox","mbox"],["application/mcad","mcd"],["application/mediaservercontrol+xml","mscml"],["application/metalink4+xml","meta4"],["application/mets+xml","mets"],["application/mime","aps"],["application/mods+xml","mods"],["application/mp21","m21"],["application/mp4","mp4"],["application/mspowerpoint",["ppt","pot","pps","ppz"]],["application/msword",["doc","dot","w6w","wiz","word"]],["application/mswrite","wri"],["application/mxf","mxf"],["application/netmc","mcp"],["application/octet-stream",["*"]],["application/oda","oda"],["application/oebps-package+xml","opf"],["application/ogg","ogx"],["application/olescript","axs"],["application/onenote","onetoc"],["application/patch-ops-error+xml","xer"],["application/pdf","pdf"],["application/pgp-encrypted","asc"],["application/pgp-signature","pgp"],["application/pics-rules","prf"],["application/pkcs-12","p12"],["application/pkcs-crl","crl"],["application/pkcs10","p10"],["application/pkcs7-mime",["p7c","p7m"]],["application/pkcs7-signature","p7s"],["application/pkcs8","p8"],["application/pkix-attr-cert","ac"],["application/pkix-cert",["cer","crt"]],["application/pkix-crl","crl"],["application/pkix-pkipath","pkipath"],["application/pkixcmp","pki"],["application/plain","text"],["application/pls+xml","pls"],["application/postscript",["ps","ai","eps"]],["application/powerpoint","ppt"],["application/pro_eng",["part","prt"]],["application/prs.cww","cww"],["application/pskc+xml","pskcxml"],["application/rdf+xml","rdf"],["application/reginfo+xml","rif"],["application/relax-ng-compact-syntax","rnc"],["application/resource-lists+xml","rl"],["application/resource-lists-diff+xml","rld"],["application/ringing-tones","rng"],["application/rls-services+xml","rs"],["application/rsd+xml","rsd"],["application/rss+xml","xml"],["application/rtf",["rtf","rtx"]],["application/sbml+xml","sbml"],["application/scvp-cv-request","scq"],["application/scvp-cv-response","scs"],["application/scvp-vp-request","spq"],["application/scvp-vp-response","spp"],["application/sdp","sdp"],["application/sea","sea"],["application/set","set"],["application/set-payment-initiation","setpay"],["application/set-registration-initiation","setreg"],["application/shf+xml","shf"],["application/sla","stl"],["application/smil",["smi","smil"]],["application/smil+xml","smi"],["application/solids","sol"],["application/sounder","sdr"],["application/sparql-query","rq"],["application/sparql-results+xml","srx"],["application/srgs","gram"],["application/srgs+xml","grxml"],["application/sru+xml","sru"],["application/ssml+xml","ssml"],["application/step",["step","stp"]],["application/streamingmedia","ssm"],["application/tei+xml","tei"],["application/thraud+xml","tfi"],["application/timestamped-data","tsd"],["application/toolbook","tbk"],["application/vda","vda"],["application/vnd.3gpp.pic-bw-large","plb"],["application/vnd.3gpp.pic-bw-small","psb"],["application/vnd.3gpp.pic-bw-var","pvb"],["application/vnd.3gpp2.tcap","tcap"],["application/vnd.3m.post-it-notes","pwn"],["application/vnd.accpac.simply.aso","aso"],["application/vnd.accpac.simply.imp","imp"],["application/vnd.acucobol","acu"],["application/vnd.acucorp","atc"],["application/vnd.adobe.air-application-installer-package+zip","air"],["application/vnd.adobe.fxp","fxp"],["application/vnd.adobe.xdp+xml","xdp"],["application/vnd.adobe.xfdf","xfdf"],["application/vnd.ahead.space","ahead"],["application/vnd.airzip.filesecure.azf","azf"],["application/vnd.airzip.filesecure.azs","azs"],["application/vnd.amazon.ebook","azw"],["application/vnd.americandynamics.acc","acc"],["application/vnd.amiga.ami","ami"],["application/vnd.android.package-archive","apk"],["application/vnd.anser-web-certificate-issue-initiation","cii"],["application/vnd.anser-web-funds-transfer-initiation","fti"],["application/vnd.antix.game-component","atx"],["application/vnd.apple.installer+xml","mpkg"],["application/vnd.apple.mpegurl","m3u8"],["application/vnd.aristanetworks.swi","swi"],["application/vnd.audiograph","aep"],["application/vnd.blueice.multipass","mpm"],["application/vnd.bmi","bmi"],["application/vnd.businessobjects","rep"],["application/vnd.chemdraw+xml","cdxml"],["application/vnd.chipnuts.karaoke-mmd","mmd"],["application/vnd.cinderella","cdy"],["application/vnd.claymore","cla"],["application/vnd.cloanto.rp9","rp9"],["application/vnd.clonk.c4group","c4g"],["application/vnd.cluetrust.cartomobile-config","c11amc"],["application/vnd.cluetrust.cartomobile-config-pkg","c11amz"],["application/vnd.commonspace","csp"],["application/vnd.contact.cmsg","cdbcmsg"],["application/vnd.cosmocaller","cmc"],["application/vnd.crick.clicker","clkx"],["application/vnd.crick.clicker.keyboard","clkk"],["application/vnd.crick.clicker.palette","clkp"],["application/vnd.crick.clicker.template","clkt"],["application/vnd.crick.clicker.wordbank","clkw"],["application/vnd.criticaltools.wbs+xml","wbs"],["application/vnd.ctc-posml","pml"],["application/vnd.cups-ppd","ppd"],["application/vnd.curl.car","car"],["application/vnd.curl.pcurl","pcurl"],["application/vnd.data-vision.rdz","rdz"],["application/vnd.denovo.fcselayout-link","fe_launch"],["application/vnd.dna","dna"],["application/vnd.dolby.mlp","mlp"],["application/vnd.dpgraph","dpg"],["application/vnd.dreamfactory","dfac"],["application/vnd.dvb.ait","ait"],["application/vnd.dvb.service","svc"],["application/vnd.dynageo","geo"],["application/vnd.ecowin.chart","mag"],["application/vnd.enliven","nml"],["application/vnd.epson.esf","esf"],["application/vnd.epson.msf","msf"],["application/vnd.epson.quickanime","qam"],["application/vnd.epson.salt","slt"],["application/vnd.epson.ssf","ssf"],["application/vnd.eszigno3+xml","es3"],["application/vnd.ezpix-album","ez2"],["application/vnd.ezpix-package","ez3"],["application/vnd.fdf","fdf"],["application/vnd.fdsn.seed","seed"],["application/vnd.flographit","gph"],["application/vnd.fluxtime.clip","ftc"],["application/vnd.framemaker","fm"],["application/vnd.frogans.fnc","fnc"],["application/vnd.frogans.ltf","ltf"],["application/vnd.fsc.weblaunch","fsc"],["application/vnd.fujitsu.oasys","oas"],["application/vnd.fujitsu.oasys2","oa2"],["application/vnd.fujitsu.oasys3","oa3"],["application/vnd.fujitsu.oasysgp","fg5"],["application/vnd.fujitsu.oasysprs","bh2"],["application/vnd.fujixerox.ddd","ddd"],["application/vnd.fujixerox.docuworks","xdw"],["application/vnd.fujixerox.docuworks.binder","xbd"],["application/vnd.fuzzysheet","fzs"],["application/vnd.genomatix.tuxedo","txd"],["application/vnd.geogebra.file","ggb"],["application/vnd.geogebra.tool","ggt"],["application/vnd.geometry-explorer","gex"],["application/vnd.geonext","gxt"],["application/vnd.geoplan","g2w"],["application/vnd.geospace","g3w"],["application/vnd.gmx","gmx"],["application/vnd.google-earth.kml+xml","kml"],["application/vnd.google-earth.kmz","kmz"],["application/vnd.grafeq","gqf"],["application/vnd.groove-account","gac"],["application/vnd.groove-help","ghf"],["application/vnd.groove-identity-message","gim"],["application/vnd.groove-injector","grv"],["application/vnd.groove-tool-message","gtm"],["application/vnd.groove-tool-template","tpl"],["application/vnd.groove-vcard","vcg"],["application/vnd.hal+xml","hal"],["application/vnd.handheld-entertainment+xml","zmm"],["application/vnd.hbci","hbci"],["application/vnd.hhe.lesson-player","les"],["application/vnd.hp-hpgl",["hgl","hpg","hpgl"]],["application/vnd.hp-hpid","hpid"],["application/vnd.hp-hps","hps"],["application/vnd.hp-jlyt","jlt"],["application/vnd.hp-pcl","pcl"],["application/vnd.hp-pclxl","pclxl"],["application/vnd.hydrostatix.sof-data","sfd-hdstx"],["application/vnd.hzn-3d-crossword","x3d"],["application/vnd.ibm.minipay","mpy"],["application/vnd.ibm.modcap","afp"],["application/vnd.ibm.rights-management","irm"],["application/vnd.ibm.secure-container","sc"],["application/vnd.iccprofile","icc"],["application/vnd.igloader","igl"],["application/vnd.immervision-ivp","ivp"],["application/vnd.immervision-ivu","ivu"],["application/vnd.insors.igm","igm"],["application/vnd.intercon.formnet","xpw"],["application/vnd.intergeo","i2g"],["application/vnd.intu.qbo","qbo"],["application/vnd.intu.qfx","qfx"],["application/vnd.ipunplugged.rcprofile","rcprofile"],["application/vnd.irepository.package+xml","irp"],["application/vnd.is-xpr","xpr"],["application/vnd.isac.fcs","fcs"],["application/vnd.jam","jam"],["application/vnd.jcp.javame.midlet-rms","rms"],["application/vnd.jisp","jisp"],["application/vnd.joost.joda-archive","joda"],["application/vnd.kahootz","ktz"],["application/vnd.kde.karbon","karbon"],["application/vnd.kde.kchart","chrt"],["application/vnd.kde.kformula","kfo"],["application/vnd.kde.kivio","flw"],["application/vnd.kde.kontour","kon"],["application/vnd.kde.kpresenter","kpr"],["application/vnd.kde.kspread","ksp"],["application/vnd.kde.kword","kwd"],["application/vnd.kenameaapp","htke"],["application/vnd.kidspiration","kia"],["application/vnd.kinar","kne"],["application/vnd.koan","skp"],["application/vnd.kodak-descriptor","sse"],["application/vnd.las.las+xml","lasxml"],["application/vnd.llamagraphics.life-balance.desktop","lbd"],["application/vnd.llamagraphics.life-balance.exchange+xml","lbe"],["application/vnd.lotus-1-2-3","123"],["application/vnd.lotus-approach","apr"],["application/vnd.lotus-freelance","pre"],["application/vnd.lotus-notes","nsf"],["application/vnd.lotus-organizer","org"],["application/vnd.lotus-screencam","scm"],["application/vnd.lotus-wordpro","lwp"],["application/vnd.macports.portpkg","portpkg"],["application/vnd.mcd","mcd"],["application/vnd.medcalcdata","mc1"],["application/vnd.mediastation.cdkey","cdkey"],["application/vnd.mfer","mwf"],["application/vnd.mfmp","mfm"],["application/vnd.micrografx.flo","flo"],["application/vnd.micrografx.igx","igx"],["application/vnd.mif","mif"],["application/vnd.mobius.daf","daf"],["application/vnd.mobius.dis","dis"],["application/vnd.mobius.mbk","mbk"],["application/vnd.mobius.mqy","mqy"],["application/vnd.mobius.msl","msl"],["application/vnd.mobius.plc","plc"],["application/vnd.mobius.txf","txf"],["application/vnd.mophun.application","mpn"],["application/vnd.mophun.certificate","mpc"],["application/vnd.mozilla.xul+xml","xul"],["application/vnd.ms-artgalry","cil"],["application/vnd.ms-cab-compressed","cab"],["application/vnd.ms-excel",["xls","xla","xlc","xlm","xlt","xlw","xlb","xll"]],["application/vnd.ms-excel.addin.macroenabled.12","xlam"],["application/vnd.ms-excel.sheet.binary.macroenabled.12","xlsb"],["application/vnd.ms-excel.sheet.macroenabled.12","xlsm"],["application/vnd.ms-excel.template.macroenabled.12","xltm"],["application/vnd.ms-fontobject","eot"],["application/vnd.ms-htmlhelp","chm"],["application/vnd.ms-ims","ims"],["application/vnd.ms-lrm","lrm"],["application/vnd.ms-officetheme","thmx"],["application/vnd.ms-outlook","msg"],["application/vnd.ms-pki.certstore","sst"],["application/vnd.ms-pki.pko","pko"],["application/vnd.ms-pki.seccat","cat"],["application/vnd.ms-pki.stl","stl"],["application/vnd.ms-pkicertstore","sst"],["application/vnd.ms-pkiseccat","cat"],["application/vnd.ms-pkistl","stl"],["application/vnd.ms-powerpoint",["ppt","pot","pps","ppa","pwz"]],["application/vnd.ms-powerpoint.addin.macroenabled.12","ppam"],["application/vnd.ms-powerpoint.presentation.macroenabled.12","pptm"],["application/vnd.ms-powerpoint.slide.macroenabled.12","sldm"],["application/vnd.ms-powerpoint.slideshow.macroenabled.12","ppsm"],["application/vnd.ms-powerpoint.template.macroenabled.12","potm"],["application/vnd.ms-project","mpp"],["application/vnd.ms-word.document.macroenabled.12","docm"],["application/vnd.ms-word.template.macroenabled.12","dotm"],["application/vnd.ms-works",["wks","wcm","wdb","wps"]],["application/vnd.ms-wpl","wpl"],["application/vnd.ms-xpsdocument","xps"],["application/vnd.mseq","mseq"],["application/vnd.musician","mus"],["application/vnd.muvee.style","msty"],["application/vnd.neurolanguage.nlu","nlu"],["application/vnd.noblenet-directory","nnd"],["application/vnd.noblenet-sealer","nns"],["application/vnd.noblenet-web","nnw"],["application/vnd.nokia.configuration-message","ncm"],["application/vnd.nokia.n-gage.data","ngdat"],["application/vnd.nokia.n-gage.symbian.install","n-gage"],["application/vnd.nokia.radio-preset","rpst"],["application/vnd.nokia.radio-presets","rpss"],["application/vnd.nokia.ringing-tone","rng"],["application/vnd.novadigm.edm","edm"],["application/vnd.novadigm.edx","edx"],["application/vnd.novadigm.ext","ext"],["application/vnd.oasis.opendocument.chart","odc"],["application/vnd.oasis.opendocument.chart-template","otc"],["application/vnd.oasis.opendocument.database","odb"],["application/vnd.oasis.opendocument.formula","odf"],["application/vnd.oasis.opendocument.formula-template","odft"],["application/vnd.oasis.opendocument.graphics","odg"],["application/vnd.oasis.opendocument.graphics-template","otg"],["application/vnd.oasis.opendocument.image","odi"],["application/vnd.oasis.opendocument.image-template","oti"],["application/vnd.oasis.opendocument.presentation","odp"],["application/vnd.oasis.opendocument.presentation-template","otp"],["application/vnd.oasis.opendocument.spreadsheet","ods"],["application/vnd.oasis.opendocument.spreadsheet-template","ots"],["application/vnd.oasis.opendocument.text","odt"],["application/vnd.oasis.opendocument.text-master","odm"],["application/vnd.oasis.opendocument.text-template","ott"],["application/vnd.oasis.opendocument.text-web","oth"],["application/vnd.olpc-sugar","xo"],["application/vnd.oma.dd2+xml","dd2"],["application/vnd.openofficeorg.extension","oxt"],["application/vnd.openxmlformats-officedocument.presentationml.presentation","pptx"],["application/vnd.openxmlformats-officedocument.presentationml.slide","sldx"],["application/vnd.openxmlformats-officedocument.presentationml.slideshow","ppsx"],["application/vnd.openxmlformats-officedocument.presentationml.template","potx"],["application/vnd.openxmlformats-officedocument.spreadsheetml.sheet","xlsx"],["application/vnd.openxmlformats-officedocument.spreadsheetml.template","xltx"],["application/vnd.openxmlformats-officedocument.wordprocessingml.document","docx"],["application/vnd.openxmlformats-officedocument.wordprocessingml.template","dotx"],["application/vnd.osgeo.mapguide.package","mgp"],["application/vnd.osgi.dp","dp"],["application/vnd.palm","pdb"],["application/vnd.pawaafile","paw"],["application/vnd.pg.format","str"],["application/vnd.pg.osasli","ei6"],["application/vnd.picsel","efif"],["application/vnd.pmi.widget","wg"],["application/vnd.pocketlearn","plf"],["application/vnd.powerbuilder6","pbd"],["application/vnd.previewsystems.box","box"],["application/vnd.proteus.magazine","mgz"],["application/vnd.publishare-delta-tree","qps"],["application/vnd.pvi.ptid1","ptid"],["application/vnd.quark.quarkxpress","qxd"],["application/vnd.realvnc.bed","bed"],["application/vnd.recordare.musicxml","mxl"],["application/vnd.recordare.musicxml+xml","musicxml"],["application/vnd.rig.cryptonote","cryptonote"],["application/vnd.rim.cod","cod"],["application/vnd.rn-realmedia","rm"],["application/vnd.rn-realplayer","rnx"],["application/vnd.route66.link66+xml","link66"],["application/vnd.sailingtracker.track","st"],["application/vnd.seemail","see"],["application/vnd.sema","sema"],["application/vnd.semd","semd"],["application/vnd.semf","semf"],["application/vnd.shana.informed.formdata","ifm"],["application/vnd.shana.informed.formtemplate","itp"],["application/vnd.shana.informed.interchange","iif"],["application/vnd.shana.informed.package","ipk"],["application/vnd.simtech-mindmapper","twd"],["application/vnd.smaf","mmf"],["application/vnd.smart.teacher","teacher"],["application/vnd.solent.sdkm+xml","sdkm"],["application/vnd.spotfire.dxp","dxp"],["application/vnd.spotfire.sfs","sfs"],["application/vnd.stardivision.calc","sdc"],["application/vnd.stardivision.draw","sda"],["application/vnd.stardivision.impress","sdd"],["application/vnd.stardivision.math","smf"],["application/vnd.stardivision.writer","sdw"],["application/vnd.stardivision.writer-global","sgl"],["application/vnd.stepmania.stepchart","sm"],["application/vnd.sun.xml.calc","sxc"],["application/vnd.sun.xml.calc.template","stc"],["application/vnd.sun.xml.draw","sxd"],["application/vnd.sun.xml.draw.template","std"],["application/vnd.sun.xml.impress","sxi"],["application/vnd.sun.xml.impress.template","sti"],["application/vnd.sun.xml.math","sxm"],["application/vnd.sun.xml.writer","sxw"],["application/vnd.sun.xml.writer.global","sxg"],["application/vnd.sun.xml.writer.template","stw"],["application/vnd.sus-calendar","sus"],["application/vnd.svd","svd"],["application/vnd.symbian.install","sis"],["application/vnd.syncml+xml","xsm"],["application/vnd.syncml.dm+wbxml","bdm"],["application/vnd.syncml.dm+xml","xdm"],["application/vnd.tao.intent-module-archive","tao"],["application/vnd.tmobile-livetv","tmo"],["application/vnd.trid.tpt","tpt"],["application/vnd.triscape.mxs","mxs"],["application/vnd.trueapp","tra"],["application/vnd.ufdl","ufd"],["application/vnd.uiq.theme","utz"],["application/vnd.umajin","umj"],["application/vnd.unity","unityweb"],["application/vnd.uoml+xml","uoml"],["application/vnd.vcx","vcx"],["application/vnd.visio","vsd"],["application/vnd.visionary","vis"],["application/vnd.vsf","vsf"],["application/vnd.wap.wbxml","wbxml"],["application/vnd.wap.wmlc","wmlc"],["application/vnd.wap.wmlscriptc","wmlsc"],["application/vnd.webturbo","wtb"],["application/vnd.wolfram.player","nbp"],["application/vnd.wordperfect","wpd"],["application/vnd.wqd","wqd"],["application/vnd.wt.stf","stf"],["application/vnd.xara",["web","xar"]],["application/vnd.xfdl","xfdl"],["application/vnd.yamaha.hv-dic","hvd"],["application/vnd.yamaha.hv-script","hvs"],["application/vnd.yamaha.hv-voice","hvp"],["application/vnd.yamaha.openscoreformat","osf"],["application/vnd.yamaha.openscoreformat.osfpvg+xml","osfpvg"],["application/vnd.yamaha.smaf-audio","saf"],["application/vnd.yamaha.smaf-phrase","spf"],["application/vnd.yellowriver-custom-menu","cmp"],["application/vnd.zul","zir"],["application/vnd.zzazz.deck+xml","zaz"],["application/vocaltec-media-desc","vmd"],["application/vocaltec-media-file","vmf"],["application/voicexml+xml","vxml"],["application/widget","wgt"],["application/winhlp","hlp"],["application/wordperfect",["wp","wp5","wp6","wpd"]],["application/wordperfect6.0",["w60","wp5"]],["application/wordperfect6.1","w61"],["application/wsdl+xml","wsdl"],["application/wspolicy+xml","wspolicy"],["application/x-123","wk1"],["application/x-7z-compressed","7z"],["application/x-abiword","abw"],["application/x-ace-compressed","ace"],["application/x-aim","aim"],["application/x-authorware-bin","aab"],["application/x-authorware-map","aam"],["application/x-authorware-seg","aas"],["application/x-bcpio","bcpio"],["application/x-binary","bin"],["application/x-binhex40","hqx"],["application/x-bittorrent","torrent"],["application/x-bsh",["bsh","sh","shar"]],["application/x-bytecode.elisp","elc"],["application/x-bytecode.python","pyc"],["application/x-bzip","bz"],["application/x-bzip2",["boz","bz2"]],["application/x-cdf","cdf"],["application/x-cdlink","vcd"],["application/x-chat",["cha","chat"]],["application/x-chess-pgn","pgn"],["application/x-cmu-raster","ras"],["application/x-cocoa","cco"],["application/x-compactpro","cpt"],["application/x-compress","z"],["application/x-compressed",["tgz","gz","z","zip"]],["application/x-conference","nsc"],["application/x-cpio","cpio"],["application/x-cpt","cpt"],["application/x-csh","csh"],["application/x-debian-package","deb"],["application/x-deepv","deepv"],["application/x-director",["dir","dcr","dxr"]],["application/x-doom","wad"],["application/x-dtbncx+xml","ncx"],["application/x-dtbook+xml","dtb"],["application/x-dtbresource+xml","res"],["application/x-dvi","dvi"],["application/x-elc","elc"],["application/x-envoy",["env","evy"]],["application/x-esrehber","es"],["application/x-excel",["xls","xla","xlb","xlc","xld","xlk","xll","xlm","xlt","xlv","xlw"]],["application/x-font-bdf","bdf"],["application/x-font-ghostscript","gsf"],["application/x-font-linux-psf","psf"],["application/x-font-otf","otf"],["application/x-font-pcf","pcf"],["application/x-font-snf","snf"],["application/x-font-ttf","ttf"],["application/x-font-type1","pfa"],["application/x-font-woff","woff"],["application/x-frame","mif"],["application/x-freelance","pre"],["application/x-futuresplash","spl"],["application/x-gnumeric","gnumeric"],["application/x-gsp","gsp"],["application/x-gss","gss"],["application/x-gtar","gtar"],["application/x-gzip",["gz","gzip"]],["application/x-hdf","hdf"],["application/x-helpfile",["help","hlp"]],["application/x-httpd-imap","imap"],["application/x-ima","ima"],["application/x-internet-signup",["ins","isp"]],["application/x-internett-signup","ins"],["application/x-inventor","iv"],["application/x-ip2","ip"],["application/x-iphone","iii"],["application/x-java-class","class"],["application/x-java-commerce","jcm"],["application/x-java-jnlp-file","jnlp"],["application/x-javascript","js"],["application/x-koan",["skd","skm","skp","skt"]],["application/x-ksh","ksh"],["application/x-latex",["latex","ltx"]],["application/x-lha","lha"],["application/x-lisp","lsp"],["application/x-livescreen","ivy"],["application/x-lotus","wq1"],["application/x-lotusscreencam","scm"],["application/x-lzh","lzh"],["application/x-lzx","lzx"],["application/x-mac-binhex40","hqx"],["application/x-macbinary","bin"],["application/x-magic-cap-package-1.0","mc$"],["application/x-mathcad","mcd"],["application/x-meme","mm"],["application/x-midi",["mid","midi"]],["application/x-mif","mif"],["application/x-mix-transfer","nix"],["application/x-mobipocket-ebook","prc"],["application/x-mplayer2","asx"],["application/x-ms-application","application"],["application/x-ms-wmd","wmd"],["application/x-ms-wmz","wmz"],["application/x-ms-xbap","xbap"],["application/x-msaccess","mdb"],["application/x-msbinder","obd"],["application/x-mscardfile","crd"],["application/x-msclip","clp"],["application/x-msdownload",["exe","dll"]],["application/x-msexcel",["xls","xla","xlw"]],["application/x-msmediaview",["mvb","m13","m14"]],["application/x-msmetafile","wmf"],["application/x-msmoney","mny"],["application/x-mspowerpoint","ppt"],["application/x-mspublisher","pub"],["application/x-msschedule","scd"],["application/x-msterminal","trm"],["application/x-mswrite","wri"],["application/x-navi-animation","ani"],["application/x-navidoc","nvd"],["application/x-navimap","map"],["application/x-navistyle","stl"],["application/x-netcdf",["cdf","nc"]],["application/x-newton-compatible-pkg","pkg"],["application/x-nokia-9000-communicator-add-on-software","aos"],["application/x-omc","omc"],["application/x-omcdatamaker","omcd"],["application/x-omcregerator","omcr"],["application/x-pagemaker",["pm4","pm5"]],["application/x-pcl","pcl"],["application/x-perfmon",["pma","pmc","pml","pmr","pmw"]],["application/x-pixclscript","plx"],["application/x-pkcs10","p10"],["application/x-pkcs12",["p12","pfx"]],["application/x-pkcs7-certificates",["p7b","spc"]],["application/x-pkcs7-certreqresp","p7r"],["application/x-pkcs7-mime",["p7m","p7c"]],["application/x-pkcs7-signature",["p7s","p7a"]],["application/x-pointplus","css"],["application/x-portable-anymap","pnm"],["application/x-project",["mpc","mpt","mpv","mpx"]],["application/x-qpro","wb1"],["application/x-rar-compressed","rar"],["application/x-rtf","rtf"],["application/x-sdp","sdp"],["application/x-sea","sea"],["application/x-seelogo","sl"],["application/x-sh","sh"],["application/x-shar",["shar","sh"]],["application/x-shockwave-flash","swf"],["application/x-silverlight-app","xap"],["application/x-sit","sit"],["application/x-sprite",["spr","sprite"]],["application/x-stuffit","sit"],["application/x-stuffitx","sitx"],["application/x-sv4cpio","sv4cpio"],["application/x-sv4crc","sv4crc"],["application/x-tar","tar"],["application/x-tbook",["sbk","tbk"]],["application/x-tcl","tcl"],["application/x-tex","tex"],["application/x-tex-tfm","tfm"],["application/x-texinfo",["texi","texinfo"]],["application/x-troff",["roff","t","tr"]],["application/x-troff-man","man"],["application/x-troff-me","me"],["application/x-troff-ms","ms"],["application/x-troff-msvideo","avi"],["application/x-ustar","ustar"],["application/x-visio",["vsd","vst","vsw"]],["application/x-vnd.audioexplosion.mzz","mzz"],["application/x-vnd.ls-xpix","xpix"],["application/x-vrml","vrml"],["application/x-wais-source",["src","wsrc"]],["application/x-winhelp","hlp"],["application/x-wintalk","wtk"],["application/x-world",["wrl","svr"]],["application/x-wpwin","wpd"],["application/x-wri","wri"],["application/x-x509-ca-cert",["cer","crt","der"]],["application/x-x509-user-cert","crt"],["application/x-xfig","fig"],["application/x-xpinstall","xpi"],["application/x-zip-compressed","zip"],["application/xcap-diff+xml","xdf"],["application/xenc+xml","xenc"],["application/xhtml+xml","xhtml"],["application/xml","xml"],["application/xml-dtd","dtd"],["application/xop+xml","xop"],["application/xslt+xml","xslt"],["application/xspf+xml","xspf"],["application/xv+xml","mxml"],["application/yang","yang"],["application/yin+xml","yin"],["application/ynd.ms-pkipko","pko"],["application/zip","zip"],["audio/adpcm","adp"],["audio/aiff",["aiff","aif","aifc"]],["audio/basic",["snd","au"]],["audio/it","it"],["audio/make",["funk","my","pfunk"]],["audio/make.my.funk","pfunk"],["audio/mid",["mid","rmi"]],["audio/midi",["midi","kar","mid"]],["audio/mod","mod"],["audio/mp4","mp4a"],["audio/mpeg",["mpga","mp3","m2a","mp2","mpa","mpg"]],["audio/mpeg3","mp3"],["audio/nspaudio",["la","lma"]],["audio/ogg","oga"],["audio/s3m","s3m"],["audio/tsp-audio","tsi"],["audio/tsplayer","tsp"],["audio/vnd.dece.audio","uva"],["audio/vnd.digital-winds","eol"],["audio/vnd.dra","dra"],["audio/vnd.dts","dts"],["audio/vnd.dts.hd","dtshd"],["audio/vnd.lucent.voice","lvp"],["audio/vnd.ms-playready.media.pya","pya"],["audio/vnd.nuera.ecelp4800","ecelp4800"],["audio/vnd.nuera.ecelp7470","ecelp7470"],["audio/vnd.nuera.ecelp9600","ecelp9600"],["audio/vnd.qcelp","qcp"],["audio/vnd.rip","rip"],["audio/voc","voc"],["audio/voxware","vox"],["audio/wav","wav"],["audio/webm","weba"],["audio/x-aac","aac"],["audio/x-adpcm","snd"],["audio/x-aiff",["aiff","aif","aifc"]],["audio/x-au","au"],["audio/x-gsm",["gsd","gsm"]],["audio/x-jam","jam"],["audio/x-liveaudio","lam"],["audio/x-mid",["mid","midi"]],["audio/x-midi",["midi","mid"]],["audio/x-mod","mod"],["audio/x-mpeg","mp2"],["audio/x-mpeg-3","mp3"],["audio/x-mpegurl","m3u"],["audio/x-mpequrl","m3u"],["audio/x-ms-wax","wax"],["audio/x-ms-wma","wma"],["audio/x-nspaudio",["la","lma"]],["audio/x-pn-realaudio",["ra","ram","rm","rmm","rmp"]],["audio/x-pn-realaudio-plugin",["ra","rmp","rpm"]],["audio/x-psid","sid"],["audio/x-realaudio","ra"],["audio/x-twinvq","vqf"],["audio/x-twinvq-plugin",["vqe","vql"]],["audio/x-vnd.audioexplosion.mjuicemediafile","mjf"],["audio/x-voc","voc"],["audio/x-wav","wav"],["audio/xm","xm"],["chemical/x-cdx","cdx"],["chemical/x-cif","cif"],["chemical/x-cmdf","cmdf"],["chemical/x-cml","cml"],["chemical/x-csml","csml"],["chemical/x-pdb",["pdb","xyz"]],["chemical/x-xyz","xyz"],["drawing/x-dwf","dwf"],["i-world/i-vrml","ivr"],["image/bmp",["bmp","bm"]],["image/cgm","cgm"],["image/cis-cod","cod"],["image/cmu-raster",["ras","rast"]],["image/fif","fif"],["image/florian",["flo","turbot"]],["image/g3fax","g3"],["image/gif","gif"],["image/ief",["ief","iefs"]],["image/jpeg",["jpeg","jpe","jpg","jfif","jfif-tbnl"]],["image/jutvision","jut"],["image/ktx","ktx"],["image/naplps",["nap","naplps"]],["image/pict",["pic","pict"]],["image/pipeg","jfif"],["image/pjpeg",["jfif","jpe","jpeg","jpg"]],["image/png",["png","x-png"]],["image/prs.btif","btif"],["image/svg+xml","svg"],["image/tiff",["tif","tiff"]],["image/vasa","mcf"],["image/vnd.adobe.photoshop","psd"],["image/vnd.dece.graphic","uvi"],["image/vnd.djvu","djvu"],["image/vnd.dvb.subtitle","sub"],["image/vnd.dwg",["dwg","dxf","svf"]],["image/vnd.dxf","dxf"],["image/vnd.fastbidsheet","fbs"],["image/vnd.fpx","fpx"],["image/vnd.fst","fst"],["image/vnd.fujixerox.edmics-mmr","mmr"],["image/vnd.fujixerox.edmics-rlc","rlc"],["image/vnd.ms-modi","mdi"],["image/vnd.net-fpx",["fpx","npx"]],["image/vnd.rn-realflash","rf"],["image/vnd.rn-realpix","rp"],["image/vnd.wap.wbmp","wbmp"],["image/vnd.xiff","xif"],["image/webp","webp"],["image/x-cmu-raster","ras"],["image/x-cmx","cmx"],["image/x-dwg",["dwg","dxf","svf"]],["image/x-freehand","fh"],["image/x-icon","ico"],["image/x-jg","art"],["image/x-jps","jps"],["image/x-niff",["niff","nif"]],["image/x-pcx","pcx"],["image/x-pict",["pct","pic"]],["image/x-portable-anymap","pnm"],["image/x-portable-bitmap","pbm"],["image/x-portable-graymap","pgm"],["image/x-portable-greymap","pgm"],["image/x-portable-pixmap","ppm"],["image/x-quicktime",["qif","qti","qtif"]],["image/x-rgb","rgb"],["image/x-tiff",["tif","tiff"]],["image/x-windows-bmp","bmp"],["image/x-xbitmap","xbm"],["image/x-xbm","xbm"],["image/x-xpixmap",["xpm","pm"]],["image/x-xwd","xwd"],["image/x-xwindowdump","xwd"],["image/xbm","xbm"],["image/xpm","xpm"],["message/rfc822",["eml","mht","mhtml","nws","mime"]],["model/iges",["iges","igs"]],["model/mesh","msh"],["model/vnd.collada+xml","dae"],["model/vnd.dwf","dwf"],["model/vnd.gdl","gdl"],["model/vnd.gtw","gtw"],["model/vnd.mts","mts"],["model/vnd.vtu","vtu"],["model/vrml",["vrml","wrl","wrz"]],["model/x-pov","pov"],["multipart/x-gzip","gzip"],["multipart/x-ustar","ustar"],["multipart/x-zip","zip"],["music/crescendo",["mid","midi"]],["music/x-karaoke","kar"],["paleovu/x-pv","pvu"],["text/asp","asp"],["text/calendar","ics"],["text/css","css"],["text/csv","csv"],["text/ecmascript","js"],["text/h323","323"],["text/html",["html","htm","stm","acgi","htmls","htx","shtml"]],["text/iuls","uls"],["text/javascript","js"],["text/mcf","mcf"],["text/n3","n3"],["text/pascal","pas"],["text/plain",["txt","bas","c","h","c++","cc","com","conf","cxx","def","f","f90","for","g","hh","idc","jav","java","list","log","lst","m","mar","pl","sdml","text"]],["text/plain-bas","par"],["text/prs.lines.tag","dsc"],["text/richtext",["rtx","rt","rtf"]],["text/scriplet","wsc"],["text/scriptlet","sct"],["text/sgml",["sgm","sgml"]],["text/tab-separated-values","tsv"],["text/troff","t"],["text/turtle","ttl"],["text/uri-list",["uni","unis","uri","uris"]],["text/vnd.abc","abc"],["text/vnd.curl","curl"],["text/vnd.curl.dcurl","dcurl"],["text/vnd.curl.mcurl","mcurl"],["text/vnd.curl.scurl","scurl"],["text/vnd.fly","fly"],["text/vnd.fmi.flexstor","flx"],["text/vnd.graphviz","gv"],["text/vnd.in3d.3dml","3dml"],["text/vnd.in3d.spot","spot"],["text/vnd.rn-realtext","rt"],["text/vnd.sun.j2me.app-descriptor","jad"],["text/vnd.wap.wml","wml"],["text/vnd.wap.wmlscript","wmls"],["text/webviewhtml","htt"],["text/x-asm",["asm","s"]],["text/x-audiosoft-intra","aip"],["text/x-c",["c","cc","cpp"]],["text/x-component","htc"],["text/x-fortran",["for","f","f77","f90"]],["text/x-h",["h","hh"]],["text/x-java-source",["java","jav"]],["text/x-java-source,java","java"],["text/x-la-asf","lsx"],["text/x-m","m"],["text/x-pascal","p"],["text/x-script","hlb"],["text/x-script.csh","csh"],["text/x-script.elisp","el"],["text/x-script.guile","scm"],["text/x-script.ksh","ksh"],["text/x-script.lisp","lsp"],["text/x-script.perl","pl"],["text/x-script.perl-module","pm"],["text/x-script.phyton","py"],["text/x-script.rexx","rexx"],["text/x-script.scheme","scm"],["text/x-script.sh","sh"],["text/x-script.tcl","tcl"],["text/x-script.tcsh","tcsh"],["text/x-script.zsh","zsh"],["text/x-server-parsed-html",["shtml","ssi"]],["text/x-setext","etx"],["text/x-sgml",["sgm","sgml"]],["text/x-speech",["spc","talk"]],["text/x-uil","uil"],["text/x-uuencode",["uu","uue"]],["text/x-vcalendar","vcs"],["text/x-vcard","vcf"],["text/xml","xml"],["video/3gpp","3gp"],["video/3gpp2","3g2"],["video/animaflex","afl"],["video/avi","avi"],["video/avs-video","avs"],["video/dl","dl"],["video/fli","fli"],["video/gl","gl"],["video/h261","h261"],["video/h263","h263"],["video/h264","h264"],["video/jpeg","jpgv"],["video/jpm","jpm"],["video/mj2","mj2"],["video/mp4","mp4"],["video/mpeg",["mpeg","mp2","mpa","mpe","mpg","mpv2","m1v","m2v","mp3"]],["video/msvideo","avi"],["video/ogg","ogv"],["video/quicktime",["mov","qt","moov"]],["video/vdo","vdo"],["video/vivo",["viv","vivo"]],["video/vnd.dece.hd","uvh"],["video/vnd.dece.mobile","uvm"],["video/vnd.dece.pd","uvp"],["video/vnd.dece.sd","uvs"],["video/vnd.dece.video","uvv"],["video/vnd.fvt","fvt"],["video/vnd.mpegurl","mxu"],["video/vnd.ms-playready.media.pyv","pyv"],["video/vnd.rn-realvideo","rv"],["video/vnd.uvvu.mp4","uvu"],["video/vnd.vivo",["viv","vivo"]],["video/vosaic","vos"],["video/webm","webm"],["video/x-amt-demorun","xdr"],["video/x-amt-showrun","xsr"],["video/x-atomic3d-feature","fmf"],["video/x-dl","dl"],["video/x-dv",["dif","dv"]],["video/x-f4v","f4v"],["video/x-fli","fli"],["video/x-flv","flv"],["video/x-gl","gl"],["video/x-isvideo","isu"],["video/x-la-asf",["lsf","lsx"]],["video/x-m4v","m4v"],["video/x-motion-jpeg","mjpg"],["video/x-mpeg",["mp3","mp2"]],["video/x-mpeq2a","mp2"],["video/x-ms-asf",["asf","asr","asx"]],["video/x-ms-asf-plugin","asx"],["video/x-ms-wm","wm"],["video/x-ms-wmv","wmv"],["video/x-ms-wmx","wmx"],["video/x-ms-wvx","wvx"],["video/x-msvideo","avi"],["video/x-qtc","qtc"],["video/x-scm","scm"],["video/x-sgi-movie",["movie","mv"]],["windows/metafile","wmf"],["www/mime","mime"],["x-conference/x-cooltalk","ice"],["x-music/x-midi",["mid","midi"]],["x-world/x-3dmf",["3dm","3dmf","qd3","qd3d"]],["x-world/x-svr","svr"],["x-world/x-vrml",["flr","vrml","wrl","wrz","xaf","xof"]],["x-world/x-vrt","vrt"],["xgl/drawing","xgz"],["xgl/movie","xmz"]]),extensions=new Map([["123","application/vnd.lotus-1-2-3"],["323","text/h323"],["*","application/octet-stream"],["3dm","x-world/x-3dmf"],["3dmf","x-world/x-3dmf"],["3dml","text/vnd.in3d.3dml"],["3g2","video/3gpp2"],["3gp","video/3gpp"],["7z","application/x-7z-compressed"],["a","application/octet-stream"],["aab","application/x-authorware-bin"],["aac","audio/x-aac"],["aam","application/x-authorware-map"],["aas","application/x-authorware-seg"],["abc","text/vnd.abc"],["abw","application/x-abiword"],["ac","application/pkix-attr-cert"],["acc","application/vnd.americandynamics.acc"],["ace","application/x-ace-compressed"],["acgi","text/html"],["acu","application/vnd.acucobol"],["acx","application/internet-property-stream"],["adp","audio/adpcm"],["aep","application/vnd.audiograph"],["afl","video/animaflex"],["afp","application/vnd.ibm.modcap"],["ahead","application/vnd.ahead.space"],["ai","application/postscript"],["aif",["audio/aiff","audio/x-aiff"]],["aifc",["audio/aiff","audio/x-aiff"]],["aiff",["audio/aiff","audio/x-aiff"]],["aim","application/x-aim"],["aip","text/x-audiosoft-intra"],["air","application/vnd.adobe.air-application-installer-package+zip"],["ait","application/vnd.dvb.ait"],["ami","application/vnd.amiga.ami"],["ani","application/x-navi-animation"],["aos","application/x-nokia-9000-communicator-add-on-software"],["apk","application/vnd.android.package-archive"],["application","application/x-ms-application"],["apr","application/vnd.lotus-approach"],["aps","application/mime"],["arc","application/octet-stream"],["arj",["application/arj","application/octet-stream"]],["art","image/x-jg"],["asf","video/x-ms-asf"],["asm","text/x-asm"],["aso","application/vnd.accpac.simply.aso"],["asp","text/asp"],["asr","video/x-ms-asf"],["asx",["video/x-ms-asf","application/x-mplayer2","video/x-ms-asf-plugin"]],["atc","application/vnd.acucorp"],["atomcat","application/atomcat+xml"],["atomsvc","application/atomsvc+xml"],["atx","application/vnd.antix.game-component"],["au",["audio/basic","audio/x-au"]],["avi",["video/avi","video/msvideo","application/x-troff-msvideo","video/x-msvideo"]],["avs","video/avs-video"],["aw","application/applixware"],["axs","application/olescript"],["azf","application/vnd.airzip.filesecure.azf"],["azs","application/vnd.airzip.filesecure.azs"],["azw","application/vnd.amazon.ebook"],["bas","text/plain"],["bcpio","application/x-bcpio"],["bdf","application/x-font-bdf"],["bdm","application/vnd.syncml.dm+wbxml"],["bed","application/vnd.realvnc.bed"],["bh2","application/vnd.fujitsu.oasysprs"],["bin",["application/octet-stream","application/mac-binary","application/macbinary","application/x-macbinary","application/x-binary"]],["bm","image/bmp"],["bmi","application/vnd.bmi"],["bmp",["image/bmp","image/x-windows-bmp"]],["boo","application/book"],["book","application/book"],["box","application/vnd.previewsystems.box"],["boz","application/x-bzip2"],["bsh","application/x-bsh"],["btif","image/prs.btif"],["bz","application/x-bzip"],["bz2","application/x-bzip2"],["c",["text/plain","text/x-c"]],["c++","text/plain"],["c11amc","application/vnd.cluetrust.cartomobile-config"],["c11amz","application/vnd.cluetrust.cartomobile-config-pkg"],["c4g","application/vnd.clonk.c4group"],["cab","application/vnd.ms-cab-compressed"],["car","application/vnd.curl.car"],["cat",["application/vnd.ms-pkiseccat","application/vnd.ms-pki.seccat"]],["cc",["text/plain","text/x-c"]],["ccad","application/clariscad"],["cco","application/x-cocoa"],["ccxml","application/ccxml+xml,"],["cdbcmsg","application/vnd.contact.cmsg"],["cdf",["application/cdf","application/x-cdf","application/x-netcdf"]],["cdkey","application/vnd.mediastation.cdkey"],["cdmia","application/cdmi-capability"],["cdmic","application/cdmi-container"],["cdmid","application/cdmi-domain"],["cdmio","application/cdmi-object"],["cdmiq","application/cdmi-queue"],["cdx","chemical/x-cdx"],["cdxml","application/vnd.chemdraw+xml"],["cdy","application/vnd.cinderella"],["cer",["application/pkix-cert","application/x-x509-ca-cert"]],["cgm","image/cgm"],["cha","application/x-chat"],["chat","application/x-chat"],["chm","application/vnd.ms-htmlhelp"],["chrt","application/vnd.kde.kchart"],["cif","chemical/x-cif"],["cii","application/vnd.anser-web-certificate-issue-initiation"],["cil","application/vnd.ms-artgalry"],["cla","application/vnd.claymore"],["class",["application/octet-stream","application/java","application/java-byte-code","application/java-vm","application/x-java-class"]],["clkk","application/vnd.crick.clicker.keyboard"],["clkp","application/vnd.crick.clicker.palette"],["clkt","application/vnd.crick.clicker.template"],["clkw","application/vnd.crick.clicker.wordbank"],["clkx","application/vnd.crick.clicker"],["clp","application/x-msclip"],["cmc","application/vnd.cosmocaller"],["cmdf","chemical/x-cmdf"],["cml","chemical/x-cml"],["cmp","application/vnd.yellowriver-custom-menu"],["cmx","image/x-cmx"],["cod",["image/cis-cod","application/vnd.rim.cod"]],["com",["application/octet-stream","text/plain"]],["conf","text/plain"],["cpio","application/x-cpio"],["cpp","text/x-c"],["cpt",["application/mac-compactpro","application/x-compactpro","application/x-cpt"]],["crd","application/x-mscardfile"],["crl",["application/pkix-crl","application/pkcs-crl"]],["crt",["application/pkix-cert","application/x-x509-user-cert","application/x-x509-ca-cert"]],["cryptonote","application/vnd.rig.cryptonote"],["csh",["text/x-script.csh","application/x-csh"]],["csml","chemical/x-csml"],["csp","application/vnd.commonspace"],["css",["text/css","application/x-pointplus"]],["csv","text/csv"],["cu","application/cu-seeme"],["curl","text/vnd.curl"],["cww","application/prs.cww"],["cxx","text/plain"],["dae","model/vnd.collada+xml"],["daf","application/vnd.mobius.daf"],["davmount","application/davmount+xml"],["dcr","application/x-director"],["dcurl","text/vnd.curl.dcurl"],["dd2","application/vnd.oma.dd2+xml"],["ddd","application/vnd.fujixerox.ddd"],["deb","application/x-debian-package"],["deepv","application/x-deepv"],["def","text/plain"],["der","application/x-x509-ca-cert"],["dfac","application/vnd.dreamfactory"],["dif","video/x-dv"],["dir","application/x-director"],["dis","application/vnd.mobius.dis"],["djvu","image/vnd.djvu"],["dl",["video/dl","video/x-dl"]],["dll","application/x-msdownload"],["dms","application/octet-stream"],["dna","application/vnd.dna"],["doc","application/msword"],["docm","application/vnd.ms-word.document.macroenabled.12"],["docx","application/vnd.openxmlformats-officedocument.wordprocessingml.document"],["dot","application/msword"],["dotm","application/vnd.ms-word.template.macroenabled.12"],["dotx","application/vnd.openxmlformats-officedocument.wordprocessingml.template"],["dp",["application/commonground","application/vnd.osgi.dp"]],["dpg","application/vnd.dpgraph"],["dra","audio/vnd.dra"],["drw","application/drafting"],["dsc","text/prs.lines.tag"],["dssc","application/dssc+der"],["dtb","application/x-dtbook+xml"],["dtd","application/xml-dtd"],["dts","audio/vnd.dts"],["dtshd","audio/vnd.dts.hd"],["dump","application/octet-stream"],["dv","video/x-dv"],["dvi","application/x-dvi"],["dwf",["model/vnd.dwf","drawing/x-dwf"]],["dwg",["application/acad","image/vnd.dwg","image/x-dwg"]],["dxf",["application/dxf","image/vnd.dwg","image/vnd.dxf","image/x-dwg"]],["dxp","application/vnd.spotfire.dxp"],["dxr","application/x-director"],["ecelp4800","audio/vnd.nuera.ecelp4800"],["ecelp7470","audio/vnd.nuera.ecelp7470"],["ecelp9600","audio/vnd.nuera.ecelp9600"],["edm","application/vnd.novadigm.edm"],["edx","application/vnd.novadigm.edx"],["efif","application/vnd.picsel"],["ei6","application/vnd.pg.osasli"],["el","text/x-script.elisp"],["elc",["application/x-elc","application/x-bytecode.elisp"]],["eml","message/rfc822"],["emma","application/emma+xml"],["env","application/x-envoy"],["eol","audio/vnd.digital-winds"],["eot","application/vnd.ms-fontobject"],["eps","application/postscript"],["epub","application/epub+zip"],["es",["application/ecmascript","application/x-esrehber"]],["es3","application/vnd.eszigno3+xml"],["esf","application/vnd.epson.esf"],["etx","text/x-setext"],["evy",["application/envoy","application/x-envoy"]],["exe",["application/octet-stream","application/x-msdownload"]],["exi","application/exi"],["ext","application/vnd.novadigm.ext"],["ez2","application/vnd.ezpix-album"],["ez3","application/vnd.ezpix-package"],["f",["text/plain","text/x-fortran"]],["f4v","video/x-f4v"],["f77","text/x-fortran"],["f90",["text/plain","text/x-fortran"]],["fbs","image/vnd.fastbidsheet"],["fcs","application/vnd.isac.fcs"],["fdf","application/vnd.fdf"],["fe_launch","application/vnd.denovo.fcselayout-link"],["fg5","application/vnd.fujitsu.oasysgp"],["fh","image/x-freehand"],["fif",["application/fractals","image/fif"]],["fig","application/x-xfig"],["fli",["video/fli","video/x-fli"]],["flo",["image/florian","application/vnd.micrografx.flo"]],["flr","x-world/x-vrml"],["flv","video/x-flv"],["flw","application/vnd.kde.kivio"],["flx","text/vnd.fmi.flexstor"],["fly","text/vnd.fly"],["fm","application/vnd.framemaker"],["fmf","video/x-atomic3d-feature"],["fnc","application/vnd.frogans.fnc"],["for",["text/plain","text/x-fortran"]],["fpx",["image/vnd.fpx","image/vnd.net-fpx"]],["frl","application/freeloader"],["fsc","application/vnd.fsc.weblaunch"],["fst","image/vnd.fst"],["ftc","application/vnd.fluxtime.clip"],["fti","application/vnd.anser-web-funds-transfer-initiation"],["funk","audio/make"],["fvt","video/vnd.fvt"],["fxp","application/vnd.adobe.fxp"],["fzs","application/vnd.fuzzysheet"],["g","text/plain"],["g2w","application/vnd.geoplan"],["g3","image/g3fax"],["g3w","application/vnd.geospace"],["gac","application/vnd.groove-account"],["gdl","model/vnd.gdl"],["geo","application/vnd.dynageo"],["gex","application/vnd.geometry-explorer"],["ggb","application/vnd.geogebra.file"],["ggt","application/vnd.geogebra.tool"],["ghf","application/vnd.groove-help"],["gif","image/gif"],["gim","application/vnd.groove-identity-message"],["gl",["video/gl","video/x-gl"]],["gmx","application/vnd.gmx"],["gnumeric","application/x-gnumeric"],["gph","application/vnd.flographit"],["gqf","application/vnd.grafeq"],["gram","application/srgs"],["grv","application/vnd.groove-injector"],["grxml","application/srgs+xml"],["gsd","audio/x-gsm"],["gsf","application/x-font-ghostscript"],["gsm","audio/x-gsm"],["gsp","application/x-gsp"],["gss","application/x-gss"],["gtar","application/x-gtar"],["gtm","application/vnd.groove-tool-message"],["gtw","model/vnd.gtw"],["gv","text/vnd.graphviz"],["gxt","application/vnd.geonext"],["gz",["application/x-gzip","application/x-compressed"]],["gzip",["multipart/x-gzip","application/x-gzip"]],["h",["text/plain","text/x-h"]],["h261","video/h261"],["h263","video/h263"],["h264","video/h264"],["hal","application/vnd.hal+xml"],["hbci","application/vnd.hbci"],["hdf","application/x-hdf"],["help","application/x-helpfile"],["hgl","application/vnd.hp-hpgl"],["hh",["text/plain","text/x-h"]],["hlb","text/x-script"],["hlp",["application/winhlp","application/hlp","application/x-helpfile","application/x-winhelp"]],["hpg","application/vnd.hp-hpgl"],["hpgl","application/vnd.hp-hpgl"],["hpid","application/vnd.hp-hpid"],["hps","application/vnd.hp-hps"],["hqx",["application/mac-binhex40","application/binhex","application/binhex4","application/mac-binhex","application/x-binhex40","application/x-mac-binhex40"]],["hta","application/hta"],["htc","text/x-component"],["htke","application/vnd.kenameaapp"],["htm","text/html"],["html","text/html"],["htmls","text/html"],["htt","text/webviewhtml"],["htx","text/html"],["hvd","application/vnd.yamaha.hv-dic"],["hvp","application/vnd.yamaha.hv-voice"],["hvs","application/vnd.yamaha.hv-script"],["i2g","application/vnd.intergeo"],["icc","application/vnd.iccprofile"],["ice","x-conference/x-cooltalk"],["ico","image/x-icon"],["ics","text/calendar"],["idc","text/plain"],["ief","image/ief"],["iefs","image/ief"],["ifm","application/vnd.shana.informed.formdata"],["iges",["application/iges","model/iges"]],["igl","application/vnd.igloader"],["igm","application/vnd.insors.igm"],["igs",["application/iges","model/iges"]],["igx","application/vnd.micrografx.igx"],["iif","application/vnd.shana.informed.interchange"],["iii","application/x-iphone"],["ima","application/x-ima"],["imap","application/x-httpd-imap"],["imp","application/vnd.accpac.simply.imp"],["ims","application/vnd.ms-ims"],["inf","application/inf"],["ins",["application/x-internet-signup","application/x-internett-signup"]],["ip","application/x-ip2"],["ipfix","application/ipfix"],["ipk","application/vnd.shana.informed.package"],["irm","application/vnd.ibm.rights-management"],["irp","application/vnd.irepository.package+xml"],["isp","application/x-internet-signup"],["isu","video/x-isvideo"],["it","audio/it"],["itp","application/vnd.shana.informed.formtemplate"],["iv","application/x-inventor"],["ivp","application/vnd.immervision-ivp"],["ivr","i-world/i-vrml"],["ivu","application/vnd.immervision-ivu"],["ivy","application/x-livescreen"],["jad","text/vnd.sun.j2me.app-descriptor"],["jam",["application/vnd.jam","audio/x-jam"]],["jar","application/java-archive"],["jav",["text/plain","text/x-java-source"]],["java",["text/plain","text/x-java-source,java","text/x-java-source"]],["jcm","application/x-java-commerce"],["jfif",["image/pipeg","image/jpeg","image/pjpeg"]],["jfif-tbnl","image/jpeg"],["jisp","application/vnd.jisp"],["jlt","application/vnd.hp-jlyt"],["jnlp","application/x-java-jnlp-file"],["joda","application/vnd.joost.joda-archive"],["jpe",["image/jpeg","image/pjpeg"]],["jpeg",["image/jpeg","image/pjpeg"]],["jpg",["image/jpeg","image/pjpeg"]],["jpgv","video/jpeg"],["jpm","video/jpm"],["jps","image/x-jps"],["js",["application/javascript","application/ecmascript","text/javascript","text/ecmascript","application/x-javascript"]],["json","application/json"],["jut","image/jutvision"],["kar",["audio/midi","music/x-karaoke"]],["karbon","application/vnd.kde.karbon"],["kfo","application/vnd.kde.kformula"],["kia","application/vnd.kidspiration"],["kml","application/vnd.google-earth.kml+xml"],["kmz","application/vnd.google-earth.kmz"],["kne","application/vnd.kinar"],["kon","application/vnd.kde.kontour"],["kpr","application/vnd.kde.kpresenter"],["ksh",["application/x-ksh","text/x-script.ksh"]],["ksp","application/vnd.kde.kspread"],["ktx","image/ktx"],["ktz","application/vnd.kahootz"],["kwd","application/vnd.kde.kword"],["la",["audio/nspaudio","audio/x-nspaudio"]],["lam","audio/x-liveaudio"],["lasxml","application/vnd.las.las+xml"],["latex","application/x-latex"],["lbd","application/vnd.llamagraphics.life-balance.desktop"],["lbe","application/vnd.llamagraphics.life-balance.exchange+xml"],["les","application/vnd.hhe.lesson-player"],["lha",["application/octet-stream","application/lha","application/x-lha"]],["lhx","application/octet-stream"],["link66","application/vnd.route66.link66+xml"],["list","text/plain"],["lma",["audio/nspaudio","audio/x-nspaudio"]],["log","text/plain"],["lrm","application/vnd.ms-lrm"],["lsf","video/x-la-asf"],["lsp",["application/x-lisp","text/x-script.lisp"]],["lst","text/plain"],["lsx",["video/x-la-asf","text/x-la-asf"]],["ltf","application/vnd.frogans.ltf"],["ltx","application/x-latex"],["lvp","audio/vnd.lucent.voice"],["lwp","application/vnd.lotus-wordpro"],["lzh",["application/octet-stream","application/x-lzh"]],["lzx",["application/lzx","application/octet-stream","application/x-lzx"]],["m",["text/plain","text/x-m"]],["m13","application/x-msmediaview"],["m14","application/x-msmediaview"],["m1v","video/mpeg"],["m21","application/mp21"],["m2a","audio/mpeg"],["m2v","video/mpeg"],["m3u",["audio/x-mpegurl","audio/x-mpequrl"]],["m3u8","application/vnd.apple.mpegurl"],["m4v","video/x-m4v"],["ma","application/mathematica"],["mads","application/mads+xml"],["mag","application/vnd.ecowin.chart"],["man","application/x-troff-man"],["map","application/x-navimap"],["mar","text/plain"],["mathml","application/mathml+xml"],["mbd","application/mbedlet"],["mbk","application/vnd.mobius.mbk"],["mbox","application/mbox"],["mc$","application/x-magic-cap-package-1.0"],["mc1","application/vnd.medcalcdata"],["mcd",["application/mcad","application/vnd.mcd","application/x-mathcad"]],["mcf",["image/vasa","text/mcf"]],["mcp","application/netmc"],["mcurl","text/vnd.curl.mcurl"],["mdb","application/x-msaccess"],["mdi","image/vnd.ms-modi"],["me","application/x-troff-me"],["meta4","application/metalink4+xml"],["mets","application/mets+xml"],["mfm","application/vnd.mfmp"],["mgp","application/vnd.osgeo.mapguide.package"],["mgz","application/vnd.proteus.magazine"],["mht","message/rfc822"],["mhtml","message/rfc822"],["mid",["audio/mid","audio/midi","music/crescendo","x-music/x-midi","audio/x-midi","application/x-midi","audio/x-mid"]],["midi",["audio/midi","music/crescendo","x-music/x-midi","audio/x-midi","application/x-midi","audio/x-mid"]],["mif",["application/vnd.mif","application/x-mif","application/x-frame"]],["mime",["message/rfc822","www/mime"]],["mj2","video/mj2"],["mjf","audio/x-vnd.audioexplosion.mjuicemediafile"],["mjpg","video/x-motion-jpeg"],["mlp","application/vnd.dolby.mlp"],["mm",["application/base64","application/x-meme"]],["mmd","application/vnd.chipnuts.karaoke-mmd"],["mme","application/base64"],["mmf","application/vnd.smaf"],["mmr","image/vnd.fujixerox.edmics-mmr"],["mny","application/x-msmoney"],["mod",["audio/mod","audio/x-mod"]],["mods","application/mods+xml"],["moov","video/quicktime"],["mov","video/quicktime"],["movie","video/x-sgi-movie"],["mp2",["video/mpeg","audio/mpeg","video/x-mpeg","audio/x-mpeg","video/x-mpeq2a"]],["mp3",["audio/mpeg","audio/mpeg3","video/mpeg","audio/x-mpeg-3","video/x-mpeg"]],["mp4",["video/mp4","application/mp4"]],["mp4a","audio/mp4"],["mpa",["video/mpeg","audio/mpeg"]],["mpc",["application/vnd.mophun.certificate","application/x-project"]],["mpe","video/mpeg"],["mpeg","video/mpeg"],["mpg",["video/mpeg","audio/mpeg"]],["mpga","audio/mpeg"],["mpkg","application/vnd.apple.installer+xml"],["mpm","application/vnd.blueice.multipass"],["mpn","application/vnd.mophun.application"],["mpp","application/vnd.ms-project"],["mpt","application/x-project"],["mpv","application/x-project"],["mpv2","video/mpeg"],["mpx","application/x-project"],["mpy","application/vnd.ibm.minipay"],["mqy","application/vnd.mobius.mqy"],["mrc","application/marc"],["mrcx","application/marcxml+xml"],["ms","application/x-troff-ms"],["mscml","application/mediaservercontrol+xml"],["mseq","application/vnd.mseq"],["msf","application/vnd.epson.msf"],["msg","application/vnd.ms-outlook"],["msh","model/mesh"],["msl","application/vnd.mobius.msl"],["msty","application/vnd.muvee.style"],["mts","model/vnd.mts"],["mus","application/vnd.musician"],["musicxml","application/vnd.recordare.musicxml+xml"],["mv","video/x-sgi-movie"],["mvb","application/x-msmediaview"],["mwf","application/vnd.mfer"],["mxf","application/mxf"],["mxl","application/vnd.recordare.musicxml"],["mxml","application/xv+xml"],["mxs","application/vnd.triscape.mxs"],["mxu","video/vnd.mpegurl"],["my","audio/make"],["mzz","application/x-vnd.audioexplosion.mzz"],["n-gage","application/vnd.nokia.n-gage.symbian.install"],["n3","text/n3"],["nap","image/naplps"],["naplps","image/naplps"],["nbp","application/vnd.wolfram.player"],["nc","application/x-netcdf"],["ncm","application/vnd.nokia.configuration-message"],["ncx","application/x-dtbncx+xml"],["ngdat","application/vnd.nokia.n-gage.data"],["nif","image/x-niff"],["niff","image/x-niff"],["nix","application/x-mix-transfer"],["nlu","application/vnd.neurolanguage.nlu"],["nml","application/vnd.enliven"],["nnd","application/vnd.noblenet-directory"],["nns","application/vnd.noblenet-sealer"],["nnw","application/vnd.noblenet-web"],["npx","image/vnd.net-fpx"],["nsc","application/x-conference"],["nsf","application/vnd.lotus-notes"],["nvd","application/x-navidoc"],["nws","message/rfc822"],["o","application/octet-stream"],["oa2","application/vnd.fujitsu.oasys2"],["oa3","application/vnd.fujitsu.oasys3"],["oas","application/vnd.fujitsu.oasys"],["obd","application/x-msbinder"],["oda","application/oda"],["odb","application/vnd.oasis.opendocument.database"],["odc","application/vnd.oasis.opendocument.chart"],["odf","application/vnd.oasis.opendocument.formula"],["odft","application/vnd.oasis.opendocument.formula-template"],["odg","application/vnd.oasis.opendocument.graphics"],["odi","application/vnd.oasis.opendocument.image"],["odm","application/vnd.oasis.opendocument.text-master"],["odp","application/vnd.oasis.opendocument.presentation"],["ods","application/vnd.oasis.opendocument.spreadsheet"],["odt","application/vnd.oasis.opendocument.text"],["oga","audio/ogg"],["ogv","video/ogg"],["ogx","application/ogg"],["omc","application/x-omc"],["omcd","application/x-omcdatamaker"],["omcr","application/x-omcregerator"],["onetoc","application/onenote"],["opf","application/oebps-package+xml"],["org","application/vnd.lotus-organizer"],["osf","application/vnd.yamaha.openscoreformat"],["osfpvg","application/vnd.yamaha.openscoreformat.osfpvg+xml"],["otc","application/vnd.oasis.opendocument.chart-template"],["otf","application/x-font-otf"],["otg","application/vnd.oasis.opendocument.graphics-template"],["oth","application/vnd.oasis.opendocument.text-web"],["oti","application/vnd.oasis.opendocument.image-template"],["otp","application/vnd.oasis.opendocument.presentation-template"],["ots","application/vnd.oasis.opendocument.spreadsheet-template"],["ott","application/vnd.oasis.opendocument.text-template"],["oxt","application/vnd.openofficeorg.extension"],["p","text/x-pascal"],["p10",["application/pkcs10","application/x-pkcs10"]],["p12",["application/pkcs-12","application/x-pkcs12"]],["p7a","application/x-pkcs7-signature"],["p7b","application/x-pkcs7-certificates"],["p7c",["application/pkcs7-mime","application/x-pkcs7-mime"]],["p7m",["application/pkcs7-mime","application/x-pkcs7-mime"]],["p7r","application/x-pkcs7-certreqresp"],["p7s",["application/pkcs7-signature","application/x-pkcs7-signature"]],["p8","application/pkcs8"],["par","text/plain-bas"],["part","application/pro_eng"],["pas","text/pascal"],["paw","application/vnd.pawaafile"],["pbd","application/vnd.powerbuilder6"],["pbm","image/x-portable-bitmap"],["pcf","application/x-font-pcf"],["pcl",["application/vnd.hp-pcl","application/x-pcl"]],["pclxl","application/vnd.hp-pclxl"],["pct","image/x-pict"],["pcurl","application/vnd.curl.pcurl"],["pcx","image/x-pcx"],["pdb",["application/vnd.palm","chemical/x-pdb"]],["pdf","application/pdf"],["pfa","application/x-font-type1"],["pfr","application/font-tdpfr"],["pfunk",["audio/make","audio/make.my.funk"]],["pfx","application/x-pkcs12"],["pgm",["image/x-portable-graymap","image/x-portable-greymap"]],["pgn","application/x-chess-pgn"],["pgp","application/pgp-signature"],["pic",["image/pict","image/x-pict"]],["pict","image/pict"],["pkg","application/x-newton-compatible-pkg"],["pki","application/pkixcmp"],["pkipath","application/pkix-pkipath"],["pko",["application/ynd.ms-pkipko","application/vnd.ms-pki.pko"]],["pl",["text/plain","text/x-script.perl"]],["plb","application/vnd.3gpp.pic-bw-large"],["plc","application/vnd.mobius.plc"],["plf","application/vnd.pocketlearn"],["pls","application/pls+xml"],["plx","application/x-pixclscript"],["pm",["text/x-script.perl-module","image/x-xpixmap"]],["pm4","application/x-pagemaker"],["pm5","application/x-pagemaker"],["pma","application/x-perfmon"],["pmc","application/x-perfmon"],["pml",["application/vnd.ctc-posml","application/x-perfmon"]],["pmr","application/x-perfmon"],["pmw","application/x-perfmon"],["png","image/png"],["pnm",["application/x-portable-anymap","image/x-portable-anymap"]],["portpkg","application/vnd.macports.portpkg"],["pot",["application/vnd.ms-powerpoint","application/mspowerpoint"]],["potm","application/vnd.ms-powerpoint.template.macroenabled.12"],["potx","application/vnd.openxmlformats-officedocument.presentationml.template"],["pov","model/x-pov"],["ppa","application/vnd.ms-powerpoint"],["ppam","application/vnd.ms-powerpoint.addin.macroenabled.12"],["ppd","application/vnd.cups-ppd"],["ppm","image/x-portable-pixmap"],["pps",["application/vnd.ms-powerpoint","application/mspowerpoint"]],["ppsm","application/vnd.ms-powerpoint.slideshow.macroenabled.12"],["ppsx","application/vnd.openxmlformats-officedocument.presentationml.slideshow"],["ppt",["application/vnd.ms-powerpoint","application/mspowerpoint","application/powerpoint","application/x-mspowerpoint"]],["pptm","application/vnd.ms-powerpoint.presentation.macroenabled.12"],["pptx","application/vnd.openxmlformats-officedocument.presentationml.presentation"],["ppz","application/mspowerpoint"],["prc","application/x-mobipocket-ebook"],["pre",["application/vnd.lotus-freelance","application/x-freelance"]],["prf","application/pics-rules"],["prt","application/pro_eng"],["ps","application/postscript"],["psb","application/vnd.3gpp.pic-bw-small"],["psd",["application/octet-stream","image/vnd.adobe.photoshop"]],["psf","application/x-font-linux-psf"],["pskcxml","application/pskc+xml"],["ptid","application/vnd.pvi.ptid1"],["pub","application/x-mspublisher"],["pvb","application/vnd.3gpp.pic-bw-var"],["pvu","paleovu/x-pv"],["pwn","application/vnd.3m.post-it-notes"],["pwz","application/vnd.ms-powerpoint"],["py","text/x-script.phyton"],["pya","audio/vnd.ms-playready.media.pya"],["pyc","application/x-bytecode.python"],["pyv","video/vnd.ms-playready.media.pyv"],["qam","application/vnd.epson.quickanime"],["qbo","application/vnd.intu.qbo"],["qcp","audio/vnd.qcelp"],["qd3","x-world/x-3dmf"],["qd3d","x-world/x-3dmf"],["qfx","application/vnd.intu.qfx"],["qif","image/x-quicktime"],["qps","application/vnd.publishare-delta-tree"],["qt","video/quicktime"],["qtc","video/x-qtc"],["qti","image/x-quicktime"],["qtif","image/x-quicktime"],["qxd","application/vnd.quark.quarkxpress"],["ra",["audio/x-realaudio","audio/x-pn-realaudio","audio/x-pn-realaudio-plugin"]],["ram","audio/x-pn-realaudio"],["rar","application/x-rar-compressed"],["ras",["image/cmu-raster","application/x-cmu-raster","image/x-cmu-raster"]],["rast","image/cmu-raster"],["rcprofile","application/vnd.ipunplugged.rcprofile"],["rdf","application/rdf+xml"],["rdz","application/vnd.data-vision.rdz"],["rep","application/vnd.businessobjects"],["res","application/x-dtbresource+xml"],["rexx","text/x-script.rexx"],["rf","image/vnd.rn-realflash"],["rgb","image/x-rgb"],["rif","application/reginfo+xml"],["rip","audio/vnd.rip"],["rl","application/resource-lists+xml"],["rlc","image/vnd.fujixerox.edmics-rlc"],["rld","application/resource-lists-diff+xml"],["rm",["application/vnd.rn-realmedia","audio/x-pn-realaudio"]],["rmi","audio/mid"],["rmm","audio/x-pn-realaudio"],["rmp",["audio/x-pn-realaudio-plugin","audio/x-pn-realaudio"]],["rms","application/vnd.jcp.javame.midlet-rms"],["rnc","application/relax-ng-compact-syntax"],["rng",["application/ringing-tones","application/vnd.nokia.ringing-tone"]],["rnx","application/vnd.rn-realplayer"],["roff","application/x-troff"],["rp","image/vnd.rn-realpix"],["rp9","application/vnd.cloanto.rp9"],["rpm","audio/x-pn-realaudio-plugin"],["rpss","application/vnd.nokia.radio-presets"],["rpst","application/vnd.nokia.radio-preset"],["rq","application/sparql-query"],["rs","application/rls-services+xml"],["rsd","application/rsd+xml"],["rt",["text/richtext","text/vnd.rn-realtext"]],["rtf",["application/rtf","text/richtext","application/x-rtf"]],["rtx",["text/richtext","application/rtf"]],["rv","video/vnd.rn-realvideo"],["s","text/x-asm"],["s3m","audio/s3m"],["saf","application/vnd.yamaha.smaf-audio"],["saveme","application/octet-stream"],["sbk","application/x-tbook"],["sbml","application/sbml+xml"],["sc","application/vnd.ibm.secure-container"],["scd","application/x-msschedule"],["scm",["application/vnd.lotus-screencam","video/x-scm","text/x-script.guile","application/x-lotusscreencam","text/x-script.scheme"]],["scq","application/scvp-cv-request"],["scs","application/scvp-cv-response"],["sct","text/scriptlet"],["scurl","text/vnd.curl.scurl"],["sda","application/vnd.stardivision.draw"],["sdc","application/vnd.stardivision.calc"],["sdd","application/vnd.stardivision.impress"],["sdkm","application/vnd.solent.sdkm+xml"],["sdml","text/plain"],["sdp",["application/sdp","application/x-sdp"]],["sdr","application/sounder"],["sdw","application/vnd.stardivision.writer"],["sea",["application/sea","application/x-sea"]],["see","application/vnd.seemail"],["seed","application/vnd.fdsn.seed"],["sema","application/vnd.sema"],["semd","application/vnd.semd"],["semf","application/vnd.semf"],["ser","application/java-serialized-object"],["set","application/set"],["setpay","application/set-payment-initiation"],["setreg","application/set-registration-initiation"],["sfd-hdstx","application/vnd.hydrostatix.sof-data"],["sfs","application/vnd.spotfire.sfs"],["sgl","application/vnd.stardivision.writer-global"],["sgm",["text/sgml","text/x-sgml"]],["sgml",["text/sgml","text/x-sgml"]],["sh",["application/x-shar","application/x-bsh","application/x-sh","text/x-script.sh"]],["shar",["application/x-bsh","application/x-shar"]],["shf","application/shf+xml"],["shtml",["text/html","text/x-server-parsed-html"]],["sid","audio/x-psid"],["sis","application/vnd.symbian.install"],["sit",["application/x-stuffit","application/x-sit"]],["sitx","application/x-stuffitx"],["skd","application/x-koan"],["skm","application/x-koan"],["skp",["application/vnd.koan","application/x-koan"]],["skt","application/x-koan"],["sl","application/x-seelogo"],["sldm","application/vnd.ms-powerpoint.slide.macroenabled.12"],["sldx","application/vnd.openxmlformats-officedocument.presentationml.slide"],["slt","application/vnd.epson.salt"],["sm","application/vnd.stepmania.stepchart"],["smf","application/vnd.stardivision.math"],["smi",["application/smil","application/smil+xml"]],["smil","application/smil"],["snd",["audio/basic","audio/x-adpcm"]],["snf","application/x-font-snf"],["sol","application/solids"],["spc",["text/x-speech","application/x-pkcs7-certificates"]],["spf","application/vnd.yamaha.smaf-phrase"],["spl",["application/futuresplash","application/x-futuresplash"]],["spot","text/vnd.in3d.spot"],["spp","application/scvp-vp-response"],["spq","application/scvp-vp-request"],["spr","application/x-sprite"],["sprite","application/x-sprite"],["src","application/x-wais-source"],["sru","application/sru+xml"],["srx","application/sparql-results+xml"],["sse","application/vnd.kodak-descriptor"],["ssf","application/vnd.epson.ssf"],["ssi","text/x-server-parsed-html"],["ssm","application/streamingmedia"],["ssml","application/ssml+xml"],["sst",["application/vnd.ms-pkicertstore","application/vnd.ms-pki.certstore"]],["st","application/vnd.sailingtracker.track"],["stc","application/vnd.sun.xml.calc.template"],["std","application/vnd.sun.xml.draw.template"],["step","application/step"],["stf","application/vnd.wt.stf"],["sti","application/vnd.sun.xml.impress.template"],["stk","application/hyperstudio"],["stl",["application/vnd.ms-pkistl","application/sla","application/vnd.ms-pki.stl","application/x-navistyle"]],["stm","text/html"],["stp","application/step"],["str","application/vnd.pg.format"],["stw","application/vnd.sun.xml.writer.template"],["sub","image/vnd.dvb.subtitle"],["sus","application/vnd.sus-calendar"],["sv4cpio","application/x-sv4cpio"],["sv4crc","application/x-sv4crc"],["svc","application/vnd.dvb.service"],["svd","application/vnd.svd"],["svf",["image/vnd.dwg","image/x-dwg"]],["svg","image/svg+xml"],["svr",["x-world/x-svr","application/x-world"]],["swf","application/x-shockwave-flash"],["swi","application/vnd.aristanetworks.swi"],["sxc","application/vnd.sun.xml.calc"],["sxd","application/vnd.sun.xml.draw"],["sxg","application/vnd.sun.xml.writer.global"],["sxi","application/vnd.sun.xml.impress"],["sxm","application/vnd.sun.xml.math"],["sxw","application/vnd.sun.xml.writer"],["t",["text/troff","application/x-troff"]],["talk","text/x-speech"],["tao","application/vnd.tao.intent-module-archive"],["tar","application/x-tar"],["tbk",["application/toolbook","application/x-tbook"]],["tcap","application/vnd.3gpp2.tcap"],["tcl",["text/x-script.tcl","application/x-tcl"]],["tcsh","text/x-script.tcsh"],["teacher","application/vnd.smart.teacher"],["tei","application/tei+xml"],["tex","application/x-tex"],["texi","application/x-texinfo"],["texinfo","application/x-texinfo"],["text",["application/plain","text/plain"]],["tfi","application/thraud+xml"],["tfm","application/x-tex-tfm"],["tgz",["application/gnutar","application/x-compressed"]],["thmx","application/vnd.ms-officetheme"],["tif",["image/tiff","image/x-tiff"]],["tiff",["image/tiff","image/x-tiff"]],["tmo","application/vnd.tmobile-livetv"],["torrent","application/x-bittorrent"],["tpl","application/vnd.groove-tool-template"],["tpt","application/vnd.trid.tpt"],["tr","application/x-troff"],["tra","application/vnd.trueapp"],["trm","application/x-msterminal"],["tsd","application/timestamped-data"],["tsi","audio/tsp-audio"],["tsp",["application/dsptype","audio/tsplayer"]],["tsv","text/tab-separated-values"],["ttf","application/x-font-ttf"],["ttl","text/turtle"],["turbot","image/florian"],["twd","application/vnd.simtech-mindmapper"],["txd","application/vnd.genomatix.tuxedo"],["txf","application/vnd.mobius.txf"],["txt","text/plain"],["ufd","application/vnd.ufdl"],["uil","text/x-uil"],["uls","text/iuls"],["umj","application/vnd.umajin"],["uni","text/uri-list"],["unis","text/uri-list"],["unityweb","application/vnd.unity"],["unv","application/i-deas"],["uoml","application/vnd.uoml+xml"],["uri","text/uri-list"],["uris","text/uri-list"],["ustar",["application/x-ustar","multipart/x-ustar"]],["utz","application/vnd.uiq.theme"],["uu",["application/octet-stream","text/x-uuencode"]],["uue","text/x-uuencode"],["uva","audio/vnd.dece.audio"],["uvh","video/vnd.dece.hd"],["uvi","image/vnd.dece.graphic"],["uvm","video/vnd.dece.mobile"],["uvp","video/vnd.dece.pd"],["uvs","video/vnd.dece.sd"],["uvu","video/vnd.uvvu.mp4"],["uvv","video/vnd.dece.video"],["vcd","application/x-cdlink"],["vcf","text/x-vcard"],["vcg","application/vnd.groove-vcard"],["vcs","text/x-vcalendar"],["vcx","application/vnd.vcx"],["vda","application/vda"],["vdo","video/vdo"],["vew","application/groupwise"],["vis","application/vnd.visionary"],["viv",["video/vivo","video/vnd.vivo"]],["vivo",["video/vivo","video/vnd.vivo"]],["vmd","application/vocaltec-media-desc"],["vmf","application/vocaltec-media-file"],["voc",["audio/voc","audio/x-voc"]],["vos","video/vosaic"],["vox","audio/voxware"],["vqe","audio/x-twinvq-plugin"],["vqf","audio/x-twinvq"],["vql","audio/x-twinvq-plugin"],["vrml",["model/vrml","x-world/x-vrml","application/x-vrml"]],["vrt","x-world/x-vrt"],["vsd",["application/vnd.visio","application/x-visio"]],["vsf","application/vnd.vsf"],["vst","application/x-visio"],["vsw","application/x-visio"],["vtu","model/vnd.vtu"],["vxml","application/voicexml+xml"],["w60","application/wordperfect6.0"],["w61","application/wordperfect6.1"],["w6w","application/msword"],["wad","application/x-doom"],["wav",["audio/wav","audio/x-wav"]],["wax","audio/x-ms-wax"],["wb1","application/x-qpro"],["wbmp","image/vnd.wap.wbmp"],["wbs","application/vnd.criticaltools.wbs+xml"],["wbxml","application/vnd.wap.wbxml"],["wcm","application/vnd.ms-works"],["wdb","application/vnd.ms-works"],["web","application/vnd.xara"],["weba","audio/webm"],["webm","video/webm"],["webp","image/webp"],["wg","application/vnd.pmi.widget"],["wgt","application/widget"],["wiz","application/msword"],["wk1","application/x-123"],["wks","application/vnd.ms-works"],["wm","video/x-ms-wm"],["wma","audio/x-ms-wma"],["wmd","application/x-ms-wmd"],["wmf",["windows/metafile","application/x-msmetafile"]],["wml","text/vnd.wap.wml"],["wmlc","application/vnd.wap.wmlc"],["wmls","text/vnd.wap.wmlscript"],["wmlsc","application/vnd.wap.wmlscriptc"],["wmv","video/x-ms-wmv"],["wmx","video/x-ms-wmx"],["wmz","application/x-ms-wmz"],["woff","application/x-font-woff"],["word","application/msword"],["wp","application/wordperfect"],["wp5",["application/wordperfect","application/wordperfect6.0"]],["wp6","application/wordperfect"],["wpd",["application/wordperfect","application/vnd.wordperfect","application/x-wpwin"]],["wpl","application/vnd.ms-wpl"],["wps","application/vnd.ms-works"],["wq1","application/x-lotus"],["wqd","application/vnd.wqd"],["wri",["application/mswrite","application/x-wri","application/x-mswrite"]],["wrl",["model/vrml","x-world/x-vrml","application/x-world"]],["wrz",["model/vrml","x-world/x-vrml"]],["wsc","text/scriplet"],["wsdl","application/wsdl+xml"],["wspolicy","application/wspolicy+xml"],["wsrc","application/x-wais-source"],["wtb","application/vnd.webturbo"],["wtk","application/x-wintalk"],["wvx","video/x-ms-wvx"],["x-png","image/png"],["x3d","application/vnd.hzn-3d-crossword"],["xaf","x-world/x-vrml"],["xap","application/x-silverlight-app"],["xar","application/vnd.xara"],["xbap","application/x-ms-xbap"],["xbd","application/vnd.fujixerox.docuworks.binder"],["xbm",["image/xbm","image/x-xbm","image/x-xbitmap"]],["xdf","application/xcap-diff+xml"],["xdm","application/vnd.syncml.dm+xml"],["xdp","application/vnd.adobe.xdp+xml"],["xdr","video/x-amt-demorun"],["xdssc","application/dssc+xml"],["xdw","application/vnd.fujixerox.docuworks"],["xenc","application/xenc+xml"],["xer","application/patch-ops-error+xml"],["xfdf","application/vnd.adobe.xfdf"],["xfdl","application/vnd.xfdl"],["xgz","xgl/drawing"],["xhtml","application/xhtml+xml"],["xif","image/vnd.xiff"],["xl","application/excel"],["xla",["application/vnd.ms-excel","application/excel","application/x-msexcel","application/x-excel"]],["xlam","application/vnd.ms-excel.addin.macroenabled.12"],["xlb",["application/excel","application/vnd.ms-excel","application/x-excel"]],["xlc",["application/vnd.ms-excel","application/excel","application/x-excel"]],["xld",["application/excel","application/x-excel"]],["xlk",["application/excel","application/x-excel"]],["xll",["application/excel","application/vnd.ms-excel","application/x-excel"]],["xlm",["application/vnd.ms-excel","application/excel","application/x-excel"]],["xls",["application/vnd.ms-excel","application/excel","application/x-msexcel","application/x-excel"]],["xlsb","application/vnd.ms-excel.sheet.binary.macroenabled.12"],["xlsm","application/vnd.ms-excel.sheet.macroenabled.12"],["xlsx","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"],["xlt",["application/vnd.ms-excel","application/excel","application/x-excel"]],["xltm","application/vnd.ms-excel.template.macroenabled.12"],["xltx","application/vnd.openxmlformats-officedocument.spreadsheetml.template"],["xlv",["application/excel","application/x-excel"]],["xlw",["application/vnd.ms-excel","application/excel","application/x-msexcel","application/x-excel"]],["xm","audio/xm"],["xml",["application/xml","text/xml","application/atom+xml","application/rss+xml"]],["xmz","xgl/movie"],["xo","application/vnd.olpc-sugar"],["xof","x-world/x-vrml"],["xop","application/xop+xml"],["xpi","application/x-xpinstall"],["xpix","application/x-vnd.ls-xpix"],["xpm",["image/xpm","image/x-xpixmap"]],["xpr","application/vnd.is-xpr"],["xps","application/vnd.ms-xpsdocument"],["xpw","application/vnd.intercon.formnet"],["xslt","application/xslt+xml"],["xsm","application/vnd.syncml+xml"],["xspf","application/xspf+xml"],["xsr","video/x-amt-showrun"],["xul","application/vnd.mozilla.xul+xml"],["xwd",["image/x-xwd","image/x-xwindowdump"]],["xyz",["chemical/x-xyz","chemical/x-pdb"]],["yang","application/yang"],["yin","application/yin+xml"],["z",["application/x-compressed","application/x-compress"]],["zaz","application/vnd.zzazz.deck+xml"],["zip",["application/zip","multipart/x-zip","application/x-zip-compressed","application/x-compressed"]],["zir","application/vnd.zul"],["zmm","application/vnd.handheld-entertainment+xml"],["zoo","application/octet-stream"],["zsh","text/x-script.zsh"]]);return mimeTypes_1={detectMimeType(filename){if(!filename)return"application/octet-stream";let parsed=path.parse(filename),extension=(parsed.ext.substr(1)||parsed.name||"").split("?").shift().trim().toLowerCase(),value="application/octet-stream";return extensions.has(extension)&&(value=extensions.get(extension)),Array.isArray(value)?value[0]:value},detectExtension(mimeType){if(!mimeType)return"bin";let parts=(mimeType||"").toLowerCase().trim().split("/"),rootType=parts.shift().trim(),subType=parts.join("/").trim();if(mimeTypes.has(rootType+"/"+subType)){let value=mimeTypes.get(rootType+"/"+subType);return Array.isArray(value)?value[0]:value}return"text"===rootType?"txt":"bin"}}}function requirePunycode(){if(hasRequiredPunycode)return punycode_1;hasRequiredPunycode=1;const maxInt=2147483647,regexPunycode=/^xn--/,regexNonASCII=/[^\0-\x7F]/,regexSeparators=/[\x2E\u3002\uFF0E\uFF61]/g,errors={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},floor=Math.floor,stringFromCharCode=String.fromCharCode;function error(type){throw new RangeError(errors[type])}function mapDomain(domain,callback){const parts=domain.split("@");let result="";parts.length>1&&(result=parts[0]+"@",domain=parts[1]);const encoded=function map(array,callback){const result=[];let length=array.length;for(;length--;)result[length]=callback(array[length]);return result}((domain=domain.replace(regexSeparators,".")).split("."),callback).join(".");return result+encoded}function ucs2decode(string){const output=[];let counter=0;const length=string.length;for(;counter<length;){const value=string.charCodeAt(counter++);if(value>=55296&&value<=56319&&counter<length){const extra=string.charCodeAt(counter++);56320==(64512&extra)?output.push(((1023&value)<<10)+(1023&extra)+65536):(output.push(value),counter--)}else output.push(value)}return output}const digitToBasic=function(digit,flag){return digit+22+75*(digit<26)-((0!=flag)<<5)},adapt=function(delta,numPoints,firstTime){let k=0;for(delta=firstTime?floor(delta/700):delta>>1,delta+=floor(delta/numPoints);delta>455;k+=36)delta=floor(delta/35);return floor(k+36*delta/(delta+38))},decode=function(input){const output=[],inputLength=input.length;let i=0,n=128,bias=72,basic=input.lastIndexOf("-");basic<0&&(basic=0);for(let j=0;j<basic;++j)input.charCodeAt(j)>=128&&error("not-basic"),output.push(input.charCodeAt(j));for(let index=basic>0?basic+1:0;index<inputLength;){const oldi=i;for(let w=1,k=36;;k+=36){index>=inputLength&&error("invalid-input");const digit=(codePoint=input.charCodeAt(index++))>=48&&codePoint<58?codePoint-48+26:codePoint>=65&&codePoint<91?codePoint-65:codePoint>=97&&codePoint<123?codePoint-97:36;digit>=36&&error("invalid-input"),digit>floor((maxInt-i)/w)&&error("overflow"),i+=digit*w;const t=k<=bias?1:k>=bias+26?26:k-bias;if(digit<t)break;const baseMinusT=36-t;w>floor(maxInt/baseMinusT)&&error("overflow"),w*=baseMinusT}const out=output.length+1;bias=adapt(i-oldi,out,0==oldi),floor(i/out)>maxInt-n&&error("overflow"),n+=floor(i/out),i%=out,output.splice(i++,0,n)}var codePoint;return String.fromCodePoint(...output)},encode=function(input){const output=[],inputLength=(input=ucs2decode(input)).length;let n=128,delta=0,bias=72;for(const currentValue of input)currentValue<128&&output.push(stringFromCharCode(currentValue));const basicLength=output.length;let handledCPCount=basicLength;for(basicLength&&output.push("-");handledCPCount<inputLength;){let m=maxInt;for(const currentValue of input)currentValue>=n&¤tValue<m&&(m=currentValue);const handledCPCountPlusOne=handledCPCount+1;m-n>floor((maxInt-delta)/handledCPCountPlusOne)&&error("overflow"),delta+=(m-n)*handledCPCountPlusOne,n=m;for(const currentValue of input)if(currentValue<n&&++delta>maxInt&&error("overflow"),currentValue===n){let q=delta;for(let k=36;;k+=36){const t=k<=bias?1:k>=bias+26?26:k-bias;if(q<t)break;const qMinusT=q-t,baseMinusT=36-t;output.push(stringFromCharCode(digitToBasic(t+qMinusT%baseMinusT,0))),q=floor(qMinusT/baseMinusT)}output.push(stringFromCharCode(digitToBasic(q,0))),bias=adapt(delta,handledCPCountPlusOne,handledCPCount===basicLength),delta=0,++handledCPCount}++delta,++n}return output.join("")};return punycode_1={version:"2.3.1",ucs2:{decode:ucs2decode,encode:codePoints=>String.fromCodePoint(...codePoints)},decode:decode,encode:encode,toASCII:function(input){return mapDomain(input,(function(string){return regexNonASCII.test(string)?"xn--"+encode(string):string}))},toUnicode:function(input){return mapDomain(input,(function(string){return regexPunycode.test(string)?decode(string.slice(4).toLowerCase()):string}))}}}function requireBase64(){if(hasRequiredBase64)return base64;hasRequiredBase64=1;const Transform=require$$0__default$2.default.Transform;function encode(buffer){return"string"==typeof buffer&&(buffer=Buffer.from(buffer,"utf-8")),buffer.toString("base64")}function wrap(str,lineLength){if(lineLength=lineLength||76,(str=(str||"").toString()).length<=lineLength)return str;let result=[],pos=0,chunkLength=1024*lineLength;for(;pos<str.length;){let wrappedLines=str.substr(pos,chunkLength).replace(new RegExp(".{"+lineLength+"}","g"),"$&\r\n").trim();result.push(wrappedLines),pos+=chunkLength}return result.join("\r\n").trim()}return base64={encode:encode,wrap:wrap,Encoder:class Encoder extends Transform{constructor(options){super(),this.options=options||{},!1!==this.options.lineLength&&(this.options.lineLength=this.options.lineLength||76),this._curLine="",this._remainingBytes=!1,this.inputBytes=0,this.outputBytes=0}_transform(chunk,encoding,done){if("buffer"!==encoding&&(chunk=Buffer.from(chunk,encoding)),!chunk||!chunk.length)return setImmediate(done);this.inputBytes+=chunk.length,this._remainingBytes&&this._remainingBytes.length&&(chunk=Buffer.concat([this._remainingBytes,chunk],this._remainingBytes.length+chunk.length),this._remainingBytes=!1),chunk.length%3?(this._remainingBytes=chunk.slice(chunk.length-chunk.length%3),chunk=chunk.slice(0,chunk.length-chunk.length%3)):this._remainingBytes=!1;let b64=this._curLine+encode(chunk);if(this.options.lineLength){b64=wrap(b64,this.options.lineLength);let lastLF=b64.lastIndexOf("\n");lastLF<0?(this._curLine=b64,b64=""):lastLF===b64.length-1?this._curLine="":(this._curLine=b64.substr(lastLF+1),b64=b64.substr(0,lastLF+1))}b64&&(this.outputBytes+=b64.length,this.push(Buffer.from(b64,"ascii"))),setImmediate(done)}_flush(done){this._remainingBytes&&this._remainingBytes.length&&(this._curLine+=encode(this._remainingBytes)),this._curLine&&(this._curLine=wrap(this._curLine,this.options.lineLength),this.outputBytes+=this._curLine.length,this.push(this._curLine,"ascii"),this._curLine=""),done()}}}}function requireQp(){if(hasRequiredQp)return qp;hasRequiredQp=1;const Transform=require$$0__default$2.default.Transform;function encode(buffer){"string"==typeof buffer&&(buffer=Buffer.from(buffer,"utf-8"));let ord,ranges=[[9],[10],[13],[32,60],[62,126]],result="";for(let i=0,len=buffer.length;i<len;i++)ord=buffer[i],checkRanges(ord,ranges)&&(32!==ord&&9!==ord||i!==len-1&&10!==buffer[i+1]&&13!==buffer[i+1])?result+=String.fromCharCode(ord):result+="="+(ord<16?"0":"")+ord.toString(16).toUpperCase();return result}function wrap(str,lineLength){if(lineLength=lineLength||76,(str=(str||"").toString()).length<=lineLength)return str;let match,code,line,pos=0,len=str.length,lineMargin=Math.floor(lineLength/3),result="";for(;pos<len;)if(line=str.substr(pos,lineLength),match=line.match(/\r\n/))line=line.substr(0,match.index+match[0].length),result+=line,pos+=line.length;else if("\n"!==line.substr(-1))if(match=line.substr(-lineMargin).match(/\n.*?$/))line=line.substr(0,line.length-(match[0].length-1)),result+=line,pos+=line.length;else{if(line.length>lineLength-lineMargin&&(match=line.substr(-lineMargin).match(/[ \t.,!?][^ \t.,!?]*$/)))line=line.substr(0,line.length-(match[0].length-1));else if(line.match(/[=][\da-f]{0,2}$/i))for((match=line.match(/[=][\da-f]{0,1}$/i))&&(line=line.substr(0,line.length-match[0].length));line.length>3&&line.length<len-pos&&!line.match(/^(?:=[\da-f]{2}){1,4}$/i)&&(match=line.match(/[=][\da-f]{2}$/gi))&&(code=parseInt(match[0].substr(1,2),16),!(code<128))&&(line=line.substr(0,line.length-3),!(code>=192)););pos+line.length<len&&"\n"!==line.substr(-1)?(line.length===lineLength&&line.match(/[=][\da-f]{2}$/i)?line=line.substr(0,line.length-3):line.length===lineLength&&(line=line.substr(0,line.length-1)),pos+=line.length,line+="=\r\n"):pos+=line.length,result+=line}else result+=line,pos+=line.length;return result}function checkRanges(nr,ranges){for(let i=ranges.length-1;i>=0;i--)if(ranges[i].length){if(1===ranges[i].length&&nr===ranges[i][0])return!0;if(2===ranges[i].length&&nr>=ranges[i][0]&&nr<=ranges[i][1])return!0}return!1}return qp={encode:encode,wrap:wrap,Encoder:class Encoder extends Transform{constructor(options){super(),this.options=options||{},!1!==this.options.lineLength&&(this.options.lineLength=this.options.lineLength||76),this._curLine="",this.inputBytes=0,this.outputBytes=0}_transform(chunk,encoding,done){let qp;if("buffer"!==encoding&&(chunk=Buffer.from(chunk,encoding)),!chunk||!chunk.length)return done();this.inputBytes+=chunk.length,this.options.lineLength?(qp=this._curLine+encode(chunk),qp=wrap(qp,this.options.lineLength),qp=qp.replace(/(^|\n)([^\n]*)$/,((match,lineBreak,lastLine)=>(this._curLine=lastLine,lineBreak))),qp&&(this.outputBytes+=qp.length,this.push(qp))):(qp=encode(chunk),this.outputBytes+=qp.length,this.push(qp,"ascii")),done()}_flush(done){this._curLine&&(this.outputBytes+=this._curLine.length,this.push(this._curLine,"ascii")),done()}}}}function requireMimeFuncs(){if(hasRequiredMimeFuncs)return mimeFuncs;hasRequiredMimeFuncs=1;const base64=requireBase64(),qp=requireQp(),mimeTypes=requireMimeTypes();return mimeFuncs={isPlainText:(value,isParam)=>"string"==typeof value&&!(isParam?/[\x00-\x08\x0b\x0c\x0e-\x1f"\u0080-\uFFFF]/:/[\x00-\x08\x0b\x0c\x0e-\x1f\u0080-\uFFFF]/).test(value),hasLongerLines:(str,lineLength)=>str.length>131072||new RegExp("^.{"+(lineLength+1)+",}","m").test(str),encodeWord(data,mimeWordEncoding,maxLength){let encodedStr;if((maxLength=maxLength||0)&&maxLength>12&&(maxLength-=12),"Q"===(mimeWordEncoding=(mimeWordEncoding||"Q").toString().toUpperCase().trim().charAt(0))?encodedStr=qp.encode(data).replace(/[^a-z0-9!*+\-/=]/gi,(chr=>{let ord=chr.charCodeAt(0).toString(16).toUpperCase();return" "===chr?"_":"="+(1===ord.length?"0"+ord:ord)})):"B"===mimeWordEncoding&&(encodedStr="string"==typeof data?data:base64.encode(data),maxLength=maxLength?Math.max(3,(maxLength-maxLength%4)/4*3):0),maxLength&&("B"!==mimeWordEncoding?encodedStr:base64.encode(data)).length>maxLength)if("Q"===mimeWordEncoding)encodedStr=this.splitMimeEncodedString(encodedStr,maxLength).join("?= =?UTF-8?"+mimeWordEncoding+"?");else{let parts=[],lpart="";for(let i=0,len=encodedStr.length;i<len;i++){let chr=encodedStr.charAt(i);/[\ud83c\ud83d\ud83e]/.test(chr)&&i<len-1&&(chr+=encodedStr.charAt(++i)),Buffer.byteLength(lpart+chr)<=maxLength||0===i?lpart+=chr:(parts.push(base64.encode(lpart)),lpart=chr)}lpart&&parts.push(base64.encode(lpart)),encodedStr=parts.length>1?parts.join("?= =?UTF-8?"+mimeWordEncoding+"?"):parts.join("")}else"B"===mimeWordEncoding&&(encodedStr=base64.encode(data));return"=?UTF-8?"+mimeWordEncoding+"?"+encodedStr+("?="===encodedStr.substr(-2)?"":"?=")},encodeWords(value,mimeWordEncoding,maxLength,encodeAll){let encodedValue;maxLength=maxLength||0;let firstMatch=value.match(/(?:^|\s)([^\s]*["\u0080-\uFFFF])/);if(!firstMatch)return value;if(encodeAll)return this.encodeWord(value,mimeWordEncoding,maxLength);let lastMatch=value.match(/(["\u0080-\uFFFF][^\s]*)[^"\u0080-\uFFFF]*$/);if(!lastMatch)return value;let startIndex=firstMatch.index+(firstMatch[0].match(/[^\s]/)||{index:0}).index,endIndex=lastMatch.index+(lastMatch[1]||"").length;return encodedValue=(startIndex?value.substr(0,startIndex):"")+this.encodeWord(value.substring(startIndex,endIndex),mimeWordEncoding||"Q",maxLength)+(endIndex<value.length?value.substr(endIndex):""),encodedValue},buildHeaderValue(structured){let paramsArray=[];return Object.keys(structured.params||{}).forEach((param=>{let value=structured.params[param];!this.isPlainText(value,!0)||value.length>=75?this.buildHeaderParam(param,value,50).forEach((encodedParam=>{/[\s"\\;:/=(),<>@[\]?]|^[-']|'$/.test(encodedParam.value)&&"*"!==encodedParam.key.substr(-1)?paramsArray.push(encodedParam.key+"="+JSON.stringify(encodedParam.value)):paramsArray.push(encodedParam.key+"="+encodedParam.value)})):/[\s'"\\;:/=(),<>@[\]?]|^-/.test(value)?paramsArray.push(param+"="+JSON.stringify(value)):paramsArray.push(param+"="+value)})),structured.value+(paramsArray.length?"; "+paramsArray.join("; "):"")},buildHeaderParam(key,data,maxLength){let encodedStrArr,chr,ord,line,i,len,list=[],encodedStr="string"==typeof data?data:(data||"").toString(),startPos=0;if(maxLength=maxLength||50,this.isPlainText(data,!0)){if(encodedStr.length<=maxLength)return[{key:key,value:encodedStr}];encodedStr=encodedStr.replace(new RegExp(".{"+maxLength+"}","g"),(str=>(list.push({line:str}),""))),encodedStr&&list.push({line:encodedStr})}else{if(/[\uD800-\uDBFF]/.test(encodedStr)){for(encodedStrArr=[],i=0,len=encodedStr.length;i<len;i++)chr=encodedStr.charAt(i),ord=chr.charCodeAt(0),ord>=55296&&ord<=56319&&i<len-1?(chr+=encodedStr.charAt(i+1),encodedStrArr.push(chr),i++):encodedStrArr.push(chr);encodedStr=encodedStrArr}line="utf-8''";let encoded=!0;for(startPos=0,i=0,len=encodedStr.length;i<len;i++){if(chr=encodedStr[i],encoded)chr=this.safeEncodeURIComponent(chr);else if(chr=" "===chr?chr:this.safeEncodeURIComponent(chr),chr!==encodedStr[i]){if(!((this.safeEncodeURIComponent(line)+chr).length>=maxLength)){encoded=!0,i=startPos,line="";continue}list.push({line:line,encoded:encoded}),line="",startPos=i-1}(line+chr).length>=maxLength?(list.push({line:line,encoded:encoded}),line=chr=" "===encodedStr[i]?" ":this.safeEncodeURIComponent(encodedStr[i]),chr===encodedStr[i]?(encoded=!1,startPos=i-1):encoded=!0):line+=chr}line&&list.push({line:line,encoded:encoded})}return list.map(((item,i)=>({key:key+"*"+i+(item.encoded?"*":""),value:item.line})))},parseHeaderValue(str){let chr,response={value:!1,params:{}},key=!1,value="",type="value",quote=!1,escaped=!1;for(let i=0,len=str.length;i<len;i++)if(chr=str.charAt(i),"key"===type){if("="===chr){key=value.trim().toLowerCase(),type="value",value="";continue}value+=chr}else{if(escaped)value+=chr;else{if("\\"===chr){escaped=!0;continue}quote&&chr===quote?quote=!1:quote||'"'!==chr?quote||";"!==chr?value+=chr:(!1===key?response.value=value.trim():response.params[key]=value.trim(),type="key",value=""):quote=chr}escaped=!1}return"value"===type?!1===key?response.value=value.trim():response.params[key]=value.trim():value.trim()&&(response.params[value.trim().toLowerCase()]=""),Object.keys(response.params).forEach((key=>{let actualKey,nr,match,value;(match=key.match(/(\*(\d+)|\*(\d+)\*|\*)$/))&&(actualKey=key.substr(0,match.index),nr=Number(match[2]||match[3])||0,response.params[actualKey]&&"object"==typeof response.params[actualKey]||(response.params[actualKey]={charset:!1,values:[]}),value=response.params[key],0===nr&&"*"===match[0].substr(-1)&&(match=value.match(/^([^']*)'[^']*'(.*)$/))&&(response.params[actualKey].charset=match[1]||"iso-8859-1",value=match[2]),response.params[actualKey].values[nr]=value,delete response.params[key])})),Object.keys(response.params).forEach((key=>{let value;response.params[key]&&Array.isArray(response.params[key].values)&&(value=response.params[key].values.map((val=>val||"")).join(""),response.params[key].charset?response.params[key]="=?"+response.params[key].charset+"?Q?"+value.replace(/[=?_\s]/g,(s=>{let c=s.charCodeAt(0).toString(16);return" "===s?"_":"%"+(c.length<2?"0":"")+c})).replace(/%/g,"=")+"?=":response.params[key]=value)})),response},detectExtension:mimeType=>mimeTypes.detectExtension(mimeType),detectMimeType:extension=>mimeTypes.detectMimeType(extension),foldLines(str,lineLength,afterSpace){lineLength=lineLength||76;let line,match,pos=0,len=(str=(str||"").toString()).length,result="";for(;pos<len;){if(line=str.substr(pos,lineLength),line.length<lineLength){result+=line;break}(match=line.match(/^[^\n\r]*(\r?\n|\r)/))?(line=match[0],result+=line,pos+=line.length):((match=line.match(/(\s+)[^\s]*$/))&&match[0].length-(afterSpace?(match[1]||"").length:0)<line.length?line=line.substr(0,line.length-(match[0].length-(afterSpace?(match[1]||"").length:0))):(match=str.substr(pos+line.length).match(/^[^\s]+(\s*)/))&&(line+=match[0].substr(0,match[0].length-(afterSpace?0:(match[1]||"").length))),result+=line,pos+=line.length,pos<len&&(result+="\r\n"))}return result},splitMimeEncodedString:(str,maxlen)=>{let curLine,match,chr,done,lines=[];for(maxlen=Math.max(maxlen||0,12);str.length;){for(curLine=str.substr(0,maxlen),(match=curLine.match(/[=][0-9A-F]?$/i))&&(curLine=curLine.substr(0,match.index)),done=!1;!done;)done=!0,(match=str.substr(curLine.length).match(/^[=]([0-9A-F]{2})/i))&&(chr=parseInt(match[1],16),chr<194&&chr>127&&(curLine=curLine.substr(0,curLine.length-3),done=!1));curLine.length&&lines.push(curLine),str=str.substr(curLine.length)}return lines},encodeURICharComponent:chr=>{let res="",ord=chr.charCodeAt(0).toString(16).toUpperCase();if(ord.length%2&&(ord="0"+ord),ord.length>2)for(let i=0,len=ord.length/2;i<len;i++)res+="%"+ord.substr(i,2);else res+="%"+ord;return res},safeEncodeURIComponent(str){str=(str||"").toString();try{str=encodeURIComponent(str)}catch(E){return str.replace(/[^\x00-\x1F *'()<>@,;:\\"[\]?=\u007F-\uFFFF]+/g,"")}return str.replace(/[\x00-\x1F *'()<>@,;:\\"[\]?=\u007F-\uFFFF]/g,(chr=>this.encodeURICharComponent(chr)))}},mimeFuncs}function requireAddressparser(){if(hasRequiredAddressparser)return addressparser_1;hasRequiredAddressparser=1;class Tokenizer{constructor(str){this.str=(str||"").toString(),this.operatorCurrent="",this.operatorExpecting="",this.node=null,this.escaped=!1,this.list=[],this.operators={'"':'"',"(":")","<":">",",":"",":":";",";":""}}tokenize(){let chr,list=[];for(let i=0,len=this.str.length;i<len;i++)chr=this.str.charAt(i),this.checkChar(chr);return this.list.forEach((node=>{node.value=(node.value||"").toString().trim(),node.value&&list.push(node)})),list}checkChar(chr){if(this.escaped);else{if(chr===this.operatorExpecting)return this.node={type:"operator",value:chr},this.list.push(this.node),this.node=null,this.operatorExpecting="",void(this.escaped=!1);if(!this.operatorExpecting&&chr in this.operators)return this.node={type:"operator",value:chr},this.list.push(this.node),this.node=null,this.operatorExpecting=this.operators[chr],void(this.escaped=!1);if(['"',"'"].includes(this.operatorExpecting)&&"\\"===chr)return void(this.escaped=!0)}this.node||(this.node={type:"text",value:""},this.list.push(this.node)),"\n"===chr&&(chr=" "),(chr.charCodeAt(0)>=33||[" ","\t"].includes(chr))&&(this.node.value+=chr),this.escaped=!1}}function addressparser(str,options){options=options||{};let tokens=new Tokenizer(str).tokenize(),addresses=[],address=[],parsedAddresses=[];if(tokens.forEach((token=>{"operator"!==token.type||","!==token.value&&";"!==token.value?address.push(token):(address.length&&addresses.push(address),address=[])})),address.length&&addresses.push(address),addresses.forEach((address=>{address=function _handleAddress(tokens){let token,address,i,len,isGroup=!1,state="text",addresses=[],data={address:[],comment:[],group:[],text:[]};for(i=0,len=tokens.length;i<len;i++)if(token=tokens[i],"operator"===token.type)switch(token.value){case"<":state="address";break;case"(":state="comment";break;case":":state="group",isGroup=!0;break;default:state="text"}else token.value&&("address"===state&&(token.value=token.value.replace(/^[^<]*<\s*/,"")),data[state].push(token.value));if(!data.text.length&&data.comment.length&&(data.text=data.comment,data.comment=[]),isGroup)data.text=data.text.join(" "),addresses.push({name:data.text||address&&address.name,group:data.group.length?addressparser(data.group.join(",")):[]});else{if(!data.address.length&&data.text.length){for(i=data.text.length-1;i>=0;i--)if(data.text[i].match(/^[^@\s]+@[^@\s]+$/)){data.address=data.text.splice(i,1);break}let _regexHandler=function(address){return data.address.length?address:(data.address=[address.trim()]," ")};if(!data.address.length)for(i=data.text.length-1;i>=0&&(data.text[i]=data.text[i].replace(/\s*\b[^@\s]+@[^\s]+\b\s*/,_regexHandler).trim(),!data.address.length);i--);}if(!data.text.length&&data.comment.length&&(data.text=data.comment,data.comment=[]),data.address.length>1&&(data.text=data.text.concat(data.address.splice(1))),data.text=data.text.join(" "),data.address=data.address.join(" "),!data.address&&isGroup)return[];address={address:data.address||data.text||"",name:data.text||data.address||""},address.address===address.name&&((address.address||"").match(/@/)?address.name="":address.address=""),addresses.push(address)}return addresses}(address),address.length&&(parsedAddresses=parsedAddresses.concat(address))})),options.flatten){let addresses=[],walkAddressList=list=>{list.forEach((address=>{if(address.group)return walkAddressList(address.group);addresses.push(address)}))};return walkAddressList(parsedAddresses),addresses}return parsedAddresses}return addressparser_1=addressparser}function requireLeWindows(){if(hasRequiredLeWindows)return leWindows;hasRequiredLeWindows=1;const Transform=require$$0__default$2.default.Transform;return leWindows=class LeWindows extends Transform{constructor(options){super(options),this.options=options||{},this.lastByte=!1}_transform(chunk,encoding,done){let buf,lastPos=0;for(let i=0,len=chunk.length;i<len;i++)10===chunk[i]&&(i&&13!==chunk[i-1]||!i&&13!==this.lastByte)&&(i>lastPos&&(buf=chunk.slice(lastPos,i),this.push(buf)),this.push(Buffer.from("\r\n")),lastPos=i+1);lastPos&&lastPos<chunk.length?(buf=chunk.slice(lastPos),this.push(buf)):lastPos||this.push(chunk),this.lastByte=chunk[chunk.length-1],done()}}}function requireMimeNode(){if(hasRequiredMimeNode)return mimeNode;hasRequiredMimeNode=1;const crypto=require$$0__default$1.default,fs=fs__default.default,punycode=requirePunycode(),PassThrough=require$$0__default$2.default.PassThrough,shared=requireShared(),mimeFuncs=requireMimeFuncs(),qp=requireQp(),base64=requireBase64(),addressparser=requireAddressparser(),nmfetch=requireFetch(),LastNewline=function requireLastNewline(){if(hasRequiredLastNewline)return lastNewline;hasRequiredLastNewline=1;const Transform=require$$0__default$2.default.Transform;return lastNewline=class LastNewline extends Transform{constructor(){super(),this.lastByte=!1}_transform(chunk,encoding,done){chunk.length&&(this.lastByte=chunk[chunk.length-1]),this.push(chunk),done()}_flush(done){return 10===this.lastByte?done():13===this.lastByte?(this.push(Buffer.from("\n")),done()):(this.push(Buffer.from("\r\n")),done())}}}(),LeWindows=requireLeWindows(),LeUnix=function requireLeUnix(){if(hasRequiredLeUnix)return leUnix;hasRequiredLeUnix=1;const Transform=require$$0__default$2.default.Transform;return leUnix=class LeWindows extends Transform{constructor(options){super(options),this.options=options||{}}_transform(chunk,encoding,done){let buf,lastPos=0;for(let i=0,len=chunk.length;i<len;i++)13===chunk[i]&&(buf=chunk.slice(lastPos,i),lastPos=i+1,this.push(buf));lastPos&&lastPos<chunk.length?(buf=chunk.slice(lastPos),this.push(buf)):lastPos||this.push(chunk),done()}}}();class MimeNode{constructor(contentType,options){this.nodeCounter=0,options=options||{},this.baseBoundary=options.baseBoundary||crypto.randomBytes(8).toString("hex"),this.boundaryPrefix=options.boundaryPrefix||"--_NmP",this.disableFileAccess=!!options.disableFileAccess,this.disableUrlAccess=!!options.disableUrlAccess,this.normalizeHeaderKey=options.normalizeHeaderKey,this.date=new Date,this.rootNode=options.rootNode||this,this.keepBcc=!!options.keepBcc,options.filename&&(this.filename=options.filename,contentType||(contentType=mimeFuncs.detectMimeType(this.filename.split(".").pop()))),this.textEncoding=(options.textEncoding||"").toString().trim().charAt(0).toUpperCase(),this.parentNode=options.parentNode,this.hostname=options.hostname,this.newline=options.newline,this.childNodes=[],this._nodeId=++this.rootNode.nodeCounter,this._headers=[],this._isPlainText=!1,this._hasLongLines=!1,this._envelope=!1,this._raw=!1,this._transforms=[],this._processFuncs=[],contentType&&this.setHeader("Content-Type",contentType)}createChild(contentType,options){options||"object"!=typeof contentType||(options=contentType,contentType=void 0);let node=new MimeNode(contentType,options);return this.appendChild(node),node}appendChild(childNode){return childNode.rootNode!==this.rootNode&&(childNode.rootNode=this.rootNode,childNode._nodeId=++this.rootNode.nodeCounter),childNode.parentNode=this,this.childNodes.push(childNode),childNode}replace(node){return node===this?this:(this.parentNode.childNodes.forEach(((childNode,i)=>{childNode===this&&(node.rootNode=this.rootNode,node.parentNode=this.parentNode,node._nodeId=this._nodeId,this.rootNode=this,this.parentNode=void 0,node.parentNode.childNodes[i]=node)})),node)}remove(){if(!this.parentNode)return this;for(let i=this.parentNode.childNodes.length-1;i>=0;i--)if(this.parentNode.childNodes[i]===this)return this.parentNode.childNodes.splice(i,1),this.parentNode=void 0,this.rootNode=this,this}setHeader(key,value){let headerValue,added=!1;if(!value&&key&&"object"==typeof key)return key.key&&"value"in key?this.setHeader(key.key,key.value):Array.isArray(key)?key.forEach((i=>{this.setHeader(i.key,i.value)})):Object.keys(key).forEach((i=>{this.setHeader(i,key[i])})),this;headerValue={key:key=this._normalizeHeaderKey(key),value:value};for(let i=0,len=this._headers.length;i<len;i++)this._headers[i].key===key&&(added?(this._headers.splice(i,1),i--,len--):(this._headers[i]=headerValue,added=!0));return added||this._headers.push(headerValue),this}addHeader(key,value){return!value&&key&&"object"==typeof key?(key.key&&key.value?this.addHeader(key.key,key.value):Array.isArray(key)?key.forEach((i=>{this.addHeader(i.key,i.value)})):Object.keys(key).forEach((i=>{this.addHeader(i,key[i])})),this):Array.isArray(value)?(value.forEach((val=>{this.addHeader(key,val)})),this):(this._headers.push({key:this._normalizeHeaderKey(key),value:value}),this)}getHeader(key){key=this._normalizeHeaderKey(key);for(let i=0,len=this._headers.length;i<len;i++)if(this._headers[i].key===key)return this._headers[i].value}setContent(content){return this.content=content,"function"==typeof this.content.pipe?(this._contentErrorHandler=err=>{this.content.removeListener("error",this._contentErrorHandler),this.content=err},this.content.once("error",this._contentErrorHandler)):"string"==typeof this.content&&(this._isPlainText=mimeFuncs.isPlainText(this.content),this._isPlainText&&mimeFuncs.hasLongerLines(this.content,76)&&(this._hasLongLines=!0)),this}build(callback){let promise;callback||(promise=new Promise(((resolve,reject)=>{callback=shared.callbackPromise(resolve,reject)})));let stream=this.createReadStream(),buf=[],buflen=0,returned=!1;return stream.on("readable",(()=>{let chunk;for(;null!==(chunk=stream.read());)buf.push(chunk),buflen+=chunk.length})),stream.once("error",(err=>{if(!returned)return returned=!0,callback(err)})),stream.once("end",(chunk=>{if(!returned)return returned=!0,chunk&&chunk.length&&(buf.push(chunk),buflen+=chunk.length),callback(null,Buffer.concat(buf,buflen))})),promise}getTransferEncoding(){let transferEncoding=!1,contentType=(this.getHeader("Content-Type")||"").toString().toLowerCase().trim();return this.content&&(transferEncoding=(this.getHeader("Content-Transfer-Encoding")||"").toString().toLowerCase().trim(),transferEncoding&&["base64","quoted-printable"].includes(transferEncoding)||(/^text\//i.test(contentType)?transferEncoding=this._isPlainText&&!this._hasLongLines?"7bit":"string"==typeof this.content||this.content instanceof Buffer?"Q"===this._getTextEncoding(this.content)?"quoted-printable":"base64":"B"===this.textEncoding?"base64":"quoted-printable":/^(multipart|message)\//i.test(contentType)||(transferEncoding=transferEncoding||"base64"))),transferEncoding}buildHeaders(){let transferEncoding=this.getTransferEncoding(),headers=[];if(transferEncoding&&this.setHeader("Content-Transfer-Encoding",transferEncoding),this.filename&&!this.getHeader("Content-Disposition")&&this.setHeader("Content-Disposition","attachment"),this.rootNode===this){this.getHeader("Date")||this.setHeader("Date",this.date.toUTCString().replace(/GMT/,"+0000")),this.messageId(),this.getHeader("MIME-Version")||this.setHeader("MIME-Version","1.0");for(let i=this._headers.length-2;i>=0;i--){let header=this._headers[i];"Content-Type"===header.key&&(this._headers.splice(i,1),this._headers.push(header))}}return this._headers.forEach((header=>{let structured,param,key=header.key,value=header.value,options={};if(!value||"object"!=typeof value||["From","Sender","To","Cc","Bcc","Reply-To","Date","References"].includes(key)||(Object.keys(value).forEach((key=>{"value"!==key&&(options[key]=value[key])})),value=(value.value||"").toString(),value.trim()))if(options.prepared)options.foldLines?headers.push(mimeFuncs.foldLines(key+": "+value)):headers.push(key+": "+value);else{switch(header.key){case"Content-Disposition":structured=mimeFuncs.parseHeaderValue(value),this.filename&&(structured.params.filename=this.filename),value=mimeFuncs.buildHeaderValue(structured);break;case"Content-Type":structured=mimeFuncs.parseHeaderValue(value),this._handleContentType(structured),structured.value.match(/^text\/plain\b/)&&"string"==typeof this.content&&/[\u0080-\uFFFF]/.test(this.content)&&(structured.params.charset="utf-8"),value=mimeFuncs.buildHeaderValue(structured),this.filename&&(param=this._encodeWords(this.filename),(param!==this.filename||/[\s'"\\;:/=(),<>@[\]?]|^-/.test(param))&&(param='"'+param+'"'),value+="; name="+param);break;case"Bcc":if(!this.keepBcc)return}if(value=this._encodeHeaderValue(key,value),(value||"").toString().trim()){if("function"==typeof this.normalizeHeaderKey){let normalized=this.normalizeHeaderKey(key,value);normalized&&"string"==typeof normalized&&normalized.length&&(key=normalized)}headers.push(mimeFuncs.foldLines(key+": "+value,76))}}})),headers.join("\r\n")}createReadStream(options){let transform,stream=new PassThrough(options=options||{}),outputStream=stream;this.stream(stream,options,(err=>{err?outputStream.emit("error",err):stream.end()}));for(let i=0,len=this._transforms.length;i<len;i++)transform="function"==typeof this._transforms[i]?this._transforms[i]():this._transforms[i],outputStream.once("error",(err=>{transform.emit("error",err)})),outputStream=outputStream.pipe(transform);transform=new LastNewline,outputStream.once("error",(err=>{transform.emit("error",err)})),outputStream=outputStream.pipe(transform);for(let i=0,len=this._processFuncs.length;i<len;i++)transform=this._processFuncs[i],outputStream=transform(outputStream);if(this.newline){const newlineTransform=["win","windows","dos","\r\n"].includes(this.newline.toString().toLowerCase())?new LeWindows:new LeUnix,stream=outputStream.pipe(newlineTransform);return outputStream.on("error",(err=>stream.emit("error",err))),stream}return outputStream}transform(transform){this._transforms.push(transform)}processFunc(processFunc){this._processFuncs.push(processFunc)}stream(outputStream,options,done){let contentStream,localStream,transferEncoding=this.getTransferEncoding(),returned=!1,callback=err=>{returned||(returned=!0,done(err))},finalize=()=>{let childId=0,processChildNode=()=>{if(childId>=this.childNodes.length)return outputStream.write("\r\n--"+this.boundary+"--\r\n"),callback();let child=this.childNodes[childId++];outputStream.write((childId>1?"\r\n":"")+"--"+this.boundary+"\r\n"),child.stream(outputStream,options,(err=>{if(err)return callback(err);setImmediate(processChildNode)}))};if(!this.multipart)return callback();setImmediate(processChildNode)},sendContent=()=>{if(!this.content)return setImmediate(finalize);{if("[object Error]"===Object.prototype.toString.call(this.content))return callback(this.content);"function"==typeof this.content.pipe&&(this.content.removeListener("error",this._contentErrorHandler),this._contentErrorHandler=err=>callback(err),this.content.once("error",this._contentErrorHandler));let createStream=()=>{["quoted-printable","base64"].includes(transferEncoding)?(contentStream=new("base64"===transferEncoding?base64:qp).Encoder(options),contentStream.pipe(outputStream,{end:!1}),contentStream.once("end",finalize),contentStream.once("error",(err=>callback(err))),localStream=this._getStream(this.content),localStream.pipe(contentStream)):(localStream=this._getStream(this.content),localStream.pipe(outputStream,{end:!1}),localStream.once("end",finalize)),localStream.once("error",(err=>callback(err)))};if(this.content._resolve){let chunks=[],chunklen=0,returned=!1,sourceStream=this._getStream(this.content);sourceStream.on("error",(err=>{returned||(returned=!0,callback(err))})),sourceStream.on("readable",(()=>{let chunk;for(;null!==(chunk=sourceStream.read());)chunks.push(chunk),chunklen+=chunk.length})),sourceStream.on("end",(()=>{returned||(returned=!0,this.content._resolve=!1,this.content._resolvedValue=Buffer.concat(chunks,chunklen),setImmediate(createStream))}))}else setImmediate(createStream)}};this._raw?setImmediate((()=>{if("[object Error]"===Object.prototype.toString.call(this._raw))return callback(this._raw);"function"==typeof this._raw.pipe&&this._raw.removeListener("error",this._contentErrorHandler);let raw=this._getStream(this._raw);raw.pipe(outputStream,{end:!1}),raw.on("error",(err=>outputStream.emit("error",err))),raw.on("end",finalize)})):(outputStream.write(this.buildHeaders()+"\r\n\r\n"),setImmediate(sendContent))}setEnvelope(envelope){let list;this._envelope={from:!1,to:[]},envelope.from&&(list=[],this._convertAddresses(this._parseAddresses(envelope.from),list),list=list.filter((address=>address&&address.address)),list.length&&list[0]&&(this._envelope.from=list[0].address)),["to","cc","bcc"].forEach((key=>{envelope[key]&&this._convertAddresses(this._parseAddresses(envelope[key]),this._envelope.to)})),this._envelope.to=this._envelope.to.map((to=>to.address)).filter((address=>address));let standardFields=["to","cc","bcc","from"];return Object.keys(envelope).forEach((key=>{standardFields.includes(key)||(this._envelope[key]=envelope[key])})),this}getAddresses(){let addresses={};return this._headers.forEach((header=>{let key=header.key.toLowerCase();["from","sender","reply-to","to","cc","bcc"].includes(key)&&(Array.isArray(addresses[key])||(addresses[key]=[]),this._convertAddresses(this._parseAddresses(header.value),addresses[key]))})),addresses}getEnvelope(){if(this._envelope)return this._envelope;let envelope={from:!1,to:[]};return this._headers.forEach((header=>{let list=[];"From"===header.key||!envelope.from&&["Reply-To","Sender"].includes(header.key)?(this._convertAddresses(this._parseAddresses(header.value),list),list.length&&list[0]&&(envelope.from=list[0].address)):["To","Cc","Bcc"].includes(header.key)&&this._convertAddresses(this._parseAddresses(header.value),envelope.to)})),envelope.to=envelope.to.map((to=>to.address)),envelope}messageId(){let messageId=this.getHeader("Message-ID");return messageId||(messageId=this._generateMessageId(),this.setHeader("Message-ID",messageId)),messageId}setRaw(raw){return this._raw=raw,this._raw&&"function"==typeof this._raw.pipe&&(this._contentErrorHandler=err=>{this._raw.removeListener("error",this._contentErrorHandler),this._raw=err},this._raw.once("error",this._contentErrorHandler)),this}_getStream(content){let contentStream;return content._resolvedValue?(contentStream=new PassThrough,setImmediate((()=>{try{contentStream.end(content._resolvedValue)}catch(err){contentStream.emit("error",err)}})),contentStream):"function"==typeof content.pipe?content:content&&"string"==typeof content.path&&!content.href?this.disableFileAccess?(contentStream=new PassThrough,setImmediate((()=>contentStream.emit("error",new Error("File access rejected for "+content.path)))),contentStream):fs.createReadStream(content.path):content&&"string"==typeof content.href?this.disableUrlAccess?(contentStream=new PassThrough,setImmediate((()=>contentStream.emit("error",new Error("Url access rejected for "+content.href)))),contentStream):nmfetch(content.href,{headers:content.httpHeaders}):(contentStream=new PassThrough,setImmediate((()=>{try{contentStream.end(content||"")}catch(err){contentStream.emit("error",err)}})),contentStream)}_parseAddresses(addresses){return[].concat.apply([],[].concat(addresses).map((address=>address&&address.address?(address.address=this._normalizeAddress(address.address),address.name=address.name||"",[address]):addressparser(address))))}_normalizeHeaderKey(key){return key=(key||"").toString().replace(/\r?\n|\r/g," ").trim().toLowerCase().replace(/^X-SMTPAPI$|^(MIME|DKIM|ARC|BIMI)\b|^[a-z]|-(SPF|FBL|ID|MD5)$|-[a-z]/gi,(c=>c.toUpperCase())).replace(/^Content-Features$/i,"Content-features")}_handleContentType(structured){this.contentType=structured.value.trim().toLowerCase(),this.multipart=!!/^multipart\//i.test(this.contentType)&&this.contentType.substr(this.contentType.indexOf("/")+1),this.multipart?this.boundary=structured.params.boundary=structured.params.boundary||this.boundary||this._generateBoundary():this.boundary=!1}_generateBoundary(){return this.rootNode.boundaryPrefix+"-"+this.rootNode.baseBoundary+"-Part_"+this._nodeId}_encodeHeaderValue(key,value){switch(key=this._normalizeHeaderKey(key)){case"From":case"Sender":case"To":case"Cc":case"Bcc":case"Reply-To":return this._convertAddresses(this._parseAddresses(value));case"Message-ID":case"In-Reply-To":case"Content-Id":return"<"!==(value=(value||"").toString().replace(/\r?\n|\r/g," ")).charAt(0)&&(value="<"+value),">"!==value.charAt(value.length-1)&&(value+=">"),value;case"References":return(value=[].concat.apply([],[].concat(value||"").map((elm=>(elm=(elm||"").toString().replace(/\r?\n|\r/g," ").trim()).replace(/<[^>]*>/g,(str=>str.replace(/\s/g,""))).split(/\s+/)))).map((elm=>("<"!==elm.charAt(0)&&(elm="<"+elm),">"!==elm.charAt(elm.length-1)&&(elm+=">"),elm)))).join(" ").trim();case"Date":return"[object Date]"===Object.prototype.toString.call(value)?value.toUTCString().replace(/GMT/,"+0000"):(value=(value||"").toString().replace(/\r?\n|\r/g," "),this._encodeWords(value));case"Content-Type":case"Content-Disposition":return(value||"").toString().replace(/\r?\n|\r/g," ");default:return value=(value||"").toString().replace(/\r?\n|\r/g," "),this._encodeWords(value)}}_convertAddresses(addresses,uniqueList){let values=[];return uniqueList=uniqueList||[],[].concat(addresses||[]).forEach((address=>{if(address.address)address.address=this._normalizeAddress(address.address),address.name?address.name&&values.push(`${this._encodeAddressName(address.name)} <${address.address}>`):values.push(address.address.indexOf(" ")>=0?`<${address.address}>`:`${address.address}`),address.address&&(uniqueList.filter((a=>a.address===address.address)).length||uniqueList.push(address));else if(address.group){let groupListAddresses=(address.group.length?this._convertAddresses(address.group,uniqueList):"").trim();values.push(`${this._encodeAddressName(address.name)}:${groupListAddresses};`)}})),values.join(", ")}_normalizeAddress(address){let lastAt=(address=(address||"").toString().replace(/[\x00-\x1F<>]+/g," ").trim()).lastIndexOf("@");if(lastAt<0)return address;let encodedDomain,user=address.substr(0,lastAt),domain=address.substr(lastAt+1);try{encodedDomain=punycode.toASCII(domain.toLowerCase())}catch(err){}return user.indexOf(" ")>=0&&('"'!==user.charAt(0)&&(user='"'+user),'"'!==user.substr(-1)&&(user+='"')),`${user}@${encodedDomain}`}_encodeAddressName(name){return/^[\w ]*$/.test(name)?name:/^[\x20-\x7e]*$/.test(name)?'"'+name.replace(/([\\"])/g,"\\$1")+'"':mimeFuncs.encodeWord(name,this._getTextEncoding(name),52)}_encodeWords(value){return mimeFuncs.encodeWords(value,this._getTextEncoding(value),52,!0)}_getTextEncoding(value){value=(value||"").toString();let latinLen,nonLatinLen,encoding=this.textEncoding;return encoding||(nonLatinLen=(value.match(/[\x00-\x08\x0B\x0C\x0E-\x1F\u0080-\uFFFF]/g)||[]).length,latinLen=(value.match(/[a-z]/gi)||[]).length,encoding=nonLatinLen<latinLen?"Q":"B"),encoding}_generateMessageId(){return"<"+[2,2,2,6].reduce(((prev,len)=>prev+"-"+crypto.randomBytes(len).toString("hex")),crypto.randomBytes(4).toString("hex"))+"@"+(this.getEnvelope().from||this.hostname||"localhost").split("@").pop()+">"}}return mimeNode=MimeNode}var hasRequiredSign,dkim,hasRequiredDkim,httpProxyClient_1,hasRequiredHttpProxyClient,mailMessage,hasRequiredMailMessage,mailer,hasRequiredMailer,dataStream,hasRequiredDataStream,smtpConnection,hasRequiredSmtpConnection,xoauth2,hasRequiredXoauth2,poolResource,hasRequiredPoolResource,sign={exports:{}};function requireSign(){if(hasRequiredSign)return sign.exports;hasRequiredSign=1;const punycode=requirePunycode(),mimeFuncs=requireMimeFuncs(),crypto=require$$0__default$1.default;function relaxedHeaders(headers,fieldNames,skipFields){let includedFields=new Set,skip=new Set,headerFields=new Map;(skipFields||"").toLowerCase().split(":").forEach((field=>{skip.add(field.trim())})),(fieldNames||"").toLowerCase().split(":").filter((field=>!skip.has(field.trim()))).forEach((field=>{includedFields.add(field.trim())}));for(let i=headers.length-1;i>=0;i--){let line=headers[i];includedFields.has(line.key)&&!headerFields.has(line.key)&&headerFields.set(line.key,relaxedHeaderLine(line.line))}let headersList=[],fields=[];return includedFields.forEach((field=>{headerFields.has(field)&&(fields.push(field),headersList.push(field+":"+headerFields.get(field)))})),{headers:headersList.join("\r\n")+"\r\n",fieldNames:fields.join(":")}}function relaxedHeaderLine(line){return line.substr(line.indexOf(":")+1).replace(/\r?\n/g,"").replace(/\s+/g," ").trim()}return sign.exports=(headers,hashAlgo,bodyHash,options)=>{let signer,signature,canonicalizedHeaderData=relaxedHeaders(headers,(options=options||{}).headerFieldNames||"From:Sender:Reply-To:Subject:Date:Message-ID:To:Cc:MIME-Version:Content-Type:Content-Transfer-Encoding:Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References:List-Id:List-Help:List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive",options.skipFields),dkimHeader=function generateDKIMHeader(domainName,keySelector,fieldNames,hashAlgo,bodyHash){let dkim=["v=1","a=rsa-"+hashAlgo,"c=relaxed/relaxed","d="+punycode.toASCII(domainName),"q=dns/txt","s="+keySelector,"bh="+bodyHash,"h="+fieldNames].join("; ");return mimeFuncs.foldLines("DKIM-Signature: "+dkim,76)+";\r\n b="}(options.domainName,options.keySelector,canonicalizedHeaderData.fieldNames,hashAlgo,bodyHash);canonicalizedHeaderData.headers+="dkim-signature:"+relaxedHeaderLine(dkimHeader),signer=crypto.createSign(("rsa-"+hashAlgo).toUpperCase()),signer.update(canonicalizedHeaderData.headers);try{signature=signer.sign(options.privateKey,"base64")}catch(E){return!1}return dkimHeader+signature.replace(/(^.{73}|.{75}(?!\r?\n|\r))/g,"$&\r\n ").trim()},sign.exports.relaxedHeaders=relaxedHeaders,sign.exports}function requireDkim(){if(hasRequiredDkim)return dkim;hasRequiredDkim=1;const MessageParser=function requireMessageParser(){if(hasRequiredMessageParser)return messageParser;hasRequiredMessageParser=1;const Transform=require$$0__default$2.default.Transform;return messageParser=class MessageParser extends Transform{constructor(options){super(options),this.lastBytes=Buffer.alloc(4),this.headersParsed=!1,this.headerBytes=0,this.headerChunks=[],this.rawHeaders=!1,this.bodySize=0}updateLastBytes(data){let lblen=this.lastBytes.length,nblen=Math.min(data.length,lblen);for(let i=0,len=lblen-nblen;i<len;i++)this.lastBytes[i]=this.lastBytes[i+nblen];for(let i=1;i<=nblen;i++)this.lastBytes[lblen-i]=data[data.length-i]}checkHeaders(data){if(this.headersParsed)return!0;let lblen=this.lastBytes.length,headerPos=0;this.curLinePos=0;for(let i=0,len=this.lastBytes.length+data.length;i<len;i++){let chr;if(chr=i<lblen?this.lastBytes[i]:data[i-lblen],10===chr&&i){let pr1=i-1<lblen?this.lastBytes[i-1]:data[i-1-lblen],pr2=i>1&&(i-2<lblen?this.lastBytes[i-2]:data[i-2-lblen]);if(10===pr1){this.headersParsed=!0,headerPos=i-lblen+1,this.headerBytes+=headerPos;break}if(13===pr1&&10===pr2){this.headersParsed=!0,headerPos=i-lblen+1,this.headerBytes+=headerPos;break}}}if(this.headersParsed){if(this.headerChunks.push(data.slice(0,headerPos)),this.rawHeaders=Buffer.concat(this.headerChunks,this.headerBytes),this.headerChunks=null,this.emit("headers",this.parseHeaders()),data.length-1>headerPos){let chunk=data.slice(headerPos);this.bodySize+=chunk.length,setImmediate((()=>this.push(chunk)))}return!1}return this.headerBytes+=data.length,this.headerChunks.push(data),this.updateLastBytes(data),!1}_transform(chunk,encoding,callback){if(!chunk||!chunk.length)return callback();let headersFound;"string"==typeof chunk&&(chunk=Buffer.from(chunk,encoding));try{headersFound=this.checkHeaders(chunk)}catch(E){return callback(E)}headersFound&&(this.bodySize+=chunk.length,this.push(chunk)),setImmediate(callback)}_flush(callback){if(this.headerChunks){let chunk=Buffer.concat(this.headerChunks,this.headerBytes);this.bodySize+=chunk.length,this.push(chunk),this.headerChunks=null}callback()}parseHeaders(){let lines=(this.rawHeaders||"").toString().split(/\r?\n/);for(let i=lines.length-1;i>0;i--)/^\s/.test(lines[i])&&(lines[i-1]+="\n"+lines[i],lines.splice(i,1));return lines.filter((line=>line.trim())).map((line=>({key:line.substr(0,line.indexOf(":")).trim().toLowerCase(),line:line})))}}}(),RelaxedBody=function requireRelaxedBody(){if(hasRequiredRelaxedBody)return relaxedBody;hasRequiredRelaxedBody=1;const Transform=require$$0__default$2.default.Transform,crypto=require$$0__default$1.default;return relaxedBody=class RelaxedBody extends Transform{constructor(options){super(),options=options||{},this.chunkBuffer=[],this.chunkBufferLen=0,this.bodyHash=crypto.createHash(options.hashAlgo||"sha1"),this.remainder="",this.byteLength=0,this.debug=options.debug,this._debugBody=!!options.debug&&[]}updateHash(chunk){let bodyStr,nextRemainder="",state="file";for(let i=chunk.length-1;i>=0;i--){let c=chunk[i];if("file"!==state||10!==c&&13!==c)if("file"!==state||9!==c&&32!==c){if(("line"!==state||9!==c&&32!==c)&&("file"===state||"line"===state)&&(state="body",i===chunk.length-1))break}else state="line";if(0===i){if("file"===state&&(!this.remainder||/[\r\n]$/.test(this.remainder))||"line"===state&&(!this.remainder||/[ \t]$/.test(this.remainder)))return void(this.remainder+=chunk.toString("binary"));if("line"===state||"file"===state){nextRemainder=chunk.toString("binary"),chunk=!1;break}}if("body"===state){nextRemainder=chunk.slice(i+1).toString("binary"),chunk=chunk.slice(0,i+1);break}}let needsFixing=!!this.remainder;if(chunk&&!needsFixing)for(let i=0,len=chunk.length;i<len;i++){if(i&&10===chunk[i]&&13!==chunk[i-1]){needsFixing=!0;break}if(i&&13===chunk[i]&&32===chunk[i-1]){needsFixing=!0;break}if(i&&32===chunk[i]&&32===chunk[i-1]){needsFixing=!0;break}if(9===chunk[i]){needsFixing=!0;break}}needsFixing?(bodyStr=this.remainder+(chunk?chunk.toString("binary"):""),this.remainder=nextRemainder,bodyStr=bodyStr.replace(/\r?\n/g,"\n").replace(/[ \t]*$/gm,"").replace(/[ \t]+/gm," ").replace(/\n/g,"\r\n"),chunk=Buffer.from(bodyStr,"binary")):nextRemainder&&(this.remainder=nextRemainder),this.debug&&this._debugBody.push(chunk),this.bodyHash.update(chunk)}_transform(chunk,encoding,callback){if(!chunk||!chunk.length)return callback();"string"==typeof chunk&&(chunk=Buffer.from(chunk,encoding)),this.updateHash(chunk),this.byteLength+=chunk.length,this.push(chunk),callback()}_flush(callback){/[\r\n]$/.test(this.remainder)&&this.byteLength>2&&this.bodyHash.update(Buffer.from("\r\n")),this.byteLength||this.push(Buffer.from("\r\n")),this.emit("hash",this.bodyHash.digest("base64"),!!this.debug&&Buffer.concat(this._debugBody)),callback()}}}(),sign=requireSign(),PassThrough=require$$0__default$2.default.PassThrough,fs=fs__default.default,path=path__default.default,crypto=require$$0__default$1.default;class DKIMSigner{constructor(options,keys,input,output){this.options=options||{},this.keys=keys,this.cacheTreshold=Number(this.options.cacheTreshold)||131072,this.hashAlgo=this.options.hashAlgo||"sha256",this.cacheDir=this.options.cacheDir||!1,this.chunks=[],this.chunklen=0,this.readPos=0,this.cachePath=!!this.cacheDir&&path.join(this.cacheDir,"message."+Date.now()+"-"+crypto.randomBytes(14).toString("hex")),this.cache=!1,this.headers=!1,this.bodyHash=!1,this.parser=!1,this.relaxedBody=!1,this.input=input,this.output=output,this.output.usingCache=!1,this.hasErrored=!1,this.input.on("error",(err=>{this.hasErrored=!0,this.cleanup(),output.emit("error",err)}))}cleanup(){this.cache&&this.cachePath&&fs.unlink(this.cachePath,(()=>!1))}createReadCache(){this.cache=fs.createReadStream(this.cachePath),this.cache.once("error",(err=>{this.cleanup(),this.output.emit("error",err)})),this.cache.once("close",(()=>{this.cleanup()})),this.cache.pipe(this.output)}sendNextChunk(){if(this.hasErrored)return;if(this.readPos>=this.chunks.length)return this.cache?this.createReadCache():this.output.end();let chunk=this.chunks[this.readPos++];if(!1===this.output.write(chunk))return this.output.once("drain",(()=>{this.sendNextChunk()}));setImmediate((()=>this.sendNextChunk()))}sendSignedOutput(){let keyPos=0,signNextKey=()=>{if(keyPos>=this.keys.length)return this.output.write(this.parser.rawHeaders),setImmediate((()=>this.sendNextChunk()));let key=this.keys[keyPos++],dkimField=sign(this.headers,this.hashAlgo,this.bodyHash,{domainName:key.domainName,keySelector:key.keySelector,privateKey:key.privateKey,headerFieldNames:this.options.headerFieldNames,skipFields:this.options.skipFields});return dkimField&&this.output.write(Buffer.from(dkimField+"\r\n")),setImmediate(signNextKey)};if(this.bodyHash&&this.headers)return signNextKey();this.output.write(this.parser.rawHeaders),this.sendNextChunk()}createWriteCache(){this.output.usingCache=!0,this.cache=fs.createWriteStream(this.cachePath),this.cache.once("error",(err=>{this.cleanup(),this.relaxedBody.unpipe(this.cache),this.relaxedBody.on("readable",(()=>{for(;null!==this.relaxedBody.read(););})),this.hasErrored=!0,this.output.emit("error",err)})),this.cache.once("close",(()=>{this.sendSignedOutput()})),this.relaxedBody.removeAllListeners("readable"),this.relaxedBody.pipe(this.cache)}signStream(){this.parser=new MessageParser,this.relaxedBody=new RelaxedBody({hashAlgo:this.hashAlgo}),this.parser.on("headers",(value=>{this.headers=value})),this.relaxedBody.on("hash",(value=>{this.bodyHash=value})),this.relaxedBody.on("readable",(()=>{let chunk;if(!this.cache)for(;null!==(chunk=this.relaxedBody.read());)if(this.chunks.push(chunk),this.chunklen+=chunk.length,this.chunklen>=this.cacheTreshold&&this.cachePath)return this.createWriteCache()})),this.relaxedBody.on("end",(()=>{this.cache||this.sendSignedOutput()})),this.parser.pipe(this.relaxedBody),setImmediate((()=>this.input.pipe(this.parser)))}}return dkim=class DKIM{constructor(options){this.options=options||{},this.keys=[].concat(this.options.keys||{domainName:options.domainName,keySelector:options.keySelector,privateKey:options.privateKey})}sign(input,extraOptions){let output=new PassThrough,inputStream=input,writeValue=!1;Buffer.isBuffer(input)?(writeValue=input,inputStream=new PassThrough):"string"==typeof input&&(writeValue=Buffer.from(input),inputStream=new PassThrough);let options=this.options;extraOptions&&Object.keys(extraOptions).length&&(options={},Object.keys(this.options||{}).forEach((key=>{options[key]=this.options[key]})),Object.keys(extraOptions||{}).forEach((key=>{key in options||(options[key]=extraOptions[key])})));let signer=new DKIMSigner(options,this.keys,inputStream,output);return setImmediate((()=>{signer.signStream(),writeValue&&setImmediate((()=>{inputStream.end(writeValue)}))})),output}}}function requireMailer(){if(hasRequiredMailer)return mailer;hasRequiredMailer=1;const EventEmitter=require$$0__default.default,shared=requireShared(),mimeTypes=requireMimeTypes(),MailComposer=function requireMailComposer(){if(hasRequiredMailComposer)return mailComposer;hasRequiredMailComposer=1;const MimeNode=requireMimeNode(),mimeFuncs=requireMimeFuncs(),parseDataURI=requireShared().parseDataURI;return mailComposer=class MailComposer{constructor(mail){this.mail=mail||{},this.message=!1}compile(){return this._alternatives=this.getAlternatives(),this._htmlNode=this._alternatives.filter((alternative=>/^text\/html\b/i.test(alternative.contentType))).pop(),this._attachments=this.getAttachments(!!this._htmlNode),this._useRelated=!(!this._htmlNode||!this._attachments.related.length),this._useAlternative=this._alternatives.length>1,this._useMixed=this._attachments.attached.length>1||this._alternatives.length&&1===this._attachments.attached.length,this.mail.raw?this.message=new MimeNode("message/rfc822",{newline:this.mail.newline}).setRaw(this.mail.raw):this._useMixed?this.message=this._createMixed():this._useAlternative?this.message=this._createAlternative():this._useRelated?this.message=this._createRelated():this.message=this._createContentNode(!1,[].concat(this._alternatives||[]).concat(this._attachments.attached||[]).shift()||{contentType:"text/plain",content:""}),this.mail.headers&&this.message.addHeader(this.mail.headers),["from","sender","to","cc","bcc","reply-to","in-reply-to","references","subject","message-id","date"].forEach((header=>{let key=header.replace(/-(\w)/g,((o,c)=>c.toUpperCase()));this.mail[key]&&this.message.setHeader(header,this.mail[key])})),this.mail.envelope&&this.message.setEnvelope(this.mail.envelope),this.message.messageId(),this.message}getAttachments(findRelated){let icalEvent,eventObject,attachments=[].concat(this.mail.attachments||[]).map(((attachment,i)=>{let data,isMessageNode=/^message\//i.test(attachment.contentType);/^data:/i.test(attachment.path||attachment.href)&&(attachment=this._processDataUrl(attachment));let contentType=attachment.contentType||mimeFuncs.detectMimeType(attachment.filename||attachment.path||attachment.href||"bin"),isImage=/^image\//i.test(contentType);return data={contentType:contentType,contentDisposition:attachment.contentDisposition||(isMessageNode||isImage&&attachment.cid?"inline":"attachment"),contentTransferEncoding:"contentTransferEncoding"in attachment?attachment.contentTransferEncoding:"base64"},attachment.filename?data.filename=attachment.filename:isMessageNode||!1===attachment.filename||(data.filename=(attachment.path||attachment.href||"").split("/").pop().split("?").shift()||"attachment-"+(i+1),data.filename.indexOf(".")<0&&(data.filename+="."+mimeFuncs.detectExtension(data.contentType))),/^https?:\/\//i.test(attachment.path)&&(attachment.href=attachment.path,attachment.path=void 0),attachment.cid&&(data.cid=attachment.cid),attachment.raw?data.raw=attachment.raw:attachment.path?data.content={path:attachment.path}:attachment.href?data.content={href:attachment.href,httpHeaders:attachment.httpHeaders}:data.content=attachment.content||"",attachment.encoding&&(data.encoding=attachment.encoding),attachment.headers&&(data.headers=attachment.headers),data}));return this.mail.icalEvent&&(icalEvent="object"==typeof this.mail.icalEvent&&(this.mail.icalEvent.content||this.mail.icalEvent.path||this.mail.icalEvent.href||this.mail.icalEvent.raw)?this.mail.icalEvent:{content:this.mail.icalEvent},eventObject={},Object.keys(icalEvent).forEach((key=>{eventObject[key]=icalEvent[key]})),eventObject.contentType="application/ics",eventObject.headers||(eventObject.headers={}),eventObject.filename=eventObject.filename||"invite.ics",eventObject.headers["Content-Disposition"]="attachment",eventObject.headers["Content-Transfer-Encoding"]="base64"),findRelated?{attached:attachments.filter((attachment=>!attachment.cid)).concat(eventObject||[]),related:attachments.filter((attachment=>!!attachment.cid))}:{attached:attachments.concat(eventObject||[]),related:[]}}getAlternatives(){let text,html,watchHtml,amp,icalEvent,eventObject,alternatives=[];return this.mail.text&&(text="object"==typeof this.mail.text&&(this.mail.text.content||this.mail.text.path||this.mail.text.href||this.mail.text.raw)?this.mail.text:{content:this.mail.text},text.contentType="text/plain; charset=utf-8"),this.mail.watchHtml&&(watchHtml="object"==typeof this.mail.watchHtml&&(this.mail.watchHtml.content||this.mail.watchHtml.path||this.mail.watchHtml.href||this.mail.watchHtml.raw)?this.mail.watchHtml:{content:this.mail.watchHtml},watchHtml.contentType="text/watch-html; charset=utf-8"),this.mail.amp&&(amp="object"==typeof this.mail.amp&&(this.mail.amp.content||this.mail.amp.path||this.mail.amp.href||this.mail.amp.raw)?this.mail.amp:{content:this.mail.amp},amp.contentType="text/x-amp-html; charset=utf-8"),this.mail.icalEvent&&(icalEvent="object"==typeof this.mail.icalEvent&&(this.mail.icalEvent.content||this.mail.icalEvent.path||this.mail.icalEvent.href||this.mail.icalEvent.raw)?this.mail.icalEvent:{content:this.mail.icalEvent},eventObject={},Object.keys(icalEvent).forEach((key=>{eventObject[key]=icalEvent[key]})),eventObject.content&&"object"==typeof eventObject.content&&(eventObject.content._resolve=!0),eventObject.filename=!1,eventObject.contentType="text/calendar; charset=utf-8; method="+(eventObject.method||"PUBLISH").toString().trim().toUpperCase(),eventObject.headers||(eventObject.headers={})),this.mail.html&&(html="object"==typeof this.mail.html&&(this.mail.html.content||this.mail.html.path||this.mail.html.href||this.mail.html.raw)?this.mail.html:{content:this.mail.html},html.contentType="text/html; charset=utf-8"),[].concat(text||[]).concat(watchHtml||[]).concat(amp||[]).concat(html||[]).concat(eventObject||[]).concat(this.mail.alternatives||[]).forEach((alternative=>{let data;/^data:/i.test(alternative.path||alternative.href)&&(alternative=this._processDataUrl(alternative)),data={contentType:alternative.contentType||mimeFuncs.detectMimeType(alternative.filename||alternative.path||alternative.href||"txt"),contentTransferEncoding:alternative.contentTransferEncoding},alternative.filename&&(data.filename=alternative.filename),/^https?:\/\//i.test(alternative.path)&&(alternative.href=alternative.path,alternative.path=void 0),alternative.raw?data.raw=alternative.raw:alternative.path?data.content={path:alternative.path}:alternative.href?data.content={href:alternative.href}:data.content=alternative.content||"",alternative.encoding&&(data.encoding=alternative.encoding),alternative.headers&&(data.headers=alternative.headers),alternatives.push(data)})),alternatives}_createMixed(parentNode){let node;return node=parentNode?parentNode.createChild("multipart/mixed",{disableUrlAccess:this.mail.disableUrlAccess,disableFileAccess:this.mail.disableFileAccess,normalizeHeaderKey:this.mail.normalizeHeaderKey,newline:this.mail.newline}):new MimeNode("multipart/mixed",{baseBoundary:this.mail.baseBoundary,textEncoding:this.mail.textEncoding,boundaryPrefix:this.mail.boundaryPrefix,disableUrlAccess:this.mail.disableUrlAccess,disableFileAccess:this.mail.disableFileAccess,normalizeHeaderKey:this.mail.normalizeHeaderKey,newline:this.mail.newline}),this._useAlternative?this._createAlternative(node):this._useRelated&&this._createRelated(node),[].concat(!this._useAlternative&&this._alternatives||[]).concat(this._attachments.attached||[]).forEach((element=>{this._useRelated&&element===this._htmlNode||this._createContentNode(node,element)})),node}_createAlternative(parentNode){let node;return node=parentNode?parentNode.createChild("multipart/alternative",{disableUrlAccess:this.mail.disableUrlAccess,disableFileAccess:this.mail.disableFileAccess,normalizeHeaderKey:this.mail.normalizeHeaderKey,newline:this.mail.newline}):new MimeNode("multipart/alternative",{baseBoundary:this.mail.baseBoundary,textEncoding:this.mail.textEncoding,boundaryPrefix:this.mail.boundaryPrefix,disableUrlAccess:this.mail.disableUrlAccess,disableFileAccess:this.mail.disableFileAccess,normalizeHeaderKey:this.mail.normalizeHeaderKey,newline:this.mail.newline}),this._alternatives.forEach((alternative=>{this._useRelated&&this._htmlNode===alternative?this._createRelated(node):this._createContentNode(node,alternative)})),node}_createRelated(parentNode){let node;return node=parentNode?parentNode.createChild('multipart/related; type="text/html"',{disableUrlAccess:this.mail.disableUrlAccess,disableFileAccess:this.mail.disableFileAccess,normalizeHeaderKey:this.mail.normalizeHeaderKey,newline:this.mail.newline}):new MimeNode('multipart/related; type="text/html"',{baseBoundary:this.mail.baseBoundary,textEncoding:this.mail.textEncoding,boundaryPrefix:this.mail.boundaryPrefix,disableUrlAccess:this.mail.disableUrlAccess,disableFileAccess:this.mail.disableFileAccess,normalizeHeaderKey:this.mail.normalizeHeaderKey,newline:this.mail.newline}),this._createContentNode(node,this._htmlNode),this._attachments.related.forEach((alternative=>this._createContentNode(node,alternative))),node}_createContentNode(parentNode,element){let node;(element=element||{}).content=element.content||"";let encoding=(element.encoding||"utf8").toString().toLowerCase().replace(/[-_\s]/g,"");return node=parentNode?parentNode.createChild(element.contentType,{filename:element.filename,textEncoding:this.mail.textEncoding,disableUrlAccess:this.mail.disableUrlAccess,disableFileAccess:this.mail.disableFileAccess,normalizeHeaderKey:this.mail.normalizeHeaderKey,newline:this.mail.newline}):new MimeNode(element.contentType,{filename:element.filename,baseBoundary:this.mail.baseBoundary,textEncoding:this.mail.textEncoding,boundaryPrefix:this.mail.boundaryPrefix,disableUrlAccess:this.mail.disableUrlAccess,disableFileAccess:this.mail.disableFileAccess,normalizeHeaderKey:this.mail.normalizeHeaderKey,newline:this.mail.newline}),element.headers&&node.addHeader(element.headers),element.cid&&node.setHeader("Content-Id","<"+element.cid.replace(/[<>]/g,"")+">"),element.contentTransferEncoding?node.setHeader("Content-Transfer-Encoding",element.contentTransferEncoding):this.mail.encoding&&/^text\//i.test(element.contentType)&&node.setHeader("Content-Transfer-Encoding",this.mail.encoding),/^text\//i.test(element.contentType)&&!element.contentDisposition||node.setHeader("Content-Disposition",element.contentDisposition||(element.cid&&/^image\//i.test(element.contentType)?"inline":"attachment")),"string"!=typeof element.content||["utf8","usascii","ascii"].includes(encoding)||(element.content=Buffer.from(element.content,encoding)),element.raw?node.setRaw(element.raw):node.setContent(element.content),node}_processDataUrl(element){let parsedDataUri;return(element.path||element.href).match(/^data:/)&&(parsedDataUri=parseDataURI(element.path||element.href)),parsedDataUri?(element.content=parsedDataUri.data,element.contentType=element.contentType||parsedDataUri.contentType,"path"in element&&(element.path=!1),"href"in element&&(element.href=!1),element):element}},mailComposer}(),DKIM=requireDkim(),httpProxyClient=function requireHttpProxyClient(){if(hasRequiredHttpProxyClient)return httpProxyClient_1;hasRequiredHttpProxyClient=1;const net=require$$7__default.default,tls=require$$1__default$2.default,urllib=require$$0__default$4.default;return httpProxyClient_1=function httpProxyClient(proxyUrl,destinationPort,destinationHost,callback){let options,connect,socket,proxy=urllib.parse(proxyUrl);options={host:proxy.hostname,port:Number(proxy.port)?Number(proxy.port):"https:"===proxy.protocol?443:80},"https:"===proxy.protocol?(options.rejectUnauthorized=!1,connect=tls.connect.bind(tls)):connect=net.connect.bind(net);let finished=!1,tempSocketErr=err=>{if(!finished){finished=!0;try{socket.destroy()}catch(E){}callback(err)}},timeoutErr=()=>{let err=new Error("Proxy socket timed out");err.code="ETIMEDOUT",tempSocketErr(err)};socket=connect(options,(()=>{if(finished)return;let reqHeaders={Host:destinationHost+":"+destinationPort,Connection:"close"};proxy.auth&&(reqHeaders["Proxy-Authorization"]="Basic "+Buffer.from(proxy.auth).toString("base64")),socket.write("CONNECT "+destinationHost+":"+destinationPort+" HTTP/1.1\r\n"+Object.keys(reqHeaders).map((key=>key+": "+reqHeaders[key])).join("\r\n")+"\r\n\r\n");let headers="",onSocketData=chunk=>{let match,remainder;if(!finished&&(headers+=chunk.toString("binary"),match=headers.match(/\r\n\r\n/))){if(socket.removeListener("data",onSocketData),remainder=headers.substr(match.index+match[0].length),headers=headers.substr(0,match.index),remainder&&socket.unshift(Buffer.from(remainder,"binary")),finished=!0,match=headers.match(/^HTTP\/\d+\.\d+ (\d+)/i),!match||"2"!==(match[1]||"").charAt(0)){try{socket.destroy()}catch(E){}return callback(new Error("Invalid response from proxy"+(match&&": "+match[1]||"")))}return socket.removeListener("error",tempSocketErr),socket.removeListener("timeout",timeoutErr),socket.setTimeout(0),callback(null,socket)}};socket.on("data",onSocketData)})),socket.setTimeout(httpProxyClient.timeout||3e4),socket.on("timeout",timeoutErr),socket.once("error",tempSocketErr)},httpProxyClient_1}(),util=require$$0__default$3.default,urllib=require$$0__default$4.default,packageData=require$$9,MailMessage=function requireMailMessage(){if(hasRequiredMailMessage)return mailMessage;hasRequiredMailMessage=1;const shared=requireShared(),MimeNode=requireMimeNode(),mimeFuncs=requireMimeFuncs();return mailMessage=class MailMessage{constructor(mailer,data){this.mailer=mailer,this.data={},this.message=null,data=data||{};let options=mailer.options||{},defaults=mailer._defaults||{};Object.keys(data).forEach((key=>{this.data[key]=data[key]})),this.data.headers=this.data.headers||{},Object.keys(defaults).forEach((key=>{key in this.data?"headers"===key&&Object.keys(defaults.headers).forEach((key=>{key in this.data.headers||(this.data.headers[key]=defaults.headers[key])})):this.data[key]=defaults[key]})),["disableFileAccess","disableUrlAccess","normalizeHeaderKey"].forEach((key=>{key in options&&(this.data[key]=options[key])}))}resolveContent(...args){return shared.resolveContent(...args)}resolveAll(callback){let keys=[[this.data,"html"],[this.data,"text"],[this.data,"watchHtml"],[this.data,"amp"],[this.data,"icalEvent"]];this.data.alternatives&&this.data.alternatives.length&&this.data.alternatives.forEach(((alternative,i)=>{keys.push([this.data.alternatives,i])})),this.data.attachments&&this.data.attachments.length&&this.data.attachments.forEach(((attachment,i)=>{attachment.filename||(attachment.filename=(attachment.path||attachment.href||"").split("/").pop().split("?").shift()||"attachment-"+(i+1),attachment.filename.indexOf(".")<0&&(attachment.filename+="."+mimeFuncs.detectExtension(attachment.contentType))),attachment.contentType||(attachment.contentType=mimeFuncs.detectMimeType(attachment.filename||attachment.path||attachment.href||"bin")),keys.push([this.data.attachments,i])}));let mimeNode=new MimeNode;["from","to","cc","bcc","sender","replyTo"].forEach((address=>{let value;this.message?value=[].concat(mimeNode._parseAddresses(this.message.getHeader("replyTo"===address?"reply-to":address))||[]):this.data[address]&&(value=[].concat(mimeNode._parseAddresses(this.data[address])||[])),value&&value.length?this.data[address]=value:address in this.data&&(this.data[address]=null)})),["from","sender"].forEach((address=>{this.data[address]&&(this.data[address]=this.data[address].shift())}));let pos=0,resolveNext=()=>{if(pos>=keys.length)return callback(null,this.data);let args=keys[pos++];if(!args[0]||!args[0][args[1]])return resolveNext();shared.resolveContent(...args,((err,value)=>{if(err)return callback(err);let node={content:value};args[0][args[1]]&&"object"==typeof args[0][args[1]]&&!Buffer.isBuffer(args[0][args[1]])&&Object.keys(args[0][args[1]]).forEach((key=>{key in node||["content","path","href","raw"].includes(key)||(node[key]=args[0][args[1]][key])})),args[0][args[1]]=node,resolveNext()}))};setImmediate((()=>resolveNext()))}normalize(callback){let envelope=this.data.envelope||this.message.getEnvelope(),messageId=this.message.messageId();this.resolveAll(((err,data)=>err?callback(err):(data.envelope=envelope,data.messageId=messageId,["html","text","watchHtml","amp"].forEach((key=>{data[key]&&data[key].content&&("string"==typeof data[key].content?data[key]=data[key].content:Buffer.isBuffer(data[key].content)&&(data[key]=data[key].content.toString()))})),data.icalEvent&&Buffer.isBuffer(data.icalEvent.content)&&(data.icalEvent.content=data.icalEvent.content.toString("base64"),data.icalEvent.encoding="base64"),data.alternatives&&data.alternatives.length&&data.alternatives.forEach((alternative=>{alternative&&alternative.content&&Buffer.isBuffer(alternative.content)&&(alternative.content=alternative.content.toString("base64"),alternative.encoding="base64")})),data.attachments&&data.attachments.length&&data.attachments.forEach((attachment=>{attachment&&attachment.content&&Buffer.isBuffer(attachment.content)&&(attachment.content=attachment.content.toString("base64"),attachment.encoding="base64")})),data.normalizedHeaders={},Object.keys(data.headers||{}).forEach((key=>{let value=[].concat(data.headers[key]||[]).shift();value=value&&value.value||value,value&&(["references","in-reply-to","message-id","content-id"].includes(key)&&(value=this.message._encodeHeaderValue(key,value)),data.normalizedHeaders[key]=value)})),data.list&&"object"==typeof data.list&&this._getListHeaders(data.list).forEach((entry=>{data.normalizedHeaders[entry.key]=entry.value.map((val=>val&&val.value||val)).join(", ")})),data.references&&(data.normalizedHeaders.references=this.message._encodeHeaderValue("references",data.references)),data.inReplyTo&&(data.normalizedHeaders["in-reply-to"]=this.message._encodeHeaderValue("in-reply-to",data.inReplyTo)),callback(null,data))))}setMailerHeader(){this.message&&this.data.xMailer&&this.message.setHeader("X-Mailer",this.data.xMailer)}setPriorityHeaders(){if(this.message&&this.data.priority)switch((this.data.priority||"").toString().toLowerCase()){case"high":this.message.setHeader("X-Priority","1 (Highest)"),this.message.setHeader("X-MSMail-Priority","High"),this.message.setHeader("Importance","High");break;case"low":this.message.setHeader("X-Priority","5 (Lowest)"),this.message.setHeader("X-MSMail-Priority","Low"),this.message.setHeader("Importance","Low")}}setListHeaders(){this.message&&this.data.list&&"object"==typeof this.data.list&&this.data.list&&"object"==typeof this.data.list&&this._getListHeaders(this.data.list).forEach((listHeader=>{listHeader.value.forEach((value=>{this.message.addHeader(listHeader.key,value)}))}))}_getListHeaders(listData){return Object.keys(listData).map((key=>({key:"list-"+key.toLowerCase().trim(),value:[].concat(listData[key]||[]).map((value=>({prepared:!0,foldLines:!0,value:[].concat(value||[]).map((value=>{if("string"==typeof value&&(value={url:value}),value&&value.url){if("id"===key.toLowerCase().trim()){let comment=value.comment||"";return comment=mimeFuncs.isPlainText(comment)?'"'+comment+'"':mimeFuncs.encodeWord(comment),(value.comment?comment+" ":"")+this._formatListUrl(value.url).replace(/^<[^:]+\/{,2}/,"")}let comment=value.comment||"";return mimeFuncs.isPlainText(comment)||(comment=mimeFuncs.encodeWord(comment)),this._formatListUrl(value.url)+(value.comment?" ("+comment+")":"")}return""})).filter((value=>value)).join(", ")})))})))}_formatListUrl(url){return url=url.replace(/[\s<]+|[\s>]+/g,""),/^(https?|mailto|ftp):/.test(url)?"<"+url+">":/^[^@]+@[^@]+$/.test(url)?"<mailto:"+url+">":"<http://"+url+">"}},mailMessage}(),net=require$$7__default.default,dns=require$$4__default$2.default,crypto=require$$0__default$1.default;return mailer=class Mail extends EventEmitter{constructor(transporter,options,defaults){super(),this.options=options||{},this._defaults=defaults||{},this._defaultPlugins={compile:[(...args)=>this._convertDataImages(...args)],stream:[]},this._userPlugins={compile:[],stream:[]},this.meta=new Map,this.dkim=!!this.options.dkim&&new DKIM(this.options.dkim),this.transporter=transporter,this.transporter.mailer=this,this.logger=shared.getLogger(this.options,{component:this.options.component||"mail"}),this.logger.debug({tnx:"create"},"Creating transport: %s",this.getVersionString()),"function"==typeof this.transporter.on&&(this.transporter.on("log",(log=>{this.logger.debug({tnx:"transport"},"%s: %s",log.type,log.message)})),this.transporter.on("error",(err=>{this.logger.error({err:err,tnx:"transport"},"Transport Error: %s",err.message),this.emit("error",err)})),this.transporter.on("idle",((...args)=>{this.emit("idle",...args)}))),["close","isIdle","verify"].forEach((method=>{this[method]=(...args)=>"function"==typeof this.transporter[method]?("verify"===method&&"function"==typeof this.getSocket&&(this.transporter.getSocket=this.getSocket,this.getSocket=!1),this.transporter[method](...args)):(this.logger.warn({tnx:"transport",methodName:method},"Non existing method %s called for transport",method),!1)})),this.options.proxy&&"string"==typeof this.options.proxy&&this.setupProxy(this.options.proxy)}use(step,plugin){return step=(step||"").toString(),this._userPlugins.hasOwnProperty(step)?this._userPlugins[step].push(plugin):this._userPlugins[step]=[plugin],this}sendMail(data,callback=null){let promise;callback||(promise=new Promise(((resolve,reject)=>{callback=shared.callbackPromise(resolve,reject)}))),"function"==typeof this.getSocket&&(this.transporter.getSocket=this.getSocket,this.getSocket=!1);let mail=new MailMessage(this,data);return this.logger.debug({tnx:"transport",name:this.transporter.name,version:this.transporter.version,action:"send"},"Sending mail using %s/%s",this.transporter.name,this.transporter.version),this._processPlugins("compile",mail,(err=>{if(err)return this.logger.error({err:err,tnx:"plugin",action:"compile"},"PluginCompile Error: %s",err.message),callback(err);mail.message=new MailComposer(mail.data).compile(),mail.setMailerHeader(),mail.setPriorityHeaders(),mail.setListHeaders(),this._processPlugins("stream",mail,(err=>{if(err)return this.logger.error({err:err,tnx:"plugin",action:"stream"},"PluginStream Error: %s",err.message),callback(err);(mail.data.dkim||this.dkim)&&mail.message.processFunc((input=>{let dkim=mail.data.dkim?new DKIM(mail.data.dkim):this.dkim;return this.logger.debug({tnx:"DKIM",messageId:mail.message.messageId(),dkimDomains:dkim.keys.map((key=>key.keySelector+"."+key.domainName)).join(", ")},"Signing outgoing message with %s keys",dkim.keys.length),dkim.sign(input,mail.data._dkim)})),this.transporter.send(mail,((...args)=>{args[0]&&this.logger.error({err:args[0],tnx:"transport",action:"send"},"Send Error: %s",args[0].message),callback(...args)}))}))})),promise}getVersionString(){return util.format("%s (%s; +%s; %s/%s)",packageData.name,packageData.version,packageData.homepage,this.transporter.name,this.transporter.version)}_processPlugins(step,mail,callback){if(step=(step||"").toString(),!this._userPlugins.hasOwnProperty(step))return callback();let userPlugins=this._userPlugins[step]||[],defaultPlugins=this._defaultPlugins[step]||[];if(userPlugins.length&&this.logger.debug({tnx:"transaction",pluginCount:userPlugins.length,step:step},"Using %s plugins for %s",userPlugins.length,step),userPlugins.length+defaultPlugins.length===0)return callback();let pos=0,block="default",processPlugins=()=>{let curplugins="default"===block?defaultPlugins:userPlugins;if(pos>=curplugins.length){if("default"!==block||!userPlugins.length)return callback();block="user",pos=0,curplugins=userPlugins}(0,curplugins[pos++])(mail,(err=>{if(err)return callback(err);processPlugins()}))};processPlugins()}setupProxy(proxyUrl){let proxy=urllib.parse(proxyUrl);this.getSocket=(options,callback)=>{let protocol=proxy.protocol.replace(/:$/,"").toLowerCase();if(this.meta.has("proxy_handler_"+protocol))return this.meta.get("proxy_handler_"+protocol)(proxy,options,callback);switch(protocol){case"http":case"https":return void httpProxyClient(proxy.href,options.port,options.host,((err,socket)=>err?callback(err):callback(null,{connection:socket})));case"socks":case"socks5":case"socks4":case"socks4a":{if(!this.meta.has("proxy_socks_module"))return callback(new Error("Socks module not loaded"));let connect=ipaddress=>{let proxyV2=!!this.meta.get("proxy_socks_module").SocksClient,socksClient=proxyV2?this.meta.get("proxy_socks_module").SocksClient:this.meta.get("proxy_socks_module"),proxyType=Number(proxy.protocol.replace(/\D/g,""))||5,connectionOpts={proxy:{ipaddress:ipaddress,port:Number(proxy.port),type:proxyType},[proxyV2?"destination":"target"]:{host:options.host,port:options.port},command:"connect"};if(proxy.auth){let username=decodeURIComponent(proxy.auth.split(":").shift()),password=decodeURIComponent(proxy.auth.split(":").pop());proxyV2?(connectionOpts.proxy.userId=username,connectionOpts.proxy.password=password):4===proxyType?connectionOpts.userid=username:connectionOpts.authentication={username:username,password:password}}socksClient.createConnection(connectionOpts,((err,info)=>err?callback(err):callback(null,{connection:info.socket||info})))};return net.isIP(proxy.hostname)?connect(proxy.hostname):dns.resolve(proxy.hostname,((err,address)=>{if(err)return callback(err);connect(Array.isArray(address)?address[0]:address)}))}}callback(new Error("Unknown proxy configuration"))}}_convertDataImages(mail,callback){if(!this.options.attachDataUrls&&!mail.data.attachDataUrls||!mail.data.html)return callback();mail.resolveContent(mail.data,"html",((err,html)=>{if(err)return callback(err);let cidCounter=0;html=(html||"").toString().replace(/(<img\b[^<>]{0,1024} src\s{0,20}=[\s"']{0,20})(data:([^;]+);[^"'>\s]+)/gi,((match,prefix,dataUri,mimeType)=>{let cid=crypto.randomBytes(10).toString("hex")+"@localhost";return mail.data.attachments||(mail.data.attachments=[]),Array.isArray(mail.data.attachments)||(mail.data.attachments=[].concat(mail.data.attachments||[])),mail.data.attachments.push({path:dataUri,cid:cid,filename:"image-"+ ++cidCounter+"."+mimeTypes.detectExtension(mimeType)}),prefix+"cid:"+cid})),mail.data.html=html,callback()}))}set(key,value){return this.meta.set(key,value)}get(key){return this.meta.get(key)}},mailer}function requireSmtpConnection(){if(hasRequiredSmtpConnection)return smtpConnection;hasRequiredSmtpConnection=1;const packageInfo=require$$9,EventEmitter=require$$0__default.default.EventEmitter,net=require$$7__default.default,tls=require$$1__default$2.default,os=require$$0__default$5.default,crypto=require$$0__default$1.default,DataStream=function requireDataStream(){if(hasRequiredDataStream)return dataStream;hasRequiredDataStream=1;const Transform=require$$0__default$2.default.Transform;return dataStream=class DataStream extends Transform{constructor(options){super(options),this.options=options||{},this._curLine="",this.inByteCount=0,this.outByteCount=0,this.lastByte=!1}_transform(chunk,encoding,done){let i,len,buf,chunks=[],chunklen=0,lastPos=0;if(!chunk||!chunk.length)return done();for("string"==typeof chunk&&(chunk=Buffer.from(chunk)),this.inByteCount+=chunk.length,i=0,len=chunk.length;i<len;i++)46===chunk[i]?(i&&10===chunk[i-1]||!i&&(!this.lastByte||10===this.lastByte))&&(buf=chunk.slice(lastPos,i+1),chunks.push(buf),chunks.push(Buffer.from(".")),chunklen+=buf.length+1,lastPos=i+1):10===chunk[i]&&(i&&13!==chunk[i-1]||!i&&13!==this.lastByte)&&(i>lastPos?(buf=chunk.slice(lastPos,i),chunks.push(buf),chunklen+=buf.length+2):chunklen+=2,chunks.push(Buffer.from("\r\n")),lastPos=i+1);chunklen?(lastPos<chunk.length&&(buf=chunk.slice(lastPos),chunks.push(buf),chunklen+=buf.length),this.outByteCount+=chunklen,this.push(Buffer.concat(chunks,chunklen))):(this.outByteCount+=chunk.length,this.push(chunk)),this.lastByte=chunk[chunk.length-1],done()}_flush(done){let buf;buf=10===this.lastByte?Buffer.from(".\r\n"):13===this.lastByte?Buffer.from("\n.\r\n"):Buffer.from("\r\n.\r\n"),this.outByteCount+=buf.length,this.push(buf),done()}}}(),PassThrough=require$$0__default$2.default.PassThrough,shared=requireShared();return smtpConnection=class SMTPConnection extends EventEmitter{constructor(options){super(options),this.id=crypto.randomBytes(8).toString("base64").replace(/\W/g,""),this.stage="init",this.options=options||{},this.secureConnection=!!this.options.secure,this.alreadySecured=!!this.options.secured,this.port=Number(this.options.port)||(this.secureConnection?465:587),this.host=this.options.host||"localhost",this.servername=this.options.servername?this.options.servername:!net.isIP(this.host)&&this.host,this.allowInternalNetworkInterfaces=this.options.allowInternalNetworkInterfaces||!1,void 0===this.options.secure&&465===this.port&&(this.secureConnection=!0),this.name=this.options.name||this._getHostname(),this.logger=shared.getLogger(this.options,{component:this.options.component||"smtp-connection",sid:this.id}),this.customAuth=new Map,Object.keys(this.options.customAuth||{}).forEach((key=>{let mapKey=(key||"").toString().trim().toUpperCase();mapKey&&this.customAuth.set(mapKey,this.options.customAuth[key])})),this.version=packageInfo.version,this.authenticated=!1,this.destroyed=!1,this.secure=!!this.secureConnection,this._remainder="",this._responseQueue=[],this.lastServerResponse=!1,this._socket=!1,this._supportedAuth=[],this.allowsAuth=!1,this._envelope=!1,this._supportedExtensions=[],this._maxAllowedSize=0,this._responseActions=[],this._recipientQueue=[],this._greetingTimeout=!1,this._connectionTimeout=!1,this._destroyed=!1,this._closing=!1,this._onSocketData=chunk=>this._onData(chunk),this._onSocketError=error=>this._onError(error,"ESOCKET",!1,"CONN"),this._onSocketClose=()=>this._onClose(),this._onSocketEnd=()=>this._onEnd(),this._onSocketTimeout=()=>this._onTimeout()}connect(connectCallback){if("function"==typeof connectCallback){this.once("connect",(()=>{this.logger.debug({tnx:"smtp"},"SMTP handshake finished"),connectCallback()}));const isDestroyedMessage=this._isDestroyedMessage("connect");if(isDestroyedMessage)return connectCallback(this._formatError(isDestroyedMessage,"ECONNECTION",!1,"CONN"))}let opts={port:this.port,host:this.host,allowInternalNetworkInterfaces:this.allowInternalNetworkInterfaces,timeout:this.options.dnsTimeout||3e4};this.options.localAddress&&(opts.localAddress=this.options.localAddress);let setupConnectionHandlers=()=>{this._connectionTimeout=setTimeout((()=>{this._onError("Connection timeout","ETIMEDOUT",!1,"CONN")}),this.options.connectionTimeout||12e4),this._socket.on("error",this._onSocketError)};return this.options.connection?(this._socket=this.options.connection,void(this.secureConnection&&!this.alreadySecured?setImmediate((()=>this._upgradeConnection((err=>{err?this._onError(new Error("Error initiating TLS - "+(err.message||err)),"ETLS",!1,"CONN"):this._onConnect()})))):setImmediate((()=>this._onConnect())))):this.options.socket?(this._socket=this.options.socket,shared.resolveHostname(opts,((err,resolved)=>{if(err)return setImmediate((()=>this._onError(err,"EDNS",!1,"CONN")));this.logger.debug({tnx:"dns",source:opts.host,resolved:resolved.host,cached:!!resolved.cached},"Resolved %s as %s [cache %s]",opts.host,resolved.host,resolved.cached?"hit":"miss"),Object.keys(resolved).forEach((key=>{"_"!==key.charAt(0)&&resolved[key]&&(opts[key]=resolved[key])}));try{this._socket.connect(this.port,this.host,(()=>{this._socket.setKeepAlive(!0),this._onConnect()})),setupConnectionHandlers()}catch(E){return setImmediate((()=>this._onError(E,"ECONNECTION",!1,"CONN")))}}))):this.secureConnection?(this.options.tls&&Object.keys(this.options.tls).forEach((key=>{opts[key]=this.options.tls[key]})),this.servername&&!opts.servername&&(opts.servername=this.servername),shared.resolveHostname(opts,((err,resolved)=>{if(err)return setImmediate((()=>this._onError(err,"EDNS",!1,"CONN")));this.logger.debug({tnx:"dns",source:opts.host,resolved:resolved.host,cached:!!resolved.cached},"Resolved %s as %s [cache %s]",opts.host,resolved.host,resolved.cached?"hit":"miss"),Object.keys(resolved).forEach((key=>{"_"!==key.charAt(0)&&resolved[key]&&(opts[key]=resolved[key])}));try{this._socket=tls.connect(opts,(()=>{this._socket.setKeepAlive(!0),this._onConnect()})),setupConnectionHandlers()}catch(E){return setImmediate((()=>this._onError(E,"ECONNECTION",!1,"CONN")))}}))):shared.resolveHostname(opts,((err,resolved)=>{if(err)return setImmediate((()=>this._onError(err,"EDNS",!1,"CONN")));this.logger.debug({tnx:"dns",source:opts.host,resolved:resolved.host,cached:!!resolved.cached},"Resolved %s as %s [cache %s]",opts.host,resolved.host,resolved.cached?"hit":"miss"),Object.keys(resolved).forEach((key=>{"_"!==key.charAt(0)&&resolved[key]&&(opts[key]=resolved[key])}));try{this._socket=net.connect(opts,(()=>{this._socket.setKeepAlive(!0),this._onConnect()})),setupConnectionHandlers()}catch(E){return setImmediate((()=>this._onError(E,"ECONNECTION",!1,"CONN")))}}))}quit(){this._sendCommand("QUIT"),this._responseActions.push(this.close)}close(){if(clearTimeout(this._connectionTimeout),clearTimeout(this._greetingTimeout),this._responseActions=[],this._closing)return;this._closing=!0;let closeMethod="end";"init"===this.stage&&(closeMethod="destroy"),this.logger.debug({tnx:"smtp"},'Closing connection to the server using "%s"',closeMethod);let socket=this._socket&&this._socket.socket||this._socket;if(socket&&!socket.destroyed)try{this._socket[closeMethod]()}catch(E){}this._destroy()}login(authData,callback){const isDestroyedMessage=this._isDestroyedMessage("login");if(isDestroyedMessage)return callback(this._formatError(isDestroyedMessage,"ECONNECTION",!1,"API"));if(this._auth=authData||{},this._authMethod=(this._auth.method||"").toString().trim().toUpperCase()||!1,this._authMethod||!this._auth.oauth2||this._auth.credentials?this._authMethod&&("XOAUTH2"!==this._authMethod||this._auth.oauth2)||(this._authMethod=(this._supportedAuth[0]||"PLAIN").toUpperCase().trim()):this._authMethod="XOAUTH2",!("XOAUTH2"===this._authMethod||this._auth.credentials&&this._auth.credentials.user&&this._auth.credentials.pass)){if(!(this._auth.user&&this._auth.pass||this.customAuth.has(this._authMethod)))return callback(this._formatError('Missing credentials for "'+this._authMethod+'"',"EAUTH",!1,"API"));this._auth.credentials={user:this._auth.user,pass:this._auth.pass,options:this._auth.options}}if(!this.customAuth.has(this._authMethod)){switch(this._authMethod){case"XOAUTH2":return void this._handleXOauth2Token(!1,callback);case"LOGIN":return this._responseActions.push((str=>{this._actionAUTH_LOGIN_USER(str,callback)})),void this._sendCommand("AUTH LOGIN");case"PLAIN":return this._responseActions.push((str=>{this._actionAUTHComplete(str,callback)})),void this._sendCommand("AUTH PLAIN "+Buffer.from("\0"+this._auth.credentials.user+"\0"+this._auth.credentials.pass,"utf-8").toString("base64"),"AUTH PLAIN "+Buffer.from("\0"+this._auth.credentials.user+"\0/* secret */","utf-8").toString("base64"));case"CRAM-MD5":return this._responseActions.push((str=>{this._actionAUTH_CRAM_MD5(str,callback)})),void this._sendCommand("AUTH CRAM-MD5")}return callback(this._formatError('Unknown authentication method "'+this._authMethod+'"',"EAUTH",!1,"API"))}{let lastResponse,handler=this.customAuth.get(this._authMethod),returned=!1,resolve=()=>{returned||(returned=!0,this.logger.info({tnx:"smtp",username:this._auth.user,action:"authenticated",method:this._authMethod},"User %s authenticated",JSON.stringify(this._auth.user)),this.authenticated=!0,callback(null,!0))},reject=err=>{returned||(returned=!0,callback(this._formatError(err,"EAUTH",lastResponse,"AUTH "+this._authMethod)))},handlerResponse=handler({auth:this._auth,method:this._authMethod,extensions:[].concat(this._supportedExtensions),authMethods:[].concat(this._supportedAuth),maxAllowedSize:this._maxAllowedSize||!1,sendCommand:(cmd,done)=>{let promise;return done||(promise=new Promise(((resolve,reject)=>{done=shared.callbackPromise(resolve,reject)}))),this._responseActions.push((str=>{lastResponse=str;let codes=str.match(/^(\d+)(?:\s(\d+\.\d+\.\d+))?\s/),data={command:cmd,response:str};codes?(data.status=Number(codes[1])||0,codes[2]&&(data.code=codes[2]),data.text=str.substr(codes[0].length)):(data.text=str,data.status=0),done(null,data)})),setImmediate((()=>this._sendCommand(cmd))),promise},resolve:resolve,reject:reject});handlerResponse&&"function"==typeof handlerResponse.catch&&handlerResponse.then(resolve).catch(reject)}}send(envelope,message,done){if(!message)return done(this._formatError("Empty message","EMESSAGE",!1,"API"));const isDestroyedMessage=this._isDestroyedMessage("send message");if(isDestroyedMessage)return done(this._formatError(isDestroyedMessage,"ECONNECTION",!1,"API"));if(this._maxAllowedSize&&envelope.size>this._maxAllowedSize)return setImmediate((()=>{done(this._formatError("Message size larger than allowed "+this._maxAllowedSize,"EMESSAGE",!1,"MAIL FROM"))}));let returned=!1,callback=function(){returned||(returned=!0,done(...arguments))};"function"==typeof message.on&&message.on("error",(err=>callback(this._formatError(err,"ESTREAM",!1,"API"))));let startTime=Date.now();this._setEnvelope(envelope,((err,info)=>{if(err)return callback(err);let envelopeTime=Date.now(),stream=this._createSendStream(((err,str)=>err?callback(err):(info.envelopeTime=envelopeTime-startTime,info.messageTime=Date.now()-envelopeTime,info.messageSize=stream.outByteCount,info.response=str,callback(null,info))));"function"==typeof message.pipe?message.pipe(stream):(stream.write(message),stream.end())}))}reset(callback){this._sendCommand("RSET"),this._responseActions.push((str=>"2"!==str.charAt(0)?callback(this._formatError("Could not reset session state. response="+str,"EPROTOCOL",str,"RSET")):(this._envelope=!1,callback(null,!0))))}_onConnect(){clearTimeout(this._connectionTimeout),this.logger.info({tnx:"network",localAddress:this._socket.localAddress,localPort:this._socket.localPort,remoteAddress:this._socket.remoteAddress,remotePort:this._socket.remotePort},"%s established to %s:%s",this.secure?"Secure connection":"Connection",this._socket.remoteAddress,this._socket.remotePort),this._destroyed?this.close():(this.stage="connected",this._socket.removeListener("data",this._onSocketData),this._socket.removeListener("timeout",this._onSocketTimeout),this._socket.removeListener("close",this._onSocketClose),this._socket.removeListener("end",this._onSocketEnd),this._socket.on("data",this._onSocketData),this._socket.once("close",this._onSocketClose),this._socket.once("end",this._onSocketEnd),this._socket.setTimeout(this.options.socketTimeout||6e5),this._socket.on("timeout",this._onSocketTimeout),this._greetingTimeout=setTimeout((()=>{this._socket&&!this._destroyed&&this._responseActions[0]===this._actionGreeting&&this._onError("Greeting never received","ETIMEDOUT",!1,"CONN")}),this.options.greetingTimeout||3e4),this._responseActions.push(this._actionGreeting),this._socket.resume())}_onData(chunk){if(this._destroyed||!chunk||!chunk.length)return;let lastline,data=(chunk||"").toString("binary"),lines=(this._remainder+data).split(/\r?\n/);this._remainder=lines.pop();for(let i=0,len=lines.length;i<len;i++)this._responseQueue.length&&(lastline=this._responseQueue[this._responseQueue.length-1],/^\d+-/.test(lastline.split("\n").pop()))?this._responseQueue[this._responseQueue.length-1]+="\n"+lines[i]:this._responseQueue.push(lines[i]);this._responseQueue.length&&(lastline=this._responseQueue[this._responseQueue.length-1],/^\d+-/.test(lastline.split("\n").pop()))||this._processResponse()}_onError(err,type,data,command){clearTimeout(this._connectionTimeout),clearTimeout(this._greetingTimeout),this._destroyed||(err=this._formatError(err,type,data,command),this.logger.error(data,err.message),this.emit("error",err),this.close())}_formatError(message,type,response,command){let err;err=/Error\]$/i.test(Object.prototype.toString.call(message))?message:new Error(message),type&&"Error"!==type&&(err.code=type),response&&(err.response=response,err.message+=": "+response);let responseCode="string"==typeof response&&Number((response.match(/^\d+/)||[])[0])||!1;return responseCode&&(err.responseCode=responseCode),command&&(err.command=command),err}_onClose(){let serverResponse=!1;return this._remainder&&this._remainder.trim()&&((this.options.debug||this.options.transactionLog)&&this.logger.debug({tnx:"server"},this._remainder.replace(/\r?\n$/,"")),this.lastServerResponse=serverResponse=this._remainder.trim()),this.logger.info({tnx:"network"},"Connection closed"),this.upgrading&&!this._destroyed?this._onError(new Error("Connection closed unexpectedly"),"ETLS",serverResponse,"CONN"):[this._actionGreeting,this.close].includes(this._responseActions[0])||this._destroyed?/^[45]\d{2}\b/.test(serverResponse)?this._onError(new Error("Connection closed unexpectedly"),"ECONNECTION",serverResponse,"CONN"):void this._destroy():this._onError(new Error("Connection closed unexpectedly"),"ECONNECTION",serverResponse,"CONN")}_onEnd(){this._socket&&!this._socket.destroyed&&this._socket.destroy()}_onTimeout(){return this._onError(new Error("Timeout"),"ETIMEDOUT",!1,"CONN")}_destroy(){this._destroyed||(this._destroyed=!0,this.emit("end"))}_upgradeConnection(callback){this._socket.removeListener("data",this._onSocketData),this._socket.removeListener("timeout",this._onSocketTimeout);let socketPlain=this._socket,opts={socket:this._socket,host:this.host};Object.keys(this.options.tls||{}).forEach((key=>{opts[key]=this.options.tls[key]})),this.servername&&!opts.servername&&(opts.servername=this.servername),this.upgrading=!0;try{this._socket=tls.connect(opts,(()=>(this.secure=!0,this.upgrading=!1,this._socket.on("data",this._onSocketData),socketPlain.removeListener("close",this._onSocketClose),socketPlain.removeListener("end",this._onSocketEnd),callback(null,!0))))}catch(err){return callback(err)}this._socket.on("error",this._onSocketError),this._socket.once("close",this._onSocketClose),this._socket.once("end",this._onSocketEnd),this._socket.setTimeout(this.options.socketTimeout||6e5),this._socket.on("timeout",this._onSocketTimeout),socketPlain.resume()}_processResponse(){if(!this._responseQueue.length)return!1;let str=this.lastServerResponse=(this._responseQueue.shift()||"").toString();if(/^\d+-/.test(str.split("\n").pop()))return;(this.options.debug||this.options.transactionLog)&&this.logger.debug({tnx:"server"},str.replace(/\r?\n$/,"")),str.trim()||setImmediate((()=>this._processResponse()));let action=this._responseActions.shift();if("function"!=typeof action)return this._onError(new Error("Unexpected Response"),"EPROTOCOL",str,"CONN");action.call(this,str),setImmediate((()=>this._processResponse()))}_sendCommand(str,logStr){if(!this._destroyed){if(this._socket.destroyed)return this.close();(this.options.debug||this.options.transactionLog)&&this.logger.debug({tnx:"client"},(logStr||str||"").toString().replace(/\r?\n$/,"")),this._socket.write(Buffer.from(str+"\r\n","utf-8"))}}_setEnvelope(envelope,callback){let args=[],useSmtpUtf8=!1;if(this._envelope=envelope||{},this._envelope.from=(this._envelope.from&&this._envelope.from.address||this._envelope.from||"").toString().trim(),this._envelope.to=[].concat(this._envelope.to||[]).map((to=>(to&&to.address||to||"").toString().trim())),!this._envelope.to.length)return callback(this._formatError("No recipients defined","EENVELOPE",!1,"API"));if(this._envelope.from&&/[\r\n<>]/.test(this._envelope.from))return callback(this._formatError("Invalid sender "+JSON.stringify(this._envelope.from),"EENVELOPE",!1,"API"));/[\x80-\uFFFF]/.test(this._envelope.from)&&(useSmtpUtf8=!0);for(let i=0,len=this._envelope.to.length;i<len;i++){if(!this._envelope.to[i]||/[\r\n<>]/.test(this._envelope.to[i]))return callback(this._formatError("Invalid recipient "+JSON.stringify(this._envelope.to[i]),"EENVELOPE",!1,"API"));/[\x80-\uFFFF]/.test(this._envelope.to[i])&&(useSmtpUtf8=!0)}if(this._envelope.rcptQueue=JSON.parse(JSON.stringify(this._envelope.to||[])),this._envelope.rejected=[],this._envelope.rejectedErrors=[],this._envelope.accepted=[],this._envelope.dsn)try{this._envelope.dsn=this._setDsnEnvelope(this._envelope.dsn)}catch(err){return callback(this._formatError("Invalid DSN "+err.message,"EENVELOPE",!1,"API"))}this._responseActions.push((str=>{this._actionMAIL(str,callback)})),useSmtpUtf8&&this._supportedExtensions.includes("SMTPUTF8")&&(args.push("SMTPUTF8"),this._usingSmtpUtf8=!0),this._envelope.use8BitMime&&this._supportedExtensions.includes("8BITMIME")&&(args.push("BODY=8BITMIME"),this._using8BitMime=!0),this._envelope.size&&this._supportedExtensions.includes("SIZE")&&args.push("SIZE="+this._envelope.size),this._envelope.dsn&&this._supportedExtensions.includes("DSN")&&(this._envelope.dsn.ret&&args.push("RET="+shared.encodeXText(this._envelope.dsn.ret)),this._envelope.dsn.envid&&args.push("ENVID="+shared.encodeXText(this._envelope.dsn.envid))),this._sendCommand("MAIL FROM:<"+this._envelope.from+">"+(args.length?" "+args.join(" "):""))}_setDsnEnvelope(params){let ret=(params.ret||params.return||"").toString().toUpperCase()||null;if(ret)switch(ret){case"HDRS":case"HEADERS":ret="HDRS";break;case"FULL":case"BODY":ret="FULL"}if(ret&&!["FULL","HDRS"].includes(ret))throw new Error("ret: "+JSON.stringify(ret));let envid=(params.envid||params.id||"").toString()||null,notify=params.notify||null;if(notify){"string"==typeof notify&&(notify=notify.split(",")),notify=notify.map((n=>n.trim().toUpperCase()));let validNotify=["NEVER","SUCCESS","FAILURE","DELAY"];if(notify.filter((n=>!validNotify.includes(n))).length||notify.length>1&¬ify.includes("NEVER"))throw new Error("notify: "+JSON.stringify(notify.join(",")));notify=notify.join(",")}let orcpt=(params.recipient||params.orcpt||"").toString()||null;return orcpt&&orcpt.indexOf(";")<0&&(orcpt="rfc822;"+orcpt),{ret:ret,envid:envid,notify:notify,orcpt:orcpt}}_getDsnRcptToArgs(){let args=[];return this._envelope.dsn&&this._supportedExtensions.includes("DSN")&&(this._envelope.dsn.notify&&args.push("NOTIFY="+shared.encodeXText(this._envelope.dsn.notify)),this._envelope.dsn.orcpt&&args.push("ORCPT="+shared.encodeXText(this._envelope.dsn.orcpt))),args.length?" "+args.join(" "):""}_createSendStream(callback){let logStream,dataStream=new DataStream;return this.options.lmtp?this._envelope.accepted.forEach(((recipient,i)=>{let final=i===this._envelope.accepted.length-1;this._responseActions.push((str=>{this._actionLMTPStream(recipient,final,str,callback)}))})):this._responseActions.push((str=>{this._actionSMTPStream(str,callback)})),dataStream.pipe(this._socket,{end:!1}),this.options.debug&&(logStream=new PassThrough,logStream.on("readable",(()=>{let chunk;for(;chunk=logStream.read();)this.logger.debug({tnx:"message"},chunk.toString("binary").replace(/\r?\n$/,""))})),dataStream.pipe(logStream)),dataStream.once("end",(()=>{this.logger.info({tnx:"message",inByteCount:dataStream.inByteCount,outByteCount:dataStream.outByteCount},"<%s bytes encoded mime message (source size %s bytes)>",dataStream.outByteCount,dataStream.inByteCount)})),dataStream}_actionGreeting(str){clearTimeout(this._greetingTimeout),"220"===str.substr(0,3)?this.options.lmtp?(this._responseActions.push(this._actionLHLO),this._sendCommand("LHLO "+this.name)):(this._responseActions.push(this._actionEHLO),this._sendCommand("EHLO "+this.name)):this._onError(new Error("Invalid greeting. response="+str),"EPROTOCOL",str,"CONN")}_actionLHLO(str){"2"===str.charAt(0)?this._actionEHLO(str):this._onError(new Error("Invalid LHLO. response="+str),"EPROTOCOL",str,"LHLO")}_actionEHLO(str){let match;if("421"!==str.substr(0,3)){if("2"!==str.charAt(0))return this.options.requireTLS?void this._onError(new Error("EHLO failed but HELO does not support required STARTTLS. response="+str),"ECONNECTION",str,"EHLO"):(this._responseActions.push(this._actionHELO),void this._sendCommand("HELO "+this.name));if(this._ehloLines=str.split(/\r?\n/).map((line=>line.replace(/^\d+[ -]/,"").trim())).filter((line=>line)).slice(1),!this.secure&&!this.options.ignoreTLS&&(/[ -]STARTTLS\b/im.test(str)||this.options.requireTLS))return this._sendCommand("STARTTLS"),void this._responseActions.push(this._actionSTARTTLS);/[ -]SMTPUTF8\b/im.test(str)&&this._supportedExtensions.push("SMTPUTF8"),/[ -]DSN\b/im.test(str)&&this._supportedExtensions.push("DSN"),/[ -]8BITMIME\b/im.test(str)&&this._supportedExtensions.push("8BITMIME"),/[ -]PIPELINING\b/im.test(str)&&this._supportedExtensions.push("PIPELINING"),/[ -]AUTH\b/i.test(str)&&(this.allowsAuth=!0),/[ -]AUTH(?:(\s+|=)[^\n]*\s+|\s+|=)PLAIN/i.test(str)&&this._supportedAuth.push("PLAIN"),/[ -]AUTH(?:(\s+|=)[^\n]*\s+|\s+|=)LOGIN/i.test(str)&&this._supportedAuth.push("LOGIN"),/[ -]AUTH(?:(\s+|=)[^\n]*\s+|\s+|=)CRAM-MD5/i.test(str)&&this._supportedAuth.push("CRAM-MD5"),/[ -]AUTH(?:(\s+|=)[^\n]*\s+|\s+|=)XOAUTH2/i.test(str)&&this._supportedAuth.push("XOAUTH2"),(match=str.match(/[ -]SIZE(?:[ \t]+(\d+))?/im))&&(this._supportedExtensions.push("SIZE"),this._maxAllowedSize=Number(match[1])||0),this.emit("connect")}else this._onError(new Error("Server terminates connection. response="+str),"ECONNECTION",str,"EHLO")}_actionHELO(str){"2"===str.charAt(0)?(this.allowsAuth=!0,this.emit("connect")):this._onError(new Error("Invalid HELO. response="+str),"EPROTOCOL",str,"HELO")}_actionSTARTTLS(str){if("2"!==str.charAt(0))return this.options.opportunisticTLS?(this.logger.info({tnx:"smtp"},"Failed STARTTLS upgrade, continuing unencrypted"),this.emit("connect")):void this._onError(new Error("Error upgrading connection with STARTTLS"),"ETLS",str,"STARTTLS");this._upgradeConnection(((err,secured)=>{err?this._onError(new Error("Error initiating TLS - "+(err.message||err)),"ETLS",!1,"STARTTLS"):(this.logger.info({tnx:"smtp"},"Connection upgraded with STARTTLS"),secured?this.options.lmtp?(this._responseActions.push(this._actionLHLO),this._sendCommand("LHLO "+this.name)):(this._responseActions.push(this._actionEHLO),this._sendCommand("EHLO "+this.name)):this.emit("connect"))}))}_actionAUTH_LOGIN_USER(str,callback){/^334[ -]/.test(str)?(this._responseActions.push((str=>{this._actionAUTH_LOGIN_PASS(str,callback)})),this._sendCommand(Buffer.from(this._auth.credentials.user+"","utf-8").toString("base64"))):callback(this._formatError('Invalid login sequence while waiting for "334 VXNlcm5hbWU6"',"EAUTH",str,"AUTH LOGIN"))}_actionAUTH_CRAM_MD5(str,callback){let challengeMatch=str.match(/^334\s+(.+)$/),challengeString="";if(!challengeMatch)return callback(this._formatError("Invalid login sequence while waiting for server challenge string","EAUTH",str,"AUTH CRAM-MD5"));challengeString=challengeMatch[1];let base64decoded=Buffer.from(challengeString,"base64").toString("ascii"),hmacMD5=crypto.createHmac("md5",this._auth.credentials.pass);hmacMD5.update(base64decoded);let prepended=this._auth.credentials.user+" "+hmacMD5.digest("hex");this._responseActions.push((str=>{this._actionAUTH_CRAM_MD5_PASS(str,callback)})),this._sendCommand(Buffer.from(prepended).toString("base64"),Buffer.from(this._auth.credentials.user+" /* secret */").toString("base64"))}_actionAUTH_CRAM_MD5_PASS(str,callback){if(!str.match(/^235\s+/))return callback(this._formatError('Invalid login sequence while waiting for "235"',"EAUTH",str,"AUTH CRAM-MD5"));this.logger.info({tnx:"smtp",username:this._auth.user,action:"authenticated",method:this._authMethod},"User %s authenticated",JSON.stringify(this._auth.user)),this.authenticated=!0,callback(null,!0)}_actionAUTH_LOGIN_PASS(str,callback){if(!/^334[ -]/.test(str))return callback(this._formatError('Invalid login sequence while waiting for "334 UGFzc3dvcmQ6"',"EAUTH",str,"AUTH LOGIN"));this._responseActions.push((str=>{this._actionAUTHComplete(str,callback)})),this._sendCommand(Buffer.from((this._auth.credentials.pass||"").toString(),"utf-8").toString("base64"),Buffer.from("/* secret */","utf-8").toString("base64"))}_actionAUTHComplete(str,isRetry,callback){return callback||"function"!=typeof isRetry||(callback=isRetry,isRetry=!1),"334"===str.substr(0,3)?(this._responseActions.push((str=>{isRetry||"XOAUTH2"!==this._authMethod?this._actionAUTHComplete(str,!0,callback):setImmediate((()=>this._handleXOauth2Token(!0,callback)))})),void this._sendCommand("")):"2"!==str.charAt(0)?(this.logger.info({tnx:"smtp",username:this._auth.user,action:"authfail",method:this._authMethod},"User %s failed to authenticate",JSON.stringify(this._auth.user)),callback(this._formatError("Invalid login","EAUTH",str,"AUTH "+this._authMethod))):(this.logger.info({tnx:"smtp",username:this._auth.user,action:"authenticated",method:this._authMethod},"User %s authenticated",JSON.stringify(this._auth.user)),this.authenticated=!0,void callback(null,!0))}_actionMAIL(str,callback){let message,curRecipient;if(2!==Number(str.charAt(0)))return message=this._usingSmtpUtf8&&/^550 /.test(str)&&/[\x80-\uFFFF]/.test(this._envelope.from)?"Internationalized mailbox name not allowed":"Mail command failed",callback(this._formatError(message,"EENVELOPE",str,"MAIL FROM"));if(!this._envelope.rcptQueue.length)return callback(this._formatError("Can't send mail - no recipients defined","EENVELOPE",!1,"API"));if(this._recipientQueue=[],this._supportedExtensions.includes("PIPELINING"))for(;this._envelope.rcptQueue.length;)curRecipient=this._envelope.rcptQueue.shift(),this._recipientQueue.push(curRecipient),this._responseActions.push((str=>{this._actionRCPT(str,callback)})),this._sendCommand("RCPT TO:<"+curRecipient+">"+this._getDsnRcptToArgs());else curRecipient=this._envelope.rcptQueue.shift(),this._recipientQueue.push(curRecipient),this._responseActions.push((str=>{this._actionRCPT(str,callback)})),this._sendCommand("RCPT TO:<"+curRecipient+">"+this._getDsnRcptToArgs())}_actionRCPT(str,callback){let message,err,curRecipient=this._recipientQueue.shift();if(2!==Number(str.charAt(0))?(message=this._usingSmtpUtf8&&/^553 /.test(str)&&/[\x80-\uFFFF]/.test(curRecipient)?"Internationalized mailbox name not allowed":"Recipient command failed",this._envelope.rejected.push(curRecipient),err=this._formatError(message,"EENVELOPE",str,"RCPT TO"),err.recipient=curRecipient,this._envelope.rejectedErrors.push(err)):this._envelope.accepted.push(curRecipient),this._envelope.rcptQueue.length||this._recipientQueue.length)this._envelope.rcptQueue.length&&(curRecipient=this._envelope.rcptQueue.shift(),this._recipientQueue.push(curRecipient),this._responseActions.push((str=>{this._actionRCPT(str,callback)})),this._sendCommand("RCPT TO:<"+curRecipient+">"+this._getDsnRcptToArgs()));else{if(!(this._envelope.rejected.length<this._envelope.to.length))return err=this._formatError("Can't send mail - all recipients were rejected","EENVELOPE",str,"RCPT TO"),err.rejected=this._envelope.rejected,err.rejectedErrors=this._envelope.rejectedErrors,callback(err);this._responseActions.push((str=>{this._actionDATA(str,callback)})),this._sendCommand("DATA")}}_actionDATA(str,callback){if(!/^[23]/.test(str))return callback(this._formatError("Data command failed","EENVELOPE",str,"DATA"));let response={accepted:this._envelope.accepted,rejected:this._envelope.rejected};this._ehloLines&&this._ehloLines.length&&(response.ehlo=this._ehloLines),this._envelope.rejectedErrors.length&&(response.rejectedErrors=this._envelope.rejectedErrors),callback(null,response)}_actionSMTPStream(str,callback){return 2!==Number(str.charAt(0))?callback(this._formatError("Message failed","EMESSAGE",str,"DATA")):callback(null,str)}_actionLMTPStream(recipient,final,str,callback){let err;if(2!==Number(str.charAt(0))){err=this._formatError("Message failed for recipient "+recipient,"EMESSAGE",str,"DATA"),err.recipient=recipient,this._envelope.rejected.push(recipient),this._envelope.rejectedErrors.push(err);for(let i=0,len=this._envelope.accepted.length;i<len;i++)this._envelope.accepted[i]===recipient&&this._envelope.accepted.splice(i,1)}if(final)return callback(null,str)}_handleXOauth2Token(isRetry,callback){this._auth.oauth2.getToken(isRetry,((err,accessToken)=>{if(err)return this.logger.info({tnx:"smtp",username:this._auth.user,action:"authfail",method:this._authMethod},"User %s failed to authenticate",JSON.stringify(this._auth.user)),callback(this._formatError(err,"EAUTH",!1,"AUTH XOAUTH2"));this._responseActions.push((str=>{this._actionAUTHComplete(str,isRetry,callback)})),this._sendCommand("AUTH XOAUTH2 "+this._auth.oauth2.buildXOAuth2Token(accessToken),"AUTH XOAUTH2 "+this._auth.oauth2.buildXOAuth2Token("/* secret */"))}))}_isDestroyedMessage(command){if(this._destroyed)return"Cannot "+command+" - smtp connection is already destroyed.";if(this._socket){if(this._socket.destroyed)return"Cannot "+command+" - smtp connection socket is already destroyed.";if(!this._socket.writable)return"Cannot "+command+" - smtp connection socket is already half-closed."}}_getHostname(){let defaultHostname;try{defaultHostname=os.hostname()||""}catch(err){defaultHostname="localhost"}return(!defaultHostname||defaultHostname.indexOf(".")<0)&&(defaultHostname="[127.0.0.1]"),defaultHostname.match(/^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/)&&(defaultHostname="["+defaultHostname+"]"),defaultHostname}},smtpConnection}function requireXoauth2(){if(hasRequiredXoauth2)return xoauth2;hasRequiredXoauth2=1;const Stream=require$$0__default$2.default.Stream,nmfetch=requireFetch(),crypto=require$$0__default$1.default,shared=requireShared();return xoauth2=class XOAuth2 extends Stream{constructor(options,logger){if(super(),this.options=options||{},options&&options.serviceClient){if(!options.privateKey||!options.user)return void setImmediate((()=>this.emit("error",new Error('Options "privateKey" and "user" are required for service account!'))));let serviceRequestTimeout=Math.min(Math.max(Number(this.options.serviceRequestTimeout)||0,0),3600);this.options.serviceRequestTimeout=serviceRequestTimeout||300}if(this.logger=shared.getLogger({logger:logger},{component:this.options.component||"OAuth2"}),this.provisionCallback="function"==typeof this.options.provisionCallback&&this.options.provisionCallback,this.options.accessUrl=this.options.accessUrl||"https://accounts.google.com/o/oauth2/token",this.options.customHeaders=this.options.customHeaders||{},this.options.customParams=this.options.customParams||{},this.accessToken=this.options.accessToken||!1,this.options.expires&&Number(this.options.expires))this.expires=this.options.expires;else{let timeout=Math.max(Number(this.options.timeout)||0,0);this.expires=timeout&&Date.now()+1e3*timeout||0}}getToken(renew,callback){if(!renew&&this.accessToken&&(!this.expires||this.expires>Date.now()))return callback(null,this.accessToken);let generateCallback=(...args)=>{args[0]?this.logger.error({err:args[0],tnx:"OAUTH2",user:this.options.user,action:"renew"},"Failed generating new Access Token for %s",this.options.user):this.logger.info({tnx:"OAUTH2",user:this.options.user,action:"renew"},"Generated new Access Token for %s",this.options.user),callback(...args)};this.provisionCallback?this.provisionCallback(this.options.user,!!renew,((err,accessToken,expires)=>{!err&&accessToken&&(this.accessToken=accessToken,this.expires=expires||0),generateCallback(err,accessToken)})):this.generateToken(generateCallback)}updateToken(accessToken,timeout){this.accessToken=accessToken,timeout=Math.max(Number(timeout)||0,0),this.expires=timeout&&Date.now()+1e3*timeout||0,this.emit("token",{user:this.options.user,accessToken:accessToken||"",expires:this.expires})}generateToken(callback){let urlOptions,loggedUrlOptions;if(this.options.serviceClient){let token,iat=Math.floor(Date.now()/1e3),tokenData={iss:this.options.serviceClient,scope:this.options.scope||"https://mail.google.com/",sub:this.options.user,aud:this.options.accessUrl,iat:iat,exp:iat+this.options.serviceRequestTimeout};try{token=this.jwtSignRS256(tokenData)}catch(err){return callback(new Error("Can't generate token. Check your auth options"))}urlOptions={grant_type:"urn:ietf:params:oauth:grant-type:jwt-bearer",assertion:token},loggedUrlOptions={grant_type:"urn:ietf:params:oauth:grant-type:jwt-bearer",assertion:tokenData}}else{if(!this.options.refreshToken)return callback(new Error("Can't create new access token for user"));urlOptions={client_id:this.options.clientId||"",client_secret:this.options.clientSecret||"",refresh_token:this.options.refreshToken,grant_type:"refresh_token"},loggedUrlOptions={client_id:this.options.clientId||"",client_secret:(this.options.clientSecret||"").substr(0,6)+"...",refresh_token:(this.options.refreshToken||"").substr(0,6)+"...",grant_type:"refresh_token"}}Object.keys(this.options.customParams).forEach((key=>{urlOptions[key]=this.options.customParams[key],loggedUrlOptions[key]=this.options.customParams[key]})),this.logger.debug({tnx:"OAUTH2",user:this.options.user,action:"generate"},"Requesting token using: %s",JSON.stringify(loggedUrlOptions)),this.postRequest(this.options.accessUrl,urlOptions,this.options,((error,body)=>{let data;if(error)return callback(error);try{data=JSON.parse(body.toString())}catch(E){return callback(E)}if(!data||"object"!=typeof data)return this.logger.debug({tnx:"OAUTH2",user:this.options.user,action:"post"},"Response: %s",(body||"").toString()),callback(new Error("Invalid authentication response"));let logData={};if(Object.keys(data).forEach((key=>{logData[key]="access_token"!==key?data[key]:(data[key]||"").toString().substr(0,6)+"..."})),this.logger.debug({tnx:"OAUTH2",user:this.options.user,action:"post"},"Response: %s",JSON.stringify(logData)),data.error){let errorMessage=data.error;return data.error_description&&(errorMessage+=": "+data.error_description),data.error_uri&&(errorMessage+=" ("+data.error_uri+")"),callback(new Error(errorMessage))}return data.access_token?(this.updateToken(data.access_token,data.expires_in),callback(null,this.accessToken)):callback(new Error("No access token"))}))}buildXOAuth2Token(accessToken){let authData=["user="+(this.options.user||""),"auth=Bearer "+(accessToken||this.accessToken),"",""];return Buffer.from(authData.join(""),"utf-8").toString("base64")}postRequest(url,payload,params,callback){let returned=!1,chunks=[],chunklen=0,req=nmfetch(url,{method:"post",headers:params.customHeaders,body:payload,allowErrorResponse:!0});req.on("readable",(()=>{let chunk;for(;null!==(chunk=req.read());)chunks.push(chunk),chunklen+=chunk.length})),req.once("error",(err=>{if(!returned)return returned=!0,callback(err)})),req.once("end",(()=>{if(!returned)return returned=!0,callback(null,Buffer.concat(chunks,chunklen))}))}toBase64URL(data){return"string"==typeof data&&(data=Buffer.from(data)),data.toString("base64").replace(/[=]+/g,"").replace(/\+/g,"-").replace(/\//g,"_")}jwtSignRS256(payload){payload=['{"alg":"RS256","typ":"JWT"}',JSON.stringify(payload)].map((val=>this.toBase64URL(val))).join(".");let signature=crypto.createSign("RSA-SHA256").update(payload).sign(this.options.privateKey);return payload+"."+this.toBase64URL(signature)}},xoauth2}var wellKnown,hasRequiredWellKnown,smtpPool,hasRequiredSmtpPool,smtpTransport,hasRequiredSmtpTransport,sendmailTransport,hasRequiredSendmailTransport,streamTransport,hasRequiredStreamTransport,jsonTransport,hasRequiredJsonTransport,sesTransport,hasRequiredSesTransport,hasRequiredNodemailer,require$$0={126:{host:"smtp.126.com",port:465,secure:!0},163:{host:"smtp.163.com",port:465,secure:!0},"1und1":{host:"smtp.1und1.de",port:465,secure:!0,authMethod:"LOGIN"},Aliyun:{domains:["aliyun.com"],host:"smtp.aliyun.com",port:465,secure:!0},AOL:{domains:["aol.com"],host:"smtp.aol.com",port:587},Bluewin:{host:"smtpauths.bluewin.ch",domains:["bluewin.ch"],port:465},DebugMail:{host:"debugmail.io",port:25},DynectEmail:{aliases:["Dynect"],host:"smtp.dynect.net",port:25},Ethereal:{aliases:["ethereal.email"],host:"smtp.ethereal.email",port:587},FastMail:{domains:["fastmail.fm"],host:"smtp.fastmail.com",port:465,secure:!0},"Forward Email":{aliases:["FE","ForwardEmail"],domains:["forwardemail.net"],host:"smtp.forwardemail.net",port:465,secure:!0},"Feishu Mail":{aliases:["Feishu","FeishuMail"],domains:["www.feishu.cn"],host:"smtp.feishu.cn",port:465,secure:!0},GandiMail:{aliases:["Gandi","Gandi Mail"],host:"mail.gandi.net",port:587},Gmail:{aliases:["Google Mail"],domains:["gmail.com","googlemail.com"],host:"smtp.gmail.com",port:465,secure:!0},Godaddy:{host:"smtpout.secureserver.net",port:25},GodaddyAsia:{host:"smtp.asia.secureserver.net",port:25},GodaddyEurope:{host:"smtp.europe.secureserver.net",port:25},"hot.ee":{host:"mail.hot.ee"},Hotmail:{aliases:["Outlook","Outlook.com","Hotmail.com"],domains:["hotmail.com","outlook.com"],host:"smtp-mail.outlook.com",port:587},iCloud:{aliases:["Me","Mac"],domains:["me.com","mac.com"],host:"smtp.mail.me.com",port:587},Infomaniak:{host:"mail.infomaniak.com",domains:["ik.me","ikmail.com","etik.com"],port:587},Loopia:{host:"mailcluster.loopia.se",port:465},"mail.ee":{host:"smtp.mail.ee"},"Mail.ru":{host:"smtp.mail.ru",port:465,secure:!0},"Mailcatch.app":{host:"sandbox-smtp.mailcatch.app",port:2525},Maildev:{port:1025,ignoreTLS:!0},Mailgun:{host:"smtp.mailgun.org",port:465,secure:!0},Mailjet:{host:"in.mailjet.com",port:587},Mailosaur:{host:"mailosaur.io",port:25},Mailtrap:{host:"live.smtp.mailtrap.io",port:587},Mandrill:{host:"smtp.mandrillapp.com",port:587},Naver:{host:"smtp.naver.com",port:587},One:{host:"send.one.com",port:465,secure:!0},OpenMailBox:{aliases:["OMB","openmailbox.org"],host:"smtp.openmailbox.org",port:465,secure:!0},Outlook365:{host:"smtp.office365.com",port:587,secure:!1},OhMySMTP:{host:"smtp.ohmysmtp.com",port:587,secure:!1},Postmark:{aliases:["PostmarkApp"],host:"smtp.postmarkapp.com",port:2525},"qiye.aliyun":{host:"smtp.mxhichina.com",port:"465",secure:!0},QQ:{domains:["qq.com"],host:"smtp.qq.com",port:465,secure:!0},QQex:{aliases:["QQ Enterprise"],domains:["exmail.qq.com"],host:"smtp.exmail.qq.com",port:465,secure:!0},SendCloud:{host:"smtp.sendcloud.net",port:2525},SendGrid:{host:"smtp.sendgrid.net",port:587},SendinBlue:{aliases:["Brevo"],host:"smtp-relay.brevo.com",port:587},SendPulse:{host:"smtp-pulse.com",port:465,secure:!0},SES:{host:"email-smtp.us-east-1.amazonaws.com",port:465,secure:!0},"SES-US-EAST-1":{host:"email-smtp.us-east-1.amazonaws.com",port:465,secure:!0},"SES-US-WEST-2":{host:"email-smtp.us-west-2.amazonaws.com",port:465,secure:!0},"SES-EU-WEST-1":{host:"email-smtp.eu-west-1.amazonaws.com",port:465,secure:!0},"SES-AP-SOUTH-1":{host:"email-smtp.ap-south-1.amazonaws.com",port:465,secure:!0},"SES-AP-NORTHEAST-1":{host:"email-smtp.ap-northeast-1.amazonaws.com",port:465,secure:!0},"SES-AP-NORTHEAST-2":{host:"email-smtp.ap-northeast-2.amazonaws.com",port:465,secure:!0},"SES-AP-NORTHEAST-3":{host:"email-smtp.ap-northeast-3.amazonaws.com",port:465,secure:!0},"SES-AP-SOUTHEAST-1":{host:"email-smtp.ap-southeast-1.amazonaws.com",port:465,secure:!0},"SES-AP-SOUTHEAST-2":{host:"email-smtp.ap-southeast-2.amazonaws.com",port:465,secure:!0},Sparkpost:{aliases:["SparkPost","SparkPost Mail"],domains:["sparkpost.com"],host:"smtp.sparkpostmail.com",port:587,secure:!1},Tipimail:{host:"smtp.tipimail.com",port:587},Yahoo:{domains:["yahoo.com"],host:"smtp.mail.yahoo.com",port:465,secure:!0},Yandex:{domains:["yandex.ru"],host:"smtp.yandex.ru",port:465,secure:!0},Zoho:{host:"smtp.zoho.com",port:465,secure:!0,authMethod:"LOGIN"}};function requireWellKnown(){if(hasRequiredWellKnown)return wellKnown;hasRequiredWellKnown=1;const services=require$$0,normalized={};function normalizeKey(key){return key.replace(/[^a-zA-Z0-9.-]/g,"").toLowerCase()}function normalizeService(service){let filter=["domains","aliases"],response={};return Object.keys(service).forEach((key=>{filter.indexOf(key)<0&&(response[key]=service[key])})),response}return Object.keys(services).forEach((key=>{let service=services[key];normalized[normalizeKey(key)]=normalizeService(service),[].concat(service.aliases||[]).forEach((alias=>{normalized[normalizeKey(alias)]=normalizeService(service)})),[].concat(service.domains||[]).forEach((domain=>{normalized[normalizeKey(domain)]=normalizeService(service)}))})),wellKnown=function(key){return key=normalizeKey(key.split("@").pop()),normalized[key]||!1}}function requireSmtpPool(){if(hasRequiredSmtpPool)return smtpPool;hasRequiredSmtpPool=1;const EventEmitter=require$$0__default.default,PoolResource=function requirePoolResource(){if(hasRequiredPoolResource)return poolResource;hasRequiredPoolResource=1;const SMTPConnection=requireSmtpConnection(),assign=requireShared().assign,XOAuth2=requireXoauth2(),EventEmitter=require$$0__default.default;return poolResource=class PoolResource extends EventEmitter{constructor(pool){if(super(),this.pool=pool,this.options=pool.options,this.logger=this.pool.logger,this.options.auth)switch((this.options.auth.type||"").toString().toUpperCase()){case"OAUTH2":{let oauth2=new XOAuth2(this.options.auth,this.logger);oauth2.provisionCallback=this.pool.mailer&&this.pool.mailer.get("oauth2_provision_cb")||oauth2.provisionCallback,this.auth={type:"OAUTH2",user:this.options.auth.user,oauth2:oauth2,method:"XOAUTH2"},oauth2.on("token",(token=>this.pool.mailer.emit("token",token))),oauth2.on("error",(err=>this.emit("error",err)));break}default:if(!this.options.auth.user&&!this.options.auth.pass)break;this.auth={type:(this.options.auth.type||"").toString().toUpperCase()||"LOGIN",user:this.options.auth.user,credentials:{user:this.options.auth.user||"",pass:this.options.auth.pass,options:this.options.auth.options},method:(this.options.auth.method||"").trim().toUpperCase()||this.options.authMethod||!1}}this._connection=!1,this._connected=!1,this.messages=0,this.available=!0}connect(callback){this.pool.getSocket(this.options,((err,socketOptions)=>{if(err)return callback(err);let returned=!1,options=this.options;socketOptions&&socketOptions.connection&&(this.logger.info({tnx:"proxy",remoteAddress:socketOptions.connection.remoteAddress,remotePort:socketOptions.connection.remotePort,destHost:options.host||"",destPort:options.port||"",action:"connected"},"Using proxied socket from %s:%s to %s:%s",socketOptions.connection.remoteAddress,socketOptions.connection.remotePort,options.host||"",options.port||""),options=assign(!1,options),Object.keys(socketOptions).forEach((key=>{options[key]=socketOptions[key]}))),this.connection=new SMTPConnection(options),this.connection.once("error",(err=>{if(this.emit("error",err),!returned)return returned=!0,callback(err)})),this.connection.once("end",(()=>{if(this.close(),returned)return;returned=!0;let timer=setTimeout((()=>{if(returned)return;let err=new Error("Unexpected socket close");this.connection&&this.connection._socket&&this.connection._socket.upgrading&&(err.code="ETLS"),callback(err)}),1e3);try{timer.unref()}catch(E){}})),this.connection.connect((()=>{if(!returned)return this.auth&&(this.connection.allowsAuth||options.forceAuth)?void this.connection.login(this.auth,(err=>{if(!returned){if(returned=!0,err)return this.connection.close(),this.emit("error",err),callback(err);this._connected=!0,callback(null,!0)}})):(returned=!0,this._connected=!0,callback(null,!0))}))}))}send(mail,callback){if(!this._connected)return this.connect((err=>err?callback(err):this.send(mail,callback)));let envelope=mail.message.getEnvelope(),messageId=mail.message.messageId(),recipients=[].concat(envelope.to||[]);recipients.length>3&&recipients.push("...and "+recipients.splice(2).length+" more"),this.logger.info({tnx:"send",messageId:messageId,cid:this.id},"Sending message %s using #%s to <%s>",messageId,this.id,recipients.join(", ")),mail.data.dsn&&(envelope.dsn=mail.data.dsn),this.connection.send(envelope,mail.message.createReadStream(),((err,info)=>{if(this.messages++,err)return this.connection.close(),this.emit("error",err),callback(err);info.envelope={from:envelope.from,to:envelope.to},info.messageId=messageId,setImmediate((()=>{let err;this.messages>=this.options.maxMessages?(err=new Error("Resource exhausted"),err.code="EMAXLIMIT",this.connection.close(),this.emit("error",err)):this.pool._checkRateLimit((()=>{this.available=!0,this.emit("available")}))})),callback(null,info)}))}close(){this._connected=!1,this.auth&&this.auth.oauth2&&this.auth.oauth2.removeAllListeners(),this.connection&&this.connection.close(),this.emit("close")}},poolResource}(),SMTPConnection=requireSmtpConnection(),wellKnown=requireWellKnown(),shared=requireShared(),packageData=require$$9;return smtpPool=class SMTPPool extends EventEmitter{constructor(options){let urlData;super(),"string"==typeof(options=options||{})&&(options={url:options});let service=options.service;"function"==typeof options.getSocket&&(this.getSocket=options.getSocket),options.url&&(urlData=shared.parseConnectionUrl(options.url),service=service||urlData.service),this.options=shared.assign(!1,options,urlData,service&&wellKnown(service)),this.options.maxConnections=this.options.maxConnections||5,this.options.maxMessages=this.options.maxMessages||100,this.logger=shared.getLogger(this.options,{component:this.options.component||"smtp-pool"});let connection=new SMTPConnection(this.options);this.name="SMTP (pool)",this.version=packageData.version+"[client:"+connection.version+"]",this._rateLimit={counter:0,timeout:null,waiting:[],checkpoint:!1,delta:Number(this.options.rateDelta)||1e3,limit:Number(this.options.rateLimit)||0},this._closed=!1,this._queue=[],this._connections=[],this._connectionCounter=0,this.idling=!0,setImmediate((()=>{this.idling&&this.emit("idle")}))}getSocket(options,callback){return setImmediate((()=>callback(null,!1)))}send(mail,callback){return!this._closed&&(this._queue.push({mail:mail,requeueAttempts:0,callback:callback}),this.idling&&this._queue.length>=this.options.maxConnections&&(this.idling=!1),setImmediate((()=>this._processMessages())),!0)}close(){let connection,len=this._connections.length;if(this._closed=!0,clearTimeout(this._rateLimit.timeout),!len&&!this._queue.length)return;for(let i=len-1;i>=0;i--)this._connections[i]&&this._connections[i].available&&(connection=this._connections[i],connection.close(),this.logger.info({tnx:"connection",cid:connection.id,action:"removed"},"Connection #%s removed",connection.id));if(len&&!this._connections.length&&this.logger.debug({tnx:"connection"},"All connections removed"),!this._queue.length)return;let invokeCallbacks=()=>{if(!this._queue.length)return void this.logger.debug({tnx:"connection"},"Pending queue entries cleared");let entry=this._queue.shift();if(entry&&"function"==typeof entry.callback)try{entry.callback(new Error("Connection pool was closed"))}catch(E){this.logger.error({err:E,tnx:"callback",cid:connection.id},"Callback error for #%s: %s",connection.id,E.message)}setImmediate(invokeCallbacks)};setImmediate(invokeCallbacks)}_processMessages(){let connection,i,len;if(this._closed)return;if(!this._queue.length)return void(this.idling||(this.idling=!0,this.emit("idle")));for(i=0,len=this._connections.length;i<len;i++)if(this._connections[i].available){connection=this._connections[i];break}if(!connection&&this._connections.length<this.options.maxConnections&&(connection=this._createConnection()),!connection)return void(this.idling=!1);!this.idling&&this._queue.length<this.options.maxConnections&&(this.idling=!0,this.emit("idle"));let entry=connection.queueEntry=this._queue.shift();entry.messageId=(connection.queueEntry.mail.message.getHeader("message-id")||"").replace(/[<>\s]/g,""),connection.available=!1,this.logger.debug({tnx:"pool",cid:connection.id,messageId:entry.messageId,action:"assign"},"Assigned message <%s> to #%s (%s)",entry.messageId,connection.id,connection.messages+1),this._rateLimit.limit&&(this._rateLimit.counter++,this._rateLimit.checkpoint||(this._rateLimit.checkpoint=Date.now())),connection.send(entry.mail,((err,info)=>{if(entry===connection.queueEntry){try{entry.callback(err,info)}catch(E){this.logger.error({err:E,tnx:"callback",cid:connection.id},"Callback error for #%s: %s",connection.id,E.message)}connection.queueEntry=!1}}))}_createConnection(){let connection=new PoolResource(this);return connection.id=++this._connectionCounter,this.logger.info({tnx:"pool",cid:connection.id,action:"conection"},"Created new pool resource #%s",connection.id),connection.on("available",(()=>{this.logger.debug({tnx:"connection",cid:connection.id,action:"available"},"Connection #%s became available",connection.id),this._closed?this.close():this._processMessages()})),connection.once("error",(err=>{if("EMAXLIMIT"!==err.code?this.logger.error({err:err,tnx:"pool",cid:connection.id},"Pool Error for #%s: %s",connection.id,err.message):this.logger.debug({tnx:"pool",cid:connection.id,action:"maxlimit"},"Max messages limit exchausted for #%s",connection.id),connection.queueEntry){try{connection.queueEntry.callback(err)}catch(E){this.logger.error({err:E,tnx:"callback",cid:connection.id},"Callback error for #%s: %s",connection.id,E.message)}connection.queueEntry=!1}this._removeConnection(connection),this._continueProcessing()})),connection.once("close",(()=>{this.logger.info({tnx:"connection",cid:connection.id,action:"closed"},"Connection #%s was closed",connection.id),this._removeConnection(connection),connection.queueEntry?setTimeout((()=>{connection.queueEntry&&(this._shouldRequeuOnConnectionClose(connection.queueEntry)?this._requeueEntryOnConnectionClose(connection):this._failDeliveryOnConnectionClose(connection)),this._continueProcessing()}),50):this._continueProcessing()})),this._connections.push(connection),connection}_shouldRequeuOnConnectionClose(queueEntry){return void 0===this.options.maxRequeues||this.options.maxRequeues<0||queueEntry.requeueAttempts<this.options.maxRequeues}_failDeliveryOnConnectionClose(connection){if(connection.queueEntry&&connection.queueEntry.callback){try{connection.queueEntry.callback(new Error("Reached maximum number of retries after connection was closed"))}catch(E){this.logger.error({err:E,tnx:"callback",messageId:connection.queueEntry.messageId,cid:connection.id},"Callback error for #%s: %s",connection.id,E.message)}connection.queueEntry=!1}}_requeueEntryOnConnectionClose(connection){connection.queueEntry.requeueAttempts=connection.queueEntry.requeueAttempts+1,this.logger.debug({tnx:"pool",cid:connection.id,messageId:connection.queueEntry.messageId,action:"requeue"},"Re-queued message <%s> for #%s. Attempt: #%s",connection.queueEntry.messageId,connection.id,connection.queueEntry.requeueAttempts),this._queue.unshift(connection.queueEntry),connection.queueEntry=!1}_continueProcessing(){this._closed?this.close():setTimeout((()=>this._processMessages()),100)}_removeConnection(connection){let index=this._connections.indexOf(connection);-1!==index&&this._connections.splice(index,1)}_checkRateLimit(callback){if(!this._rateLimit.limit)return callback();let now=Date.now();return this._rateLimit.counter<this._rateLimit.limit?callback():(this._rateLimit.waiting.push(callback),this._rateLimit.checkpoint<=now-this._rateLimit.delta?this._clearRateLimit():void(this._rateLimit.timeout||(this._rateLimit.timeout=setTimeout((()=>this._clearRateLimit()),this._rateLimit.delta-(now-this._rateLimit.checkpoint)),this._rateLimit.checkpoint=now)))}_clearRateLimit(){for(clearTimeout(this._rateLimit.timeout),this._rateLimit.timeout=null,this._rateLimit.counter=0,this._rateLimit.checkpoint=!1;this._rateLimit.waiting.length;){let cb=this._rateLimit.waiting.shift();setImmediate(cb)}}isIdle(){return this.idling}verify(callback){let promise;callback||(promise=new Promise(((resolve,reject)=>{callback=shared.callbackPromise(resolve,reject)})));let auth=new PoolResource(this).auth;return this.getSocket(this.options,((err,socketOptions)=>{if(err)return callback(err);let options=this.options;socketOptions&&socketOptions.connection&&(this.logger.info({tnx:"proxy",remoteAddress:socketOptions.connection.remoteAddress,remotePort:socketOptions.connection.remotePort,destHost:options.host||"",destPort:options.port||"",action:"connected"},"Using proxied socket from %s:%s to %s:%s",socketOptions.connection.remoteAddress,socketOptions.connection.remotePort,options.host||"",options.port||""),options=shared.assign(!1,options),Object.keys(socketOptions).forEach((key=>{options[key]=socketOptions[key]})));let connection=new SMTPConnection(options),returned=!1;connection.once("error",(err=>{if(!returned)return returned=!0,connection.close(),callback(err)})),connection.once("end",(()=>{if(!returned)return returned=!0,callback(new Error("Connection closed"))}));let finalize=()=>{if(!returned)return returned=!0,connection.quit(),callback(null,!0)};connection.connect((()=>{if(!returned)if(auth&&(connection.allowsAuth||options.forceAuth))connection.login(auth,(err=>{if(!returned)return err?(returned=!0,connection.close(),callback(err)):void finalize()}));else{if(!auth&&connection.allowsAuth&&options.forceAuth){let err=new Error("Authentication info was not provided");return err.code="NoAuth",returned=!0,connection.close(),callback(err)}finalize()}}))})),promise}},smtpPool}function requireSesTransport(){if(hasRequiredSesTransport)return sesTransport;hasRequiredSesTransport=1;const EventEmitter=require$$0__default.default,packageData=require$$9,shared=requireShared(),LeWindows=requireLeWindows();return sesTransport=class SESTransport extends EventEmitter{constructor(options){super(),options=options||{},this.options=options||{},this.ses=this.options.SES,this.name="SESTransport",this.version=packageData.version,this.logger=shared.getLogger(this.options,{component:this.options.component||"ses-transport"}),this.maxConnections=Number(this.options.maxConnections)||1/0,this.connections=0,this.sendingRate=Number(this.options.sendingRate)||1/0,this.sendingRateTTL=null,this.rateInterval=1e3,this.rateMessages=[],this.pending=[],this.idling=!0,setImmediate((()=>{this.idling&&this.emit("idle")}))}send(mail,callback){return this.connections>=this.maxConnections?(this.idling=!1,this.pending.push({mail:mail,callback:callback})):this._checkSendingRate()?void this._send(mail,((...args)=>{setImmediate((()=>callback(...args))),this._sent()})):(this.idling=!1,this.pending.push({mail:mail,callback:callback}))}_checkRatedQueue(){if(this.connections>=this.maxConnections||!this._checkSendingRate())return;if(!this.pending.length)return void(this.idling||(this.idling=!0,this.emit("idle")));let next=this.pending.shift();this._send(next.mail,((...args)=>{setImmediate((()=>next.callback(...args))),this._sent()}))}_checkSendingRate(){clearTimeout(this.sendingRateTTL);let now=Date.now(),oldest=!1;for(let i=this.rateMessages.length-1;i>=0;i--)this.rateMessages[i].ts>=now-this.rateInterval&&(!oldest||this.rateMessages[i].ts<oldest)&&(oldest=this.rateMessages[i].ts),this.rateMessages[i].ts<now-this.rateInterval&&!this.rateMessages[i].pending&&this.rateMessages.splice(i,1);if(this.rateMessages.length<this.sendingRate)return!0;let delay=Math.max(oldest+1001,now+20);this.sendingRateTTL=setTimeout((()=>this._checkRatedQueue()),now-delay);try{this.sendingRateTTL.unref()}catch(E){}return!1}_sent(){this.connections--,this._checkRatedQueue()}isIdle(){return this.idling}_send(mail,callback){let statObject={ts:Date.now(),pending:!0};this.connections++,this.rateMessages.push(statObject);let envelope=mail.data.envelope||mail.message.getEnvelope(),messageId=mail.message.messageId(),recipients=[].concat(envelope.to||[]);recipients.length>3&&recipients.push("...and "+recipients.splice(2).length+" more"),this.logger.info({tnx:"send",messageId:messageId},"Sending message %s to <%s>",messageId,recipients.join(", "));setImmediate((()=>(next=>{mail.data._dkim||(mail.data._dkim={}),mail.data._dkim.skipFields&&"string"==typeof mail.data._dkim.skipFields?mail.data._dkim.skipFields+=":date:message-id":mail.data._dkim.skipFields="date:message-id";let sourceStream=mail.message.createReadStream(),stream=sourceStream.pipe(new LeWindows),chunks=[],chunklen=0;stream.on("readable",(()=>{let chunk;for(;null!==(chunk=stream.read());)chunks.push(chunk),chunklen+=chunk.length})),sourceStream.once("error",(err=>stream.emit("error",err))),stream.once("error",(err=>{next(err)})),stream.once("end",(()=>next(null,Buffer.concat(chunks,chunklen))))})(((err,raw)=>{if(err)return this.logger.error({err:err,tnx:"send",messageId:messageId},"Failed creating message for %s. %s",messageId,err.message),statObject.pending=!1,callback(err);let sesMessage={RawMessage:{Data:raw},Source:envelope.from,Destinations:envelope.to};Object.keys(mail.data.ses||{}).forEach((key=>{sesMessage[key]=mail.data.ses[key]}));let ses=(this.ses.aws?this.ses.ses:this.ses)||{},aws=this.ses.aws||{};var cb;cb=(err,region)=>{let sendPromise;!err&®ion||(region="us-east-1"),sendPromise="function"==typeof ses.send&&aws.SendRawEmailCommand?ses.send(new aws.SendRawEmailCommand(sesMessage)):ses.sendRawEmail(sesMessage).promise(),sendPromise.then((data=>{"us-east-1"===region&&(region="email"),statObject.pending=!1,callback(null,{envelope:{from:envelope.from,to:envelope.to},messageId:"<"+data.MessageId+(/@/.test(data.MessageId)?"":"@"+region+".amazonses.com")+">",response:data.MessageId,raw:raw})})).catch((err=>{this.logger.error({err:err,tnx:"send"},"Send error for %s: %s",messageId,err.message),statObject.pending=!1,callback(err)}))},ses.config&&"function"==typeof ses.config.region?ses.config.region().then((region=>cb(null,region))).catch((err=>cb(err))):cb(null,ses.config&&ses.config.region||"us-east-1")}))))}verify(callback){let promise,ses=(this.ses.aws?this.ses.ses:this.ses)||{},aws=this.ses.aws||{};const sesMessage={RawMessage:{Data:"From: invalid@invalid\r\nTo: invalid@invalid\r\n Subject: Invalid\r\n\r\nInvalid"},Source:"invalid@invalid",Destinations:["invalid@invalid"]};callback||(promise=new Promise(((resolve,reject)=>{callback=shared.callbackPromise(resolve,reject)})));const cb=err=>err&&"InvalidParameterValue"!==(err.code||err.Code)?callback(err):callback(null,!0);return"function"==typeof ses.send&&aws.SendRawEmailCommand?(sesMessage.RawMessage.Data=Buffer.from(sesMessage.RawMessage.Data),ses.send(new aws.SendRawEmailCommand(sesMessage),cb)):ses.sendRawEmail(sesMessage,cb),promise}},sesTransport}var nodemailerExports=function requireNodemailer(){if(hasRequiredNodemailer)return nodemailer$1;hasRequiredNodemailer=1;const Mailer=requireMailer(),shared=requireShared(),SMTPPool=requireSmtpPool(),SMTPTransport=function requireSmtpTransport(){if(hasRequiredSmtpTransport)return smtpTransport;hasRequiredSmtpTransport=1;const EventEmitter=require$$0__default.default,SMTPConnection=requireSmtpConnection(),wellKnown=requireWellKnown(),shared=requireShared(),XOAuth2=requireXoauth2(),packageData=require$$9;return smtpTransport=class SMTPTransport extends EventEmitter{constructor(options){let urlData;super(),"string"==typeof(options=options||{})&&(options={url:options});let service=options.service;"function"==typeof options.getSocket&&(this.getSocket=options.getSocket),options.url&&(urlData=shared.parseConnectionUrl(options.url),service=service||urlData.service),this.options=shared.assign(!1,options,urlData,service&&wellKnown(service)),this.logger=shared.getLogger(this.options,{component:this.options.component||"smtp-transport"});let connection=new SMTPConnection(this.options);this.name="SMTP",this.version=packageData.version+"[client:"+connection.version+"]",this.options.auth&&(this.auth=this.getAuth({}))}getSocket(options,callback){return setImmediate((()=>callback(null,!1)))}getAuth(authOpts){if(!authOpts)return this.auth;let hasAuth=!1,authData={};if(this.options.auth&&"object"==typeof this.options.auth&&Object.keys(this.options.auth).forEach((key=>{hasAuth=!0,authData[key]=this.options.auth[key]})),authOpts&&"object"==typeof authOpts&&Object.keys(authOpts).forEach((key=>{hasAuth=!0,authData[key]=authOpts[key]})),!hasAuth)return!1;if("OAUTH2"===(authData.type||"").toString().toUpperCase()){if(!authData.service&&!authData.user)return!1;let oauth2=new XOAuth2(authData,this.logger);return oauth2.provisionCallback=this.mailer&&this.mailer.get("oauth2_provision_cb")||oauth2.provisionCallback,oauth2.on("token",(token=>this.mailer.emit("token",token))),oauth2.on("error",(err=>this.emit("error",err))),{type:"OAUTH2",user:authData.user,oauth2:oauth2,method:"XOAUTH2"}}return{type:(authData.type||"").toString().toUpperCase()||"LOGIN",user:authData.user,credentials:{user:authData.user||"",pass:authData.pass,options:authData.options},method:(authData.method||"").trim().toUpperCase()||this.options.authMethod||!1}}send(mail,callback){this.getSocket(this.options,((err,socketOptions)=>{if(err)return callback(err);let returned=!1,options=this.options;socketOptions&&socketOptions.connection&&(this.logger.info({tnx:"proxy",remoteAddress:socketOptions.connection.remoteAddress,remotePort:socketOptions.connection.remotePort,destHost:options.host||"",destPort:options.port||"",action:"connected"},"Using proxied socket from %s:%s to %s:%s",socketOptions.connection.remoteAddress,socketOptions.connection.remotePort,options.host||"",options.port||""),options=shared.assign(!1,options),Object.keys(socketOptions).forEach((key=>{options[key]=socketOptions[key]})));let connection=new SMTPConnection(options);connection.once("error",(err=>{if(!returned)return returned=!0,connection.close(),callback(err)})),connection.once("end",(()=>{if(returned)return;let timer=setTimeout((()=>{if(returned)return;returned=!0;let err=new Error("Unexpected socket close");connection&&connection._socket&&connection._socket.upgrading&&(err.code="ETLS"),callback(err)}),1e3);try{timer.unref()}catch(E){}}));let sendMessage=()=>{let envelope=mail.message.getEnvelope(),messageId=mail.message.messageId(),recipients=[].concat(envelope.to||[]);recipients.length>3&&recipients.push("...and "+recipients.splice(2).length+" more"),mail.data.dsn&&(envelope.dsn=mail.data.dsn),this.logger.info({tnx:"send",messageId:messageId},"Sending message %s to <%s>",messageId,recipients.join(", ")),connection.send(envelope,mail.message.createReadStream(),((err,info)=>{if(returned=!0,connection.close(),err)return this.logger.error({err:err,tnx:"send"},"Send error for %s: %s",messageId,err.message),callback(err);info.envelope={from:envelope.from,to:envelope.to},info.messageId=messageId;try{return callback(null,info)}catch(E){this.logger.error({err:E,tnx:"callback"},"Callback error for %s: %s",messageId,E.message)}}))};connection.connect((()=>{if(returned)return;let auth=this.getAuth(mail.data.auth);auth&&(connection.allowsAuth||options.forceAuth)?connection.login(auth,(err=>{if(auth&&auth!==this.auth&&auth.oauth2&&auth.oauth2.removeAllListeners(),!returned)return err?(returned=!0,connection.close(),callback(err)):void sendMessage()})):sendMessage()}))}))}verify(callback){let promise;return callback||(promise=new Promise(((resolve,reject)=>{callback=shared.callbackPromise(resolve,reject)}))),this.getSocket(this.options,((err,socketOptions)=>{if(err)return callback(err);let options=this.options;socketOptions&&socketOptions.connection&&(this.logger.info({tnx:"proxy",remoteAddress:socketOptions.connection.remoteAddress,remotePort:socketOptions.connection.remotePort,destHost:options.host||"",destPort:options.port||"",action:"connected"},"Using proxied socket from %s:%s to %s:%s",socketOptions.connection.remoteAddress,socketOptions.connection.remotePort,options.host||"",options.port||""),options=shared.assign(!1,options),Object.keys(socketOptions).forEach((key=>{options[key]=socketOptions[key]})));let connection=new SMTPConnection(options),returned=!1;connection.once("error",(err=>{if(!returned)return returned=!0,connection.close(),callback(err)})),connection.once("end",(()=>{if(!returned)return returned=!0,callback(new Error("Connection closed"))}));let finalize=()=>{if(!returned)return returned=!0,connection.quit(),callback(null,!0)};connection.connect((()=>{if(returned)return;let authData=this.getAuth({});if(authData&&(connection.allowsAuth||options.forceAuth))connection.login(authData,(err=>{if(!returned)return err?(returned=!0,connection.close(),callback(err)):void finalize()}));else{if(!authData&&connection.allowsAuth&&options.forceAuth){let err=new Error("Authentication info was not provided");return err.code="NoAuth",returned=!0,connection.close(),callback(err)}finalize()}}))})),promise}close(){this.auth&&this.auth.oauth2&&this.auth.oauth2.removeAllListeners(),this.emit("close")}},smtpTransport}(),SendmailTransport=function requireSendmailTransport(){if(hasRequiredSendmailTransport)return sendmailTransport;hasRequiredSendmailTransport=1;const spawn=require$$0__default$6.default.spawn,packageData=require$$9,shared=requireShared();return sendmailTransport=class SendmailTransport{constructor(options){options=options||{},this._spawn=spawn,this.options=options||{},this.name="Sendmail",this.version=packageData.version,this.path="sendmail",this.args=!1,this.winbreak=!1,this.logger=shared.getLogger(this.options,{component:this.options.component||"sendmail"}),options&&("string"==typeof options?this.path=options:"object"==typeof options&&(options.path&&(this.path=options.path),Array.isArray(options.args)&&(this.args=options.args),this.winbreak=["win","windows","dos","\r\n"].includes((options.newline||"").toString().toLowerCase())))}send(mail,done){mail.message.keepBcc=!0;let args,sendmail,returned,envelope=mail.data.envelope||mail.message.getEnvelope(),messageId=mail.message.messageId();if([].concat(envelope.from||[]).concat(envelope.to||[]).some((addr=>/^-/.test(addr))))return done(new Error("Can not send mail. Invalid envelope addresses."));args=this.args?["-i"].concat(this.args).concat(envelope.to):["-i"].concat(envelope.from?["-f",envelope.from]:[]).concat(envelope.to);let callback=err=>{if(!returned)return returned=!0,"function"==typeof done?err?done(err):done(null,{envelope:mail.data.envelope||mail.message.getEnvelope(),messageId:messageId,response:"Messages queued for delivery"}):void 0};try{sendmail=this._spawn(this.path,args)}catch(E){return this.logger.error({err:E,tnx:"spawn",messageId:messageId},"Error occurred while spawning sendmail. %s",E.message),callback(E)}if(!sendmail)return callback(new Error("sendmail was not found"));{sendmail.on("error",(err=>{this.logger.error({err:err,tnx:"spawn",messageId:messageId},"Error occurred when sending message %s. %s",messageId,err.message),callback(err)})),sendmail.once("exit",(code=>{if(!code)return callback();let err;err=127===code?new Error("Sendmail command not found, process exited with code "+code):new Error("Sendmail exited with code "+code),this.logger.error({err:err,tnx:"stdin",messageId:messageId},"Error sending message %s to sendmail. %s",messageId,err.message),callback(err)})),sendmail.once("close",callback),sendmail.stdin.on("error",(err=>{this.logger.error({err:err,tnx:"stdin",messageId:messageId},"Error occurred when piping message %s to sendmail. %s",messageId,err.message),callback(err)}));let recipients=[].concat(envelope.to||[]);recipients.length>3&&recipients.push("...and "+recipients.splice(2).length+" more"),this.logger.info({tnx:"send",messageId:messageId},"Sending message %s to <%s>",messageId,recipients.join(", "));let sourceStream=mail.message.createReadStream();sourceStream.once("error",(err=>{this.logger.error({err:err,tnx:"stdin",messageId:messageId},"Error occurred when generating message %s. %s",messageId,err.message),sendmail.kill("SIGINT"),callback(err)})),sourceStream.pipe(sendmail.stdin)}}},sendmailTransport}(),StreamTransport=function requireStreamTransport(){if(hasRequiredStreamTransport)return streamTransport;hasRequiredStreamTransport=1;const packageData=require$$9,shared=requireShared();return streamTransport=class StreamTransport{constructor(options){options=options||{},this.options=options||{},this.name="StreamTransport",this.version=packageData.version,this.logger=shared.getLogger(this.options,{component:this.options.component||"stream-transport"}),this.winbreak=["win","windows","dos","\r\n"].includes((options.newline||"").toString().toLowerCase())}send(mail,done){mail.message.keepBcc=!0;let envelope=mail.data.envelope||mail.message.getEnvelope(),messageId=mail.message.messageId(),recipients=[].concat(envelope.to||[]);recipients.length>3&&recipients.push("...and "+recipients.splice(2).length+" more"),this.logger.info({tnx:"send",messageId:messageId},"Sending message %s to <%s> using %s line breaks",messageId,recipients.join(", "),this.winbreak?"<CR><LF>":"<LF>"),setImmediate((()=>{let stream;try{stream=mail.message.createReadStream()}catch(E){return this.logger.error({err:E,tnx:"send",messageId:messageId},"Creating send stream failed for %s. %s",messageId,E.message),done(E)}if(!this.options.buffer)return stream.once("error",(err=>{this.logger.error({err:err,tnx:"send",messageId:messageId},"Failed creating message for %s. %s",messageId,err.message)})),done(null,{envelope:mail.data.envelope||mail.message.getEnvelope(),messageId:messageId,message:stream});let chunks=[],chunklen=0;stream.on("readable",(()=>{let chunk;for(;null!==(chunk=stream.read());)chunks.push(chunk),chunklen+=chunk.length})),stream.once("error",(err=>(this.logger.error({err:err,tnx:"send",messageId:messageId},"Failed creating message for %s. %s",messageId,err.message),done(err)))),stream.on("end",(()=>done(null,{envelope:mail.data.envelope||mail.message.getEnvelope(),messageId:messageId,message:Buffer.concat(chunks,chunklen)})))}))}},streamTransport}(),JSONTransport=function requireJsonTransport(){if(hasRequiredJsonTransport)return jsonTransport;hasRequiredJsonTransport=1;const packageData=require$$9,shared=requireShared();return jsonTransport=class JSONTransport{constructor(options){options=options||{},this.options=options||{},this.name="JSONTransport",this.version=packageData.version,this.logger=shared.getLogger(this.options,{component:this.options.component||"json-transport"})}send(mail,done){mail.message.keepBcc=!0;let envelope=mail.data.envelope||mail.message.getEnvelope(),messageId=mail.message.messageId(),recipients=[].concat(envelope.to||[]);recipients.length>3&&recipients.push("...and "+recipients.splice(2).length+" more"),this.logger.info({tnx:"send",messageId:messageId},"Composing JSON structure of %s to <%s>",messageId,recipients.join(", ")),setImmediate((()=>{mail.normalize(((err,data)=>err?(this.logger.error({err:err,tnx:"send",messageId:messageId},"Failed building JSON structure for %s. %s",messageId,err.message),done(err)):(delete data.envelope,delete data.normalizedHeaders,done(null,{envelope:envelope,messageId:messageId,message:this.options.skipEncoding?data:JSON.stringify(data)}))))}))}},jsonTransport}(),SESTransport=requireSesTransport(),nmfetch=requireFetch(),packageData=require$$9,ETHEREAL_API=(process.env.ETHEREAL_API||"https://api.nodemailer.com").replace(/\/+$/,""),ETHEREAL_WEB=(process.env.ETHEREAL_WEB||"https://ethereal.email").replace(/\/+$/,""),ETHEREAL_API_KEY=(process.env.ETHEREAL_API_KEY||"").replace(/\s*/g,"")||null,ETHEREAL_CACHE=["true","yes","y","1"].includes((process.env.ETHEREAL_CACHE||"yes").toString().trim().toLowerCase());let testAccount=!1;return nodemailer$1.createTransport=function(transporter,defaults){let urlConfig,options,mailer;return("object"==typeof transporter&&"function"!=typeof transporter.send||"string"==typeof transporter&&/^(smtps?|direct):/i.test(transporter))&&(options=(urlConfig="string"==typeof transporter?transporter:transporter.url)?shared.parseConnectionUrl(urlConfig):transporter,transporter=options.pool?new SMTPPool(options):options.sendmail?new SendmailTransport(options):options.streamTransport?new StreamTransport(options):options.jsonTransport?new JSONTransport(options):options.SES?new SESTransport(options):new SMTPTransport(options)),mailer=new Mailer(transporter,options,defaults),mailer},nodemailer$1.createTestAccount=function(apiUrl,callback){let promise;if(callback||"function"!=typeof apiUrl||(callback=apiUrl,apiUrl=!1),callback||(promise=new Promise(((resolve,reject)=>{callback=shared.callbackPromise(resolve,reject)}))),ETHEREAL_CACHE&&testAccount)return setImmediate((()=>callback(null,testAccount))),promise;apiUrl=apiUrl||ETHEREAL_API;let chunks=[],chunklen=0,requestHeaders={},requestBody={requestor:packageData.name,version:packageData.version};ETHEREAL_API_KEY&&(requestHeaders.Authorization="Bearer "+ETHEREAL_API_KEY);let req=nmfetch(apiUrl+"/user",{contentType:"application/json",method:"POST",headers:requestHeaders,body:Buffer.from(JSON.stringify(requestBody))});return req.on("readable",(()=>{let chunk;for(;null!==(chunk=req.read());)chunks.push(chunk),chunklen+=chunk.length})),req.once("error",(err=>callback(err))),req.once("end",(()=>{let data,err,res=Buffer.concat(chunks,chunklen);try{data=JSON.parse(res.toString())}catch(E){err=E}return err?callback(err):"success"!==data.status||data.error?callback(new Error(data.error||"Request failed")):(delete data.status,testAccount=data,void callback(null,testAccount))})),promise},nodemailer$1.getTestMessageUrl=function(info){if(!info||!info.response)return!1;let infoProps=new Map;return info.response.replace(/\[([^\]]+)\]$/,((m,props)=>{props.replace(/\b([A-Z0-9]+)=([^\s]+)/g,((m,key,value)=>{infoProps.set(key,value)}))})),!(!infoProps.has("STATUS")||!infoProps.has("MSGID"))&&(testAccount.web||ETHEREAL_WEB)+"/message/"+infoProps.get("MSGID")},nodemailer$1}(),nodemailer=getDefaultExportFromCjs(nodemailerExports);class MailController{constructor(environment){this.environment=environment}createTransporter(email){const{host:host,port:port,secure:secure,auth:{user:user,pass:pass}}=email;return nodemailer.createTransport({host:host,port:port,secure:secure,auth:{user:user,pass:pass}})}mountMail(email,mailParams){const{emailParams:{from:from,to:to}}=email,{message:message,subject:subject,attachments:attachments}=mailParams,attachmentsWithVerifiedFileName=attachments?.map((attachment=>(attachment.filename||(attachment.filename=!1),attachment)));return{from:from,to:to,subject:subject,html:message,attachments:attachmentsWithVerifiedFileName}}sendEmail(mailParams){try{const{email:email}=this.environment.getConfig();if(!email)throw new Error('Email não configurado. Para utilizar o envio de e-mail certifique-se de passar as configurações corretas para o método "NFE_LoadEnvironment".');const transporter=this.createTransporter(email),mailOptions=this.mountMail(email,mailParams);transporter.sendMail(mailOptions,((error,info)=>{if(error)throw console.log(error),new Error(error)}))}catch(error){throw new Error(`Erro ao enviar e-mail: ${error.message}`)}}}class NFERetornoAutorizacao extends BaseNFE{constructor(environment,utility,xmlBuilder,axios){super(environment,utility,xmlBuilder,"NFERetornoAutorizacao",axios)}gerarXml(data){try{const{nfe:{ambiente:ambiente}}=this.environment.getConfig(),xmlObject={$:{xmlns:"http://www.portalfiscal.inf.br/nfe",versao:"4.00"},tpAmb:ambiente,nRec:data};return this.xmlBuilder.gerarXml(xmlObject,"consReciNFe")}catch(error){throw new Error(error.message)}}async gerarConsulta(xmlConsulta){try{const config=this.environment.getConfig();"validateSchemaJsBased"!==config.lib?.useForSchemaValidation?await this.utility.validateSchemaJavaBased(xmlConsulta,this.metodo):await this.utility.validateSchemaJsBased(xmlConsulta,this.metodo);const{method:method,action:action}=this.utility.getSoapInfo(config.dfe.UF,this.metodo),xmlFormated=this.xmlBuilder.buildSoapEnvelope(xmlConsulta,method),agent=this.environment.getHttpAgent();return{xmlFormated:xmlFormated,agent:agent,webServiceUrl:this.utility.getWebServiceUrl(this.metodo),action:action}}catch(error){throw new Error(error.message)}}async getRetornoRecibo(nRec,xmlNFe){try{const xmlConsulta=this.gerarXml(nRec),{xmlFormated:xmlFormated,agent:agent,webServiceUrl:webServiceUrl,action:action}=await this.gerarConsulta(xmlConsulta);this.utility.salvaConsulta(xmlConsulta,xmlFormated,this.metodo);const xmlRetorno=await this.axios.post(webServiceUrl,xmlFormated,{headers:{"Content-Type":"text/xml; charset=utf-8",SOAPAction:action},httpsAgent:agent}),responseInJson=this.utility.verificaRejeicao(xmlRetorno.data,this.metodo);this.utility.salvaRetorno(xmlRetorno.data,responseInJson,this.metodo);const{protNFe:protNFe}=this.utility.getProtNFe(xmlRetorno.data);if(!protNFe)throw new Error("Não foi possível encontrar a tag 'protNFe'. Talvez a NFe ainda não tenha sido processada.");return this.getXmlRetornoAutorizacao(protNFe,xmlNFe)}catch(error){throw new Error(error.message)}}getXmlRetornoAutorizacao(protNFe,xmlNFe){try{const XMLs=[];for(let i=0;i<protNFe.length;i++){const baseXML={$:{versao:"4.00",xmlns:"http://www.portalfiscal.inf.br/nfe"},_:"[XML]"};let xml=this.xmlBuilder.gerarXml(baseXML,"nfeProc");const formatedProtNFe=protNFe,xmlCompleto=xmlNFe.find((item=>-1!==item.indexOf(formatedProtNFe[i].infProt[0].chNFe[0])));if(xmlCompleto){const protTag=this.xmlBuilder.gerarXml(protNFe[i],"protNFe"),xmlFinal=[xmlCompleto];xmlFinal.push(protTag),xml=xml.replace("[XML]",xmlFinal.join("")),xml=`<?xml version="1.0" encoding="UTF-8"?>${xml}`,XMLs.push(xml)}}return{success:!0,message:"xMotivo",data:XMLs}}catch(error){throw new Error(error.message)}}async getXmlRetorno({tipoEmissao:tipoEmissao,nRec:nRec,protNFe:protNFe,xmlNFe:xmlNFe}){try{if(1===tipoEmissao&&protNFe)return this.getXmlRetornoAutorizacao(protNFe,xmlNFe);if(0===tipoEmissao&&nRec)return this.getRetornoRecibo(nRec,xmlNFe);throw new Error("Não foi possível buscar o retorno da autorização.")}catch(error){throw new Error(error.message)}}}class NFEAutorizacaoHandler{constructor(){}validarCpfCnpj(cpfCnpj){const isCpf=11===cpfCnpj.length,isCnpj=14===cpfCnpj.length;if(!isCpf&&!isCnpj)return{documentoValido:!1,tipoDoDocumento:"Desconhecido"};const cleanCpfCnpj=cpfCnpj.replace(/\D/g,"");return isCpf?"00000000000"===cleanCpfCnpj?{documentoValido:!1,tipoDoDocumento:"CPF"}:this.documentoValidoateCpf(cleanCpfCnpj)?{documentoValido:!0,tipoDoDocumento:"CPF"}:{documentoValido:!1,tipoDoDocumento:"CPF"}:this.documentoValidoateCnpj(cleanCpfCnpj)?{documentoValido:!0,tipoDoDocumento:"CNPJ"}:{documentoValido:!1,tipoDoDocumento:"CNPJ"}}documentoValidoateCpf(cpf){let remainder,sum=0;for(let i=1;i<=9;i++)sum+=parseInt(cpf.substring(i-1,i))*(11-i);if(remainder=10*sum%11,10!==remainder&&11!==remainder||(remainder=0),remainder!==parseInt(cpf.substring(9,10)))return!1;sum=0;for(let i=1;i<=10;i++)sum+=parseInt(cpf.substring(i-1,i))*(12-i);return remainder=10*sum%11,10!==remainder&&11!==remainder||(remainder=0),remainder===parseInt(cpf.substring(10,11))}documentoValidoateCnpj(cnpj){let size=cnpj.length-2,numbers=cnpj.substring(0,size);const digits=cnpj.substring(size);let sum=0,pos=size-7;for(let i=size;i>=1;i--)sum+=parseInt(numbers.charAt(size-i))*pos--,pos<2&&(pos=9);let result=sum%11<2?0:11-sum%11;if(result!=parseInt(digits.charAt(0)))return!1;size+=1,numbers=cnpj.substring(0,size),sum=0,pos=size-7;for(let i=size;i>=1;i--)sum+=parseInt(numbers.charAt(size-i))*pos--,pos<2&&(pos=9);return result=sum%11<2?0:11-sum%11,result==parseInt(digits.charAt(1))}}var hasRequiredCrypt,charenc_1,hasRequiredCharenc,hasRequiredSha1,sha1$1={exports:{}},crypt={exports:{}};function requireCrypt(){return hasRequiredCrypt||(hasRequiredCrypt=1,base64map="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",crypt$1={rotl:function(n,b){return n<<b|n>>>32-b},rotr:function(n,b){return n<<32-b|n>>>b},endian:function(n){if(n.constructor==Number)return 16711935&crypt$1.rotl(n,8)|4278255360&crypt$1.rotl(n,24);for(var i=0;i<n.length;i++)n[i]=crypt$1.endian(n[i]);return n},randomBytes:function(n){for(var bytes=[];n>0;n--)bytes.push(Math.floor(256*Math.random()));return bytes},bytesToWords:function(bytes){for(var words=[],i=0,b=0;i<bytes.length;i++,b+=8)words[b>>>5]|=bytes[i]<<24-b%32;return words},wordsToBytes:function(words){for(var bytes=[],b=0;b<32*words.length;b+=8)bytes.push(words[b>>>5]>>>24-b%32&255);return bytes},bytesToHex:function(bytes){for(var hex=[],i=0;i<bytes.length;i++)hex.push((bytes[i]>>>4).toString(16)),hex.push((15&bytes[i]).toString(16));return hex.join("")},hexToBytes:function(hex){for(var bytes=[],c=0;c<hex.length;c+=2)bytes.push(parseInt(hex.substr(c,2),16));return bytes},bytesToBase64:function(bytes){for(var base64=[],i=0;i<bytes.length;i+=3)for(var triplet=bytes[i]<<16|bytes[i+1]<<8|bytes[i+2],j=0;j<4;j++)8*i+6*j<=8*bytes.length?base64.push(base64map.charAt(triplet>>>6*(3-j)&63)):base64.push("=");return base64.join("")},base64ToBytes:function(base64){base64=base64.replace(/[^A-Z0-9+\/]/gi,"");for(var bytes=[],i=0,imod4=0;i<base64.length;imod4=++i%4)0!=imod4&&bytes.push((base64map.indexOf(base64.charAt(i-1))&Math.pow(2,-2*imod4+8)-1)<<2*imod4|base64map.indexOf(base64.charAt(i))>>>6-2*imod4);return bytes}},crypt.exports=crypt$1),crypt.exports;var base64map,crypt$1}function requireCharenc(){if(hasRequiredCharenc)return charenc_1;hasRequiredCharenc=1;var charenc={utf8:{stringToBytes:function(str){return charenc.bin.stringToBytes(unescape(encodeURIComponent(str)))},bytesToString:function(bytes){return decodeURIComponent(escape(charenc.bin.bytesToString(bytes)))}},bin:{stringToBytes:function(str){for(var bytes=[],i=0;i<str.length;i++)bytes.push(255&str.charCodeAt(i));return bytes},bytesToString:function(bytes){for(var str=[],i=0;i<bytes.length;i++)str.push(String.fromCharCode(bytes[i]));return str.join("")}}};return charenc_1=charenc}var sha1Exports=function requireSha1(){return hasRequiredSha1||(hasRequiredSha1=1,function(){var crypt=requireCrypt(),utf8=requireCharenc().utf8,bin=requireCharenc().bin,api=function(message,options){var digestbytes=crypt.wordsToBytes(function(message){message.constructor==String?message=utf8.stringToBytes(message):"undefined"!=typeof Buffer&&"function"==typeof Buffer.isBuffer&&Buffer.isBuffer(message)?message=Array.prototype.slice.call(message,0):Array.isArray(message)||(message=message.toString());var m=crypt.bytesToWords(message),l=8*message.length,w=[],H0=1732584193,H1=-271733879,H2=-1732584194,H3=271733878,H4=-1009589776;m[l>>5]|=128<<24-l%32,m[15+(l+64>>>9<<4)]=l;for(var i=0;i<m.length;i+=16){for(var a=H0,b=H1,c=H2,d=H3,e=H4,j=0;j<80;j++){if(j<16)w[j]=m[i+j];else{var n=w[j-3]^w[j-8]^w[j-14]^w[j-16];w[j]=n<<1|n>>>31}var t=(H0<<5|H0>>>27)+H4+(w[j]>>>0)+(j<20?1518500249+(H1&H2|~H1&H3):j<40?1859775393+(H1^H2^H3):j<60?(H1&H2|H1&H3|H2&H3)-1894007588:(H1^H2^H3)-899497514);H4=H3,H3=H2,H2=H1<<30|H1>>>2,H1=H0,H0=t}H0+=a,H1+=b,H2+=c,H3+=d,H4+=e}return[H0,H1,H2,H3,H4]}(message));return options&&options.asBytes?digestbytes:options&&options.asString?bin.bytesToString(digestbytes):crypt.bytesToHex(digestbytes)};api._blocksize=16,api._digestsize=20,sha1$1.exports=api}()),sha1$1.exports}(),sha1=getDefaultExportFromCjs(sha1Exports);function generateQRCodeURLOnline(chaveAcesso,versaoQRCode,tipoAmbiente,identificadorCSC,csc,utility){const urlQRCodeNFCe=utility.getUrlNFCe("URL-QRCode",!1,""),baseString=`${chaveAcesso=chaveAcesso.replace("NFe","")}|${versaoQRCode}|${tipoAmbiente}|${identificadorCSC}`;return`${urlQRCodeNFCe}?p=${baseString}|${function generateSHA1Hash(input){return require$$0$4.createHash("sha1").update(input).digest("hex")}(`${baseString}${csc}`)}`}function generateQRCodeURLOffline(chaveAcesso,versaoQRCode,tipoAmbiente,diaDataEmissao,valorTotalNfce,digVal,identificadorCSC,csc,utility){const urlQRCodeNFCe=utility.getUrlNFCe("URL-QRCode",!1,"");chaveAcesso=chaveAcesso.replace("NFe","");const digestValueHex=function calcularDigestValueHex(digVal){return Buffer.from(digVal).toString("hex")}(digVal),baseString=`${chaveAcesso}|${versaoQRCode}|${tipoAmbiente}|${diaDataEmissao}|${valorTotalNfce}|${digestValueHex}|${identificadorCSC}`;return`${urlQRCodeNFCe}?p=${baseString}|${sha1(`${baseString}${csc}`).toUpperCase()}`}class NFCEAutorizacao extends BaseNFE{constructor(environment,utility,xmlBuilder,axios){super(environment,utility,xmlBuilder,"NFEAutorizacao",axios),this.xmlNFe=[]}gerarXml(data){return this.gerarXmlNFCEAutorizacao(data)}salvaArquivos(xmlConsulta,responseInJson,xmlRetorno,options){const config=this.environment.getConfig();let dateAndTimeInFileName=config.dfe.incluirTimestampNoNomeDosArquivos;const createFileName=(prefix,includeMethodName)=>{const dtaTime=dateAndTimeInFileName?`-${format(new Date,"dd-MM-yyyy-HHmm")}`:"";return`${includeMethodName?`${this.metodo}`:""}${prefix?includeMethodName?`-${prefix}`:`${prefix}`:""}${responseInJson.chNFe?`-${responseInJson.chNFe}`:""}${dtaTime}`},salvarArquivo=(data,prefix,path,fileType,includeMethodName)=>{const fileName=createFileName(prefix,includeMethodName),method="xml"===fileType?"salvaXML":"salvaJSON";this.utility[method]({data:data,fileName:fileName,metodo:this.metodo,path:path})};let xmlAutorizacaoInJson={},xMotivoPorXml=[],xmlsInJson=[];if(options){const{xmlAutorizacao:xmlAutorizacao}=options,json=new Json;for(let i=0;i<xmlAutorizacao.length;i++){xmlAutorizacaoInJson=json.convertXmlToJson(xmlAutorizacao[i],"NFCEAutorizacaoFinal"),xmlsInJson.push(xmlAutorizacaoInJson);const chNFe=xmlAutorizacaoInJson.protNFe.infProt.chNFe,xMotivo=xmlAutorizacaoInJson.protNFe.infProt.xMotivo,cStat=xmlAutorizacaoInJson.protNFe.infProt.cStat;xMotivoPorXml.push({chNFe:chNFe,xMotivo:xMotivo,cStat:cStat}),config.dfe.armazenarXMLAutorizacao&&(salvarArquivo(xmlAutorizacao[i],chNFe,config.dfe.pathXMLAutorizacao,"xml",!1),salvarArquivo(xmlAutorizacaoInJson,chNFe,config.dfe.pathXMLAutorizacao,"json",!1))}return{success:!0,xMotivo:xMotivoPorXml,response:xmlsInJson}}return{success:!0,xMotivo:xMotivoPorXml,response:xmlsInJson}}async trataRetorno(xmlRetorno,indSinc,responseInJson){try{const{nRec:nRec,protNFe:protNFe}=this.utility.getProtNFe(xmlRetorno);let tipoEmissao=0;1===indSinc&&protNFe&&(tipoEmissao=1);const nfeRetornoAut=new NFERetornoAutorizacao(this.environment,this.utility,this.xmlBuilder,this.axios);return await nfeRetornoAut.getXmlRetorno({tipoEmissao:tipoEmissao,nRec:nRec,protNFe:protNFe,xmlNFe:this.xmlNFe})}catch(error){throw new Error(error.message)}}anoMesEmissao(dhEmi){const dataAtual=new Date(dhEmi);return dataAtual.getFullYear().toString().slice(-2)+(dataAtual.getMonth()+1).toString().padStart(2,"0")}diaEmissao(dhEmi){return new Date(dhEmi).getDate().toString().padStart(2,"0")}calcularModulo11(sequencia){const pesos=[4,3,2,9,8,7,6,5,4,3,2,9,8,7,6,5,4,3,2,9,8,7,6,5,4,3,2,9,8,7,6,5,4,3,2,9,8,7,6,5,4,3,2];let somatoria=0;for(let i=0;i<sequencia.length;i++)somatoria+=parseInt(sequencia.charAt(i))*pesos[i];const restoDivisao=somatoria%11;return 0===restoDivisao||1===restoDivisao?0:11-restoDivisao}calcularDigitoVerificador(data){const{infNFe:{ide:{cUF:cUF,mod:mod,serie:serie,nNF:nNF,tpEmis:tpEmis,cNF:cNF,dhEmi:dhEmi},emit:{CNPJCPF:CNPJCPF}}}=data,sequencia=`${cUF}${this.anoMesEmissao(dhEmi)}${CNPJCPF}${mod}${String(serie).padStart(3,"0")}${String(nNF).padStart(9,"0")}${tpEmis}${cNF}`,dv=this.calcularModulo11(sequencia),chaveAcesso=`NFe${sequencia}`+dv;return this.chaveNfe=`${sequencia}${dv}`,{chaveAcesso:chaveAcesso,dv:dv}}validaDocumento(doc,campo){const nfeAutorizacaoHandler=new NFEAutorizacaoHandler,{documentoValido:documentoValido,tipoDoDocumento:tipoDoDocumento}=nfeAutorizacaoHandler.validarCpfCnpj(doc);if(!documentoValido||"Desconhecido"===tipoDoDocumento){throw new Error("Desconhecido"===tipoDoDocumento?`Documento do ${campo} ausente ou inválido`:`${tipoDoDocumento} do ${campo} é inválido`)}return tipoDoDocumento}extrairDigestValue(xmlAssinado){const match=xmlAssinado.match(/<DigestValue>([^<]+)<\/DigestValue>/);if(match&&match[1])return match[1];throw new Error("DigestValue não encontrado no XML assinado.")}gerarXmlNFCEAutorizacao(data){const createXML=NFe=>{if(NFe?.infNFe?.det instanceof Array){const formatedItens=NFe.infNFe.det.map(((det,index)=>{if(det.imposto.ICMS.dadosICMS){const icms=mountICMS(det.imposto.ICMS.dadosICMS);det.imposto.ICMS=icms}if(det.imposto.PIS.dadosPIS){const pis=mountPIS(det.imposto.PIS.dadosPIS);det.imposto.PIS=pis}if(det.imposto.COFINS.dadosCOFINS){const cofins=mountCOFINS(det.imposto.COFINS.dadosCOFINS);det.imposto.COFINS=cofins}return{$:{nItem:index+1},...det}}));NFe.infNFe.det=formatedItens}const{chaveAcesso:chaveAcesso,dv:dv}=this.calcularDigitoVerificador(NFe);if(NFe.infNFe.ide.cDV=dv,NFe.infNFe.ide.verProc=NFe.infNFe.ide.verProc||"1.0.0.0",NFe.infNFe.emit=Object.assign({[this.validaDocumento(String(NFe.infNFe.emit.CNPJCPF),"emitente")]:NFe.infNFe.emit.CNPJCPF},NFe.infNFe.emit),delete NFe.infNFe.emit.CNPJCPF,NFe.infNFe.dest&&(NFe.infNFe.dest=Object.assign({[this.validaDocumento(String(NFe.infNFe.dest?.CNPJCPF||""),"destinatário")]:NFe.infNFe.dest?.CNPJCPF||""},NFe.infNFe.dest),delete NFe.infNFe.dest.CNPJCPF),NFe.infNFe.transp.transporta&&(NFe.infNFe.transp.transporta=Object.assign({[this.validaDocumento(String(NFe.infNFe.transp.transporta?.CNPJCPF),"transportador")]:NFe.infNFe.transp.transporta?.CNPJCPF},NFe.infNFe.transp.transporta),delete NFe.infNFe.transp.transporta?.CNPJCPF),NFe.infNFe?.NFref instanceof Array){const NFrefArray=NFe.infNFe.NFref;NFrefArray&&NFrefArray.length>0&&(NFe.infNFe.NFref=NFrefArray.map((NFref=>(NFref.refNFP&&(NFref.refNFP=Object.assign({[this.validaDocumento(String(NFref.refNFP.CNPJCPF),"produtor rural")]:NFref.refNFP.CNPJCPF},NFref.refNFP),delete NFref.refNFP.CNPJCPF),NFref))))}else NFe.infNFe.NFref&&NFe.infNFe.NFref.refNFP&&(NFe.infNFe.NFref.refNFP=Object.assign({[this.validaDocumento(String(NFe.infNFe.NFref.refNFP.CNPJCPF),"produtor rural")]:NFe.infNFe.NFref.refNFP.CNPJCPF},NFe.infNFe.NFref.refNFP));NFe.infNFe.dest&&2===NFe.infNFe.ide.tpAmb&&(NFe.infNFe.dest.xNome="NF-E EMITIDA EM AMBIENTE DE HOMOLOGACAO - SEM VALOR FISCAL");const{nfe:{idCSC:idCSC,tokenCSC:tokenCSC}}=this.environment.getConfig();let qrCode="";[4,9].includes(NFe.infNFe.ide.tpEmis)||(qrCode=generateQRCodeURLOnline(chaveAcesso,"2",NFe.infNFe.ide.tpAmb,Number(idCSC),String(tokenCSC),this.utility));const urlConsultaNFCe=this.utility.getUrlNFCe("URL-ConsultaNFCe",!1,""),xmlObject={$:{xmlns:"http://www.portalfiscal.inf.br/nfe"},infNFe:{$:{versao:"4.00",Id:chaveAcesso},...(NFe={...NFe,infNFeSupl:{qrCode:qrCode,urlChave:urlConsultaNFCe}}).infNFe},infNFeSupl:{...NFe.infNFeSupl}},eventoXML=this.xmlBuilder.gerarXml(xmlObject,"NFe");let xmlAssinado=this.xmlBuilder.assinarXML(eventoXML,"infNFe");if([4,9].includes(NFe.infNFe.ide.tpEmis)){const digestValue=this.extrairDigestValue(xmlAssinado),tpAmb=NFe.infNFe.ide.tpAmb,valNF=NFe.infNFe.total.ICMSTot.vNF,diaEmissao=this.diaEmissao(NFe.infNFe.ide.dhEmi);qrCode=generateQRCodeURLOffline(chaveAcesso,"2",tpAmb,diaEmissao,valNF,digestValue,Number(idCSC),String(tokenCSC),this.utility),xml2js.parseString(xmlAssinado,((err,result)=>{if(err)throw new Error("Erro ao parsear o XML para atualização do qrCode:");if(!result.NFe?.infNFeSupl[0]?.qrCode)throw new Error("Tag qrCode não encontrada no XML.");{result.NFe.infNFeSupl[0].qrCode[0]=qrCode;const builder=new xml2jsExports.Builder({headless:!0,renderOpts:{pretty:!1}});xmlAssinado=builder.buildObject(result)}}))}this.xmlNFe.push(xmlAssinado)};if(data.NFe instanceof Array)for(let i=0;i<data.NFe.length;i++){createXML(data.NFe[i])}else createXML(data.NFe);const baseXML={$:{versao:"4.00",xmlns:"http://www.portalfiscal.inf.br/nfe"},idLote:data.idLote,indSinc:data.indSinc,_:"[XML]"};return this.xmlBuilder.gerarXml(baseXML,"enviNFe").replace("[XML]",this.xmlNFe.join(""))}async gerarConsulta(xmlConsulta){try{const config=this.environment.getConfig();"validateSchemaJsBased"!==config.lib?.useForSchemaValidation?await this.utility.validateSchemaJavaBased(xmlConsulta,this.metodo):await this.utility.validateSchemaJsBased(xmlConsulta,this.metodo);const{method:method,action:action}=this.utility.getSoapInfo(config.dfe.UF,this.metodo),xmlFormated=this.xmlBuilder.buildSoapEnvelope(xmlConsulta,method),agent=this.environment.getHttpAgent();return{xmlFormated:xmlFormated,agent:agent,webServiceUrl:this.utility.getWebServiceUrl(this.metodo,!1,"","NFCe"),action:action}}catch(error){throw new Error(error.message)}}async Exec(data){let xmlConsulta="",soapXML="";try{xmlConsulta=this.gerarXmlNFCEAutorizacao(data);const{xmlFormated:xmlFormated,agent:agent,webServiceUrl:webServiceUrl,action:action}=await this.gerarConsulta(xmlConsulta);soapXML=xmlFormated,this.utility.salvaConsulta(xmlConsulta,xmlFormated,this.metodo);const xmlRetorno=await this.axios.post(webServiceUrl,xmlFormated,{headers:{"Content-Type":"text/xml; charset=utf-8",SOAPAction:action,CSC:"9cf44de0-502d-4351-bf18-0843e6528e22"},httpsAgent:agent}),responseInJson=this.utility.verificaRejeicao(xmlRetorno.data,this.metodo);this.utility.salvaRetorno(xmlRetorno.data,responseInJson,this.metodo);const retorno=await this.trataRetorno(xmlRetorno.data,data.indSinc,responseInJson),xmlFinal=this.salvaArquivos(xmlConsulta,responseInJson,xmlRetorno.data,{xmlAutorizacao:retorno.data,xMotivo:retorno.message});return{success:!0,xMotivo:xmlFinal.xMotivo,xmls:xmlFinal.response}}catch(error){throw this.utility.salvaConsulta(xmlConsulta,soapXML,this.metodo),new Error(error.message)}}}var canPromise,hasRequiredCanPromise,server={};function requireCanPromise(){return hasRequiredCanPromise?canPromise:(hasRequiredCanPromise=1,canPromise=function(){return"function"==typeof Promise&&Promise.prototype&&Promise.prototype.then})}var hasRequiredUtils$1,qrcode={},utils$1={};function requireUtils$1(){if(hasRequiredUtils$1)return utils$1;let toSJISFunction;hasRequiredUtils$1=1;const CODEWORDS_COUNT=[0,26,44,70,100,134,172,196,242,292,346,404,466,532,581,655,733,815,901,991,1085,1156,1258,1364,1474,1588,1706,1828,1921,2051,2185,2323,2465,2611,2761,2876,3034,3196,3362,3532,3706];return utils$1.getSymbolSize=function getSymbolSize(version){if(!version)throw new Error('"version" cannot be null or undefined');if(version<1||version>40)throw new Error('"version" should be in range from 1 to 40');return 4*version+17},utils$1.getSymbolTotalCodewords=function getSymbolTotalCodewords(version){return CODEWORDS_COUNT[version]},utils$1.getBCHDigit=function(data){let digit=0;for(;0!==data;)digit++,data>>>=1;return digit},utils$1.setToSJISFunction=function setToSJISFunction(f){if("function"!=typeof f)throw new Error('"toSJISFunc" is not a valid function.');toSJISFunction=f},utils$1.isKanjiModeEnabled=function(){return void 0!==toSJISFunction},utils$1.toSJIS=function toSJIS(kanji){return toSJISFunction(kanji)},utils$1}var hasRequiredErrorCorrectionLevel,bitBuffer,hasRequiredBitBuffer,bitMatrix,hasRequiredBitMatrix,errorCorrectionLevel={};function requireErrorCorrectionLevel(){return hasRequiredErrorCorrectionLevel||(hasRequiredErrorCorrectionLevel=1,function(exports){exports.L={bit:1},exports.M={bit:0},exports.Q={bit:3},exports.H={bit:2},exports.isValid=function isValid(level){return level&&void 0!==level.bit&&level.bit>=0&&level.bit<4},exports.from=function from(value,defaultValue){if(exports.isValid(value))return value;try{return function fromString(string){if("string"!=typeof string)throw new Error("Param is not a string");switch(string.toLowerCase()){case"l":case"low":return exports.L;case"m":case"medium":return exports.M;case"q":case"quartile":return exports.Q;case"h":case"high":return exports.H;default:throw new Error("Unknown EC Level: "+string)}}(value)}catch(e){return defaultValue}}}(errorCorrectionLevel)),errorCorrectionLevel}var hasRequiredAlignmentPattern,alignmentPattern={};var hasRequiredFinderPattern,finderPattern={};var hasRequiredMaskPattern,maskPattern={};var hasRequiredErrorCorrectionCode,errorCorrectionCode={};function requireErrorCorrectionCode(){if(hasRequiredErrorCorrectionCode)return errorCorrectionCode;hasRequiredErrorCorrectionCode=1;const ECLevel=requireErrorCorrectionLevel(),EC_BLOCKS_TABLE=[1,1,1,1,1,1,1,1,1,1,2,2,1,2,2,4,1,2,4,4,2,4,4,4,2,4,6,5,2,4,6,6,2,5,8,8,4,5,8,8,4,5,8,11,4,8,10,11,4,9,12,16,4,9,16,16,6,10,12,18,6,10,17,16,6,11,16,19,6,13,18,21,7,14,21,25,8,16,20,25,8,17,23,25,9,17,23,34,9,18,25,30,10,20,27,32,12,21,29,35,12,23,34,37,12,25,34,40,13,26,35,42,14,28,38,45,15,29,40,48,16,31,43,51,17,33,45,54,18,35,48,57,19,37,51,60,19,38,53,63,20,40,56,66,21,43,59,70,22,45,62,74,24,47,65,77,25,49,68,81],EC_CODEWORDS_TABLE=[7,10,13,17,10,16,22,28,15,26,36,44,20,36,52,64,26,48,72,88,36,64,96,112,40,72,108,130,48,88,132,156,60,110,160,192,72,130,192,224,80,150,224,264,96,176,260,308,104,198,288,352,120,216,320,384,132,240,360,432,144,280,408,480,168,308,448,532,180,338,504,588,196,364,546,650,224,416,600,700,224,442,644,750,252,476,690,816,270,504,750,900,300,560,810,960,312,588,870,1050,336,644,952,1110,360,700,1020,1200,390,728,1050,1260,420,784,1140,1350,450,812,1200,1440,480,868,1290,1530,510,924,1350,1620,540,980,1440,1710,570,1036,1530,1800,570,1064,1590,1890,600,1120,1680,1980,630,1204,1770,2100,660,1260,1860,2220,720,1316,1950,2310,750,1372,2040,2430];return errorCorrectionCode.getBlocksCount=function getBlocksCount(version,errorCorrectionLevel){switch(errorCorrectionLevel){case ECLevel.L:return EC_BLOCKS_TABLE[4*(version-1)+0];case ECLevel.M:return EC_BLOCKS_TABLE[4*(version-1)+1];case ECLevel.Q:return EC_BLOCKS_TABLE[4*(version-1)+2];case ECLevel.H:return EC_BLOCKS_TABLE[4*(version-1)+3];default:return}},errorCorrectionCode.getTotalCodewordsCount=function getTotalCodewordsCount(version,errorCorrectionLevel){switch(errorCorrectionLevel){case ECLevel.L:return EC_CODEWORDS_TABLE[4*(version-1)+0];case ECLevel.M:return EC_CODEWORDS_TABLE[4*(version-1)+1];case ECLevel.Q:return EC_CODEWORDS_TABLE[4*(version-1)+2];case ECLevel.H:return EC_CODEWORDS_TABLE[4*(version-1)+3];default:return}},errorCorrectionCode}var hasRequiredGaloisField,hasRequiredPolynomial,reedSolomonEncoder,hasRequiredReedSolomonEncoder,polynomial={},galoisField={};function requirePolynomial(){return hasRequiredPolynomial||(hasRequiredPolynomial=1,function(exports){const GF=function requireGaloisField(){if(hasRequiredGaloisField)return galoisField;hasRequiredGaloisField=1;const EXP_TABLE=new Uint8Array(512),LOG_TABLE=new Uint8Array(256);return function initTables(){let x=1;for(let i=0;i<255;i++)EXP_TABLE[i]=x,LOG_TABLE[x]=i,x<<=1,256&x&&(x^=285);for(let i=255;i<512;i++)EXP_TABLE[i]=EXP_TABLE[i-255]}(),galoisField.log=function log(n){if(n<1)throw new Error("log("+n+")");return LOG_TABLE[n]},galoisField.exp=function exp(n){return EXP_TABLE[n]},galoisField.mul=function mul(x,y){return 0===x||0===y?0:EXP_TABLE[LOG_TABLE[x]+LOG_TABLE[y]]},galoisField}();exports.mul=function mul(p1,p2){const coeff=new Uint8Array(p1.length+p2.length-1);for(let i=0;i<p1.length;i++)for(let j=0;j<p2.length;j++)coeff[i+j]^=GF.mul(p1[i],p2[j]);return coeff},exports.mod=function mod(divident,divisor){let result=new Uint8Array(divident);for(;result.length-divisor.length>=0;){const coeff=result[0];for(let i=0;i<divisor.length;i++)result[i]^=GF.mul(divisor[i],coeff);let offset=0;for(;offset<result.length&&0===result[offset];)offset++;result=result.slice(offset)}return result},exports.generateECPolynomial=function generateECPolynomial(degree){let poly=new Uint8Array([1]);for(let i=0;i<degree;i++)poly=exports.mul(poly,new Uint8Array([1,GF.exp(i)]));return poly}}(polynomial)),polynomial}var hasRequiredVersionCheck,version={},mode={},versionCheck={};function requireVersionCheck(){return hasRequiredVersionCheck||(hasRequiredVersionCheck=1,versionCheck.isValid=function isValid(version){return!isNaN(version)&&version>=1&&version<=40}),versionCheck}var hasRequiredRegex,hasRequiredMode,hasRequiredVersion,regex={};function requireRegex(){if(hasRequiredRegex)return regex;hasRequiredRegex=1;let kanji="(?:[u3000-u303F]|[u3040-u309F]|[u30A0-u30FF]|[uFF00-uFFEF]|[u4E00-u9FAF]|[u2605-u2606]|[u2190-u2195]|u203B|[u2010u2015u2018u2019u2025u2026u201Cu201Du2225u2260]|[u0391-u0451]|[u00A7u00A8u00B1u00B4u00D7u00F7])+";kanji=kanji.replace(/u/g,"\\u");const byte="(?:(?![A-Z0-9 $%*+\\-./:]|"+kanji+")(?:.|[\r\n]))+";regex.KANJI=new RegExp(kanji,"g"),regex.BYTE_KANJI=new RegExp("[^A-Z0-9 $%*+\\-./:]+","g"),regex.BYTE=new RegExp(byte,"g"),regex.NUMERIC=new RegExp("[0-9]+","g"),regex.ALPHANUMERIC=new RegExp("[A-Z $%*+\\-./:]+","g");const TEST_KANJI=new RegExp("^"+kanji+"$"),TEST_NUMERIC=new RegExp("^[0-9]+$"),TEST_ALPHANUMERIC=new RegExp("^[A-Z0-9 $%*+\\-./:]+$");return regex.testKanji=function testKanji(str){return TEST_KANJI.test(str)},regex.testNumeric=function testNumeric(str){return TEST_NUMERIC.test(str)},regex.testAlphanumeric=function testAlphanumeric(str){return TEST_ALPHANUMERIC.test(str)},regex}function requireMode(){return hasRequiredMode||(hasRequiredMode=1,function(exports){const VersionCheck=requireVersionCheck(),Regex=requireRegex();exports.NUMERIC={id:"Numeric",bit:1,ccBits:[10,12,14]},exports.ALPHANUMERIC={id:"Alphanumeric",bit:2,ccBits:[9,11,13]},exports.BYTE={id:"Byte",bit:4,ccBits:[8,16,16]},exports.KANJI={id:"Kanji",bit:8,ccBits:[8,10,12]},exports.MIXED={bit:-1},exports.getCharCountIndicator=function getCharCountIndicator(mode,version){if(!mode.ccBits)throw new Error("Invalid mode: "+mode);if(!VersionCheck.isValid(version))throw new Error("Invalid version: "+version);return version>=1&&version<10?mode.ccBits[0]:version<27?mode.ccBits[1]:mode.ccBits[2]},exports.getBestModeForData=function getBestModeForData(dataStr){return Regex.testNumeric(dataStr)?exports.NUMERIC:Regex.testAlphanumeric(dataStr)?exports.ALPHANUMERIC:Regex.testKanji(dataStr)?exports.KANJI:exports.BYTE},exports.toString=function toString(mode){if(mode&&mode.id)return mode.id;throw new Error("Invalid mode")},exports.isValid=function isValid(mode){return mode&&mode.bit&&mode.ccBits},exports.from=function from(value,defaultValue){if(exports.isValid(value))return value;try{return function fromString(string){if("string"!=typeof string)throw new Error("Param is not a string");switch(string.toLowerCase()){case"numeric":return exports.NUMERIC;case"alphanumeric":return exports.ALPHANUMERIC;case"kanji":return exports.KANJI;case"byte":return exports.BYTE;default:throw new Error("Unknown mode: "+string)}}(value)}catch(e){return defaultValue}}}(mode)),mode}function requireVersion(){return hasRequiredVersion||(hasRequiredVersion=1,function(exports){const Utils=requireUtils$1(),ECCode=requireErrorCorrectionCode(),ECLevel=requireErrorCorrectionLevel(),Mode=requireMode(),VersionCheck=requireVersionCheck(),G18_BCH=Utils.getBCHDigit(7973);function getReservedBitsCount(mode,version){return Mode.getCharCountIndicator(mode,version)+4}function getTotalBitsFromDataArray(segments,version){let totalBits=0;return segments.forEach((function(data){const reservedBits=getReservedBitsCount(data.mode,version);totalBits+=reservedBits+data.getBitsLength()})),totalBits}exports.from=function from(value,defaultValue){return VersionCheck.isValid(value)?parseInt(value,10):defaultValue},exports.getCapacity=function getCapacity(version,errorCorrectionLevel,mode){if(!VersionCheck.isValid(version))throw new Error("Invalid QR Code version");void 0===mode&&(mode=Mode.BYTE);const dataTotalCodewordsBits=8*(Utils.getSymbolTotalCodewords(version)-ECCode.getTotalCodewordsCount(version,errorCorrectionLevel));if(mode===Mode.MIXED)return dataTotalCodewordsBits;const usableBits=dataTotalCodewordsBits-getReservedBitsCount(mode,version);switch(mode){case Mode.NUMERIC:return Math.floor(usableBits/10*3);case Mode.ALPHANUMERIC:return Math.floor(usableBits/11*2);case Mode.KANJI:return Math.floor(usableBits/13);case Mode.BYTE:default:return Math.floor(usableBits/8)}},exports.getBestVersionForData=function getBestVersionForData(data,errorCorrectionLevel){let seg;const ecl=ECLevel.from(errorCorrectionLevel,ECLevel.M);if(Array.isArray(data)){if(data.length>1)return function getBestVersionForMixedData(segments,errorCorrectionLevel){for(let currentVersion=1;currentVersion<=40;currentVersion++)if(getTotalBitsFromDataArray(segments,currentVersion)<=exports.getCapacity(currentVersion,errorCorrectionLevel,Mode.MIXED))return currentVersion}(data,ecl);if(0===data.length)return 1;seg=data[0]}else seg=data;return function getBestVersionForDataLength(mode,length,errorCorrectionLevel){for(let currentVersion=1;currentVersion<=40;currentVersion++)if(length<=exports.getCapacity(currentVersion,errorCorrectionLevel,mode))return currentVersion}(seg.mode,seg.getLength(),ecl)},exports.getEncodedBits=function getEncodedBits(version){if(!VersionCheck.isValid(version)||version<7)throw new Error("Invalid QR Code version");let d=version<<12;for(;Utils.getBCHDigit(d)-G18_BCH>=0;)d^=7973<<Utils.getBCHDigit(d)-G18_BCH;return version<<12|d}}(version)),version}var hasRequiredFormatInfo,formatInfo={};var numericData,hasRequiredNumericData,alphanumericData,hasRequiredAlphanumericData,byteData,hasRequiredByteData,kanjiData,hasRequiredKanjiData,segments={};var hasRequiredDijkstra,hasRequiredSegments,hasRequiredQrcode,dijkstra={exports:{}};function requireDijkstra(){return hasRequiredDijkstra||(hasRequiredDijkstra=1,function(module){var dijkstra={single_source_shortest_paths:function(graph,s,d){var predecessors={},costs={};costs[s]=0;var closest,u,v,cost_of_s_to_u,adjacent_nodes,cost_of_s_to_u_plus_cost_of_e,cost_of_s_to_v,open=dijkstra.PriorityQueue.make();for(open.push(s,0);!open.empty();)for(v in u=(closest=open.pop()).value,cost_of_s_to_u=closest.cost,adjacent_nodes=graph[u]||{})adjacent_nodes.hasOwnProperty(v)&&(cost_of_s_to_u_plus_cost_of_e=cost_of_s_to_u+adjacent_nodes[v],cost_of_s_to_v=costs[v],(void 0===costs[v]||cost_of_s_to_v>cost_of_s_to_u_plus_cost_of_e)&&(costs[v]=cost_of_s_to_u_plus_cost_of_e,open.push(v,cost_of_s_to_u_plus_cost_of_e),predecessors[v]=u));if(void 0!==d&&void 0===costs[d]){var msg=["Could not find a path from ",s," to ",d,"."].join("");throw new Error(msg)}return predecessors},extract_shortest_path_from_predecessor_list:function(predecessors,d){for(var nodes=[],u=d;u;)nodes.push(u),predecessors[u],u=predecessors[u];return nodes.reverse(),nodes},find_path:function(graph,s,d){var predecessors=dijkstra.single_source_shortest_paths(graph,s,d);return dijkstra.extract_shortest_path_from_predecessor_list(predecessors,d)},PriorityQueue:{make:function(opts){var key,T=dijkstra.PriorityQueue,t={};for(key in opts=opts||{},T)T.hasOwnProperty(key)&&(t[key]=T[key]);return t.queue=[],t.sorter=opts.sorter||T.default_sorter,t},default_sorter:function(a,b){return a.cost-b.cost},push:function(value,cost){var item={value:value,cost:cost};this.queue.push(item),this.queue.sort(this.sorter)},pop:function(){return this.queue.shift()},empty:function(){return 0===this.queue.length}}};module.exports=dijkstra}(dijkstra)),dijkstra.exports}function requireSegments(){return hasRequiredSegments||(hasRequiredSegments=1,function(exports){const Mode=requireMode(),NumericData=function requireNumericData(){if(hasRequiredNumericData)return numericData;hasRequiredNumericData=1;const Mode=requireMode();function NumericData(data){this.mode=Mode.NUMERIC,this.data=data.toString()}return NumericData.getBitsLength=function getBitsLength(length){return 10*Math.floor(length/3)+(length%3?length%3*3+1:0)},NumericData.prototype.getLength=function getLength(){return this.data.length},NumericData.prototype.getBitsLength=function getBitsLength(){return NumericData.getBitsLength(this.data.length)},NumericData.prototype.write=function write(bitBuffer){let i,group,value;for(i=0;i+3<=this.data.length;i+=3)group=this.data.substr(i,3),value=parseInt(group,10),bitBuffer.put(value,10);const remainingNum=this.data.length-i;remainingNum>0&&(group=this.data.substr(i),value=parseInt(group,10),bitBuffer.put(value,3*remainingNum+1))},numericData=NumericData}(),AlphanumericData=function requireAlphanumericData(){if(hasRequiredAlphanumericData)return alphanumericData;hasRequiredAlphanumericData=1;const Mode=requireMode(),ALPHA_NUM_CHARS=["0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"," ","$","%","*","+","-",".","/",":"];function AlphanumericData(data){this.mode=Mode.ALPHANUMERIC,this.data=data}return AlphanumericData.getBitsLength=function getBitsLength(length){return 11*Math.floor(length/2)+length%2*6},AlphanumericData.prototype.getLength=function getLength(){return this.data.length},AlphanumericData.prototype.getBitsLength=function getBitsLength(){return AlphanumericData.getBitsLength(this.data.length)},AlphanumericData.prototype.write=function write(bitBuffer){let i;for(i=0;i+2<=this.data.length;i+=2){let value=45*ALPHA_NUM_CHARS.indexOf(this.data[i]);value+=ALPHA_NUM_CHARS.indexOf(this.data[i+1]),bitBuffer.put(value,11)}this.data.length%2&&bitBuffer.put(ALPHA_NUM_CHARS.indexOf(this.data[i]),6)},alphanumericData=AlphanumericData}(),ByteData=function requireByteData(){if(hasRequiredByteData)return byteData;hasRequiredByteData=1;const Mode=requireMode();function ByteData(data){this.mode=Mode.BYTE,this.data="string"==typeof data?(new TextEncoder).encode(data):new Uint8Array(data)}return ByteData.getBitsLength=function getBitsLength(length){return 8*length},ByteData.prototype.getLength=function getLength(){return this.data.length},ByteData.prototype.getBitsLength=function getBitsLength(){return ByteData.getBitsLength(this.data.length)},ByteData.prototype.write=function(bitBuffer){for(let i=0,l=this.data.length;i<l;i++)bitBuffer.put(this.data[i],8)},byteData=ByteData}(),KanjiData=function requireKanjiData(){if(hasRequiredKanjiData)return kanjiData;hasRequiredKanjiData=1;const Mode=requireMode(),Utils=requireUtils$1();function KanjiData(data){this.mode=Mode.KANJI,this.data=data}return KanjiData.getBitsLength=function getBitsLength(length){return 13*length},KanjiData.prototype.getLength=function getLength(){return this.data.length},KanjiData.prototype.getBitsLength=function getBitsLength(){return KanjiData.getBitsLength(this.data.length)},KanjiData.prototype.write=function(bitBuffer){let i;for(i=0;i<this.data.length;i++){let value=Utils.toSJIS(this.data[i]);if(value>=33088&&value<=40956)value-=33088;else{if(!(value>=57408&&value<=60351))throw new Error("Invalid SJIS character: "+this.data[i]+"\nMake sure your charset is UTF-8");value-=49472}value=192*(value>>>8&255)+(255&value),bitBuffer.put(value,13)}},kanjiData=KanjiData}(),Regex=requireRegex(),Utils=requireUtils$1(),dijkstra=requireDijkstra();function getStringByteLength(str){return unescape(encodeURIComponent(str)).length}function getSegments(regex,mode,str){const segments=[];let result;for(;null!==(result=regex.exec(str));)segments.push({data:result[0],index:result.index,mode:mode,length:result[0].length});return segments}function getSegmentsFromString(dataStr){const numSegs=getSegments(Regex.NUMERIC,Mode.NUMERIC,dataStr),alphaNumSegs=getSegments(Regex.ALPHANUMERIC,Mode.ALPHANUMERIC,dataStr);let byteSegs,kanjiSegs;Utils.isKanjiModeEnabled()?(byteSegs=getSegments(Regex.BYTE,Mode.BYTE,dataStr),kanjiSegs=getSegments(Regex.KANJI,Mode.KANJI,dataStr)):(byteSegs=getSegments(Regex.BYTE_KANJI,Mode.BYTE,dataStr),kanjiSegs=[]);return numSegs.concat(alphaNumSegs,byteSegs,kanjiSegs).sort((function(s1,s2){return s1.index-s2.index})).map((function(obj){return{data:obj.data,mode:obj.mode,length:obj.length}}))}function getSegmentBitsLength(length,mode){switch(mode){case Mode.NUMERIC:return NumericData.getBitsLength(length);case Mode.ALPHANUMERIC:return AlphanumericData.getBitsLength(length);case Mode.KANJI:return KanjiData.getBitsLength(length);case Mode.BYTE:return ByteData.getBitsLength(length)}}function buildSingleSegment(data,modesHint){let mode;const bestMode=Mode.getBestModeForData(data);if(mode=Mode.from(modesHint,bestMode),mode!==Mode.BYTE&&mode.bit<bestMode.bit)throw new Error('"'+data+'" cannot be encoded with mode '+Mode.toString(mode)+".\n Suggested mode is: "+Mode.toString(bestMode));switch(mode!==Mode.KANJI||Utils.isKanjiModeEnabled()||(mode=Mode.BYTE),mode){case Mode.NUMERIC:return new NumericData(data);case Mode.ALPHANUMERIC:return new AlphanumericData(data);case Mode.KANJI:return new KanjiData(data);case Mode.BYTE:return new ByteData(data)}}exports.fromArray=function fromArray(array){return array.reduce((function(acc,seg){return"string"==typeof seg?acc.push(buildSingleSegment(seg,null)):seg.data&&acc.push(buildSingleSegment(seg.data,seg.mode)),acc}),[])},exports.fromString=function fromString(data,version){const nodes=function buildNodes(segs){const nodes=[];for(let i=0;i<segs.length;i++){const seg=segs[i];switch(seg.mode){case Mode.NUMERIC:nodes.push([seg,{data:seg.data,mode:Mode.ALPHANUMERIC,length:seg.length},{data:seg.data,mode:Mode.BYTE,length:seg.length}]);break;case Mode.ALPHANUMERIC:nodes.push([seg,{data:seg.data,mode:Mode.BYTE,length:seg.length}]);break;case Mode.KANJI:nodes.push([seg,{data:seg.data,mode:Mode.BYTE,length:getStringByteLength(seg.data)}]);break;case Mode.BYTE:nodes.push([{data:seg.data,mode:Mode.BYTE,length:getStringByteLength(seg.data)}])}}return nodes}(getSegmentsFromString(data,Utils.isKanjiModeEnabled())),graph=function buildGraph(nodes,version){const table={},graph={start:{}};let prevNodeIds=["start"];for(let i=0;i<nodes.length;i++){const nodeGroup=nodes[i],currentNodeIds=[];for(let j=0;j<nodeGroup.length;j++){const node=nodeGroup[j],key=""+i+j;currentNodeIds.push(key),table[key]={node:node,lastCount:0},graph[key]={};for(let n=0;n<prevNodeIds.length;n++){const prevNodeId=prevNodeIds[n];table[prevNodeId]&&table[prevNodeId].node.mode===node.mode?(graph[prevNodeId][key]=getSegmentBitsLength(table[prevNodeId].lastCount+node.length,node.mode)-getSegmentBitsLength(table[prevNodeId].lastCount,node.mode),table[prevNodeId].lastCount+=node.length):(table[prevNodeId]&&(table[prevNodeId].lastCount=node.length),graph[prevNodeId][key]=getSegmentBitsLength(node.length,node.mode)+4+Mode.getCharCountIndicator(node.mode,version))}}prevNodeIds=currentNodeIds}for(let n=0;n<prevNodeIds.length;n++)graph[prevNodeIds[n]].end=0;return{map:graph,table:table}}(nodes,version),path=dijkstra.find_path(graph.map,"start","end"),optimizedSegs=[];for(let i=1;i<path.length-1;i++)optimizedSegs.push(graph.table[path[i]].node);return exports.fromArray(function mergeSegments(segs){return segs.reduce((function(acc,curr){const prevSeg=acc.length-1>=0?acc[acc.length-1]:null;return prevSeg&&prevSeg.mode===curr.mode?(acc[acc.length-1].data+=curr.data,acc):(acc.push(curr),acc)}),[])}(optimizedSegs))},exports.rawSplit=function rawSplit(data){return exports.fromArray(getSegmentsFromString(data,Utils.isKanjiModeEnabled()))}}(segments)),segments}function requireQrcode(){if(hasRequiredQrcode)return qrcode;hasRequiredQrcode=1;const Utils=requireUtils$1(),ECLevel=requireErrorCorrectionLevel(),BitBuffer=function requireBitBuffer(){if(hasRequiredBitBuffer)return bitBuffer;function BitBuffer(){this.buffer=[],this.length=0}return hasRequiredBitBuffer=1,BitBuffer.prototype={get:function(index){const bufIndex=Math.floor(index/8);return 1==(this.buffer[bufIndex]>>>7-index%8&1)},put:function(num,length){for(let i=0;i<length;i++)this.putBit(1==(num>>>length-i-1&1))},getLengthInBits:function(){return this.length},putBit:function(bit){const bufIndex=Math.floor(this.length/8);this.buffer.length<=bufIndex&&this.buffer.push(0),bit&&(this.buffer[bufIndex]|=128>>>this.length%8),this.length++}},bitBuffer=BitBuffer}(),BitMatrix=function requireBitMatrix(){if(hasRequiredBitMatrix)return bitMatrix;function BitMatrix(size){if(!size||size<1)throw new Error("BitMatrix size must be defined and greater than 0");this.size=size,this.data=new Uint8Array(size*size),this.reservedBit=new Uint8Array(size*size)}return hasRequiredBitMatrix=1,BitMatrix.prototype.set=function(row,col,value,reserved){const index=row*this.size+col;this.data[index]=value,reserved&&(this.reservedBit[index]=!0)},BitMatrix.prototype.get=function(row,col){return this.data[row*this.size+col]},BitMatrix.prototype.xor=function(row,col,value){this.data[row*this.size+col]^=value},BitMatrix.prototype.isReserved=function(row,col){return this.reservedBit[row*this.size+col]},bitMatrix=BitMatrix}(),AlignmentPattern=function requireAlignmentPattern(){return hasRequiredAlignmentPattern||(hasRequiredAlignmentPattern=1,function(exports){const getSymbolSize=requireUtils$1().getSymbolSize;exports.getRowColCoords=function getRowColCoords(version){if(1===version)return[];const posCount=Math.floor(version/7)+2,size=getSymbolSize(version),intervals=145===size?26:2*Math.ceil((size-13)/(2*posCount-2)),positions=[size-7];for(let i=1;i<posCount-1;i++)positions[i]=positions[i-1]-intervals;return positions.push(6),positions.reverse()},exports.getPositions=function getPositions(version){const coords=[],pos=exports.getRowColCoords(version),posLength=pos.length;for(let i=0;i<posLength;i++)for(let j=0;j<posLength;j++)0===i&&0===j||0===i&&j===posLength-1||i===posLength-1&&0===j||coords.push([pos[i],pos[j]]);return coords}}(alignmentPattern)),alignmentPattern}(),FinderPattern=function requireFinderPattern(){if(hasRequiredFinderPattern)return finderPattern;hasRequiredFinderPattern=1;const getSymbolSize=requireUtils$1().getSymbolSize;return finderPattern.getPositions=function getPositions(version){const size=getSymbolSize(version);return[[0,0],[size-7,0],[0,size-7]]},finderPattern}(),MaskPattern=function requireMaskPattern(){return hasRequiredMaskPattern||(hasRequiredMaskPattern=1,function(exports){exports.Patterns={PATTERN000:0,PATTERN001:1,PATTERN010:2,PATTERN011:3,PATTERN100:4,PATTERN101:5,PATTERN110:6,PATTERN111:7};const PenaltyScores_N1=3,PenaltyScores_N2=3,PenaltyScores_N3=40,PenaltyScores_N4=10;function getMaskAt(maskPattern,i,j){switch(maskPattern){case exports.Patterns.PATTERN000:return(i+j)%2==0;case exports.Patterns.PATTERN001:return i%2==0;case exports.Patterns.PATTERN010:return j%3==0;case exports.Patterns.PATTERN011:return(i+j)%3==0;case exports.Patterns.PATTERN100:return(Math.floor(i/2)+Math.floor(j/3))%2==0;case exports.Patterns.PATTERN101:return i*j%2+i*j%3==0;case exports.Patterns.PATTERN110:return(i*j%2+i*j%3)%2==0;case exports.Patterns.PATTERN111:return(i*j%3+(i+j)%2)%2==0;default:throw new Error("bad maskPattern:"+maskPattern)}}exports.isValid=function isValid(mask){return null!=mask&&""!==mask&&!isNaN(mask)&&mask>=0&&mask<=7},exports.from=function from(value){return exports.isValid(value)?parseInt(value,10):void 0},exports.getPenaltyN1=function getPenaltyN1(data){const size=data.size;let points=0,sameCountCol=0,sameCountRow=0,lastCol=null,lastRow=null;for(let row=0;row<size;row++){sameCountCol=sameCountRow=0,lastCol=lastRow=null;for(let col=0;col<size;col++){let module=data.get(row,col);module===lastCol?sameCountCol++:(sameCountCol>=5&&(points+=PenaltyScores_N1+(sameCountCol-5)),lastCol=module,sameCountCol=1),module=data.get(col,row),module===lastRow?sameCountRow++:(sameCountRow>=5&&(points+=PenaltyScores_N1+(sameCountRow-5)),lastRow=module,sameCountRow=1)}sameCountCol>=5&&(points+=PenaltyScores_N1+(sameCountCol-5)),sameCountRow>=5&&(points+=PenaltyScores_N1+(sameCountRow-5))}return points},exports.getPenaltyN2=function getPenaltyN2(data){const size=data.size;let points=0;for(let row=0;row<size-1;row++)for(let col=0;col<size-1;col++){const last=data.get(row,col)+data.get(row,col+1)+data.get(row+1,col)+data.get(row+1,col+1);4!==last&&0!==last||points++}return points*PenaltyScores_N2},exports.getPenaltyN3=function getPenaltyN3(data){const size=data.size;let points=0,bitsCol=0,bitsRow=0;for(let row=0;row<size;row++){bitsCol=bitsRow=0;for(let col=0;col<size;col++)bitsCol=bitsCol<<1&2047|data.get(row,col),col>=10&&(1488===bitsCol||93===bitsCol)&&points++,bitsRow=bitsRow<<1&2047|data.get(col,row),col>=10&&(1488===bitsRow||93===bitsRow)&&points++}return points*PenaltyScores_N3},exports.getPenaltyN4=function getPenaltyN4(data){let darkCount=0;const modulesCount=data.data.length;for(let i=0;i<modulesCount;i++)darkCount+=data.data[i];return Math.abs(Math.ceil(100*darkCount/modulesCount/5)-10)*PenaltyScores_N4},exports.applyMask=function applyMask(pattern,data){const size=data.size;for(let col=0;col<size;col++)for(let row=0;row<size;row++)data.isReserved(row,col)||data.xor(row,col,getMaskAt(pattern,row,col))},exports.getBestMask=function getBestMask(data,setupFormatFunc){const numPatterns=Object.keys(exports.Patterns).length;let bestPattern=0,lowerPenalty=1/0;for(let p=0;p<numPatterns;p++){setupFormatFunc(p),exports.applyMask(p,data);const penalty=exports.getPenaltyN1(data)+exports.getPenaltyN2(data)+exports.getPenaltyN3(data)+exports.getPenaltyN4(data);exports.applyMask(p,data),penalty<lowerPenalty&&(lowerPenalty=penalty,bestPattern=p)}return bestPattern}}(maskPattern)),maskPattern}(),ECCode=requireErrorCorrectionCode(),ReedSolomonEncoder=function requireReedSolomonEncoder(){if(hasRequiredReedSolomonEncoder)return reedSolomonEncoder;hasRequiredReedSolomonEncoder=1;const Polynomial=requirePolynomial();function ReedSolomonEncoder(degree){this.genPoly=void 0,this.degree=degree,this.degree&&this.initialize(this.degree)}return ReedSolomonEncoder.prototype.initialize=function initialize(degree){this.degree=degree,this.genPoly=Polynomial.generateECPolynomial(this.degree)},ReedSolomonEncoder.prototype.encode=function encode(data){if(!this.genPoly)throw new Error("Encoder not initialized");const paddedData=new Uint8Array(data.length+this.degree);paddedData.set(data);const remainder=Polynomial.mod(paddedData,this.genPoly),start=this.degree-remainder.length;if(start>0){const buff=new Uint8Array(this.degree);return buff.set(remainder,start),buff}return remainder},reedSolomonEncoder=ReedSolomonEncoder}(),Version=requireVersion(),FormatInfo=function requireFormatInfo(){if(hasRequiredFormatInfo)return formatInfo;hasRequiredFormatInfo=1;const Utils=requireUtils$1(),G15_BCH=Utils.getBCHDigit(1335);return formatInfo.getEncodedBits=function getEncodedBits(errorCorrectionLevel,mask){const data=errorCorrectionLevel.bit<<3|mask;let d=data<<10;for(;Utils.getBCHDigit(d)-G15_BCH>=0;)d^=1335<<Utils.getBCHDigit(d)-G15_BCH;return 21522^(data<<10|d)},formatInfo}(),Mode=requireMode(),Segments=requireSegments();function setupFormatInfo(matrix,errorCorrectionLevel,maskPattern){const size=matrix.size,bits=FormatInfo.getEncodedBits(errorCorrectionLevel,maskPattern);let i,mod;for(i=0;i<15;i++)mod=1==(bits>>i&1),i<6?matrix.set(i,8,mod,!0):i<8?matrix.set(i+1,8,mod,!0):matrix.set(size-15+i,8,mod,!0),i<8?matrix.set(8,size-i-1,mod,!0):i<9?matrix.set(8,15-i-1+1,mod,!0):matrix.set(8,15-i-1,mod,!0);matrix.set(size-8,8,1,!0)}function createData(version,errorCorrectionLevel,segments){const buffer=new BitBuffer;segments.forEach((function(data){buffer.put(data.mode.bit,4),buffer.put(data.getLength(),Mode.getCharCountIndicator(data.mode,version)),data.write(buffer)}));const dataTotalCodewordsBits=8*(Utils.getSymbolTotalCodewords(version)-ECCode.getTotalCodewordsCount(version,errorCorrectionLevel));for(buffer.getLengthInBits()+4<=dataTotalCodewordsBits&&buffer.put(0,4);buffer.getLengthInBits()%8!=0;)buffer.putBit(0);const remainingByte=(dataTotalCodewordsBits-buffer.getLengthInBits())/8;for(let i=0;i<remainingByte;i++)buffer.put(i%2?17:236,8);return function createCodewords(bitBuffer,version,errorCorrectionLevel){const totalCodewords=Utils.getSymbolTotalCodewords(version),ecTotalCodewords=ECCode.getTotalCodewordsCount(version,errorCorrectionLevel),dataTotalCodewords=totalCodewords-ecTotalCodewords,ecTotalBlocks=ECCode.getBlocksCount(version,errorCorrectionLevel),blocksInGroup2=totalCodewords%ecTotalBlocks,blocksInGroup1=ecTotalBlocks-blocksInGroup2,totalCodewordsInGroup1=Math.floor(totalCodewords/ecTotalBlocks),dataCodewordsInGroup1=Math.floor(dataTotalCodewords/ecTotalBlocks),dataCodewordsInGroup2=dataCodewordsInGroup1+1,ecCount=totalCodewordsInGroup1-dataCodewordsInGroup1,rs=new ReedSolomonEncoder(ecCount);let offset=0;const dcData=new Array(ecTotalBlocks),ecData=new Array(ecTotalBlocks);let maxDataSize=0;const buffer=new Uint8Array(bitBuffer.buffer);for(let b=0;b<ecTotalBlocks;b++){const dataSize=b<blocksInGroup1?dataCodewordsInGroup1:dataCodewordsInGroup2;dcData[b]=buffer.slice(offset,offset+dataSize),ecData[b]=rs.encode(dcData[b]),offset+=dataSize,maxDataSize=Math.max(maxDataSize,dataSize)}const data=new Uint8Array(totalCodewords);let i,r,index=0;for(i=0;i<maxDataSize;i++)for(r=0;r<ecTotalBlocks;r++)i<dcData[r].length&&(data[index++]=dcData[r][i]);for(i=0;i<ecCount;i++)for(r=0;r<ecTotalBlocks;r++)data[index++]=ecData[r][i];return data}(buffer,version,errorCorrectionLevel)}function createSymbol(data,version,errorCorrectionLevel,maskPattern){let segments;if(Array.isArray(data))segments=Segments.fromArray(data);else{if("string"!=typeof data)throw new Error("Invalid data");{let estimatedVersion=version;if(!estimatedVersion){const rawSegments=Segments.rawSplit(data);estimatedVersion=Version.getBestVersionForData(rawSegments,errorCorrectionLevel)}segments=Segments.fromString(data,estimatedVersion||40)}}const bestVersion=Version.getBestVersionForData(segments,errorCorrectionLevel);if(!bestVersion)throw new Error("The amount of data is too big to be stored in a QR Code");if(version){if(version<bestVersion)throw new Error("\nThe chosen QR Code version cannot contain this amount of data.\nMinimum version required to store current data is: "+bestVersion+".\n")}else version=bestVersion;const dataBits=createData(version,errorCorrectionLevel,segments),moduleCount=Utils.getSymbolSize(version),modules=new BitMatrix(moduleCount);return function setupFinderPattern(matrix,version){const size=matrix.size,pos=FinderPattern.getPositions(version);for(let i=0;i<pos.length;i++){const row=pos[i][0],col=pos[i][1];for(let r=-1;r<=7;r++)if(!(row+r<=-1||size<=row+r))for(let c=-1;c<=7;c++)col+c<=-1||size<=col+c||(r>=0&&r<=6&&(0===c||6===c)||c>=0&&c<=6&&(0===r||6===r)||r>=2&&r<=4&&c>=2&&c<=4?matrix.set(row+r,col+c,!0,!0):matrix.set(row+r,col+c,!1,!0))}}(modules,version),function setupTimingPattern(matrix){const size=matrix.size;for(let r=8;r<size-8;r++){const value=r%2==0;matrix.set(r,6,value,!0),matrix.set(6,r,value,!0)}}(modules),function setupAlignmentPattern(matrix,version){const pos=AlignmentPattern.getPositions(version);for(let i=0;i<pos.length;i++){const row=pos[i][0],col=pos[i][1];for(let r=-2;r<=2;r++)for(let c=-2;c<=2;c++)-2===r||2===r||-2===c||2===c||0===r&&0===c?matrix.set(row+r,col+c,!0,!0):matrix.set(row+r,col+c,!1,!0)}}(modules,version),setupFormatInfo(modules,errorCorrectionLevel,0),version>=7&&function setupVersionInfo(matrix,version){const size=matrix.size,bits=Version.getEncodedBits(version);let row,col,mod;for(let i=0;i<18;i++)row=Math.floor(i/3),col=i%3+size-8-3,mod=1==(bits>>i&1),matrix.set(row,col,mod,!0),matrix.set(col,row,mod,!0)}(modules,version),function setupData(matrix,data){const size=matrix.size;let inc=-1,row=size-1,bitIndex=7,byteIndex=0;for(let col=size-1;col>0;col-=2)for(6===col&&col--;;){for(let c=0;c<2;c++)if(!matrix.isReserved(row,col-c)){let dark=!1;byteIndex<data.length&&(dark=1==(data[byteIndex]>>>bitIndex&1)),matrix.set(row,col-c,dark),bitIndex--,-1===bitIndex&&(byteIndex++,bitIndex=7)}if(row+=inc,row<0||size<=row){row-=inc,inc=-inc;break}}}(modules,dataBits),isNaN(maskPattern)&&(maskPattern=MaskPattern.getBestMask(modules,setupFormatInfo.bind(null,modules,errorCorrectionLevel))),MaskPattern.applyMask(maskPattern,modules),setupFormatInfo(modules,errorCorrectionLevel,maskPattern),{modules:modules,version:version,errorCorrectionLevel:errorCorrectionLevel,maskPattern:maskPattern,segments:segments}}return qrcode.create=function create(data,options){if(void 0===data||""===data)throw new Error("No input text");let version,mask,errorCorrectionLevel=ECLevel.M;return void 0!==options&&(errorCorrectionLevel=ECLevel.from(options.errorCorrectionLevel,ECLevel.M),version=Version.from(options.version),mask=MaskPattern.from(options.maskPattern),options.toSJISFunc&&Utils.setToSJISFunction(options.toSJISFunc)),createSymbol(data,version,errorCorrectionLevel,mask)},qrcode}var hasRequiredChunkstream,png$1={},png={},parserAsync={exports:{}},chunkstream={exports:{}};function requireChunkstream(){if(hasRequiredChunkstream)return chunkstream.exports;hasRequiredChunkstream=1;let util=require$$0__default$3.default,Stream=require$$0__default$2.default,ChunkStream=chunkstream.exports=function(){Stream.call(this),this._buffers=[],this._buffered=0,this._reads=[],this._paused=!1,this._encoding="utf8",this.writable=!0};return util.inherits(ChunkStream,Stream),ChunkStream.prototype.read=function(length,callback){this._reads.push({length:Math.abs(length),allowLess:length<0,func:callback}),process.nextTick(function(){this._process(),this._paused&&this._reads&&this._reads.length>0&&(this._paused=!1,this.emit("drain"))}.bind(this))},ChunkStream.prototype.write=function(data,encoding){if(!this.writable)return this.emit("error",new Error("Stream not writable")),!1;let dataBuffer;return dataBuffer=Buffer.isBuffer(data)?data:Buffer.from(data,encoding||this._encoding),this._buffers.push(dataBuffer),this._buffered+=dataBuffer.length,this._process(),this._reads&&0===this._reads.length&&(this._paused=!0),this.writable&&!this._paused},ChunkStream.prototype.end=function(data,encoding){data&&this.write(data,encoding),this.writable=!1,this._buffers&&(0===this._buffers.length?this._end():(this._buffers.push(null),this._process()))},ChunkStream.prototype.destroySoon=ChunkStream.prototype.end,ChunkStream.prototype._end=function(){this._reads.length>0&&this.emit("error",new Error("Unexpected end of input")),this.destroy()},ChunkStream.prototype.destroy=function(){this._buffers&&(this.writable=!1,this._reads=null,this._buffers=null,this.emit("close"))},ChunkStream.prototype._processReadAllowingLess=function(read){this._reads.shift();let smallerBuf=this._buffers[0];smallerBuf.length>read.length?(this._buffered-=read.length,this._buffers[0]=smallerBuf.slice(read.length),read.func.call(this,smallerBuf.slice(0,read.length))):(this._buffered-=smallerBuf.length,this._buffers.shift(),read.func.call(this,smallerBuf))},ChunkStream.prototype._processRead=function(read){this._reads.shift();let pos=0,count=0,data=Buffer.alloc(read.length);for(;pos<read.length;){let buf=this._buffers[count++],len=Math.min(buf.length,read.length-pos);buf.copy(data,pos,0,len),pos+=len,len!==buf.length&&(this._buffers[--count]=buf.slice(len))}count>0&&this._buffers.splice(0,count),this._buffered-=read.length,read.func.call(this,data)},ChunkStream.prototype._process=function(){try{for(;this._buffered>0&&this._reads&&this._reads.length>0;){let read=this._reads[0];if(read.allowLess)this._processReadAllowingLess(read);else{if(!(this._buffered>=read.length))break;this._processRead(read)}}this._buffers&&!this.writable&&this._end()}catch(ex){this.emit("error",ex)}},chunkstream.exports}var hasRequiredInterlace,paethPredictor,hasRequiredPaethPredictor,hasRequiredFilterParse,hasRequiredFilterParseAsync,filterParseAsync={exports:{}},filterParse={exports:{}},interlace={};function requireInterlace(){if(hasRequiredInterlace)return interlace;hasRequiredInterlace=1;let imagePasses=[{x:[0],y:[0]},{x:[4],y:[0]},{x:[0,4],y:[4]},{x:[2,6],y:[0,4]},{x:[0,2,4,6],y:[2,6]},{x:[1,3,5,7],y:[0,2,4,6]},{x:[0,1,2,3,4,5,6,7],y:[1,3,5,7]}];return interlace.getImagePasses=function(width,height){let images=[],xLeftOver=width%8,yLeftOver=height%8,xRepeats=(width-xLeftOver)/8,yRepeats=(height-yLeftOver)/8;for(let i=0;i<imagePasses.length;i++){let pass=imagePasses[i],passWidth=xRepeats*pass.x.length,passHeight=yRepeats*pass.y.length;for(let j=0;j<pass.x.length&&pass.x[j]<xLeftOver;j++)passWidth++;for(let j=0;j<pass.y.length&&pass.y[j]<yLeftOver;j++)passHeight++;passWidth>0&&passHeight>0&&images.push({width:passWidth,height:passHeight,index:i})}return images},interlace.getInterlaceIterator=function(width){return function(x,y,pass){let outerXLeftOver=x%imagePasses[pass].x.length,outerX=(x-outerXLeftOver)/imagePasses[pass].x.length*8+imagePasses[pass].x[outerXLeftOver],outerYLeftOver=y%imagePasses[pass].y.length;return 4*outerX+((y-outerYLeftOver)/imagePasses[pass].y.length*8+imagePasses[pass].y[outerYLeftOver])*width*4}},interlace}function requirePaethPredictor(){return hasRequiredPaethPredictor?paethPredictor:(hasRequiredPaethPredictor=1,paethPredictor=function paethPredictor(left,above,upLeft){let paeth=left+above-upLeft,pLeft=Math.abs(paeth-left),pAbove=Math.abs(paeth-above),pUpLeft=Math.abs(paeth-upLeft);return pLeft<=pAbove&&pLeft<=pUpLeft?left:pAbove<=pUpLeft?above:upLeft})}function requireFilterParse(){if(hasRequiredFilterParse)return filterParse.exports;hasRequiredFilterParse=1;let interlaceUtils=requireInterlace(),paethPredictor=requirePaethPredictor();function getByteWidth(width,bpp,depth){let byteWidth=width*bpp;return 8!==depth&&(byteWidth=Math.ceil(byteWidth/(8/depth))),byteWidth}let Filter=filterParse.exports=function(bitmapInfo,dependencies){let width=bitmapInfo.width,height=bitmapInfo.height,interlace=bitmapInfo.interlace,bpp=bitmapInfo.bpp,depth=bitmapInfo.depth;if(this.read=dependencies.read,this.write=dependencies.write,this.complete=dependencies.complete,this._imageIndex=0,this._images=[],interlace){let passes=interlaceUtils.getImagePasses(width,height);for(let i=0;i<passes.length;i++)this._images.push({byteWidth:getByteWidth(passes[i].width,bpp,depth),height:passes[i].height,lineIndex:0})}else this._images.push({byteWidth:getByteWidth(width,bpp,depth),height:height,lineIndex:0});this._xComparison=8===depth?bpp:16===depth?2*bpp:1};return Filter.prototype.start=function(){this.read(this._images[this._imageIndex].byteWidth+1,this._reverseFilterLine.bind(this))},Filter.prototype._unFilterType1=function(rawData,unfilteredLine,byteWidth){let xComparison=this._xComparison,xBiggerThan=xComparison-1;for(let x=0;x<byteWidth;x++){let rawByte=rawData[1+x],f1Left=x>xBiggerThan?unfilteredLine[x-xComparison]:0;unfilteredLine[x]=rawByte+f1Left}},Filter.prototype._unFilterType2=function(rawData,unfilteredLine,byteWidth){let lastLine=this._lastLine;for(let x=0;x<byteWidth;x++){let rawByte=rawData[1+x],f2Up=lastLine?lastLine[x]:0;unfilteredLine[x]=rawByte+f2Up}},Filter.prototype._unFilterType3=function(rawData,unfilteredLine,byteWidth){let xComparison=this._xComparison,xBiggerThan=xComparison-1,lastLine=this._lastLine;for(let x=0;x<byteWidth;x++){let rawByte=rawData[1+x],f3Up=lastLine?lastLine[x]:0,f3Left=x>xBiggerThan?unfilteredLine[x-xComparison]:0,f3Add=Math.floor((f3Left+f3Up)/2);unfilteredLine[x]=rawByte+f3Add}},Filter.prototype._unFilterType4=function(rawData,unfilteredLine,byteWidth){let xComparison=this._xComparison,xBiggerThan=xComparison-1,lastLine=this._lastLine;for(let x=0;x<byteWidth;x++){let rawByte=rawData[1+x],f4Up=lastLine?lastLine[x]:0,f4Left=x>xBiggerThan?unfilteredLine[x-xComparison]:0,f4UpLeft=x>xBiggerThan&&lastLine?lastLine[x-xComparison]:0,f4Add=paethPredictor(f4Left,f4Up,f4UpLeft);unfilteredLine[x]=rawByte+f4Add}},Filter.prototype._reverseFilterLine=function(rawData){let unfilteredLine,filter=rawData[0],currentImage=this._images[this._imageIndex],byteWidth=currentImage.byteWidth;if(0===filter)unfilteredLine=rawData.slice(1,byteWidth+1);else switch(unfilteredLine=Buffer.alloc(byteWidth),filter){case 1:this._unFilterType1(rawData,unfilteredLine,byteWidth);break;case 2:this._unFilterType2(rawData,unfilteredLine,byteWidth);break;case 3:this._unFilterType3(rawData,unfilteredLine,byteWidth);break;case 4:this._unFilterType4(rawData,unfilteredLine,byteWidth);break;default:throw new Error("Unrecognised filter type - "+filter)}this.write(unfilteredLine),currentImage.lineIndex++,currentImage.lineIndex>=currentImage.height?(this._lastLine=null,this._imageIndex++,currentImage=this._images[this._imageIndex]):this._lastLine=unfilteredLine,currentImage?this.read(currentImage.byteWidth+1,this._reverseFilterLine.bind(this)):(this._lastLine=null,this.complete())},filterParse.exports}var constants,hasRequiredConstants,parser={exports:{}};function requireConstants(){return hasRequiredConstants?constants:(hasRequiredConstants=1,constants={PNG_SIGNATURE:[137,80,78,71,13,10,26,10],TYPE_IHDR:1229472850,TYPE_IEND:1229278788,TYPE_IDAT:1229209940,TYPE_PLTE:1347179589,TYPE_tRNS:1951551059,TYPE_gAMA:1732332865,COLORTYPE_GRAYSCALE:0,COLORTYPE_PALETTE:1,COLORTYPE_COLOR:2,COLORTYPE_ALPHA:4,COLORTYPE_PALETTE_COLOR:3,COLORTYPE_COLOR_ALPHA:6,COLORTYPE_TO_BPP_MAP:{0:1,2:3,3:1,4:2,6:4},GAMMA_DIVISION:1e5})}var hasRequiredCrc,hasRequiredParser,crc={exports:{}};function requireCrc(){if(hasRequiredCrc)return crc.exports;hasRequiredCrc=1;let crcTable=[];!function(){for(let i=0;i<256;i++){let currentCrc=i;for(let j=0;j<8;j++)1¤tCrc?currentCrc=3988292384^currentCrc>>>1:currentCrc>>>=1;crcTable[i]=currentCrc}}();let CrcCalculator=crc.exports=function(){this._crc=-1};return CrcCalculator.prototype.write=function(data){for(let i=0;i<data.length;i++)this._crc=crcTable[255&(this._crc^data[i])]^this._crc>>>8;return!0},CrcCalculator.prototype.crc32=function(){return~this._crc},CrcCalculator.crc32=function(buf){let crc=-1;for(let i=0;i<buf.length;i++)crc=crcTable[255&(crc^buf[i])]^crc>>>8;return~crc},crc.exports}function requireParser(){if(hasRequiredParser)return parser.exports;hasRequiredParser=1;let constants=requireConstants(),CrcCalculator=requireCrc(),Parser=parser.exports=function(options,dependencies){this._options=options,options.checkCRC=!1!==options.checkCRC,this._hasIHDR=!1,this._hasIEND=!1,this._emittedHeadersFinished=!1,this._palette=[],this._colorType=0,this._chunks={},this._chunks[constants.TYPE_IHDR]=this._handleIHDR.bind(this),this._chunks[constants.TYPE_IEND]=this._handleIEND.bind(this),this._chunks[constants.TYPE_IDAT]=this._handleIDAT.bind(this),this._chunks[constants.TYPE_PLTE]=this._handlePLTE.bind(this),this._chunks[constants.TYPE_tRNS]=this._handleTRNS.bind(this),this._chunks[constants.TYPE_gAMA]=this._handleGAMA.bind(this),this.read=dependencies.read,this.error=dependencies.error,this.metadata=dependencies.metadata,this.gamma=dependencies.gamma,this.transColor=dependencies.transColor,this.palette=dependencies.palette,this.parsed=dependencies.parsed,this.inflateData=dependencies.inflateData,this.finished=dependencies.finished,this.simpleTransparency=dependencies.simpleTransparency,this.headersFinished=dependencies.headersFinished||function(){}};return Parser.prototype.start=function(){this.read(constants.PNG_SIGNATURE.length,this._parseSignature.bind(this))},Parser.prototype._parseSignature=function(data){let signature=constants.PNG_SIGNATURE;for(let i=0;i<signature.length;i++)if(data[i]!==signature[i])return void this.error(new Error("Invalid file signature"));this.read(8,this._parseChunkBegin.bind(this))},Parser.prototype._parseChunkBegin=function(data){let length=data.readUInt32BE(0),type=data.readUInt32BE(4),name="";for(let i=4;i<8;i++)name+=String.fromCharCode(data[i]);let ancillary=Boolean(32&data[4]);if(this._hasIHDR||type===constants.TYPE_IHDR){if(this._crc=new CrcCalculator,this._crc.write(Buffer.from(name)),this._chunks[type])return this._chunks[type](length);ancillary?this.read(length+4,this._skipChunk.bind(this)):this.error(new Error("Unsupported critical chunk type "+name))}else this.error(new Error("Expected IHDR on beggining"))},Parser.prototype._skipChunk=function(){this.read(8,this._parseChunkBegin.bind(this))},Parser.prototype._handleChunkEnd=function(){this.read(4,this._parseChunkEnd.bind(this))},Parser.prototype._parseChunkEnd=function(data){let fileCrc=data.readInt32BE(0),calcCrc=this._crc.crc32();this._options.checkCRC&&calcCrc!==fileCrc?this.error(new Error("Crc error - "+fileCrc+" - "+calcCrc)):this._hasIEND||this.read(8,this._parseChunkBegin.bind(this))},Parser.prototype._handleIHDR=function(length){this.read(length,this._parseIHDR.bind(this))},Parser.prototype._parseIHDR=function(data){this._crc.write(data);let width=data.readUInt32BE(0),height=data.readUInt32BE(4),depth=data[8],colorType=data[9],compr=data[10],filter=data[11],interlace=data[12];if(8!==depth&&4!==depth&&2!==depth&&1!==depth&&16!==depth)return void this.error(new Error("Unsupported bit depth "+depth));if(!(colorType in constants.COLORTYPE_TO_BPP_MAP))return void this.error(new Error("Unsupported color type"));if(0!==compr)return void this.error(new Error("Unsupported compression method"));if(0!==filter)return void this.error(new Error("Unsupported filter method"));if(0!==interlace&&1!==interlace)return void this.error(new Error("Unsupported interlace method"));this._colorType=colorType;let bpp=constants.COLORTYPE_TO_BPP_MAP[this._colorType];this._hasIHDR=!0,this.metadata({width:width,height:height,depth:depth,interlace:Boolean(interlace),palette:Boolean(colorType&constants.COLORTYPE_PALETTE),color:Boolean(colorType&constants.COLORTYPE_COLOR),alpha:Boolean(colorType&constants.COLORTYPE_ALPHA),bpp:bpp,colorType:colorType}),this._handleChunkEnd()},Parser.prototype._handlePLTE=function(length){this.read(length,this._parsePLTE.bind(this))},Parser.prototype._parsePLTE=function(data){this._crc.write(data);let entries=Math.floor(data.length/3);for(let i=0;i<entries;i++)this._palette.push([data[3*i],data[3*i+1],data[3*i+2],255]);this.palette(this._palette),this._handleChunkEnd()},Parser.prototype._handleTRNS=function(length){this.simpleTransparency(),this.read(length,this._parseTRNS.bind(this))},Parser.prototype._parseTRNS=function(data){if(this._crc.write(data),this._colorType===constants.COLORTYPE_PALETTE_COLOR){if(0===this._palette.length)return void this.error(new Error("Transparency chunk must be after palette"));if(data.length>this._palette.length)return void this.error(new Error("More transparent colors than palette size"));for(let i=0;i<data.length;i++)this._palette[i][3]=data[i];this.palette(this._palette)}this._colorType===constants.COLORTYPE_GRAYSCALE&&this.transColor([data.readUInt16BE(0)]),this._colorType===constants.COLORTYPE_COLOR&&this.transColor([data.readUInt16BE(0),data.readUInt16BE(2),data.readUInt16BE(4)]),this._handleChunkEnd()},Parser.prototype._handleGAMA=function(length){this.read(length,this._parseGAMA.bind(this))},Parser.prototype._parseGAMA=function(data){this._crc.write(data),this.gamma(data.readUInt32BE(0)/constants.GAMMA_DIVISION),this._handleChunkEnd()},Parser.prototype._handleIDAT=function(length){this._emittedHeadersFinished||(this._emittedHeadersFinished=!0,this.headersFinished()),this.read(-length,this._parseIDAT.bind(this,length))},Parser.prototype._parseIDAT=function(length,data){if(this._crc.write(data),this._colorType===constants.COLORTYPE_PALETTE_COLOR&&0===this._palette.length)throw new Error("Expected palette not found");this.inflateData(data);let leftOverLength=length-data.length;leftOverLength>0?this._handleIDAT(leftOverLength):this._handleChunkEnd()},Parser.prototype._handleIEND=function(length){this.read(length,this._parseIEND.bind(this))},Parser.prototype._parseIEND=function(data){this._crc.write(data),this._hasIEND=!0,this._handleChunkEnd(),this.finished&&this.finished()},parser.exports}var hasRequiredBitmapper,formatNormaliser,hasRequiredFormatNormaliser,hasRequiredParserAsync,bitmapper={};function requireBitmapper(){if(hasRequiredBitmapper)return bitmapper;hasRequiredBitmapper=1;let interlaceUtils=requireInterlace(),pixelBppMapper=[function(){},function(pxData,data,pxPos,rawPos){if(rawPos===data.length)throw new Error("Ran out of data");let pixel=data[rawPos];pxData[pxPos]=pixel,pxData[pxPos+1]=pixel,pxData[pxPos+2]=pixel,pxData[pxPos+3]=255},function(pxData,data,pxPos,rawPos){if(rawPos+1>=data.length)throw new Error("Ran out of data");let pixel=data[rawPos];pxData[pxPos]=pixel,pxData[pxPos+1]=pixel,pxData[pxPos+2]=pixel,pxData[pxPos+3]=data[rawPos+1]},function(pxData,data,pxPos,rawPos){if(rawPos+2>=data.length)throw new Error("Ran out of data");pxData[pxPos]=data[rawPos],pxData[pxPos+1]=data[rawPos+1],pxData[pxPos+2]=data[rawPos+2],pxData[pxPos+3]=255},function(pxData,data,pxPos,rawPos){if(rawPos+3>=data.length)throw new Error("Ran out of data");pxData[pxPos]=data[rawPos],pxData[pxPos+1]=data[rawPos+1],pxData[pxPos+2]=data[rawPos+2],pxData[pxPos+3]=data[rawPos+3]}],pixelBppCustomMapper=[function(){},function(pxData,pixelData,pxPos,maxBit){let pixel=pixelData[0];pxData[pxPos]=pixel,pxData[pxPos+1]=pixel,pxData[pxPos+2]=pixel,pxData[pxPos+3]=maxBit},function(pxData,pixelData,pxPos){let pixel=pixelData[0];pxData[pxPos]=pixel,pxData[pxPos+1]=pixel,pxData[pxPos+2]=pixel,pxData[pxPos+3]=pixelData[1]},function(pxData,pixelData,pxPos,maxBit){pxData[pxPos]=pixelData[0],pxData[pxPos+1]=pixelData[1],pxData[pxPos+2]=pixelData[2],pxData[pxPos+3]=maxBit},function(pxData,pixelData,pxPos){pxData[pxPos]=pixelData[0],pxData[pxPos+1]=pixelData[1],pxData[pxPos+2]=pixelData[2],pxData[pxPos+3]=pixelData[3]}];function mapImage8Bit(image,pxData,getPxPos,bpp,data,rawPos){let imageWidth=image.width,imageHeight=image.height,imagePass=image.index;for(let y=0;y<imageHeight;y++)for(let x=0;x<imageWidth;x++){let pxPos=getPxPos(x,y,imagePass);pixelBppMapper[bpp](pxData,data,pxPos,rawPos),rawPos+=bpp}return rawPos}function mapImageCustomBit(image,pxData,getPxPos,bpp,bits,maxBit){let imageWidth=image.width,imageHeight=image.height,imagePass=image.index;for(let y=0;y<imageHeight;y++){for(let x=0;x<imageWidth;x++){let pixelData=bits.get(bpp),pxPos=getPxPos(x,y,imagePass);pixelBppCustomMapper[bpp](pxData,pixelData,pxPos,maxBit)}bits.resetAfterLine()}}return bitmapper.dataToBitMap=function(data,bitmapInfo){let bits,pxData,width=bitmapInfo.width,height=bitmapInfo.height,depth=bitmapInfo.depth,bpp=bitmapInfo.bpp,interlace=bitmapInfo.interlace;8!==depth&&(bits=function bitRetriever(data,depth){let leftOver=[],i=0;function split(){if(i===data.length)throw new Error("Ran out of data");let byte8,byte7,byte6,byte5,byte4,byte3,byte2,byte1,byte=data[i];switch(i++,depth){default:throw new Error("unrecognised depth");case 16:byte2=data[i],i++,leftOver.push((byte<<8)+byte2);break;case 4:byte2=15&byte,byte1=byte>>4,leftOver.push(byte1,byte2);break;case 2:byte4=3&byte,byte3=byte>>2&3,byte2=byte>>4&3,byte1=byte>>6&3,leftOver.push(byte1,byte2,byte3,byte4);break;case 1:byte8=1&byte,byte7=byte>>1&1,byte6=byte>>2&1,byte5=byte>>3&1,byte4=byte>>4&1,byte3=byte>>5&1,byte2=byte>>6&1,byte1=byte>>7&1,leftOver.push(byte1,byte2,byte3,byte4,byte5,byte6,byte7,byte8)}}return{get:function(count){for(;leftOver.length<count;)split();let returner=leftOver.slice(0,count);return leftOver=leftOver.slice(count),returner},resetAfterLine:function(){leftOver.length=0},end:function(){if(i!==data.length)throw new Error("extra data found")}}}(data,depth)),pxData=depth<=8?Buffer.alloc(width*height*4):new Uint16Array(width*height*4);let images,getPxPos,maxBit=Math.pow(2,depth)-1,rawPos=0;if(interlace)images=interlaceUtils.getImagePasses(width,height),getPxPos=interlaceUtils.getInterlaceIterator(width,height);else{let nonInterlacedPxPos=0;getPxPos=function(){let returner=nonInterlacedPxPos;return nonInterlacedPxPos+=4,returner},images=[{width:width,height:height}]}for(let imageIndex=0;imageIndex<images.length;imageIndex++)8===depth?rawPos=mapImage8Bit(images[imageIndex],pxData,getPxPos,bpp,data,rawPos):mapImageCustomBit(images[imageIndex],pxData,getPxPos,bpp,bits,maxBit);if(8===depth){if(rawPos!==data.length)throw new Error("extra data found")}else bits.end();return pxData},bitmapper}function requireFormatNormaliser(){if(hasRequiredFormatNormaliser)return formatNormaliser;return hasRequiredFormatNormaliser=1,formatNormaliser=function(indata,imageData){let depth=imageData.depth,width=imageData.width,height=imageData.height,colorType=imageData.colorType,transColor=imageData.transColor,palette=imageData.palette,outdata=indata;return 3===colorType?function dePalette(indata,outdata,width,height,palette){let pxPos=0;for(let y=0;y<height;y++)for(let x=0;x<width;x++){let color=palette[indata[pxPos]];if(!color)throw new Error("index "+indata[pxPos]+" not in palette");for(let i=0;i<4;i++)outdata[pxPos+i]=color[i];pxPos+=4}}(indata,outdata,width,height,palette):(transColor&&function replaceTransparentColor(indata,outdata,width,height,transColor){let pxPos=0;for(let y=0;y<height;y++)for(let x=0;x<width;x++){let makeTrans=!1;if(1===transColor.length?transColor[0]===indata[pxPos]&&(makeTrans=!0):transColor[0]===indata[pxPos]&&transColor[1]===indata[pxPos+1]&&transColor[2]===indata[pxPos+2]&&(makeTrans=!0),makeTrans)for(let i=0;i<4;i++)outdata[pxPos+i]=0;pxPos+=4}}(indata,outdata,width,height,transColor),8!==depth&&(16===depth&&(outdata=Buffer.alloc(width*height*4)),function scaleDepth(indata,outdata,width,height,depth){let maxInSample=Math.pow(2,depth)-1,pxPos=0;for(let y=0;y<height;y++)for(let x=0;x<width;x++){for(let i=0;i<4;i++)outdata[pxPos+i]=Math.floor(255*indata[pxPos+i]/maxInSample+.5);pxPos+=4}}(indata,outdata,width,height,depth))),outdata}}function requireParserAsync(){if(hasRequiredParserAsync)return parserAsync.exports;hasRequiredParserAsync=1;let util=require$$0__default$3.default,zlib=zlib__default.default,ChunkStream=requireChunkstream(),FilterAsync=function requireFilterParseAsync(){if(hasRequiredFilterParseAsync)return filterParseAsync.exports;hasRequiredFilterParseAsync=1;let util=require$$0__default$3.default,ChunkStream=requireChunkstream(),Filter=requireFilterParse(),FilterAsync=filterParseAsync.exports=function(bitmapInfo){ChunkStream.call(this);let buffers=[],that=this;this._filter=new Filter(bitmapInfo,{read:this.read.bind(this),write:function(buffer){buffers.push(buffer)},complete:function(){that.emit("complete",Buffer.concat(buffers))}}),this._filter.start()};return util.inherits(FilterAsync,ChunkStream),filterParseAsync.exports}(),Parser=requireParser(),bitmapper=requireBitmapper(),formatNormaliser=requireFormatNormaliser(),ParserAsync=parserAsync.exports=function(options){ChunkStream.call(this),this._parser=new Parser(options,{read:this.read.bind(this),error:this._handleError.bind(this),metadata:this._handleMetaData.bind(this),gamma:this.emit.bind(this,"gamma"),palette:this._handlePalette.bind(this),transColor:this._handleTransColor.bind(this),finished:this._finished.bind(this),inflateData:this._inflateData.bind(this),simpleTransparency:this._simpleTransparency.bind(this),headersFinished:this._headersFinished.bind(this)}),this._options=options,this.writable=!0,this._parser.start()};return util.inherits(ParserAsync,ChunkStream),ParserAsync.prototype._handleError=function(err){this.emit("error",err),this.writable=!1,this.destroy(),this._inflate&&this._inflate.destroy&&this._inflate.destroy(),this._filter&&(this._filter.destroy(),this._filter.on("error",(function(){}))),this.errord=!0},ParserAsync.prototype._inflateData=function(data){if(!this._inflate)if(this._bitmapInfo.interlace)this._inflate=zlib.createInflate(),this._inflate.on("error",this.emit.bind(this,"error")),this._filter.on("complete",this._complete.bind(this)),this._inflate.pipe(this._filter);else{let imageSize=(1+(this._bitmapInfo.width*this._bitmapInfo.bpp*this._bitmapInfo.depth+7>>3))*this._bitmapInfo.height,chunkSize=Math.max(imageSize,zlib.Z_MIN_CHUNK);this._inflate=zlib.createInflate({chunkSize:chunkSize});let leftToInflate=imageSize,emitError=this.emit.bind(this,"error");this._inflate.on("error",(function(err){leftToInflate&&emitError(err)})),this._filter.on("complete",this._complete.bind(this));let filterWrite=this._filter.write.bind(this._filter);this._inflate.on("data",(function(chunk){leftToInflate&&(chunk.length>leftToInflate&&(chunk=chunk.slice(0,leftToInflate)),leftToInflate-=chunk.length,filterWrite(chunk))})),this._inflate.on("end",this._filter.end.bind(this._filter))}this._inflate.write(data)},ParserAsync.prototype._handleMetaData=function(metaData){this._metaData=metaData,this._bitmapInfo=Object.create(metaData),this._filter=new FilterAsync(this._bitmapInfo)},ParserAsync.prototype._handleTransColor=function(transColor){this._bitmapInfo.transColor=transColor},ParserAsync.prototype._handlePalette=function(palette){this._bitmapInfo.palette=palette},ParserAsync.prototype._simpleTransparency=function(){this._metaData.alpha=!0},ParserAsync.prototype._headersFinished=function(){this.emit("metadata",this._metaData)},ParserAsync.prototype._finished=function(){this.errord||(this._inflate?this._inflate.end():this.emit("error","No Inflate block"))},ParserAsync.prototype._complete=function(filteredData){if(this.errord)return;let normalisedBitmapData;try{let bitmapData=bitmapper.dataToBitMap(filteredData,this._bitmapInfo);normalisedBitmapData=formatNormaliser(bitmapData,this._bitmapInfo),bitmapData=null}catch(ex){return void this._handleError(ex)}this.emit("parsed",normalisedBitmapData)},parserAsync.exports}var bitpacker,hasRequiredBitpacker,filterPack,hasRequiredFilterPack,hasRequiredPacker,hasRequiredPackerAsync,packerAsync={exports:{}},packer={exports:{}};function requirePacker(){if(hasRequiredPacker)return packer.exports;hasRequiredPacker=1;let constants=requireConstants(),CrcStream=requireCrc(),bitPacker=function requireBitpacker(){if(hasRequiredBitpacker)return bitpacker;hasRequiredBitpacker=1;let constants=requireConstants();return bitpacker=function(dataIn,width,height,options){let outHasAlpha=-1!==[constants.COLORTYPE_COLOR_ALPHA,constants.COLORTYPE_ALPHA].indexOf(options.colorType);if(options.colorType===options.inputColorType){let bigEndian=function(){let buffer=new ArrayBuffer(2);return new DataView(buffer).setInt16(0,256,!0),256!==new Int16Array(buffer)[0]}();if(8===options.bitDepth||16===options.bitDepth&&bigEndian)return dataIn}let data=16!==options.bitDepth?dataIn:new Uint16Array(dataIn.buffer),maxValue=255,inBpp=constants.COLORTYPE_TO_BPP_MAP[options.inputColorType];4!==inBpp||options.inputHasAlpha||(inBpp=3);let outBpp=constants.COLORTYPE_TO_BPP_MAP[options.colorType];16===options.bitDepth&&(maxValue=65535,outBpp*=2);let outData=Buffer.alloc(width*height*outBpp),inIndex=0,outIndex=0,bgColor=options.bgColor||{};function getRGBA(){let red,green,blue,alpha=maxValue;switch(options.inputColorType){case constants.COLORTYPE_COLOR_ALPHA:alpha=data[inIndex+3],red=data[inIndex],green=data[inIndex+1],blue=data[inIndex+2];break;case constants.COLORTYPE_COLOR:red=data[inIndex],green=data[inIndex+1],blue=data[inIndex+2];break;case constants.COLORTYPE_ALPHA:alpha=data[inIndex+1],red=data[inIndex],green=red,blue=red;break;case constants.COLORTYPE_GRAYSCALE:red=data[inIndex],green=red,blue=red;break;default:throw new Error("input color type:"+options.inputColorType+" is not supported at present")}return options.inputHasAlpha&&(outHasAlpha||(alpha/=maxValue,red=Math.min(Math.max(Math.round((1-alpha)*bgColor.red+alpha*red),0),maxValue),green=Math.min(Math.max(Math.round((1-alpha)*bgColor.green+alpha*green),0),maxValue),blue=Math.min(Math.max(Math.round((1-alpha)*bgColor.blue+alpha*blue),0),maxValue))),{red:red,green:green,blue:blue,alpha:alpha}}void 0===bgColor.red&&(bgColor.red=maxValue),void 0===bgColor.green&&(bgColor.green=maxValue),void 0===bgColor.blue&&(bgColor.blue=maxValue);for(let y=0;y<height;y++)for(let x=0;x<width;x++){let rgba=getRGBA();switch(options.colorType){case constants.COLORTYPE_COLOR_ALPHA:case constants.COLORTYPE_COLOR:8===options.bitDepth?(outData[outIndex]=rgba.red,outData[outIndex+1]=rgba.green,outData[outIndex+2]=rgba.blue,outHasAlpha&&(outData[outIndex+3]=rgba.alpha)):(outData.writeUInt16BE(rgba.red,outIndex),outData.writeUInt16BE(rgba.green,outIndex+2),outData.writeUInt16BE(rgba.blue,outIndex+4),outHasAlpha&&outData.writeUInt16BE(rgba.alpha,outIndex+6));break;case constants.COLORTYPE_ALPHA:case constants.COLORTYPE_GRAYSCALE:{let grayscale=(rgba.red+rgba.green+rgba.blue)/3;8===options.bitDepth?(outData[outIndex]=grayscale,outHasAlpha&&(outData[outIndex+1]=rgba.alpha)):(outData.writeUInt16BE(grayscale,outIndex),outHasAlpha&&outData.writeUInt16BE(rgba.alpha,outIndex+2));break}default:throw new Error("unrecognised color Type "+options.colorType)}inIndex+=inBpp,outIndex+=outBpp}return outData}}(),filter=function requireFilterPack(){if(hasRequiredFilterPack)return filterPack;hasRequiredFilterPack=1;let paethPredictor=requirePaethPredictor(),filters={0:function filterNone(pxData,pxPos,byteWidth,rawData,rawPos){for(let x=0;x<byteWidth;x++)rawData[rawPos+x]=pxData[pxPos+x]},1:function filterSub(pxData,pxPos,byteWidth,rawData,rawPos,bpp){for(let x=0;x<byteWidth;x++){let left=x>=bpp?pxData[pxPos+x-bpp]:0,val=pxData[pxPos+x]-left;rawData[rawPos+x]=val}},2:function filterUp(pxData,pxPos,byteWidth,rawData,rawPos){for(let x=0;x<byteWidth;x++){let up=pxPos>0?pxData[pxPos+x-byteWidth]:0,val=pxData[pxPos+x]-up;rawData[rawPos+x]=val}},3:function filterAvg(pxData,pxPos,byteWidth,rawData,rawPos,bpp){for(let x=0;x<byteWidth;x++){let left=x>=bpp?pxData[pxPos+x-bpp]:0,up=pxPos>0?pxData[pxPos+x-byteWidth]:0,val=pxData[pxPos+x]-(left+up>>1);rawData[rawPos+x]=val}},4:function filterPaeth(pxData,pxPos,byteWidth,rawData,rawPos,bpp){for(let x=0;x<byteWidth;x++){let left=x>=bpp?pxData[pxPos+x-bpp]:0,up=pxPos>0?pxData[pxPos+x-byteWidth]:0,upleft=pxPos>0&&x>=bpp?pxData[pxPos+x-(byteWidth+bpp)]:0,val=pxData[pxPos+x]-paethPredictor(left,up,upleft);rawData[rawPos+x]=val}}},filterSums={0:function filterSumNone(pxData,pxPos,byteWidth){let sum=0,length=pxPos+byteWidth;for(let i=pxPos;i<length;i++)sum+=Math.abs(pxData[i]);return sum},1:function filterSumSub(pxData,pxPos,byteWidth,bpp){let sum=0;for(let x=0;x<byteWidth;x++){let left=x>=bpp?pxData[pxPos+x-bpp]:0,val=pxData[pxPos+x]-left;sum+=Math.abs(val)}return sum},2:function filterSumUp(pxData,pxPos,byteWidth){let sum=0,length=pxPos+byteWidth;for(let x=pxPos;x<length;x++){let up=pxPos>0?pxData[x-byteWidth]:0,val=pxData[x]-up;sum+=Math.abs(val)}return sum},3:function filterSumAvg(pxData,pxPos,byteWidth,bpp){let sum=0;for(let x=0;x<byteWidth;x++){let left=x>=bpp?pxData[pxPos+x-bpp]:0,up=pxPos>0?pxData[pxPos+x-byteWidth]:0,val=pxData[pxPos+x]-(left+up>>1);sum+=Math.abs(val)}return sum},4:function filterSumPaeth(pxData,pxPos,byteWidth,bpp){let sum=0;for(let x=0;x<byteWidth;x++){let left=x>=bpp?pxData[pxPos+x-bpp]:0,up=pxPos>0?pxData[pxPos+x-byteWidth]:0,upleft=pxPos>0&&x>=bpp?pxData[pxPos+x-(byteWidth+bpp)]:0,val=pxData[pxPos+x]-paethPredictor(left,up,upleft);sum+=Math.abs(val)}return sum}};return filterPack=function(pxData,width,height,options,bpp){let filterTypes;if("filterType"in options&&-1!==options.filterType){if("number"!=typeof options.filterType)throw new Error("unrecognised filter types");filterTypes=[options.filterType]}else filterTypes=[0,1,2,3,4];16===options.bitDepth&&(bpp*=2);let byteWidth=width*bpp,rawPos=0,pxPos=0,rawData=Buffer.alloc((byteWidth+1)*height),sel=filterTypes[0];for(let y=0;y<height;y++){if(filterTypes.length>1){let min=1/0;for(let i=0;i<filterTypes.length;i++){let sum=filterSums[filterTypes[i]](pxData,pxPos,byteWidth,bpp);sum<min&&(sel=filterTypes[i],min=sum)}}rawData[rawPos]=sel,rawPos++,filters[sel](pxData,pxPos,byteWidth,rawData,rawPos,bpp),rawPos+=byteWidth,pxPos+=byteWidth}return rawData}}(),zlib=zlib__default.default,Packer=packer.exports=function(options){if(this._options=options,options.deflateChunkSize=options.deflateChunkSize||32768,options.deflateLevel=null!=options.deflateLevel?options.deflateLevel:9,options.deflateStrategy=null!=options.deflateStrategy?options.deflateStrategy:3,options.inputHasAlpha=null==options.inputHasAlpha||options.inputHasAlpha,options.deflateFactory=options.deflateFactory||zlib.createDeflate,options.bitDepth=options.bitDepth||8,options.colorType="number"==typeof options.colorType?options.colorType:constants.COLORTYPE_COLOR_ALPHA,options.inputColorType="number"==typeof options.inputColorType?options.inputColorType:constants.COLORTYPE_COLOR_ALPHA,-1===[constants.COLORTYPE_GRAYSCALE,constants.COLORTYPE_COLOR,constants.COLORTYPE_COLOR_ALPHA,constants.COLORTYPE_ALPHA].indexOf(options.colorType))throw new Error("option color type:"+options.colorType+" is not supported at present");if(-1===[constants.COLORTYPE_GRAYSCALE,constants.COLORTYPE_COLOR,constants.COLORTYPE_COLOR_ALPHA,constants.COLORTYPE_ALPHA].indexOf(options.inputColorType))throw new Error("option input color type:"+options.inputColorType+" is not supported at present");if(8!==options.bitDepth&&16!==options.bitDepth)throw new Error("option bit depth:"+options.bitDepth+" is not supported at present")};return Packer.prototype.getDeflateOptions=function(){return{chunkSize:this._options.deflateChunkSize,level:this._options.deflateLevel,strategy:this._options.deflateStrategy}},Packer.prototype.createDeflate=function(){return this._options.deflateFactory(this.getDeflateOptions())},Packer.prototype.filterData=function(data,width,height){let packedData=bitPacker(data,width,height,this._options),bpp=constants.COLORTYPE_TO_BPP_MAP[this._options.colorType];return filter(packedData,width,height,this._options,bpp)},Packer.prototype._packChunk=function(type,data){let len=data?data.length:0,buf=Buffer.alloc(len+12);return buf.writeUInt32BE(len,0),buf.writeUInt32BE(type,4),data&&data.copy(buf,8),buf.writeInt32BE(CrcStream.crc32(buf.slice(4,buf.length-4)),buf.length-4),buf},Packer.prototype.packGAMA=function(gamma){let buf=Buffer.alloc(4);return buf.writeUInt32BE(Math.floor(gamma*constants.GAMMA_DIVISION),0),this._packChunk(constants.TYPE_gAMA,buf)},Packer.prototype.packIHDR=function(width,height){let buf=Buffer.alloc(13);return buf.writeUInt32BE(width,0),buf.writeUInt32BE(height,4),buf[8]=this._options.bitDepth,buf[9]=this._options.colorType,buf[10]=0,buf[11]=0,buf[12]=0,this._packChunk(constants.TYPE_IHDR,buf)},Packer.prototype.packIDAT=function(data){return this._packChunk(constants.TYPE_IDAT,data)},Packer.prototype.packIEND=function(){return this._packChunk(constants.TYPE_IEND,null)},packer.exports}var hasRequiredSyncInflate,pngSync={},syncInflate={exports:{}};function requireSyncInflate(){return hasRequiredSyncInflate||(hasRequiredSyncInflate=1,function(module,exports){let assert=require$$4__default$1.default.ok,zlib=zlib__default.default,util=require$$0__default$3.default,kMaxLength=require$$3__default$1.default.kMaxLength;function Inflate(opts){if(!(this instanceof Inflate))return new Inflate(opts);opts&&opts.chunkSize<zlib.Z_MIN_CHUNK&&(opts.chunkSize=zlib.Z_MIN_CHUNK),zlib.Inflate.call(this,opts),this._offset=void 0===this._offset?this._outOffset:this._offset,this._buffer=this._buffer||this._outBuffer,opts&&null!=opts.maxLength&&(this._maxLength=opts.maxLength)}function _close(engine,callback){callback&&process.nextTick(callback),engine._handle&&(engine._handle.close(),engine._handle=null)}function inflateSync(buffer,opts){return function zlibBufferSync(engine,buffer){if("string"==typeof buffer&&(buffer=Buffer.from(buffer)),!(buffer instanceof Buffer))throw new TypeError("Not a string or buffer");let flushFlag=engine._finishFlushFlag;return null==flushFlag&&(flushFlag=zlib.Z_FINISH),engine._processChunk(buffer,flushFlag)}(new Inflate(opts),buffer)}Inflate.prototype._processChunk=function(chunk,flushFlag,asyncCb){if("function"==typeof asyncCb)return zlib.Inflate._processChunk.call(this,chunk,flushFlag,asyncCb);let error,res,self=this,availInBefore=chunk&&chunk.length,availOutBefore=this._chunkSize-this._offset,leftToInflate=this._maxLength,inOff=0,buffers=[],nread=0;function handleChunk(availInAfter,availOutAfter){if(self._hadError)return;let have=availOutBefore-availOutAfter;if(assert(have>=0,"have should not go down"),have>0){let out=self._buffer.slice(self._offset,self._offset+have);if(self._offset+=have,out.length>leftToInflate&&(out=out.slice(0,leftToInflate)),buffers.push(out),nread+=out.length,leftToInflate-=out.length,0===leftToInflate)return!1}return(0===availOutAfter||self._offset>=self._chunkSize)&&(availOutBefore=self._chunkSize,self._offset=0,self._buffer=Buffer.allocUnsafe(self._chunkSize)),0===availOutAfter&&(inOff+=availInBefore-availInAfter,availInBefore=availInAfter,!0)}this.on("error",(function(err){error=err})),assert(this._handle,"zlib binding closed");do{res=this._handle.writeSync(flushFlag,chunk,inOff,availInBefore,this._buffer,this._offset,availOutBefore),res=res||this._writeState}while(!this._hadError&&handleChunk(res[0],res[1]));if(this._hadError)throw error;if(nread>=kMaxLength)throw _close(this),new RangeError("Cannot create final Buffer. It would be larger than 0x"+kMaxLength.toString(16)+" bytes");let buf=Buffer.concat(buffers,nread);return _close(this),buf},util.inherits(Inflate,zlib.Inflate),module.exports=exports=inflateSync,exports.Inflate=Inflate,exports.createInflate=function createInflate(opts){return new Inflate(opts)},exports.inflateSync=inflateSync}(syncInflate,syncInflate.exports)),syncInflate.exports}var hasRequiredSyncReader,syncReader={exports:{}};function requireSyncReader(){if(hasRequiredSyncReader)return syncReader.exports;hasRequiredSyncReader=1;let SyncReader=syncReader.exports=function(buffer){this._buffer=buffer,this._reads=[]};return SyncReader.prototype.read=function(length,callback){this._reads.push({length:Math.abs(length),allowLess:length<0,func:callback})},SyncReader.prototype.process=function(){for(;this._reads.length>0&&this._buffer.length;){let read=this._reads[0];if(!this._buffer.length||!(this._buffer.length>=read.length||read.allowLess))break;{this._reads.shift();let buf=this._buffer;this._buffer=buf.slice(read.length),read.func.call(this,buf.slice(0,read.length))}}return this._reads.length>0?new Error("There are some read requests waitng on finished stream"):this._buffer.length>0?new Error("unrecognised content at end of stream"):void 0},syncReader.exports}var hasRequiredFilterParseSync,parserSync,hasRequiredParserSync,packerSync,hasRequiredPackerSync,hasRequiredPngSync,hasRequiredPng$1,filterParseSync={};function requireParserSync(){if(hasRequiredParserSync)return parserSync;hasRequiredParserSync=1;let hasSyncZlib=!0,zlib=zlib__default.default,inflateSync=requireSyncInflate();zlib.deflateSync||(hasSyncZlib=!1);let SyncReader=requireSyncReader(),FilterSync=function requireFilterParseSync(){if(hasRequiredFilterParseSync)return filterParseSync;hasRequiredFilterParseSync=1;let SyncReader=requireSyncReader(),Filter=requireFilterParse();return filterParseSync.process=function(inBuffer,bitmapInfo){let outBuffers=[],reader=new SyncReader(inBuffer);return new Filter(bitmapInfo,{read:reader.read.bind(reader),write:function(bufferPart){outBuffers.push(bufferPart)},complete:function(){}}).start(),reader.process(),Buffer.concat(outBuffers)},filterParseSync}(),Parser=requireParser(),bitmapper=requireBitmapper(),formatNormaliser=requireFormatNormaliser();return parserSync=function(buffer,options){if(!hasSyncZlib)throw new Error("To use the sync capability of this library in old node versions, please pin pngjs to v2.3.0");let err,metaData,gamma;let inflateDataList=[];let reader=new SyncReader(buffer),parser=new Parser(options,{read:reader.read.bind(reader),error:function handleError(_err_){err=_err_},metadata:function handleMetaData(_metaData_){metaData=_metaData_},gamma:function handleGamma(_gamma_){gamma=_gamma_},palette:function handlePalette(palette){metaData.palette=palette},transColor:function handleTransColor(transColor){metaData.transColor=transColor},inflateData:function handleInflateData(inflatedData){inflateDataList.push(inflatedData)},simpleTransparency:function handleSimpleTransparency(){metaData.alpha=!0}});if(parser.start(),reader.process(),err)throw err;let inflatedData,inflateData=Buffer.concat(inflateDataList);if(inflateDataList.length=0,metaData.interlace)inflatedData=zlib.inflateSync(inflateData);else{let imageSize=(1+(metaData.width*metaData.bpp*metaData.depth+7>>3))*metaData.height;inflatedData=inflateSync(inflateData,{chunkSize:imageSize,maxLength:imageSize})}if(inflateData=null,!inflatedData||!inflatedData.length)throw new Error("bad png - invalid inflate data response");let unfilteredData=FilterSync.process(inflatedData,metaData);inflateData=null;let bitmapData=bitmapper.dataToBitMap(unfilteredData,metaData);unfilteredData=null;let normalisedBitmapData=formatNormaliser(bitmapData,metaData);return metaData.data=normalisedBitmapData,metaData.gamma=gamma||0,metaData},parserSync}function requirePngSync(){if(hasRequiredPngSync)return pngSync;hasRequiredPngSync=1;let parse=requireParserSync(),pack=function requirePackerSync(){if(hasRequiredPackerSync)return packerSync;hasRequiredPackerSync=1;let hasSyncZlib=!0,zlib=zlib__default.default;zlib.deflateSync||(hasSyncZlib=!1);let constants=requireConstants(),Packer=requirePacker();return packerSync=function(metaData,opt){if(!hasSyncZlib)throw new Error("To use the sync capability of this library in old node versions, please pin pngjs to v2.3.0");let packer=new Packer(opt||{}),chunks=[];chunks.push(Buffer.from(constants.PNG_SIGNATURE)),chunks.push(packer.packIHDR(metaData.width,metaData.height)),metaData.gamma&&chunks.push(packer.packGAMA(metaData.gamma));let filteredData=packer.filterData(metaData.data,metaData.width,metaData.height),compressedData=zlib.deflateSync(filteredData,packer.getDeflateOptions());if(filteredData=null,!compressedData||!compressedData.length)throw new Error("bad png - invalid compressed data response");return chunks.push(packer.packIDAT(compressedData)),chunks.push(packer.packIEND()),Buffer.concat(chunks)},packerSync}();return pngSync.read=function(buffer,options){return parse(buffer,options||{})},pngSync.write=function(png,options){return pack(png,options)},pngSync}function requirePng$1(){if(hasRequiredPng$1)return png;hasRequiredPng$1=1;let util=require$$0__default$3.default,Stream=require$$0__default$2.default,Parser=requireParserAsync(),Packer=function requirePackerAsync(){if(hasRequiredPackerAsync)return packerAsync.exports;hasRequiredPackerAsync=1;let util=require$$0__default$3.default,Stream=require$$0__default$2.default,constants=requireConstants(),Packer=requirePacker(),PackerAsync=packerAsync.exports=function(opt){Stream.call(this);let options=opt||{};this._packer=new Packer(options),this._deflate=this._packer.createDeflate(),this.readable=!0};return util.inherits(PackerAsync,Stream),PackerAsync.prototype.pack=function(data,width,height,gamma){this.emit("data",Buffer.from(constants.PNG_SIGNATURE)),this.emit("data",this._packer.packIHDR(width,height)),gamma&&this.emit("data",this._packer.packGAMA(gamma));let filteredData=this._packer.filterData(data,width,height);this._deflate.on("error",this.emit.bind(this,"error")),this._deflate.on("data",function(compressedData){this.emit("data",this._packer.packIDAT(compressedData))}.bind(this)),this._deflate.on("end",function(){this.emit("data",this._packer.packIEND()),this.emit("end")}.bind(this)),this._deflate.end(filteredData)},packerAsync.exports}(),PNGSync=requirePngSync(),PNG=png.PNG=function(options){Stream.call(this),options=options||{},this.width=0|options.width,this.height=0|options.height,this.data=this.width>0&&this.height>0?Buffer.alloc(4*this.width*this.height):null,options.fill&&this.data&&this.data.fill(0),this.gamma=0,this.readable=this.writable=!0,this._parser=new Parser(options),this._parser.on("error",this.emit.bind(this,"error")),this._parser.on("close",this._handleClose.bind(this)),this._parser.on("metadata",this._metadata.bind(this)),this._parser.on("gamma",this._gamma.bind(this)),this._parser.on("parsed",function(data){this.data=data,this.emit("parsed",data)}.bind(this)),this._packer=new Packer(options),this._packer.on("data",this.emit.bind(this,"data")),this._packer.on("end",this.emit.bind(this,"end")),this._parser.on("close",this._handleClose.bind(this)),this._packer.on("error",this.emit.bind(this,"error"))};return util.inherits(PNG,Stream),PNG.sync=PNGSync,PNG.prototype.pack=function(){return this.data&&this.data.length?(process.nextTick(function(){this._packer.pack(this.data,this.width,this.height,this.gamma)}.bind(this)),this):(this.emit("error","No data provided"),this)},PNG.prototype.parse=function(data,callback){if(callback){let onParsed,onError;onParsed=function(parsedData){this.removeListener("error",onError),this.data=parsedData,callback(null,this)}.bind(this),onError=function(err){this.removeListener("parsed",onParsed),callback(err,null)}.bind(this),this.once("parsed",onParsed),this.once("error",onError)}return this.end(data),this},PNG.prototype.write=function(data){return this._parser.write(data),!0},PNG.prototype.end=function(data){this._parser.end(data)},PNG.prototype._metadata=function(metadata){this.width=metadata.width,this.height=metadata.height,this.emit("metadata",metadata)},PNG.prototype._gamma=function(gamma){this.gamma=gamma},PNG.prototype._handleClose=function(){this._parser.writable||this._packer.readable||this.emit("close")},PNG.bitblt=function(src,dst,srcX,srcY,width,height,deltaX,deltaY){if(srcY|=0,width|=0,height|=0,deltaX|=0,deltaY|=0,(srcX|=0)>src.width||srcY>src.height||srcX+width>src.width||srcY+height>src.height)throw new Error("bitblt reading outside image");if(deltaX>dst.width||deltaY>dst.height||deltaX+width>dst.width||deltaY+height>dst.height)throw new Error("bitblt writing outside image");for(let y=0;y<height;y++)src.data.copy(dst.data,(deltaY+y)*dst.width+deltaX<<2,(srcY+y)*src.width+srcX<<2,(srcY+y)*src.width+srcX+width<<2)},PNG.prototype.bitblt=function(dst,srcX,srcY,width,height,deltaX,deltaY){return PNG.bitblt(this,dst,srcX,srcY,width,height,deltaX,deltaY),this},PNG.adjustGamma=function(src){if(src.gamma){for(let y=0;y<src.height;y++)for(let x=0;x<src.width;x++){let idx=src.width*y+x<<2;for(let i=0;i<3;i++){let sample=src.data[idx+i]/255;sample=Math.pow(sample,1/2.2/src.gamma),src.data[idx+i]=Math.round(255*sample)}}src.gamma=0}},PNG.prototype.adjustGamma=function(){PNG.adjustGamma(this)},png}var hasRequiredUtils,hasRequiredPng,utils={};function requireUtils(){return hasRequiredUtils||(hasRequiredUtils=1,function(exports){function hex2rgba(hex){if("number"==typeof hex&&(hex=hex.toString()),"string"!=typeof hex)throw new Error("Color should be defined as hex string");let hexCode=hex.slice().replace("#","").split("");if(hexCode.length<3||5===hexCode.length||hexCode.length>8)throw new Error("Invalid hex color: "+hex);3!==hexCode.length&&4!==hexCode.length||(hexCode=Array.prototype.concat.apply([],hexCode.map((function(c){return[c,c]})))),6===hexCode.length&&hexCode.push("F","F");const hexValue=parseInt(hexCode.join(""),16);return{r:hexValue>>24&255,g:hexValue>>16&255,b:hexValue>>8&255,a:255&hexValue,hex:"#"+hexCode.slice(0,6).join("")}}exports.getOptions=function getOptions(options){options||(options={}),options.color||(options.color={});const margin=void 0===options.margin||null===options.margin||options.margin<0?4:options.margin,width=options.width&&options.width>=21?options.width:void 0,scale=options.scale||4;return{width:width,scale:width?4:scale,margin:margin,color:{dark:hex2rgba(options.color.dark||"#000000ff"),light:hex2rgba(options.color.light||"#ffffffff")},type:options.type,rendererOpts:options.rendererOpts||{}}},exports.getScale=function getScale(qrSize,opts){return opts.width&&opts.width>=qrSize+2*opts.margin?opts.width/(qrSize+2*opts.margin):opts.scale},exports.getImageWidth=function getImageWidth(qrSize,opts){const scale=exports.getScale(qrSize,opts);return Math.floor((qrSize+2*opts.margin)*scale)},exports.qrToImageData=function qrToImageData(imgData,qr,opts){const size=qr.modules.size,data=qr.modules.data,scale=exports.getScale(size,opts),symbolSize=Math.floor((size+2*opts.margin)*scale),scaledMargin=opts.margin*scale,palette=[opts.color.light,opts.color.dark];for(let i=0;i<symbolSize;i++)for(let j=0;j<symbolSize;j++){let posDst=4*(i*symbolSize+j),pxColor=opts.color.light;if(i>=scaledMargin&&j>=scaledMargin&&i<symbolSize-scaledMargin&&j<symbolSize-scaledMargin){pxColor=palette[data[Math.floor((i-scaledMargin)/scale)*size+Math.floor((j-scaledMargin)/scale)]?1:0]}imgData[posDst++]=pxColor.r,imgData[posDst++]=pxColor.g,imgData[posDst++]=pxColor.b,imgData[posDst]=pxColor.a}}}(utils)),utils}var hasRequiredUtf8,utf8={};var hasRequiredTerminal$1,terminal$1={},terminal={};var hasRequiredTerminalSmall,hasRequiredTerminal,terminalSmall={};function requireTerminal(){if(hasRequiredTerminal)return terminal$1;hasRequiredTerminal=1;const big=function requireTerminal$1(){return hasRequiredTerminal$1||(hasRequiredTerminal$1=1,terminal.render=function(qrData,options,cb){const size=qrData.modules.size,data=qrData.modules.data,white="[47m [0m";let output="";const hMargin=Array(size+3).join(white),vMargin=Array(2).join(white);output+=hMargin+"\n";for(let i=0;i<size;++i){output+=white;for(let j=0;j<size;j++)output+=data[i*size+j]?"[40m [0m":white;output+=vMargin+"\n"}return output+=hMargin+"\n","function"==typeof cb&&cb(null,output),output}),terminal}(),small=function requireTerminalSmall(){if(hasRequiredTerminalSmall)return terminalSmall;hasRequiredTerminalSmall=1;const mkCodePixel=function(modules,size,x,y){const sizePlus=size+1;return x>=sizePlus||y>=sizePlus||y<-1||x<-1?"0":x>=size||y>=size||y<0||x<0?"1":modules[y*size+x]?"2":"1"},mkCode=function(modules,size,x,y){return mkCodePixel(modules,size,x,y)+mkCodePixel(modules,size,x,y+1)};return terminalSmall.render=function(qrData,options,cb){const size=qrData.modules.size,data=qrData.modules.data,inverse=!(!options||!options.inverse),lineSetup=options&&options.inverse?"[40m[37m":"[47m[30m",palette=function(lineSetup,foregroundWhite,foregroundBlack){return{"00":"[0m "+lineSetup,"01":"[0m"+foregroundWhite+"▄"+lineSetup,"02":"[0m"+foregroundBlack+"▄"+lineSetup,10:"[0m"+foregroundWhite+"▀"+lineSetup,11:" ",12:"▄",20:"[0m"+foregroundBlack+"▀"+lineSetup,21:"▀",22:"█"}}(lineSetup,inverse?"[30m":"[37m",inverse?"[37m":"[30m"),newLine="[0m\n"+lineSetup;let output=lineSetup;for(let y=-1;y<size+1;y+=2){for(let x=-1;x<size;x++)output+=palette[mkCode(data,size,x,y)];output+=palette[mkCode(data,size,size,y)]+newLine}return output+="[0m","function"==typeof cb&&cb(null,output),output},terminalSmall}();return terminal$1.render=function(qrData,options,cb){return options&&options.small?small.render(qrData,options,cb):big.render(qrData,options,cb)},terminal$1}var hasRequiredSvgTag,hasRequiredSvg,svg={},svgTag={};function requireSvgTag(){if(hasRequiredSvgTag)return svgTag;hasRequiredSvgTag=1;const Utils=requireUtils();function getColorAttrib(color,attrib){const alpha=color.a/255,str=attrib+'="'+color.hex+'"';return alpha<1?str+" "+attrib+'-opacity="'+alpha.toFixed(2).slice(1)+'"':str}function svgCmd(cmd,x,y){let str=cmd+x;return void 0!==y&&(str+=" "+y),str}return svgTag.render=function render(qrData,options,cb){const opts=Utils.getOptions(options),size=qrData.modules.size,data=qrData.modules.data,qrcodesize=size+2*opts.margin,bg=opts.color.light.a?"<path "+getColorAttrib(opts.color.light,"fill")+' d="M0 0h'+qrcodesize+"v"+qrcodesize+'H0z"/>':"",path="<path "+getColorAttrib(opts.color.dark,"stroke")+' d="'+function qrToPath(data,size,margin){let path="",moveBy=0,newRow=!1,lineLength=0;for(let i=0;i<data.length;i++){const col=Math.floor(i%size),row=Math.floor(i/size);col||newRow||(newRow=!0),data[i]?(lineLength++,i>0&&col>0&&data[i-1]||(path+=newRow?svgCmd("M",col+margin,.5+row+margin):svgCmd("m",moveBy,0),moveBy=0,newRow=!1),col+1<size&&data[i+1]||(path+=svgCmd("h",lineLength),lineLength=0)):moveBy++}return path}(data,size,opts.margin)+'"/>',viewBox='viewBox="0 0 '+qrcodesize+" "+qrcodesize+'"',svgTag='<svg xmlns="http://www.w3.org/2000/svg" '+(opts.width?'width="'+opts.width+'" height="'+opts.width+'" ':"")+viewBox+' shape-rendering="crispEdges">'+bg+path+"</svg>\n";return"function"==typeof cb&&cb(null,svgTag),svgTag},svgTag}var hasRequiredCanvas,hasRequiredBrowser,hasRequiredServer,lib,hasRequiredLib,browser={},canvas={};function requireCanvas(){return hasRequiredCanvas||(hasRequiredCanvas=1,function(exports){const Utils=requireUtils();exports.render=function render(qrData,canvas,options){let opts=options,canvasEl=canvas;void 0!==opts||canvas&&canvas.getContext||(opts=canvas,canvas=void 0),canvas||(canvasEl=function getCanvasElement(){try{return document.createElement("canvas")}catch(e){throw new Error("You need to specify a canvas element")}}()),opts=Utils.getOptions(opts);const size=Utils.getImageWidth(qrData.modules.size,opts),ctx=canvasEl.getContext("2d"),image=ctx.createImageData(size,size);return Utils.qrToImageData(image.data,qrData,opts),function clearCanvas(ctx,canvas,size){ctx.clearRect(0,0,canvas.width,canvas.height),canvas.style||(canvas.style={}),canvas.height=size,canvas.width=size,canvas.style.height=size+"px",canvas.style.width=size+"px"}(ctx,canvasEl,size),ctx.putImageData(image,0,0),canvasEl},exports.renderToDataURL=function renderToDataURL(qrData,canvas,options){let opts=options;void 0!==opts||canvas&&canvas.getContext||(opts=canvas,canvas=void 0),opts||(opts={});const canvasEl=exports.render(qrData,canvas,opts),type=opts.type||"image/png",rendererOpts=opts.rendererOpts||{};return canvasEl.toDataURL(type,rendererOpts.quality)}}(canvas)),canvas}function requireServer(){if(hasRequiredServer)return server;hasRequiredServer=1;const canPromise=requireCanPromise(),QRCode=requireQrcode(),PngRenderer=function requirePng(){return hasRequiredPng||(hasRequiredPng=1,function(exports){const fs=fs__default.default,PNG=requirePng$1().PNG,Utils=requireUtils();exports.render=function render(qrData,options){const opts=Utils.getOptions(options),pngOpts=opts.rendererOpts,size=Utils.getImageWidth(qrData.modules.size,opts);pngOpts.width=size,pngOpts.height=size;const pngImage=new PNG(pngOpts);return Utils.qrToImageData(pngImage.data,qrData,opts),pngImage},exports.renderToDataURL=function renderToDataURL(qrData,options,cb){void 0===cb&&(cb=options,options=void 0),exports.renderToBuffer(qrData,options,(function(err,output){err&&cb(err);let url="data:image/png;base64,";url+=output.toString("base64"),cb(null,url)}))},exports.renderToBuffer=function renderToBuffer(qrData,options,cb){void 0===cb&&(cb=options,options=void 0);const png=exports.render(qrData,options),buffer=[];png.on("error",cb),png.on("data",(function(data){buffer.push(data)})),png.on("end",(function(){cb(null,Buffer.concat(buffer))})),png.pack()},exports.renderToFile=function renderToFile(path,qrData,options,cb){void 0===cb&&(cb=options,options=void 0);let called=!1;const done=(...args)=>{called||(called=!0,cb.apply(null,args))},stream=fs.createWriteStream(path);stream.on("error",done),stream.on("close",done),exports.renderToFileStream(stream,qrData,options)},exports.renderToFileStream=function renderToFileStream(stream,qrData,options){exports.render(qrData,options).pack().pipe(stream)}}(png$1)),png$1}(),Utf8Renderer=function requireUtf8(){return hasRequiredUtf8||(hasRequiredUtf8=1,function(exports){const Utils=requireUtils(),BLOCK_CHAR={WW:" ",WB:"▄",BB:"█",BW:"▀"},INVERTED_BLOCK_CHAR={BB:" ",BW:"▄",WW:"█",WB:"▀"};function getBlockChar(top,bottom,blocks){return top&&bottom?blocks.BB:top&&!bottom?blocks.BW:!top&&bottom?blocks.WB:blocks.WW}exports.render=function(qrData,options,cb){const opts=Utils.getOptions(options);let blocks=BLOCK_CHAR;"#ffffff"!==opts.color.dark.hex&&"#000000"!==opts.color.light.hex||(blocks=INVERTED_BLOCK_CHAR);const size=qrData.modules.size,data=qrData.modules.data;let output="",hMargin=Array(size+2*opts.margin+1).join(blocks.WW);hMargin=Array(opts.margin/2+1).join(hMargin+"\n");const vMargin=Array(opts.margin+1).join(blocks.WW);output+=hMargin;for(let i=0;i<size;i+=2){output+=vMargin;for(let j=0;j<size;j++)output+=getBlockChar(data[i*size+j],data[(i+1)*size+j],blocks);output+=vMargin+"\n"}return output+=hMargin.slice(0,-1),"function"==typeof cb&&cb(null,output),output},exports.renderToFile=function renderToFile(path,qrData,options,cb){void 0===cb&&(cb=options,options=void 0);const fs=fs__default.default,utf8=exports.render(qrData,options);fs.writeFile(path,utf8,cb)}}(utf8)),utf8}(),TerminalRenderer=requireTerminal(),SvgRenderer=function requireSvg(){return hasRequiredSvg||(hasRequiredSvg=1,function(exports){const svgTagRenderer=requireSvgTag();exports.render=svgTagRenderer.render,exports.renderToFile=function renderToFile(path,qrData,options,cb){void 0===cb&&(cb=options,options=void 0);const fs=fs__default.default,xmlStr='<?xml version="1.0" encoding="utf-8"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">'+exports.render(qrData,options);fs.writeFile(path,xmlStr,cb)}}(svg)),svg}();function checkParams(text,opts,cb){if(void 0===text)throw new Error("String required as first argument");if(void 0===cb&&(cb=opts,opts={}),"function"!=typeof cb){if(!canPromise())throw new Error("Callback required as last argument");opts=cb||{},cb=null}return{opts:opts,cb:cb}}function getRendererFromType(type){switch(type){case"svg":return SvgRenderer;case"txt":case"utf8":return Utf8Renderer;default:return PngRenderer}}function render(renderFunc,text,params){if(!params.cb)return new Promise((function(resolve,reject){try{const data=QRCode.create(text,params.opts);return renderFunc(data,params.opts,(function(err,data){return err?reject(err):resolve(data)}))}catch(e){reject(e)}}));try{const data=QRCode.create(text,params.opts);return renderFunc(data,params.opts,params.cb)}catch(e){params.cb(e)}}return server.create=QRCode.create,server.toCanvas=function requireBrowser(){if(hasRequiredBrowser)return browser;hasRequiredBrowser=1;const canPromise=requireCanPromise(),QRCode=requireQrcode(),CanvasRenderer=requireCanvas(),SvgRenderer=requireSvgTag();function renderCanvas(renderFunc,canvas,text,opts,cb){const args=[].slice.call(arguments,1),argsNum=args.length,isLastArgCb="function"==typeof args[argsNum-1];if(!isLastArgCb&&!canPromise())throw new Error("Callback required as last argument");if(!isLastArgCb){if(argsNum<1)throw new Error("Too few arguments provided");return 1===argsNum?(text=canvas,canvas=opts=void 0):2!==argsNum||canvas.getContext||(opts=text,text=canvas,canvas=void 0),new Promise((function(resolve,reject){try{const data=QRCode.create(text,opts);resolve(renderFunc(data,canvas,opts))}catch(e){reject(e)}}))}if(argsNum<2)throw new Error("Too few arguments provided");2===argsNum?(cb=text,text=canvas,canvas=opts=void 0):3===argsNum&&(canvas.getContext&&void 0===cb?(cb=opts,opts=void 0):(cb=opts,opts=text,text=canvas,canvas=void 0));try{const data=QRCode.create(text,opts);cb(null,renderFunc(data,canvas,opts))}catch(e){cb(e)}}return browser.create=QRCode.create,browser.toCanvas=renderCanvas.bind(null,CanvasRenderer.render),browser.toDataURL=renderCanvas.bind(null,CanvasRenderer.renderToDataURL),browser.toString=renderCanvas.bind(null,(function(data,_,opts){return SvgRenderer.render(data,opts)})),browser}().toCanvas,server.toString=function toString(text,opts,cb){const params=checkParams(text,opts,cb),renderer=function getStringRendererFromType(type){switch(type){case"svg":return SvgRenderer;case"terminal":return TerminalRenderer;default:return Utf8Renderer}}(params.opts?params.opts.type:void 0);return render(renderer.render,text,params)},server.toDataURL=function toDataURL(text,opts,cb){const params=checkParams(text,opts,cb);return render(getRendererFromType(params.opts.type).renderToDataURL,text,params)},server.toBuffer=function toBuffer(text,opts,cb){const params=checkParams(text,opts,cb);return render(getRendererFromType(params.opts.type).renderToBuffer,text,params)},server.toFile=function toFile(path,text,opts,cb){if("string"!=typeof path||"string"!=typeof text&&"object"!=typeof text)throw new Error("Invalid argument");if(arguments.length<3&&!canPromise())throw new Error("Too few arguments provided");const params=checkParams(text,opts,cb),type=params.opts.type||function getTypeFromFilename(path){return path.slice(2+(path.lastIndexOf(".")-1>>>0)).toLowerCase()}(path);return render(getRendererFromType(type).renderToFile.bind(null,path),text,params)},server.toFileStream=function toFileStream(stream,text,opts){if(arguments.length<2)throw new Error("Too few arguments provided");const params=checkParams(text,opts,stream.emit.bind(stream,"error"));render(getRendererFromType("png").renderToFileStream.bind(null,stream),text,params)},server}var QRCode=getDefaultExportFromCjs(function requireLib(){return hasRequiredLib?lib:(hasRequiredLib=1,lib=requireServer())}());const getDesTipoPag=tPag=>({"01":"Dinheiro","02":"Cheque","03":"Cartão de Crédito","04":"Cartão de Débito","05":"Cartão da Loja (Private Label), Crediário Digital, Outros Crediários",10:"Vale Alimentação",11:"Vale Refeição",12:"Vale Presente",13:"Vale Combustível",14:"Duplicata Mercantil",15:"Boleto Bancário",16:"Depósito Bancário",17:"Pagamento Instantâneo (PIX) - Dinâmico",18:"Transferência bancária, Carteira Digital",19:"Programa de fidelidade, Cashback, Crédito Virtual",20:"Pagamento Instantâneo (PIX) - Estático",21:"Crédito em Loja",22:"Pagamento Eletrônico não Informado - falha de hardware do sistema emissor",90:"Sem Pagamento",99:"Outros"}[tPag]||"Outros"),baseDir=path__default.default.dirname(require$$0$3.fileURLToPath("undefined"==typeof document?new(require("url").URL)("file:"+__filename).href:document.currentScript&&"SCRIPT"===document.currentScript.tagName.toUpperCase()&&document.currentScript.src||new URL("index.js",document.baseURI).href));class NFCEGerarDanfe{constructor(props){this.saveQRCode=async text=>{const filePath=path__default.default.resolve(baseDir,this.qrcodePath);try{await QRCode.toFile(`${filePath}/qrcode.png`,text,{color:{dark:"#000000",light:"#FFFFFF"},width:300})}catch(error){console.error("Erro ao gerar o QR code:",error),console.error(error.stack)}},this.getQRCodeBuffer=async text=>{try{return await QRCode.toBuffer(text,{color:{dark:"#000000",light:"#FFFFFF"},width:300})}catch(error){throw console.error("Erro ao gerar o QR code:",error),console.error(error.stack),new Error(`Erro ao gerar o QR code: ${error.message}`)}};const{data:data,chave:chave,outputPath:outputPath,pageWidth:pageWidth}=props;this.data=data,this.chave=chave.trim(),this.outputPath=outputPath,this.enviada=!1,this.qrcodePath=outputPath,this.documento=new ValidaCPFCNPJ,this.protNFe=data.protNFe;const nfeData=Array.isArray(data.NFe)?data.NFe[0]:data.NFe,{det:det,ide:ide,emit:emit,dest:dest,total:total,transp:transp,pag:pag,infAdic:infAdic}=nfeData.infNFe,infNFeSupl=nfeData.infNFeSupl;this.det=det,this.ide=ide,this.emit=emit,this.total=total,this.transp=transp,this.pag=pag,this.infAdic=infAdic,this.infNFeSupl=infNFeSupl,dest&&(this.dest=dest),this.protNFe?.infProt.nProt&&(this.enviada=!0),this.larguraPadrao=226.772,this.documentWidth=pageWidth||226.772;let itensLength=1;this.det instanceof Array&&(itensLength=this.det.length);const fontSize=function calculateFontSize(width){return.02646*Math.min(width)}(this.documentWidth);this.fontSize=fontSize,this.itemHeight=1.116*fontSize;const pageHeight=function calculateHeight(itemsLength,itemHeight){return 204.22975675056+itemsLength*itemHeight+5}(itensLength,this.itemHeight),fontPath=path__default.default.resolve(baseDir,"assets/fonts/ARIAL.TTF"),fontPathBold=path__default.default.resolve(baseDir,"assets/fonts/ARIALBD.TTF");this.doc=new PDFDocument__default.default({margins:{top:5.67,right:5.67,bottom:5.67,left:5.67},size:[this.documentWidth,pageHeight],bufferPages:!0,layout:"portrait"}),this.doc.registerFont("Arial",fontPath),this.doc.registerFont("Arial-bold",fontPathBold)}createDir(path){fs__default.default.existsSync(path)||fs__default.default.mkdirSync(path,{recursive:!0})}async generateBarcode(data){try{const barcode=(await bwipjs__default.default.toBuffer({bcid:"code128",text:data,scaleX:4,height:14,includetext:!1})).toString("base64"),barcodeDir=this.qrcodePath,barcodeFilePath=path__default.default.join(barcodeDir,"barcode.png");fs__default.default.writeFileSync(barcodeFilePath,Buffer.from(barcode,"base64"))}catch(err){return console.error("Erro ao gerar código de barras:",err),null}}centeredPos(texto){return(this.doc.page.width-this.doc.fontSize(this.fontSize).widthOfString(texto))/2}ajustarPosicao(posicaoOriginal,novaLargura){return posicaoOriginal*(novaLargura/this.larguraPadrao)}calculaPosicao(text){const{right:right,left:left}=this.doc.page.margins,[pageWidth]=this.doc.page.size,textWidth=this.doc.widthOfString(text);return Number(pageWidth)-textWidth-right-left}drawHeader(isFirstPage){this._buildHeader()}drawFooter(qrCodeBuffer){this._buildFooter(qrCodeBuffer)}_buildHeader(){const CNPJCPF=this.emit.CNPJCPF?.toString(),CNPJ=this.emit.CNPJ?.toString(),CPF=this.emit.CPF?.toString(),documento=this.documento.mascaraCnpjCpf(CNPJCPF||CNPJ||CPF||""),identificationJoined=`${this.emit.enderEmit.xLgr}, ${this.emit.enderEmit.nro}, ${this.emit.enderEmit.xBairro}, ${this.emit.enderEmit.UF}`;(()=>{const centeredPosEmit=this.centeredPos(`CNPJ: ${documento} ${this.emit.xNome}`),centeredPosEnd=this.centeredPos(identificationJoined),centeredPosText=this.centeredPos("Documento Auxiliar da Nota Fiscal de Consumidor Eletrônica");this.doc.font("Arial").fontSize(this.fontSize).text(`CNPJ: ${documento} `,centeredPosEmit,2,{lineBreak:!1}).font("Arial-bold").text(this.emit.xNome).fontSize(this.fontSize).font("Arial").text(identificationJoined,centeredPosEnd).text("Documento Auxiliar da Nota Fiscal de Consumidor Eletrônica",centeredPosText)})()}_buildProdutos(){const{right:right,left:left,top:top}=this.doc.page.margins,tableWidth=this.documentWidth-left-right,startX=left,tableTop=this.doc.y+top,columnWidths={codigo:tableWidth*.15,descricao:tableWidth*.4,qtdeUn:tableWidth*.15,unit:tableWidth*.15,total:tableWidth*.15},row=(top,item)=>{const quant=parseFloat(String(item.prod.qCom||item.prod.qTrib)).toLocaleString("pt-BR",{minimumFractionDigits:2,maximumFractionDigits:3}),valUnit=parseFloat(String(item.prod.vUnCom||item.prod.vUnTrib||"0")).toLocaleString("pt-BR",{minimumFractionDigits:2,maximumFractionDigits:2}),valLiq=parseFloat(String(item.prod.vProd||"0")).toLocaleString("pt-BR",{minimumFractionDigits:2,maximumFractionDigits:2});let x=startX;this.doc.font("Arial").fontSize(this.fontSize).text(item.prod.cProd,x,top,{width:columnWidths.codigo}),x+=columnWidths.codigo+0,this.doc.text(item.prod.xProd.slice(0,24),x,top,{width:columnWidths.descricao}),x+=columnWidths.descricao+0,this.doc.text(`${quant} ${item.prod.uCom}`,x,top,{width:columnWidths.qtdeUn,align:"right"}),x+=columnWidths.qtdeUn+0,this.doc.text(valUnit,x,top,{width:columnWidths.unit,align:"right"}),x+=columnWidths.unit+0,this.doc.text(valLiq,x,top,{width:columnWidths.total,align:"right"})};(top=>{let x=startX;this.doc.font("Arial-bold").fontSize(this.fontSize).text("Código",x,top,{width:columnWidths.codigo}),x+=columnWidths.codigo+0,this.doc.text("Descrição",x,top,{width:columnWidths.descricao}),x+=columnWidths.descricao+0,this.doc.text("Qtde",x,top,{width:columnWidths.qtdeUn,align:"right"}),x+=columnWidths.qtdeUn+0,this.doc.text("Unit",x,top,{width:columnWidths.unit,align:"right"}),x+=columnWidths.unit+0,this.doc.text("Total",x,top,{width:columnWidths.total,align:"right"})})(tableTop);let y=tableTop+this.itemHeight;this.det instanceof Array?this.det.forEach((prod=>{row(y,prod),y+=this.itemHeight})):row(y,this.det)}_buildTotais(){let tableTop=this.doc.y+5;const quantidadeTotalDeItens=Array.isArray(this.det)?this.det.length:1;let valTotal=0,acrescimo=0,desconto=0;Array.isArray(this.det)?(valTotal=this.det.reduce(((sum,item)=>sum+parseFloat(item.prod.vProd)),0),acrescimo=this.det.reduce(((sum,item)=>sum+(parseFloat(item.prod.vFrete||"0")+parseFloat(item.prod.vSeg||"0")+parseFloat(item.prod.vOutro||"0"))),0),desconto=this.det.reduce(((sum,item)=>sum+parseFloat(item.prod.vDesc||"0")),0)):(valTotal=parseFloat(this.det.prod.vProd),acrescimo=parseFloat(this.det.prod.vFrete||"0")+parseFloat(this.det.prod.vSeg||"0")+parseFloat(this.det.prod.vOutro||"0"),desconto=parseFloat(this.det.prod.vDesc||"0"));const valorTotal=valTotal.toLocaleString("pt-BR",{minimumFractionDigits:2,maximumFractionDigits:3}),acrescimoTotal=acrescimo.toLocaleString("pt-BR",{minimumFractionDigits:2,maximumFractionDigits:3}),descontoTotal=desconto.toLocaleString("pt-BR",{minimumFractionDigits:2,maximumFractionDigits:3});if(this.doc.text("Qtd. total de itens",2,tableTop),this.doc.text(String(quantidadeTotalDeItens),this.calculaPosicao(String(quantidadeTotalDeItens)),tableTop,{align:"right"}),tableTop+=this.itemHeight,this.doc.text("Valor total R$",2,tableTop),this.doc.text(valorTotal,this.calculaPosicao(valorTotal),tableTop,{align:"right"}),tableTop+=this.itemHeight,desconto>0&&(this.doc.text("Desconto R$",2,tableTop),this.doc.text(descontoTotal,this.calculaPosicao(descontoTotal),tableTop,{align:"right"}),tableTop+=this.itemHeight),acrescimo>0&&(this.doc.text("Acréscimo R$",2,tableTop),this.doc.text(acrescimoTotal,this.calculaPosicao(acrescimoTotal),tableTop,{align:"right"}),tableTop+=this.itemHeight),desconto>0||acrescimo>0){const totalPagar=parseFloat(String(valTotal+acrescimo-desconto)).toLocaleString("pt-BR",{minimumFractionDigits:2,maximumFractionDigits:3});this.doc.font("Arial-bold").text("Valor a Pagar R$",2,tableTop),this.doc.text(totalPagar,this.calculaPosicao(totalPagar),tableTop,{align:"right"})}tableTop+=this.itemHeight+2,this.doc.font("Arial").text("FORMA PAGAMENTO",2,tableTop);let topTiposPag=tableTop;if(Array.isArray(this.pag.detPag))for(let pagto of this.pag.detPag)pagto.xPag||(pagto.xPag=getDesTipoPag(pagto.tPag)),this.doc.text(pagto.xPag||"Não informado",2,topTiposPag+this.itemHeight),topTiposPag+=this.itemHeight;else this.pag.detPag.xPag||(this.pag.detPag.xPag=getDesTipoPag(this.pag.detPag.tPag)),this.doc.text(this.pag.detPag.xPag||"Não informado",2,topTiposPag+this.itemHeight);this.doc.text("VALOR PAGO R$",this.calculaPosicao("VALOR PAGO R$"),tableTop,{align:"right"});let topValPags=tableTop;if(Array.isArray(this.pag.detPag))for(let pagto of this.pag.detPag){const val=parseFloat(pagto.vPag).toLocaleString("pt-BR",{minimumFractionDigits:2,maximumFractionDigits:3});this.doc.text(val,this.calculaPosicao(val),topValPags+this.itemHeight,{align:"right"}),topValPags+=this.itemHeight}else{const val=parseFloat(this.pag.detPag.vPag).toLocaleString("pt-BR",{minimumFractionDigits:2,maximumFractionDigits:3});this.doc.text(val,this.calculaPosicao(val),topValPags+this.itemHeight,{align:"right"})}tableTop=topValPags,tableTop+=2*this.itemHeight;let valTroco=0;valTroco=Array.isArray(this.pag.detPag)?this.pag.detPag.reduce(((sum,item)=>sum+parseFloat(item.vTroco||"0")),0):parseFloat(this.pag.detPag.vTroco||"0");const troco=valTroco.toLocaleString("pt-BR",{minimumFractionDigits:2,maximumFractionDigits:3});this.doc.text("Troco R$",2,tableTop),this.doc.text(troco,this.calculaPosicao(troco),tableTop,{align:"right"})}_buildFooter(qrCodeBuffer){let tableTop=this.doc.y+5;this.doc.font("Arial-bold").text("Consulte pela Chave de Acesso em",0,tableTop,{align:"center"}),tableTop+=this.itemHeight,this.doc.font("Arial").text(this.infNFeSupl?.urlChave||"",0,tableTop,{align:"center"}),tableTop+=this.itemHeight,this.doc.text(this.protNFe?.infProt.chNFe||"",0,tableTop,{align:"center"}),tableTop+=this.itemHeight,this.doc.image(qrCodeBuffer,2,tableTop,{width:70.87,height:70.87}),tableTop+=4;let topBeforeQrCode=tableTop;const CNPJCPF=this.documento.mascaraCnpjCpf(this.dest?.CNPJCPF||this.dest?.CNPJ||this.dest?.CPF||this.dest?.idEstrangeiro||""),xNome=this.dest?.xNome??"Sem cliente identificado",xLgr=this.dest?.enderDest?.xLgr??"",nro=this.dest?.enderDest?.nro??"",xBairro=this.dest?.enderDest?.xBairro??null,xMun=this.dest?.enderDest?.xMun??"",UF=this.dest?.enderDest?.UF??"",enderecoStr=[xLgr&&`${xLgr}`,nro&&`${nro}`,xBairro&&`bairro: ${xBairro}`,xMun&&`${xMun}`,UF&&`${UF}`].filter(Boolean).join(", ");CNPJCPF&&""!==CNPJCPF?(this.doc.font("Arial-bold").text(`CONSUMIDOR - DOC ${CNPJCPF}`,75,tableTop,{align:"left",lineGap:1,continued:!0}).font("Arial").text(` - ${xNome} -`,{lineGap:1,continued:!0}).text(enderecoStr),tableTop=this.doc.y+4):(this.doc.text("CONSUMIDOR NÃO IDENTIFICADO",75,tableTop,{align:"left"}),tableTop=this.doc.y+4);const dtaEmi=format(parseISO(this.ide.dhEmi),"dd/MM/yyyy HH:mm:ss");let dtaAut=format(new Date,"dd/MM/yyyy HH:mm:ss");if(this.protNFe?.infProt.dhRecbto){dtaAut=format(parseISO(this.protNFe?.infProt.dhRecbto),"dd/MM/yyyy HH:mm:ss")}this.doc.font("Arial-bold").text(`NCF-e nº ${this.ide.nNF} Série ${this.ide.serie} ${dtaEmi}`,75,tableTop,{align:"left",lineGap:1}).text("Protocolo de autorização: ",{continued:!0,lineGap:1}).font("Arial").text(this.protNFe?.infProt.nProt||"123").font("Arial-bold").text("Data de autorização ",{continued:!0,lineGap:1}).font("Arial").text(dtaAut),tableTop=this.doc.y+20,topBeforeQrCode+=70.87,this.doc.text("Tributos Totais Incidentes (Lei Federal 12.741/2012): R$ 22,90",0,topBeforeQrCode,{align:"center"})}async generatePDF(exibirMarcaDaguaDanfe){try{this.exibirMarcaDaguaDanfe=exibirMarcaDaguaDanfe||!0;const qrCodeBuffer=await this.getQRCodeBuffer(this.infNFeSupl?.qrCode||"");return this.doc.pipe(fs__default.default.createWriteStream(this.outputPath)),this.drawHeader(!0),this._buildProdutos(),this._buildTotais(),this.drawFooter(qrCodeBuffer),this.doc.end(),{message:` DANFE Gerada em '${this.outputPath}'`,success:!0}}catch(error){throw new Error(`Erro ao gerar DANFE: ${error.message}`)}}}exports.default=class NFeWizard{constructor(){if(this.certificate=null,this.cert_key=null,this.config={},this.certificate=null,this.cert_key=null,this.environment={},this.utility={},this.xmlBuilder={},this.axios={},new.target)return new Proxy(this,{get(target,prop,receiver){const origMethod=target[prop];return"function"==typeof origMethod?async function(...args){return"NFE_LoadEnvironment"===prop||await target.validateEnvironment(prop),origMethod.apply(target,args)}:Reflect.get(target,prop,receiver)}})}async NFE_LoadEnvironment({config:config}){try{this.config=config,this.environment=new Environment(this.config);const{axios:axios}=await this.environment.loadEnvironment();this.axios=axios,this.utility=new Utility(this.environment),this.xmlBuilder=new XmlBuilder(this.environment),console.log("==================================="),console.log("Biblioteca Inicializada com Sucesso"),console.log("===================================")}catch(error){throw console.log(error),new Error(`Erro ao inicializar a lib: ${error}`)}}async NFE_ConsultaStatusServico(){try{const nfeStatusServico=new NFEStatusServico$1(this.environment,this.utility,this.xmlBuilder,this.axios),response=await nfeStatusServico.Exec();return console.log("Retorno NFE_ConsultaStatusServico"),console.log(` ${response.xMotivo}`),console.log("==================================="),response}catch(error){throw new Error(`NFE_ConsultaStatusServico: ${error.message}`)}}async NFE_ConsultaProtocolo(chave){try{const nfeConsultaProtocolo=new NFEConsultaProtocolo$1(this.environment,this.utility,this.xmlBuilder,this.axios),response=await nfeConsultaProtocolo.Exec(chave);return console.log("Retorno NFE_ConsultaProtocolo"),console.log(` ${response.xMotivo}`),console.log("==================================="),response}catch(error){throw new Error(`NFE_ConsultaProtocolo: ${error.message}`)}}async NFE_RecepcaoEvento(evento){try{const nfeRecepcaoEvento=new NFERecepcaoEvento(this.environment,this.utility,this.xmlBuilder,this.axios),response=await nfeRecepcaoEvento.Exec(evento);return console.log("Retorno NFE_RecepcaoEvento"),console.table(response.xMotivos),console.log("==================================="),response.response}catch(error){throw new Error(`NFE_RecepcaoEvento: ${error.message}`)}}async NFE_EventoPrevioDeEmissaoEmContingencia(evento){try{const nfeEpec=new NFEEpec(this.environment,this.utility,this.xmlBuilder,this.axios),response=await nfeEpec.Exec(evento);return console.log("Retorno NFEEpec"),console.table(response.xMotivos),console.log("==================================="),response.response}catch(error){throw new Error(`NFEEpec: ${error.message}`)}}async NFE_Cancelamento(evento){try{const nfeCancelamento=new NFECancelamento(this.environment,this.utility,this.xmlBuilder,this.axios),response=await nfeCancelamento.Exec(evento);return console.log("Retorno NFE_Cancelamento"),console.table(response.xMotivos),console.log("==================================="),response.response}catch(error){throw new Error(`NFE_Cancelamento: ${error.message}`)}}async NFE_CienciaDaOperacao(evento){try{const nfeCienciaDaOperacao=new NFECienciaDaOperacao(this.environment,this.utility,this.xmlBuilder,this.axios),response=await nfeCienciaDaOperacao.Exec(evento);return console.log("Retorno NFE_CienciaDaOperacao"),console.table(response.xMotivos),console.log("==================================="),response.response}catch(error){throw new Error(`NFE_CienciaDaOperacao: ${error.message}`)}}async NFE_ConfirmacaoDaOperacao(evento){try{const nfeConfirmacaoDaOperacao=new NFEConfirmacaoDaOperacao(this.environment,this.utility,this.xmlBuilder,this.axios),response=await nfeConfirmacaoDaOperacao.Exec(evento);return console.log("Retorno NFE_ConfirmacaoDaOperacao"),console.table(response.xMotivos),console.log("==================================="),response.response}catch(error){throw new Error(`NFE_ConfirmacaoDaOperacao: ${error.message}`)}}async NFE_OperacaoNaoRealizada(evento){try{const nfeOperacaoNaoRealizada=new NFEOperacaoNaoRealizada(this.environment,this.utility,this.xmlBuilder,this.axios),response=await nfeOperacaoNaoRealizada.Exec(evento);return console.log("Retorno NFE_OperacaoNaoRealizada"),console.table(response.xMotivos),console.log("==================================="),response.response}catch(error){throw new Error(`NFE_OperacaoNaoRealizada: ${error.message}`)}}async NFE_CartaDeCorrecao(evento){try{const nfeCartaDeCorrecao=new NFECartaDeCorrecao(this.environment,this.utility,this.xmlBuilder,this.axios),response=await nfeCartaDeCorrecao.Exec(evento);return console.log("Retorno NFE_CartaDeCorrecao"),console.table(response.xMotivos),console.log("==================================="),response.response}catch(error){throw new Error(`NFE_CartaDeCorrecao: ${error.message}`)}}async NFE_DesconhecimentoDaOperacao(evento){try{const nfeDesconhecimentoDaOperacao=new NFEDesconhecimentoDaOperacao(this.environment,this.utility,this.xmlBuilder,this.axios),response=await nfeDesconhecimentoDaOperacao.Exec(evento);return console.log("Retorno NFE_DesconhecimentoDaOperacao"),console.table(response.xMotivos),console.log("==================================="),response.response}catch(error){throw new Error(`NFE_DesconhecimentoDaOperacao: ${error.message}`)}}async NFE_DistribuicaoDFe(data){try{const distribuicaoDFe=new NFEDistribuicaoDFe(this.environment,this.utility,this.xmlBuilder,this.axios),response=await distribuicaoDFe.Exec(data);return console.log("Retorno NFE_DistribuicaoDFe"),console.log(` ${response.xMotivo}`),console.log("==================================="),response.data}catch(error){throw new Error(`NFE_DistribuicaoDFe: ${error.message}`)}}async NFE_DistribuicaoDFePorUltNSU(data){try{const distribuicaoDFe=new NFEDistribuicaoDFePorUltNSU(this.environment,this.utility,this.xmlBuilder,this.axios),response=await distribuicaoDFe.Exec(data);return console.log("Retorno NFE_DistribuicaoDFePorUltNSU"),console.log(` ${response.xMotivo}`),console.log("==================================="),response.data}catch(error){throw new Error(`NFE_DistribuicaoDFePorUltNSU: ${error.message}`)}}async NFE_DistribuicaoDFePorNSU(data){try{const distribuicaoDFe=new NFEDistribuicaoDFePorNSU(this.environment,this.utility,this.xmlBuilder,this.axios),response=await distribuicaoDFe.Exec(data);return console.log("Retorno NFE_DistribuicaoDFePorNSU"),console.log(` ${response.xMotivo}`),console.log("==================================="),response.data}catch(error){throw new Error(`NFE_DistribuicaoDFePorNSU: ${error.message}`)}}async NFE_DistribuicaoDFePorChave(data){try{const distribuicaoDFe=new NFEDistribuicaoDFePorChave(this.environment,this.utility,this.xmlBuilder,this.axios),response=await distribuicaoDFe.Exec(data);return console.log("Retorno NFE_DistribuicaoDFePorChave"),console.log(` ${response.xMotivo}`),console.log("==================================="),response.data}catch(error){throw new Error(`NFE_DistribuicaoDFePorChave: ${error.message}`)}}async NFE_Autorizacao(data){try{const distribuicaoDFe=new NFEAutorizacao(this.environment,this.utility,this.xmlBuilder,this.axios),response=await distribuicaoDFe.Exec(data);return console.log("Retorno NFE_Autorizacao"),console.table(response.xMotivo),console.log("==================================="),response.xmls}catch(error){throw new Error(`NFE_Autorizacao: ${error.message}`)}}async NFCE_Autorizacao(data){try{const distribuicaoDFe=new NFCEAutorizacao(this.environment,this.utility,this.xmlBuilder,this.axios),response=await distribuicaoDFe.Exec(data);return console.log("Retorno NFCE_Autorizacao"),console.table(response.xMotivo),console.log("==================================="),response.xmls}catch(error){throw new Error(`NFCE_Autorizacao: ${error.message}`)}}async NFE_Inutilizacao(data){try{const distribuicaoDFe=new NFEInutilizacao(this.environment,this.utility,this.xmlBuilder,this.axios),response=await distribuicaoDFe.Exec(data);return console.log("Retorno NFE_Inutilizacao"),console.log(` ${response.xMotivo}`),console.log("==================================="),response}catch(error){throw new Error(`NFE_Inutilizacao: ${error.message}`)}}async NFE_GerarDanfe(data){try{const{dfe:{exibirMarcaDaguaDanfe:exibirMarcaDaguaDanfe}}=this.environment.getConfig(),distribuicaoDFe=new NFEGerarDanfe(data),response=await distribuicaoDFe.generatePDF(exibirMarcaDaguaDanfe);return console.log("Retorno NFE_GerarDanfe"),console.log(response.message),console.log("==================================="),response}catch(error){throw new Error(`NFE_GerarDanfe: ${error.message}`)}}async NFCE_GerarDanfe(data){try{const{dfe:{exibirMarcaDaguaDanfe:exibirMarcaDaguaDanfe}}=this.environment.getConfig(),distribuicaoDFe=new NFCEGerarDanfe(data),response=await distribuicaoDFe.generatePDF(exibirMarcaDaguaDanfe);return console.log("Retorno NFCE_GerarDanfe"),console.log(response.message),console.log("==================================="),response}catch(error){throw new Error(`NFCE_GerarDanfe: ${error.message}`)}}NFE_EnviaEmail(mailParams){try{const response=new MailController(this.environment).sendEmail(mailParams);return console.log("Retorno NFE_EnviaEmail"),console.log("E-mail enviado com sucesso."),console.log("==================================="),response}catch(error){throw new Error(`NFE_EnviaEmail: ${error.message}`)}}async validateEnvironment(prop){if(!this.environment.isLoaded)throw new Error(`Ambiente não carregado. Por favor, carregue o ambiente utilizando o método "NFE_LoadEnvironment({ sua_configuracao })" antes de chamar o método ${prop}.`)}},exports.mountCOFINS=mountCOFINS,exports.mountICMS=mountICMS,exports.mountPIS=mountPIS;//# sourceMappingURL=index.js.map
|